diff --git a/.libvisual.metadata b/.libvisual.metadata new file mode 100644 index 0000000..9911623 --- /dev/null +++ b/.libvisual.metadata @@ -0,0 +1 @@ +bd21d621f1d54134c26138e19eaae46c5aeaec00 SOURCES/libvisual-0.4.0.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/libvisual-0.4.0-better-altivec-detection.patch b/SOURCES/libvisual-0.4.0-better-altivec-detection.patch new file mode 100644 index 0000000..4004ad9 --- /dev/null +++ b/SOURCES/libvisual-0.4.0-better-altivec-detection.patch @@ -0,0 +1,69 @@ +--- libvisual-0.4.0/libvisual/lv_cpu.c.orig 2006-01-22 13:23:37.000000000 +0000 ++++ libvisual-0.4.0/libvisual/lv_cpu.c 2008-03-11 16:00:56.000000000 +0000 +@@ -50,8 +50,19 @@ + #endif + + #if defined(VISUAL_OS_LINUX) ++#if defined(VISUAL_ARCH_POWERPC) ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#else /* VISUAL_ARCH_POWERPC */ + #include + #endif ++#endif + + #if defined(VISUAL_OS_WIN32) + #include +@@ -154,6 +165,46 @@ static void check_os_altivec_support( vo + if (err == 0) + if (has_vu != 0) + __lv_cpu_caps.hasAltiVec = 1; ++#elif defined (VISUAL_OS_LINUX) ++ static int available = -1; ++ int new_avail = 0; ++ char fname[64]; ++ unsigned long buf[64]; ++ ssize_t count; ++ pid_t pid; ++ int fd, i; ++ ++ if (available != -1) ++ return; ++ ++ pid = getpid(); ++ snprintf(fname, sizeof(fname)-1, "/proc/%d/auxv", pid); ++ ++ fd = open(fname, O_RDONLY); ++ if (fd < 0) ++ goto out; ++more: ++ count = read(fd, buf, sizeof(buf)); ++ if (count < 0) ++ goto out_close; ++ ++ for (i=0; i < (count / sizeof(unsigned long)); i += 2) { ++ if (buf[i] == AT_HWCAP) { ++ new_avail = !!(buf[i+1] & PPC_FEATURE_HAS_ALTIVEC); ++ goto out_close; ++ } else if (buf[i] == AT_NULL) { ++ goto out_close; ++ } ++ } ++ ++ if (count == sizeof(buf)) ++ goto more; ++out_close: ++ close(fd); ++out: ++ available = new_avail; ++ if (available) ++ __lv_cpu_caps.hasAltiVec = 1; + #else /* !VISUAL_OS_DARWIN */ + /* no Darwin, do it the brute-force way */ + /* this is borrowed from the libmpeg2 library */ diff --git a/SOURCES/libvisual-0.4.0-inlinedefineconflict.patch b/SOURCES/libvisual-0.4.0-inlinedefineconflict.patch new file mode 100644 index 0000000..11ce334 --- /dev/null +++ b/SOURCES/libvisual-0.4.0-inlinedefineconflict.patch @@ -0,0 +1,61 @@ +diff -ru libvisual-0.4.0.orig/libvisual/lv_cache.c libvisual-0.4.0/libvisual/lv_cache.c +--- libvisual-0.4.0.orig/libvisual/lv_cache.c 2009-03-07 17:17:38.000000000 +0000 ++++ libvisual-0.4.0/libvisual/lv_cache.c 2009-03-07 17:25:26.000000000 +0000 +@@ -32,7 +32,7 @@ + static int cache_dtor (VisObject *object); + static int cache_remove_list_entry (VisCache *cache, VisListEntry **le); + +-static inline void handle_request_reset (VisCache *cache, VisListEntry *le); ++static lv_inline void handle_request_reset (VisCache *cache, VisListEntry *le); + + static int cache_dtor (VisObject *object) + { +@@ -74,7 +74,7 @@ + } + + +-static inline void handle_request_reset (VisCache *cache, VisListEntry *le) ++static lv_inline void handle_request_reset (VisCache *cache, VisListEntry *le) + { + VisCacheEntry *centry; + +diff -ru libvisual-0.4.0.orig/libvisual/lv_defines.h libvisual-0.4.0/libvisual/lv_defines.h +--- libvisual-0.4.0.orig/libvisual/lv_defines.h 2009-03-07 17:17:38.000000000 +0000 ++++ libvisual-0.4.0/libvisual/lv_defines.h 2009-03-07 17:24:17.000000000 +0000 +@@ -63,13 +63,13 @@ + + /* Compiler specific optimalization macros */ + #if __GNUC__ >= 3 +-# define inline inline __attribute__ ((always_inline)) ++# define lv_inline inline __attribute__ ((always_inline)) + # define __malloc __attribute__ ((malloc)) + # define __packed __attribute__ ((packed)) + # define VIS_LIKELY(x) __builtin_expect (!!(x), 1) + # define VIS_UNLIKELY(x) __builtin_expect (!!(x), 0) + #else +-# define inline /* no inline */ ++# define lv_inline /* no inline */ + # define __malloc /* no malloc */ + # define __packed /* no packed */ + # define VIS_LIKELY(x) (x) +diff -ru libvisual-0.4.0.orig/libvisual/lv_time.h libvisual-0.4.0/libvisual/lv_time.h +--- libvisual-0.4.0.orig/libvisual/lv_time.h 2009-03-07 17:17:38.000000000 +0000 ++++ libvisual-0.4.0/libvisual/lv_time.h 2009-03-07 17:25:15.000000000 +0000 +@@ -101,7 +101,7 @@ + * + * @return Nothing. + */ +-static inline void visual_timer_tsc_get (uint32_t *lo, uint32_t *hi) ++static lv_inline void visual_timer_tsc_get (uint32_t *lo, uint32_t *hi) + { + #if defined(VISUAL_ARCH_X86) || defined(VISUAL_ARCH_X86_64) + __asm __volatile +@@ -115,7 +115,7 @@ + } + + /* FIXME use uint64_t here, make sure type exists */ +-static inline unsigned long long visual_timer_tsc_get_returned () ++static lv_inline unsigned long long visual_timer_tsc_get_returned () + { + uint32_t lo, hi; + diff --git a/SPECS/libvisual.spec b/SPECS/libvisual.spec new file mode 100644 index 0000000..0d8c6a5 --- /dev/null +++ b/SPECS/libvisual.spec @@ -0,0 +1,188 @@ +%define smallversion 0.4 + +Name: libvisual +Version: 0.4.0 +Release: 14%{?dist} +Summary: Abstraction library for audio visualisation plugins + +Group: Applications/Multimedia +License: LGPLv2+ +URL: http://libvisual.sf.net +Source0: http://dl.sf.net/libvisual/libvisual-0.4.0.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: xorg-x11-proto-devel + +# https://bugzilla.redhat.com/show_bug.cgi?id=435771 +Patch0: libvisual-0.4.0-better-altivec-detection.patch +Patch1: libvisual-0.4.0-inlinedefineconflict.patch + + +%description +Libvisual is an abstraction library that comes between applications and +audio visualisation plugins. + +Often when it comes to audio visualisation plugins or programs that create +visuals they do depend on a player or something else, basically there is no +general framework that enable application developers to easy access cool +audio visualisation plugins. Libvisual wants to change this by providing +an interface towards plugins and applications, through this easy to use +interface applications can easily access plugins and since the drawing is +done by the application it also enables the developer to draw the visual +anywhere he wants. + +%package devel +Summary: Development files for libvisual +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description devel +Libvisual is an abstraction library that comes between applications and +audio visualisation plugins. + +This package contains the files needed to build an application with libvisual. + +%prep +%setup -q +%patch0 -p1 -b .altivec-detection +%patch1 -p1 -b .inlinedefineconflict + +%build +%ifarch i386 +export CFLAGS="${RPM_OPT_FLAGS} -mmmx -fno-strict-aliasing" +%endif +%configure +make %{?_smp_mflags} + + +%install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT + +find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';' + + +# avoid multilib conflict +mv %{buildroot}/%{_includedir}/libvisual-0.4/libvisual/lvconfig.h \ + %{buildroot}/%{_includedir}/libvisual-0.4/libvisual/lvconfig-%{__isa_bits}.h +cat >%{buildroot}/%{_includedir}/libvisual-0.4/libvisual/lvconfig.h < + +#if __WORDSIZE == 32 +# include "lvconfig-32.h" +#elif __WORDSIZE == 64 +# include "lvconfig-64.h" +#else +# error "unexpected value for __WORDSIZE macro" +#endif + +#endif +EOF + +%find_lang %{name}-%{smallversion} + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + + +%files -f %{name}-%{smallversion}.lang +%defattr(-,root,root,-) +%doc AUTHORS COPYING ChangeLog NEWS README TODO +%{_libdir}/*.so.* + +%files devel +%defattr(-,root,root,-) +%doc README NEWS TODO AUTHORS +%{_libdir}/*.so +%{_libdir}/pkgconfig/*.pc +%{_includedir}/%{name}-%{smallversion} + + +%changelog +* Wed Oct 9 2013 Matthias Clasen - 0.4.0-14 + Fixes for #884104 +- Disable strict aliasing +- Avoid multilib conflict + +* Thu Feb 14 2013 Fedora Release Engineering - 0.4.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Jul 19 2012 Fedora Release Engineering - 0.4.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 0.4.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 0.4.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sat Jul 25 2009 Fedora Release Engineering - 0.4.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sat Mar 07 2009 Caolán McNamara - 0.4.0-8 +- defining inline causes problems trying to build against libvisual headers, + e.g. libvisual-plugins + +* Wed Feb 25 2009 Fedora Release Engineering - 0.4.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Tue Mar 11 2008 - Bastien Nocera - 0.4.0-6 +- Better Altivec detection, code from David Woodhouse + +* Mon Feb 18 2008 Fedora Release Engineering - 0.4.0-5 +- Autorebuild for GCC 4.3 + +* Sun Aug 26 2007 Aurelien Bompard 0.4.0-4 +- fix license tag + +* Wed Aug 30 2006 Aurelien Bompard 0.4.0-3 +- rebuild + +* Sat Jul 08 2006 Aurelien Bompard 0.4.0-2 +- bump release + +* Thu Jul 06 2006 Aurelien Bompard 0.4.0-1 +- version 0.4.0 +- drop Patch0 (applied upstream) + +* Tue Feb 21 2006 Aurelien Bompard 0.2.0-8 +- fix dependency for modular X + +* Tue Feb 21 2006 Aurelien Bompard 0.2.0-7 +- rebuild for FC5 + +* Wed Jun 15 2005 Aurelien Bompard 0.2.0-6 +- rebuild + +* Wed Jun 15 2005 Aurelien Bompard 0.2.0-5 +- fix build for GCC4 + +* Thu Jun 9 2005 Michael Schwendt 0.2.0-4 +- use dist tag for all-arch-rebuild + +* Thu Apr 7 2005 Michael Schwendt 0.2.0-3 +- rebuilt + +* Mon Feb 14 2005 David Woodhouse 0.2.0-2 +- Fix bogus #if where #ifdef was meant + +* Thu Feb 10 2005 Aurelien Bompard 0.2.0-1 +- version 0.2.0 +- drop patch + +* Sat Nov 27 2004 Aurelien Bompard 0:0.1.7-0.fdr.1 +- version 0.1.7 + +* Thu Oct 21 2004 Aurelien Bompard 0:0.1.6-0.fdr.2 +- Apply Adrian Reber's suggestions in bug 2182 + +* Tue Sep 28 2004 Aurelien Bompard 0:0.1.6-0.fdr.1 +- Initial RPM release.