dev-libs/spsdeclib: New package
authorConrad Kostecki <conrad@kostecki.com>
Tue, 19 Jun 2018 17:57:15 +0000 (19:57 +0200)
committerMichał Górny <mgorny@gentoo.org>
Tue, 19 Jun 2018 18:58:05 +0000 (20:58 +0200)
Closes: https://bugs.gentoo.org/651480
Closes: https://github.com/gentoo/gentoo/pull/7612
Package-Manager: Portage-2.3.40, Repoman-2.3.9

dev-libs/spsdeclib/Manifest [new file with mode: 0644]
dev-libs/spsdeclib/files/add_symlink.patch [new file with mode: 0644]
dev-libs/spsdeclib/metadata.xml [new file with mode: 0644]
dev-libs/spsdeclib/spsdeclib-5.1.ebuild [new file with mode: 0644]

diff --git a/dev-libs/spsdeclib/Manifest b/dev-libs/spsdeclib/Manifest
new file mode 100644 (file)
index 0000000..5129ff3
--- /dev/null
@@ -0,0 +1 @@
+DIST spsdeclib_5.1_source.zip 282236 BLAKE2B 6f37a3f0791baf9ca7a6bb3532be4cd7bcf90cdc2fc51def4d5daf4419c6b8c08aef87275555f359394e37e5ab6cf34d1e4903bea542ff99f7dc317238dd52b7 SHA512 26db037096c7c98c1af800577ce298c6b572541f665b512e80c6268818075d3c46d296b282268bd27a73a34f4063607ae8dd9d6d7a9301c441eb9cfce780f439
diff --git a/dev-libs/spsdeclib/files/add_symlink.patch b/dev-libs/spsdeclib/files/add_symlink.patch
new file mode 100644 (file)
index 0000000..1de74ca
--- /dev/null
@@ -0,0 +1,16 @@
+--- a/Makefile.in      2014-06-17 22:55:04.000000000 +0200
++++ b/Makefile.in      2018-01-07 04:07:07.865950231 +0100
+@@ -15,6 +15,8 @@
+ LIBS          = @LIB_LIBS@
+ LIBRARY               = @LIBRARY@
++SYMLINK1      = lib@PACKAGE@.so
++SYMLINK2      = lib@PACKAGE@.so.5
+ OBJECTS               = @EXTRA_OBJECTS@ ../Codec/CTRawCodec.o ../Codec/CTRawCodecDecompressor.o ../Codec/DiskEncoding.o ../Core/BaseFile.o ../Core/BitBuffer.o ../Core/CRC.o ../Core/DiskFile.o ../Core/MemoryFile.o CapsAPI.o CapsFDCEmulator.o CapsFile.o CapsFormatMFM.o CapsImage.o CapsImageStd.o CapsLoader.o DiskImage.o DiskImageFactory.o stdafx.o StreamCueImage.o StreamImage.o
+@@ -50,3 +52,4 @@
+ install:
+       install -d $(DESTDIR)$(libdir)
+       install $(LIBRARY) $(DESTDIR)$(libdir)/$(LIBRARY)
++      cd $(DESTDIR)$(libdir) && ln -sf $(SYMLINK2) ${SYMLINK1} && ln -sf $(LIBRARY) ${SYMLINK2}
diff --git a/dev-libs/spsdeclib/metadata.xml b/dev-libs/spsdeclib/metadata.xml
new file mode 100644 (file)
index 0000000..7159d99
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="person">
+               <email>ck+gentoo@bl4ckb0x.de</email>
+               <name>Conrad Kostecki</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>proxy-maint@gentoo.org</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
+       <longdescription>
+               The SPS decoder library will load IPF and CT Raw files in the emulator of your choice.
+               Kryofluxes <pkg>app-misc/dtc</pkg> also will need this.
+       </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/spsdeclib/spsdeclib-5.1.ebuild b/dev-libs/spsdeclib/spsdeclib-5.1.ebuild
new file mode 100644 (file)
index 0000000..22f948e
--- /dev/null
@@ -0,0 +1,43 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils
+
+DESCRIPTION="Kryoflux SPS Decoder Library"
+HOMEPAGE="https://www.kryoflux.com/"
+SRC_URI="https://www.kryoflux.com/download/${PN}_${PV}_source.zip"
+
+KEYWORDS="-* ~amd64 ~x86"
+LICENSE="Kryoflux-MAME"
+SLOT="0"
+
+DEPEND="app-arch/unzip"
+
+S="${WORKDIR}/capsimg_source_linux_macosx/CAPSImg"
+
+DOCS=( "${WORKDIR}/DONATIONS.txt" "${WORKDIR}/HISTORY.txt" "${WORKDIR}/RELEASE.txt" )
+
+PATCHES=( "${FILESDIR}"/add_symlink.patch )
+
+src_unpack() {
+       unpack ${A}
+
+       # Unpacked ZIP-file contains two ZIP files, use the one for Linux
+       unpack "${WORKDIR}"/capsimg_source_linux_macosx.zip
+}
+
+src_prepare() {
+       default
+
+       # Respect users CFLAGS and CXXFLAGS
+       sed -i -e 's/-g//' configure.in || die
+       sed -i -e 's/CXXFLAGS="${CFLAGS}/CXXFLAGS="${CXXFLAGS}/' configure.in || die
+
+       mv configure.in configure.ac || die
+       eautoconf
+
+       # Fix permissions, as configure is not marked executable
+       chmod +x configure || die
+}