commit:     ac82d8209635aa0c3eb4ec5eca8c7edccdcf3a38
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sat Mar 19 18:06:22 2022 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Thu Sep 21 06:44:08 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac82d820

media-video/jubler: add 7.0.3, update EAPI 6 -> 8

Bug: https://bugs.gentoo.org/753209
Bug: https://bugs.gentoo.org/831243
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/24907
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 media-video/jubler/Manifest                 |   1 +
 media-video/jubler/files/7.0.3-helpme.patch |  13 +++
 media-video/jubler/jubler-7.0.3.ebuild      | 151 ++++++++++++++++++++++++++++
 media-video/jubler/metadata.xml             |   4 +-
 4 files changed, 168 insertions(+), 1 deletion(-)

diff --git a/media-video/jubler/Manifest b/media-video/jubler/Manifest
index 05eb56e5bf4f..062d06115937 100644
--- a/media-video/jubler/Manifest
+++ b/media-video/jubler/Manifest
@@ -1 +1,2 @@
 DIST jubler-5.1.tar.bz2 1815531 BLAKE2B 
59f9c3c57b906a73e16b32841900ef16450758115d930e767bc4d63882ad2b8a35100a34057ab6bb353f4bea87cb4036e080d8d13a844ae4bfcae8bb361d5b18
 SHA512 
e2a0da737362a3c8dc12966aec1e9939291237fc714a586186b72daa16abf967c8fea8dac04fb191cb803aa11db20cf6d67468d2383f17f5c6114a643860acef
+DIST jubler-7.0.3.tar.gz 24201905 BLAKE2B 
9ac33ed8da3045944be32cc914aaa45ff0de3193aa1b699f144131f79a83c1932f1e74d730102c9227ef2a08a66efb1d50fb010cfc2e70c8678febd07eb1513d
 SHA512 
a1c6b8a33439f0206378e2792748b06a163fd8083714f18ca57940422c8a8730369925c21f377eb42b8b91ffcae81d5f0219f4c9fee814f8a2f60b51e2356726

