Merge master into staging-next

This commit is contained in:
github-actions[bot] 2022-03-02 06:11:13 +00:00 committed by GitHub
commit cd1f27794e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
28 changed files with 323 additions and 106 deletions

View file

@ -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)) 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 runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
with: with:
# required to find all branches # required to find all branches
fetch-depth: 0 fetch-depth: 0

View file

@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
# we don't limit this action to only NixOS repo since the checks are cheap and useful developer feedback # we don't limit this action to only NixOS repo since the checks are cheap and useful developer feedback
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: cachix/install-nix-action@v16 - uses: cachix/install-nix-action@v16
# explicit list of supportedSystems is needed until aarch64-darwin becomes part of the trunk jobset # 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" ]' - 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" ]'

View file

@ -24,7 +24,7 @@ jobs:
- name: print list of changed files - name: print list of changed files
run: | run: |
cat "$HOME/changed_files" cat "$HOME/changed_files"
- uses: actions/checkout@v2 - uses: actions/checkout@v3
with: with:
# pull_request_target checks out the base branch by default # pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge ref: refs/pull/${{ github.event.pull_request.number }}/merge

View file

@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS' if: github.repository_owner == 'NixOS'
steps: steps:
- uses: actions/labeler@v3 - uses: actions/labeler@v4
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
sync-labels: true sync-labels: true

View file

@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS' if: github.repository_owner == 'NixOS'
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
with: with:
# pull_request_target checks out the base branch by default # pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge ref: refs/pull/${{ github.event.pull_request.number }}/merge

View file

@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS' if: github.repository_owner == 'NixOS'
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
with: with:
# pull_request_target checks out the base branch by default # pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge ref: refs/pull/${{ github.event.pull_request.number }}/merge

View file

@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS' if: github.repository_owner == 'NixOS'
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
with: with:
# pull_request_target checks out the base branch by default # pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge ref: refs/pull/${{ github.event.pull_request.number }}/merge

View file

@ -38,7 +38,7 @@ jobs:
into: staging-21.11 into: staging-21.11
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }} name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }} - name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
uses: devmasx/merge-branch@1.4.0 uses: devmasx/merge-branch@1.4.0

View file

@ -32,7 +32,7 @@ jobs:
into: staging into: staging
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }} name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }} - name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
uses: devmasx/merge-branch@1.4.0 uses: devmasx/merge-branch@1.4.0

View file

@ -10,7 +10,7 @@ jobs:
if: github.repository_owner == 'NixOS' && github.ref == 'refs/heads/master' # ensure workflow_dispatch only runs on master if: github.repository_owner == 'NixOS' && github.ref == 'refs/heads/master' # ensure workflow_dispatch only runs on master
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: cachix/install-nix-action@v16 - uses: cachix/install-nix-action@v16
- name: setup - name: setup
id: setup id: setup

View file

