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:
Cristian Rodríguez 2012-01-24 16:35:22 +00:00 committed by Git OBS Bridge
parent 7f5c4d7391
commit 72ee0183bb
3 changed files with 156 additions and 21 deletions

117
flac-visibility.patch Normal file
View 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 = \

View File

@ -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 Sun Nov 20 03:45:44 UTC 2011 - crrodriguez@opensuse.org

View File

@ -1,7 +1,7 @@
# #
# spec file for package flac # 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 # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -18,8 +18,10 @@
Name: flac Name: flac
BuildRequires: gcc-c++ libogg-devel pkg-config BuildRequires: gcc-c++
BuildRequires: libogg-devel
BuildRequires: libtool BuildRequires: libtool
BuildRequires: pkg-config
%ifarch %{ix86} %ifarch %{ix86}
BuildRequires: nasm BuildRequires: nasm
%endif %endif
@ -27,29 +29,36 @@ BuildRequires: nasm
%ifarch ppc64 %ifarch ppc64
Obsoletes: flac-64bit Obsoletes: flac-64bit
%endif %endif
#
Summary: Free Lossless Audio Codec
Version: 1.2.1 Version: 1.2.1
Release: 83 Release: 83
License: BSD-3-Clause License: BSD-3-Clause
#
Summary: Free Lossless Audio Codec
Url: http://flac.sourceforge.net/
Group: Productivity/Multimedia/Sound/Utilities Group: Productivity/Multimedia/Sound/Utilities
Source: %{name}-%{version}.tar.bz2 Source: %{name}-%{version}.tar.bz2
Source2: baselibs.conf 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 Patch1: flac-printf-format-fix.diff
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch2: flac-gcc43-fixes.diff 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 Patch4: flac-1.2.1-bitreader.patch
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch5: flac-ocloexec.patch Patch5: flac-ocloexec.patch
Url: http://flac.sourceforge.net/ Patch6: flac-visibility.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description %description
FLAC is an open source lossless audio codec developed by Josh Coalson. FLAC is an open source lossless audio codec developed by Josh Coalson.
%package -n libFLAC8 %package -n libFLAC8
Summary: Free Lossless Audio Codec Library
License: BSD-3-Clause License: BSD-3-Clause
Summary: Free Lossless Audio Codec Library
Group: System/Libraries Group: System/Libraries
Obsoletes: libflac <= %{version} Obsoletes: libflac <= %{version}
Provides: libflac = %{version} Provides: libflac = %{version}
@ -59,8 +68,8 @@ This package contains the library for FLAC (Free Lossless Audio Codec)
developed by Josh Coalson. developed by Josh Coalson.
%package -n libFLAC++6 %package -n libFLAC++6
Summary: Free Lossless Audio Codec Library
License: BSD-3-Clause License: BSD-3-Clause
Summary: Free Lossless Audio Codec Library
Group: System/Libraries Group: System/Libraries
%description -n libFLAC++6 %description -n libFLAC++6
@ -68,10 +77,13 @@ This package contains the C++ library for FLAC (Free Lossless Audio
Codec) developed by Josh Coalson. Codec) developed by Josh Coalson.
%package devel %package devel
Summary: FLAC Library Development Package
License: BSD-3-Clause License: BSD-3-Clause
Summary: FLAC Library Development Package
Group: Development/Libraries/C and C++ 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 %description devel
This package contains the files needed to compile programs that use the This package contains the files needed to compile programs that use the
@ -79,19 +91,20 @@ FLAC library.
%prep %prep
%setup -q %setup -q
%patch %patch0
%patch1 %patch1
%patch2 %patch2
%patch3 -p1 %patch3 -p1
%patch4 %patch4
%patch5 %patch5
%patch6
%build %build
autoreconf --force --install autoreconf --force --install
%define warn_flags -W -Wall -Wstrict-prototypes -Wformat-security %define warn_flags -W -Wall -Wstrict-prototypes -Wformat-security
export CFLAGS="$RPM_OPT_FLAGS %{warn_flags}" export CFLAGS="%{optflags} %{warn_flags}"
export CXXFLAGS="$CFLAGS" export CXXFLAGS="$CFLAGS"
%configure --disable-thorough-tests \ %configure --disable-thorough-tests --disable-exhaustive-tests\
--disable-xmms-plugin \ --disable-xmms-plugin \
--disable-static \ --disable-static \
--disable-rpath \ --disable-rpath \
@ -101,14 +114,11 @@ export CXXFLAGS="$CFLAGS"
make %{?_smp_mflags} make %{?_smp_mflags}
%install %install
%makeinstall %make_install
# documents # documents
mkdir -p $RPM_BUILD_ROOT%{_docdir} mkdir -p %{buildroot}%{_docdir}
mv $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{version} $RPM_BUILD_ROOT%{_docdir}/%{name} mv %{buildroot}%{_datadir}/doc/%{name}-%{version} %{buildroot}%{_docdir}/%{name}
cp -a AUTHORS README COPYING.* $RPM_BUILD_ROOT%{_docdir}/%{name} cp -a AUTHORS README COPYING.* %{buildroot}%{_docdir}/%{name}
%check
make check
%post -n libFLAC8 -p /sbin/ldconfig %post -n libFLAC8 -p /sbin/ldconfig