about summary refs log tree commit diff
path: root/pkgs/development/tools/analysis
diff options
context:
space:
mode:
authorEnte <ducksource@duckpond.ch>2019-12-15 14:54:28 +0100
committerEnte <ducksource@duckpond.ch>2019-12-15 14:54:28 +0100
commit7da91c565c55d02accb297e1180ce720336782c4 (patch)
tree968cf7d3e5638bf2cfeccbe19a7bca78bd410319 /pkgs/development/tools/analysis
parentb301e82cfe825bd3db4fbcc39820724a6c6f213a (diff)
downloadnixlib-7da91c565c55d02accb297e1180ce720336782c4.tar
nixlib-7da91c565c55d02accb297e1180ce720336782c4.tar.gz
nixlib-7da91c565c55d02accb297e1180ce720336782c4.tar.bz2
nixlib-7da91c565c55d02accb297e1180ce720336782c4.tar.lz
nixlib-7da91c565c55d02accb297e1180ce720336782c4.tar.xz
nixlib-7da91c565c55d02accb297e1180ce720336782c4.tar.zst
nixlib-7da91c565c55d02accb297e1180ce720336782c4.zip
hopper: apply changes from code review
* add dependency to ncurses, gnustep
* don't copy to share/share
* run pre/post Install hooks
* fix desktop icon
* with maintainers
Diffstat (limited to 'pkgs/development/tools/analysis')
-rw-r--r--pkgs/development/tools/analysis/hopper/default.nix39
1 files changed, 31 insertions, 8 deletions
diff --git a/pkgs/development/tools/analysis/hopper/default.nix b/pkgs/development/tools/analysis/hopper/default.nix
index d58fad474301..5786bacd7a9d 100644
--- a/pkgs/development/tools/analysis/hopper/default.nix
+++ b/pkgs/development/tools/analysis/hopper/default.nix
@@ -8,10 +8,11 @@
   libbsd,
   python27,
   gmpxx,
-}:
-let
 
-in stdenv.mkDerivation rec {
+  ncurses5,
+  gnustep,
+}:
+stdenv.mkDerivation rec {
   pname    = "hopper";
   version = "4.5.19";
   rev = "v${lib.versions.major version}";
@@ -32,25 +33,47 @@ in stdenv.mkDerivation rec {
     libbsd
     python27
     gmpxx
+
+    ncurses5
+    gnustep.libobjc
   ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     mkdir -p $out/lib
     mkdir -p $out/share
 
     cp $sourceRoot/opt/hopper-${rev}/bin/Hopper $out/bin/hopper
-    cp -r $sourceRoot/opt/hopper-${rev}/lib $out
-    cp -r $sourceRoot/usr/share $out/share
+    cp \
+      --archive \
+      $sourceRoot/opt/hopper-${rev}/lib/libBlocksRuntime.so* \
+      $sourceRoot/opt/hopper-${rev}/lib/libdispatch.so* \
+      $sourceRoot/opt/hopper-${rev}/lib/libgnustep-base.so* \
+      $sourceRoot/opt/hopper-${rev}/lib/libHopperCore.so* \
+      $sourceRoot/opt/hopper-${rev}/lib/libkqueue.so* \
+      $sourceRoot/opt/hopper-${rev}/lib/libobjcxx.so* \
+      $sourceRoot/opt/hopper-${rev}/lib/libpthread_workqueue.so* \
+      $out/lib
+
+    cp -r $sourceRoot/usr/share $out
+
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    substituteInPlace "$out/share/applications/hopper-${rev}.desktop" \
+      --replace "Exec=/opt/hopper-${rev}/bin/Hopper" "Exec=$out/bin/hopper"
   '';
 
   meta = with stdenv.lib; {
     homepage = "https://www.hopperapp.com/index.html";
     description = "A macOS and Linux Disassembler";
     license = licenses.unfree;
-    maintainers = [
-      maintainers.luis
-      maintainers.Enteee
+    maintainers = with maintainers; [
+      luis
+      Enteee
     ];
     platforms = platforms.linux;
   };