about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/br/bruno/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/by-name/br/bruno/package.nix')
-rw-r--r--nixpkgs/pkgs/by-name/br/bruno/package.nix31
1 files changed, 28 insertions, 3 deletions
diff --git a/nixpkgs/pkgs/by-name/br/bruno/package.nix b/nixpkgs/pkgs/by-name/br/bruno/package.nix
index dcacc86071b1..15bbceb35d22 100644
--- a/nixpkgs/pkgs/by-name/br/bruno/package.nix
+++ b/nixpkgs/pkgs/by-name/br/bruno/package.nix
@@ -1,5 +1,6 @@
 { lib
 
+, stdenv
 , fetchFromGitHub
 , buildNpmPackage
 , nix-update-script
@@ -34,9 +35,10 @@ buildNpmPackage rec {
 
   nativeBuildInputs = [
     (writeShellScriptBin "phantomjs" "echo 2.1.1")
+    pkg-config
+  ] ++ lib.optionals (! stdenv.isDarwin) [
     makeWrapper
     copyDesktopItems
-    pkg-config
   ];
 
   buildInputs = [
@@ -74,11 +76,27 @@ buildNpmPackage rec {
 
     pushd packages/bruno-electron
 
+    ${if stdenv.isDarwin then ''
+    cp -r ${electron}/Applications/Electron.app ./
+    find ./Electron.app -name 'Info.plist' | xargs -d '\n' chmod +rw
+
+    substituteInPlace electron-builder-config.js \
+      --replace "identity: 'Anoop MD (W7LPPWA48L)'" 'identity: null' \
+      --replace "afterSign: 'notarize.js'," ""
+
+    npm exec electron-builder -- \
+      --dir \
+      --config electron-builder-config.js \
+      -c.electronDist=./ \
+      -c.electronVersion=${electron.version} \
+      -c.npmRebuild=false
+    '' else ''
     npm exec electron-builder -- \
       --dir \
       -c.electronDist=${electron}/libexec/electron \
       -c.electronVersion=${electron.version} \
       -c.npmRebuild=false
+    ''}
 
     popd
   '';
@@ -88,9 +106,15 @@ buildNpmPackage rec {
   installPhase = ''
     runHook preInstall
 
+
+    ${if stdenv.isDarwin then ''
+    mkdir -p $out/Applications
+
+    cp -R packages/bruno-electron/out/**/Bruno.app $out/Applications/
+    '' else ''
     mkdir -p $out/opt/bruno $out/bin
 
-    cp -r packages/bruno-electron/dist/linux-unpacked/{locales,resources{,.pak}} $out/opt/bruno
+    cp -r packages/bruno-electron/dist/linux*-unpacked/{locales,resources{,.pak}} $out/opt/bruno
 
     makeWrapper ${lib.getExe electron} $out/bin/bruno \
       --add-flags $out/opt/bruno/resources/app.asar \
@@ -102,6 +126,7 @@ buildNpmPackage rec {
       size=${"$"}{s}x$s
       install -Dm644 $src/packages/bruno-electron/resources/icons/png/$size.png $out/share/icons/hicolor/$size/apps/bruno.png
     done
+    ''}
 
     runHook postInstall
   '';
@@ -113,7 +138,7 @@ buildNpmPackage rec {
     homepage = "https://www.usebruno.com";
     inherit (electron.meta) platforms;
     license = licenses.mit;
-    maintainers = with maintainers; [ water-sucks lucasew kashw2 ];
+    maintainers = with maintainers; [ water-sucks lucasew kashw2 mattpolzin ];
     mainProgram = "bruno";
   };
 }