diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/video/losslesscut-bin/appimage.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/video/losslesscut-bin/appimage.nix | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/video/losslesscut-bin/appimage.nix b/nixpkgs/pkgs/applications/video/losslesscut-bin/appimage.nix new file mode 100644 index 000000000000..d1f60c3dd2c2 --- /dev/null +++ b/nixpkgs/pkgs/applications/video/losslesscut-bin/appimage.nix @@ -0,0 +1,45 @@ +{ appimageTools, lib, fetchurl, gtk3, gsettings-desktop-schemas, version }: + +let + pname = "losslesscut"; + nameRepo = "lossless-cut"; + nameCamel = "LosslessCut"; + name = "${pname}-${version}"; + nameSource = "${nameCamel}-linux.AppImage"; + nameExecutable = "losslesscut"; + owner = "mifi"; + src = fetchurl { + url = "https://github.com/${owner}/${nameRepo}/releases/download/v${version}/${nameSource}"; + name = nameSource; + sha256 = "0aqz5ijl5japfzzbcdcd2mmihkb8b2fc2hs9kkm3211yb37c5ygv"; + }; + extracted = appimageTools.extractType2 { + inherit name src; + }; +in appimageTools.wrapType2 { + inherit name src; + + profile = '' + export LC_ALL=C.UTF-8 + export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS + ''; + + extraPkgs = ps: appimageTools.defaultFhsEnvArgs.multiPkgs ps; + + extraInstallCommands = '' + mv $out/bin/{${name},${nameExecutable}} + ( + mkdir -p $out/share + cd ${extracted}/usr + find share -mindepth 1 -type d -exec mkdir -p $out/{} \; + find share -mindepth 1 -type f,l -exec ln -s $PWD/{} $out/{} \; + ) + ln -s ${extracted}/${nameExecutable}.png $out/share/icons/${nameExecutable}.png + mkdir $out/share/applications + cp ${extracted}/${nameExecutable}.desktop $out/share/applications + substituteInPlace $out/share/applications/${nameExecutable}.desktop \ + --replace AppRun ${nameExecutable} + ''; + + meta.platforms = with lib.platforms; [ "x86_64-linux" ]; +} |