mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-03-08 03:44:07 +01:00
mediathekview: 14.2.0 -> 14.4.2
pin java version to openjdk25 as jre in nixpkgs is jre21 use finalAttrs instead of rec rewirte the java wrapper to include all java flags recommended by mediathekview source code as well as all mandatory flags to get the program working add sanity install check to ensure both java version and dependencies can at least be loaded by the program add makefu as maintainer open upstream issue: vlc and ffmpeg paths are not automatically detected (mediathekview/MediathekView#824) supersedes #414385
This commit is contained in:
parent
9affda6bcd
commit
5952ea02df
1 changed files with 23 additions and 14 deletions
|
|
@ -1,20 +1,21 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
makeWrapper,
|
||||
libglvnd,
|
||||
libnotify,
|
||||
jre,
|
||||
openjdk25, # 2025-12-25: pkgs.jre points to java 21 and there is no equivalent for jre25
|
||||
zip,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "14.2.0";
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
version = "14.4.2";
|
||||
pname = "mediathekview";
|
||||
src = fetchurl {
|
||||
url = "https://download.mediathekview.de/stabil/MediathekView-${version}-linux.tar.gz";
|
||||
sha256 = "sha256-EWpa6YE9Fk7K14vvsbjadKuGGZGqNhlouDtwj6KpbdE=";
|
||||
url = "https://download.mediathekview.de/stabil/MediathekView-${finalAttrs.version}-linux.tar.gz";
|
||||
sha256 = "sha256-sDZSXYzak2RKQiW1OGpgSvFlkZrttsoOxVqRaodol24=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
@ -35,29 +36,37 @@ stdenv.mkDerivation rec {
|
|||
mkdir -p $out/{bin,lib}
|
||||
|
||||
install -m644 MediathekView.jar $out/lib
|
||||
cp -r dependency $out/lib
|
||||
|
||||
makeWrapper ${jre}/bin/java $out/bin/mediathek \
|
||||
--add-flags "-jar $out/lib/MediathekView.jar" \
|
||||
makeWrapper ${openjdk25}/bin/java $out/bin/mediathek \
|
||||
--add-flags "--add-exports=java.desktop/sun.swing=ALL-UNNAMED -XX:MaxRAMPercentage=10.0 -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact -XX:+UseStringDeduplication --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED --enable-native-access=ALL-UNNAMED -cp \"$out/lib/dependency/*:$out/lib/MediathekView.jar\" mediathek.Main" \
|
||||
--suffix LD_LIBRARY_PATH : "${libraryPath}"
|
||||
|
||||
makeWrapper ${jre}/bin/java $out/bin/MediathekView \
|
||||
--add-flags "-jar $out/lib/MediathekView.jar" \
|
||||
--suffix LD_LIBRARY_PATH : "${libraryPath}"
|
||||
ln -s $out/bin/mediathek $out/bin/MediathekView
|
||||
|
||||
makeWrapper ${jre}/bin/java $out/bin/MediathekView_ipv4 \
|
||||
--add-flags "-Djava.net.preferIPv4Stack=true -jar $out/lib/MediathekView.jar" \
|
||||
makeWrapper ${openjdk25}/bin/java $out/bin/MediathekView_ipv4 \
|
||||
--add-flags "-Djava.net.preferIPv4Stack=true --add-exports=java.desktop/sun.swing=ALL-UNNAMED -XX:MaxRAMPercentage=10.0 -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact -XX:+UseStringDeduplication --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED --enable-native-access=ALL-UNNAMED -cp \"$out/lib/dependency/*:$out/lib/MediathekView.jar\" mediathek.Main" \
|
||||
--suffix LD_LIBRARY_PATH : "${libraryPath}"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
# sanity to ensure that mediathek can actually start
|
||||
# unfortunately the executable does not print its own version
|
||||
installCheckPhase = ''
|
||||
runHook postCheck
|
||||
($out/bin/${finalAttrs.meta.mainProgram} --help 2>&1 ||: ) | grep -q 'Diese Version von MediathekView unterst?tzt keine Kommandozeilenausf?hrung.'
|
||||
runHook preCheck
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Offers access to the Mediathek of different tv stations (ARD, ZDF, Arte, etc.)";
|
||||
homepage = "https://mediathekview.de/";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
||||
license = lib.licenses.gpl3Plus;
|
||||
mainProgram = "mediathek";
|
||||
maintainers = [ ];
|
||||
maintainers = with lib.maintainers; [ makefu ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue