summary refs log tree commit diff
path: root/pkgs/applications/video/filebot/default.nix
diff options
context:
space:
mode:
authorFelix Schröter <dev@felschr.com>2023-04-19 13:13:34 +0200
committerFelix Schröter <dev@felschr.com>2023-04-19 13:22:45 +0200
commit0ddbe69156f9846c6e7f311cf69d1a7e97368c93 (patch)
tree12870ca2fb55dc2fb6dea88374281445e9fe18de /pkgs/applications/video/filebot/default.nix
parenta895e7e8339ff163354dbfb09c8c7997124e4df9 (diff)
downloadnixpkgs-0ddbe69156f9846c6e7f311cf69d1a7e97368c93.tar
nixpkgs-0ddbe69156f9846c6e7f311cf69d1a7e97368c93.tar.gz
nixpkgs-0ddbe69156f9846c6e7f311cf69d1a7e97368c93.tar.bz2
nixpkgs-0ddbe69156f9846c6e7f311cf69d1a7e97368c93.tar.lz
nixpkgs-0ddbe69156f9846c6e7f311cf69d1a7e97368c93.tar.xz
nixpkgs-0ddbe69156f9846c6e7f311cf69d1a7e97368c93.tar.zst
nixpkgs-0ddbe69156f9846c6e7f311cf69d1a7e97368c93.zip
filebot: fix stty command in --mode interactive
Diffstat (limited to 'pkgs/applications/video/filebot/default.nix')
-rw-r--r--pkgs/applications/video/filebot/default.nix17
1 files changed, 14 insertions, 3 deletions
diff --git a/pkgs/applications/video/filebot/default.nix b/pkgs/applications/video/filebot/default.nix
index 15a8161ed26..09f99f400aa 100644
--- a/pkgs/applications/video/filebot/default.nix
+++ b/pkgs/applications/video/filebot/default.nix
@@ -1,8 +1,13 @@
-{ lib, stdenv, fetchurl, openjdk17, makeWrapper, autoPatchelfHook
+{ lib, stdenv, fetchurl, coreutils, openjdk17, makeWrapper, autoPatchelfHook
 , zlib, libzen, libmediainfo, curlWithGnuTls, libmms, glib
 }:
 
-stdenv.mkDerivation rec {
+let
+  lanterna = fetchurl {
+    url = "https://search.maven.org/remotecontent?filepath=com/googlecode/lanterna/lanterna/3.1.1/lanterna-3.1.1.jar";
+    hash = "sha256-7zxCeXYW5v9ritnvkwRpPKdgSptCmkT3HJOaNgQHUmQ=";
+  };
+in stdenv.mkDerivation rec {
   pname = "filebot";
   version = "5.0.2";
 
@@ -17,6 +22,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib libzen libmediainfo curlWithGnuTls libmms glib ];
 
+  postPatch = ''
+    # replace lanterna.jar to be able to specify `com.googlecode.lanterna.terminal.UnixTerminal.sttyCommand`
+    cp ${lanterna} jar/lanterna.jar
+  '';
+
   dontBuild = true;
   installPhase = ''
     mkdir -p $out/opt $out/bin
@@ -25,7 +35,8 @@ stdenv.mkDerivation rec {
     # Filebot writes to $APP_DATA, which fails due to read-only filesystem. Using current user .local directory instead.
     substituteInPlace $out/opt/filebot.sh \
       --replace 'APP_DATA="$FILEBOT_HOME/data/$(id -u)"' 'APP_DATA=''${XDG_DATA_HOME:-$HOME/.local/share}/filebot/data' \
-      --replace '$FILEBOT_HOME/data/.license' '$APP_DATA/.license'
+      --replace '$FILEBOT_HOME/data/.license' '$APP_DATA/.license' \
+      --replace '-jar "$FILEBOT_HOME/jar/filebot.jar"' '-Dcom.googlecode.lanterna.terminal.UnixTerminal.sttyCommand=${coreutils}/bin/stty -jar "$FILEBOT_HOME/jar/filebot.jar"'
     wrapProgram $out/opt/filebot.sh \
       --prefix PATH : ${lib.makeBinPath [ openjdk17 ]}
     # Expose the binary in bin to make runnable.