summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2017-01-13 19:35:16 +0100
committerDavid Seifert <soap@gentoo.org>2017-01-13 19:35:52 +0100
commit29397cdf2756c3fc6db869cd0e7e3db59536e9c5 (patch)
treea2d687022231bca2a28ef5a944a26295f0452034 /media-libs/flac
parentmail-client/thunderbird-bin: Security cleanup (bug #604024) (diff)
downloadgentoo-29397cdf2756c3fc6db869cd0e7e3db59536e9c5.tar.gz
gentoo-29397cdf2756c3fc6db869cd0e7e3db59536e9c5.tar.bz2
gentoo-29397cdf2756c3fc6db869cd0e7e3db59536e9c5.zip
media-libs/flac: Make debugging info dependent on USE="debug"
Gentoo-bug: 604718 Package-Manager: Portage-2.3.3, Repoman-2.3.1
Diffstat (limited to 'media-libs/flac')
-rw-r--r--media-libs/flac/files/flac-1.3.2-asneeded.patch30
-rw-r--r--media-libs/flac/files/flac-1.3.2-cflags.patch394
-rw-r--r--media-libs/flac/files/flac-1.3.2-dontbuild-examples.patch50
-rw-r--r--media-libs/flac/files/flac-1.3.2-fortify-sources.patch15
-rw-r--r--media-libs/flac/files/flac-1.3.2-honor-htmldir.patch68
-rw-r--r--media-libs/flac/flac-1.3.2-r1.ebuild (renamed from media-libs/flac/flac-1.3.2.ebuild)17
6 files changed, 508 insertions, 66 deletions
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 <soap@gentoo.org>
+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 <soap@gentoo.org>
+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 <assert.h>
+ #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 <rhys.ulerich@gmail.com>
++# Copyright (c) 2014, 2015 Philip Withnall <philip@tecnocode.co.uk>
++#
++# 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 <cpuid.h> /* for __get_cpuid() and __get_cpuid_max() */
+ #endif
+
+-#ifdef DEBUG
++#ifndef NDEBUG
+ #include <stdio.h>
+
+ #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 <stdio.h>
+ #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 <soap@gentoo.org>
+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:
+
+* <command-line>: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 <soap@gentoo.org>
+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.ebuild b/media-libs/flac/flac-1.3.2-r1.ebuild
index 12105c713b20..c7fccee2f1b6 100644
--- a/media-libs/flac/flac-1.3.2.ebuild
+++ b/media-libs/flac/flac-1.3.2-r1.ebuild
@@ -22,15 +22,16 @@ DEPEND="${RDEPEND}
!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
- )
+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
}