about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/misc/hunter/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/misc/hunter/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/misc/hunter/default.nix77
1 files changed, 77 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/misc/hunter/default.nix b/nixpkgs/pkgs/applications/misc/hunter/default.nix
new file mode 100644
index 000000000000..6c0c9b2955ab
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/hunter/default.nix
@@ -0,0 +1,77 @@
+{ lib, stdenv, pkg-config, rustPlatform, fetchFromGitHub, fetchpatch
+, makeWrapper, glib, gst_all_1, CoreServices, IOKit, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "hunter";
+  version = "2020-05-25-unstable";
+
+  src = fetchFromGitHub {
+    owner = "rabite0";
+    repo = "hunter";
+    rev = "355d9a3101f6d8dc375807de79e368602f1cb87d";
+    sha256 = "sha256-R2wNkG8bFP7X2pdlebHK6GD15qmD/zD3L0MwVthvzzQ=";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "remove-dependencies-on-rust-nightly";
+      url = "https://github.com/06kellyjac/hunter/commit/a5943578e1ee679c8bc51b0e686c6dddcf74da2a.diff";
+      sha256 = "sha256-eOwBFfW5m8tPnu+whWY/53X9CaqiVj2WRr25G+Yy7qE=";
+    })
+    (fetchpatch {
+      name = "fix-accessing-core-when-moved-with-another-clone";
+      url = "https://github.com/06kellyjac/hunter/commit/2e95cc567c751263f8c318399f3c5bb01d36962a.diff";
+      sha256 = "sha256-yTzIXUw5qEaR2QZHwydg0abyZVXfK6fhJLVHBI7EAro=";
+    })
+    (fetchpatch {
+      name = "fix-resolve-breaking-changes-from-package-updates";
+      url = "https://github.com/06kellyjac/hunter/commit/2484f0db580bed1972fd5000e1e949a4082d2f01.diff";
+      sha256 = "sha256-K+WUxEr1eE68XejStj/JwQpMHlhkiOw6PmiSr1GO0kc=";
+    })
+  ];
+
+  cargoPatches = [
+    (fetchpatch {
+      name = "chore-cargo-update";
+      url = "https://github.com/06kellyjac/hunter/commit/b0be49a82191a4420b6900737901a71140433efd.diff";
+      sha256 = "sha256-ctxoDwyIJgEhMbMUfrjCTy2SeMUQqMi971szrqEOJeg=";
+    })
+    (fetchpatch {
+      name = "chore-cargo-upgrade-+-cargo-update";
+      url = "https://github.com/06kellyjac/hunter/commit/1b8de9248312878358afaf1dac569ebbccc4321a.diff";
+      sha256 = "sha256-+4DZ8SaKwKNmr2SEgJJ7KZBIctnYFMQFKgG+yCkbUv0=";
+    })
+  ];
+
+  RUSTC_BOOTSTRAP = 1;
+
+  nativeBuildInputs = [ makeWrapper pkg-config ];
+  buildInputs = [
+    glib
+  ] ++ (with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    gst-plugins-good
+    gst-plugins-ugly
+    gst-plugins-bad
+  ]) ++ lib.optionals stdenv.isDarwin [ CoreServices IOKit Security ];
+
+  cargoBuildFlags = [ "--no-default-features" "--features=img,video" ];
+
+  postInstall = ''
+    wrapProgram $out/bin/hunter --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
+  '';
+
+  cargoSha256 = "sha256-Bd/gilebxC4H+/1A41OSSfWBlHcSczsFcU2b+USnI74=";
+
+  meta = with lib; {
+    description = "The fastest file manager in the galaxy!";
+    homepage = "https://github.com/rabite0/hunter";
+    license = licenses.wtfpl;
+    maintainers = with maintainers; [ fufexan ];
+    # error[E0308]: mismatched types
+    # --> src/files.rs:502:62
+    # expected raw pointer `*const u8`, found raw pointer `*const i8`
+    broken = stdenv.isAarch64;
+  };
+}