@ -3,11 +3,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "whalebird"; pname = "whalebird";
version = "4.5.1"; version = "4.5.2";
src = fetchurl { src = fetchurl {
url = "https://github.com/h3poteto/whalebird-desktop/releases/download/${version}/Whalebird-${version}-linux-x64.deb"; url = "https://github.com/h3poteto/whalebird-desktop/releases/download/${version}/Whalebird-${version}-linux-x64.deb";
sha256 = "sha256-70fCyxiM4CiNuG4Lqr4Tq0FHak3wDcp8G93EKYj+0kc="; sha256 = "sha256-4ksKXVeUGICHfx014s5g9mapS751dbexBjzyqNvk02M=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -1,6 +1,6 @@
{ lib, stdenv, fetchurl, makeWrapper, makeDesktopItem, zlib, glib, libpng, freetype, openssl { lib, stdenv, fetchurl, makeWrapper, makeDesktopItem, zlib, glib, libpng, freetype, openssl
, xorg, fontconfig, qtbase, qtwebengine, qtwebchannel, qtsvg, qtwebsockets, xkeyboard_config , 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 let
@ -13,7 +13,7 @@ let
[ zlib glib libpng freetype xorg.libSM xorg.libICE xorg.libXrender openssl [ zlib glib libpng freetype xorg.libSM xorg.libICE xorg.libXrender openssl
xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama
xorg.libxcb fontconfig xorg.libXext xorg.libX11 alsa-lib qtbase qtwebengine qtwebchannel qtsvg 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 { desktopItem = makeDesktopItem {

View file

@ -4,33 +4,34 @@ let
pListText = lib.generators.toPlist { } { pListText = lib.generators.toPlist { } {
CFBundleDevelopmentRegion = "English"; CFBundleDevelopmentRegion = "English";
CFBundleExecutable = "$name"; CFBundleExecutable = "$name";
CFBundleIconFiles = [ "$iconPlistArray" ]; CFBundleIconFile = "$icon";
CFBundleIdentifier = "org.nixos.$name"; CFBundleIdentifier = "org.nixos.$name";
CFBundleInfoDictionaryVersion = "6.0"; CFBundleInfoDictionaryVersion = "6.0";
CFBundleName = "$name"; CFBundleName = "$name";
CFBundlePackageType = "APPL"; CFBundlePackageType = "APPL";
CFBundleSignature = "???"; CFBundleSignature = "???";
}; };
# The generation of the CFBundleIconFiles array is a bit of a hack, since we
# will always end up with an empty first element (<string></string>) but macOS
# appears to ignore this which allows us to use the nix PList generator.
in writeScriptBin "write-darwin-bundle" '' in writeScriptBin "write-darwin-bundle" ''
shopt -s nullglob shopt -s nullglob
readonly prefix="$1" readonly prefix=$1
readonly name="$2" readonly name=$2
readonly exec="$3" readonly exec=$3
iconPlistArray="" 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 cat > "$plist" <<EOF
iconPlistArray="$iconPlistArray</string><string>"$(basename "$icon")""
done
cat > "$prefix/Applications/$name.app/Contents/Info.plist" <<EOF
${pListText} ${pListText}
EOF EOF
if [[ $squircle != 0 && $squircle != "false" ]]; then
sed "
s|CFBundleIconFile|CFBundleIconFiles|;
s|<string>$icon</string>|<array><string>$icon</string></array>|
" -i "$plist"
fi
cat > "$prefix/Applications/$name.app/Contents/MacOS/$name" <<EOF cat > "$prefix/Applications/$name.app/Contents/MacOS/$name" <<EOF
#!/bin/bash #!/bin/bash
exec $prefix/bin/$exec exec $prefix/bin/$exec

View file

@ -10,31 +10,156 @@ getDesktopParam() {
awk -F "=" "/${pattern}/ {print \$2}" "${file}" awk -F "=" "/${pattern}/ {print \$2}" "${file}"
} }
# Convert a freedesktop.org icon theme for a given app to a .icns file. When possible, missing
# icons are synthesized from SVG or rescaled from existing ones (when within the size threshold).
convertIconTheme() {
local -r out=$1
local -r sharePath=$2
local -r iconName=$3
local -r theme=${4:-hicolor}
local -ra iconSizes=(16 32 48 128 256 512)
local -ra scales=([1]="" [2]="@2")
# Based loosely on the algorithm at:
# https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html#icon_lookup
# Assumes threshold = 2 for ease of implementation.
function findIcon() {
local -r iconSize=$1
local -r scale=$2
local scaleSuffix=${scales[$scale]}
local exactSize=${iconSize}x${iconSize}${scaleSuffix}
if [[ $exactSize = '48x48@2' ]]; then
# macOS does not support a 2x scale variant of 48x48 icons
# See: https://en.wikipedia.org/wiki/Apple_Icon_Image_format#Icon_types
echo "unsupported"
return 0
fi
local -a validSizes=(
${exactSize}
$((iconSize + 1))x$((iconSize + 1))${scaleSuffix}
$((iconSize + 2))x$((iconSize + 2))${scaleSuffix}
$((iconSize - 1))x$((iconSize - 1))${scaleSuffix}
$((iconSize - 2))x$((iconSize - 2))${scaleSuffix}
)
for iconIndex in "${!candidateIcons[@]}"; do
for maybeSize in "${validSizes[@]}"; do
icon=${candidateIcons[$iconIndex]}
if [[ $icon = */$maybeSize/* ]]; then
if [[ $maybeSize = $exactSize ]]; then
echo "fixed $icon"
else
echo "threshold $icon"
fi
return 0
fi
done
done
echo "scalable"
}
function resizeIcon() {
local -r in=$1
local -r out=$2
local -r iconSize=$3
local -r scale=$4
local density=$((72 * scale))x$((72 * scale))
local dim=$((iconSize * scale))
magick convert -scale "${dim}x${dim}" -density "$density" -units PixelsPerInch "$in" "$out"
}
function synthesizeIcon() {
local -r in=$1
local -r out=$2
local -r iconSize=$3
local -r scale=$4
if [[ $in != '-' ]]; then
local density=$((72 * scale))x$((72 * scale))
local dim=$((iconSize * scale))
rsvg-convert --keep-aspect-ratio --width "$dim" --height "$dim" "$in" --output "$out"
magick convert -density "$density" -units PixelsPerInch "$out" "$out"
else
return 1
fi
}
function getIcons() {
local -r sharePath=$1
local -r iconname=$2
local -r theme=$3
local -r resultdir=$(mktemp -d)
local -ar candidateIcons=(
"${sharePath}/icons/${theme}/"*"/${iconname}.png"
"${sharePath}/icons/${theme}/"*"/${iconname}.xpm"
)
local -a scalableIcon=("${sharePath}/icons/${theme}/scalable/${iconname}.svg"*)
if [[ ${#scalableIcon[@]} = 0 ]]; then
scalableIcon=('-')
fi
for iconSize in "${iconSizes[@]}"; do
for scale in "${!scales[@]}"; do
local iconResult=$(findIcon $iconSize $scale)
local type=${iconResult%% *}
local icon=${iconResult#* }
local scaleSuffix=${scales[$scale]}
local result=${resultdir}/${iconSize}x${iconSize}${scales[$scale]}${scaleSuffix:+x}.png
case $type in
fixed)
local density=$((72 * scale))x$((72 * scale))
magick convert -density "$density" -units PixelsPerInch "$icon" "$result"
;;
threshold)
# Synthesize an icon of the exact size if a scalable icon is available
# instead of scaling one and ending up with a fuzzy icon.
if ! synthesizeIcon "${scalableIcon[0]}" "$result" "$iconSize" "$scale"; then
resizeIcon "$icon" "$result" "$iconSize" "$scale"
fi
;;
scalable)
synthesizeIcon "${scalableIcon[0]}" "$result" "$iconSize" "$scale" || true
;;
*)
;;
esac
done
done
echo "$resultdir"
}
iconsdir=$(getIcons "$sharePath" "apps/${iconName}" "$theme")
if [[ ! -z "$(ls -1 "$iconsdir/"*)" ]]; then
icnsutil compose "$out/${iconName}.icns" "$iconsdir/"*
else
echo "Warning: no icons were found. Creating an empty icon for ${iconName}.icns."
touch "$out/${iconName}.icns"
fi
}
# For a given .desktop file, generate a darwin '.app' bundle for it. # For a given .desktop file, generate a darwin '.app' bundle for it.
convertDesktopFile() { convertDesktopFile() {
local -r file="$1" local -r file=$1
local -r sharePath=$(dirname "$(dirname "$file")")
local -r name=$(getDesktopParam "${file}" "^Name") local -r name=$(getDesktopParam "${file}" "^Name")
local -r exec=$(getDesktopParam "${file}" "Exec") local -r exec=$(getDesktopParam "${file}" "Exec")
local -r iconName=$(getDesktopParam "${file}" "Icon") local -r iconName=$(getDesktopParam "${file}" "^Icon")
local -r iconFiles=$(find "$out/share/icons/" -name "${iconName}.*" 2>/dev/null); local -r squircle=$(getDesktopParam "${file}" "X-macOS-SquircleIcon")
local -r pixMaps=$(find "$out/share/pixmaps/" -name "${iconName}.xpm" 2>/dev/null);
mkdir -p "$out/Applications/${name}.app/Contents/MacOS" mkdir -p "$out/Applications/${name}.app/Contents/MacOS"
mkdir -p "$out/Applications/${name}.app/Contents/Resources" mkdir -p "$out/Applications/${name}.app/Contents/Resources"
local i=0; convertIconTheme "$out/Applications/${name}.app/Contents/Resources" "$sharePath" "$iconName"
for icon in $iconFiles; do
ln -s "$icon" "$out/Applications/${name}.app/Contents/Resources/$i-$(basename "$icon")"
(( i +=1 ));
done
for pixmap in $pixMaps; do write-darwin-bundle "$out" "$name" "$exec" "$iconName" "$squircle"
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"
} }
convertDesktopFiles() { convertDesktopFiles() {

View file

@ -7,6 +7,7 @@
, desktop-file-utils , desktop-file-utils
, elementary-icon-theme , elementary-icon-theme
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, flatpak , flatpak
, gettext , gettext
, glib , glib
@ -38,6 +39,17 @@ stdenv.mkDerivation rec {
sha256 = "sha256-xktIHQHmz5gh72NEz9UQ9fMvBlj1BihWxHgxsHmTIB0="; 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 = [ nativeBuildInputs = [
appstream-glib appstream-glib
dbus # for pkg-config dbus # for pkg-config

View file

@ -1,7 +1,6 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, nix-update-script , nix-update-script
, linkFarm , linkFarm
, substituteAll , substituteAll
@ -31,13 +30,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "elementary-greeter"; pname = "elementary-greeter";
version = "6.0.1"; version = "6.0.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "elementary"; owner = "elementary";
repo = "greeter"; repo = "greeter";
rev = version; rev = version;
sha256 = "1f606ds56sp1c58q8dblfpaq9pwwkqw9i4gkwksw45m2xkwlbflq"; sha256 = "sha256-0chBM8JuCYgZXHneiSxSICZwBVm2Vgx+bas9wUjbnyg=";
}; };
patches = [ patches = [
@ -47,15 +46,6 @@ stdenv.mkDerivation rec {
src = ./hardcode-fallback-background.patch; src = ./hardcode-fallback-background.patch;
default_wallpaper = "${nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}"; 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 = [ nativeBuildInputs = [
@ -80,7 +70,6 @@ stdenv.mkDerivation rec {
libhandy libhandy
lightdm lightdm
mutter mutter
wingpanel-with-indicators
]; ];
mesonFlags = [ mesonFlags = [

View file

@ -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
};

View file

@ -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 ];
};
}

View file

@ -15,13 +15,10 @@ buildPythonPackage rec {
sha256 = "76ff14fe5d304708ccad1284e4b11f96a658949a31ee7faed9e0995279549b91"; sha256 = "76ff14fe5d304708ccad1284e4b11f96a658949a31ee7faed9e0995279549b91";
}; };
nativeBuildInputs = [
pbr
];
propagatedBuildInputs = [ propagatedBuildInputs = [
attrs attrs
jsonpickle jsonpickle
pbr
]; ];
checkInputs =[ checkInputs =[

View file

@ -16,7 +16,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "mypy-boto3-builder"; pname = "mypy-boto3-builder";
version = "7.1.2"; version = "7.2.1";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.10"; disabled = pythonOlder "3.10";
@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "vemel"; owner = "vemel";
repo = "mypy_boto3_builder"; repo = "mypy_boto3_builder";
rev = version; rev = version;
hash = "sha256-p81Dk6Kv0MzHvexhM8Su5/yIpB+ZGBFqOtm0D18l26s="; hash = "sha256-jovvSNw2ahCwhA+9zOrn9bR2siXJetZPymQVG4EC9Us=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -6,12 +6,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pex"; pname = "pex";
version = "2.1.68"; version = "2.1.69";
format = "flit"; format = "flit";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-IuYEDKK4sQQ9xVBfHWtya/t9pLNX2gYcXMBpn72FDyo="; sha256 = "sha256-JbQ8yn/uALjjVSRgqKXsQOC4rOCGkMPxb50KqWg89kM=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -43,13 +43,13 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "github-runner"; pname = "github-runner";
version = "2.288.0"; version = "2.288.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "actions"; owner = "actions";
repo = "runner"; repo = "runner";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-vl8p+isoK+yczmsMO2YjnmJQW/k0jLgCUbhQa/wG650="; hash = "sha256-bP+6aAKnu6PxN9eppFXsqOSVSGQ6Lv+gEF2MdEz52WE=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -11,14 +11,14 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "rust-analyzer-unwrapped"; pname = "rust-analyzer-unwrapped";
version = "2022-02-22"; version = "2022-02-28";
cargoSha256 = "sha256-5PhmDiYC566KM0PfAaRdMpc0CAzDdez4uuLqBNBrma8="; cargoSha256 = "sha256-dTw6xp99uGtGp6YuqAX3r3GDD6Wto3KHTaO2DUUE2FA=";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rust-analyzer"; owner = "rust-analyzer";
repo = "rust-analyzer"; repo = "rust-analyzer";
rev = version; rev = version;
sha256 = "sha256-O9onJrAJY0TWxEZZcTWuF7SGPypRtSo0ZbpzDLC5+os="; sha256 = "sha256-GQ1cPO4povnozLl0MTFs0ZXpmBn+AZeFWQVnxHHWf9g=";
}; };
patches = [ patches = [

View file

@ -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;
};
}

View file

@ -1,5 +1,6 @@
{ stdenv, lib, fetchurl, makeWrapper { stdenv, lib, fetchurl
, dpkg, patchelf , dpkg, patchelf, wrapGAppsHook
, hicolor-icon-theme
, gtk3, glib, systemd , gtk3, glib, systemd
, xorg, nss, nspr , xorg, nss, nspr
, atk, at-spi2-atk, dbus , atk, at-spi2-atk, dbus
@ -30,7 +31,8 @@ stdenv.mkDerivation rec {
sha256 = "sha256-CUOdpR8RExMLeOX8469egENotMNuPU4z8S1IGqA21z0="; sha256 = "sha256-CUOdpR8RExMLeOX8469egENotMNuPU4z8S1IGqA21z0=";
}; };
nativeBuildInputs = [ makeWrapper dpkg ]; nativeBuildInputs = [ wrapGAppsHook dpkg ];
buildInputs = [ glib hicolor-icon-theme ];
unpackPhase = '' unpackPhase = ''
mkdir pkg mkdir pkg
@ -39,8 +41,14 @@ stdenv.mkDerivation rec {
''; '';
installPhase = '' installPhase = ''
mkdir $out mkdir -p $out/bin
mv opt/StarUML $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 mkdir -p $out/lib
ln -s ${stdenv.cc.cc.lib}/lib/libstdc++.so.6 $out/lib/ ln -s ${stdenv.cc.cc.lib}/lib/libstdc++.so.6 $out/lib/
@ -48,9 +56,15 @@ stdenv.mkDerivation rec {
patchelf \ patchelf \
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$out/bin/staruml $out/opt/StarUML/staruml
wrapProgram $out/bin/staruml \
--prefix LD_LIBRARY_PATH : $out/lib:${LD_LIBRARY_PATH} ln -s $out/opt/StarUML/staruml $out/bin/staruml
'';
preFixup = ''
gappsWrapperArgs+=(
--prefix LD_LIBRARY_PATH ':' $out/lib:${LD_LIBRARY_PATH}
)
''; '';
meta = with lib; { meta = with lib; {

View file

@ -1,25 +1,57 @@
{ lib, buildGoModule, fetchFromGitHub }: { lib, buildGoModule, fetchFromGitHub, installShellFiles }:
buildGoModule rec { buildGoModule rec {
pname = "witness"; pname = "witness";
version = "0.1.1"; version = "0.1.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "testifysec"; owner = "testifysec";
repo = pname; repo = pname;
rev = "v${version}"; 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. # We only want the witness binary, not the helper utilities for generating docs.
subPackages = [ "cmd/witness" ]; 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; { 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"; 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"; homepage = "https://github.com/testifysec/witness";
changelog = "https://github.com/testifysec/witness/releases/tag/v${version}";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ fkautz ]; maintainers = with maintainers; [ fkautz jk ];
}; };
} }

View file

@ -830,8 +830,9 @@ with pkgs;
writeDarwinBundle = callPackage ../build-support/make-darwin-bundle/write-darwin-bundle.nix { }; writeDarwinBundle = callPackage ../build-support/make-darwin-bundle/write-darwin-bundle.nix { };
desktopToDarwinBundle = makeSetupHook { deps = [ writeDarwinBundle imagemagick ]; } desktopToDarwinBundle = makeSetupHook {
../build-support/setup-hooks/desktop-to-darwin-bundle.sh; 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; keepBuildTree = makeSetupHook { } ../build-support/setup-hooks/keep-build-tree.sh;
@ -33025,6 +33026,8 @@ with pkgs;
dell-530cdn = callPackage ../misc/drivers/dell-530cdn {}; dell-530cdn = callPackage ../misc/drivers/dell-530cdn {};
dockutil = callPackage ../os-specific/darwin/dockutil { };
dosbox = callPackage ../applications/emulators/dosbox { }; dosbox = callPackage ../applications/emulators/dosbox { };
dosbox-staging = callPackage ../applications/emulators/dosbox-staging { }; dosbox-staging = callPackage ../applications/emulators/dosbox-staging { };

View file

@ -3912,6 +3912,8 @@ in {
icmplib = callPackage ../development/python-modules/icmplib { }; icmplib = callPackage ../development/python-modules/icmplib { };
icnsutil = callPackage ../development/python-modules/icnsutil { };
ics = callPackage ../development/python-modules/ics { }; ics = callPackage ../development/python-modules/ics { };
idasen = callPackage ../development/python-modules/idasen { }; idasen = callPackage ../development/python-modules/idasen { };