summaryrefslogtreecommitdiff
path: root/media-video/projectx
diff options
context:
space:
mode:
authorPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
committerPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
commitecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch)
treeb89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /media-video/projectx
parent1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff)
downloadbaldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip
Updating liguros repo
Diffstat (limited to 'media-video/projectx')
-rw-r--r--media-video/projectx/Manifest4
-rw-r--r--media-video/projectx/files/build-0.91.0.10.xml77
-rw-r--r--media-video/projectx/files/projectx-0.91.0.10-bl2.patch15
-rw-r--r--media-video/projectx/files/projectx-0.91.0.10-idctfast.patch37
-rw-r--r--media-video/projectx/files/projectx-0.91.0.10-stdout-corrupt.patch11
-rw-r--r--media-video/projectx/files/projectx-0.91.0.10-xdg.patch44
-rw-r--r--media-video/projectx/metadata.xml22
-rw-r--r--media-video/projectx/projectx-0.91.0.10-r2.ebuild134
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..2b46414fb71f
--- /dev/null
+++ b/media-video/projectx/Manifest
@@ -0,0 +1,4 @@
+DIST projectx-0.91.0.10.tar.xz 830104 BLAKE2B 511481dd2c391a6a26acfa0603f1c221d013d334593cf8ce6da0cf09505387424e58772705e17f9e90da546c43ce5aad313723aafd36063c5cd4a46d93634f86 SHA512 681dae4fd368a00a7ada37f8e64271c838a9c3737008b6fcd7f74679ca9fdf2cce140b0627a4c77a9a00baea76659bad0d2d710511b66026f9597ad153a2e725
+DIST projectx-icon.png 1692 BLAKE2B 6da85b69961b81f64638b04860b467e8cf599287513d85157aa71e4575003b8ef6e96cbe4b0b40b54bb15b6ca74c14f4bf1855c80f1f6db89294567a77f9e151 SHA512 33d9e505140d2dd22d34f87ebff040530130bbb7d1e9958d7345f442bd3d6e17dff8d243e22f374217aed20139871e406e46ca6f03ca48eb338dc3630af2417a
+DIST projectx-idctfast.tar.xz 12444 BLAKE2B e4b2a6ab235601dbdd1acf8a73a14fecb5da455670bad52598e0dbd8a7300305fad1b22b3d550dd046dcac68975af4b225e042f7c968ce9108f702d01586302f SHA512 85dd6dd0011c166aaefd47a47c4455dda68ba6da65c9eda5a996f7d078ce3900168714c0c72c6250f7b99181fda84c6d81e3afb392ace9c12c3c5690de01c1d8
+DIST xdg-20100731.java.xz 648 BLAKE2B 8bd082c445d64051c65c66e8a22b61e582d04f1f650e3b15ee2f3400d47b10f137d245bd8a7633d96299e2c688f7bf836b59a4dd49ea3c181684a78fa55304c3 SHA512 8b5d8e695f3f052f889002dc93742da8ba9eada173cb10ad1db525e1ad89d1c8f44200d79dc02068ccf93fdbf2e8daa5bb359dae77bacbc89cb6d4895732774b
diff --git a/media-video/projectx/files/build-0.91.0.10.xml b/media-video/projectx/files/build-0.91.0.10.xml
new file mode 100644
index 000000000000..f35638733b13
--- /dev/null
+++ b/media-video/projectx/files/build-0.91.0.10.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.91.0.10-bl2.patch b/media-video/projectx/files/projectx-0.91.0.10-bl2.patch
new file mode 100644
index 000000000000..3799c15e19cb
--- /dev/null
+++ b/media-video/projectx/files/projectx-0.91.0.10-bl2.patch
@@ -0,0 +1,15 @@
+--- Project-X/src/net/sourceforge/dvb/projectx/gui/Html.java 2006-11-25 22:28:52.000000000 +0100
++++ Project-X/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.91.0.10-idctfast.patch b/media-video/projectx/files/projectx-0.91.0.10-idctfast.patch
new file mode 100644
index 000000000000..84b7893c835f
--- /dev/null
+++ b/media-video/projectx/files/projectx-0.91.0.10-idctfast.patch
@@ -0,0 +1,37 @@
+--- Project-X/src/net/sourceforge/dvb/projectx/video/MpvDecoder.java 2009-12-31 15:24:13.000000000 +0100
++++ Project-X/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;
+ }
+
+@@ -2407,7 +2407,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.91.0.10-stdout-corrupt.patch b/media-video/projectx/files/projectx-0.91.0.10-stdout-corrupt.patch
new file mode 100644
index 000000000000..7ea802019793
--- /dev/null
+++ b/media-video/projectx/files/projectx-0.91.0.10-stdout-corrupt.patch
@@ -0,0 +1,11 @@
+--- Project-X/src/net/sourceforge/dvb/projectx/common/GuiInterface.java 2008-12-04 01:47:03.000000000 +0100
++++ Project-X/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.91.0.10-xdg.patch b/media-video/projectx/files/projectx-0.91.0.10-xdg.patch
new file mode 100644
index 000000000000..fcb8b0e67e39
--- /dev/null
+++ b/media-video/projectx/files/projectx-0.91.0.10-xdg.patch
@@ -0,0 +1,44 @@
+--- Project-X/src/net/sourceforge/dvb/projectx/common/Settings.java 2008-02-18 19:34:48.000000000 +0100
++++ Project-X/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..c2b0944ee0ea
--- /dev/null
+++ b/media-video/projectx/metadata.xml
@@ -0,0 +1,22 @@
+<?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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/media-video/projectx/projectx-0.91.0.10-r2.ebuild b/media-video/projectx/projectx-0.91.0.10-r2.ebuild
new file mode 100644
index 000000000000..9dc9a50eaad6
--- /dev/null
+++ b/media-video/projectx/projectx-0.91.0.10-r2.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+JAVA_PKG_IUSE="doc source"
+
+inherit desktop eutils java-pkg-2 java-ant-2 toolchain-funcs xdg
+
+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
+ https://dev.gentoo.org/~billie/distfiles/${PN}-idctfast.tar.xz
+ https://dev.gentoo.org/~billie/distfiles/${XDG_P}.java.xz
+ https://dev.gentoo.org/~billie/distfiles/${PN}-icon.png"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+IUSE="X cpu_flags_x86_mmx cpu_flags_x86_sse"
+
+COMMON_DEPEND="
+ dev-java/commons-net:0
+ X? ( dev-java/browserlauncher2:1.0 )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jre-1.5
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jdk-1.5
+ app-arch/xz-utils
+ virtual/libiconv
+"
+
+S="${WORKDIR}/Project-X"
+
+mainclass() {
+ # read Main-Class from MANIFEST.MF
+ sed -n "s/^Main-Class: \([^ ]\+\).*/\1/p" "${S}/MANIFEST.MF" || die
+}
+
+src_prepare() {
+ default
+
+ xdg_environment_reset
+
+ local X
+
+ # apply stdout corruption patch (zzam@gentoo.org)
+ eapply "${FILESDIR}/${PN}-0.91.0.10-stdout-corrupt.patch"
+
+ # apply BrowserLauncher2 patch
+ use X && eapply "${FILESDIR}/${PN}-0.91.0.10-bl2.patch"
+ rm -rf src/edu || die
+
+ # apply IDCTFast patch
+ eapply "${FILESDIR}/${PN}-0.91.0.10-idctfast.patch"
+
+ # apply XDG patch
+ cp -f "${WORKDIR}/${XDG_P}.java" "${S}/src/xdg.java" || die
+ eapply "${FILESDIR}/${PN}-0.91.0.10-xdg.patch"
+
+ # copy build.xml
+ cp -f "${FILESDIR}/build-0.91.0.10.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
+}