diff --git a/pkgs/applications/video/subtitleedit/default.nix b/pkgs/applications/video/subtitleedit/default.nix new file mode 100644 index 000000000000..a7bdf2e110fb --- /dev/null +++ b/pkgs/applications/video/subtitleedit/default.nix @@ -0,0 +1,96 @@ +{ lib +, stdenv +, copyDesktopItems +, makeDesktopItem +, makeWrapper +, fetchzip +, ffmpeg +, gtk2 +, hunspell +, icoutils +, mono +, mpv +, tesseract4 +}: + +stdenv.mkDerivation rec { + pname = "subtitleedit"; + version = "3.6.11"; + + src = fetchzip { + url = "https://github.com/SubtitleEdit/subtitleedit/releases/download/${version}/SE${lib.replaceStrings [ "." ] [ "" ] version}.zip"; + sha256 = "00w9jx704in3hbnzp0i7bhqkhbl0h5mahc5izwa980b67w08dc26"; + stripRoot = false; + }; + + preUnpack = '' + rm -rf source + ''; + + nativeBuildInputs = [ + copyDesktopItems + icoutils + makeWrapper + ]; + + runtimeLibs = lib.makeLibraryPath [ + gtk2 + hunspell + mpv + tesseract4 + ]; + + runtimeBins = lib.makeBinPath [ + ffmpeg + hunspell + tesseract4 + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + mkdir -p $out/share/icons/hicolor/{16x16,32x32,48x48,256x256}/apps + + cp -r * $out/bin/ + ln -s ${hunspell.out}/lib/libhunspell*.so $out/bin/libhunspell.so + makeWrapper "${mono}/bin/mono" $out/bin/subtitleedit \ + --add-flags "$out/bin/SubtitleEdit.exe" \ + --prefix LD_LIBRARY_PATH : ${runtimeLibs} \ + --prefix PATH : ${runtimeBins} + + wrestool -x -t 14 SubtitleEdit.exe > subtitleedit.ico + icotool -x -i 3 -o $out/share/icons/hicolor/16x16/apps/subtitleedit.png subtitleedit.ico + icotool -x -i 6 -o $out/share/icons/hicolor/32x32/apps/subtitleedit.png subtitleedit.ico + icotool -x -i 9 -o $out/share/icons/hicolor/48x48/apps/subtitleedit.png subtitleedit.ico + icotool -x -i 10 -o $out/share/icons/hicolor/256x256/apps/subtitleedit.png subtitleedit.ico + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = pname; + desktopName = "Subtitle Edit"; + exec = "subtitleedit"; + icon = "subtitleedit"; + comment = meta.description; + categories = [ "Video" ]; + }) + ]; + + meta = with lib; { + description = "A subtitle editor"; + homepage = "https://nikse.dk/subtitleedit/"; + license = licenses.gpl3Plus; + longDescription = '' + With Subtitle Edit you can easily adjust a subtitle if it is out of sync with + the video in several different ways. You can also use it for making + new subtitles from scratch (using the time-line /waveform/spectrogram) + or for translating subtitles. + ''; + maintainers = with maintainers; [ paveloom ]; + platforms = platforms.all; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 87f6a6d595df..5cd8865256ed 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23386,6 +23386,8 @@ with pkgs; subdl = callPackage ../applications/video/subdl { }; + subtitleedit = callPackage ../applications/video/subtitleedit { }; + subtitleeditor = callPackage ../applications/video/subtitleeditor { }; suil = darwin.apple_sdk_11_0.callPackage ../development/libraries/audio/suil { };