Accepting request 101382 from home:elvigia:branches:multimedia:libs
- Support symbol visibility features - Disable test suite, nothing wrong with it, it just takes too long to run and uses private/hidden symbols to test flac's internals. OBS-URL: https://build.opensuse.org/request/show/101382 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/flac?expand=0&rev=19
This commit is contained in:
parent
7f5c4d7391
commit
72ee0183bb
117
flac-visibility.patch
Normal file
117
flac-visibility.patch
Normal file
@ -0,0 +1,117 @@
|
||||
--- include/FLAC/export.h.orig
|
||||
+++ include/FLAC/export.h
|
||||
@@ -56,7 +56,7 @@
|
||||
*/
|
||||
|
||||
#if defined(FLAC__NO_DLL) || !defined(_MSC_VER)
|
||||
-#define FLAC_API
|
||||
+#define FLAC_API __attribute__ ((visibility ("default")))
|
||||
|
||||
#else
|
||||
|
||||
--- include/FLAC++/export.h.orig
|
||||
+++ include/FLAC++/export.h
|
||||
@@ -56,7 +56,7 @@
|
||||
*/
|
||||
|
||||
#if defined(FLAC__NO_DLL) || !defined(_MSC_VER)
|
||||
-#define FLACPP_API
|
||||
+#define FLACPP_API __attribute__ ((visibility ("default")))
|
||||
|
||||
#else
|
||||
|
||||
--- src/libFLAC/Makefile.am.orig
|
||||
+++ src/libFLAC/Makefile.am
|
||||
@@ -68,7 +68,7 @@ endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
-
|
||||
+libFLAC_la_CFLAGS = -fvisibility=hidden
|
||||
libFLAC_la_LIBADD = $(LOCAL_EXTRA_LIBADD) @OGG_LIBS@
|
||||
|
||||
SUBDIRS = $(ARCH_SUBDIRS) include .
|
||||
@@ -96,7 +96,7 @@ extra_ogg_sources = \
|
||||
ogg_mapping.c
|
||||
endif
|
||||
# see 'http://www.gnu.org/software/libtool/manual.html#Libtool-versioning' for numbering convention
|
||||
-libFLAC_la_LDFLAGS = -version-info 10:0:2 -lm $(LOCAL_EXTRA_LDFLAGS)
|
||||
+libFLAC_la_LDFLAGS = -no-undefined -version-info 10:0:2 -lm $(LOCAL_EXTRA_LDFLAGS)
|
||||
libFLAC_la_SOURCES = \
|
||||
bitmath.c \
|
||||
bitreader.c \
|
||||
--- src/libFLAC++/Makefile.am.orig
|
||||
+++ src/libFLAC++/Makefile.am
|
||||
@@ -45,8 +45,9 @@ EXTRA_DIST = \
|
||||
libFLAC++_static.vcproj \
|
||||
libFLAC++.m4
|
||||
|
||||
+libFLAC___la_CXXFLAGS= -fvisibility=hidden -fvisibility-inlines-hidden
|
||||
# see 'http://www.gnu.org/software/libtool/manual.html#Libtool-versioning' for numbering convention
|
||||
-libFLAC___la_LDFLAGS = -version-info 8:0:2
|
||||
+libFLAC___la_LDFLAGS = -no-undefined -version-info 8:0:2
|
||||
libFLAC___la_LIBADD = ../libFLAC/libFLAC.la
|
||||
|
||||
libFLAC___la_SOURCES = \
|
||||
--- configure.in.orig
|
||||
+++ configure.in
|
||||
@@ -28,19 +28,20 @@ AM_MAINTAINER_MODE
|
||||
# We need two libtools, one that builds both shared and static, and
|
||||
# one that builds only static. This is because the resulting libtool
|
||||
# does not allow us to choose which to build at runtime.
|
||||
-AM_PROG_LIBTOOL
|
||||
-sed -e 's/^build_old_libs=yes/build_old_libs=no/' libtool > libtool-disable-static
|
||||
-chmod +x libtool-disable-static
|
||||
+#AM_PROG_LIBTOOL
|
||||
+#sed -e 's/^build_old_libs=yes/build_old_libs=no/' libtool > libtool-disable-static
|
||||
+#chmod +x libtool-disable-static
|
||||
|
||||
AC_SUBST(ACLOCAL_AMFLAGS, "-I m4")
|
||||
|
||||
AM_PROG_AS
|
||||
+AC_PROG_CC_STDC
|
||||
AC_PROG_CXX
|
||||
AC_PROG_MAKE_SET
|
||||
-
|
||||
+AC_USE_SYSTEM_EXTENSIONS
|
||||
AC_SYS_LARGEFILE
|
||||
AC_FUNC_FSEEKO
|
||||
-
|
||||
+LT_INIT([pic-only disable-static])
|
||||
AC_CHECK_SIZEOF(void*,0)
|
||||
|
||||
#@@@ new name is AC_CONFIG_HEADERS
|
||||
--- Makefile.am.orig
|
||||
+++ Makefile.am
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.7
|
||||
|
||||
-SUBDIRS = doc include m4 man src examples test build obj
|
||||
+SUBDIRS = doc include m4 man src examples build obj
|
||||
|
||||
DISTCLEANFILES = libtool-disable-static
|
||||
|
||||
--- src/Makefile.am.orig
|
||||
+++ src/Makefile.am
|
||||
@@ -20,7 +20,7 @@ XMMS_DIRS = plugin_common plugin_xmms
|
||||
endif
|
||||
|
||||
if FLaC__WITH_CPPLIBS
|
||||
-CPPLIBS_DIRS = libFLAC++ test_libFLAC++
|
||||
+CPPLIBS_DIRS = libFLAC++
|
||||
endif
|
||||
|
||||
SUBDIRS = \
|
||||
@@ -31,11 +31,6 @@ SUBDIRS = \
|
||||
monkeys_audio_utilities \
|
||||
$(XMMS_DIRS) \
|
||||
plugin_winamp2 \
|
||||
- test_grabbag \
|
||||
- test_libs_common \
|
||||
- test_libFLAC \
|
||||
- test_seeking \
|
||||
- test_streams \
|
||||
$(CPPLIBS_DIRS)
|
||||
|
||||
EXTRA_DIST = \
|
@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 24 16:01:40 UTC 2012 - crrodriguez@opensuse.org
|
||||
|
||||
- Support symbol visibility features
|
||||
- Disable test suite, nothing wrong with it, it just
|
||||
takes too long to run and uses private/hidden symbols to
|
||||
test flac's internals.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 20 03:45:44 UTC 2011 - crrodriguez@opensuse.org
|
||||
|
||||
|
52
flac.spec
52
flac.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package flac
|
||||
#
|
||||
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -18,8 +18,10 @@
|
||||
|
||||
|
||||
Name: flac
|
||||
BuildRequires: gcc-c++ libogg-devel pkg-config
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: libogg-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: pkg-config
|
||||
%ifarch %{ix86}
|
||||
BuildRequires: nasm
|
||||
%endif
|
||||
@ -27,29 +29,36 @@ BuildRequires: nasm
|
||||
%ifarch ppc64
|
||||
Obsoletes: flac-64bit
|
||||
%endif
|
||||
#
|
||||
Summary: Free Lossless Audio Codec
|
||||
Version: 1.2.1
|
||||
Release: 83
|
||||
License: BSD-3-Clause
|
||||
#
|
||||
Summary: Free Lossless Audio Codec
|
||||
Url: http://flac.sourceforge.net/
|
||||
Group: Productivity/Multimedia/Sound/Utilities
|
||||
Source: %{name}-%{version}.tar.bz2
|
||||
Source2: baselibs.conf
|
||||
Patch: flac-no-xmms.diff
|
||||
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
||||
Patch0: flac-no-xmms.diff
|
||||
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
||||
Patch1: flac-printf-format-fix.diff
|
||||
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
||||
Patch2: flac-gcc43-fixes.diff
|
||||
Patch3: flac-1.2.1-asm.patch
|
||||
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
||||
Patch3: flac-1.2.1-asm.patch
|
||||
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
||||
Patch4: flac-1.2.1-bitreader.patch
|
||||
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
||||
Patch5: flac-ocloexec.patch
|
||||
Url: http://flac.sourceforge.net/
|
||||
Patch6: flac-visibility.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
FLAC is an open source lossless audio codec developed by Josh Coalson.
|
||||
|
||||
%package -n libFLAC8
|
||||
Summary: Free Lossless Audio Codec Library
|
||||
License: BSD-3-Clause
|
||||
Summary: Free Lossless Audio Codec Library
|
||||
Group: System/Libraries
|
||||
Obsoletes: libflac <= %{version}
|
||||
Provides: libflac = %{version}
|
||||
@ -59,8 +68,8 @@ This package contains the library for FLAC (Free Lossless Audio Codec)
|
||||
developed by Josh Coalson.
|
||||
|
||||
%package -n libFLAC++6
|
||||
Summary: Free Lossless Audio Codec Library
|
||||
License: BSD-3-Clause
|
||||
Summary: Free Lossless Audio Codec Library
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libFLAC++6
|
||||
@ -68,10 +77,13 @@ This package contains the C++ library for FLAC (Free Lossless Audio
|
||||
Codec) developed by Josh Coalson.
|
||||
|
||||
%package devel
|
||||
Summary: FLAC Library Development Package
|
||||
License: BSD-3-Clause
|
||||
Summary: FLAC Library Development Package
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: libFLAC8 = %{version} libFLAC++6 = %{version} glibc-devel libstdc++-devel
|
||||
Requires: glibc-devel
|
||||
Requires: libFLAC++6 = %{version}
|
||||
Requires: libFLAC8 = %{version}
|
||||
Requires: libstdc++-devel
|
||||
|
||||
%description devel
|
||||
This package contains the files needed to compile programs that use the
|
||||
@ -79,19 +91,20 @@ FLAC library.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch
|
||||
%patch0
|
||||
%patch1
|
||||
%patch2
|
||||
%patch3 -p1
|
||||
%patch4
|
||||
%patch5
|
||||
%patch6
|
||||
|
||||
%build
|
||||
autoreconf --force --install
|
||||
%define warn_flags -W -Wall -Wstrict-prototypes -Wformat-security
|
||||
export CFLAGS="$RPM_OPT_FLAGS %{warn_flags}"
|
||||
export CFLAGS="%{optflags} %{warn_flags}"
|
||||
export CXXFLAGS="$CFLAGS"
|
||||
%configure --disable-thorough-tests \
|
||||
%configure --disable-thorough-tests --disable-exhaustive-tests\
|
||||
--disable-xmms-plugin \
|
||||
--disable-static \
|
||||
--disable-rpath \
|
||||
@ -101,14 +114,11 @@ export CXXFLAGS="$CFLAGS"
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
%makeinstall
|
||||
%make_install
|
||||
# documents
|
||||
mkdir -p $RPM_BUILD_ROOT%{_docdir}
|
||||
mv $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{version} $RPM_BUILD_ROOT%{_docdir}/%{name}
|
||||
cp -a AUTHORS README COPYING.* $RPM_BUILD_ROOT%{_docdir}/%{name}
|
||||
|
||||
%check
|
||||
make check
|
||||
mkdir -p %{buildroot}%{_docdir}
|
||||
mv %{buildroot}%{_datadir}/doc/%{name}-%{version} %{buildroot}%{_docdir}/%{name}
|
||||
cp -a AUTHORS README COPYING.* %{buildroot}%{_docdir}/%{name}
|
||||
|
||||
%post -n libFLAC8 -p /sbin/ldconfig
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user