summaryrefslogtreecommitdiff
path: root/app-cdr/bin2iso
diff options
context:
space:
mode:
Diffstat (limited to 'app-cdr/bin2iso')
-rw-r--r--app-cdr/bin2iso/Manifest4
-rw-r--r--app-cdr/bin2iso/bin2iso-19b-r2.ebuild28
-rw-r--r--app-cdr/bin2iso/files/bin2iso-19b-sanity-checks.patch30
-rw-r--r--app-cdr/bin2iso/metadata.xml9
4 files changed, 71 insertions, 0 deletions
diff --git a/app-cdr/bin2iso/Manifest b/app-cdr/bin2iso/Manifest
new file mode 100644
index 000000000000..524262e88f90
--- /dev/null
+++ b/app-cdr/bin2iso/Manifest
@@ -0,0 +1,4 @@
+AUX bin2iso-19b-sanity-checks.patch 903 BLAKE2B cdd4efb8e631114aa593dbbec3d4f6f0cc88b8c2dee30d138212269d86b55eaaef70d520c91a13bcb408b507a5020c51f1170d4cc5a237a412b3a113ad1e534e SHA512 cbeaf8e620bc54e531293cee179b94c63cb6e8925ac579d65d0f700013235d9da683af8f367f1687828d23c3aa6f6bd20196e2d4201593048ae0152baf7e26a3
+DIST bin2iso-19b.tar.bz2 9805 BLAKE2B 0800f00d4c67481e1fa4c681450ac4f7c5110aadb1f06e70219ac980590af6e37407c75c9e41d3189726922157af843d951461f19915e66da3a30eb2645d7379 SHA512 1f2dbde824ee32eb3be878bf1b96167d753a3f40eb0baf59f3c72907dcc6ce4c999c04d008efde5269dec306b6eab3dd2b15a18a81388c105545abd04e1769c5
+EBUILD bin2iso-19b-r2.ebuild 655 BLAKE2B 9a8eb4c7cba476324bfe564988d43c869277285d98f5f8c826b61d1aa7183cc443a5acec2bc13d2d2de807c2875368e82b71f454019fcacc8805bfedcdcc1063 SHA512 8f6c51bd162836ec0e7ddc482ef4908ccab8ce4887adf03284ea1c004dc5228c11db0d7c02153ef7aeaf96a38c8fad1a3ab388f2c83966ef2a0fad9a86f4d963
+MISC metadata.xml 294 BLAKE2B 0b315a1e4e53307837d80443e3fffa228f54ffcfc5dfbb1acc8d7a011f4c75b5e49bc638376724f21b242d4cff8030edb0c0c5f9131aad3d7b2b25e76c9fc5ba SHA512 b6fdc3ce5da8e1fdf502c3542820e10a75d054661376f8c75498e5b77f3f2f7ae1f939798661ec4235239ea261a4c9aaa1aa2a03beb6a496bc373ce794e766f5
diff --git a/app-cdr/bin2iso/bin2iso-19b-r2.ebuild b/app-cdr/bin2iso/bin2iso-19b-r2.ebuild
new file mode 100644
index 000000000000..7d565d3a1013
--- /dev/null
+++ b/app-cdr/bin2iso/bin2iso-19b-r2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="converts RAW format (.bin/.cue) files to ISO/WAV format"
+HOMEPAGE="http://users.andara.com/~doiron/bin2iso/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="alpha amd64 ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE=""
+
+S=${WORKDIR}/${PN}
+
+PATCHES=( "${FILESDIR}"/${P}-sanity-checks.patch )
+
+src_compile() {
+ $(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} bin2iso19b_linux.c -o ${PN} || die "compile failed"
+}
+
+src_install() {
+ dobin ${PN}
+ dodoc readme.txt
+}
diff --git a/app-cdr/bin2iso/files/bin2iso-19b-sanity-checks.patch b/app-cdr/bin2iso/files/bin2iso-19b-sanity-checks.patch
new file mode 100644
index 000000000000..43e3f4aae3b4
--- /dev/null
+++ b/app-cdr/bin2iso/files/bin2iso-19b-sanity-checks.patch
@@ -0,0 +1,30 @@
+Add more checks to prevent segfaults in ill-formatted files
+
+http://bugs.gentoo.org/show_bug.cgi?id=90540
+
+--- a/bin2iso19b_linux.c
++++ b/bin2iso19b_linux.c
+@@ -237,6 +237,10 @@
+ // Get the 'mode'
+ if (strncmp(&Line[2], "TRACK ", 6)==0)
+ {
++ if (Line[8] < '0' || Line[8] > '9' || Line[9] < '0' || Line[9] > '9') {
++ printf("Error: Track # is not a 2 digit number\n");
++ exit(1);
++ }
+ strncpy(track->num, &Line[8], 2); track->num[2] = '\0';
+
+ track->mode = UNKNOWN;
+@@ -246,7 +250,11 @@
+ if(strncmp(&Line[11], "MODE2/2352", 10)==0) track->mode = MODE2_2352;
+ if(strncmp(&Line[11], "MODE2/2336", 10)==0) track->mode = MODE2_2336;
+ }
+- else return(1);
++ else
++ {
++ printf("Error: 2nd line does not begin with ' TRACK '\n");
++ exit(1);
++ }
+
+ // Set the name
+ strcpy(track->name, sBinFilename);
diff --git a/app-cdr/bin2iso/metadata.xml b/app-cdr/bin2iso/metadata.xml
new file mode 100644
index 000000000000..4803f9252554
--- /dev/null
+++ b/app-cdr/bin2iso/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+<longdescription>
+Converts RAW format (.bin) files to ISO/WAV format and recovers .cue
+files from .bin ones
+</longdescription>
+</pkgmetadata>