Skip to content

Commit 40f27d3

Browse files
Daniel EngbergDaniel Engberg
authored andcommitted
multimedia/obuparse: Update to 2.0.1
Instead of patching Makefile pull in a minimal variant of upstream PR freebsd#16 Changelog: https://github.com/dwbuiten/obuparse/releases/tag/v2.0.1 Reference: dwbuiten/obuparse#16
1 parent c7fdfda commit 40f27d3

4 files changed

Lines changed: 89 additions & 46 deletions

File tree

multimedia/obuparse/Makefile

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
PORTNAME= obuparse
2-
DISTVERSION= g20241212
2+
DISTVERSIONPREFIX= v
3+
DISTVERSION= 2.0.1
34
CATEGORIES= multimedia
45

56
MAINTAINER= diizzy@FreeBSD.org
@@ -9,22 +10,19 @@ WWW= https://github.com/dwbuiten/obuparse
910
LICENSE= ISCL
1011
LICENSE_FILE= ${WRKSRC}/LICENSE
1112

12-
USES= gmake
13+
USES= cmake
1314
USE_LDCONFIG= yes
1415

1516
USE_GITHUB= yes
1617
GH_ACCOUNT= dwbuiten
17-
GH_TAGNAME= 918524a
18-
19-
MAKE_ARGS+= PREFIX="${STAGEDIR}${PREFIX}"
20-
21-
INSTALL_TARGET= install-shared
2218

2319
PLIST_FILES= include/obuparse.h \
2420
lib/libobuparse.so \
25-
lib/libobuparse.so.1
21+
lib/libobuparse.so.2 \
22+
lib/libobuparse.so.${DISTVERSION}
2623

27-
post-install:
28-
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libobuparse.so.1
24+
post-patch:
25+
@${REINPLACE_CMD} -e 's|%%DISTVERSION%%|${DISTVERSION}|g' \
26+
${PATCH_WRKSRC}/CMakeLists.txt
2927

3028
.include <bsd.port.mk>

multimedia/obuparse/distinfo

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
TIMESTAMP = 1743990877
2-
SHA256 (dwbuiten-obuparse-g20241212-918524a_GH0.tar.gz) = b23bb4a6eeb77514a5bbc64448666f62cea94bce5346b6ee605b76386a776804
3-
SIZE (dwbuiten-obuparse-g20241212-918524a_GH0.tar.gz) = 29526
1+
TIMESTAMP = 1756578144
2+
SHA256 (dwbuiten-obuparse-v2.0.1_GH0.tar.gz) = 99198db70a34f5448a188983208d52aac8b1ed5d076913d3f621b5abffc3cb71
3+
SIZE (dwbuiten-obuparse-v2.0.1_GH0.tar.gz) = 29651
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
--- CMakeLists.txt.orig 2025-08-30 18:33:06 UTC
2+
+++ CMakeLists.txt
3+
@@ -0,0 +1,75 @@
4+
+cmake_minimum_required(VERSION 3.15)
5+
+
6+
+project(OBUParse VERSION %%DISTVERSION%% LANGUAGES C)
7+
+
8+
+# --- Set Standard Output Directories ---
9+
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
10+
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
11+
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
12+
+
13+
+# --- Build Options ---
14+
+# On MSVC, we only build static to avoid DLL export complexity and naming collisions.
15+
+# On other platforms (including MinGW on Windows), we can build both.
16+
+option(BUILD_SHARED_LIBS "Build the shared library" ON)
17+
+option(BUILD_STATIC_LIBS "Build the static library" OFF)
18+
+
19+
+if(NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS)
20+
+ message(FATAL_ERROR "You must choose to build at least one library type.")
21+
+endif()
22+
+
23+
+# --- Library Targets ---
24+
+
25+
+if(BUILD_SHARED_LIBS) # This block will now be skipped on MSVC
26+
+ add_library(obuparse_shared SHARED obuparse.c)
27+
+ set_target_properties(obuparse_shared PROPERTIES
28+
+ OUTPUT_NAME "obuparse"
29+
+ VERSION ${PROJECT_VERSION}
30+
+ SOVERSION 2
31+
+ EXPORT_NAME "shared"
32+
+ )
33+
+ target_include_directories(obuparse_shared PUBLIC
34+
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
35+
+ $<INSTALL_INTERFACE:include>
36+
+ )
37+
+ add_library(OBUParse::shared ALIAS obuparse_shared)
38+
+endif()
39+
+
40+
+if(BUILD_STATIC_LIBS)
41+
+ add_library(obuparse_static STATIC obuparse.c)
42+
+ # The naming collision only happens with MSVC, not MinGW.
43+
+ if(MSVC)
44+
+ set_target_properties(obuparse_static PROPERTIES OUTPUT_NAME "obuparses")
45+
+ else()
46+
+ set_target_properties(obuparse_static PROPERTIES OUTPUT_NAME "obuparse")
47+
+ endif()
48+
+ set_target_properties(obuparse_static PROPERTIES EXPORT_NAME "static")
49+
+ target_include_directories(obuparse_static PUBLIC
50+
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
51+
+ $<INSTALL_INTERFACE:include>
52+
+ )
53+
+ add_library(OBUParse::static ALIAS obuparse_static)
54+
+endif()
55+
+
56+
+# --- Installation ---
57+
+include(GNUInstallDirs)
58+
+
59+
+# Install the public header file
60+
+install(FILES obuparse.h
61+
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
62+
+)
63+
+
64+
+set(BUILT_TARGETS "")
65+
+if(TARGET obuparse_static)
66+
+ list(APPEND BUILT_TARGETS obuparse_static)
67+
+endif()
68+
+if(TARGET obuparse_shared)
69+
+ list(APPEND BUILT_TARGETS obuparse_shared)
70+
+endif()
71+
+
72+
+# Install the library targets that were built, and the tool
73+
+install(TARGETS ${BUILT_TARGETS}
74+
+ EXPORT OBUParseTargets
75+
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
76+
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
77+
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
78+
+)

multimedia/obuparse/files/patch-Makefile

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)