summaryrefslogtreecommitdiff
path: root/media-libs/libsidplay
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/libsidplay')
-rw-r--r--media-libs/libsidplay/Manifest15
-rw-r--r--media-libs/libsidplay/files/65resid1
-rw-r--r--media-libs/libsidplay/files/libsidplay-1.36.59-fix-c++14.patch28
-rw-r--r--media-libs/libsidplay/files/libsidplay-1.36.59-gcc43.patch38
-rw-r--r--media-libs/libsidplay/files/libsidplay-2.1.1-fbsd.patch11
-rw-r--r--media-libs/libsidplay/files/libsidplay-2.1.1-gcc41.patch37
-rw-r--r--media-libs/libsidplay/files/libsidplay-2.1.1-gcc43.patch69
-rw-r--r--media-libs/libsidplay/files/libsidplay-2.1.1-no_libtool_reference.patch18
-rw-r--r--media-libs/libsidplay/libsidplay-1.36.59-r1.ebuild33
-rw-r--r--media-libs/libsidplay/libsidplay-1.36.59-r2.ebuild38
-rw-r--r--media-libs/libsidplay/libsidplay-2.1.1-r4.ebuild57
-rw-r--r--media-libs/libsidplay/metadata.xml10
12 files changed, 355 insertions, 0 deletions
diff --git a/media-libs/libsidplay/Manifest b/media-libs/libsidplay/Manifest
new file mode 100644
index 000000000000..5cd5e93d0b4c
--- /dev/null
+++ b/media-libs/libsidplay/Manifest
@@ -0,0 +1,15 @@
+AUX 65resid 63 SHA256 8c7708378022d8408ff00cc0564fc8c4917cd8fb10611acdb34080b6e922f9d9 SHA512 3233f4ec47f5ec6bb64aede57af5caf81a18d1cf258b6f3032e4df43a89e64c3e91a2aefaedbc767dc6c9d9de60a4634698968a59a21c592ed506f9afa10e4c2 WHIRLPOOL 88b64bddf2c8ca9fc0cdda635da38f2a2931fe314082f49f5312afa0564853ce9418fe519ffd80191fe79b66620ec788786ba1e4b04396c54b6550d568e73387
+AUX libsidplay-1.36.59-fix-c++14.patch 786 SHA256 c37819160eae4cc7f148038df6a8907d25ea025106e207c427625e58ccec31cd SHA512 8fe86933a6009d2035e1a987c3da9050535a956833271cb59892c8093d5a66be6e2b3bf9d940a2f3e8c54fe54d2f70106a1796235f11ff11fff099ca040cd140 WHIRLPOOL 0288145bc70ba2eba5220de52ff3d5c4869b6925b3a41b30b460ad3af4fe3abd65ee47a095a731866fdd25dba8402f4478954ae9a0c6afaaeb18e30f7aa5600e
+AUX libsidplay-1.36.59-gcc43.patch 1338 SHA256 5248947343f3e426ec230984dfc2dd3dc6233176eec0b4d4364a460a927f7db3 SHA512 a3b795aef3bdfe3d435117b0d52a2f2bdd87f60b3ff1b21e0a3c08214396db897b75d8f97b8587a3cd4cb366598c01292f023003d3e055f542c903e91cb69cf6 WHIRLPOOL 4b01e618f6a51e1b213dab131de1e70a1658673b2d0ec94f0783081db2cf7c200e35cb6d74210a26658af3abdf5cd4742d5e4d4fe0ad84c922baa71e78a128af
+AUX libsidplay-2.1.1-fbsd.patch 333 SHA256 0372eddc43f6f2528aa9b51c4b65ddf7bec45e949a5d4a5063143ba4e5fd0a13 SHA512 bb2f7f16a4932e49efa7353c4d13d4f50f226fe8dcd4ba2fd3eba0ddb5e7a967aef3fadf0c2c919cf10007b3d0c79deeb7f52c088b1843849223296a057a4f7c WHIRLPOOL 10a9048bd97de29f5cedaeca6f53a0a9fe560eeec4f16641e4083707b0290457b8fb81b940e9ce04526f88a087e5bc88f29b78370e6d76ce62bb5b4439a25dec
+AUX libsidplay-2.1.1-gcc41.patch 1063 SHA256 253ee8ca2f17d5f702616de33369d15b8be04f6bb2558a60415c72de64db0877 SHA512 f27ec81273af62271903102f87f904c8031e1b7fef963714e8a4479ac4227ea9b881843782ced003b80461ec3e07d9be3f2d0e2ecb5ab38c73a8a2bd4e8cda72 WHIRLPOOL feb2cf73e2d570e3246929d0ec21432ca744f024dc0be17a4386cac4faef6c64959c6d072a9c19b68c92ea29654e2688f3576f35a120896a7103378f04bf2f87
+AUX libsidplay-2.1.1-gcc43.patch 2057 SHA256 41ac8bebc966044ffaa5c1baf5bfe3b39c1967c706a3e7d27ef088c6bbea7cf3 SHA512 77078813d4862628372bf1293747c38d55811cc4c68ef3001252a520a89d83a91e1ba102f861825bb534039c4811bb8bbbea2e47609b5762ad2353477561d9ce WHIRLPOOL 39e8d3ea6445315b664ee86c103175cf5ad1c0083a05e929c8cc8729bcc3005446bf69454bed4c504990771d74fc32791aed26f0f0817edce9ca618c98179b80
+AUX libsidplay-2.1.1-no_libtool_reference.patch 558 SHA256 da3e9a251dc104d6463fef74b8398fcddeccc30b1f014be9077f4eb023b15926 SHA512 826531798593a0e597d2a8a310da584e0097256fe580f7858aa84d9be70f77e1a0b0f9af7e6c94a91602e73f9aff6197f10f2a22ecf1f6fce85ce1f408e04b86 WHIRLPOOL da3fe8effc9548cf930a91c453ab985c5a420abd8893c07cf09a26e9fdcc3cf4656561d2ac9d32e826c05f8871f88853fa334a3f1c9a94f8a6bfa7c0bbe02b92
+DIST libsidplay-1.36.59.tgz 390097 SHA256 3da9b38d4eb5bf9e936b9604ba92da0594ef38047d50cf806a8e11c400008024 SHA512 e7b0859e1389683d3e6aad7040b78ba37bb0a393c85f68ddb8a064371f978b34cc2e951ec564fa1117d12885cd976d10b02937e132d9a11badecd8652cf4d410 WHIRLPOOL 121e985c861454c8755c4c6fe8066936bc0149c89ca9197ee23d03657f4e87b48e8f1e2c9e26202b04a1291746782be62cff86f16384ce9a9a50f885af9f4279
+DIST sidplay-libs-2.1.1.tar.gz 1900252 SHA256 e9a24ada48215a46d2c232a70c5601bc9505e997f120e8f2ba3713e09e28d1f9 SHA512 754cd41f3d2d76754049522c395022bc090f99ea838e6d1ffb8d7689f3aedad9b3879be0312d0af49ba108563296c1176d1e533d1151d5b33368bfda0a1910e3 WHIRLPOOL 53b4bd66bbac0bfc29514981f34e19fac41bae356d06e727f3a0f2ad2bedcb1cd815d22656bcf06460e9d908a91433bbdea029805af43b1cd97310f230f1c89c
+EBUILD libsidplay-1.36.59-r1.ebuild 828 SHA256 971ecc2c56220ce7860345553016d46affea606e474fea2b322edfa0b800c8ea SHA512 c26f2a40f0de6918e22c90682484cac1e08c03b764859596f4d05fb0df63eeb7c6a1e9415d70e7fe219cbe43ecbc2d50374741292c290852caaa626f32dae315 WHIRLPOOL 9cb73ff43a0b5151160d1cb0ab8b0e25a67d477793f1eb0f7dfb366ab1bf3f20746f4e298a0ab57f027d0d65710c33455cd4c54c723507e498b41fb25d281592
+EBUILD libsidplay-1.36.59-r2.ebuild 777 SHA256 2ab5c928fb5c09270b470d2e6e840b1dbba71e522b03757b01edd36f34ae0946 SHA512 7268a915c835c7797016231becbc7528450803499271ee798069655ff9f3b152b804f54357ce392b938ce94be01a367abceb92c6118de135d7b53c5c18da5849 WHIRLPOOL affd744341204ff198fd1f61f9ae8ac28b5c218b0948d46cf291e0180e5350e4924ed14736ad667095d7b8fbfe14c2b9fcd4e54a180b01451a22e08afa147e22
+EBUILD libsidplay-2.1.1-r4.ebuild 1306 SHA256 249398e10eec106a4446e2553706ffa29446f7066c7842e4ef70b9f7a7bf1386 SHA512 c6eda0b230c217b3dc300810f974cb12804f6dc2785243dad68993b2e2ea094c0cf329f7be70d8abf3af6f2d6d493b1b2d6404095382480ab1f9a38fa8b43478 WHIRLPOOL b0c89e18a2f4d77ef7ef498526059924b657d6e36cbc96bf167892bb4649dc6b5e6dbb61484d06b6bdff1e074b398c622d228de663bf52d1f2ed661693f0521e
+MISC ChangeLog 2706 SHA256 612e6b82838bc73bb469f9800dd3c0f0c5f9de2011fc4c1c698b6bf53343184d SHA512 067b228ea2139e394bbe0be1b385d67581f3e26d87db5211eac26a35bd482bfd2c68ea7862dacf761caa1bfe547a4bffceaea38689c2310234a6c2b271ffe4cb WHIRLPOOL 51c6495a433865d3a1eb2213a2f10cfebd7fbb063e41cea37dc16bebc0f790f9887f82788470d574ef6aee478701ee6ccd316333a04b9317a771b04f07e12efc
+MISC ChangeLog-2015 8812 SHA256 1d50d5e87a00f3d19fb78141a7de8ebbc2a20380bcdcd7c2a7be4ee82cf1afa8 SHA512 557c317bccb2faf698e5a7bccf0f41b0d7376b0c14cc177ca321282cded6a441da7d31e3682c81cbc7e0aacedff4711684a0100bca614d91061622a84d8206e2 WHIRLPOOL 61303f97477701df0761fb08dee999b4515aab340a3c89e095d62d2294b613fbf96353b690e604374b949ecf66e58b6a4f90304b92637d33cb2b8e15c3192db1
+MISC metadata.xml 294 SHA256 8e19fe951a16773f673859cdaf16f4915b2d3c3d0a5153e64d43ac4435364f82 SHA512 f2ca3b91c3f0f046bc5fd9eafb91a8acfa5a7987d0db24a6e1e6b79bb54a4a466f660953699ca4a84d500a42542e403e12523220e881a466d54b4ea6a4508998 WHIRLPOOL c626a905379736b6e77aa224f7dcbdfae448eab3798bfce0dfa7109ba0cc30627204c09b579d4a03423380da06ecb42cd3ae7cfd67a6d9afd57be7e6fd7f550d
diff --git a/media-libs/libsidplay/files/65resid b/media-libs/libsidplay/files/65resid
new file mode 100644
index 000000000000..d534fb9286ec
--- /dev/null
+++ b/media-libs/libsidplay/files/65resid
@@ -0,0 +1 @@
+LDPATH="/usr/lib64/sidplay/builders:/usr/lib/sidplay/builders"
diff --git a/media-libs/libsidplay/files/libsidplay-1.36.59-fix-c++14.patch b/media-libs/libsidplay/files/libsidplay-1.36.59-fix-c++14.patch
new file mode 100644
index 000000000000..6e7cc66400d8
--- /dev/null
+++ b/media-libs/libsidplay/files/libsidplay-1.36.59-fix-c++14.patch
@@ -0,0 +1,28 @@
+Description: use unsigned char to keep int value
+ Use unsigned char to keep all bits of int values in the array.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Bug-Debian: https://bugs.debian.org/811762
+Last-Update: 2016-07-16
+
+---
+
+--- a/src/samples.cpp
++++ b/src/samples.cpp
+@@ -75,7 +75,7 @@ struct sampleChannel
+ sampleChannel ch4, ch5;
+
+
+-const sbyte galwayNoiseTab1[16] =
++const ubyte galwayNoiseTab1[16] =
+ {
+ 0x80,0x91,0xa2,0xb3,0xc4,0xd5,0xe6,0xf7,
+ 0x08,0x19,0x2a,0x3b,0x4c,0x5d,0x6e,0x7f
+@@ -84,7 +84,7 @@ const sbyte galwayNoiseTab1[16] =
+ ubyte galwayNoiseVolTab[16];
+ sbyte galwayNoiseSamTab[16];
+
+-const sbyte sampleConvertTab[16] =
++const ubyte sampleConvertTab[16] =
+ {
+ // 0x81,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff,
+ // 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x7f
diff --git a/media-libs/libsidplay/files/libsidplay-1.36.59-gcc43.patch b/media-libs/libsidplay/files/libsidplay-1.36.59-gcc43.patch
new file mode 100644
index 000000000000..f1fcc41cca55
--- /dev/null
+++ b/media-libs/libsidplay/files/libsidplay-1.36.59-gcc43.patch
@@ -0,0 +1,38 @@
+--- a/src/sidtune.cpp
++++ b/src/sidtune.cpp
+@@ -306,11 +306,7 @@ udword sidTune::loadFile(const char* fileName, ubyte** bufferRef)
+ return 0;
+ }
+ // Open binary input file stream at end of file.
+-#if defined(SID_HAVE_IOS_BIN)
+- ifstream myIn( fileName, ios::in|ios::bin|ios::ate );
+-#else
+ ifstream myIn( fileName, ios::in|ios::binary|ios::ate );
+-#endif
+ // As a replacement for !is_open(), bad() and the NOT-operator
+ // don't seem to work on all systems.
+ #if defined(SID_DONT_HAVE_IS_OPEN)
+@@ -972,11 +968,7 @@ bool sidTune::saveC64dataFile( const char* fileName, bool overWriteFlag )
+ }
+ // Open binary output file stream.
+ else
+-#if defined(SID_HAVE_IOS_BIN)
+- fMyOut.open( fileName, ios::out|ios::bin|ios::trunc );
+-#else
+ fMyOut.open( fileName, ios::out|ios::binary|ios::trunc );
+-#endif
+ if ( !fMyOut )
+ {
+ info.statusString = text_cantCreateFile;
+@@ -1061,11 +1053,7 @@ bool sidTune::savePSIDfile( const char* fileName, bool overWriteFlag )
+ }
+ // Open binary output file stream.
+ else
+-#if defined(SID_HAVE_IOS_BIN)
+- fMyOut.open( fileName, ios::out|ios::bin|ios::trunc );
+-#else
+ fMyOut.open( fileName, ios::out|ios::binary|ios::trunc );
+-#endif
+ if ( !fMyOut )
+ {
+ info.statusString = text_cantCreateFile;
diff --git a/media-libs/libsidplay/files/libsidplay-2.1.1-fbsd.patch b/media-libs/libsidplay/files/libsidplay-2.1.1-fbsd.patch
new file mode 100644
index 000000000000..0f4740e3856f
--- /dev/null
+++ b/media-libs/libsidplay/files/libsidplay-2.1.1-fbsd.patch
@@ -0,0 +1,11 @@
+--- a/libsidutils/src/ini/ini.cpp
++++ b/libsidutils/src/ini/ini.cpp
+@@ -100,7 +100,7 @@
+ //*******************************************************************************************************************
+ #include <assert.h>
+ #include <ctype.h>
+-#include <malloc.h>
++#include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
+
diff --git a/media-libs/libsidplay/files/libsidplay-2.1.1-gcc41.patch b/media-libs/libsidplay/files/libsidplay-2.1.1-gcc41.patch
new file mode 100644
index 000000000000..c05f8d3e60e3
--- /dev/null
+++ b/media-libs/libsidplay/files/libsidplay-2.1.1-gcc41.patch
@@ -0,0 +1,37 @@
+--- a/libsidplay/include/sidplay/SmartPtr.h
++++ b/libsidplay/include/sidplay/SmartPtr.h
+@@ -211,16 +211,16 @@
+ {
+ if ( bufferLen >= 1 )
+ {
+- pBufCurrent = ( bufBegin = buffer );
+- bufEnd = bufBegin + bufferLen;
+- bufLen = bufferLen;
+- status = true;
++ this->pBufCurrent = ( this->bufBegin = buffer );
++ this->bufEnd = this->bufBegin + bufferLen;
++ this->bufLen = bufferLen;
++ this->status = true;
+ }
+ else
+ {
+- pBufCurrent = bufBegin = bufEnd = 0;
+- bufLen = 0;
+- status = false;
++ this->pBufCurrent = this->bufBegin = this->bufEnd = 0;
++ this->bufLen = 0;
++ this->status = false;
+ }
+ }
+ };
+--- a/libsidutils/include/sidplay/utils/SidUsage.h
++++ b/libsidutils/include/sidplay/utils/SidUsage.h
+@@ -33,7 +33,7 @@
+ uint_least16_t length; // usage scan length
+
+ // Copy common parts of basic usage to extended usage.
+- sid2_usage_t &sid2_usage_t::operator= (const sid_usage_t &usage)
++ sid2_usage_t &operator= (const sid_usage_t &usage)
+ {
+ *((sid_usage_t *) this) = usage;
+ return *this;
diff --git a/media-libs/libsidplay/files/libsidplay-2.1.1-gcc43.patch b/media-libs/libsidplay/files/libsidplay-2.1.1-gcc43.patch
new file mode 100644
index 000000000000..419b126a1d8e
--- /dev/null
+++ b/media-libs/libsidplay/files/libsidplay-2.1.1-gcc43.patch
@@ -0,0 +1,69 @@
+--- a/builders/resid-builder/src/resid.cpp
++++ b/builders/resid-builder/src/resid.cpp
+@@ -16,6 +16,8 @@
+ * *
+ ***************************************************************************/
+
++#include <cstring>
++
+ #include "config.h"
+
+ #ifdef HAVE_EXCEPTIONS
+--- a/builders/resid-builder/src/resid-builder.cpp
++++ b/builders/resid-builder/src/resid-builder.cpp
+@@ -37,6 +37,7 @@
+ ***************************************************************************/
+
+ #include <stdio.h>
++#include <cstring>
+
+ #include "config.h"
+ #ifdef HAVE_EXCEPTIONS
+--- a/builders/hardsid-builder/src/hardsid-builder.cpp
++++ b/builders/hardsid-builder/src/hardsid-builder.cpp
+@@ -47,6 +47,7 @@
+ ***************************************************************************/
+
+ #include <stdio.h>
++#include <cstring>
+ #include "config.h"
+
+ #ifdef HAVE_EXCEPTIONS
+--- a/libsidplay/src/sidtune/SidTune.cpp
++++ b/libsidplay/src/sidtune/SidTune.cpp
+@@ -283,7 +283,7 @@
+ uint_least32_t fileLen = 0;
+
+ // This sucks big time
+- openmode createAtrr = std::ios::in;
++ std::_Ios_Openmode createAtrr = std::ios::in;
+ #ifdef HAVE_IOS_NOCREATE
+ createAtrr |= std::ios::nocreate;
+ #endif
+@@ -952,7 +952,7 @@
+ if ( status )
+ {
+ // Open binary output file stream.
+- openmode createAttr = std::ios::out;
++ std::_Ios_Openmode createAttr = std::ios::out;
+ #if defined(HAVE_IOS_BIN)
+ createAttr |= std::ios::bin;
+ #else
+@@ -1002,7 +1002,7 @@
+ if ( status )
+ {
+ // Open ASCII output file stream.
+- openmode createAttr = std::ios::out;
++ std::_Ios_Openmode createAttr = std::ios::out;
+ if ( overWriteFlag )
+ createAttr |= std::ios::trunc;
+ else
+@@ -1036,7 +1036,7 @@
+ if ( status )
+ {
+ // Open binary output file stream.
+- openmode createAttr = std::ios::out;
++ std::_Ios_Openmode createAttr = std::ios::out;
+ #if defined(HAVE_IOS_BIN)
+ createAttr |= std::ios::bin;
+ #else
diff --git a/media-libs/libsidplay/files/libsidplay-2.1.1-no_libtool_reference.patch b/media-libs/libsidplay/files/libsidplay-2.1.1-no_libtool_reference.patch
new file mode 100644
index 000000000000..c93f3cfba29b
--- /dev/null
+++ b/media-libs/libsidplay/files/libsidplay-2.1.1-no_libtool_reference.patch
@@ -0,0 +1,18 @@
+--- a/libsidplay/unix/libsidplay2.pc.in
++++ b/libsidplay/unix/libsidplay2.pc.in
+@@ -7,5 +7,5 @@
+ Name: @PACKAGE@
+ Description: C64 cycle exact stereo sidplayer library.
+ Version: @VERSION@
+-Libs: ${libdir}/libsidplay2.la
++Libs: -lsidplay2
+ Cflags: -DHAVE_UNIX -I${includedir}
+--- a/libsidutils/unix/libsidutils.pc.in
++++ b/libsidutils/unix/libsidutils.pc.in
+@@ -6,5 +6,5 @@
+ Name: @PACKAGE@
+ Description: Utils for supporting the libsidplay2 library.
+ Version: @VERSION@
+-Libs: ${libdir}/libsidutils.la
++Libs: -lsidutils
+ Cflags: -DHAVE_UNIX -I${includedir}
diff --git a/media-libs/libsidplay/libsidplay-1.36.59-r1.ebuild b/media-libs/libsidplay/libsidplay-1.36.59-r1.ebuild
new file mode 100644
index 000000000000..ed384559ae11
--- /dev/null
+++ b/media-libs/libsidplay/libsidplay-1.36.59-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit eutils libtool multilib-minimal
+
+DESCRIPTION="C64 SID player library"
+HOMEPAGE="http://critical.ch/distfiles/"
+SRC_URI="http://critical.ch/distfiles/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="1"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="static-libs"
+RDEPEND="abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r6
+ !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )"
+
+DOCS=( AUTHORS DEVELOPER )
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gcc43.patch
+ elibtoolize # required for fbsd .so versioning
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" \
+ econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ prune_libtool_files --all
+ einstalldocs
+}
diff --git a/media-libs/libsidplay/libsidplay-1.36.59-r2.ebuild b/media-libs/libsidplay/libsidplay-1.36.59-r2.ebuild
new file mode 100644
index 000000000000..d15ef89bc8f5
--- /dev/null
+++ b/media-libs/libsidplay/libsidplay-1.36.59-r2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit libtool multilib-minimal
+
+DESCRIPTION="C64 SID player library"
+HOMEPAGE="http://critical.ch/distfiles/"
+SRC_URI="http://critical.ch/distfiles/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="static-libs"
+DEPEND=""
+RDEPEND=""
+
+DOCS=( AUTHORS DEVELOPER )
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc43.patch
+ "${FILESDIR}"/${P}-fix-c++14.patch
+)
+
+src_prepare() {
+ default
+ elibtoolize # required for fbsd .so versioning
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" \
+ econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/media-libs/libsidplay/libsidplay-2.1.1-r4.ebuild b/media-libs/libsidplay/libsidplay-2.1.1-r4.ebuild
new file mode 100644
index 000000000000..202222f47504
--- /dev/null
+++ b/media-libs/libsidplay/libsidplay-2.1.1-r4.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit eutils libtool multilib-minimal
+
+MY_P=sidplay-libs-${PV}
+
+DESCRIPTION="C64 SID player library"
+HOMEPAGE="http://sidplay2.sourceforge.net/"
+SRC_URI="mirror://sourceforge/sidplay2/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="2"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static-libs"
+RDEPEND="abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r6
+ !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )"
+
+S=${WORKDIR}/${MY_P}
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/sidplay/sidconfig.h
+)
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-gcc41.patch \
+ "${FILESDIR}"/${P}-fbsd.patch \
+ "${FILESDIR}"/${P}-gcc43.patch \
+ "${FILESDIR}"/${P}-no_libtool_reference.patch
+
+ elibtoolize
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ econf \
+ --enable-shared \
+ $(use_enable static-libs static) \
+ --with-pic
+}
+
+multilib_src_install_all() {
+ docinto libsidplay
+ dodoc libsidplay/{AUTHORS,ChangeLog,README,TODO}
+
+ docinto libsidutils
+ dodoc libsidutils/{AUTHORS,ChangeLog,README,TODO}
+
+ docinto resid
+ dodoc resid/{AUTHORS,ChangeLog,NEWS,README,THANKS,TODO}
+
+ doenvd "${FILESDIR}"/65resid
+
+ prune_libtool_files --all
+}
diff --git a/media-libs/libsidplay/metadata.xml b/media-libs/libsidplay/metadata.xml
new file mode 100644
index 000000000000..eec7feaae82e
--- /dev/null
+++ b/media-libs/libsidplay/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>hanno@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">sidplay2</remote-id>
+ </upstream>
+</pkgmetadata>