diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml index 0e3f315bb0de..bcb164a04eef 100644 --- a/.github/workflows/backport.yml +++ b/.github/workflows/backport.yml @@ -8,7 +8,7 @@ jobs: if: github.repository_owner == 'NixOS' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name)) runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # required to find all branches fetch-depth: 0 diff --git a/.github/workflows/basic-eval.yml b/.github/workflows/basic-eval.yml index 67634af51f62..c48b04d8c14c 100644 --- a/.github/workflows/basic-eval.yml +++ b/.github/workflows/basic-eval.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest # we don't limit this action to only NixOS repo since the checks are cheap and useful developer feedback steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: cachix/install-nix-action@v16 # explicit list of supportedSystems is needed until aarch64-darwin becomes part of the trunk jobset - run: nix-build pkgs/top-level/release.nix -A tarball.nixpkgs-basic-release-checks --arg supportedSystems '[ "aarch64-darwin" "aarch64-linux" "x86_64-linux" "x86_64-darwin" ]' diff --git a/.github/workflows/editorconfig.yml b/.github/workflows/editorconfig.yml index 28e20d6c9458..de49e55ef2a7 100644 --- a/.github/workflows/editorconfig.yml +++ b/.github/workflows/editorconfig.yml @@ -24,7 +24,7 @@ jobs: - name: print list of changed files run: | cat "$HOME/changed_files" - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # pull_request_target checks out the base branch by default ref: refs/pull/${{ github.event.pull_request.number }}/merge diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index 4d1e2a2a0f95..c464f8bf58a9 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest if: github.repository_owner == 'NixOS' steps: - - uses: actions/labeler@v3 + - uses: actions/labeler@v4 with: repo-token: ${{ secrets.GITHUB_TOKEN }} sync-labels: true diff --git a/.github/workflows/manual-nixos.yml b/.github/workflows/manual-nixos.yml index b9181c5f3bbc..787f55352967 100644 --- a/.github/workflows/manual-nixos.yml +++ b/.github/workflows/manual-nixos.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest if: github.repository_owner == 'NixOS' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # pull_request_target checks out the base branch by default ref: refs/pull/${{ github.event.pull_request.number }}/merge diff --git a/.github/workflows/manual-nixpkgs.yml b/.github/workflows/manual-nixpkgs.yml index 3bdbd7f78fc4..7d9273ef1398 100644 --- a/.github/workflows/manual-nixpkgs.yml +++ b/.github/workflows/manual-nixpkgs.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest if: github.repository_owner == 'NixOS' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # pull_request_target checks out the base branch by default ref: refs/pull/${{ github.event.pull_request.number }}/merge diff --git a/.github/workflows/nixos-manual.yml b/.github/workflows/nixos-manual.yml index e1c5b4dc93b9..bd70f228d462 100644 --- a/.github/workflows/nixos-manual.yml +++ b/.github/workflows/nixos-manual.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest if: github.repository_owner == 'NixOS' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # pull_request_target checks out the base branch by default ref: refs/pull/${{ github.event.pull_request.number }}/merge diff --git a/.github/workflows/periodic-merge-24h.yml b/.github/workflows/periodic-merge-24h.yml index b8535fdf9527..5ad0db1db51c 100644 --- a/.github/workflows/periodic-merge-24h.yml +++ b/.github/workflows/periodic-merge-24h.yml @@ -38,7 +38,7 @@ jobs: into: staging-21.11 name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }} uses: devmasx/merge-branch@1.4.0 diff --git a/.github/workflows/periodic-merge-6h.yml b/.github/workflows/periodic-merge-6h.yml index daa9b6d3c844..a8af04b78bc2 100644 --- a/.github/workflows/periodic-merge-6h.yml +++ b/.github/workflows/periodic-merge-6h.yml @@ -32,7 +32,7 @@ jobs: into: staging name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }} uses: devmasx/merge-branch@1.4.0 diff --git a/.github/workflows/update-terraform-providers.yml b/.github/workflows/update-terraform-providers.yml index 9de57d6e3d19..09d208a62160 100644 --- a/.github/workflows/update-terraform-providers.yml +++ b/.github/workflows/update-terraform-providers.yml @@ -10,7 +10,7 @@ jobs: if: github.repository_owner == 'NixOS' && github.ref == 'refs/heads/master' # ensure workflow_dispatch only runs on master runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: cachix/install-nix-action@v16 - name: setup id: setup diff --git a/pkgs/applications/misc/whalebird/default.nix b/pkgs/applications/misc/whalebird/default.nix index d478655eed1b..3920a3a86554 100644 --- a/pkgs/applications/misc/whalebird/default.nix +++ b/pkgs/applications/misc/whalebird/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "whalebird"; - version = "4.5.1"; + version = "4.5.2"; src = fetchurl { url = "https://github.com/h3poteto/whalebird-desktop/releases/download/${version}/Whalebird-${version}-linux-x64.deb"; - sha256 = "sha256-70fCyxiM4CiNuG4Lqr4Tq0FHak3wDcp8G93EKYj+0kc="; + sha256 = "sha256-4ksKXVeUGICHfx014s5g9mapS751dbexBjzyqNvk02M="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix index ca6cc55d65ac..80d04eabc824 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix +++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchurl, makeWrapper, makeDesktopItem, zlib, glib, libpng, freetype, openssl , xorg, fontconfig, qtbase, qtwebengine, qtwebchannel, qtsvg, qtwebsockets, xkeyboard_config -, alsa-lib, libpulseaudio ? null, libredirect, quazip, which, unzip, llvmPackages, writeShellScriptBin +, alsa-lib, libpulseaudio ? null, libredirect, quazip, which, unzip, llvmPackages_10, writeShellScriptBin }: let @@ -13,7 +13,7 @@ let [ zlib glib libpng freetype xorg.libSM xorg.libICE xorg.libXrender openssl xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama xorg.libxcb fontconfig xorg.libXext xorg.libX11 alsa-lib qtbase qtwebengine qtwebchannel qtsvg - qtwebsockets libpulseaudio quazip llvmPackages.libcxx llvmPackages.libcxxabi + qtwebsockets libpulseaudio quazip llvmPackages_10.libcxx llvmPackages_10.libcxxabi # llvmPackages_11 and higher crash https://github.com/NixOS/nixpkgs/issues/161395 ]; desktopItem = makeDesktopItem { diff --git a/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix b/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix index 63ef7e655075..d21e0475e2df 100644 --- a/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix +++ b/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix @@ -4,33 +4,34 @@ let pListText = lib.generators.toPlist { } { CFBundleDevelopmentRegion = "English"; CFBundleExecutable = "$name"; - CFBundleIconFiles = [ "$iconPlistArray" ]; + CFBundleIconFile = "$icon"; CFBundleIdentifier = "org.nixos.$name"; CFBundleInfoDictionaryVersion = "6.0"; CFBundleName = "$name"; CFBundlePackageType = "APPL"; CFBundleSignature = "???"; }; - -# The generation of the CFBundleIconFiles array is a bit of a hack, since we -# will always end up with an empty first element () but macOS -# appears to ignore this which allows us to use the nix PList generator. in writeScriptBin "write-darwin-bundle" '' shopt -s nullglob - readonly prefix="$1" - readonly name="$2" - readonly exec="$3" - iconPlistArray="" + readonly prefix=$1 + readonly name=$2 + readonly exec=$3 + readonly icon=$4.icns + readonly squircle=''${5:-1} + readonly plist=$prefix/Applications/$name.app/Contents/Info.plist - for icon in "$prefix/Applications/$name.app/Contents/Resources"/*; do - iconPlistArray="$iconPlistArray"$(basename "$icon")"" - done - - cat > "$prefix/Applications/$name.app/Contents/Info.plist" < "$plist" <$icon|$icon| + " -i "$plist" + fi + cat > "$prefix/Applications/$name.app/Contents/MacOS/$name" </dev/null); - local -r pixMaps=$(find "$out/share/pixmaps/" -name "${iconName}.xpm" 2>/dev/null); + local -r iconName=$(getDesktopParam "${file}" "^Icon") + local -r squircle=$(getDesktopParam "${file}" "X-macOS-SquircleIcon") mkdir -p "$out/Applications/${name}.app/Contents/MacOS" mkdir -p "$out/Applications/${name}.app/Contents/Resources" - local i=0; - for icon in $iconFiles; do - ln -s "$icon" "$out/Applications/${name}.app/Contents/Resources/$i-$(basename "$icon")" - (( i +=1 )); - done + convertIconTheme "$out/Applications/${name}.app/Contents/Resources" "$sharePath" "$iconName" - for pixmap in $pixMaps; do - local newIconName="$i-$(basename "$pixmap")"; - convert "$pixmap" "$out/Applications/${name}.app/Contents/Resources/${newIconName%.xpm}.png" - (( i +=1 )); - done - - write-darwin-bundle "$out" "$name" "$exec" + write-darwin-bundle "$out" "$name" "$exec" "$iconName" "$squircle" } convertDesktopFiles() { diff --git a/pkgs/desktops/pantheon/apps/appcenter/default.nix b/pkgs/desktops/pantheon/apps/appcenter/default.nix index d62141ece2bd..93c10d072928 100644 --- a/pkgs/desktops/pantheon/apps/appcenter/default.nix +++ b/pkgs/desktops/pantheon/apps/appcenter/default.nix @@ -7,6 +7,7 @@ , desktop-file-utils , elementary-icon-theme , fetchFromGitHub +, fetchpatch , flatpak , gettext , glib @@ -38,6 +39,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-xktIHQHmz5gh72NEz9UQ9fMvBlj1BihWxHgxsHmTIB0="; }; + patches = [ + # Fix AppStream.PoolFlags being renamed + # Though the API break has been fixed in latest appstream, + # let's use the non-deprecated version anyway. + # https://github.com/elementary/appcenter/pull/1794 + (fetchpatch { + url = "https://github.com/elementary/appcenter/commit/84bc6400713484aa9365f0ba73f59c495da3f08b.patch"; + sha256 = "sha256-HNRCJ/5mRbEVjCq9nrXtdQOOk1Jj5jalApkghD8ecpk="; + }) + ]; + nativeBuildInputs = [ appstream-glib dbus # for pkg-config diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix index fe7a8e946d10..45a8f119ee05 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , nix-update-script , linkFarm , substituteAll @@ -31,13 +30,13 @@ stdenv.mkDerivation rec { pname = "elementary-greeter"; - version = "6.0.1"; + version = "6.0.2"; src = fetchFromGitHub { owner = "elementary"; repo = "greeter"; rev = version; - sha256 = "1f606ds56sp1c58q8dblfpaq9pwwkqw9i4gkwksw45m2xkwlbflq"; + sha256 = "sha256-0chBM8JuCYgZXHneiSxSICZwBVm2Vgx+bas9wUjbnyg="; }; patches = [ @@ -47,15 +46,6 @@ stdenv.mkDerivation rec { src = ./hardcode-fallback-background.patch; default_wallpaper = "${nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}"; }) - # https://github.com/NixOS/nixpkgs/issues/151609 - # https://github.com/elementary/greeter/issues/578#issuecomment-1030746697 - ./fix-crash.patch - # Fix build with meson 0.61 - # https://github.com/elementary/greeter/pull/590 - (fetchpatch { - url = "https://github.com/elementary/greeter/commit/a4b25244058fce794a9f13f6b22a8ff7735ebde9.patch"; - sha256 = "sha256-qPXhdvmYG8YMDU/CjbEkfZ0glgRzxnu0TsOPtvWHxLY="; - }) ]; nativeBuildInputs = [ @@ -80,7 +70,6 @@ stdenv.mkDerivation rec { libhandy lightdm mutter - wingpanel-with-indicators ]; mesonFlags = [ diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch deleted file mode 100644 index ca6f6aab6d60..000000000000 --- a/pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/src/Cards/UserCard.vala b/src/Cards/UserCard.vala -index 83df22c..8cd917e 100644 ---- a/src/Cards/UserCard.vala -+++ b/src/Cards/UserCard.vala -@@ -42,6 +42,7 @@ public class Greeter.UserCard : Greeter.BaseCard { - private Gtk.Stack login_stack; - private Greeter.PasswordEntry password_entry; - -+ private SelectionCheck logged_in; - private unowned Gtk.StyleContext logged_in_context; - private weak Gtk.StyleContext main_grid_style_context; - private weak Gtk.StyleContext password_entry_context; -@@ -214,7 +215,7 @@ public class Greeter.UserCard : Greeter.BaseCard { - }; - avatar_overlay.add (avatar); - -- var logged_in = new SelectionCheck () { -+ logged_in = new SelectionCheck () { - halign = Gtk.Align.END, - valign = Gtk.Align.END - }; diff --git a/pkgs/development/python-modules/icnsutil/default.nix b/pkgs/development/python-modules/icnsutil/default.nix new file mode 100644 index 000000000000..05c24ec7c37e --- /dev/null +++ b/pkgs/development/python-modules/icnsutil/default.nix @@ -0,0 +1,31 @@ +{ lib +, python +, fetchFromGitHub +, buildPythonPackage +}: + +buildPythonPackage rec { + pname = "icnsutil"; + version = "1.0.1"; + + src = fetchFromGitHub { + owner = "relikd"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-TfQvAbP7iCpRQg2G+ejl245NCYo9DpYwMgiwY2BuJnY="; + }; + + doCheck = true; + + checkPhase = '' + ${python.interpreter} tests/test_icnsutil.py + ${python.interpreter} tests/test_cli.py + ''; + + meta = { + homepage = "https://github.com/relikd/icnsutil"; + description = "Create and extract .icns files."; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.reckenrode ]; + }; +} diff --git a/pkgs/development/python-modules/jschema-to-python/default.nix b/pkgs/development/python-modules/jschema-to-python/default.nix index a9100e061d7b..5b25b5c18a4b 100644 --- a/pkgs/development/python-modules/jschema-to-python/default.nix +++ b/pkgs/development/python-modules/jschema-to-python/default.nix @@ -15,13 +15,10 @@ buildPythonPackage rec { sha256 = "76ff14fe5d304708ccad1284e4b11f96a658949a31ee7faed9e0995279549b91"; }; - nativeBuildInputs = [ - pbr - ]; - propagatedBuildInputs = [ attrs jsonpickle + pbr ]; checkInputs =[ diff --git a/pkgs/development/python-modules/mypy-boto3-builder/default.nix b/pkgs/development/python-modules/mypy-boto3-builder/default.nix index 4bb371456373..3276c5631590 100644 --- a/pkgs/development/python-modules/mypy-boto3-builder/default.nix +++ b/pkgs/development/python-modules/mypy-boto3-builder/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "mypy-boto3-builder"; - version = "7.1.2"; + version = "7.2.1"; format = "pyproject"; disabled = pythonOlder "3.10"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "vemel"; repo = "mypy_boto3_builder"; rev = version; - hash = "sha256-p81Dk6Kv0MzHvexhM8Su5/yIpB+ZGBFqOtm0D18l26s="; + hash = "sha256-jovvSNw2ahCwhA+9zOrn9bR2siXJetZPymQVG4EC9Us="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix index 0b816fecf643..7648a7440a75 100644 --- a/pkgs/development/python-modules/pex/default.nix +++ b/pkgs/development/python-modules/pex/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "pex"; - version = "2.1.68"; + version = "2.1.69"; format = "flit"; src = fetchPypi { inherit pname version; - sha256 = "sha256-IuYEDKK4sQQ9xVBfHWtya/t9pLNX2gYcXMBpn72FDyo="; + sha256 = "sha256-JbQ8yn/uALjjVSRgqKXsQOC4rOCGkMPxb50KqWg89kM="; }; nativeBuildInputs = [ diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix index 972d3199aa38..7818f7464bad 100644 --- a/pkgs/development/tools/continuous-integration/github-runner/default.nix +++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix @@ -43,13 +43,13 @@ let in stdenv.mkDerivation rec { pname = "github-runner"; - version = "2.288.0"; + version = "2.288.1"; src = fetchFromGitHub { owner = "actions"; repo = "runner"; rev = "v${version}"; - hash = "sha256-vl8p+isoK+yczmsMO2YjnmJQW/k0jLgCUbhQa/wG650="; + hash = "sha256-bP+6aAKnu6PxN9eppFXsqOSVSGQ6Lv+gEF2MdEz52WE="; }; nativeBuildInputs = [ diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix index 9711ef871c0d..2221ae0a14b3 100644 --- a/pkgs/development/tools/rust/rust-analyzer/default.nix +++ b/pkgs/development/tools/rust/rust-analyzer/default.nix @@ -11,14 +11,14 @@ rustPlatform.buildRustPackage rec { pname = "rust-analyzer-unwrapped"; - version = "2022-02-22"; - cargoSha256 = "sha256-5PhmDiYC566KM0PfAaRdMpc0CAzDdez4uuLqBNBrma8="; + version = "2022-02-28"; + cargoSha256 = "sha256-dTw6xp99uGtGp6YuqAX3r3GDD6Wto3KHTaO2DUUE2FA="; src = fetchFromGitHub { owner = "rust-analyzer"; repo = "rust-analyzer"; rev = version; - sha256 = "sha256-O9onJrAJY0TWxEZZcTWuF7SGPypRtSo0ZbpzDLC5+os="; + sha256 = "sha256-GQ1cPO4povnozLl0MTFs0ZXpmBn+AZeFWQVnxHHWf9g="; }; patches = [ diff --git a/pkgs/os-specific/darwin/dockutil/default.nix b/pkgs/os-specific/darwin/dockutil/default.nix new file mode 100644 index 000000000000..d937ce8fd12a --- /dev/null +++ b/pkgs/os-specific/darwin/dockutil/default.nix @@ -0,0 +1,32 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "dockutil"; + version = "2.0.5"; + + src = fetchFromGitHub { + owner = "kcrawford"; + repo = "dockutil"; + rev = version; + sha256 = "sha256-8tDkueCTCtvxc7owp3K9Tsrn4hL79CM04zBNv7AcHgA="; + }; + + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + install -Dm755 scripts/dockutil -t $out/bin + + runHook postInstall + ''; + + meta = with lib; { + description = "Tool for managing dock items"; + homepage = "https://github.com/kcrawford/dockutil"; + license = licenses.asl20; + maintainers = with maintainers; [ tboerger ]; + platforms = platforms.darwin; + }; +} diff --git a/pkgs/tools/misc/staruml/default.nix b/pkgs/tools/misc/staruml/default.nix index 3d2042978f8d..1e0b50d6f85b 100644 --- a/pkgs/tools/misc/staruml/default.nix +++ b/pkgs/tools/misc/staruml/default.nix @@ -1,5 +1,6 @@ -{ stdenv, lib, fetchurl, makeWrapper -, dpkg, patchelf +{ stdenv, lib, fetchurl +, dpkg, patchelf, wrapGAppsHook +, hicolor-icon-theme , gtk3, glib, systemd , xorg, nss, nspr , atk, at-spi2-atk, dbus @@ -30,7 +31,8 @@ stdenv.mkDerivation rec { sha256 = "sha256-CUOdpR8RExMLeOX8469egENotMNuPU4z8S1IGqA21z0="; }; - nativeBuildInputs = [ makeWrapper dpkg ]; + nativeBuildInputs = [ wrapGAppsHook dpkg ]; + buildInputs = [ glib hicolor-icon-theme ]; unpackPhase = '' mkdir pkg @@ -39,8 +41,14 @@ stdenv.mkDerivation rec { ''; installPhase = '' - mkdir $out - mv opt/StarUML $out/bin + mkdir -p $out/bin + mv opt $out + + mv usr/share $out + rm -rf $out/share/doc + + substituteInPlace $out/share/applications/staruml.desktop \ + --replace "/opt/StarUML/staruml" "$out/bin/staruml" mkdir -p $out/lib ln -s ${stdenv.cc.cc.lib}/lib/libstdc++.so.6 $out/lib/ @@ -48,9 +56,15 @@ stdenv.mkDerivation rec { patchelf \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - $out/bin/staruml - wrapProgram $out/bin/staruml \ - --prefix LD_LIBRARY_PATH : $out/lib:${LD_LIBRARY_PATH} + $out/opt/StarUML/staruml + + ln -s $out/opt/StarUML/staruml $out/bin/staruml + ''; + + preFixup = '' + gappsWrapperArgs+=( + --prefix LD_LIBRARY_PATH ':' $out/lib:${LD_LIBRARY_PATH} + ) ''; meta = with lib; { diff --git a/pkgs/tools/security/witness/default.nix b/pkgs/tools/security/witness/default.nix index 571685afb400..bb15d9d72cc0 100644 --- a/pkgs/tools/security/witness/default.nix +++ b/pkgs/tools/security/witness/default.nix @@ -1,25 +1,57 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: buildGoModule rec { pname = "witness"; - version = "0.1.1"; + version = "0.1.6"; src = fetchFromGitHub { owner = "testifysec"; repo = pname; rev = "v${version}"; - sha256 = "sha256-NnDsiDUTCdjsHVA/mHnB8WRnvwFTzETkWUOd7IgMIWE="; + sha256 = "sha256-/35hIA6Wm/F5hwyLZbt4JXpwWISWbzVAWrX29r6pejY="; }; - vendorSha256 = "sha256-zkLparWJsuqrhOQxxV37dBqt6fwpSinTO+paJkbl+sM="; + vendorSha256 = "sha256-vXDsHHJknw9hsHx1mJA2c0CWwFbRXjCjitNWPh6V4yw="; + + nativeBuildInputs = [ installShellFiles ]; # We only want the witness binary, not the helper utilities for generating docs. subPackages = [ "cmd/witness" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/testifysec/witness/cmd/witness/cmd.Version=v${version}" + ]; + + # Feed in all tests for testing + # This is because subPackages above limits what is built to just what we + # want but also limits the tests + preCheck = '' + unset subPackages + ''; + + postInstall = '' + installShellCompletion --cmd witness \ + --bash <($out/bin/witness completion bash) \ + --fish <($out/bin/witness completion fish) \ + --zsh <($out/bin/witness completion zsh) + ''; + meta = with lib; { description = "A pluggable framework for software supply chain security. Witness prevents tampering of build materials and verifies the integrity of the build process from source to target"; + longDescription = '' + Witness prevents tampering of build materials and verifies the integrity + of the build process from source to target. It works by wrapping commands + executed in a continuous integration process. Its attestation system is + pluggable and offers support out of the box for most major CI and + infrastructure providers. Verification of Witness metadata and a secure + PKI distribution system will mitigate against many software supply chain + attack vectors and can be used as a framework for automated governance. + ''; homepage = "https://github.com/testifysec/witness"; + changelog = "https://github.com/testifysec/witness/releases/tag/v${version}"; license = licenses.asl20; - maintainers = with maintainers; [ fkautz ]; + maintainers = with maintainers; [ fkautz jk ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8cc10b9cec1b..d89f67e3abbe 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -830,8 +830,9 @@ with pkgs; writeDarwinBundle = callPackage ../build-support/make-darwin-bundle/write-darwin-bundle.nix { }; - desktopToDarwinBundle = makeSetupHook { deps = [ writeDarwinBundle imagemagick ]; } - ../build-support/setup-hooks/desktop-to-darwin-bundle.sh; + desktopToDarwinBundle = makeSetupHook { + deps = [ writeDarwinBundle librsvg imagemagick python3Packages.icnsutil ]; + } ../build-support/setup-hooks/desktop-to-darwin-bundle.sh; keepBuildTree = makeSetupHook { } ../build-support/setup-hooks/keep-build-tree.sh; @@ -33025,6 +33026,8 @@ with pkgs; dell-530cdn = callPackage ../misc/drivers/dell-530cdn {}; + dockutil = callPackage ../os-specific/darwin/dockutil { }; + dosbox = callPackage ../applications/emulators/dosbox { }; dosbox-staging = callPackage ../applications/emulators/dosbox-staging { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d92928f96f82..baa3553cac97 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3912,6 +3912,8 @@ in { icmplib = callPackage ../development/python-modules/icmplib { }; + icnsutil = callPackage ../development/python-modules/icnsutil { }; + ics = callPackage ../development/python-modules/ics { }; idasen = callPackage ../development/python-modules/idasen { };