From dc79cd6ec66f968df6fc9d9330ae6d84b824c93c Mon Sep 17 00:00:00 2001
From: Vittorio Giovara <vittorio.giovara@savoirfairelinux.com>
Date: Thu, 12 Jun 2014 16:19:00 -0400
Subject: [PATCH] contrib: add flac rules and patches
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Dependency required by sndfile.

Based on VideoLan code by Rémi Denis-Courmont et al.
Refs: #46617

Change-Id: I04f4608deb3d013cd7d55f8c73a8fac54185b5ae
---
 contrib/src/flac/SHA512SUMS       |  1 +
 contrib/src/flac/libFLAC-pc.patch | 10 ++++++
 contrib/src/flac/rules.mak        | 51 +++++++++++++++++++++++++++++++
 3 files changed, 62 insertions(+)
 create mode 100644 contrib/src/flac/SHA512SUMS
 create mode 100644 contrib/src/flac/libFLAC-pc.patch
 create mode 100644 contrib/src/flac/rules.mak

diff --git a/contrib/src/flac/SHA512SUMS b/contrib/src/flac/SHA512SUMS
new file mode 100644
index 0000000000..df50890e23
--- /dev/null
+++ b/contrib/src/flac/SHA512SUMS
@@ -0,0 +1 @@
+9f62a83c2041ec6f02c0df65b796a920a0cd6ba6c2c034bb69535bca5df57ed69f96fe4bb41c0d5ccc229241d90efd2c7ec3785662b5a582a8e20e2e991e6477  flac-1.3.0.tar.xz
diff --git a/contrib/src/flac/libFLAC-pc.patch b/contrib/src/flac/libFLAC-pc.patch
new file mode 100644
index 0000000000..8b5105aac0
--- /dev/null
+++ b/contrib/src/flac/libFLAC-pc.patch
@@ -0,0 +1,10 @@
+--- flac/src/libFLAC/flac.pc.in.orig	2013-05-05 14:05:30.059024229 +0200
++++ flac/src/libFLAC/flac.pc.in	2013-05-05 14:06:25.529822137 +0200
+@@ -7,6 +7,6 @@
+ Description: Free Lossless Audio Codec Library
+ Version: @VERSION@
+ Requires.private: @OGG_PACKAGE@
+-Libs: -L${libdir} -lFLAC
++Libs: -L${libdir} -lFLAC -logg
+ Libs.private: -lm
+ Cflags: -I${includedir}
diff --git a/contrib/src/flac/rules.mak b/contrib/src/flac/rules.mak
new file mode 100644
index 0000000000..bf72caf895
--- /dev/null
+++ b/contrib/src/flac/rules.mak
@@ -0,0 +1,51 @@
+# FLAC
+
+FLAC_VERSION := 1.3.0
+FLAC_URL := http://downloads.xiph.org/releases/flac/flac-$(FLAC_VERSION).tar.xz
+
+PKGS += flac
+ifeq ($(call need_pkg,"flac"),)
+PKGS_FOUND += flac
+endif
+
+$(TARBALLS)/flac-$(FLAC_VERSION).tar.xz:
+	$(call download,$(FLAC_URL))
+
+.sum-flac: flac-$(FLAC_VERSION).tar.xz
+
+flac: flac-$(FLAC_VERSION).tar.xz .sum-flac
+	$(UNPACK)
+	$(APPLY) $(SRC)/flac/libFLAC-pc.patch
+ifdef HAVE_DARWIN_OS
+	cd $(UNPACK_DIR) && sed -e 's,-dynamiclib,-dynamiclib -arch $(ARCH),' -i.orig configure
+endif
+ifdef HAVE_ANDROID
+ifeq ($(ANDROID_ABI), x86)
+	# cpu.c:130:29: error: sys/ucontext.h: No such file or directory
+	# defining USE_OBSOLETE_SIGCONTEXT_FLAVOR allows us to bypass that
+	cd $(UNPACK_DIR) && sed -i.orig -e s/"#  undef USE_OBSOLETE_SIGCONTEXT_FLAVOR"/"#define USE_OBSOLETE_SIGCONTEXT_FLAVOR"/g src/libFLAC/cpu.c
+endif
+endif
+	$(UPDATE_AUTOCONFIG)
+	$(MOVE)
+
+FLACCONF := $(HOSTCONF) \
+	--disable-thorough-tests \
+	--disable-doxygen-docs \
+	--disable-xmms-plugin \
+	--disable-cpplibs \
+	--disable-oggtest
+# TODO? --enable-sse
+ifdef HAVE_DARWIN_OS
+ifneq ($(findstring $(ARCH),i386 x86_64),)
+FLACCONF += --disable-asm-optimizations
+endif
+endif
+
+DEPS_flac = ogg $(DEPS_ogg)
+
+.flac: flac
+	cd $< && $(HOSTVARS) ./configure $(FLACCONF)
+	cd $</include && $(MAKE) install
+	cd $</src && $(MAKE) -C share install && $(MAKE) -C libFLAC install
+	touch $@
-- 
GitLab