Browse Source

initial package creation

Signed-off-by: Toshaan Bharvani <toshaan@powerel.org>
master
Toshaan Bharvani 1 year ago
commit
0ac7b50158
  1. 69
      SOURCES/libvisual-0.4.0-better-altivec-detection.patch
  2. 17
      SOURCES/libvisual-0.4.0-format-security.patch
  3. 61
      SOURCES/libvisual-0.4.0-inlinedefineconflict.patch
  4. 251
      SPECS/libvisual.spec

69
SOURCES/libvisual-0.4.0-better-altivec-detection.patch

@ -0,0 +1,69 @@ @@ -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 <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdio.h>
+
+#include <linux/auxvec.h>
+#include <asm/cputable.h>
+#else /* VISUAL_ARCH_POWERPC */
#include <signal.h>
#endif
+#endif
#if defined(VISUAL_OS_WIN32)
#include <windows.h>
@@ -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 */

17
SOURCES/libvisual-0.4.0-format-security.patch

@ -0,0 +1,17 @@ @@ -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));
}
}

61
SOURCES/libvisual-0.4.0-inlinedefineconflict.patch

@ -0,0 +1,61 @@ @@ -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;

251
SPECS/libvisual.spec

@ -0,0 +1,251 @@ @@ -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 <<EOF
#ifndef __LV_CONFIG_H_MULTILIB__
#define __LV_CONFIG_H_MULTILIB__

#include <bits/wordsize.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 <mboddu@redhat.com> - 1:0.4.0-34
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688

* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1:0.4.0-33
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937

* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.4.0-32
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Tue Jan 19 2021 Kalev Lember <klember@redhat.com> - 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 <klember@redhat.com> - 1:0.4.0-30
- Fix multilib conflicts in lvconfig.h

* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.4.0-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.4.0-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.4.0-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.4.0-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.4.0-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.4.0-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.4.0-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.4.0-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.4.0-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.4.0-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Tue Jan 19 2016 Tom Callaway <spot@fedoraproject.org> - 1:0.4.0-19
- spec file cleanups

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.4.0-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.4.0-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Fri Jun 13 2014 Kalev Lember <kalevlember@gmail.com> - 1:0.4.0-16
- Fix epoch use

* Wed Jun 11 2014 Tom Callaway <spot@fedoraproject.org> - 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 <rel-eng@lists.fedoraproject.org> - 0.4.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Sat Mar 07 2009 Caolán McNamara <caolanm@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 0.4.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Tue Mar 11 2008 - Bastien Nocera <bnocera@redhat.com> - 0.4.0-6
- Better Altivec detection, code from David Woodhouse

* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.4.0-5
- Autorebuild for GCC 4.3

* Sun Aug 26 2007 Aurelien Bompard <abompard@fedoraproject.org> 0.4.0-4
- fix license tag

* Wed Aug 30 2006 Aurelien Bompard <abompard@fedoraproject.org> 0.4.0-3
- rebuild

* Sat Jul 08 2006 Aurelien Bompard <abompard@fedoraproject.org> 0.4.0-2
- bump release

* Thu Jul 06 2006 Aurelien Bompard <abompard@fedoraproject.org> 0.4.0-1
- version 0.4.0
- drop Patch0 (applied upstream)

* Tue Feb 21 2006 Aurelien Bompard <gauret[AT]free.fr> 0.2.0-8
- fix dependency for modular X

* Tue Feb 21 2006 Aurelien Bompard <gauret[AT]free.fr> 0.2.0-7
- rebuild for FC5

* Wed Jun 15 2005 Aurelien Bompard <gauret[AT]free.fr> 0.2.0-6
- rebuild

* Wed Jun 15 2005 Aurelien Bompard <gauret[AT]free.fr> 0.2.0-5
- fix build for GCC4

* Thu Jun 9 2005 Michael Schwendt <mschwendt[AT]users.sf.net> 0.2.0-4
- use dist tag for all-arch-rebuild

* Thu Apr 7 2005 Michael Schwendt <mschwendt[AT]users.sf.net> 0.2.0-3
- rebuilt

* Mon Feb 14 2005 David Woodhouse <dwmw2@infradead.org> 0.2.0-2
- Fix bogus #if where #ifdef was meant

* Thu Feb 10 2005 Aurelien Bompard <gauret[AT]free.fr> 0.2.0-1
- version 0.2.0
- drop patch

* Sat Nov 27 2004 Aurelien Bompard <gauret[AT]free.fr> 0:0.1.7-0.fdr.1
- version 0.1.7

* Thu Oct 21 2004 Aurelien Bompard <gauret[AT]free.fr> 0:0.1.6-0.fdr.2
- Apply Adrian Reber's suggestions in bug 2182

* Tue Sep 28 2004 Aurelien Bompard <gauret[AT]free.fr> 0:0.1.6-0.fdr.1
- Initial RPM release.
Loading…
Cancel
Save