rpms/portmidi/F-12 pmdefaults.desktop, NONE, 1.1 portmidi-cmake.patch, NONE, 1.1 .cvsignore, 1.2, 1.3 portmidi.spec, 1.3, 1.4 sources, 1.2, 1.3 portmidi-shared.patch, 1.1, NONE
Orcan Ogetbil
oget at fedoraproject.org
Sat Nov 28 02:20:12 UTC 2009
- Previous message: rpms/portmidi/devel pmdefaults.desktop, NONE, 1.1 portmidi-cmake.patch, NONE, 1.1 .cvsignore, 1.2, 1.3 portmidi.spec, 1.3, 1.4 sources, 1.2, 1.3 portmidi-shared.patch, 1.1, NONE
- Next message: rpms/portmidi/F-11 pmdefaults.desktop, NONE, 1.1 portmidi-cmake.patch, NONE, 1.1 .cvsignore, 1.2, 1.3 portmidi.spec, 1.2, 1.3 sources, 1.2, 1.3 portmidi-shared.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: oget
Update of /cvs/pkgs/rpms/portmidi/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20602
Modified Files:
.cvsignore portmidi.spec sources
Added Files:
pmdefaults.desktop portmidi-cmake.patch
Removed Files:
portmidi-shared.patch
Log Message:
* Fri Nov 27 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> 184-1
- Update to 184. Build system uses cmake now.
--- NEW FILE pmdefaults.desktop ---
[Desktop Entry]
Name=PmDefaults
GenericName=PortMidi Settings
Comment=Set default input and output devices for PortMidi
Exec=pmdefaults
Icon=pmdefaults-icon
Terminal=false
Type=Application
Categories=Audio;AudioVideo;Midi;
portmidi-cmake.patch:
CMakeLists.txt | 1 +
pm_common/CMakeLists.txt | 35 ++++++++++++++++-------------------
pm_java/CMakeLists.txt | 4 ++--
pm_test/CMakeLists.txt | 3 ++-
4 files changed, 21 insertions(+), 22 deletions(-)
--- NEW FILE portmidi-cmake.patch ---
diff -rupN portmidi.old/CMakeLists.txt portmidi/CMakeLists.txt
--- portmidi.old/CMakeLists.txt 2009-10-19 15:36:57.000000000 -0400
+++ portmidi/CMakeLists.txt 2009-11-27 20:20:22.000000000 -0500
@@ -8,6 +8,7 @@ if(UNIX)
# allow user to set Release or Debug
set(CMAKE_BUILD_TYPE Release CACHE STRING
"Semicolon-separate list of supported configuration types")
+ set(PROJECT_BINARY_DIR ${CMAKE_SOURCE_DIR}/build)
# set default directories but don't override cached values...
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
CACHE STRING "libraries go here")
diff -rupN portmidi.old/pm_common/CMakeLists.txt portmidi/pm_common/CMakeLists.txt
--- portmidi.old/pm_common/CMakeLists.txt 2009-10-19 14:41:21.000000000 -0400
+++ portmidi/pm_common/CMakeLists.txt 2009-11-27 20:33:36.000000000 -0500
@@ -65,15 +65,12 @@ if(UNIX)
# JAVA_INCLUDE_PATH2; if no, then we need to make both JAVA_INCLUDE_PATH
# and JAVA_INCLUDE_PATH2 set by user (will need clear documentation
# because JAVA_INCLUDE_PATH2 is pretty obscure)
- set(JAVA_INCLUDE_PATH ${JAVA_INCLUDE_PATH-UNKNOWN}
- CACHE STRING "where to find Java SDK include directory")
- set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH}/linux)
- # libjvm.so is found relative to JAVA_INCLUDE_PATH:
- set(JAVAVM_LIB ${JAVA_INCLUDE_PATH}/../jre/lib/i386/client/libjvm.so)
+ set(JAVAVM_LIB ${JAVA_JVM_LIBRARY})
+
set(LINUXSRC pmlinuxalsa pmlinux finddefault)
prepend_path(LIBSRC ../pm_linux/ ${LINUXSRC})
- list(APPEND LIBSRC ../porttime/ptlinux)
+ set(LIBPTSRC ../porttime/ptlinux)
set(PM_NEEDED_LIBS pthread asound)
endif(APPLE)
@@ -98,29 +95,29 @@ set(JNI_EXTRA_LIBS ${PM_NEEDED_LIBS} ${J
# this completes the list of library sources by adding shared code
list(APPEND LIBSRC pmutil portmidi)
-# now add the shared files to make the complete list of library sources
-add_library(portmidi-static ${LIBSRC})
-set_target_properties(portmidi-static PROPERTIES OUTPUT_NAME "portmidi_s")
-target_link_libraries(portmidi-static ${PM_NEEDED_LIBS})
+add_library(porttime-dynamic SHARED ${LIBPTSRC})
+set_target_properties(porttime-dynamic PROPERTIES SOVERSION 0 VERSION 0.${VERSION} OUTPUT_NAME "porttime")
+target_link_libraries(porttime-dynamic pthread)
add_library(portmidi-dynamic SHARED ${LIBSRC})
-set_target_properties(portmidi-dynamic PROPERTIES OUTPUT_NAME "portmidi")
-target_link_libraries(portmidi-dynamic ${PM_NEEDED_LIBS})
-
+add_dependencies(portmidi-dynamic porttime-dynamic)
+set_target_properties(portmidi-dynamic PROPERTIES LINK_FLAGS "-L../build/Release" SOVERSION 0 VERSION 0.${VERSION} OUTPUT_NAME "portmidi")
+target_link_libraries(portmidi-dynamic ${PM_NEEDED_LIBS} porttime)
# define the jni library
include_directories(${JAVA_INCLUDE_PATHS})
set(JNISRC ${LIBSRC} ../pm_java/pmjni/pmjni.c)
add_library(pmjni SHARED ${JNISRC})
-target_link_libraries(pmjni ${JNI_EXTRA_LIBS})
-set_target_properties(pmjni PROPERTIES EXECUTABLE_EXTENSION "jnilib")
+add_dependencies(pmjni porttime-dynamic)
+target_link_libraries(pmjni ${JNI_EXTRA_LIBS} porttime)
+set_target_properties(pmjni PROPERTIES LINK_FLAGS "-L../build/Release" EXECUTABLE_EXTENSION "jnilib")
# install the libraries (Linux only)
if(UNIX AND NOT APPLE)
- INSTALL(TARGETS portmidi-static portmidi-dynamic pmjni
- LIBRARY DESTINATION /usr/local/lib
- ARCHIVE DESTINATION /usr/local/lib)
+ INSTALL(TARGETS porttime-dynamic portmidi-dynamic pmjni
+ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
+ ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
INSTALL(FILES portmidi.h ../porttime/porttime.h
- DESTINATION /usr/local/include)
+ DESTINATION ${INCLUDE_INSTALL_DIR})
endif(UNIX AND NOT APPLE)
diff -rupN portmidi.old/pm_java/CMakeLists.txt portmidi/pm_java/CMakeLists.txt
--- portmidi.old/pm_java/CMakeLists.txt 2009-10-14 14:04:06.000000000 -0400
+++ portmidi/pm_java/CMakeLists.txt 2009-11-27 20:20:22.000000000 -0500
@@ -39,9 +39,9 @@ if(UNIX)
# install the libraries (Linux only)
INSTALL(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar
- DESTINATION /usr/share/java)
+ DESTINATION ${SHARE_INSTALL_PREFIX}/java)
INSTALL(PROGRAMS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults
- DESTINATION /usr/local/bin)
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
endif(APPLE)
endif(UNIX)
# In windows, use pm_java/make.bat
diff -rupN portmidi.old/pm_test/CMakeLists.txt portmidi/pm_test/CMakeLists.txt
--- portmidi.old/pm_test/CMakeLists.txt 2009-10-19 14:41:21.000000000 -0400
+++ portmidi/pm_test/CMakeLists.txt 2009-11-27 20:20:22.000000000 -0500
@@ -8,7 +8,8 @@ endif(APPLE)
macro(make_a_test name)
add_executable(${name} ${name}.c)
- target_link_libraries(${name} portmidi-static ${PM_NEEDED_LIBS})
+ set_target_properties(${name} PROPERTIES LINK_FLAGS "-L${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}")
+ target_link_libraries(${name} portmidi-dynamic ${PM_NEEDED_LIBS})
endmacro(make_a_test)
make_a_test(test)
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/portmidi/F-12/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- .cvsignore 28 Jan 2009 06:31:52 -0000 1.2
+++ .cvsignore 28 Nov 2009 02:20:12 -0000 1.3
@@ -1 +1 @@
-portmidi-src-131.zip
+portmidi-src-184.zip
Index: portmidi.spec
===================================================================
RCS file: /cvs/pkgs/rpms/portmidi/F-12/portmidi.spec,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- portmidi.spec 26 Jul 2009 19:12:37 -0000 1.3
+++ portmidi.spec 28 Nov 2009 02:20:12 -0000 1.4
@@ -1,21 +1,32 @@
+%global with_gcj %{!?_without_gcj:1}%{?_without_gcj:0}
Summary: Real-time Midi I/O Library
Name: portmidi
-Version: 131
-Release: 4%{?dist}
+Version: 184
+Release: 1%{?dist}
License: MIT
Group: System Environment/Libraries
URL: http://portmedia.sourceforge.net/
Source0: http://downloads.sourceforge.net/portmedia/%{name}-src-%{version}.zip
-# For building shared libraries:
-Patch0: portmidi-shared.patch
+Source1: pmdefaults.desktop
+# Build fixes:
+Patch0: portmidi-cmake.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: alsa-lib-devel doxygen tex(latex)
+BuildRequires: alsa-lib-devel
+BuildRequires: cmake
+BuildRequires: desktop-file-utils
+BuildRequires: java-devel >= 1.5
+BuildRequires: jpackage-utils
+BuildRequires: doxygen
+BuildRequires: tex(latex)
+BuildRequires: java-gcj-compat-devel >= 1.0.31
+Requires(post): java-gcj-compat >= 1.0.31
+Requires(postun): java-gcj-compat >= 1.0.31
%description
PortMedia is a set of simple clean APIs and cross-platform library
implementations for music and other media. PortMidi subproject provides a
real-time MIDI input/output library. This package contains the PortMidi
-libraries and some test applications.
+libraries.
%package devel
Summary: Headers for developing programs that will use %{name}
@@ -28,28 +39,52 @@ implementations for music and other medi
real-time MIDI input/output library. This package contains the header files
and the documentation of PortMidi libraries.
+%package tools
+Summary: Tools to configure and use %{name}
+Group: Applications/Multimedia
+Requires: hicolor-icon-theme
+Requires: java >= 1.5
+Requires: jpackage-utils
+Requires: %{name} = %{version}-%{release}
+
+%description tools
+PortMedia is a set of simple clean APIs and cross-platform library
+implementations for music and other media. PortMidi subproject provides a
+real-time MIDI input/output library. This package contains the PortMidi
+configuration utility "pmdefaults" and some test applications.
%prep
%setup -q -n %{name}
-%patch0 -p1
+%patch0 -p1 -b .buildfix
+
+# ewwww... binaries
+rm -f portmidi_cdt.zip */*.exe */*/*.exe
-# Fix permissions and encoding issues:
+# Fix permissons and encoding issues:
find . -name "*.c" -exec chmod -x {} \;
find . -name "*.h" -exec chmod -x {} \;
-for i in *.txt */*.txt ; do
+for i in *.txt */*.txt */*/*.txt ; do
+ chmod -x $i
sed 's|\r||' $i > $i.tmp
touch -r $i $i.tmp
mv -f $i.tmp $i
done
-# Preserve timestamps:
-sed -i 's|\(INSTALL = install\)|\1 -p|' pm_linux/Makefile
+# Fedora's jni library location is different
+sed -i 's|loadLibrary.*|load("%{_libdir}/%{name}/libpmjni.so");|' \
+ pm_java/jportmidi/JPortMidiApi.java
+
+# Add shebang, lib and class path
+sed -i -e 's|^java|#!/bin/sh\njava \\\
+ -Djava.library.path=%{_libdir}/%{name}/|' \
+ -e 's|/usr/share/java/|%{_libdir}/%{name}/|' \
+ pm_java/pmdefaults/pmdefaults
+
%build
-# Parallel make not supported
-make -f pm_linux/Makefile \
- CFLAGS="%{optflags} -fPIC" \
- VERSION=".%{version}"
+export JAVA_HOME=%{java_home}
+%cmake -DVERSION=%{version} .
+make %{?_smp_flags}
# Build the doxygen documentation:
doxygen
@@ -57,22 +92,43 @@ pushd latex
make %{?_smp_flags}
popd
+
%install
rm -rf %{buildroot}
-# Install the libraries and headers:
-make -f pm_linux/Makefile install \
- DESTDIR=%{buildroot} \
- LIBDIR=%{_libdir} \
- INCLUDEDIR=%{_includedir}
-
-install -pm 644 pm_common/pmutil.h %{buildroot}%{_includedir}
+make install DESTDIR=%{buildroot}
# Install the test applications:
install -d %{buildroot}%{_libdir}/%{name}
-for app in latency midithread midithru mm qtest sysex test; do
- install -m 0755 pm_test/$app %{buildroot}%{_libdir}/%{name}
+for app in latency midiclock midithread midithru mm sysex test; do
+ install -m 0755 build/Release/$app %{buildroot}%{_libdir}/%{name}/
done
+# Fedora's jni library location is different
+mv %{buildroot}%{_libdir}/libpmjni.so \
+ %{buildroot}%{_libdir}/%{name}/
+mv %{buildroot}%{_javadir}/pmdefaults.jar \
+ %{buildroot}%{_libdir}/%{name}/
+
+# pmdefaults icon
+mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/
+install -pm 644 pm_java/pmdefaults/pmdefaults-icon.png \
+ %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/
+
+# desktop file
+mkdir -p %{buildroot}%{_desktopdir}/
+desktop-file-install \
+ --dir=${RPM_BUILD_ROOT}%{_desktopdir} \
+ %{SOURCE1}
+
+# Why don't they install this header file?
+install -pm 644 pm_common/pmutil.h %{buildroot}%{_includedir}/
+
+# AOT bits
+%if %{with_gcj}
+ %{_bindir}/aot-compile-rpm
+%endif
+
+
%clean
rm -rf %{buildroot}
@@ -80,20 +136,50 @@ rm -rf %{buildroot}
%postun -p /sbin/ldconfig
+%post tools
+%if %{with_gcj}
+ if [ -x %{_bindir}/rebuild-gcj-db ]
+ then
+ %{_bindir}/rebuild-gcj-db
+ fi
+%endif
+
+%postun tools
+%if %{with_gcj}
+ if [ -x %{_bindir}/rebuild-gcj-db ]
+ then
+ %{_bindir}/rebuild-gcj-db
+ fi
+%endif
+
%files
%defattr(-,root,root,-)
%doc CHANGELOG.txt license.txt
-%{_libdir}/*.so.*
-%{_libdir}/%{name}
+%{_libdir}/lib*.so.*
+
+%files tools
+%defattr(-,root,root,-)
+%doc pm_java/pmdefaults/README.txt
+%{_libdir}/%{name}/
+%{_bindir}/pmdefaults
+%{_datadir}/icons/hicolor/128x128/apps/pmdefaults-icon.png
+%{_desktopdir}/pmdefaults.desktop
+%if %{with_gcj}
+%{_libdir}/gcj/%{name}/
+%endif
+
%files devel
%defattr(-,root,root,-)
-%doc CHANGELOG.txt license.txt README.txt pm_linux/README_LINUX.txt
+%doc README.txt
%doc html latex/*.pdf
%{_includedir}/*
-%{_libdir}/*.so
+%{_libdir}/lib*.so
%changelog
+* Fri Nov 27 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> 184-1
+- Update to 184. Build system uses cmake now.
+
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 131-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/portmidi/F-12/sources,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- sources 28 Jan 2009 06:31:53 -0000 1.2
+++ sources 28 Nov 2009 02:20:12 -0000 1.3
@@ -1 +1 @@
-1715bb3d9f63c6b259720709ef43b534 portmidi-src-131.zip
+6d242a5cfe802cace10af733c185d1b6 portmidi-src-184.zip
--- portmidi-shared.patch DELETED ---
- Previous message: rpms/portmidi/devel pmdefaults.desktop, NONE, 1.1 portmidi-cmake.patch, NONE, 1.1 .cvsignore, 1.2, 1.3 portmidi.spec, 1.3, 1.4 sources, 1.2, 1.3 portmidi-shared.patch, 1.1, NONE
- Next message: rpms/portmidi/F-11 pmdefaults.desktop, NONE, 1.1 portmidi-cmake.patch, NONE, 1.1 .cvsignore, 1.2, 1.3 portmidi.spec, 1.2, 1.3 sources, 1.2, 1.3 portmidi-shared.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list