summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r--pkgs/development/tools/bacon/default.nix22
-rw-r--r--pkgs/development/tools/datree/default.nix9
-rw-r--r--pkgs/development/tools/electron-fiddle/default.nix163
-rw-r--r--pkgs/development/tools/language-servers/metals/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-release/default.nix21
-rw-r--r--pkgs/development/tools/rust/cargo-semver-checks/default.nix6
-rw-r--r--pkgs/development/tools/skopeo/default.nix11
7 files changed, 211 insertions, 25 deletions
diff --git a/pkgs/development/tools/bacon/default.nix b/pkgs/development/tools/bacon/default.nix
index eac02f3ff73..1f148ec1d03 100644
--- a/pkgs/development/tools/bacon/default.nix
+++ b/pkgs/development/tools/bacon/default.nix
@@ -1,24 +1,32 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, CoreServices }:
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, CoreServices
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "bacon";
-  version = "2.2.8";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-UFuU3y+v1V7Llc+IrWbh7kz8uUyCsxJO2zJhE6zwjSg=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-vmvv08cAYNfzlHXrCwfL37U39TS8VQIOJGMgDHc99ME=";
   };
 
-  cargoSha256 = "sha256-CPugHGkYbJG6WrguuGt/CnHq6NvRZ2fP2hgPIuIGGqc=";
+  cargoHash = "sha256-2HR0ClsbCjHiZKmPJkv3NnJyDmdR1rw+TD7UuHLk1Sg=";
 
-  buildInputs = lib.optional stdenv.isDarwin CoreServices;
+  buildInputs = lib.optional stdenv.isDarwin [
+    CoreServices
+  ];
 
   meta = with lib; {
     description = "Background rust code checker";
     homepage = "https://github.com/Canop/bacon";
+    changelog = "https://github.com/Canop/bacon/blob/v${version}/CHANGELOG.md";
     license = licenses.agpl3Only;
-    maintainers = [ maintainers.FlorianFranzen ];
+    maintainers = with maintainers; [ FlorianFranzen ];
   };
 }
diff --git a/pkgs/development/tools/datree/default.nix b/pkgs/development/tools/datree/default.nix
index 780e489cd84..14925b92968 100644
--- a/pkgs/development/tools/datree/default.nix
+++ b/pkgs/development/tools/datree/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "datree";
-  version = "1.8.8";
+  version = "1.8.12";
 
   src = fetchFromGitHub {
     owner = "datreeio";
     repo = "datree";
-    rev = version;
-    hash = "sha256-R0wYkckmNIcTElll39vrnK5nMLqbx3C/+cQtogNwmP8=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-xuaiho5hKSFcwCj2P5QGyvGmPUbcErIbVkkX5kGii8E=";
   };
 
-  vendorHash = "sha256-m3O5AoAHSM6rSnmL5N7V37XU38FADb0Edt/EZvvb2u4=";
+  vendorHash = "sha256-mkVguYzjNGgFUdATjGfenCx3h97LS3SEOkYo3CuP9fA=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -51,6 +51,7 @@ buildGoModule rec {
       objects.
     '';
     homepage = "https://datree.io/";
+    changelog = "https://github.com/datreeio/datree/releases/tag/${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ azahi jceb ];
   };
