1 |
commit: 4e793237726619ac042e3b4fb3b417d0e634114f |
2 |
Author: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Apr 30 21:35:30 2021 +0000 |
4 |
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Apr 30 21:35:59 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e793237 |
7 |
|
8 |
media-libs/portmidi: bump to 234 |
9 |
|
10 |
Closes: https://bugs.gentoo.org/785826 |
11 |
Closes: https://bugs.gentoo.org/785823 |
12 |
Package-Manager: Portage-3.0.18, Repoman-3.0.3 |
13 |
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org> |
14 |
|
15 |
media-libs/portmidi/Manifest | 1 + |
16 |
media-libs/portmidi/files/portmidi-234-cmake.patch | 332 +++++++++++++++++++++ |
17 |
media-libs/portmidi/portmidi-234.ebuild | 143 +++++++++ |
18 |
3 files changed, 476 insertions(+) |
19 |
|
20 |
diff --git a/media-libs/portmidi/Manifest b/media-libs/portmidi/Manifest |
21 |
index 3d588ba18fd..a00ab02c54e 100644 |
22 |
--- a/media-libs/portmidi/Manifest |
23 |
+++ b/media-libs/portmidi/Manifest |
24 |
@@ -1 +1,2 @@ |
25 |
+DIST portmedia-code-r234.zip 1342298 BLAKE2B 3c3686b79ca0c8cbfaa6c44ae8c4f294630e1c5940576709ff1ca5854bfcfba1af7b067471656f2b39ae28cecea9b6c4403f72d5a2552355760c795eff123243 SHA512 cbc332d89bc465450b38245a83cc300dfd2e1e6de7c62284edf754ff4d8a9aa3dc49a395dcee535ed9688befb019186fa87fd6d8a3698898c2acbf3e6b7a0794 |
26 |
DIST portmidi-src-217.zip 1030830 BLAKE2B ab197c7f9a5c2b4d2740d56841459fbac97d510e4d12e5d0cd7cecc0ba6035929b6596140d42c575a9513862a66127d19253dbee1d3a7b7b84b69c88fec7fcae SHA512 d08d4d57429d26d292b5fe6868b7c7a32f2f1d2428f6695cd403a697e2d91629bd4380242ab2720e8f21c895bb75cb56b709fb663a20e8e623120e50bfc5d90b |
27 |
|
28 |
diff --git a/media-libs/portmidi/files/portmidi-234-cmake.patch b/media-libs/portmidi/files/portmidi-234-cmake.patch |
29 |
new file mode 100644 |
30 |
index 00000000000..f4f1101ccb4 |
31 |
--- /dev/null |
32 |
+++ b/media-libs/portmidi/files/portmidi-234-cmake.patch |
33 |
@@ -0,0 +1,332 @@ |
34 |
+diff --git a/CMakeLists.txt b/CMakeLists.txt |
35 |
+index 4919b78..9dc6e58 100644 |
36 |
+--- a/CMakeLists.txt |
37 |
++++ b/CMakeLists.txt |
38 |
+@@ -9,12 +9,11 @@ if(UNIX) |
39 |
+ set(CMAKE_BUILD_TYPE Release CACHE STRING |
40 |
+ "Semicolon-separate list of supported configuration types") |
41 |
+ # set default directories but don't override cached values... |
42 |
+- set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CACHEFILE_DIR}/${CMAKE_BUILD_TYPE} |
43 |
++ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
44 |
+ CACHE STRING "libraries go here") |
45 |
+- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CACHEFILE_DIR}/${CMAKE_BUILD_TYPE} |
46 |
++ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
47 |
+ CACHE STRING "libraries go here") |
48 |
+- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY |
49 |
+- ${CMAKE_CACHEFILE_DIR}/${CMAKE_BUILD_TYPE} |
50 |
++ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
51 |
+ CACHE STRING "executables go here") |
52 |
+ |
53 |
+ else(UNIX) |
54 |
+@@ -68,10 +67,20 @@ endif(UNIX) |
55 |
+ include_directories(pm_common porttime) |
56 |
+ add_subdirectory(pm_common) |
57 |
+ |
58 |
+-add_subdirectory(pm_test) |
59 |
++option(PORTMIDI_ENABLE_JAVA "Enable Java bindings support" ON) |
60 |
++option(PORTMIDI_ENABLE_STATIC "Build and install static libraries" OFF) |
61 |
++option(PORTMIDI_ENABLE_TEST "Build test programs" ON) |
62 |
++ |
63 |
++if(PORTMIDI_ENABLE_TEST) |
64 |
++ add_subdirectory(pm_test) |
65 |
++endif(PORTMIDI_ENABLE_TEST) |
66 |
+ |
67 |
+ add_subdirectory(pm_dylib) |
68 |
+ |
69 |
+ # Cannot figure out how to make an xcode Java application with CMake |
70 |
+-add_subdirectory(pm_java) |
71 |
++if(PORTMIDI_ENABLE_JAVA) |
72 |
++ set(JAR_INSTALL_DIR share/java |
73 |
++ CACHE STRING "Define directory name for jar installation") |
74 |
++ add_subdirectory(pm_java) |
75 |
++endif(PORTMIDI_ENABLE_JAVA) |
76 |
+ |
77 |
+diff --git a/pm_common/CMakeLists.txt b/pm_common/CMakeLists.txt |
78 |
+index cbeeade..92cbe27 100644 |
79 |
+--- a/pm_common/CMakeLists.txt |
80 |
++++ b/pm_common/CMakeLists.txt |
81 |
+@@ -44,9 +44,6 @@ set(CMAKE_C_FLAGS_RELEASE "${DEFAULT_RELEASE_FLAGS} ${LINUX_FLAGS}" |
82 |
+ |
83 |
+ # first include the appropriate system-dependent file: |
84 |
+ if(UNIX) |
85 |
+- # add the -g switch for Linux and Mac OS X (not used in Win32) |
86 |
+- set (CMAKE_C_FLAGS_DEBUG "-g ${CMAKE_C_FLAGS_DEBUG}" |
87 |
+- CACHE STRING "enable extra checks for debugging" FORCE) |
88 |
+ if(APPLE) |
89 |
+ set(MACSRC pmmacosxcm pmmac readbinaryplist finddefault) |
90 |
+ prepend_path(LIBSRC ../pm_mac/ ${MACSRC}) |
91 |
+@@ -62,19 +59,23 @@ if(UNIX) |
92 |
+ ${COREMIDI_LIB} ${CORESERVICES_LIB} |
93 |
+ CACHE INTERNAL "") |
94 |
+ |
95 |
+- set(JAVAVM_LIB "${FRAMEWORK_PATH}/JavaVM.framework") |
96 |
+- set(JAVA_INCLUDE_PATHS ${JAVAVM_LIB}/Headers) |
97 |
++ if(PORTMIDI_ENABLE_JAVA) |
98 |
++ set(JAVAVM_LIB "${FRAMEWORK_PATH}/JavaVM.framework") |
99 |
++ set(JAVA_INCLUDE_PATHS ${JAVAVM_LIB}/Headers) |
100 |
++ endif(PORTMIDI_ENABLE_JAVA) |
101 |
+ message(STATUS "SYSROOT: " ${CMAKE_OSX_SYSROOT}) |
102 |
+ else(APPLE) |
103 |
+ # LINUX settings... |
104 |
+- include(FindJNI) |
105 |
+- message(STATUS "JAVA_JVM_LIB_PATH is " ${JAVA_JVM_LIB_PATH}) |
106 |
+- message(STATUS "JAVA_INCLUDE_PATH is " ${JAVA_INCLUDE_PATH}) |
107 |
+- message(STATUS "JAVA_INCLUDE_PATH2 is " ${JAVA_INCLUDE_PATH2}) |
108 |
+- message(STATUS "JAVA_JVM_LIBRARY is " ${JAVA_JVM_LIBRARY}) |
109 |
+- set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2}) |
110 |
+- # libjvm.so is found relative to JAVA_INCLUDE_PATH: |
111 |
+- set(JAVAVM_LIB ${JAVA_JVM_LIBRARY}/libjvm.so) |
112 |
++ if(PORTMIDI_ENABLE_JAVA) |
113 |
++ include(FindJNI) |
114 |
++ message(STATUS "JAVA_JVM_LIB_PATH is " ${JAVA_JVM_LIB_PATH}) |
115 |
++ message(STATUS "JAVA_INCLUDE_PATH is " ${JAVA_INCLUDE_PATH}) |
116 |
++ message(STATUS "JAVA_INCLUDE_PATH2 is " ${JAVA_INCLUDE_PATH2}) |
117 |
++ message(STATUS "JAVA_JVM_LIBRARY is " ${JAVA_JVM_LIBRARY}) |
118 |
++ set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2}) |
119 |
++ # libjvm.so is found relative to JAVA_INCLUDE_PATH: |
120 |
++ set(JAVAVM_LIB ${JAVA_JVM_LIBRARY}/libjvm.so) |
121 |
++ endif(PORTMIDI_ENABLE_JAVA) |
122 |
+ |
123 |
+ set(LINUXSRC pmlinuxalsa pmlinux finddefault) |
124 |
+ prepend_path(LIBSRC ../pm_linux/ ${LINUXSRC}) |
125 |
+@@ -88,10 +89,12 @@ else(UNIX) |
126 |
+ # /MD is multithread DLL, /MT is multithread. Change to static: |
127 |
+ include(../pm_win/static.cmake) |
128 |
+ |
129 |
+- include(FindJNI) |
130 |
++ if(PORTMIDI_ENABLE_JAVA) |
131 |
++ include(FindJNI) |
132 |
+ |
133 |
+- set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2}) |
134 |
+- # message(STATUS "JAVA_INCLUDE_PATHS: " ${JAVA_INCLUDE_PATHS}) |
135 |
++ set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2}) |
136 |
++ # message(STATUS "JAVA_INCLUDE_PATHS: " ${JAVA_INCLUDE_PATHS}) |
137 |
++ endif(PORTMIDI_ENABLE_JAVA) |
138 |
+ |
139 |
+ set(WINSRC pmwin pmwinmm) |
140 |
+ prepend_path(LIBSRC ../pm_win/ ${WINSRC}) |
141 |
+@@ -99,29 +102,43 @@ else(UNIX) |
142 |
+ set(PM_NEEDED_LIBS winmm.lib) |
143 |
+ endif(WIN32) |
144 |
+ endif(UNIX) |
145 |
+-set(JNI_EXTRA_LIBS ${PM_NEEDED_LIBS} ${JAVA_JVM_LIBRARY}) |
146 |
++ |
147 |
++if(PORTMIDI_ENABLE_JAVA) |
148 |
++ set(JNI_EXTRA_LIBS ${PM_NEEDED_LIBS} ${JAVA_JVM_LIBRARY}) |
149 |
++endif(PORTMIDI_ENABLE_JAVA) |
150 |
+ |
151 |
+ # this completes the list of library sources by adding shared code |
152 |
+ list(APPEND LIBSRC pmutil portmidi) |
153 |
+ |
154 |
+ # now add the shared files to make the complete list of library sources |
155 |
+-add_library(portmidi-static ${LIBSRC}) |
156 |
+-set_target_properties(portmidi-static PROPERTIES OUTPUT_NAME "portmidi_s") |
157 |
+-target_link_libraries(portmidi-static ${PM_NEEDED_LIBS}) |
158 |
+- |
159 |
+-# define the jni library |
160 |
+-include_directories(${JAVA_INCLUDE_PATHS}) |
161 |
+- |
162 |
+-set(JNISRC ${LIBSRC} ../pm_java/pmjni/pmjni.c) |
163 |
+-add_library(pmjni SHARED ${JNISRC}) |
164 |
+-target_link_libraries(pmjni ${JNI_EXTRA_LIBS}) |
165 |
+-set_target_properties(pmjni PROPERTIES EXECUTABLE_EXTENSION "jnilib") |
166 |
++if(PORTMIDI_ENABLE_STATIC) |
167 |
++ add_library(portmidi-static ${LIBSRC}) |
168 |
++ set_target_properties(portmidi-static PROPERTIES OUTPUT_NAME "portmidi") |
169 |
++ target_link_libraries(portmidi-static ${PM_NEEDED_LIBS}) |
170 |
++endif(PORTMIDI_ENABLE_STATIC) |
171 |
++ |
172 |
++if(PORTMIDI_ENABLE_JAVA) |
173 |
++ # define the jni library |
174 |
++ include_directories(${JAVA_INCLUDE_PATHS}) |
175 |
++ |
176 |
++ set(JNISRC ${LIBSRC} ../pm_java/pmjni/pmjni.c) |
177 |
++ add_library(pmjni SHARED ${JNISRC}) |
178 |
++ target_link_libraries(pmjni ${JNI_EXTRA_LIBS}) |
179 |
++ set_target_properties(pmjni PROPERTIES EXECUTABLE_EXTENSION "jnilib") |
180 |
++endif(PORTMIDI_ENABLE_JAVA) |
181 |
+ |
182 |
+ # install the libraries (Linux and Mac OS X command line) |
183 |
+ if(UNIX) |
184 |
+- INSTALL(TARGETS portmidi-static pmjni |
185 |
+- LIBRARY DESTINATION /usr/local/lib |
186 |
+- ARCHIVE DESTINATION /usr/local/lib) |
187 |
++ if(PORTMIDI_ENABLE_STATIC) |
188 |
++ INSTALL(TARGETS portmidi-static |
189 |
++ LIBRARY DESTINATION lib${LIB_SUFFIX} |
190 |
++ ARCHIVE DESTINATION lib${LIB_SUFFIX}) |
191 |
++ endif(PORTMIDI_ENABLE_STATIC) |
192 |
++ if(PORTMIDI_ENABLE_JAVA) |
193 |
++ INSTALL(TARGETS pmjni |
194 |
++ LIBRARY DESTINATION lib${LIB_SUFFIX} |
195 |
++ ARCHIVE DESTINATION lib${LIB_SUFFIX}) |
196 |
++ endif(PORTMIDI_ENABLE_JAVA) |
197 |
+ # .h files installed by pm_dylib/CMakeLists.txt, so don't need them here |
198 |
+ # INSTALL(FILES portmidi.h ../porttime/porttime.h |
199 |
+ # DESTINATION /usr/local/include) |
200 |
+diff --git a/pm_dylib/CMakeLists.txt b/pm_dylib/CMakeLists.txt |
201 |
+index f693dd6..c0e1449 100644 |
202 |
+--- a/pm_dylib/CMakeLists.txt |
203 |
++++ b/pm_dylib/CMakeLists.txt |
204 |
+@@ -39,9 +39,6 @@ set(CMAKE_C_FLAGS_RELEASE "${DEFAULT_RELEASE_FLAGS} ${LINUX_FLAGS}" |
205 |
+ |
206 |
+ # first include the appropriate system-dependent file: |
207 |
+ if(UNIX) |
208 |
+- # add the -g switch for Linux and Mac OS X (not used in Win32) |
209 |
+- set (CMAKE_C_FLAGS_DEBUG "-g ${CMAKE_C_FLAGS_DEBUG}" |
210 |
+- CACHE STRING "enable extra checks for debugging" FORCE) |
211 |
+ if(APPLE) |
212 |
+ set(MACSRC pmmacosxcm pmmac readbinaryplist finddefault) |
213 |
+ prepend_path(LIBSRC ../pm_mac/ ${MACSRC}) |
214 |
+@@ -63,7 +60,8 @@ if(UNIX) |
215 |
+ message(STATUS "SYSROOT: " ${CMAKE_OSX_SYSROOT}) |
216 |
+ else(APPLE) |
217 |
+ # LINUX settings... |
218 |
+- include(FindJNI) |
219 |
++ if(PORTMIDI_ENABLE_JAVA) |
220 |
++ include(FindJNI) |
221 |
+ # message(STATUS "JAVA_JVM_LIB_PATH is " ${JAVA_JVM_LIB_PATH}) |
222 |
+ # message(STATUS "JAVA_INCLUDE_PATH is " ${JAVA_INCLUDE_PATH}) |
223 |
+ # note: should use JAVA_JVM_LIB_PATH, but it is not set properly |
224 |
+@@ -75,11 +73,8 @@ if(UNIX) |
225 |
+ # JAVA_INCLUDE_PATH2; if no, then we need to make both JAVA_INCLUDE_PATH |
226 |
+ # and JAVA_INCLUDE_PATH2 set by user (will need clear documentation |
227 |
+ # because JAVA_INCLUDE_PATH2 is pretty obscure) |
228 |
+- set(JAVA_INCLUDE_PATH ${JAVA_INCLUDE_PATH-UNKNOWN} |
229 |
+- CACHE STRING "where to find Java SDK include directory") |
230 |
+- set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH}/linux) |
231 |
+- # libjvm.so is found relative to JAVA_INCLUDE_PATH: |
232 |
+- set(JAVAVM_LIB ${JAVA_INCLUDE_PATH}/../jre/lib/i386/client/libjvm.so) |
233 |
++ set(JAVAVM_LIB ${JAVA_JVM_LIBRARY}) |
234 |
++ endif(PORTMIDI_ENABLE_JAVA) |
235 |
+ |
236 |
+ set(LINUXSRC pmlinuxalsa pmlinux finddefault) |
237 |
+ prepend_path(LIBSRC ../pm_linux/ ${LINUXSRC}) |
238 |
+@@ -91,13 +86,15 @@ else(UNIX) |
239 |
+ if(WIN32) |
240 |
+ # /MDd is multithread debug DLL, /MTd is multithread debug |
241 |
+ # /MD is multithread DLL, /MT is multithread |
242 |
+- |
243 |
+- include(FindJNI) |
244 |
+- # note: should use JAVA_JVM_LIB_PATH, but it is not set properly |
245 |
+- set(JAVAVM_LIB ${JAVA_INCLUDE_PATH}/../lib/jvm.lib) |
246 |
+ |
247 |
+- set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2}) |
248 |
+- # message(STATUS "JAVA_INCLUDE_PATHS: " ${JAVA_INCLUDE_PATHS}) |
249 |
++ if(PORTMIDI_ENABLE_JAVA) |
250 |
++ include(FindJNI) |
251 |
++ # note: should use JAVA_JVM_LIB_PATH, but it is not set properly |
252 |
++ set(JAVAVM_LIB ${JAVA_INCLUDE_PATH}/../lib/jvm.lib) |
253 |
++ |
254 |
++ set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2}) |
255 |
++ # message(STATUS "JAVA_INCLUDE_PATHS: " ${JAVA_INCLUDE_PATHS}) |
256 |
++ endif(PORTMIDI_ENABLE_JAVA) |
257 |
+ |
258 |
+ set(WINSRC pmwin pmwinmm) |
259 |
+ prepend_path(LIBSRC ../pm_win/ ${WINSRC}) |
260 |
+@@ -106,7 +103,10 @@ else(UNIX) |
261 |
+ # message(STATUS "JAVAVM_LIB: " ${JAVAVM_LIB}) |
262 |
+ endif(WIN32) |
263 |
+ endif(UNIX) |
264 |
++ |
265 |
++if(PORTMIDI_ENABLE_JAVA) |
266 |
+ set(JNI_EXTRA_LIBS ${PM_NEEDED_LIBS} ${JAVAVM_LIB}) |
267 |
++endif(PORTMIDI_ENABLE_JAVA) |
268 |
+ |
269 |
+ # this completes the list of library sources by adding shared code |
270 |
+ set(SHARED_FILES pmutil portmidi) |
271 |
+@@ -120,8 +120,8 @@ target_link_libraries(portmidi-dynamic ${PM_NEEDED_LIBS}) |
272 |
+ # install the libraries (Linux and Mac OS X command line) |
273 |
+ if(UNIX) |
274 |
+ INSTALL(TARGETS portmidi-dynamic |
275 |
+- LIBRARY DESTINATION /usr/local/lib |
276 |
+- ARCHIVE DESTINATION /usr/local/lib) |
277 |
++ LIBRARY DESTINATION lib${LIB_SUFFIX} |
278 |
++ ARCHIVE DESTINATION lib${LIB_SUFFIX}) |
279 |
+ INSTALL(FILES ../pm_common/portmidi.h ../porttime/porttime.h |
280 |
+- DESTINATION /usr/local/include) |
281 |
++ DESTINATION include) |
282 |
+ endif(UNIX) |
283 |
+diff --git a/pm_java/CMakeLists.txt b/pm_java/CMakeLists.txt |
284 |
+index 9d79923..9ed2b09 100644 |
285 |
+--- a/pm_java/CMakeLists.txt |
286 |
++++ b/pm_java/CMakeLists.txt |
287 |
+@@ -5,43 +5,25 @@ if(UNIX) |
288 |
+ # java not dealt with in CMake -- see pm_mac/pm_mac.xcodeproj |
289 |
+ else(APPLE) |
290 |
+ # linux |
291 |
+- set(JPORTMIDICLASS JPortMidi.class JPortMidiException.class |
292 |
+- JPortMidiApi.class) |
293 |
+- set(PMDEFAULTSCLASS PmDefaultsFrame.class PmDefaults.class) |
294 |
+- prepend_path(JPORTMIDICLASS2 jportmidi/ ${JPORTMIDICLASS}) |
295 |
+- prepend_path(PMDEFAULTSCLASS2 pmdefaults/ ${PMDEFAULTSCLASS}) |
296 |
+- set(PMDEFAULTS_ALL_CLASSES ${JPORTMIDICLASS2} ${PMDEFAULTSCLASS2}) |
297 |
+- # message(STATUS "PMDEFAULTS_ALL_CLASSES is " ${PMDEFAULTS_ALL_CLASSES}) |
298 |
+- add_custom_command(OUTPUT pmdefaults/PmDefaultsFrame.class |
299 |
+- COMMAND javac -classpath . pmdefaults/PmDefaultsFrame.java |
300 |
+- MAIN_DEPENDENCY pmdefaults/PmDefaultsFrame.java |
301 |
+- DEPENDS pmdefaults/PmDefaults.java |
302 |
+- WORKING_DIRECTORY .) |
303 |
+- add_custom_command(OUTPUT pmdefaults/PmDefaults.class |
304 |
+- COMMAND javac -classpath . pmdefaults/PmDefaults.java |
305 |
+- MAIN_DEPENDENCY pmdefaults/PmDefaults.java |
306 |
+- DEPENDS pmdefaults/PmDefaultsFrame.java |
307 |
+- WORKING_DIRECTORY .) |
308 |
+- add_custom_command(OUTPUT ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar |
309 |
+- COMMAND cp pmdefaults/portmusic_logo.png . |
310 |
+- COMMAND jar cmf pmdefaults/manifest.txt pmdefaults.jar |
311 |
+- pmdefaults/*.class portmusic_logo.png jportmidi/*.class |
312 |
+- COMMAND chmod +x pmdefaults/pmdefaults |
313 |
+- COMMAND cp pmdefaults/pmdefaults ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} |
314 |
+- COMMAND mv pmdefaults.jar ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} |
315 |
+- COMMAND rm portmusic_logo.png |
316 |
+- MAIN_DEPENDENCY pmdefaults/PmDefaults.class |
317 |
+- DEPENDS ${PMDEFAULTS_ALL_CLASSES} |
318 |
+- WORKING_DIRECTORY .) |
319 |
+- add_custom_target(pmdefaults_target ALL |
320 |
+- DEPENDS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar) |
321 |
++ set(JAVA_CLASSES jportmidi pmdefaults) |
322 |
++ add_custom_command(OUTPUT ${JAVA_CLASSES} |
323 |
++ COMMAND javac -d ${CMAKE_CURRENT_BINARY_DIR} jportmidi/*.java pmdefaults/*.java |
324 |
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) |
325 |
++ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/pmdefaults.jar |
326 |
++ DEPENDS ${JAVA_CLASSES} |
327 |
++ COMMAND jar cmf pmdefaults/manifest.txt ${CMAKE_CURRENT_BINARY_DIR}/pmdefaults.jar |
328 |
++ -C pmdefaults portmusic_logo.png -C ${CMAKE_CURRENT_BINARY_DIR} jportmidi |
329 |
++ -C ${CMAKE_CURRENT_BINARY_DIR} pmdefaults |
330 |
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) |
331 |
++ add_custom_target(pmdefaults.jar ALL |
332 |
++ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/pmdefaults.jar) |
333 |
+ # message(STATUS "add_custom_target: pmdefaults.jar") |
334 |
+ |
335 |
+ # install the libraries (Linux only) |
336 |
+- INSTALL(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar |
337 |
+- DESTINATION /usr/share/java) |
338 |
+- INSTALL(PROGRAMS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults |
339 |
+- DESTINATION /usr/local/bin) |
340 |
++ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pmdefaults.jar |
341 |
++ DESTINATION ${JAR_INSTALL_DIR}) |
342 |
++ INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/pmdefaults/pmdefaults |
343 |
++ DESTINATION bin) |
344 |
+ endif(APPLE) |
345 |
+ endif(UNIX) |
346 |
+ # In windows, use pm_java/make.bat |
347 |
+diff --git a/pm_test/CMakeLists.txt b/pm_test/CMakeLists.txt |
348 |
+index 4fda450..5d683d8 100644 |
349 |
+--- a/pm_test/CMakeLists.txt |
350 |
++++ b/pm_test/CMakeLists.txt |
351 |
+@@ -10,10 +10,12 @@ if(WIN32) |
352 |
+ include(../pm_win/static.cmake) |
353 |
+ endif(WIN32) |
354 |
+ |
355 |
++set(CMAKE_SKIP_BUILD_RPATH TRUE) |
356 |
++ |
357 |
+ macro(make_a_test name) |
358 |
+ add_executable(${name} ${name}.c) |
359 |
+- target_link_libraries(${name} portmidi-static ${PM_NEEDED_LIBS}) |
360 |
+- add_dependencies(${name} portmidi-static) |
361 |
++ target_link_libraries(${name} portmidi-dynamic ${PM_NEEDED_LIBS}) |
362 |
++ add_dependencies(${name} portmidi-dynamic) |
363 |
+ endmacro(make_a_test) |
364 |
+ |
365 |
+ make_a_test(test) |
366 |
|
367 |
diff --git a/media-libs/portmidi/portmidi-234.ebuild b/media-libs/portmidi/portmidi-234.ebuild |
368 |
new file mode 100644 |
369 |
index 00000000000..6713a99ef2f |
370 |
--- /dev/null |
371 |
+++ b/media-libs/portmidi/portmidi-234.ebuild |
372 |
@@ -0,0 +1,143 @@ |
373 |
+# Copyright 1999-2021 Gentoo Authors |
374 |
+# Distributed under the terms of the GNU General Public License v2 |
375 |
+ |
376 |
+EAPI=7 |
377 |
+ |
378 |
+PYTHON_COMPAT=( python3_{7,8,9} ) |
379 |
+DISTUTILS_OPTIONAL=1 |
380 |
+DISTUTILS_USE_SETUPTOOLS=no |
381 |
+# ninja: error: build.ninja:521: multiple rules generate pm_java/pmdefaults.jar [-w dupbuild=err] |
382 |
+CMAKE_MAKEFILE_GENERATOR="emake" |
383 |
+inherit cmake desktop xdg distutils-r1 java-pkg-opt-2 flag-o-matic |
384 |
+ |
385 |
+MY_P="portmedia-code-r${PV}" |
386 |
+ |
387 |
+DESCRIPTION="Library for real time MIDI input and output" |
388 |
+HOMEPAGE="http://portmedia.sourceforge.net/" |
389 |
+SRC_URI="mirror://sourceforge/project/portmedia/${MY_P}.zip" |
390 |
+ |
391 |
+LICENSE="MIT" |
392 |
+SLOT="0" |
393 |
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" |
394 |
+IUSE="debug doc java python static-libs test-programs" |
395 |
+ |
396 |
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" |
397 |
+ |
398 |
+BDEPEND=" |
399 |
+ app-arch/unzip |
400 |
+ doc? ( |
401 |
+ app-doc/doxygen |
402 |
+ dev-texlive/texlive-fontsrecommended |
403 |
+ dev-texlive/texlive-latexextra |
404 |
+ virtual/latex-base |
405 |
+ ) |
406 |
+ python? ( >=dev-python/cython-0.12.1[${PYTHON_USEDEP}] ) |
407 |
+" |
408 |
+CDEPEND=" |
409 |
+ media-libs/alsa-lib |
410 |
+ python? ( ${PYTHON_DEPS} ) |
411 |
+" |
412 |
+RDEPEND="${CDEPEND} |
413 |
+ java? ( >=virtual/jre-1.8:* ) |
414 |
+" |
415 |
+DEPEND=" |
416 |
+ ${CDEPEND} |
417 |
+ java? ( >=virtual/jdk-1.8:* ) |
418 |
+" |
419 |
+ |
420 |
+S="${WORKDIR}/${MY_P}/${PN}/trunk" |
421 |
+MAKEOPTS+=" -j1" |
422 |
+ |
423 |
+PATCHES=( |
424 |
+ # fix parallel make failures, fix java support, and allow optional |
425 |
+ # components like test programs and static libs to be skipped |
426 |
+ "${FILESDIR}"/${P}-cmake.patch |
427 |
+ |
428 |
+ # add include directories and remove references to missing files |
429 |
+ "${FILESDIR}"/${PN}-217-r4-python.patch |
430 |
+) |
431 |
+ |
432 |
+pkg_setup() { |
433 |
+ use java && java-pkg-opt-2_pkg_setup |
434 |
+} |
435 |
+ |
436 |
+src_prepare() { |
437 |
+ cmake_src_prepare |
438 |
+ |
439 |
+ # install wrapper for pmdefaults |
440 |
+ if use java ; then |
441 |
+ cat > pm_java/pmdefaults/pmdefaults <<-EOF |
442 |
+ #!/bin/sh |
443 |
+ java -Djava.library.path="${EPREFIX}/usr/$(get_libdir)/" \\ |
444 |
+ -jar "${EPREFIX}/usr/share/${PN}/lib/pmdefaults.jar" |
445 |
+ EOF |
446 |
+ [[ $? -ne 0 ]] && die "cat pmdefaults failed" |
447 |
+ fi |
448 |
+} |
449 |
+ |
450 |
+src_configure() { |
451 |
+ if use debug ; then |
452 |
+ CMAKE_BUILD_TYPE=Debug |
453 |
+ else |
454 |
+ CMAKE_BUILD_TYPE=Release |
455 |
+ fi |
456 |
+ |
457 |
+ local mycmakeargs=( |
458 |
+ -DPORTMIDI_ENABLE_JAVA=$(usex java) |
459 |
+ -DPORTMIDI_ENABLE_STATIC=$(usex static-libs) |
460 |
+ -DPORTMIDI_ENABLE_TEST=$(usex test-programs) |
461 |
+ ) |
462 |
+ |
463 |
+ if use java ; then |
464 |
+ mycmakeargs+=(-DJAR_INSTALL_DIR="${EPREFIX}/usr/share/${PN}/lib") |
465 |
+ fi |
466 |
+ |
467 |
+ cmake_src_configure |
468 |
+} |
469 |
+ |
470 |
+src_compile() { |
471 |
+ cmake_src_compile |
472 |
+ |
473 |
+ if use python ; then |
474 |
+ sed -i -e "/library_dirs=.*linux/s#./linux#${CMAKE_BUILD_DIR}#" pm_python/setup.py || die |
475 |
+ pushd pm_python > /dev/null |
476 |
+ append-ldflags -L"${BUILD_DIR}" |
477 |
+ distutils-r1_src_compile |
478 |
+ popd > /dev/null |
479 |
+ fi |
480 |
+ |
481 |
+ if use doc ; then |
482 |
+ doxygen || die "doxygen failed" |
483 |
+ pushd latex > /dev/null |
484 |
+ VARTEXFONTS="${T}"/fonts emake |
485 |
+ popd > /dev/null |
486 |
+ fi |
487 |
+} |
488 |
+ |
489 |
+src_install() { |
490 |
+ cmake_src_install |
491 |
+ |
492 |
+ dodoc CHANGELOG.txt README.txt pm_linux/README_LINUX.txt |
493 |
+ |
494 |
+ use doc && dodoc latex/refman.pdf |
495 |
+ |
496 |
+ if use python ; then |
497 |
+ pushd pm_python > /dev/null |
498 |
+ distutils-r1_src_install |
499 |
+ popd > /dev/null |
500 |
+ fi |
501 |
+ |
502 |
+ if use java ; then |
503 |
+ newdoc pm_java/README.txt README_JAVA.txt |
504 |
+ newicon pm_java/pmdefaults/pmdefaults-icon.png pmdefaults.png |
505 |
+ make_desktop_entry pmdefaults Pmdefaults pmdefaults "AudioVideo;Audio;Midi;" |
506 |
+ fi |
507 |
+ |
508 |
+ if use test-programs ; then |
509 |
+ exeinto /usr/$(get_libdir)/${PN} |
510 |
+ local app |
511 |
+ for app in latency midiclock midithread midithru mm qtest sysex test ; do |
512 |
+ doexe "${BUILD_DIR}"/${app} |
513 |
+ done |
514 |
+ fi |
515 |
+} |