8 , stripJavaArchivesHook
13 minimalJavaVersion = "11";
15 newsPlugin = fetchurl {
16 url = "https://www.tvbrowser.org/data/uploads/1372016422809_543/NewsPlugin.jar";
17 hash = "sha256-5XoypuMd2AFBE2SJ6EdECuvq6D81HLLuu9UoA9kcKAM=";
20 stdenv.mkDerivation rec {
25 url = "mirror://sourceforge/${pname}/TV-Browser%20Releases%20%28Java%20${minimalJavaVersion}%20and%20higher%29/${version}/${pname}_${version}_src.zip";
26 hash = "sha256-dmNfI6T0MU7UtMH+C/2hiAeDwZlFCB4JofQViZezoqI=";
29 nativeBuildInputs = [ ant jdk makeWrapper stripJavaArchivesHook ];
34 ant runtime-linux -Dnewsplugin.url=file://${newsPlugin}
35 ant tvbrowser-desktop-entry
43 mkdir -p $out/share/tvbrowser
44 cp -R runtime/tvbrowser_linux/* $out/share/tvbrowser
46 mkdir -p $out/share/applications
47 mv -t $out/share/applications $out/share/tvbrowser/tvbrowser.desktop
48 sed -e 's|=imgs/|='$out'/share/tvbrowser/imgs/|' \
49 -e 's|=tvbrowser.sh|='$out'/bin/tvbrowser|' \
50 -i $out/share/applications/tvbrowser.desktop
52 for i in 16 32 48 128; do
53 mkdir -p $out/share/icons/hicolor/''${i}x''${i}/apps
54 ln -s $out/share/tvbrowser/imgs/tvbrowser$i.png \
55 $out/share/icons/hicolor/''${i}x''${i}/apps/tvbrowser.png
60 $out/share/tvbrowser/tvbrowser.sh \
62 --prefix PATH : ${jdk}/bin \
63 --prefix XDG_DATA_DIRS : $out/share \
64 --set PROGRAM_DIR $out/share/tvbrowser
69 passthru.tests.startwindow = callPackage ./test.nix {};
72 description = "Electronic TV Program Guide";
73 downloadPage = "https://www.tvbrowser.org/index.php?id=tv-browser";
74 homepage = "https://www.tvbrowser.org/";
75 changelog = "https://www.tvbrowser.org/index.php?id=news";
76 sourceProvenance = with sourceTypes; [ binaryBytecode fromSource ];
77 license = licenses.gpl3Plus;
78 platforms = platforms.linux;
79 mainProgram = "tvbrowser";
80 maintainers = with maintainers; [ yarny ];
82 TV-Browser shows TV program data arranged like in printed
83 TV programs after downloading it from the internet.
84 Plugins are used to download program data
85 and to provide additional functionality.