diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ad7c5a7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libvisual-0.4.0.tar.gz 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/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-format-security.patch b/SOURCES/libvisual-0.4.0-format-security.patch new file mode 100644 index 0000000..ab1e4d6 --- /dev/null +++ b/SOURCES/libvisual-0.4.0-format-security.patch @@ -0,0 +1,17 @@ +diff -up libvisual-0.4.0/libvisual/lv_plugin.c.format-security libvisual-0.4.0/libvisual/lv_plugin.c +--- libvisual-0.4.0/libvisual/lv_plugin.c.format-security 2014-06-11 15:38:36.786199952 -0400 ++++ libvisual-0.4.0/libvisual/lv_plugin.c 2014-06-11 15:38:45.990132144 -0400 +@@ -442,11 +442,11 @@ VisList *visual_plugin_registry_filter ( + + visual_list_add (list, ref); + } else if (ret != FALSE) { +- visual_log (VISUAL_LOG_WARNING, visual_error_to_string (ret)); ++ visual_log (VISUAL_LOG_WARNING, "%s", visual_error_to_string (ret)); + } + } + else if (ret != FALSE) { /* FIXME XXX TODO, patch frmo duilio check how this works */ +- visual_log (VISUAL_LOG_WARNING, visual_error_to_string (ret)); ++ visual_log (VISUAL_LOG_WARNING, "%s", visual_error_to_string (ret)); + } + } + 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..0294079 --- /dev/null +++ b/SPECS/libvisual.spec @@ -0,0 +1,251 @@ +%global smallversion 0.4 + +Name: libvisual +Version: 0.4.0 +Release: 34%{?dist} +Epoch: 1 +Summary: Abstraction library for audio visualisation plugins +License: LGPLv2+ +URL: http://libvisual.sf.net +Source0: http://dl.sf.net/libvisual/libvisual-%{version}.tar.gz +BuildRequires: gcc-c++ +BuildRequires: make +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 +Patch2: libvisual-0.4.0-format-security.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 +Requires: %{name}%{?_isa} = %{epoch}:%{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 +%patch2 -p1 -b .format-security + +%build +%global optflags %{optflags} -fno-strict-aliasing +%configure +%make_build + +%install +%make_install + +# Avoid multilib conflicts +case `uname -i` in + i386 | ppc | s390 | sparc ) + wordsize="32" + ;; + x86_64 | ppc64 | s390x | sparc64 ) + wordsize="64" + ;; + *) + wordsize="" + ;; +esac + +if test -n "$wordsize" +then + mv %{buildroot}%{_includedir}/libvisual-%{smallversion}/libvisual/lvconfig.h \ + %{buildroot}%{_includedir}/libvisual-%{smallversion}/libvisual/lvconfig-$wordsize.h + + cat >%{buildroot}%{_includedir}/libvisual-%{smallversion}/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 + +fi + +find %{buildroot} -type f -name "*.la" -exec rm -f {} ';' + +%find_lang %{name}-%{smallversion} + +%files -f %{name}-%{smallversion}.lang +%doc AUTHORS ChangeLog NEWS README TODO +%license COPYING +%{_libdir}/*.so.* + +%files devel +%doc README NEWS TODO AUTHORS +%{_libdir}/*.so +%{_libdir}/pkgconfig/*.pc +%{_includedir}/%{name}-%{smallversion} + + +%changelog +* Mon Aug 09 2021 Mohan Boddu - 1:0.4.0-34 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Apr 16 2021 Mohan Boddu - 1:0.4.0-33 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Jan 26 2021 Fedora Release Engineering - 1:0.4.0-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jan 19 2021 Kalev Lember - 1:0.4.0-31 +- Use make_build/make_install macros +- Drop unneeded ldconfig_scriptlets macro call +- Remove a no longer needed -mmmx CFLAGS addition +- Disable strict aliasing + +* Fri Jan 15 2021 Kalev Lember - 1:0.4.0-30 +- Fix multilib conflicts in lvconfig.h + +* Tue Jul 28 2020 Fedora Release Engineering - 1:0.4.0-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 1:0.4.0-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 1:0.4.0-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 1:0.4.0-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 1:0.4.0-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 1:0.4.0-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 1:0.4.0-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1:0.4.0-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1:0.4.0-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 04 2016 Fedora Release Engineering - 1:0.4.0-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 19 2016 Tom Callaway - 1:0.4.0-19 +- spec file cleanups + +* Wed Jun 17 2015 Fedora Release Engineering - 1:0.4.0-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun Aug 17 2014 Fedora Release Engineering - 1:0.4.0-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Jun 13 2014 Kalev Lember - 1:0.4.0-16 +- Fix epoch use + +* Wed Jun 11 2014 Tom Callaway - 1:0.4.0-15 +- 0.5.0 beta was a bad idea. nothing else supports it. +- fix format-security issue + +* Sat Aug 03 2013 Fedora Release Engineering - 0.4.0-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* 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.