summaryrefslogtreecommitdiff
path: root/media-video/projectx
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/projectx')
-rw-r--r--media-video/projectx/Manifest13
-rw-r--r--media-video/projectx/files/build-0.90.4.00_p33.xml77
-rw-r--r--media-video/projectx/files/projectx-0.90.4.00_p33-bl2.patch15
-rw-r--r--media-video/projectx/files/projectx-0.90.4.00_p33-idctfast.patch37
-rw-r--r--media-video/projectx/files/projectx-0.90.4.00_p33-stdout-corrupt.patch11
-rw-r--r--media-video/projectx/files/projectx-0.90.4.00_p33-xdg.patch44
-rw-r--r--media-video/projectx/metadata.xml21
-rw-r--r--media-video/projectx/projectx-0.91.0.10.ebuild126
8 files changed, 344 insertions, 0 deletions
diff --git a/media-video/projectx/Manifest b/media-video/projectx/Manifest
new file mode 100644
index 000000000000..660bcf26a6de
--- /dev/null
+++ b/media-video/projectx/Manifest
@@ -0,0 +1,13 @@
+AUX build-0.90.4.00_p33.xml 2026 SHA256 2fbce2f8fff686f705b41ba8e79754e76073c0f294a6ace9ef5720f37e7dd1fe SHA512 6fbe6fdb00f814c5fa72dc52542c3d9950ff4229939090161a208c0013ec0e2867ff6fc656249f2de68c58a26ef2bd059ffe767be1498318a8cb9eddadbb72ea WHIRLPOOL a424a622b14abde921a5eeb9eb462c97e453d58f222eef4dfe968f2b5b522687ea7819605f810032d6eeb93216fdd08eb43607ce9cb705700cfbeb553a679d32
+AUX projectx-0.90.4.00_p33-bl2.patch 515 SHA256 b54d4db6d0c3a25b38fae22d788f5dea45c037a9ff43dddee88e34a501d65425 SHA512 0538f36fed3bb26badea0e38d350717851395274d960b63469198c1ab6ac33e70eb517cbe5281017f8233237c7235eeff58842493476d536beb99727c623fde3 WHIRLPOOL 3a2758dd3ca73b7607b86a822608799b9536a59d97c04d7b6f9c68e5f25ba918b21413edaa7361bac4426001ab446a2a87870d88b9329d73632a60434c49d7b5
+AUX projectx-0.90.4.00_p33-idctfast.patch 1069 SHA256 ebf32d8d288d704cdcaf7333d0fd2768161418cfe423b79e74f1133ed8eb0708 SHA512 696241ab0589132a8286de50a384aff626275aad971429f6a7bef51d912cde31da03eb47f68a001479001cc31c33d1f1670a883900097f9c569e7f4fa4b395ae WHIRLPOOL 0beb2e5f8a07fec59044f14c8e38eea26d389400598876fc99868ca568a0f598e7bf8702436421a39f52ccfdb740c0a43e4d890f037466fa626c8b4233699c62
+AUX projectx-0.90.4.00_p33-stdout-corrupt.patch 358 SHA256 b0aca3638faab72fb9f4dca6341834d66f7e54c3960401fd094b0f740537a3a1 SHA512 b3d6a5c278929c6e6cd60c76a708b5df6cfa0f3772725ddcd6a9334aa5d91c3f2fefc9162381456f4594bd7ffdbf041177968feda82ca513dc9fbd53bc5b23ca WHIRLPOOL ddae3cc594810bb1c4a8b7a190410d721ab10de9e7dff6e99e98a3bacf0dddb47814215ef2b50d6ee3f3cdf0c99fa18f08c531144b8fdfeba296d92d44b66956
+AUX projectx-0.90.4.00_p33-xdg.patch 1062 SHA256 3cfe281805420ec64cec6b571c7db7a5e1f672b806bb9283f653b3a04c874f00 SHA512 661c2577d83845464ae1669b401780ddc312857292e97c962f8fe52463d543b920e66b8ce779193b4ffa66a522f771d78861606ad1f7c915f4ce51fdbeefb3a0 WHIRLPOOL eee95af4350665760ff82e3db5346daaec5e1dbaaab0c69a1dd075f3e57997d13f40b49e370157bf64e6e447aa0bc82779c25629eb9dadd69029a0e657eeb710
+DIST projectx-0.91.0.10.tar.xz 830104 SHA256 7650e4992773c53ea2fb552ee030da8cee62cba4ca63d0f32a4551551f31ad04 SHA512 681dae4fd368a00a7ada37f8e64271c838a9c3737008b6fcd7f74679ca9fdf2cce140b0627a4c77a9a00baea76659bad0d2d710511b66026f9597ad153a2e725 WHIRLPOOL ca5aab50ce4606bb8aee6500ecca3169b2fcd319436781e3da8f2b848e049df1d4daeb6b70cda8722c4d8f64ff1405aab31e70e33ae4b56716d39fdf1ec5d188
+DIST projectx-icon.png 1692 SHA256 0736e4320fbdb211a69e839b768175f18b0b2ef91636a9b382b4024a095dd4cf SHA512 33d9e505140d2dd22d34f87ebff040530130bbb7d1e9958d7345f442bd3d6e17dff8d243e22f374217aed20139871e406e46ca6f03ca48eb338dc3630af2417a WHIRLPOOL f88d7ab5cad4e5dfb893efbaafdc64a518a5f473115f9ef3e9f8a808f88ee71b22c6fbc6fc3a2e8a1885b2b9696ca0136c05d4f4d5cd513dacc6c4851c304f33
+DIST projectx-idctfast.tar.xz 12444 SHA256 d05b86b05c4924b434a6a9bb443c05d5421f6df7a2b19616a53ef1e4b4dada45 SHA512 85dd6dd0011c166aaefd47a47c4455dda68ba6da65c9eda5a996f7d078ce3900168714c0c72c6250f7b99181fda84c6d81e3afb392ace9c12c3c5690de01c1d8 WHIRLPOOL 0a44b37eaf79be8df356a6bc7bc1119bee151c6f7949a09f8b834bd785e242ffda907fbf36ff83e182249f450d835ad58cf3a81d6dceb404634cb01474ce908a
+DIST xdg-20100731.java.xz 648 SHA256 b6a189323fcc25ae5bebc006d870b4191a3bec34c80de7e337e5ed8a39f332c6 SHA512 8b5d8e695f3f052f889002dc93742da8ba9eada173cb10ad1db525e1ad89d1c8f44200d79dc02068ccf93fdbf2e8daa5bb359dae77bacbc89cb6d4895732774b WHIRLPOOL 8a79fe5a73fae9662f0c74d293dbbe43d034484601649f170232e1b79ad0bb337fa8a6b3160683839893cc9e83171ad77e645fc64724c75321b02ef9f47efc85
+EBUILD projectx-0.91.0.10.ebuild 3222 SHA256 f62f92f29fec35fc7128bbcf6e8c26bf1dc5450513a66dc7930fd99c21ace6ef SHA512 8ba93b3cb9bd02b79bb004dcb31741ca9b165650f5e9e3dcb704df4fca9c8f66b95f0bc307b54a0be6f417630579c6fb0ed89d14fb762433d5dd1481ebfc1009 WHIRLPOOL 304d90c3b551f2ef185d6d6b8afca8eda7dfab74307eb4fde868e4f6350d68533d735523f83b2f0eaef2c9befef0f0d6031f8bc6cf43bcdc0c2f2b306e113dc0
+MISC ChangeLog 3379 SHA256 4d3d9cab8b491a627a4336948286de33c869bfa83ef7485c71ff34f718355d91 SHA512 43ddcd757cf306d061987b93fbf74bde9c40b653989ee49da4478283d13dcfbbf2da15e263d8c82df6283f27923a02b5822d910c65907f8531e1b20449097db0 WHIRLPOOL c11fe5b1f05d76998110e589b1c8786182182727e01ab992c9ba7ef2642ce4352528d391e88d02531ffc974d6eb4eda0ef43bb83c744dff7674e16f7e9442eb6
+MISC ChangeLog-2015 11527 SHA256 26a298d35a83c0b35ead2278847c2bf82011d0404634e910daee66dc1ab7cd6e SHA512 017b8e71a632f88f4e046f8c8dc4fd9219869ee0113f1abde7983a8384aa8129d7ffa871d989c92755ceaede2a5495195628b1943b74138053a5a6265887338b WHIRLPOOL e009d15ae1f7d258fca03bd6a8544c1b43541c2ad6abf25e7f44e060ec0b7f3d04cd0db9c44cbfe72bdadd4df97ab909a355349e17ae762af6c6a1f2821b5ce5
+MISC metadata.xml 742 SHA256 3b772b61389bd44f5c2632abf39836c128a236ea58c42dce0f46eb8953bd6a4b SHA512 3a5546c1efbafa335ee5d05ff24c2b22f0f49d8944e242348bef9627ac5e72205d9bd3e697b3d89c7d0ef3e34d98fe19b58c021f41bcaff872c74373a6803341 WHIRLPOOL 93ad95ed34a89d57330800f2e493d32f2207dec1587ef77d1811cb4af8740cac5206e3b92ae1a5ce690b17276cfa47ececb0469309ab4b67d6a01620ea9fb297
diff --git a/media-video/projectx/files/build-0.90.4.00_p33.xml b/media-video/projectx/files/build-0.90.4.00_p33.xml
new file mode 100644
index 000000000000..f35638733b13
--- /dev/null
+++ b/media-video/projectx/files/build-0.90.4.00_p33.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+
+<project name="projectx" default="jar">
+ <!-- some properties -->
+ <property name="src.dir" value="src" />
+ <property name="build.dir" value="build" />
+ <property name="docs.dir" value="apidocs" />
+ <property name="dist.dir" value="dist" />
+ <property name="lib.dir" value="lib" />
+ <property name="resources.dir" value="resources" />
+ <property name="project.jar" value="${dist.dir}/${ant.project.name}.jar" />
+ <property name="target.jdk" value="1.5" />
+
+ <!-- classpath -->
+ <path id="refcp">
+ <fileset dir="${lib.dir}">
+ <include name="**/*.jar" />
+ </fileset>
+ </path>
+
+ <!-- init -->
+ <target name="init">
+ <mkdir dir="${dist.dir}" />
+ <mkdir dir="${docs.dir}" />
+ <mkdir dir="${build.dir}" />
+ </target>
+
+ <!-- compile everything -->
+ <target name="compile" depends="init">
+ <javac srcdir="${src.dir}"
+ destdir="${build.dir}"
+ source="${target.jdk}"
+ target="${target.jdk}"
+ classpathref="refcp"
+ encoding="ISO-8859-1"/>
+ <copy todir="${build.dir}">
+ <fileset dir="${resources.dir}" />
+ </copy>
+ </target>
+
+ <!-- build the jar files -->
+ <target name="build" depends="compile">
+ <jar jarfile="${project.jar}" basedir="${build.dir}">
+ <manifest>
+ <attribute name="Main-Class" value="${manifest.mainclass}" />
+ </manifest>
+ </jar>
+ </target>
+
+ <!-- generate javadocs -->
+ <target name="javadoc" depends="init">
+ <javadoc sourcepath="${src.dir}"
+ packagenames="*"
+ destdir="${docs.dir}"
+ author="true"
+ version="true"
+ use="true"
+ charset="UTF-8"
+ encoding="ISO-8859-1"
+ windowtitle="${ant.project.name} API" />
+ </target>
+
+ <!-- clean up -->
+ <target name="clean">
+ <delete dir="${build.dir}" />
+ <delete dir="${docs.dir}" />
+ <delete dir="${dist.dir}" />
+ </target>
+
+ <!-- zip the sources -->
+ <target name="sourcezip">
+ <zip destfile="${dist.dir}/${ant.project.name}-src.zip">
+ <zipfileset dir="${src.dir}" />
+ </zip>
+ </target>
+
+</project>
diff --git a/media-video/projectx/files/projectx-0.90.4.00_p33-bl2.patch b/media-video/projectx/files/projectx-0.90.4.00_p33-bl2.patch
new file mode 100644
index 000000000000..7c5b48263cec
--- /dev/null
+++ b/media-video/projectx/files/projectx-0.90.4.00_p33-bl2.patch
@@ -0,0 +1,15 @@
+--- src/net/sourceforge/dvb/projectx/gui/Html.java 2006-11-25 22:28:52.000000000 +0100
++++ src/net/sourceforge/dvb/projectx/gui/Html.java 2007-06-10 13:37:59.000000000 +0200
+@@ -159,9 +159,10 @@
+ {
+ try
+ {
+- BrowserLauncher.openURL(u.toString());
++ BrowserLauncher launcher = new BrowserLauncher();
++ launcher.openURLinBrowser(u.toString());
+ }
+- catch (IOException e)
++ catch (Exception e)
+ {
+ Common.setMessage(Resource.getString("msg.browser.launcher.error") + " " + e);
+ }
diff --git a/media-video/projectx/files/projectx-0.90.4.00_p33-idctfast.patch b/media-video/projectx/files/projectx-0.90.4.00_p33-idctfast.patch
new file mode 100644
index 000000000000..8421dd36ae94
--- /dev/null
+++ b/media-video/projectx/files/projectx-0.90.4.00_p33-idctfast.patch
@@ -0,0 +1,37 @@
+--- src/net/sourceforge/dvb/projectx/video/MpvDecoder.java 2009-12-31 15:24:13.000000000 +0100
++++ src/net/sourceforge/dvb/projectx/video/MpvDecoder.java 2010-07-31 14:32:19.945223425 +0200
+@@ -72,7 +72,7 @@
+
+ public class MpvDecoder extends Object {
+
+- private IDCTRefNative idct;
++ private IDCTFast idct;
+ private IDCTSseNative idctsse;
+
+ private int preview_horizontal_size = 512;
+@@ -134,13 +134,13 @@
+ {
+ Arrays.fill(pixels2, 0xFF505050);
+
+- idct = new IDCTRefNative();
++ idct = new IDCTFast();
+ idctsse = new IDCTSseNative();
+
+- if (IDCTRefNative.isLibraryLoaded())
++ if (IDCTFast.isLibraryLoaded())
+ idct.init();
+
+- if (IDCTRefNative.isLibraryLoaded() || IDCTSseNative.isLibraryLoaded())
++ if (IDCTFast.isLibraryLoaded() || IDCTSseNative.isLibraryLoaded())
+ acceleration = true;
+ }
+
+@@ -2399,7 +2399,7 @@
+ }
+ }
+
+- else if (IDCTRefNative.isLibraryLoaded() && isAccelerated())
++ else if (IDCTFast.isLibraryLoaded() && isAccelerated())
+ {
+ /* copy or add block data into picture */
+ for (comp=0; comp<block_count; comp++)
diff --git a/media-video/projectx/files/projectx-0.90.4.00_p33-stdout-corrupt.patch b/media-video/projectx/files/projectx-0.90.4.00_p33-stdout-corrupt.patch
new file mode 100644
index 000000000000..47f7d71c04cb
--- /dev/null
+++ b/media-video/projectx/files/projectx-0.90.4.00_p33-stdout-corrupt.patch
@@ -0,0 +1,11 @@
+--- src/net/sourceforge/dvb/projectx/common/GuiInterface.java 2008-12-04 01:47:03.000000000 +0100
++++ src/net/sourceforge/dvb/projectx/common/GuiInterface.java 2008-12-04 02:21:11.342918380 +0100
+@@ -190,7 +190,7 @@
+ impl.updateProgressBar(percent);
+
+ else
+- System.out.print("\r" + percent + " %");
++ System.out.print(percent + " %");
+ }
+
+ /**
diff --git a/media-video/projectx/files/projectx-0.90.4.00_p33-xdg.patch b/media-video/projectx/files/projectx-0.90.4.00_p33-xdg.patch
new file mode 100644
index 000000000000..1cb675af4ebb
--- /dev/null
+++ b/media-video/projectx/files/projectx-0.90.4.00_p33-xdg.patch
@@ -0,0 +1,44 @@
+--- src/net/sourceforge/dvb/projectx/common/Settings.java 2008-02-18 19:34:48.000000000 +0100
++++ src/net/sourceforge/dvb/projectx/common/Settings.java 2010-07-31 19:44:59.151224244 +0200
+@@ -46,6 +46,8 @@
+ import java.util.Set;
+ import java.util.TreeMap;
+
++import xdg.*;
++
+ import net.sourceforge.dvb.projectx.xinput.XInputDirectory;
+
+ /**
+@@ -56,7 +58,7 @@
+ public class Settings extends Object {
+
+ /** the default ini filename */
+- private static final String DEFAULT_INI = "X.ini";
++ private static final String DEFAULT_INI = "Project-X.ini";
+
+ /** the current ini filename */
+ private String inifile = "";
+@@ -75,7 +77,7 @@
+ */
+ public Settings()
+ {
+- this(Resource.workdir + Resource.filesep + DEFAULT_INI);
++ this(xdg.config_home() + Resource.filesep + DEFAULT_INI);
+ }
+
+ /**
+@@ -161,6 +163,7 @@
+ str = inifile;
+
+ try {
++ xdg.mkdirs_file(str);
+ PrintWriter w = new PrintWriter(new FileWriter(str));
+
+ String base_key = "# Project-X INI";
+@@ -714,4 +717,4 @@
+ return inifile;
+ }
+
+-}
+\ Kein Zeilenumbruch am Dateiende.
++}
diff --git a/media-video/projectx/metadata.xml b/media-video/projectx/metadata.xml
new file mode 100644
index 000000000000..fd8e5c95aa85
--- /dev/null
+++ b/media-video/projectx/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>billie@gentoo.org</email>
+ <name>Daniel Pielmeier</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>media-video@gentoo.org</email>
+ <name>Gentoo Video project</name>
+ </maintainer>
+ <longdescription lang="en">
+ European digital radio &amp; television uses the DVB standard to broadcast
+ its data. Project X gives you a look behind the transmissions and tries
+ its best to handle &amp; repair many stream types and shows what went
+ wrong on reception.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">project-x</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/media-video/projectx/projectx-0.91.0.10.ebuild b/media-video/projectx/projectx-0.91.0.10.ebuild
new file mode 100644
index 000000000000..fb44f2af60bd
--- /dev/null
+++ b/media-video/projectx/projectx-0.91.0.10.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+JAVA_PKG_IUSE="doc source"
+
+inherit eutils toolchain-funcs java-pkg-2 java-ant-2
+
+XDG_P="xdg-20100731"
+
+DESCRIPTION="Converts, splits and demuxes DVB and other MPEG recordings"
+HOMEPAGE="http://project-x.sourceforge.net/"
+SRC_URI="https://dev.gentoo.org/~billie/distfiles/${P}.tar.xz
+ http://sbriesen.de/gentoo/distfiles/${PN}-idctfast.tar.xz
+ http://sbriesen.de/gentoo/distfiles/${XDG_P}.java.xz
+ http://sbriesen.de/gentoo/distfiles/${PN}-icon.png"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+IUSE="X cpu_flags_x86_mmx cpu_flags_x86_sse"
+
+COMMON_DEP="dev-java/commons-net
+ X? ( =dev-java/browserlauncher2-1* )"
+
+RDEPEND=">=virtual/jre-1.5
+ ${COMMON_DEP}"
+
+DEPEND=">=virtual/jdk-1.5
+ app-arch/xz-utils
+ virtual/libiconv
+ ${COMMON_DEP}"
+
+S="${WORKDIR}/Project-X"
+
+mainclass() {
+ # read Main-Class from MANIFEST.MF
+ sed -n "s/^Main-Class: \([^ ]\+\).*/\1/p" "${S}/MANIFEST.MF" || die
+}
+
+java_prepare() {
+ local X
+
+ # apply stdout corruption patch (zzam@gentoo.org)
+ epatch "${FILESDIR}/${PN}-0.90.4.00_p33-stdout-corrupt.patch"
+
+ # apply BrowserLauncher2 patch
+ use X && epatch "${FILESDIR}/${PN}-0.90.4.00_p33-bl2.patch"
+ rm -rf src/edu || die
+
+ # apply IDCTFast patch
+ epatch "${FILESDIR}/${PN}-0.90.4.00_p33-idctfast.patch"
+
+ # apply XDG patch
+ cp -f "${WORKDIR}/${XDG_P}.java" "${S}/src/xdg.java" || die
+ epatch "${FILESDIR}/${PN}-0.90.4.00_p33-xdg.patch"
+
+ # copy build.xml
+ cp -f "${FILESDIR}/build-0.90.4.00_p33.xml" build.xml || die
+
+ # patch executable and icon
+ sed -i -e "s:^\(Exec=\).*:\1${PN}_gui:g" \
+ -e "s:^\(Icon=\).*:\1${PN}:g" *.desktop || die
+
+ # convert CRLF to LF
+ edos2unix *.txt MANIFEST.MF
+
+ # convert docs to utf-8
+ if [ -x "$(type -p iconv)" ]; then
+ for X in zutun.txt; do
+ iconv -f LATIN1 -t UTF8 -o "${X}~" "${X}" && mv -f "${X}~" "${X}" || die
+ done
+ fi
+
+ # merge/remove resources depending on USE="X"
+ if use X; then
+ mv -f htmls resources/ || die
+ else
+ rm -rf src/net/sourceforge/dvb/projectx/gui || die
+ rm resources/*.gif || die
+ fi
+
+ # update library packages
+ cd lib || die
+ rm -f {commons-net,jakarta-oro}*.jar || die
+ java-pkg_jar-from commons-net
+ use X && java-pkg_jar-from browserlauncher2-1.0
+ java-pkg_ensure-no-bundled-jars
+}
+
+src_compile() {
+ local IDCT="idct-mjpeg" # default IDCT implementation
+ if use x86 || use amd64; then
+ use cpu_flags_x86_mmx && IDCT="idct-mjpeg-mmx"
+ use cpu_flags_x86_sse && IDCT="idct-mjpeg-sse"
+ fi
+
+ eant build $(use_doc) -Dmanifest.mainclass=$(mainclass)
+
+ cd lib/PORTABLE || die
+ emake CC=$(tc-getCC) IDCT="${IDCT}" LDFLAGS="${LDFLAGS}" \
+ CPLAT="${CFLAGS} -O3 -ffast-math -fPIC"
+}
+
+src_install() {
+ java-pkg_dojar dist/${PN}.jar
+ java-pkg_doso lib/PORTABLE/libidctfast.so
+
+ java-pkg_dolauncher ${PN}_cli --main $(mainclass) \
+ --java_args "-Djava.awt.headless=true -Xmx256m"
+
+ if use X; then
+ java-pkg_dolauncher ${PN}_gui --main $(mainclass) \
+ --java_args "-Xmx256m"
+ dosym ${PN}_gui /usr/bin/${PN}
+ newicon "${DISTDIR}/${PN}-icon.png" "${PN}.png"
+ domenu *.desktop
+ else
+ dosym ${PN}_cli /usr/bin/${PN}
+ fi
+
+ dodoc *.txt
+ use doc && java-pkg_dojavadoc apidocs
+ use source && java-pkg_dosrc src
+}