about summary refs log tree commit diff
path: root/pkgs/applications/backup
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2022-11-10 17:09:46 +0100
committerGitHub <noreply@github.com>2022-11-10 17:09:46 +0100
commit4c465292103ce824f71f49206dc292ee04c0959d (patch)
treedd4ae762b37a08b2e02d09ee237ae2e169415a14 /pkgs/applications/backup
parent847774470eba277e341f6770c40b4457e3ddec11 (diff)
parent207e7e254e2549b20f910a3b2f19800b3a4c5519 (diff)
Merge pull request #190834 from pasqui23/ludusavi
Diffstat (limited to 'pkgs/applications/backup')
-rw-r--r--pkgs/applications/backup/ludusavi/default.nix85
1 files changed, 85 insertions, 0 deletions
diff --git a/pkgs/applications/backup/ludusavi/default.nix b/pkgs/applications/backup/ludusavi/default.nix
new file mode 100644
index 0000000000000..e7826fc6e949c
--- /dev/null
+++ b/pkgs/applications/backup/ludusavi/default.nix
@@ -0,0 +1,85 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, cmake
+, pkg-config
+, makeWrapper
+, bzip2
+, fontconfig
+, freetype
+, libGL
+, libX11
+, libXcursor
+, libXrandr
+, libXi
+, gnome
+, kdialog
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "ludusavi";
+  version = "0.15.0";
+
+  src = fetchFromGitHub {
+    owner = "mtkennerly";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-3nh1EhjiH+dUBw3CNeFSg/+Wkxr5AYgVdM1HzVKbqJI=";
+  };
+
+  cargoSha256 = "sha256-l9jYqmKC0GJL9MSRbrNng4rO6/dx4q8EVCxfuin4v6E=";
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    makeWrapper
+  ];
+
+  buildInputs = [
+    fontconfig
+    freetype
+    libX11
+    libXcursor
+    libXrandr
+    libXi
+  ];
+
+  postInstall = ''
+    install -Dm644 assets/com.github.mtkennerly.ludusavi.metainfo.xml -t \
+      "$out/share/metainfo/"
+    install -Dm644 assets/icon.png \
+      "$out/share/icons/hicolor/64x64/apps/${pname}.png"
+    install -Dm644 assets/icon.svg \
+      "$out/share/icons/hicolor/scalable/apps/${pname}.svg"
+    install -Dm644 "assets/${pname}.desktop" -t "$out/share/applications/"
+    install -Dm644 assets/MaterialIcons-Regular.ttf -t "$out/share/fonts/TTF/"
+    install -Dm644 LICENSE -t "$out/share/licenses/${pname}/"
+  '';
+
+  postFixup =
+    let
+      libPath = lib.makeLibraryPath [
+        libGL
+        bzip2
+        fontconfig
+        freetype
+        libX11
+        libXcursor
+        libXrandr
+        libXi
+      ];
+    in
+    ''
+      patchelf --set-rpath "${libPath}" "$out/bin/$pname"
+      wrapProgram $out/bin/$pname --prefix PATH : ${lib.makeBinPath [ gnome.zenity kdialog ]}
+    '';
+
+
+  meta = with lib; {
+    description = "Backup tool for PC game saves";
+    homepage = "https://github.com/mtkennerly/ludusavi";
+    changelog = "https://github.com/mtkennerly/ludusavi/blob/v${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ pasqui23 ];
+  };
+}