diff --git a/pkgs/development/tools/electron-fiddle/default.nix b/pkgs/development/tools/electron-fiddle/default.nix
new file mode 100644
index 00000000000..5bfdb06600d
--- /dev/null
+++ b/pkgs/development/tools/electron-fiddle/default.nix
@@ -0,0 +1,163 @@
+{ buildFHSUserEnv
+, electron_20
+, fetchFromGitHub
+, fetchYarnDeps
+, fixup_yarn_lock
+, git
+, lib
+, makeDesktopItem
+, nodejs-16_x
+, stdenvNoCC
+, util-linux
+, zip
+}:
+
+let
+  pname = "electron-fiddle";
+  version = "0.31.0";
+  electron = electron_20;
+  nodejs = nodejs-16_x;
+
+  src = fetchFromGitHub {
+    owner = "electron";
+    repo = "fiddle";
+    rev = "v${version}";
+    hash = "sha256-GueLG+RYFHi3PVVxBTtpTHhfjygcQ6ZCbrp5n5I1gBM=";
+  };
+
+  inherit (nodejs.pkgs) yarn;
+  offlineCache = fetchYarnDeps {
+    yarnLock = "${src}/yarn.lock";
+    hash = "sha256-WVH1A0wtQl5nR1hvaL6mzm/7XBvo311FPKmsxB82e4U=";
+  };
+
+  electronDummyMirror = "https://electron.invalid/";
+  electronDummyDir = "nix";
+  electronDummyFilename =
+    builtins.baseNameOf (builtins.head (electron.src.urls));
+  electronDummyHash =
+    builtins.hashString "sha256" "${electronDummyMirror}${electronDummyDir}";
+
+  unwrapped = stdenvNoCC.mkDerivation {
+    pname = "${pname}-unwrapped";
+    inherit version src;
+
+    nativeBuildInputs = [ fixup_yarn_lock git nodejs util-linux yarn zip ];
+
+    configurePhase = ''
+      export HOME=$TMPDIR
+      fixup_yarn_lock yarn.lock
+      yarn config --offline set yarn-offline-mirror ${offlineCache}
+      yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive
+      patchShebangs node_modules
+
+      mkdir -p ~/.cache/electron/${electronDummyHash}
+      cp -ra '${electron}/lib/electron' "$TMPDIR/electron"
+      chmod -R u+w "$TMPDIR/electron"
+      (cd "$TMPDIR/electron" && zip -0Xr ~/.cache/electron/${electronDummyHash}/${electronDummyFilename} .)
+    '';
+
+    buildPhase = ''
+      ELECTRON_CUSTOM_VERSION='${electron.version}' \
+        ELECTRON_MIRROR='${electronDummyMirror}' \
+        ELECTRON_CUSTOM_DIR='${electronDummyDir}' \
+        ELECTRON_CUSTOM_FILENAME='${electronDummyFilename}' \
+        yarn --offline run package
+    '';
+
+    installPhase = ''
+      mkdir -p "$out/lib/electron-fiddle/resources"
+      cp "out/Electron Fiddle-"*/resources/app.asar "$out/lib/electron-fiddle/resources/"
+      mkdir -p "$out/share/icons/hicolor/scalable/apps"
+      cp assets/icons/fiddle.svg "$out/share/icons/hicolor/scalable/apps/electron-fiddle.svg"
+    '';
+  };
+
+  desktopItem = makeDesktopItem {
+    name = "electron-fiddle";
+    desktopName = "Electron Fiddle";
+    comment = "The easiest way to get started with Electron";
+    genericName = "Electron Fiddle";
+    exec = "electron-fiddle %U";
+    icon = "electron-fiddle";
+    startupNotify = true;
+    categories = [ "GNOME" "GTK" "Utility" ];
+    mimeTypes = [ "x-scheme-handler/electron-fiddle" ];
+  };
+
+in
+buildFHSUserEnv {
+  name = "electron-fiddle";
+  runScript = "${electron}/bin/electron ${unwrapped}/lib/electron-fiddle/resources/app.asar";
+  extraInstallCommands = ''
+    mkdir -p "$out/share/icons/hicolor/scalable/apps"
+    ln -s "${unwrapped}/share/icons/hicolor/scalable/apps/electron-fiddle.svg" "$out/share/icons/hicolor/scalable/apps/"
+    mkdir -p "$out/share/applications"
+    cp "${desktopItem}/share/applications"/*.desktop "$out/share/applications/"
+  '';
+  targetPkgs = pkgs:
+    with pkgs;
+    map lib.getLib [
+      # for electron-fiddle itself
+      udev
+
+      # for running Electron 22.0.0 inside
+      alsa-lib
+      atk
+      cairo
+      cups
+      dbus
+      expat
+      glib
+      gtk3
+      libdrm
+      libnotify
+      libxkbcommon
+      mesa
+      nspr
+      nss
+      pango
+      xorg.libX11
+      xorg.libXcomposite
+      xorg.libXdamage
+      xorg.libXext
+      xorg.libXfixes
+      xorg.libXrandr
+      xorg.libxcb
+
+      # for running Electron before 18.3.5/19.0.5/20.0.0 inside
+      gdk-pixbuf
+
+      # for running Electron before 16.0.0 inside
+      xorg.libxshmfence
+
+      # for running Electron before 11.0.0 inside
+      xorg.libXcursor
+      xorg.libXi
+      xorg.libXrender
+      xorg.libXtst
+
+      # for running Electron before 10.0.0 inside
+      xorg.libXScrnSaver
+
+      # for running Electron before 8.0.0 inside
+      libuuid
+
+      # for running Electron before 4.0.0 inside
+      fontconfig
+
+      # for running Electron before 3.0.0 inside
+      gnome2.GConf
+
+      # Electron 2.0.8 is the earliest working version, due to
+      # https://github.com/electron/electron/issues/13972
+    ];
+
+  meta = with lib; {
+    description = "The easiest way to get started with Electron";
+    homepage = "https://www.electronjs.org/fiddle";
+    license = licenses.mit;
+    maintainers = with maintainers; [ andersk ];
+    platforms = electron.meta.platforms;
+  };
+}
diff --git a/pkgs/development/tools/language-servers/metals/default.nix b/pkgs/development/tools/language-servers/metals/default.nix
index 5b275f82346..18856838c58 100644
--- a/pkgs/development/tools/language-servers/metals/default.nix
+++ b/pkgs/development/tools/language-servers/metals/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "metals";
-  version = "0.11.9";
+  version = "0.11.10";
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "sha256-CJ34OZOAM0Le9U0KSe0nKINnxA3iUgqUMtS06YnjvVo=";
+    outputHash = "sha256-CNLBDsyiEOmMGA9r8eU+3z75VYps21kHnLpB1LYC7W4=";
   };
 
   nativeBuildInputs = [ makeWrapper setJavaClassPath ];
diff --git a/pkgs/development/tools/rust/cargo-release/default.nix b/pkgs/development/tools/rust/cargo-release/default.nix
index 88a3027206f..c22d1f31f9d 100644
--- a/pkgs/development/tools/rust/cargo-release/default.nix
+++ b/pkgs/development/tools/rust/cargo-release/default.nix
@@ -10,25 +10,32 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-release";
-  version = "0.24.1";
+  version = "0.24.3";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = "cargo-release";
-    rev = "v${version}";
-    sha256 = "sha256-vVbIwYfjU3Fmqwd7H7xZNYfrZlgMNdsxPGKLCjc6Ud0=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ggB6gDlIuHPgJJg9TsHXHOKAm7+6OjXzoAT74YUB1n8=";
   };
 
-  cargoSha256 = "sha256-uiz7SwHDL7NQroiTO2gK/WA5AS9LTQram73cAU60Lac=";
+  cargoHash = "sha256-gBVcQzuJNDwdC59gaOYqvaJDP46wJ9CglYbSPt3zkZ8=";
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [
+    pkg-config
+  ];
 
-  buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ Security curl ];
+  buildInputs = [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    Security
+    curl
+  ];
 
   meta = with lib; {
     description = ''Cargo subcommand "release": everything about releasing a rust crate'';
     homepage = "https://github.com/sunng87/cargo-release";
+    changelog = "https://github.com/crate-ci/cargo-release/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ gerschtli ];
   };
diff --git a/pkgs/development/tools/rust/cargo-semver-checks/default.nix b/pkgs/development/tools/rust/cargo-semver-checks/default.nix
index c5dd92d5c44..30fda10323e 100644
--- a/pkgs/development/tools/rust/cargo-semver-checks/default.nix
+++ b/pkgs/development/tools/rust/cargo-semver-checks/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-semver-checks";
-  version = "0.15.0";
+  version = "0.15.2";
 
   src = fetchFromGitHub {
     owner = "obi1kenobi";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hhw5jzdquehkdq6iEtQQW6Z2Cu3+J2o2p10VGPOVcCs=";
+    sha256 = "sha256-+YRyShALdDQDfh5XDY36R29SzbBjlT8mCIucwJ++KrQ=";
   };
 
-  cargoSha256 = "sha256-AE4yk6r02h04P3GmEh7te+GHg8k9/gQpJ+I19o9j9I0=";
+  cargoSha256 = "sha256-wwsFqoQXasCKfnCBF4qGFIoD7Kj53K9IKQ1auuqTPAM=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix
index 6d08ec9163f..aaae3082d32 100644
--- a/pkgs/development/tools/skopeo/default.nix
+++ b/pkgs/development/tools/skopeo/default.nix
@@ -11,6 +11,7 @@
 , makeWrapper
 , fuse-overlayfs
 , dockerTools
+, runCommand
 }:
 
 buildGoModule rec {
@@ -46,6 +47,7 @@ buildGoModule rec {
     runHook preInstall
     PREFIX=$out make install-binary install-completions
     PREFIX=$man make install-docs
+    install ${passthru.policy}/default-policy.json -Dt $out/etc/containers
   '' + lib.optionalString stdenv.isLinux ''
     wrapProgram $out/bin/skopeo \
       --prefix PATH : ${lib.makeBinPath [ fuse-overlayfs ]}
@@ -53,8 +55,13 @@ buildGoModule rec {
     runHook postInstall
   '';
 
-  passthru.tests = {
-    inherit (dockerTools.examples) testNixFromDockerHub;
+  passthru = {
+    policy = runCommand "policy" { } ''
+      install ${src}/default-policy.json -Dt $out
+    '';
+    tests = {
+      inherit (dockerTools.examples) testNixFromDockerHub;
+    };
   };
 
   meta = with lib; {