jreznik pushed to arts (epel7). "- cleanup gslconfig.h/multilib bits, -ia64, +sparc64/sparc (..more)"
notifications at fedoraproject.org
notifications at fedoraproject.org
Thu Apr 2 15:10:06 UTC 2015
>From 277dd4e570959a12ab6699a2603166e68ee3d0bc Mon Sep 17 00:00:00 2001
From: Rex Dieter <rdieter at fedoraproject.org>
Date: Thu, 14 Jun 2007 16:46:35 +0000
Subject: - cleanup gslconfig.h/multilib bits, -ia64, +sparc64/sparc 1.5.7-2 -
(re)add (experimental) libtool patches 1.5.7-1.fc7 - 1.5.7
diff --git a/.cvsignore b/.cvsignore
index faec487..8968569 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -12,3 +12,4 @@ arts-1.5.2.tar.bz2
arts-1.5.3.tar.bz2
arts-1.5.4.tar.bz2
arts-1.5.6.tar.bz2
+arts-1.5.7.tar.bz2
diff --git a/arts-1.5.4-dlopenext.patch b/arts-1.5.4-dlopenext.patch
new file mode 100644
index 0000000..9bc4291
--- /dev/null
+++ b/arts-1.5.4-dlopenext.patch
@@ -0,0 +1,54 @@
+Index: arts-1.5.4/soundserver/FileInputStream.mcopclass
+===================================================================
+--- arts-1.5.4.orig/soundserver/FileInputStream.mcopclass
++++ arts-1.5.4/soundserver/FileInputStream.mcopclass
+@@ -2,4 +2,4 @@ Interface=Arts::FileInputStream,Arts::In
+ Author="Stefan Westerfeld <stefan at space.twc.de>"
+ URL="http://www.arts-project.org"
+ Language=C++
+-Library=libkmedia2.la
++Library=libkmedia2
+Index: arts-1.5.4/soundserver/GSLPlayObject.mcopclass
+===================================================================
+--- arts-1.5.4.orig/soundserver/GSLPlayObject.mcopclass
++++ arts-1.5.4/soundserver/GSLPlayObject.mcopclass
+@@ -3,5 +3,5 @@ Author="Hans Meine <hans_meine at gmx.net>"
+ URL="http://www.arts-project.org/"
+ Extension=wav,mp3,ogg
+ Language=C++
+-Library=libartsgslplayobject.la
++Library=libartsgslplayobject
+ MimeType=audio/wav,audio/x-wav,audio/x-mp3,audio/x-mp1,audio/x-mp2,audio/vorbis,application/ogg
+Index: arts-1.5.4/soundserver/WavPlayObject.mcopclass
+===================================================================
+--- arts-1.5.4.orig/soundserver/WavPlayObject.mcopclass
++++ arts-1.5.4/soundserver/WavPlayObject.mcopclass
+@@ -3,5 +3,5 @@ Author="Stefan Westerfeld <stefan at space.
+ URL="http://www.arts-project.org"
+ Extension=wav
+ Language=C++
+-Library=libartswavplayobject.la
++Library=libartswavplayobject
+ MimeType=audio/wav,audio/x-wav
+Index: arts-1.5.4/mcop/extensionloader.cc
+===================================================================
+--- arts-1.5.4.orig/mcop/extensionloader.cc
++++ arts-1.5.4/mcop/extensionloader.cc
+@@ -57,7 +57,7 @@ ExtensionLoader::ExtensionLoader(const s
+ StartupManager::setExtensionLoader(this);
+
+ lt_dlinit();
+- handle = lt_dlopen(dlfilename.c_str());
++ handle = lt_dlopenext(dlfilename.c_str());
+
+ StartupManager::setExtensionLoader(0);
+
+Index: arts-1.5.4/x11/X11GlobalComm.mcopclass
+===================================================================
+--- arts-1.5.4.orig/x11/X11GlobalComm.mcopclass
++++ arts-1.5.4/x11/X11GlobalComm.mcopclass
+@@ -1,3 +1,3 @@
+ Language=C++
+-Library=libx11globalcomm.la
++Library=libx11globalcomm
+ Interface=Arts::Object,Arts::GlobalComm,Arts::X11GlobalComm
diff --git a/arts-1.5.5-kde#139445.patch b/arts-1.5.5-kde#139445.patch
new file mode 100644
index 0000000..5b3f0fe
--- /dev/null
+++ b/arts-1.5.5-kde#139445.patch
@@ -0,0 +1,84 @@
+--- arts-1.5.5/mcop/Makefile.am.139445 2005-09-10 03:13:32.000000000 -0500
++++ arts-1.5.5/mcop/Makefile.am 2007-01-12 08:11:10.000000000 -0600
+@@ -16,7 +16,9 @@
+ trader_impl.cc dynamicrequest.cc anyref.cc loopback.cc \
+ delayedreturn.cc thread.cc dynamicskeleton.cc
+
++CXXFLAGS += -fexceptions
+ libmcop_la_LIBADD = $(LIBSOCKET) $(GLIB_LIBADD) $(top_builddir)/libltdl/libltdlc.la
++libmcop_la_LIBADD += -lboost_filesystem -lboost_regex
+ libmcop_la_LDFLAGS = -no-undefined -version-info 1:0 $(GLIB_LDFLAGS) $(all_libraries)
+
+ artsincludedir = $(includedir)/arts
+--- arts-1.5.5/mcop/extensionloader.cc.139445 2005-09-10 03:13:32.000000000 -0500
++++ arts-1.5.5/mcop/extensionloader.cc 2007-01-12 09:54:57.000000000 -0600
+@@ -28,26 +28,62 @@
+ #include <unistd.h>
+ #include <assert.h>
+
++#include <boost/filesystem/exception.hpp>
++#include <boost/filesystem/operations.hpp>
++#include <boost/regex.hpp>
++
+ using namespace std;
+ using namespace Arts;
+
++static std::string makeLibraryName( std::string const& dir, std::string const& name )
++{
++ try
++ {
++ // std::string p = dir + "/" + name;
++ boost::regex p_regex;
++ p_regex.assign("(.+)\\.la$");
++ std::string p = dir + "/" + boost::regex_replace( name, p_regex, "$1", boost::match_default);
++
++ if ( boost::filesystem::exists( p + ".so" ) )
++ return ( p + ".so" );
++ boost::regex re( p + ".*so\\..+", boost::regex::extended );
++ for ( boost::filesystem::directory_iterator i( dir );
++ i != boost::filesystem::directory_iterator(); ++i )
++ {
++ boost::smatch m;
++ if ( boost::regex_match( i->string(), m, re ) )
++ return m.str();
++ }
++ return ( p + ".la" );
++ }
++ catch ( boost::filesystem::filesystem_error const& )
++ {
++ }
++ return std::string();
++}
++
+ ExtensionLoader::ExtensionLoader(const string& filename) :handle(0)
+ {
+ string dlfilename;
+-
+ assert(filename.size());
+- if(filename[0] == '/')
+- dlfilename = filename;
+- else
++ try
++ {
++ boost::filesystem::path p( filename );
++ if ( p.has_root_directory() )
++ dlfilename = makeLibraryName( p.branch_path().string(), p.leaf() );
++ }
++ catch ( boost::filesystem::filesystem_error const& )
++ {
++ }
++ if ( dlfilename.empty() )
+ {
+ const vector<string> *path = MCOPUtils::extensionPath();
+
+ vector<string>::const_iterator pi;
+ for(pi = path->begin(); pi != path->end(); pi++)
+ {
+- dlfilename = *pi + "/" + filename;
+-
+- if(access(dlfilename.c_str(),F_OK) == 0)
++ dlfilename = makeLibraryName( *pi, filename );
++ if ( !dlfilename.empty() && ( access( dlfilename.c_str(), F_OK ) == 0 ) )
+ break;
+ }
+ }
diff --git a/arts-1.5.7-qtmcop-notifications-on-demand.patch b/arts-1.5.7-qtmcop-notifications-on-demand.patch
new file mode 100644
index 0000000..9f409e4
--- /dev/null
+++ b/arts-1.5.7-qtmcop-notifications-on-demand.patch
@@ -0,0 +1,121 @@
+Index: mcop/notification.h
+===================================================================
+--- mcop/notification.h (Revision 667003)
++++ mcop/notification.h (Revision 667004)
+@@ -72,10 +72,7 @@
+ {
+ return instance;
+ }
+- inline void send(Notification wm)
+- {
+- todo.push(wm);
+- }
++ void send(Notification wm);
+ inline bool pending()
+ {
+ return !todo.empty();
+Index: mcop/iomanager.cc
+===================================================================
+--- mcop/iomanager.cc (Revision 667003)
++++ mcop/iomanager.cc (Revision 667004)
+@@ -409,9 +409,15 @@
+
+ void StdIOManager::addTimer(int milliseconds, TimeNotify *notify)
+ {
+- timeList.push_back(new TimeWatcher(milliseconds,notify));
+- timeListChanged = true;
+- Dispatcher::wakeUp();
++ if (milliseconds == -1 && notify == 0) {
++ // HACK: in order to not add a virtual function to IOManager we're calling addTimer with
++ // magic values. This call tells the ioManager that notifications are pending and
++ // NotificationManager::run() should get called soon.
++ } else {
++ timeList.push_back(new TimeWatcher(milliseconds,notify));
++ timeListChanged = true;
++ Dispatcher::wakeUp();
++ }
+ }
+
+ void StdIOManager::removeTimer(TimeNotify *notify)
+Index: mcop/notification.cc
+===================================================================
+--- mcop/notification.cc (Revision 667003)
++++ mcop/notification.cc (Revision 667004)
+@@ -22,6 +22,7 @@
+
+ #include "notification.h"
+ #include "debug.h"
++#include "dispatcher.h"
+
+ using namespace Arts;
+
+@@ -41,6 +42,17 @@
+ instance = 0;
+ }
+
++void NotificationManager::send(Notification wm)
++{
++ if (todo.empty()) {
++ // HACK: in order to not add a virtual function to IOManager we're calling addTimer with
++ // magic values. This call tells the ioManager that notifications are pending and
++ // NotificationManager::run() should get called soon.
++ Arts::Dispatcher::the()->ioManager()->addTimer(-1, 0);
++ }
++ todo.push(wm);
++}
++
+ bool NotificationManager::run()
+ {
+ if(todo.empty()) return false;
+Index: qtmcop/qiomanager.cc
+===================================================================
+--- qtmcop/qiomanager.cc (Revision 667003)
++++ qtmcop/qiomanager.cc (Revision 667004)
+@@ -102,30 +102,13 @@
+
+ class HandleNotifications : public TimeNotify {
+ public:
+- HandleNotifications()
+- {
+- Arts::Dispatcher::the()->ioManager()->addTimer(50, this);
+- }
+ void notifyTime()
+ {
++ Arts::Dispatcher::the()->ioManager()->removeTimer(this);
+ NotificationManager::the()->run();
++ delete this;
+ }
+- virtual ~HandleNotifications()
+- {
+- Arts::Dispatcher::the()->ioManager()->removeTimer(this);
+- }
+ };
+-
+-class HandleNotificationsStartup :public StartupClass
+-{
+-public:
+- void startup() { h = new HandleNotifications(); }
+- void shutdown() { delete h; }
+-private:
+- HandleNotifications *h;
+-};
+-static HandleNotificationsStartup handleNotifications;
+-
+ }
+
+ /*
+@@ -237,6 +220,14 @@
+
+ void QIOManager::addTimer(int milliseconds, TimeNotify *notify)
+ {
++ if (milliseconds == -1 && notify == 0)
++ {
++ // HACK: in order to not add a virtual function to IOManager we're calling addTimer with
++ // magic values. This call tells the ioManager that notifications are pending and
++ // NotificationManager::run() should get called soon.
++ notify = new HandleNotifications();
++ milliseconds = 0;
++ }
+ timeList.push_back(new QTimeWatch(milliseconds,notify));
+ }
+
diff --git a/arts.spec b/arts.spec
index 08ce9d2..cef0183 100644
--- a/arts.spec
+++ b/arts.spec
@@ -1,15 +1,15 @@
-%define multilib_arches %{ix86} ia64 ppc ppc64 s390 s390x x86_64
+%define multilib_arches i386 x86_64 ppc ppc64 s390 s390x sparc sparc64
%define final 1
-%define qt_version 3.3.7
+%define qt_version 3.3.8
%define make_cvs 1
-Name: arts
+Name: arts
Summary: aRts (analog realtime synthesizer) - the KDE sound system
-Group: System Environment/Daemons
-Epoch: 8
-Version: 1.5.6
-Release: 4%{?dist}
+Group: System Environment/Daemons
+Epoch: 8
+Version: 1.5.7
+Release: 3%{?dist}
License: LGPL
Url: http://www.kde.org
@@ -23,11 +23,18 @@ Patch5: arts-1.3.1-alsa.patch
Patch6: arts-1.4.0-glibc.patch
Patch7: arts-1.5.0-check_tmp_dir.patch
Patch8: arts-1.5.2-multilib.patch
-## Consider for inclusion
-# http://vir.homelinux.org/blog/index.php?/archives/41-PowerTOP-and-aRts.html
-Patch9: http://vir.homelinux.org/qtmcop-notifications-on-demand.patch
-BuildRequires: qt-devel >= 1:%{qt_version}
+# upstream patches
+Patch100: arts-1.5.7-qtmcop-notifications-on-demand.patch
+Patch101: arts-1.5.4-dlopenext.patch
+Patch93359: kde-3.5-libtool-shlibext.patch
+# http://bugs.kde.org/139445
+# http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES/arts-extension_loader.patch?rev=1.2
+#Patch139445: arts-extension_loader.patch
+Patch139445: arts-1.5.5-kde#139445.patch
+BuildRequires: boost-devel
+
+BuildRequires: qt-devel
## Shouldn't be necessary, but some folks won't upgrade, unless we stiff-arm them. (-;
#global qt_ver %(pkg-config qt-mt --modversion 2>/dev/null || echo 3.3)
#Requires: qt >= 1:%{qt_ver}
@@ -58,14 +65,13 @@ By connecting all those small modules together, you can perform complex
tasks like simulating a mixer, generating an instrument or things like
playing a wave file with some effects.
-
%package devel
Group: Development/Libraries
Summary: Development files for the aRts sound server
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: qt-devel
Requires: pkgconfig
-## those below can/should be omitted from future builds -- Rex
+## those below can/should be omitted from future(f8?) builds -- Rex
Requires: esound-devel
Requires: glib2-devel
Requires: libvorbis-devel
@@ -75,6 +81,7 @@ Requires: alsa-lib-devel
Install arts-devel if you intend to write applications using arts (such as
KDE applications using sound).
+
%prep
%setup -q
%patch1 -p1 -b .debug
@@ -84,6 +91,13 @@ KDE applications using sound).
%patch7 -p1 -b .check_tmp_dir
%patch8 -p1 -b .multilib
+# upstream patches
+%patch100 -p0 -b .qtmcop-notifications-on-demand
+%patch93359 -p1 -b .libtool-shlibext
+# experimental libtool patches
+%patch101 -p1 -b .dlopenext
+%patch139445 -p1 -b .kde#139445
+
%if %{make_cvs}
make -f admin/Makefile.common cvs
%endif
@@ -146,10 +160,12 @@ find $RPM_BUILD_ROOT%{_libdir} -name "*.la" | xargs \
%clean
rm -rf %{buildroot}
+
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
+
%files
%defattr(-,root,root)
%dir %{_libdir}/mcop
@@ -178,6 +194,15 @@ rm -rf %{buildroot}
%changelog
+* Wed Jun 14 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 6:1.5.7-3
+- cleanup gslconfig.h/multilib bits, -ia64, +sparc64/sparc
+
+* Mon Jun 11 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 6:1.5.7-2
+- (re)add (experimental) libtool patches
+
+* Mon Jun 04 2007 Than Ngo <than at redhat.com> - 6:1.5.7-1.fc7
+- 1.5.7
+
* Tue May 15 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 6:1.5.6-4
- respin with higher release (for EVR upgrade paths)
diff --git a/gslconfig-wrapper.h b/gslconfig-wrapper.h
index 585ada2..b20ee53 100644
--- a/gslconfig-wrapper.h
+++ b/gslconfig-wrapper.h
@@ -3,10 +3,10 @@
*
* DO NOT INCLUDE THE NEW FILE DIRECTLY -- ALWAYS INCLUDE THIS ONE INSTEAD. */
-#if defined(__i386__)
+#if defined(__x86_64__)
+#include "gslconfig-x86_64.h"
+#elif defined(__i386__)
#include "gslconfig-i386.h"
-#elif defined(__ia64__)
-#include "gslconfig-ia64.h"
#elif defined(__powerpc64__)
#include "gslconfig-ppc64.h"
#elif defined(__powerpc__)
@@ -15,8 +15,10 @@
#include "gslconfig-s390x.h"
#elif defined(__s390__)
#include "gslconfig-s390.h"
-#elif defined(__x86_64__)
-#include "gslconfig-x86_64.h"
+#elif defined(__sparc64__)
+#include "gslconfig-sparc64.h"
+#elif defined(__sparc__)
+#include "gslconfig-sparc.h"
#else
#error "This arts-devel package does not work your architecture?"
#endif
diff --git a/kde-3.5-libtool-shlibext.patch b/kde-3.5-libtool-shlibext.patch
new file mode 100644
index 0000000..3c482b8
--- /dev/null
+++ b/kde-3.5-libtool-shlibext.patch
@@ -0,0 +1,72 @@
+Index: arts-1.5.4/acinclude.m4
+===================================================================
+--- arts-1.5.4.orig/acinclude.m4
++++ arts-1.5.4/acinclude.m4
+@@ -12040,28 +12040,12 @@ fi
+ ])# AC_LTDL_SYS_DLOPEN_DEPLIBS
+
+ AC_DEFUN([AC_LTDL_SHLIBEXT],
+-[AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl
++[AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER])dnl
+ AC_CACHE_CHECK([which extension is used for shared libraries],
+ libltdl_cv_shlibext, [dnl
+-(
+- last=
+- case "$host_os" in
+- cygwin* | mingw*)
+- last=".dll"
+- ;;
+- *)
+- for spec in $library_names_spec; do
+- last="$spec"
+- done
+- ;;
+- esac
+-changequote(, )
+- echo "$last" | sed 's/\[.*\]//;s/^[^.]*//;s/\$.*$//;s/\.$//' > conftest
+-changequote([, ])
+-)
+-libltdl_cv_shlibext=`cat conftest`
+-rm -f conftest
+-])
++module=yes
++eval libltdl_cv_shlibext=$shrext
++ ])
+ if test -n "$libltdl_cv_shlibext"; then
+ AC_DEFINE_UNQUOTED(LTDL_SHLIB_EXT, "$libltdl_cv_shlibext",
+ [Define to the extension used for shared libraries, say, ".so". ])
+Index: arts-1.5.4/libltdl/ltdl.m4
+===================================================================
+--- arts-1.5.4.orig/libltdl/ltdl.m4
++++ arts-1.5.4/libltdl/ltdl.m4
+@@ -118,27 +118,11 @@ fi
+ ])# AC_LTDL_SYS_DLOPEN_DEPLIBS
+
+ AC_DEFUN([AC_LTDL_SHLIBEXT],
+-[AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl
++[AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER])dnl
+ AC_CACHE_CHECK([which extension is used for shared libraries],
+ libltdl_cv_shlibext, [dnl
+-(
+- last=
+- case "$host_os" in
+- cygwin* | mingw*)
+- last=".dll"
+- ;;
+- *)
+- for spec in $library_names_spec; do
+- last="$spec"
+- done
+- ;;
+- esac
+-changequote(, )
+- echo "$last" | sed 's/\[.*\]//;s/^[^.]*//;s/\$.*$//;s/\.$//' > conftest
+-changequote([, ])
+-)
+-libltdl_cv_shlibext=`cat conftest`
+-rm -f conftest
++module=yes
++eval libltdl_cv_shlibext=$shrext
+ ])
+ if test -n "$libltdl_cv_shlibext"; then
+ AC_DEFINE_UNQUOTED(LTDL_SHLIB_EXT, "$libltdl_cv_shlibext",
diff --git a/sources b/sources
index 59023e1..f8e33c9 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-e986393a5827499bbad04a00b797add0 arts-1.5.6.tar.bz2
+28ac10541e5d8daf9009f6af1f7857af arts-1.5.7.tar.bz2
--
cgit v0.10.2
http://pkgs.fedoraproject.org/cgit/arts.git/commit/?h=epel7&id=277dd4e570959a12ab6699a2603166e68ee3d0bc
More information about the scm-commits
mailing list