diff --git a/media-video/jubler/files/7.0.3-helpme.patch 
b/media-video/jubler/files/7.0.3-helpme.patch
new file mode 100644
index 000000000000..ac0be65c5598
--- /dev/null
+++ b/media-video/jubler/files/7.0.3-helpme.patch
@@ -0,0 +1,13 @@
+--- a/modules/core/src/main/java/com/panayotis/jubler/os/SystemFileFinder.java
++++ b/modules/core/src/main/java/com/panayotis/jubler/os/SystemFileFinder.java
+@@ -65,7 +65,9 @@ public class SystemFileFinder {
+     }
+ 
+     private static boolean loadLibraryImpl(String name) {
+-        File libfile = findFile("lib" + File.separator + 
SystemDependent.mapLibraryName(name));
++      System.out.println("SystemDependent.mapLibraryName is " + 
SystemDependent.mapLibraryName(name));
++        File libfile = findFile(SystemDependent.mapLibraryName(name));
++      System.out.println("libfile is " + libfile);
+         if (libfile != null)
+             try {
+                 System.load(libfile.getAbsolutePath());

diff --git a/media-video/jubler/jubler-7.0.3.ebuild 
b/media-video/jubler/jubler-7.0.3.ebuild
new file mode 100644
index 000000000000..0b14f079e2b1
--- /dev/null
+++ b/media-video/jubler/jubler-7.0.3.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Skeleton command:
+# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri 
https://github.com/teras/Jubler/archive/v7.0.3.tar.gz --slot 0 --keywords 
"~amd64" --ebuild jubler-7.0.3.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.panayotis.jubler:project:7.0.3"
+
+inherit desktop java-pkg-2 java-pkg-simple toolchain-funcs xdg-utils
+
+DESCRIPTION="Jubler Subtitle Εditor"
+HOMEPAGE="https://www.jubler.org/";
+SRC_URI="https://github.com/teras/Jubler/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+CP_DEPEND="dev-java/appenh:0"
+
+DEPEND="${CP_DEPEND}
+       media-video/ffmpeg:0=
+       >=virtual/jdk-1.8:*"
+
+RDEPEND="${CP_DEPEND}
+       >=virtual/jre-1.8:*"
+
+JUBLER_MODULES=(
+       "jubler"
+       "appenhancer"
+       "aspell"
+       "basetextsubs"
+       "coretools"
+       "mplayer"
+       "zemberek"
+)
+
+HTML_DOCS=( ChangeLog.html )
+
+PATCHES=( "${FILESDIR}/7.0.3-helpme.patch" )
+
+S="${WORKDIR}/Jubler-${PV}"
+
+src_prepare() {
+       java-pkg-2_src_prepare
+       default
+       # decodeaudio.c:82:24: error: 'AVCODEC_MAX_AUDIO_FRAME_SIZE' undeclared 
(first use in this function); did you mean 'AV_CODEC_CAP_VARIABLE_FRAME_SIZE'?
+       # decodeaudio.c:176:49: error: 'CODEC_ID_NONE' undeclared (first use in 
this function); did you mean 'AV_CODEC_ID_NONE'?
+       # decodeaudio.c:180:38: error: 'AVCodecContext' has no member named 
'request_channels'; did you mean 'request_channel_layout'?
+       # decodeframe.c:230:31: error: 'PIX_FMT_RGB24' undeclared (first use in 
this function); did you mean 'AV_PIX_FMT_RGB24'?
+       # decodeaudio.c:197:79: error: 'AVIO_WRONLY' undeclared (first use in 
this function # https://github.com/FFmpeg/FFmpeg/commit/59d96941f0
+       # decodeaudio.c:239:26: error: 'AVCodecContext' has no member named 
'request_channels'; did you mean 'request_channel_layout'?
+       # makecache.c:94:28: error: 'AVCODEC_MAX_AUDIO_FRAME_SIZE' undeclared 
(first use in this function); did you mean 'AV_CODEC_CAP_VARIABLE_FRAME_SIZE'?
+       # decodeaudio.c:339:25: error: 'CODEC_FLAG_GLOBAL_HEADER' undeclared 
(first use in this function); did you mean 'AV_CODEC_FLAG_GLOBAL_HEADER'
+       sed \
+               -e 
's:AVCODEC_MAX_AUDIO_FRAME_SIZE:AV_CODEC_CAP_VARIABLE_FRAME_SIZE:' \
+               -e 's:CODEC_ID_NONE:AV_CODEC_ID_NONE:' \
+               -e 's:request_channels:request_channel_layout:' \
+               -e 's:PIX_FMT_RGB24:AV_PIX_FMT_RGB24:' \
+               -e 's:AVIO_WRONLY:AVIO_FLAG_WRITE:' \
+               -e 's:CODEC_FLAG_GLOBAL_HEADER:AV_CODEC_FLAG_GLOBAL_HEADER:' \
+               -e 's:CodecID:AVCodecID:' \
+               -i resources/ffmpeg/ffdecode/*.c || die
+}
+
+src_compile() {
+       einfo "Compiling the ffdecode library"
+       pushd resources/ffmpeg/ffdecode || die
+               local args=(
+                       JAVA_HOME="$(java-config -g JAVA_HOME)"
+                       STATIC="no"
+                       CC="$(tc-getCC)"
+                       STRIP="$(tc-getSTRIP)"
+                       LIBNAME="libffdecode.so"
+               )
+               emake "${args[@]}"
+       popd
+
+       jar -cf coretheme.jar -C modules/coretheme/src/main/resources/ . || die
+       JAVA_GENTOO_CLASSPATH_EXTRA+=":coretheme.jar"
+
+       mv modules/{core,jubler} || die
+
+       local module
+       for module in "${JUBLER_MODULES[@]}"; do
+               einfo "Compiling module \"${module}\""
+               JAVA_SRC_DIR="modules/${module}/src/main/java"
+               JAVA_RESOURCE_DIRS="modules/${module}/src/main/resources"
+               JAVA_JAR_FILENAME="${module}.jar"
+               if [[ ${module} == jubler ]]; then
+                       JAVA_MAIN_CLASS="Jubler"
+               fi
+
+               java-pkg-simple_src_compile
+               JAVA_GENTOO_CLASSPATH_EXTRA+=":${module}.jar"
+               JAVA_MAIN_CLASS=""
+               rm -r target || die
+       done
+
+       if use doc; then
+               einfo "Compiling javadocs"
+               JAVA_SRC_DIR=()
+               for module in "${JUBLER_MODULES}"; do
+                       JAVA_SRC_DIR+=( "modules/${module}/src/main/java" )
+               done
+               JAVA_JAR_FILENAME="ignoreme.jar"
+               java-pkg-simple_src_compile
+       fi
+}
+
+src_install() {
+       java-pkg_doso dist/lib/libffdecode.so
+       java-pkg_dojar "coretheme.jar"
+       local module
+       for module in "${JUBLER_MODULES[@]}"; do
+               java-pkg_dojar ${module}.jar
+               if use source; then
+                       java-pkg_dosrc "modules/${module}/src/main/java/*"
+               fi
+       done
+
+       if use doc; then
+               java-pkg_dojavadoc target/api
+       fi
+
+       java-pkg_dolauncher "jubler" --main Jubler
+
+       domenu resources/installers/linux/jubler.desktop
+       doicon -s 32 resources/installers/linux/jubler32.png
+       doicon -s 64 resources/installers/linux/jubler64.png
+       doicon -s 128 resources/installers/linux/jubler128.png
+       doicon modules/jubler/src/main/resources/icons/splash.jpg
+       doicon -s 16 modules/jubler/src/main/resources/icons/crossmobile.png
+
+       # modules/installer/pom.xml#L90-L94
+       insinto /usr/share/${PN}/lib/i18n
+       doins -r resources/i18n/cache
+       insinto /usr/share/${PN}/lib/help
+       doins resources/help/{cache/jubler-faq.html,jubler-faq.xml,question.png}
+}
+
+pkg_postinst() {
+       xdg_icon_cache_update
+}
+
+pkg_postrm() {
+       xdg_icon_cache_update
+}

diff --git a/media-video/jubler/metadata.xml b/media-video/jubler/metadata.xml
index 77e1c11c60b3..206f60aebeb8 100644
--- a/media-video/jubler/metadata.xml
+++ b/media-video/jubler/metadata.xml
@@ -5,6 +5,8 @@
                <email>j...@gentoo.org</email>
        </maintainer>
        <upstream>
-               <remote-id type="google-code">jubler</remote-id>
+               <bugs-to>https://github.com/teras/Jubler/issues</bugs-to>
+               <changelog>https://www.jubler.org/changelog.html</changelog>
+               <remote-id type="github">teras/Jubler</remote-id>
        </upstream>
 </pkgmetadata>

Reply via email to