summaryrefslogtreecommitdiff
path: root/multimedia/obuparse
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/obuparse')
-rw-r--r--multimedia/obuparse/Makefile18
-rw-r--r--multimedia/obuparse/distinfo6
-rw-r--r--multimedia/obuparse/files/patch-CMakeLists.txt78
-rw-r--r--multimedia/obuparse/files/patch-Makefile33
4 files changed, 89 insertions, 46 deletions
diff --git a/multimedia/obuparse/Makefile b/multimedia/obuparse/Makefile
index f0d5f5b76336..6e156c658e1a 100644
--- a/multimedia/obuparse/Makefile
+++ b/multimedia/obuparse/Makefile
@@ -1,5 +1,6 @@
PORTNAME= obuparse
-DISTVERSION= g20241212
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.0.1
CATEGORIES= multimedia
MAINTAINER= diizzy@FreeBSD.org
@@ -9,22 +10,19 @@ WWW= https://github.com/dwbuiten/obuparse
LICENSE= ISCL
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= gmake
+USES= cmake
USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= dwbuiten
-GH_TAGNAME= 918524a
-
-MAKE_ARGS+= PREFIX="${STAGEDIR}${PREFIX}"
-
-INSTALL_TARGET= install-shared
PLIST_FILES= include/obuparse.h \
lib/libobuparse.so \
- lib/libobuparse.so.1
+ lib/libobuparse.so.2 \
+ lib/libobuparse.so.${DISTVERSION}
-post-install:
- ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libobuparse.so.1
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%DISTVERSION%%|${DISTVERSION}|g' \
+ ${PATCH_WRKSRC}/CMakeLists.txt
.include <bsd.port.mk>
diff --git a/multimedia/obuparse/distinfo b/multimedia/obuparse/distinfo
index 2cf89e5bdd7f..a877f417306f 100644
--- a/multimedia/obuparse/distinfo
+++ b/multimedia/obuparse/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1743990877
-SHA256 (dwbuiten-obuparse-g20241212-918524a_GH0.tar.gz) = b23bb4a6eeb77514a5bbc64448666f62cea94bce5346b6ee605b76386a776804
-SIZE (dwbuiten-obuparse-g20241212-918524a_GH0.tar.gz) = 29526
+TIMESTAMP = 1756578144
+SHA256 (dwbuiten-obuparse-v2.0.1_GH0.tar.gz) = 99198db70a34f5448a188983208d52aac8b1ed5d076913d3f621b5abffc3cb71
+SIZE (dwbuiten-obuparse-v2.0.1_GH0.tar.gz) = 29651
diff --git a/multimedia/obuparse/files/patch-CMakeLists.txt b/multimedia/obuparse/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..9b8ca2dc856a
--- /dev/null
+++ b/multimedia/obuparse/files/patch-CMakeLists.txt
@@ -0,0 +1,78 @@
+--- CMakeLists.txt.orig 2025-08-30 18:33:06 UTC
++++ CMakeLists.txt
+@@ -0,0 +1,75 @@
++cmake_minimum_required(VERSION 3.15)
++
++project(OBUParse VERSION %%DISTVERSION%% LANGUAGES C)
++
++# --- Set Standard Output Directories ---
++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
++
++# --- Build Options ---
++# On MSVC, we only build static to avoid DLL export complexity and naming collisions.
++# On other platforms (including MinGW on Windows), we can build both.
++option(BUILD_SHARED_LIBS "Build the shared library" ON)
++option(BUILD_STATIC_LIBS "Build the static library" OFF)
++
++if(NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS)
++ message(FATAL_ERROR "You must choose to build at least one library type.")
++endif()
++
++# --- Library Targets ---
++
++if(BUILD_SHARED_LIBS) # This block will now be skipped on MSVC
++ add_library(obuparse_shared SHARED obuparse.c)
++ set_target_properties(obuparse_shared PROPERTIES
++ OUTPUT_NAME "obuparse"
++ VERSION ${PROJECT_VERSION}
++ SOVERSION 2
++ EXPORT_NAME "shared"
++ )
++ target_include_directories(obuparse_shared PUBLIC
++ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
++ $<INSTALL_INTERFACE:include>
++ )
++ add_library(OBUParse::shared ALIAS obuparse_shared)
++endif()
++
++if(BUILD_STATIC_LIBS)
++ add_library(obuparse_static STATIC obuparse.c)
++ # The naming collision only happens with MSVC, not MinGW.
++ if(MSVC)
++ set_target_properties(obuparse_static PROPERTIES OUTPUT_NAME "obuparses")
++ else()
++ set_target_properties(obuparse_static PROPERTIES OUTPUT_NAME "obuparse")
++ endif()
++ set_target_properties(obuparse_static PROPERTIES EXPORT_NAME "static")
++ target_include_directories(obuparse_static PUBLIC
++ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
++ $<INSTALL_INTERFACE:include>
++ )
++ add_library(OBUParse::static ALIAS obuparse_static)
++endif()
++
++# --- Installation ---
++include(GNUInstallDirs)
++
++# Install the public header file
++install(FILES obuparse.h
++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
++)
++
++set(BUILT_TARGETS "")
++if(TARGET obuparse_static)
++ list(APPEND BUILT_TARGETS obuparse_static)
++endif()
++if(TARGET obuparse_shared)
++ list(APPEND BUILT_TARGETS obuparse_shared)
++endif()
++
++# Install the library targets that were built, and the tool
++install(TARGETS ${BUILT_TARGETS}
++ EXPORT OBUParseTargets
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
++)
diff --git a/multimedia/obuparse/files/patch-Makefile b/multimedia/obuparse/files/patch-Makefile
deleted file mode 100644
index b371f44188b8..000000000000
--- a/multimedia/obuparse/files/patch-Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
---- Makefile.orig 2023-07-12 18:02:40 UTC
-+++ Makefile
-@@ -1,9 +1,9 @@
- PREFIX=/usr/local
-
--CFLAGS := -O3 -std=c99 -Wall -Wextra -g -fPIC -I. $(CPPFLAGS)
-+CFLAGS += -std=c99 -Wall -Wextra -fPIC -I. $(CPPFLAGS)
- LDFLAGS +=
--CC := $(CROSS)gcc
--AR := $(CROSS)ar
-+CC := $(CC)
-+AR := $(AR)
-
- ifneq (,$(findstring mingw,$(CC)))
- LIBSUF=.dll
-@@ -11,7 +11,7 @@ ifneq (,$(findstring mingw,$(CC)))
- SYSTEM=MINGW
- else
- LIBSUF=.so
-- LDFLAGS=-Wl,--version-script,obuparse.v
-+ LDFLAGS+= -Wl,--version-script,obuparse.v
- endif
-
- all: libobuparse$(LIBSUF) libobuparse.a
-@@ -24,7 +24,7 @@ libobuparse.a: obuparse.o
- $(AR) rcs $@ $^
-
- libobuparse$(LIBSUF): obuparse.o
-- $(CC) $(LDFLAGS) -shared $^ -o $@
-+ $(CC) $(LDFLAGS) -shared $^ -o $@ -Wl,-soname,libobuparse$(LIBSUF).1
-
- install: install-shared install-static
-