From 29397cdf2756c3fc6db869cd0e7e3db59536e9c5 Mon Sep 17 00:00:00 2001 From: David Seifert Date: Fri, 13 Jan 2017 19:35:16 +0100 Subject: media-libs/flac: Make debugging info dependent on USE="debug" Gentoo-bug: 604718 Package-Manager: Portage-2.3.3, Repoman-2.3.1 --- media-libs/flac/files/flac-1.3.2-asneeded.patch | 30 +- media-libs/flac/files/flac-1.3.2-cflags.patch | 394 ++++++++++++++++++++- .../flac/files/flac-1.3.2-dontbuild-examples.patch | 50 ++- .../flac/files/flac-1.3.2-fortify-sources.patch | 15 + .../flac/files/flac-1.3.2-honor-htmldir.patch | 68 ++-- media-libs/flac/flac-1.3.2-r1.ebuild | 70 ++++ media-libs/flac/flac-1.3.2.ebuild | 69 ---- 7 files changed, 569 insertions(+), 127 deletions(-) create mode 100644 media-libs/flac/files/flac-1.3.2-fortify-sources.patch create mode 100644 media-libs/flac/flac-1.3.2-r1.ebuild delete mode 100644 media-libs/flac/flac-1.3.2.ebuild (limited to 'media-libs/flac') diff --git a/media-libs/flac/files/flac-1.3.2-asneeded.patch b/media-libs/flac/files/flac-1.3.2-asneeded.patch index e4a4af75838c..f506f243c44f 100644 --- a/media-libs/flac/files/flac-1.3.2-asneeded.patch +++ b/media-libs/flac/files/flac-1.3.2-asneeded.patch @@ -1,6 +1,19 @@ ---- flac-1.3.2/src/flac/Makefile.am -+++ flac-1.3.2/src/flac/Makefile.am -@@ -60,7 +60,7 @@ +From 8606b0f418c08aaba7f2565b005f9c00f8681ca1 Mon Sep 17 00:00:00 2001 +From: David Seifert +Date: Fri, 13 Jan 2017 16:14:01 +0100 +Subject: [PATCH 4/4] When using libtool, use LTLIBICONV instead. + +* This is required, as otherwise -Wl,--as-needed could fail. +--- + src/flac/Makefile.am | 2 +- + src/metaflac/Makefile.am | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/flac/Makefile.am b/src/flac/Makefile.am +index bf3bf468..fe6fa489 100644 +--- a/src/flac/Makefile.am ++++ b/src/flac/Makefile.am +@@ -60,7 +60,7 @@ flac_LDADD = \ $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \ $(top_builddir)/src/libFLAC/libFLAC.la \ $(win_utf8_lib) \ @@ -9,9 +22,11 @@ -lm CLEANFILES = flac.exe ---- flac-1.3.2/src/metaflac/Makefile.am -+++ flac-1.3.2/src/metaflac/Makefile.am -@@ -55,6 +55,6 @@ +diff --git a/src/metaflac/Makefile.am b/src/metaflac/Makefile.am +index 7a4ec6b6..ec201ddf 100644 +--- a/src/metaflac/Makefile.am ++++ b/src/metaflac/Makefile.am +@@ -55,6 +55,6 @@ metaflac_LDADD = \ $(top_builddir)/src/share/utf8/libutf8.la \ $(top_builddir)/src/libFLAC/libFLAC.la \ $(win_utf8_lib) \ @@ -19,3 +34,6 @@ + @LTLIBICONV@ CLEANFILES = metaflac.exe +-- +2.11.0 + diff --git a/media-libs/flac/files/flac-1.3.2-cflags.patch b/media-libs/flac/files/flac-1.3.2-cflags.patch index fd1334d93de7..e4159a41d2a2 100644 --- a/media-libs/flac/files/flac-1.3.2-cflags.patch +++ b/media-libs/flac/files/flac-1.3.2-cflags.patch @@ -1,6 +1,48 @@ ---- flac-1.3.2/configure.ac -+++ flac-1.3.2/configure.ac -@@ -384,14 +384,7 @@ +From eab60f424ae4810a8b3b07cf2d429be2905c9655 Mon Sep 17 00:00:00 2001 +From: David Seifert +Date: Fri, 13 Jan 2017 16:03:47 +0100 +Subject: [PATCH 1/4] Do not override CFLAGS, as CFLAGS is a user flag. + +* Furthermore, use NDEBUG globally to detect the presence + of building with more debug output information. + AX_CHECK_ENABLE_DEBUG is easier to use, and nowadays + Gnome has also switched to it from its own custom solution. +--- + configure.ac | 19 +------ + include/FLAC/assert.h | 2 +- + m4/ax_check_enable_debug.m4 | 124 ++++++++++++++++++++++++++++++++++++++++++ + src/libFLAC/cpu.c | 2 +- + src/libFLAC/lpc.c | 4 +- + src/libFLAC/stream_encoder.c | 10 ++-- + src/plugin_common/Makefile.am | 6 -- + src/plugin_common/charset.c | 4 +- + src/plugin_xmms/http.c | 12 ++-- + src/share/Makefile.am | 6 -- + 10 files changed, 142 insertions(+), 47 deletions(-) + create mode 100644 m4/ax_check_enable_debug.m4 + +diff --git a/configure.ac b/configure.ac +index 235d2717..ba97bac0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -205,14 +205,8 @@ AC_DEFINE(FLAC__ALIGN_MALLOC_DATA) + AH_TEMPLATE(FLAC__ALIGN_MALLOC_DATA, [define to align allocated memory on 32-byte boundaries]) + fi + +-AC_ARG_ENABLE(debug, +-AC_HELP_STRING([--enable-debug], [Turn on debugging]), +-[case "${enableval}" in +- yes) debug=true ;; +- no) debug=false ;; +- *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;; +-esac],[debug=false]) +-AM_CONDITIONAL(DEBUG, test "x$debug" = xtrue) ++AX_CHECK_ENABLE_DEBUG ++AM_CONDITIONAL([DEBUG], [test "x$ax_enable_debug" = "xyes" -o "x$ax_enable_debug" = "xinfo"]) + + AC_ARG_ENABLE(sse, + AC_HELP_STRING([--disable-sse], [Disable passing of -msse2 to the compiler]), +@@ -384,15 +378,6 @@ AC_DEFINE(FLAC__HAS_NASM) AH_TEMPLATE(FLAC__HAS_NASM, [define if you are compiling for x86 and have the NASM assembler]) fi @@ -12,15 +54,345 @@ - CFLAGS=$(echo "$CFLAGS" | sed 's/-O2//') - CFLAGS="-O3 -funroll-loops $CFLAGS" -fi -+CPPFLAGS="-DDEBUG $CPPFLAGS" - +- XIPH_GCC_VERSION -@@ -400,7 +393,6 @@ - CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wcast-align -Wshadow -Wwrite-strings -Wctor-dtor-privacy -Wnon-virtual-dtor -Wreorder -Wsign-promo -Wundef " # -Wcast-qual -Wbad-function-cast -Wwrite-strings -Woverloaded-virtual -Wmissing-declarations + if test x$ac_cv_c_compiler_gnu = xyes ; then +diff --git a/include/FLAC/assert.h b/include/FLAC/assert.h +index b546fd07..55b34777 100644 +--- a/include/FLAC/assert.h ++++ b/include/FLAC/assert.h +@@ -34,7 +34,7 @@ + #define FLAC__ASSERT_H + + /* we need this since some compilers (like MSVC) leave assert()s on release code (and we don't want to use their ASSERT) */ +-#ifdef DEBUG ++#ifndef NDEBUG + #include + #define FLAC__ASSERT(x) assert(x) + #define FLAC__ASSERT_DECLARATION(x) x +diff --git a/m4/ax_check_enable_debug.m4 b/m4/ax_check_enable_debug.m4 +new file mode 100644 +index 00000000..f99d75fe +--- /dev/null ++++ b/m4/ax_check_enable_debug.m4 +@@ -0,0 +1,124 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_check_enable_debug.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_CHECK_ENABLE_DEBUG([enable by default=yes/info/profile/no], [ENABLE DEBUG VARIABLES ...], [DISABLE DEBUG VARIABLES NDEBUG ...], [IS-RELEASE]) ++# ++# DESCRIPTION ++# ++# Check for the presence of an --enable-debug option to configure, with ++# the specified default value used when the option is not present. Return ++# the value in the variable $ax_enable_debug. ++# ++# Specifying 'yes' adds '-g -O0' to the compilation flags for all ++# languages. Specifying 'info' adds '-g' to the compilation flags. ++# Specifying 'profile' adds '-g -pg' to the compilation flags and '-pg' to ++# the linking flags. Otherwise, nothing is added. ++# ++# Define the variables listed in the second argument if debug is enabled, ++# defaulting to no variables. Defines the variables listed in the third ++# argument if debug is disabled, defaulting to NDEBUG. All lists of ++# variables should be space-separated. ++# ++# If debug is not enabled, ensure AC_PROG_* will not add debugging flags. ++# Should be invoked prior to any AC_PROG_* compiler checks. ++# ++# IS-RELEASE can be used to change the default to 'no' when making a ++# release. Set IS-RELEASE to 'yes' or 'no' as appropriate. By default, it ++# uses the value of $ax_is_release, so if you are using the AX_IS_RELEASE ++# macro, there is no need to pass this parameter. ++# ++# AX_IS_RELEASE([git-directory]) ++# AX_CHECK_ENABLE_DEBUG() ++# ++# LICENSE ++# ++# Copyright (c) 2011 Rhys Ulerich ++# Copyright (c) 2014, 2015 Philip Withnall ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. ++ ++#serial 5 ++ ++AC_DEFUN([AX_CHECK_ENABLE_DEBUG],[ ++ AC_BEFORE([$0],[AC_PROG_CC])dnl ++ AC_BEFORE([$0],[AC_PROG_CXX])dnl ++ AC_BEFORE([$0],[AC_PROG_F77])dnl ++ AC_BEFORE([$0],[AC_PROG_FC])dnl ++ ++ AC_MSG_CHECKING(whether to enable debugging) ++ ++ ax_enable_debug_default=m4_tolower(m4_normalize(ifelse([$1],,[no],[$1]))) ++ ax_enable_debug_is_release=m4_tolower(m4_normalize(ifelse([$4],, ++ [$ax_is_release], ++ [$4]))) ++ ++ # If this is a release, override the default. ++ AS_IF([test "$ax_enable_debug_is_release" = "yes"], ++ [ax_enable_debug_default="no"]) ++ ++ m4_define(ax_enable_debug_vars,[m4_normalize(ifelse([$2],,,[$2]))]) ++ m4_define(ax_disable_debug_vars,[m4_normalize(ifelse([$3],,[NDEBUG],[$3]))]) ++ ++ AC_ARG_ENABLE(debug, ++ [AS_HELP_STRING([--enable-debug=]@<:@yes/info/profile/no@:>@,[compile with debugging])], ++ [],enable_debug=$ax_enable_debug_default) ++ ++ # empty mean debug yes ++ AS_IF([test "x$enable_debug" = "x"], ++ [enable_debug="yes"]) ++ ++ # case of debug ++ AS_CASE([$enable_debug], ++ [yes],[ ++ AC_MSG_RESULT(yes) ++ CFLAGS="${CFLAGS} -g -O0" ++ CXXFLAGS="${CXXFLAGS} -g -O0" ++ FFLAGS="${FFLAGS} -g -O0" ++ FCFLAGS="${FCFLAGS} -g -O0" ++ OBJCFLAGS="${OBJCFLAGS} -g -O0" ++ ], ++ [info],[ ++ AC_MSG_RESULT(info) ++ CFLAGS="${CFLAGS} -g" ++ CXXFLAGS="${CXXFLAGS} -g" ++ FFLAGS="${FFLAGS} -g" ++ FCFLAGS="${FCFLAGS} -g" ++ OBJCFLAGS="${OBJCFLAGS} -g" ++ ], ++ [profile],[ ++ AC_MSG_RESULT(profile) ++ CFLAGS="${CFLAGS} -g -pg" ++ CXXFLAGS="${CXXFLAGS} -g -pg" ++ FFLAGS="${FFLAGS} -g -pg" ++ FCFLAGS="${FCFLAGS} -g -pg" ++ OBJCFLAGS="${OBJCFLAGS} -g -pg" ++ LDFLAGS="${LDFLAGS} -pg" ++ ], ++ [ ++ AC_MSG_RESULT(no) ++ dnl Ensure AC_PROG_CC/CXX/F77/FC/OBJC will not enable debug flags ++ dnl by setting any unset environment flag variables ++ AS_IF([test "x${CFLAGS+set}" != "xset"], ++ [CFLAGS=""]) ++ AS_IF([test "x${CXXFLAGS+set}" != "xset"], ++ [CXXFLAGS=""]) ++ AS_IF([test "x${FFLAGS+set}" != "xset"], ++ [FFLAGS=""]) ++ AS_IF([test "x${FCFLAGS+set}" != "xset"], ++ [FCFLAGS=""]) ++ AS_IF([test "x${OBJCFLAGS+set}" != "xset"], ++ [OBJCFLAGS=""]) ++ ]) ++ ++ dnl Define various variables if debugging is disabled. ++ dnl assert.h is a NOP if NDEBUG is defined, so define it by default. ++ AS_IF([test "x$enable_debug" = "xyes"], ++ [m4_map_args_w(ax_enable_debug_vars, [AC_DEFINE(], [,,[Define if debugging is enabled])])], ++ [m4_map_args_w(ax_disable_debug_vars, [AC_DEFINE(], [,,[Define if debugging is disabled])])]) ++ ax_enable_debug=$enable_debug ++]) +diff --git a/src/libFLAC/cpu.c b/src/libFLAC/cpu.c +index 12d46191..8bcdee82 100644 +--- a/src/libFLAC/cpu.c ++++ b/src/libFLAC/cpu.c +@@ -47,7 +47,7 @@ + # include /* for __get_cpuid() and __get_cpuid_max() */ + #endif + +-#ifdef DEBUG ++#ifndef NDEBUG + #include + + #define dfprintf fprintf +diff --git a/src/libFLAC/lpc.c b/src/libFLAC/lpc.c +index 531247b5..b59419da 100644 +--- a/src/libFLAC/lpc.c ++++ b/src/libFLAC/lpc.c +@@ -42,7 +42,7 @@ + #include "private/bitmath.h" + #include "private/lpc.h" + #include "private/macros.h" +-#if defined DEBUG || defined FLAC__OVERFLOW_DETECT || defined FLAC__OVERFLOW_DETECT_VERBOSE ++#if !defined(NDEBUG) || defined FLAC__OVERFLOW_DETECT || defined FLAC__OVERFLOW_DETECT_VERBOSE + #include + #endif + +@@ -234,7 +234,7 @@ int FLAC__lpc_quantize_coefficients(const FLAC__real lp_coeff[], unsigned order, + const int nshift = -(*shift); + double error = 0.0; + FLAC__int32 q; +-#ifdef DEBUG ++#ifndef NDEBUG + fprintf(stderr,"FLAC__lpc_quantize_coefficients: negative shift=%d order=%u cmax=%f\n", *shift, order, cmax); + #endif + for(i = 0; i < order; i++) { +diff --git a/src/libFLAC/stream_encoder.c b/src/libFLAC/stream_encoder.c +index e1cba75e..c22974fc 100644 +--- a/src/libFLAC/stream_encoder.c ++++ b/src/libFLAC/stream_encoder.c +@@ -3452,7 +3452,7 @@ FLAC__bool process_subframe_( + #endif + rice_parameter++; /* to account for the signed->unsigned conversion during rice coding */ + if(rice_parameter >= rice_parameter_limit) { +-#ifdef DEBUG_VERBOSE ++#ifndef NDEBUG + fprintf(stderr, "clipping rice_parameter (%u -> %u) @0\n", rice_parameter, rice_parameter_limit - 1); + #endif + rice_parameter = rice_parameter_limit - 1; +@@ -3524,7 +3524,7 @@ FLAC__bool process_subframe_( + rice_parameter = (lpc_residual_bits_per_sample > 0.0)? (unsigned)(lpc_residual_bits_per_sample+0.5) : 0; /* 0.5 is for rounding */ + rice_parameter++; /* to account for the signed->unsigned conversion during rice coding */ + if(rice_parameter >= rice_parameter_limit) { +-#ifdef DEBUG_VERBOSE ++#ifndef NDEBUG + fprintf(stderr, "clipping rice_parameter (%u -> %u) @1\n", rice_parameter, rice_parameter_limit - 1); + #endif + rice_parameter = rice_parameter_limit - 1; +@@ -4156,7 +4156,7 @@ FLAC__bool set_partitioned_rice_( + min_rice_parameter = suggested_rice_parameter - rice_parameter_search_dist; + max_rice_parameter = suggested_rice_parameter + rice_parameter_search_dist; + if(max_rice_parameter >= rice_parameter_limit) { +-#ifdef DEBUG_VERBOSE ++#ifndef NDEBUG + fprintf(stderr, "clipping rice_parameter (%u -> %u) @5\n", max_rice_parameter, rice_parameter_limit - 1); + #endif + max_rice_parameter = rice_parameter_limit - 1; +@@ -4246,7 +4246,7 @@ FLAC__bool set_partitioned_rice_( + } + #endif + if(rice_parameter >= rice_parameter_limit) { +-#ifdef DEBUG_VERBOSE ++#ifndef NDEBUG + fprintf(stderr, "clipping rice_parameter (%u -> %u) @6\n", rice_parameter, rice_parameter_limit - 1); + #endif + rice_parameter = rice_parameter_limit - 1; +@@ -4261,7 +4261,7 @@ FLAC__bool set_partitioned_rice_( + min_rice_parameter = rice_parameter - rice_parameter_search_dist; + max_rice_parameter = rice_parameter + rice_parameter_search_dist; + if(max_rice_parameter >= rice_parameter_limit) { +-#ifdef DEBUG_VERBOSE ++#ifndef NDEBUG + fprintf(stderr, "clipping rice_parameter (%u -> %u) @7\n", max_rice_parameter, rice_parameter_limit - 1); + #endif + max_rice_parameter = rice_parameter_limit - 1; +diff --git a/src/plugin_common/Makefile.am b/src/plugin_common/Makefile.am +index 6e9e3ed3..a528fb45 100644 +--- a/src/plugin_common/Makefile.am ++++ b/src/plugin_common/Makefile.am +@@ -37,9 +37,3 @@ libplugin_common_la_SOURCES = \ + EXTRA_DIST = \ + Makefile.lite \ + README +- +-debug: +- $(MAKE) all CFLAGS="@DEBUG@" +- +-profile: +- $(MAKE) all CFLAGS="@PROFILE@" +diff --git a/src/plugin_common/charset.c b/src/plugin_common/charset.c +index 5dded8a0..85e574bc 100644 +--- a/src/plugin_common/charset.c ++++ b/src/plugin_common/charset.c +@@ -75,7 +75,7 @@ char* FLAC_plugin__charset_convert_string (const char *string, char *from, char + + if ((cd = iconv_open(to, from)) == (iconv_t)-1) + { +-#ifdef DEBUG ++#ifndef NDEBUG + fprintf(stderr, "convert_string(): Conversion not supported. Charsets: %s -> %s", from, to); + #endif + return strdup(string); +@@ -115,7 +115,7 @@ retry: + length = strlen(input); + goto retry; + default: +-#ifdef DEBUG ++#ifndef NDEBUG + fprintf(stderr, "convert_string(): Conversion failed. Inputstring: %s; Error: %s", string, strerror(errno)); + #endif + break; +diff --git a/src/plugin_xmms/http.c b/src/plugin_xmms/http.c +index 2f31576c..4bb81870 100644 +--- a/src/plugin_xmms/http.c ++++ b/src/plugin_xmms/http.c +@@ -61,8 +61,6 @@ static gint icy_metaint = 0; + + extern InputPlugin flac_ip; + +-#undef DEBUG_UDP +- + /* Static udp channel functions */ + static int udp_establish_listener (gint *sock); + static int udp_check_for_data(gint sock); +@@ -573,7 +571,7 @@ static int http_connect (gchar *url_, gboolean head, guint64 offset) + if (!strncmp(line, "icy-metaint:", 12)) + icy_metaint = atoi(line + 12); + if (!strncmp(line, "x-audiocast-udpport:", 20)) { +-#ifdef DEBUG_UDP ++#ifndef NDEBUG + fprintf (stderr, "Server wants udp messages on port %d\n", atoi (line + 20)); + #endif + /*udp_serverport = atoi (line + 20);*/ +@@ -752,7 +750,7 @@ static int udp_establish_listener(int *sock) + struct sockaddr_in sin; + socklen_t sinlen = sizeof (struct sockaddr_in); + +-#ifdef DEBUG_UDP ++#ifndef NDEBUG + fprintf (stderr,"Establishing udp listener\n"); + #endif + +@@ -791,7 +789,7 @@ static int udp_establish_listener(int *sock) + return -1; + } + +-#ifdef DEBUG_UDP ++#ifndef NDEBUG + fprintf (stderr,"Listening on local %s:%d\n", inet_ntoa(sin.sin_addr), g_ntohs(sin.sin_port)); + #endif - XIPH_ADD_CFLAGS([-Wdeclaration-after-statement]) -- XIPH_ADD_CFLAGS([-D_FORTIFY_SOURCE=2]) +@@ -820,7 +818,7 @@ static int udp_check_for_data(int sock) + return 0; + } + buf[len] = '\0'; +-#ifdef DEBUG_UDP ++#ifndef NDEBUG + fprintf (stderr,"Received: [%s]\n", buf); + #endif + lines = g_strsplit(buf, "\n", 0); +@@ -889,7 +887,7 @@ static int udp_check_for_data(int sock) + g_log(NULL, G_LOG_LEVEL_WARNING, + "udp_check_for_data(): Unable to send ack to server: %s", strerror(errno)); + } +-#ifdef DEBUG_UDP ++#ifndef NDEBUG + else + fprintf(stderr,"Sent ack: %s", obuf); + fprintf (stderr,"Remote: %s:%d\n", inet_ntoa(from.sin_addr), g_ntohs(from.sin_port)); +diff --git a/src/share/Makefile.am b/src/share/Makefile.am +index 82d0fc96..8e3984a1 100644 +--- a/src/share/Makefile.am ++++ b/src/share/Makefile.am +@@ -92,9 +92,3 @@ replaygain_analysis_libreplaygain_analysis_la_SOURCES = replaygain_analysis/repl - AC_LANG_PUSH([C++]) - XIPH_ADD_CXXFLAGS([-Weffc++]) + replaygain_synthesis_libreplaygain_synthesis_la_CFLAGS = -I $(top_srcdir)/src/share/replaygain_synthesis/include + replaygain_synthesis_libreplaygain_synthesis_la_SOURCES = replaygain_synthesis/replaygain_synthesis.c +- +-debug: +- $(MAKE) all CFLAGS="@DEBUG@" +- +-profile: +- $(MAKE) all CFLAGS="@PROFILE@" +-- +2.11.0 + diff --git a/media-libs/flac/files/flac-1.3.2-dontbuild-examples.patch b/media-libs/flac/files/flac-1.3.2-dontbuild-examples.patch index c71099369b48..65d072f1c326 100644 --- a/media-libs/flac/files/flac-1.3.2-dontbuild-examples.patch +++ b/media-libs/flac/files/flac-1.3.2-dontbuild-examples.patch @@ -1,20 +1,17 @@ ---- flac-1.3.2/configure.ac -+++ flac-1.3.2/configure.ac -@@ -359,6 +359,12 @@ - AC_SUBST(FLAC__HAS_OGG) - AC_SUBST(OGG_PACKAGE) - -+dnl Build examples? -+AC_ARG_ENABLE(examples, -+ AS_HELP_STRING([--disable-examples], [Don't build examples during make]),, -+ enable_examples="yes") -+AM_CONDITIONAL(EXAMPLES, [test "$enable_examples" = "yes"]) -+ - dnl check for i18n(internationalization); these are from libiconv/gettext - AM_ICONV - AM_LANGINFO_CODESET ---- flac-1.3.2/Makefile.am -+++ flac-1.3.2/Makefile.am +From 04fa72caeae0f8dd7accb623d7f672fc3b190708 Mon Sep 17 00:00:00 2001 +From: David Seifert +Date: Fri, 13 Jan 2017 16:11:08 +0100 +Subject: [PATCH 2/4] Make building/installing examples optional + +--- + Makefile.am | 6 +++++- + configure.ac | 5 +++++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index a325e3a9..38aea04a 100644 +--- a/Makefile.am ++++ b/Makefile.am @@ -31,7 +31,11 @@ ACLOCAL_AMFLAGS = -I m4 @@ -28,3 +25,22 @@ EXTRA_DIST = \ COPYING.FDL \ +diff --git a/configure.ac b/configure.ac +index ba97bac0..9eb2c243 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -353,6 +353,11 @@ AC_DEFINE_UNQUOTED([FLAC__HAS_OGG],$FLAC__HAS_OGG,[define if you have the ogg li + AC_SUBST(FLAC__HAS_OGG) + AC_SUBST(OGG_PACKAGE) + ++dnl Build examples? ++AC_ARG_ENABLE([examples], ++ AS_HELP_STRING([--disable-examples], [Don't build and install examples])) ++AM_CONDITIONAL([EXAMPLES], [test "x$enable_examples" != "xno"]) ++ + dnl check for i18n(internationalization); these are from libiconv/gettext + AM_ICONV + AM_LANGINFO_CODESET +-- +2.11.0 + diff --git a/media-libs/flac/files/flac-1.3.2-fortify-sources.patch b/media-libs/flac/files/flac-1.3.2-fortify-sources.patch new file mode 100644 index 000000000000..cfc0b5a93659 --- /dev/null +++ b/media-libs/flac/files/flac-1.3.2-fortify-sources.patch @@ -0,0 +1,15 @@ +Remove setting -D_FORTIFY_SOURCE=2, as Gentoo's GCC already +enables it by default, causing unnecessary churn: + +* :0:0: warning: "_FORTIFY_SOURCE" redefined + +--- a/configure.ac ++++ b/configure.ac +@@ -400,7 +393,6 @@ + CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wcast-align -Wshadow -Wwrite-strings -Wctor-dtor-privacy -Wnon-virtual-dtor -Wreorder -Wsign-promo -Wundef " # -Wcast-qual -Wbad-function-cast -Wwrite-strings -Woverloaded-virtual -Wmissing-declarations + + XIPH_ADD_CFLAGS([-Wdeclaration-after-statement]) +- XIPH_ADD_CFLAGS([-D_FORTIFY_SOURCE=2]) + + AC_LANG_PUSH([C++]) + XIPH_ADD_CXXFLAGS([-Weffc++]) diff --git a/media-libs/flac/files/flac-1.3.2-honor-htmldir.patch b/media-libs/flac/files/flac-1.3.2-honor-htmldir.patch index 2f93a67cbbe3..c5ab67c0b60e 100644 --- a/media-libs/flac/files/flac-1.3.2-honor-htmldir.patch +++ b/media-libs/flac/files/flac-1.3.2-honor-htmldir.patch @@ -1,20 +1,32 @@ -HTML files should be installed to $(htmldir), and $(docdir) should -not be changed, as this is a user flag in the GNU conventions. +From a6b26535bb0b94309377479ccd4ad43d074ef9ae Mon Sep 17 00:00:00 2001 +From: David Seifert +Date: Fri, 13 Jan 2017 16:12:42 +0100 +Subject: [PATCH 3/4] Honor user's $(htmldir) and do not override GNU defaults + for $(docdir) ---- a/doc/html/images/Makefile.am -+++ b/doc/html/images/Makefile.am -@@ -16,9 +16,9 @@ - # restrictive of those mentioned above. See the file COPYING.Xiph in this - # distribution. - --docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html/images -+logosdir = $(htmldir)/images +* HTML files should be installed to $(htmldir), and $(docdir) should + not be changed, as this is a user flag in the GNU conventions. +--- + doc/Makefile.am | 2 -- + doc/html/Makefile.am | 10 ++++------ + doc/html/images/Makefile.am | 4 ++-- + 3 files changed, 6 insertions(+), 10 deletions(-) + +diff --git a/doc/Makefile.am b/doc/Makefile.am +index fb79e3a7..bc9ae52a 100644 +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -31,8 +31,6 @@ FLAC.tag: + mkdir -p html/api + endif --doc_DATA = \ -+logos_DATA = \ - logo.svg \ - logo130.gif +-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION) +- + doc_DATA = \ + FLAC.tag +diff --git a/doc/html/Makefile.am b/doc/html/Makefile.am +index 813b55f2..ef4a12d8 100644 --- a/doc/html/Makefile.am +++ b/doc/html/Makefile.am @@ -18,9 +18,7 @@ @@ -28,7 +40,7 @@ not be changed, as this is a user flag in the GNU conventions. changelog.html \ developers.html \ documentation.html \ -@@ -46,10 +44,10 @@ +@@ -46,10 +44,10 @@ if FLaC__HAS_DOXYGEN # The install targets don't copy whole directories so we have to # handle 'api/' specially: install-data-local: @@ -42,14 +54,22 @@ not be changed, as this is a user flag in the GNU conventions. distclean-local: -rm -rf api endif ---- a/doc/Makefile.am -+++ b/doc/Makefile.am -@@ -31,8 +31,6 @@ - mkdir -p html/api - endif +diff --git a/doc/html/images/Makefile.am b/doc/html/images/Makefile.am +index 33485f3a..f8f551da 100644 +--- a/doc/html/images/Makefile.am ++++ b/doc/html/images/Makefile.am +@@ -16,9 +16,9 @@ + # restrictive of those mentioned above. See the file COPYING.Xiph in this + # distribution. --docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION) -- - doc_DATA = \ - FLAC.tag +-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html/images ++logosdir = $(htmldir)/images + +-doc_DATA = \ ++logos_DATA = \ + logo.svg \ + logo130.gif +-- +2.11.0 + diff --git a/media-libs/flac/flac-1.3.2-r1.ebuild b/media-libs/flac/flac-1.3.2-r1.ebuild new file mode 100644 index 000000000000..c7fccee2f1b6 --- /dev/null +++ b/media-libs/flac/flac-1.3.2-r1.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit autotools multilib-minimal + +DESCRIPTION="free lossless audio encoder and decoder" +HOMEPAGE="http://flac.sourceforge.net" +SRC_URI="http://downloads.xiph.org/releases/${PN}/${P}.tar.xz" + +LICENSE="BSD FDL-1.2 GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="altivec +cxx debug ogg cpu_flags_x86_sse static-libs" + +RDEPEND="ogg? ( >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + app-arch/xz-utils + abi_x86_32? ( dev-lang/nasm ) + !elibc_uclibc? ( sys-devel/gettext ) + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-1.3.2-cflags.patch + "${FILESDIR}"/${PN}-1.3.2-asneeded.patch + "${FILESDIR}"/${PN}-1.3.0-dontbuild-tests.patch + "${FILESDIR}"/${PN}-1.3.2-dontbuild-examples.patch + "${FILESDIR}"/${PN}-1.3.2-honor-htmldir.patch + "${FILESDIR}"/${PN}-1.3.2-fortify-sources.patch +) + +src_prepare() { + default + eautoreconf +} + +multilib_src_configure() { + local myeconfargs=( + --disable-doxygen-docs + --disable-examples + --disable-xmms-plugin + $([[ ${CHOST} == *-darwin* ]] && echo "--disable-asm-optimizations") + $(use_enable altivec) + $(use_enable cpu_flags_x86_sse sse) + $(use_enable cxx cpplibs) + $(use_enable debug) + $(use_enable ogg) + $(use_enable static-libs static) + + # cross-compile fix (bug #521446) + # no effect if ogg support is disabled + --with-ogg + ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_test() { + if [[ ${UID} != 0 ]]; then + emake -j1 check + else + ewarn "Tests will fail if ran as root, skipping." + fi +} + +multilib_src_install_all() { + einstalldocs + find "${D}" -name '*.la' -delete || die +} diff --git a/media-libs/flac/flac-1.3.2.ebuild b/media-libs/flac/flac-1.3.2.ebuild deleted file mode 100644 index 12105c713b20..000000000000 --- a/media-libs/flac/flac-1.3.2.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=6 - -inherit autotools multilib-minimal - -DESCRIPTION="free lossless audio encoder and decoder" -HOMEPAGE="http://flac.sourceforge.net" -SRC_URI="http://downloads.xiph.org/releases/${PN}/${P}.tar.xz" - -LICENSE="BSD FDL-1.2 GPL-2 LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" -IUSE="altivec +cxx debug ogg cpu_flags_x86_sse static-libs" - -RDEPEND="ogg? ( >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND} - app-arch/xz-utils - abi_x86_32? ( dev-lang/nasm ) - !elibc_uclibc? ( sys-devel/gettext ) - virtual/pkgconfig" - -src_prepare() { - local PATCHES=( - "${FILESDIR}"/${PN}-1.3.2-cflags.patch - "${FILESDIR}"/${PN}-1.3.2-asneeded.patch - "${FILESDIR}"/${PN}-1.3.0-dontbuild-tests.patch - "${FILESDIR}"/${PN}-1.3.2-dontbuild-examples.patch - "${FILESDIR}"/${PN}-1.3.2-honor-htmldir.patch - ) - - default - eautoreconf -} - -multilib_src_configure() { - local myeconfargs=( - --disable-doxygen-docs - --disable-examples - --disable-xmms-plugin - $([[ ${CHOST} == *-darwin* ]] && echo "--disable-asm-optimizations") - $(use_enable altivec) - $(use_enable cpu_flags_x86_sse sse) - $(use_enable cxx cpplibs) - $(use_enable debug) - $(use_enable ogg) - $(use_enable static-libs static) - - # cross-compile fix (bug #521446) - # no effect if ogg support is disabled - --with-ogg - ) - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_test() { - if [[ ${UID} != 0 ]]; then - emake -j1 check - else - ewarn "Tests will fail if ran as root, skipping." - fi -} - -multilib_src_install_all() { - einstalldocs - find "${D}" -name '*.la' -delete || die -} -- cgit v1.2.3-65-gdbad