From 471fab2f2604ca88016e37ea8098398a637171ee Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Tue, 13 Jan 2015 21:44:32 +0000 Subject: [PATCH] sbc: added a recipe for version 1.3 --- media-libs/sbc/patches/sbc-1.3.patchset | 146 ++++++++++++++++++++++++ media-libs/sbc/sbc-1.3.recipe | 101 ++++++++++++++++ 2 files changed, 247 insertions(+) create mode 100644 media-libs/sbc/patches/sbc-1.3.patchset create mode 100644 media-libs/sbc/sbc-1.3.recipe diff --git a/media-libs/sbc/patches/sbc-1.3.patchset b/media-libs/sbc/patches/sbc-1.3.patchset new file mode 100644 index 000000000..e709843a0 --- /dev/null +++ b/media-libs/sbc/patches/sbc-1.3.patchset @@ -0,0 +1,146 @@ +From 6d238064d1df3161a1bd43236ac3d29ea9b595c9 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Tue, 13 Jan 2015 20:57:54 +0000 +Subject: Haiku patch + + +diff --git a/sbc/sbc.c b/sbc/sbc.c +index 606f11c..6bee729 100644 +--- a/sbc/sbc.c ++++ b/sbc/sbc.c +@@ -29,6 +29,7 @@ + #include + #endif + ++#include + #include + #include + #include +diff --git a/src/formats.h b/src/formats.h +index 3050b25..dd7aba2 100644 +--- a/src/formats.h ++++ b/src/formats.h +@@ -21,18 +21,32 @@ + * + */ + ++#ifdef __HAIKU__ ++#include ++#else + #include ++#endif + + #if __BYTE_ORDER == __LITTLE_ENDIAN + #define COMPOSE_ID(a,b,c,d) ((a) | ((b)<<8) | ((c)<<16) | ((d)<<24)) + #define LE_SHORT(v) (v) + #define LE_INT(v) (v) ++#ifdef __HAIKU__ ++#define BE_SHORT(v) B_SWAP_INT16(v) ++#define BE_INT(v) B_SWAP_INT32(v) ++#else + #define BE_SHORT(v) bswap_16(v) + #define BE_INT(v) bswap_32(v) ++#endif + #elif __BYTE_ORDER == __BIG_ENDIAN + #define COMPOSE_ID(a,b,c,d) ((d) | ((c)<<8) | ((b)<<16) | ((a)<<24)) ++#ifdef __HAIKU__ ++#define LE_SHORT(v) B_SWAP_INT16(v) ++#define LE_INT(v) B_SWAP_INT32(v) ++#else + #define LE_SHORT(v) bswap_16(v) + #define LE_INT(v) bswap_32(v) ++#endif + #define BE_SHORT(v) (v) + #define BE_INT(v) (v) + #else +diff --git a/src/sbcdec.c b/src/sbcdec.c +index ba17f7a..9cda0c4 100644 +--- a/src/sbcdec.c ++++ b/src/sbcdec.c +@@ -37,7 +37,9 @@ + #include + #include + #include ++#ifndef __HAIKU__ + #include ++#endif + + #include "sbc/sbc.h" + #include "formats.h" +@@ -53,7 +55,11 @@ static void decode(char *filename, char *output, int tofile, bool msbc) + sbc_t sbc; + int fd, ad, pos, streamlen, framelen, count; + size_t len; ++#ifndef __HAIKU__ + int format = AFMT_S16_BE, frequency, channels; ++#else ++ int frequency, channels; ++#endif + ssize_t written; + + if (stat(filename, &st) < 0) { +@@ -154,6 +160,7 @@ static void decode(char *filename, char *output, int tofile, bool msbc) + goto close; + } + } else { ++#ifndef __HAIKU__ + if (ioctl(ad, SNDCTL_DSP_SETFMT, &format) < 0) { + fprintf(stderr, "Can't set audio format on %s: %s\n", + output, strerror(errno)); +@@ -171,6 +178,7 @@ static void decode(char *filename, char *output, int tofile, bool msbc) + output, strerror(errno)); + goto close; + } ++#endif + } + + count = len; +@@ -233,7 +241,9 @@ static void usage(void) + + printf("Options:\n" + "\t-h, --help Display help\n" ++#ifndef __HAIKU__ + "\t-d, --device Sound device\n" ++#endif + "\t-v, --verbose Verbose mode\n" + "\t-m, --msbc mSBC codec\n" + "\t-f, --file Decode to a file\n" +@@ -243,7 +253,9 @@ static void usage(void) + static struct option main_options[] = { + { "help", 0, 0, 'h' }, + { "msbc", 0, 0, 'm' }, ++#ifndef __HAIKU__ + { "device", 1, 0, 'd' }, ++#endif + { "verbose", 0, 0, 'v' }, + { "file", 1, 0, 'f' }, + { 0, 0, 0, 0 } +@@ -252,7 +264,11 @@ static struct option main_options[] = { + int main(int argc, char *argv[]) + { + char *output = NULL; ++#ifndef __HAIKU__ + int i, opt, tofile = 0; ++#else ++ int i, opt, tofile = 1; ++#endif + bool msbc = false; + + while ((opt = getopt_long(argc, argv, "+hmvd:f:", +@@ -270,11 +286,13 @@ int main(int argc, char *argv[]) + msbc = true; + break; + ++#ifndef __HAIKU__ + case 'd': + free(output); + output = strdup(optarg); + tofile = 0; + break; ++#endif + + case 'f' : + free(output); +-- +1.8.3.4 + diff --git a/media-libs/sbc/sbc-1.3.recipe b/media-libs/sbc/sbc-1.3.recipe new file mode 100644 index 000000000..cc1c2b44b --- /dev/null +++ b/media-libs/sbc/sbc-1.3.recipe @@ -0,0 +1,101 @@ +SUMMARY="An audio codec to connect Bluetooth audio devices" +DESCRIPTION=" +SBC is an audio subband codec specified by the Bluetooth Special Interest Group +for the A2DP profile. SBC is a digital audio encoder and decoder used to +transfer date to Bluetooth audio output devcies likes headphones or +loudspeakers. It can be also used on the Internet. It was designed to obtain +a reasonably good audio quality at medium bit rates while keeping low +computational complexity, having Bluetooth bandwidth limitations and processing +power in mind. +" +HOMEPAGE="http://www.bluez.org" +COPYRIGHT=" + 2004-2010 Marcel Holtmann + 2008-2010 Nokia Corporation + 2012-2013 Intel Corporation + 2007-2008 Frederic Dalleau + " +LICENSE="GNU GPL v2 + GNU LGPL v2.1" +SRC_URI="http://www.kernel.org/pub/linux/bluetooth/sbc-$portVersion.tar.gz" +CHECKSUM_SHA256="4a358581fb57b98e0c1c34606a35343f31f908f57c26659e51495f75e283785d" +REVISION="1" +ARCHITECTURES="x86 x86_64" +SECONDARY_ARCHITECTURES="x86" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi + +PATCHES="sbc-$portVersion.patchset" + +PROVIDES=" + sbc$secondaryArchSuffix = $portVersion compat >= 1 + lib:libsbc$secondaryArchSuffix = 1.2.1 compat >= 1 + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libsndfile$secondaryArchSuffix + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libsndfile$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:aclocal + cmd:autoconf + cmd:automake + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:pkg_config$secondaryArchSuffix + cmd:libtoolize + cmd:make + " + +BUILD() +{ + autoreconf -fi + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install + + prepareInstalledDevelLibs libsbc + fixPkgconfig + + # devel package + packageEntries devel \ + $developDir + + # tools package + packageEntries tools \ + $binDir +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + sbc${secondaryArchSuffix}_devel = $portVersion compat >= 1 + devel:libsbc$secondaryArchSuffix = 1.2.1 compat >= 1 + " +REQUIRES_devel=" + sbc$secondaryArchSuffix == $portVersion base + " + +# ----- tools package ------------------------------------------------------- + +SUMMARY_tools="The SBC tools" +PROVIDES_tools=" + sbc_tools$secondaryArchSuffix = $portVersion compat >= 1 + cmd:sbcdec = $portVersion compat >= 1 + cmd:sbcenc = $portVersion compat >= 1 + cmd:sbcinfo = $portVersion compat >= 1 + " +REQUIRES_tools=" + haiku$secondaryArchSuffix + sbc$secondaryArchSuffix == $portVersion base + "