Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2023-01-14 18:01:41 +00:00 committed by GitHub
commit 5ad514cb7e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
51 changed files with 3954 additions and 910 deletions

View File

@ -20,4 +20,6 @@ in
config = mkIf cfg.enable {
services.github-runners.${cfg.name} = cfg;
};
meta.maintainers = with maintainers; [ veehaitch newam ];
}

View File

@ -127,10 +127,11 @@ with lib;
serviceOverrides = mkOption {
type = types.attrs;
description = lib.mdDoc ''
Overrides for the systemd service. Can be used to adjust the sandboxing options.
Modify the systemd service. Can be used to, e.g., adjust the sandboxing options.
'';
example = {
ProtectHome = false;
RestrictAddressFamilies = [ "AF_PACKET" ];
};
default = {};
};

View File

@ -45,222 +45,224 @@ in
config.nix.package
] ++ cfg.extraPackages;
serviceConfig = {
ExecStart = "${cfg.package}/bin/Runner.Listener run --startuptype service";
serviceConfig = mkMerge [
{
ExecStart = "${cfg.package}/bin/Runner.Listener run --startuptype service";
# Does the following, sequentially:
# - If the module configuration or the token has changed, purge the state directory,
# and create the current and the new token file with the contents of the configured
# token. While both files have the same content, only the later is accessible by
# the service user.
# - Configure the runner using the new token file. When finished, delete it.
# - Set up the directory structure by creating the necessary symlinks.
ExecStartPre =
let
# Wrapper script which expects the full path of the state, working and logs
# directory as arguments. Overrides the respective systemd variables to provide
# unambiguous directory names. This becomes relevant, for example, if the
# caller overrides any of the StateDirectory=, RuntimeDirectory= or LogDirectory=
# to contain more than one directory. This causes systemd to set the respective
# environment variables with the path of all of the given directories, separated
# by a colon.
writeScript = name: lines: pkgs.writeShellScript "${svcName}-${name}.sh" ''
set -euo pipefail
# Does the following, sequentially:
# - If the module configuration or the token has changed, purge the state directory,
# and create the current and the new token file with the contents of the configured
# token. While both files have the same content, only the later is accessible by
# the service user.
# - Configure the runner using the new token file. When finished, delete it.
# - Set up the directory structure by creating the necessary symlinks.
ExecStartPre =
let
# Wrapper script which expects the full path of the state, working and logs
# directory as arguments. Overrides the respective systemd variables to provide
# unambiguous directory names. This becomes relevant, for example, if the
# caller overrides any of the StateDirectory=, RuntimeDirectory= or LogDirectory=
# to contain more than one directory. This causes systemd to set the respective
# environment variables with the path of all of the given directories, separated
# by a colon.
writeScript = name: lines: pkgs.writeShellScript "${svcName}-${name}.sh" ''
set -euo pipefail
STATE_DIRECTORY="$1"
WORK_DIRECTORY="$2"
LOGS_DIRECTORY="$3"
STATE_DIRECTORY="$1"
WORK_DIRECTORY="$2"
LOGS_DIRECTORY="$3"
${lines}
'';
runnerRegistrationConfig = getAttrs [ "name" "tokenFile" "url" "runnerGroup" "extraLabels" "ephemeral" "workDir" ] cfg;
newConfigPath = builtins.toFile "${svcName}-config.json" (builtins.toJSON runnerRegistrationConfig);
currentConfigPath = "$STATE_DIRECTORY/.nixos-current-config.json";
newConfigTokenPath= "$STATE_DIRECTORY/.new-token";
currentConfigTokenPath = "$STATE_DIRECTORY/${currentConfigTokenFilename}";
${lines}
'';
runnerRegistrationConfig = getAttrs [ "name" "tokenFile" "url" "runnerGroup" "extraLabels" "ephemeral" "workDir" ] cfg;
newConfigPath = builtins.toFile "${svcName}-config.json" (builtins.toJSON runnerRegistrationConfig);
currentConfigPath = "$STATE_DIRECTORY/.nixos-current-config.json";
newConfigTokenPath = "$STATE_DIRECTORY/.new-token";
currentConfigTokenPath = "$STATE_DIRECTORY/${currentConfigTokenFilename}";
runnerCredFiles = [
".credentials"
".credentials_rsaparams"
".runner"
];
unconfigureRunner = writeScript "unconfigure" ''
copy_tokens() {
# Copy the configured token file to the state dir and allow the service user to read the file
install --mode=666 ${escapeShellArg cfg.tokenFile} "${newConfigTokenPath}"
# Also copy current file to allow for a diff on the next start
install --mode=600 ${escapeShellArg cfg.tokenFile} "${currentConfigTokenPath}"
}
clean_state() {
find "$STATE_DIRECTORY/" -mindepth 1 -delete
copy_tokens
}
diff_config() {
changed=0
# Check for module config changes
[[ -f "${currentConfigPath}" ]] \
&& ${pkgs.diffutils}/bin/diff -q '${newConfigPath}' "${currentConfigPath}" >/dev/null 2>&1 \
|| changed=1
# Also check the content of the token file
[[ -f "${currentConfigTokenPath}" ]] \
&& ${pkgs.diffutils}/bin/diff -q "${currentConfigTokenPath}" ${escapeShellArg cfg.tokenFile} >/dev/null 2>&1 \
|| changed=1
# If the config has changed, remove old state and copy tokens
if [[ "$changed" -eq 1 ]]; then
echo "Config has changed, removing old runner state."
echo "The old runner will still appear in the GitHub Actions UI." \
"You have to remove it manually."
runnerCredFiles = [
".credentials"
".credentials_rsaparams"
".runner"
];
unconfigureRunner = writeScript "unconfigure" ''
copy_tokens() {
# Copy the configured token file to the state dir and allow the service user to read the file
install --mode=666 ${escapeShellArg cfg.tokenFile} "${newConfigTokenPath}"
# Also copy current file to allow for a diff on the next start
install --mode=600 ${escapeShellArg cfg.tokenFile} "${currentConfigTokenPath}"
}
clean_state() {
find "$STATE_DIRECTORY/" -mindepth 1 -delete
copy_tokens
}
diff_config() {
changed=0
# Check for module config changes
[[ -f "${currentConfigPath}" ]] \
&& ${pkgs.diffutils}/bin/diff -q '${newConfigPath}' "${currentConfigPath}" >/dev/null 2>&1 \
|| changed=1
# Also check the content of the token file
[[ -f "${currentConfigTokenPath}" ]] \
&& ${pkgs.diffutils}/bin/diff -q "${currentConfigTokenPath}" ${escapeShellArg cfg.tokenFile} >/dev/null 2>&1 \
|| changed=1
# If the config has changed, remove old state and copy tokens
if [[ "$changed" -eq 1 ]]; then
echo "Config has changed, removing old runner state."
echo "The old runner will still appear in the GitHub Actions UI." \
"You have to remove it manually."
clean_state
fi
}
if [[ "${optionalString cfg.ephemeral "1"}" ]]; then
# In ephemeral mode, we always want to start with a clean state
clean_state
fi
}
if [[ "${optionalString cfg.ephemeral "1"}" ]]; then
# In ephemeral mode, we always want to start with a clean state
clean_state
elif [[ "$(ls -A "$STATE_DIRECTORY")" ]]; then
# There are state files from a previous run; diff them to decide if we need a new registration
diff_config
else
# The state directory is entirely empty which indicates a first start
copy_tokens
fi
'';
configureRunner = writeScript "configure" ''
if [[ -e "${newConfigTokenPath}" ]]; then
echo "Configuring GitHub Actions Runner"
args=(
--unattended
--disableupdate
--work "$WORK_DIRECTORY"
--url ${escapeShellArg cfg.url}
--labels ${escapeShellArg (concatStringsSep "," cfg.extraLabels)}
--name ${escapeShellArg cfg.name}
${optionalString cfg.replace "--replace"}
${optionalString (cfg.runnerGroup != null) "--runnergroup ${escapeShellArg cfg.runnerGroup}"}
${optionalString cfg.ephemeral "--ephemeral"}
)
# If the token file contains a PAT (i.e., it starts with "ghp_" or "github_pat_"), we have to use the --pat option,
# if it is not a PAT, we assume it contains a registration token and use the --token option
token=$(<"${newConfigTokenPath}")
if [[ "$token" =~ ^ghp_* ]] || [[ "$token" =~ ^github_pat_* ]]; then
args+=(--pat "$token")
elif [[ "$(ls -A "$STATE_DIRECTORY")" ]]; then
# There are state files from a previous run; diff them to decide if we need a new registration
diff_config
else
args+=(--token "$token")
# The state directory is entirely empty which indicates a first start
copy_tokens
fi
${cfg.package}/bin/config.sh "''${args[@]}"
# Move the automatically created _diag dir to the logs dir
mkdir -p "$STATE_DIRECTORY/_diag"
cp -r "$STATE_DIRECTORY/_diag/." "$LOGS_DIRECTORY/"
rm -rf "$STATE_DIRECTORY/_diag/"
# Cleanup token from config
rm "${newConfigTokenPath}"
# Symlink to new config
ln -s '${newConfigPath}' "${currentConfigPath}"
fi
'';
setupWorkDir = writeScript "setup-work-dirs" ''
# Cleanup previous service
${pkgs.findutils}/bin/find -H "$WORK_DIRECTORY" -mindepth 1 -delete
'';
configureRunner = writeScript "configure" ''
if [[ -e "${newConfigTokenPath}" ]]; then
echo "Configuring GitHub Actions Runner"
args=(
--unattended
--disableupdate
--work "$WORK_DIRECTORY"
--url ${escapeShellArg cfg.url}
--labels ${escapeShellArg (concatStringsSep "," cfg.extraLabels)}
--name ${escapeShellArg cfg.name}
${optionalString cfg.replace "--replace"}
${optionalString (cfg.runnerGroup != null) "--runnergroup ${escapeShellArg cfg.runnerGroup}"}
${optionalString cfg.ephemeral "--ephemeral"}
)
# If the token file contains a PAT (i.e., it starts with "ghp_" or "github_pat_"), we have to use the --pat option,
# if it is not a PAT, we assume it contains a registration token and use the --token option
token=$(<"${newConfigTokenPath}")
if [[ "$token" =~ ^ghp_* ]] || [[ "$token" =~ ^github_pat_* ]]; then
args+=(--pat "$token")
else
args+=(--token "$token")
fi
${cfg.package}/bin/config.sh "''${args[@]}"
# Move the automatically created _diag dir to the logs dir
mkdir -p "$STATE_DIRECTORY/_diag"
cp -r "$STATE_DIRECTORY/_diag/." "$LOGS_DIRECTORY/"
rm -rf "$STATE_DIRECTORY/_diag/"
# Cleanup token from config
rm "${newConfigTokenPath}"
# Symlink to new config
ln -s '${newConfigPath}' "${currentConfigPath}"
fi
'';
setupWorkDir = writeScript "setup-work-dirs" ''
# Cleanup previous service
${pkgs.findutils}/bin/find -H "$WORK_DIRECTORY" -mindepth 1 -delete
# Link _diag dir
ln -s "$LOGS_DIRECTORY" "$WORK_DIRECTORY/_diag"
# Link _diag dir
ln -s "$LOGS_DIRECTORY" "$WORK_DIRECTORY/_diag"
# Link the runner credentials to the work dir
ln -s "$STATE_DIRECTORY"/{${lib.concatStringsSep "," runnerCredFiles}} "$WORK_DIRECTORY/"
'';
in
# Link the runner credentials to the work dir
ln -s "$STATE_DIRECTORY"/{${lib.concatStringsSep "," runnerCredFiles}} "$WORK_DIRECTORY/"
'';
in
map (x: "${x} ${escapeShellArgs [ stateDir workDir logsDir ]}") [
"+${unconfigureRunner}" # runs as root
configureRunner
setupWorkDir
];
# If running in ephemeral mode, restart the service on-exit (i.e., successful de-registration of the runner)
# to trigger a fresh registration.
Restart = if cfg.ephemeral then "on-success" else "no";
# If the runner exits with `ReturnCode.RetryableError = 2`, always restart the service:
# https://github.com/actions/runner/blob/40ed7f8/src/Runner.Common/Constants.cs#L146
RestartForceExitStatus = [ 2 ];
# If running in ephemeral mode, restart the service on-exit (i.e., successful de-registration of the runner)
# to trigger a fresh registration.
Restart = if cfg.ephemeral then "on-success" else "no";
# If the runner exits with `ReturnCode.RetryableError = 2`, always restart the service:
# https://github.com/actions/runner/blob/40ed7f8/src/Runner.Common/Constants.cs#L146
RestartForceExitStatus = [ 2 ];
# Contains _diag
LogsDirectory = [ systemdDir ];
# Default RUNNER_ROOT which contains ephemeral Runner data
RuntimeDirectory = [ systemdDir ];
# Home of persistent runner data, e.g., credentials
StateDirectory = [ systemdDir ];
StateDirectoryMode = "0700";
WorkingDirectory = workDir;
# Contains _diag
LogsDirectory = [ systemdDir ];
# Default RUNNER_ROOT which contains ephemeral Runner data
RuntimeDirectory = [ systemdDir ];
# Home of persistent runner data, e.g., credentials
StateDirectory = [ systemdDir ];
StateDirectoryMode = "0700";
WorkingDirectory = workDir;
InaccessiblePaths = [
# Token file path given in the configuration, if visible to the service
"-${cfg.tokenFile}"
# Token file in the state directory
"${stateDir}/${currentConfigTokenFilename}"
];
InaccessiblePaths = [
# Token file path given in the configuration, if visible to the service
"-${cfg.tokenFile}"
# Token file in the state directory
"${stateDir}/${currentConfigTokenFilename}"
];
KillSignal = "SIGINT";
KillSignal = "SIGINT";
# Hardening (may overlap with DynamicUser=)
# The following options are only for optimizing:
# systemd-analyze security github-runner
AmbientCapabilities = "";
CapabilityBoundingSet = "";
# ProtectClock= adds DeviceAllow=char-rtc r
DeviceAllow = "";
NoNewPrivileges = true;
PrivateDevices = true;
PrivateMounts = true;
PrivateTmp = true;
PrivateUsers = true;
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectSystem = "strict";
RemoveIPC = true;
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
UMask = "0066";
ProtectProc = "invisible";
SystemCallFilter = [
"~@clock"
"~@cpu-emulation"
"~@module"
"~@mount"
"~@obsolete"
"~@raw-io"
"~@reboot"
"~capset"
"~setdomainname"
"~sethostname"
];
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" "AF_NETLINK" ];
# Hardening (may overlap with DynamicUser=)
# The following options are only for optimizing:
# systemd-analyze security github-runner
AmbientCapabilities = mkBefore [ "" ];
CapabilityBoundingSet = mkBefore [ "" ];
# ProtectClock= adds DeviceAllow=char-rtc r
DeviceAllow = mkBefore [ "" ];
NoNewPrivileges = mkDefault true;
PrivateDevices = mkDefault true;
PrivateMounts = mkDefault true;
PrivateTmp = mkDefault true;
PrivateUsers = mkDefault true;
ProtectClock = mkDefault true;
ProtectControlGroups = mkDefault true;
ProtectHome = mkDefault true;
ProtectHostname = mkDefault true;
ProtectKernelLogs = mkDefault true;
ProtectKernelModules = mkDefault true;
ProtectKernelTunables = mkDefault true;
ProtectSystem = mkDefault "strict";
RemoveIPC = mkDefault true;
RestrictNamespaces = mkDefault true;
RestrictRealtime = mkDefault true;
RestrictSUIDSGID = mkDefault true;
UMask = mkDefault "0066";
ProtectProc = mkDefault "invisible";
SystemCallFilter = mkBefore [
"~@clock"
"~@cpu-emulation"
"~@module"
"~@mount"
"~@obsolete"
"~@raw-io"
"~@reboot"
"~capset"
"~setdomainname"
"~sethostname"
];
RestrictAddressFamilies = mkBefore [ "AF_INET" "AF_INET6" "AF_UNIX" "AF_NETLINK" ];
BindPaths = lib.optionals (cfg.workDir != null) [ cfg.workDir ];
BindPaths = lib.optionals (cfg.workDir != null) [ cfg.workDir ];
# Needs network access
PrivateNetwork = false;
# Cannot be true due to Node
MemoryDenyWriteExecute = false;
# Needs network access
PrivateNetwork = mkDefault false;
# Cannot be true due to Node
MemoryDenyWriteExecute = mkDefault false;
# The more restrictive "pid" option makes `nix` commands in CI emit
# "GC Warning: Couldn't read /proc/stat"
# You may want to set this to "pid" if not using `nix` commands
ProcSubset = "all";
# Coverage programs for compiled code such as `cargo-tarpaulin` disable
# ASLR (address space layout randomization) which requires the
# `personality` syscall
# You may want to set this to `true` if not using coverage tooling on
# compiled code
LockPersonality = false;
# The more restrictive "pid" option makes `nix` commands in CI emit
# "GC Warning: Couldn't read /proc/stat"
# You may want to set this to "pid" if not using `nix` commands
ProcSubset = mkDefault "all";
# Coverage programs for compiled code such as `cargo-tarpaulin` disable
# ASLR (address space layout randomization) which requires the
# `personality` syscall
# You may want to set this to `true` if not using coverage tooling on
# compiled code
LockPersonality = mkDefault false;
# Note that this has some interactions with the User setting; so you may
# want to consult the systemd docs if using both.
DynamicUser = true;
} // (
lib.optionalAttrs (cfg.user != null) { User = cfg.user; }
) // cfg.serviceOverrides;
# Note that this has some interactions with the User setting; so you may
# want to consult the systemd docs if using both.
DynamicUser = mkDefault true;
}
(mkIf (cfg.user != null) { User = cfg.user; })
cfg.serviceOverrides
];
}

View File

@ -53,4 +53,6 @@ in
}))
);
};
meta.maintainers = with maintainers; [ veehaitch newam ];
}

View File

@ -27,11 +27,11 @@
stdenv.mkDerivation rec {
pname = "kid3";
version = "3.9.2";
version = "3.9.3";
src = fetchurl {
url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.xz";
sha256 = "sha256-R4Xv+PmzKZQF1tFtSQTFjaisGug2EKM6mPVoGutNnok=";
sha256 = "sha256-D2hrdej2Q69AYjDn2Ey4vBSOmzBY3UzZMUdJSRjurdA=";
};
nativeBuildInputs = [

View File

@ -1,21 +1,21 @@
{ lib, buildGoModule, fetchFromGitHub }:
{ lib, buildGoModule, fetchFromGitHub, nix-update-script }:
let
pinData = lib.importJSON ./pin.json;
in
buildGoModule rec {
pname = "erigon";
version = pinData.version;
version = "2.34.0";
in
buildGoModule {
inherit pname version;
src = fetchFromGitHub {
owner = "ledgerwatch";
repo = pname;
rev = "v${version}";
sha256 = pinData.sha256;
sha256 = "sha256-oiFPnDzvLdVkGeflqUcB00peZyVLMzsXi7QzOjPlpHo=";
fetchSubmodules = true;
};
vendorSha256 = pinData.vendorSha256;
vendorSha256 = "sha256-x/ffvbBKzJrssOo+cuWIiwHWu9UfeBHSbgwmLE0340A=";
proxyVendor = true;
# Build errors in mdbx when format hardening is enabled:
@ -29,7 +29,7 @@ buildGoModule rec {
"cmd/rlpdump"
];
passthru.updateScript = ./update.sh;
passthru.updateScript = nix-update-script { };
meta = with lib; {
homepage = "https://github.com/ledgerwatch/erigon/";

View File

@ -1,5 +0,0 @@
{
"version": "2.31.0",
"sha256": "sha256-+qVfujPKy/HAkMOJQdHI3G1pBoYG2Lhm5BKHrvf3lv0=",
"vendorSha256": "sha256-XTGbwMEuLBEXP/QAR8RLRPrbvz2ReCLg4tCogbqHiHg="
}

View File

@ -1,33 +0,0 @@
#!/usr/bin/env nix-shell
#! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep
# TODO set to `verbose` or `extdebug` once implemented in oil
shopt --set xtrace
# we need failures inside of command subs to get the correct vendorSha256
shopt --unset inherit_errexit
const directory = $(dirname $0 | xargs realpath)
const owner = "ledgerwatch"
const repo = "erigon"
const latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \
jq -r '.tag_name')
const latest_version = $(echo $latest_rev | sd 'v' '')
const current_version = $(jq -r '.version' $directory/pin.json)
if ("$latest_version" === "$current_version") {
echo "$repo is already up-to-date"
return 0
} else {
const tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev" --fetch-submodules)
const tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')"
jq ".version = \"$latest_version\" | \
.\"sha256\" = \"$tarball_hash\" | \
.\"vendorSha256\" = \"\"" $directory/pin.json | sponge $directory/pin.json
const new_vendor_sha256 = $(nix-build -A erigon 2>&1 | \
tail -n 2 | \
head -n 1 | \
sd '\s+got:\s+' '')
jq ".vendorSha256 = \"$new_vendor_sha256\"" $directory/pin.json | sponge $directory/pin.json
}

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "haven-cli";
version = "3.0.0";
version = "3.0.3";
src = fetchFromGitHub {
owner = "haven-protocol-org";
repo = "haven-main";
rev = "v${version}";
sha256 = "sha256-ZQiSh1pB0njIAyJFPIsgoqNuhvMGRJ2NIZaUoB1fN3E=";
sha256 = "sha256-JbNk1TF0N3tRYGfZfSBFk+t/8GA4yjqP9G6S0ktdur8=";
fetchSubmodules = true;
};

View File

@ -14,11 +14,12 @@
, stdenv
, testers
, unzip
, nix-update-script
}:
rustPlatform.buildRustPackage rec {
pname = "lighthouse";
version = "3.3.0";
version = "3.4.0";
# lighthouse/common/deposit_contract/build.rs
depositContractSpecVersion = "0.12.1";
@ -28,10 +29,10 @@ rustPlatform.buildRustPackage rec {
owner = "sigp";
repo = "lighthouse";
rev = "v${version}";
hash = "sha256-py64CWY3k5Z2mm9WduJ4Fh7lQ8b3sF6iIFsYYjndU5I=";
hash = "sha256-4auiM5+kj/HjZKu2YP7JEnwDNxHuL39XCfmV/dc5jLE=";
};
cargoHash = "sha256-0gWTniLkhuPpgdUkE6gpF9uHYT6BeWWgH6Mu7KpFx9w=";
cargoHash = "sha256-ihfGwdxL7Ttw86dhaVBp5meb0caXjzgbbP27Io8zv/c=";
buildFeatures = [ "modern" "gnosis" ];
@ -89,10 +90,13 @@ rustPlatform.buildRustPackage rec {
nodePackages.ganache
];
passthru.tests.version = testers.testVersion {
package = lighthouse;
command = "lighthouse --version";
version = "v${lighthouse.version}";
passthru = {
tests.version = testers.testVersion {
package = lighthouse;
command = "lighthouse --version";
version = "v${lighthouse.version}";
};
updateScript = nix-update-script { };
};
meta = with lib; {

View File

@ -127,9 +127,9 @@ let
}).overrideAttrs (attrs: {
postFixup = (attrs.postFixup or "") + lib.optionalString stdenv.isLinux ''
interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
patchelf --set-interpreter $interp $out/goland*/plugins/go-plugin/lib/dlv/linux/dlv
patchelf --set-interpreter $interp $out/goland/plugins/go-plugin/lib/dlv/linux/dlv
chmod +x $out/goland*/plugins/go-plugin/lib/dlv/linux/dlv
chmod +x $out/goland/plugins/go-plugin/lib/dlv/linux/dlv
# fortify source breaks build since delve compiles with -O0
wrapProgram $out/bin/goland \
@ -287,12 +287,6 @@ let
'';
maintainers = with maintainers; [ abaldeau ];
};
}).overrideAttrs (attrs: {
postPatch = (attrs.postPatch or "") + optionalString (stdenv.isLinux) ''
# Webstorm tries to use bundled jre if available.
# Lets prevent this for the moment
rm -r jbr
'';
});
in

View File

@ -46,6 +46,8 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
truncate --size=$size $fname
}
rm -rf jbr
interpreter=$(echo ${stdenv.cc.libc}/lib/ld-linux*.so.2)
if [[ "${stdenv.hostPlatform.system}" == "x86_64-linux" && -e bin/fsnotifier64 ]]; then
target_size=$(get_file_size bin/fsnotifier64)

View File

@ -26,13 +26,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "mgba";
version = "0.10.0";
version = "0.10.1";
src = fetchFromGitHub {
owner = "mgba-emu";
repo = "mgba";
rev = finalAttrs.version;
hash = "sha256-2thc2v3aD8t1PrREZIjzRuYfP7b3BA7uFb6R95zxsZI=";
hash = "sha256-oWrgYrN7s5tdGJ/GhA2ZaKDVqZq9411fHSoYnLKWDl8=";
};
nativeBuildInputs = [

View File

@ -112,13 +112,13 @@
"vendorHash": null
},
"aws": {
"hash": "sha256-73g1/5JJ9OJ4LtImxIRQ+kwjT/vTyolFUScAcitZ+G4=",
"hash": "sha256-1ez/xzbFviTavUDfkCdI+s/r/NmaIMx+G8fiCTPAm9o=",
"homepage": "https://registry.terraform.io/providers/hashicorp/aws",
"owner": "hashicorp",
"repo": "terraform-provider-aws",
"rev": "v4.49.0",
"rev": "v4.50.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-L4EoUqkA5/nAs65G+mvXfFt/FzrCN/BmJoFSCP4PC7Q="
"vendorHash": "sha256-OhBrq6zHGBQYTXOxGih0O1udv9Rb1vcRBqD/zomKHww="
},
"azuread": {
"hash": "sha256-N+ty5O7sJbCp/rdQrwytOHzPFkaIvT5+1pOcoBQF1aw=",
@ -130,11 +130,11 @@
"vendorHash": null
},
"azurerm": {
"hash": "sha256-yCjfZruli5cIengL9f6ORsDWTY1BXwMr9g2Ohw+Q1Pc=",
"hash": "sha256-gWB1pZSv/lv5ZedPQIbcis5QA3g8JTIFeADh+Qte/rk=",
"homepage": "https://registry.terraform.io/providers/hashicorp/azurerm",
"owner": "hashicorp",
"repo": "terraform-provider-azurerm",
"rev": "v3.39.0",
"rev": "v3.39.1",
"spdx": "MPL-2.0",
"vendorHash": null
},
@ -340,11 +340,11 @@
"vendorHash": "sha256-z0vos/tZDUClK/s2yrXZG2RU8QgA8IM6bJj6jSdCnBk="
},
"docker": {
"hash": "sha256-70nwqQOMncOOeX/ulrzBqTAqQyHELwM1V8/ZC+jUyXE=",
"hash": "sha256-M2K4N39vtVDA/vMp/s2KYiS/uoE+STf2e6yh6q0CS28=",
"homepage": "https://registry.terraform.io/providers/kreuzwerker/docker",
"owner": "kreuzwerker",
"repo": "terraform-provider-docker",
"rev": "v2.25.0",
"rev": "v3.0.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-OdZQb81d7N1TdbDWEImq2U3kLkCPdhRk38+8T8fu+F4="
},
@ -395,13 +395,13 @@
"vendorHash": null
},
"flexibleengine": {
"hash": "sha256-ie7GbJxkB3wekGqA+S9wBWwRDAYK0RIzbFSG+VmTSjw=",
"hash": "sha256-uT8BmACMMJKVPAhL/7rudCXG9AOb4kS1Lswr5ZxY6M4=",
"homepage": "https://registry.terraform.io/providers/FlexibleEngineCloud/flexibleengine",
"owner": "FlexibleEngineCloud",
"repo": "terraform-provider-flexibleengine",
"rev": "v1.35.1",
"rev": "v1.36.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-Q9xbrRhrq75yzjSK/LTP47xA9uP7PNBsEjTx3oNEwRY="
"vendorHash": "sha256-obBN7Q/gKbvERJIUVz+GgPjn7/OKjXCiFI6WuOd0hic="
},
"fortios": {
"deleteVendor": true,
@ -1095,11 +1095,11 @@
"vendorHash": "sha256-2wPmLpjhG6QgG+BUCO0oIzHjBOWIOYuptgdtSIm9TZw="
},
"tencentcloud": {
"hash": "sha256-jCtTe1Wi9gvNd1IP+3kYlPYVBT45UkdjlhmNLhEgA10=",
"hash": "sha256-CLXW1takpsySUo8lpDe6DzRFczts1zRriHZge5uCb3A=",
"homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud",
"owner": "tencentcloudstack",
"repo": "terraform-provider-tencentcloud",
"rev": "v1.79.5",
"rev": "v1.79.6",
"spdx": "MPL-2.0",
"vendorHash": null
},

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "git-credential-1password";
version = "1.2.0";
version = "1.2.1";
src = fetchFromGitHub {
owner = "develerik";
repo = pname;
rev = "v${version}";
sha256 = "sha256-Bz/EW+K4XtDap3cu3/+9nJePcdxMXakj8HDPsbCx1FU=";
sha256 = "sha256-8qdUOJ0MOk/xVvp3kDuxNRo3lMEJhLeI3Fle0tuZez0=";
};
vendorSha256 = "sha256-cPHA6rVUQg41sS79UBFf85OfLn53C8/OZVGT5xVdBdw=";
vendorHash = "sha256-B6BlVnUX4XLT+9EpL63Ht4S8Wo84RsmY99CL+srQfpw=";
meta = with lib; {
description = "A git credential helper for 1Password";

File diff suppressed because it is too large Load Diff

View File

@ -43,7 +43,7 @@ let
owner = "facebook";
repo = "sapling";
rev = version;
hash = "sha256-IzbUaFrsSMojhsbpnRj1XLkhO9V2zYdmmZls4mtZquw=";
hash = "sha256-zlvb+qn9SSBPZmlF8KwKTWyKj94FGOafSMRMNLsccOU";
};
addonsSrc = "${src}/addons";
@ -51,7 +51,7 @@ let
# Fetches the Yarn modules in Nix to to be used as an offline cache
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${addonsSrc}/yarn.lock";
sha256 = "sha256-B61T0ReZPRfrRjBC3iHLVkVYiifhzOXlaG1YL6rgmj4=";
sha256 = "sha256-+29WAgSXVciHhLMN04yfKiWCpjM3Vo54nUdTP6owSLs";
};
# Builds the NodeJS server that runs with `sl web`
@ -104,12 +104,12 @@ let
cargoDeps = rustPlatform.importCargoLock {
lockFile = ./Cargo.lock;
outputHashes = {
"cloned-0.1.0" = "sha256-c3CPWVjOk+VKBLD6WuaYZvBoKi5PwgXmiwxKoCk0bsI=";
"cloned-0.1.0" = "sha256-DYQTK722wgeDUJtOVXHLt42G6gpe6A62rET+JH+bPKU=";
"deltae-0.3.0" = "sha256-a9Skaqs+tVTw8x83jga+INBr+TdaMmo35Bf2wbfR6zs=";
"fb303_core-0.0.0" = "sha256-yoKKSBwqufFayLef2rRpX5oV1j8fL/kRkXBXIC++d7Q=";
"fbthrift-0.0.1+unstable" = "sha256-jtsDE5U/OavDUXRAE1N8/nujSPrWltImsFLzHaxfeM0=";
"fb303_core-0.0.0" = "sha256-YEFNTYvtgp8nc/1O7AbdyxCD3Xx2xCjbS17fTTEsUL0=";
"fbthrift-0.0.1+unstable" = "sha256-mDoYhXOzQIDqP7XdmiBbmq5VmAKAgggTNH/kW2kHv4k=";
"reqwest-0.11.11" = "sha256-uhc8XhkGW22XDNo0qreWdXeFF2cslOOZHfTRQ30IBcE=";
"serde_bser-0.3.1" = "sha256-KCAC+rbczroZn/oKYTVpAPJl40yMrszt/PGol+JStDU=";
"serde_bser-0.3.1" = "sha256-/zn1NfXWytXvnalkgPsg9BdujVV97PGkXwmPtQGVeCc=";
};
};
postPatch = ''

View File

@ -69,10 +69,10 @@
"url": "https://files.pythonhosted.org/packages/fc/56/9f67dcd4a4b9960373173a31be1b8c47fe351a1c9385677a7bdd82810e57/ipdb-0.13.9.tar.gz"
},
{
"sha256": "04m31z011arz2b70rwwkhvzkb9d4yxcfbxpw27d6fa3n79a7sdxg",
"url": "https://files.pythonhosted.org/packages/bc/fa/8604d92ef753e0036d807f1b3179813ab2fa283e3b19c926e11673c8205b/Cython-0.29.26.tar.gz"
"sha256": "1xqsihpqnfal29nb5kmw8z71nd4jbsnbz7p3lkr094xpb13wycw7",
"url": "https://files.pythonhosted.org/packages/4c/76/1e41fbb365ad20b6efab2e61b0f4751518444c953b390f9b2d36cf97eea0/Cython-0.29.32.tar.gz"
}
],
"version": "0.1.20221118-210929-cfbb68aa",
"versionHash": "5535144625961033752"
"version": "0.2.20221222-152408-ha6a66d09",
"versionHash": "14601963598499040874"
}

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "nixpacks";
version = "1.0.3";
version = "1.1.0";
src = fetchFromGitHub {
owner = "railwayapp";
repo = pname;
rev = "v${version}";
sha256 = "sha256-0Q0G2vUIkKRTSbQQrXoInzaPfFNWwT/NQ1/NKQeVpHU=";
sha256 = "sha256-rbpHi00LQiXQDzjRTSYnVG12ezJxi5ypZFXNIXipyqk=";
};
cargoSha256 = "sha256-vLUR8Rs33GukkRihoB9jD3G4ailJc8oakm7NSjoZdok=";
cargoHash = "sha256-gMxj1UtGcHmI9s/RPWKC0rlewaBtUan0nPHwZbgqWFM=";
# skip test due FHS dependency
doCheck = false;

View File

@ -38,7 +38,7 @@ substituteAll {
modDirVersion = if modDirVersion != "" then modDirVersion else "unknown";
meta = with lib; {
description = "Print certain system information (hardcoded with <nixpkgs/lib/system> values)";
description = "Print certain system information (hardcoded with lib/system values)";
longDescription = ''
This package provides a replacement for `uname` whose output depends only
on `stdenv.buildPlatform`. It is meant to be used from within derivations.

View File

@ -34,7 +34,7 @@ in
/* NOTE:
fetchgit has one problem: git fetch only works for refs.
This is because fetching arbitrary (maybe dangling) commits may be a security risk
This is because fetching arbitrary (maybe dangling) commits creates garbage collection risks
and checking whether a commit belongs to a ref is expensive. This may
change in the future when some caching is added to git (?)
Usually refs are either tags (refs/tags/*) or branches (refs/heads/*)

View File

@ -2,13 +2,13 @@
stdenvNoCC.mkDerivation rec {
pname = "numix-icon-theme-circle";
version = "23.01.02";
version = "23.01.12";
src = fetchFromGitHub {
owner = "numixproject";
repo = pname;
rev = version;
sha256 = "sha256-Z+gs3CajVBYiWU5SSiL/C7IW8ibglUqD+GhayeS++m8=";
sha256 = "sha256-WqCQxZcr19tKcEwULoW9O3rhq3fFs4xRl37p7VJYodY=";
};
nativeBuildInputs = [ gtk3 ];

View File

@ -2,13 +2,13 @@
stdenvNoCC.mkDerivation rec {
pname = "numix-icon-theme-square";
version = "23.01.02";
version = "23.01.12";
src = fetchFromGitHub {
owner = "numixproject";
repo = pname;
rev = version;
sha256 = "sha256-8GUcfrnnWbJ+tJmc5zwOFfEFMOfeodYY4KyytAnaZEE=";
sha256 = "sha256-DqinupNkjAzjiLkuPCw9IaKRCHtwGnvUQbPNLUeqtRs=";
};
nativeBuildInputs = [ gtk3 ];

View File

@ -3,11 +3,41 @@
, fetchFromGitHub
, jetbrains
, openjdk17
, openjdk17-bootstrap
, git
, autoconf
, unzip
, rsync
, debugBuild ? false
, libXdamage
, libXxf86vm
, libXrandr
, libXi
, libXcursor
, libXrender
, libX11
, libXext
, libxcb
, nss
, nspr
, libdrm
, mesa
, wayland
, udev
}:
openjdk17.overrideAttrs (oldAttrs: rec {
pname = "jetbrains-jdk";
version = "17.0.5-b653.14";
pname = "jetbrains-jdk-jcef";
javaVersion = "17.0.5";
build = "653.14";
# To get the new tag:
# git clone https://github.com/jetbrains/jetbrainsruntime
# cd jetbrainsruntime
# git reset --hard [revision]
# git log --simplify-by-decoration --decorate=short --pretty=short | grep "jdk-" | cut -d "(" -f2 | cut -d ")" -f1 | awk '{print $2}' | sort -t "-" -k 2 -g | tail -n 1
openjdkTag = "jdk-18+0";
version = "${javaVersion}-b${build}";
src = fetchFromGitHub {
owner = "JetBrains";
@ -16,6 +46,78 @@ openjdk17.overrideAttrs (oldAttrs: rec {
hash = "sha256-7Nx7Y12oMfs4zeQMSfnUaDCW1xJYMEkcoTapSpmVCfU=";
};
BOOT_JDK = openjdk17-bootstrap.home;
SOURCE_DATE_EPOCH = 1666098567;
patches = [];
# Configure is done in build phase
configurePhase = "true";
buildPhase = ''
runHook preBuild
mkdir -p jcef_linux_x64/jmods
cp ${jetbrains.jcef}/* jcef_linux_x64/jmods
sed \
-e "s/OPENJDK_TAG=.*/OPENJDK_TAG=${openjdkTag}/" \
-e "s/SOURCE_DATE_EPOCH=.*//" \
-e "s/export SOURCE_DATE_EPOCH//" \
-i jb/project/tools/common/scripts/common.sh
sed -i "s/STATIC_CONF_ARGS/STATIC_CONF_ARGS \$configureFlags/" jb/project/tools/linux/scripts/mkimages_x64.sh
sed \
-e "s/create_image_bundle \"jb/#/" \
-e "s/echo Creating /exit 0 #/" \
-i jb/project/tools/linux/scripts/mkimages_x64.sh
patchShebangs .
./jb/project/tools/linux/scripts/mkimages_x64.sh ${build} ${if debugBuild then "fd" else "jcef"}
runHook postBuild
'';
installPhase = let
buildType = if debugBuild then "fastdebug" else "release";
debugSuffix = if debugBuild then "-fastdebug" else "";
jcefSuffix = if debugBuild then "" else "_jcef";
in ''
runHook preInstall
rm -rf build/linux-x86_64-server-${buildType}/images/jdk
mv build/linux-x86_64-server-${buildType}/images/jbrsdk${jcefSuffix}-${javaVersion}-linux-x64${debugSuffix}-b${build} build/linux-x86_64-server-${buildType}/images/jdk
'' + oldAttrs.installPhase + "runHook postInstall";
postInstall = ''
chmod +x $out/lib/openjdk/lib/chrome-sandbox
'';
dontStrip = debugBuild;
postFixup = ''
# Build the set of output library directories to rpath against
LIBDIRS="${lib.makeLibraryPath [
libXdamage libXxf86vm libXrandr libXi libXcursor libXrender libX11 libXext libxcb
nss nspr libdrm mesa wayland udev
]}"
for output in $outputs; do
if [ "$output" = debug ]; then continue; fi
LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort -u | tr '\n' ':'):$LIBDIRS"
done
# Add the local library paths to remove dependencies on the bootstrap
for output in $outputs; do
if [ "$output" = debug ]; then continue; fi
OUTPUTDIR=$(eval echo \$$output)
BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*)
echo "$BINLIBS" | while read i; do
patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true
patchelf --shrink-rpath "$i" || true
done
done
'';
nativeBuildInputs = [ git autoconf unzip rsync ] ++ oldAttrs.nativeBuildInputs;
meta = with lib; {
description = "An OpenJDK fork to better support Jetbrains's products.";
longDescription = ''
@ -25,7 +127,6 @@ openjdk17.overrideAttrs (oldAttrs: rec {
include: Subpixel Anti-Aliasing, enhanced font rendering on Linux, HiDPI
support, ligatures, some fixes for native crashes not presented in
official build, and other small enhancements.
JetBrains Runtime is not a certified build of OpenJDK. Please, use at
your own risk.
'';

View File

@ -0,0 +1,221 @@
{ fetchFromGitHub
, fetchurl
, fetchzip
, stdenv
, cmake
, python3
, jdk17
, git
, libcef
, rsync
, lib
, ant
, ninja
, debugBuild ? false
, glib
, nss
, nspr
, atk
, at-spi2-atk
, libdrm
, expat
, libxcb
, libxkbcommon
, libX11
, libXcomposite
, libXdamage
, libXext
, libXfixes
, libXrandr
, mesa
, gtk3
, pango
, cairo
, alsa-lib
, dbus
, at-spi2-core
, cups
, libxshmfence
, udev
}:
assert !stdenv.isDarwin;
# I can't test darwin
let rpath = lib.makeLibraryPath [
glib
nss
nspr
atk
at-spi2-atk
libdrm
expat
libxcb
libxkbcommon
libX11
libXcomposite
libXdamage
libXext
libXfixes
libXrandr
mesa
gtk3
pango
cairo
alsa-lib
dbus
at-spi2-core
cups
libxshmfence
udev
];
buildType = if debugBuild then "Debug" else "Release";
in stdenv.mkDerivation rec {
name = "jcef-jetbrains";
rev = "153d40c761a25a745d7ebf0ee3a024bbc2c840b5";
commit-num = "611"; # Run `git rev-list --count HEAD`
nativeBuildInputs = [ cmake python3 jdk17 git rsync ant ninja ];
buildInputs = [ libX11 libXdamage nss nspr ];
src = fetchFromGitHub {
owner = "jetbrains";
repo = "jcef";
inherit rev;
hash = "sha256-Vud4nIT2c7uOK7GKKw3plf41WzKqhg+2xpIwB/LyqnE=";
};
cef-bin = let
fileName = "cef_binary_104.4.26+g4180781+chromium-104.0.5112.102_linux64_minimal";
urlName = builtins.replaceStrings ["+"] ["%2B"] fileName;
in fetchzip rec {
name = fileName;
url = "https://cef-builds.spotifycdn.com/${urlName}.tar.bz2";
hash = "sha256-0PAWWBR+9TO8hhejydWz8R6Df3d9A/Mb0VL8stlPz5Q=";
};
clang-fmt = fetchurl {
url = "https://storage.googleapis.com/chromium-clang-format/942fc8b1789144b8071d3fc03ff0fcbe1cf81ac8";
hash = "sha256-5iAU49tQmLS7zkS+6iGT+6SEdERRo1RkyRpiRvc9nVY=";
};
configurePhase = ''
runHook preConfigure
patchShebangs .
cp -r ${cef-bin} third_party/cef/${cef-bin.name}
chmod +w -R third_party/cef/${cef-bin.name}
patchelf third_party/cef/${cef-bin.name}/${buildType}/libcef.so --set-rpath "${rpath}" --add-needed libudev.so
patchelf third_party/cef/${cef-bin.name}/${buildType}/chrome-sandbox --set-interpreter $(cat $NIX_BINTOOLS/nix-support/dynamic-linker)
sed 's/-O0/-O2/' -i third_party/cef/${cef-bin.name}/cmake/cef_variables.cmake
sed \
-e 's|os.path.isdir(os.path.join(path, \x27.git\x27))|True|' \
-e 's|"%s rev-parse %s" % (git_exe, branch)|"echo '${rev}'"|' \
-e 's|"%s config --get remote.origin.url" % git_exe|"echo 'https://github.com/jetbrains/jcef'"|' \
-e 's|"%s rev-list --count %s" % (git_exe, branch)|"echo '${commit-num}'"|' \
-i tools/git_util.py
cp ${clang-fmt} tools/buildtools/linux64/clang-format
chmod +w tools/buildtools/linux64/clang-format
mkdir jcef_build
cd jcef_build
cmake -G "Ninja" -DPROJECT_ARCH="x86_64" -DCMAKE_BUILD_TYPE=${buildType} ..
runHook postConfigure
'';
outputs = [ "out" "unpacked" ];
postBuild = ''
export JCEF_ROOT_DIR=$(realpath ..)
../tools/compile.sh linux64 Release
'';
# Mostly taken from jb/tools/common/create_modules.sh
installPhase = ''
runHook preInstall
export JCEF_ROOT_DIR=$(realpath ..)
export OUT_NATIVE_DIR=$JCEF_ROOT_DIR/jcef_build/native/${buildType}
export JB_TOOLS_DIR=$(realpath ../jb/tools)
export JB_TOOLS_OS_DIR=$JB_TOOLS_DIR/linux
export OUT_CLS_DIR=$(realpath ../out/linux64)
export TARGET_ARCH=x86_64 DEPS_ARCH=amd64
export OS=linux
export JOGAMP_DIR="$JCEF_ROOT_DIR"/third_party/jogamp/jar
mkdir -p $unpacked/{jogl,gluegen,jcef}
function extract_jar {
__jar=$1
__dst_dir=$2
__content_dir="''${3:-.}"
__tmp=.tmp_extract_jar
rm -rf "$__tmp" && mkdir "$__tmp"
(
cd "$__tmp" || exit 1
jar -xf "$__jar"
)
rm -rf "$__tmp/META-INF"
rm -rf "$__dst_dir" && mkdir "$__dst_dir"
if [ -z "$__content_dir" ]
then
cp -R "$__tmp"/* "$__dst_dir"
else
cp -R "$__tmp"/"$__content_dir"/* "$__dst_dir"
fi
rm -rf $__tmp
}
cd $unpacked/gluegen
cp "$JOGAMP_DIR"/gluegen-rt.jar .
cp "$JB_TOOLS_DIR"/common/gluegen-module-info.java module-info.java
javac --patch-module gluegen.rt=gluegen-rt.jar module-info.java
jar uf gluegen-rt.jar module-info.class
rm module-info.class module-info.java
mkdir lib
extract_jar "$JOGAMP_DIR"/gluegen-rt-natives-"$OS"-"$DEPS_ARCH".jar lib natives/"$OS"-"$DEPS_ARCH"
cd ../jogl
cp "$JOGAMP_DIR"/gluegen-rt.jar .
cp "$JOGAMP_DIR"/jogl-all.jar .
cp "$JB_TOOLS_OS_DIR"/jogl-module-info.java module-info.java
javac --module-path . --patch-module jogl.all=jogl-all.jar module-info.java
jar uf jogl-all.jar module-info.class
rm module-info.class module-info.java
mkdir lib
extract_jar "$JOGAMP_DIR"/jogl-all-natives-"$OS"-"$DEPS_ARCH".jar lib natives/"$OS"-"$DEPS_ARCH"
cd ../jcef
cp "$OUT_CLS_DIR"/jcef.jar .
mkdir lib
cp -R "$OUT_NATIVE_DIR"/* lib
mkdir $out
runHook postInstall
'';
dontStrip = debugBuild;
postFixup = ''
cd $unpacked/gluegen
jmod create --class-path gluegen-rt.jar --libs lib $out/gluegen.rt.jmod
cd ../jogl
jmod create --module-path . --class-path jogl-all.jar --libs lib $out/jogl.all.jmod
cd ../jcef
jmod create --module-path . --class-path jcef.jar --libs lib $out/jcef.jmod
'';
meta = {
description = "Jetbrains' fork of JCEF";
license = lib.licenses.bsd3;
homepage = "https://github.com/JetBrains/JCEF";
};
}

View File

@ -21,7 +21,7 @@
stdenv.mkDerivation rec {
pname = "libheif";
version = "1.14.0";
version = "1.14.2";
outputs = [ "bin" "out" "dev" "man" ];
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
owner = "strukturag";
repo = "libheif";
rev = "v${version}";
sha256 = "sha256-MvCiVAHM9C/rxeh6f9Bd13GECc2ladEP7Av7y3eWDcY=";
sha256 = "sha256-JwPeSNUc++z6RfMe0qAuXdekzLWR/MCmsT+Ykvp9a/s=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];

View File

@ -1,6 +1,7 @@
{ self
, bash
, fetchpatch
, fzf
, lib
, openssl
, zstd
@ -380,6 +381,9 @@ with self;
hash = "1ha0i6dx5bgwzbdi4rn98wjwi2imv5p2i7qs7hy0c6cmg88xbdry";
meta.description = "A library for running the fzf command line tool";
propagatedBuildInputs = [ async core_kernel ppx_jane ];
postPatch = ''
substituteInPlace src/fzf.ml --replace /usr/bin/fzf ${fzf}/bin/fzf
'';
};
higher_kinded = janePackage {

View File

@ -10,18 +10,23 @@
buildPythonPackage rec {
pname = "aiovlc";
version = "0.1.0";
version = "0.3.0";
format = "setuptools";
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "MartinHjelmare";
repo = pname;
rev = "v${version}";
sha256 = "jB2V/Wpxmp92wba41mWZAeO63wy3NrkupllGxJMNkFM=";
rev = "refs/tags/v${version}";
hash = "sha256-ZFLNgPxR5N+hI988POCYJD9QGivs1fYysyFtmxsJQaA=";
};
postPatch = ''
substituteInPlace pyproject.toml --replace \
" --cov=aiovlc --cov-report=term-missing:skip-covered" ""
'';
propagatedBuildInputs = [
click
];
@ -39,6 +44,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python module to control VLC";
homepage = "https://github.com/MartinHjelmare/aiovlc";
changelog = "https://github.com/MartinHjelmare/aiovlc/blob/v${version}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};

View File

@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "cloudscraper";
version = "1.2.67";
version = "1.2.68";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-J3bHDzZhwCjln9MGrCsQSILJs8s/eYCGJR4A/C1yw6I=";
hash = "sha256-TQKs7/qQq9TavHW3m6+jFjYwm6p8Dy7mZeLTRarbiGM=";
};
propagatedBuildInputs = [

View File

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "georss-ign-sismologia-client";
version = "0.5";
version = "0.6";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -16,8 +16,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "exxamalte";
repo = "python-georss-ign-sismologia-client";
rev = "v${version}";
hash = "sha256-i3VdxntFwieCmB4ihHRSCV5YKDyYytl3XnU/G1LwLhg=";
rev = "refs/tags/v${version}";
hash = "sha256-OLX6Megl5l8KDnd/G16QJ/wQn5AQc2cZ+LCbjuHFbwo=";
};
propagatedBuildInputs = [
@ -35,6 +35,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python library for accessing the IGN Sismologia GeoRSS feed";
homepage = "https://github.com/exxamalte/python-georss-ign-sismologia-client";
changelog = "https://github.com/exxamalte/python-georss-ign-sismologia-client/blob/v0.6/CHANGELOG.md";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};

View File

@ -1,60 +1,124 @@
{ lib
, aiolimiter
, APScheduler
, beautifulsoup4
, buildPythonPackage
, cachetools
, certifi
, decorator
, fetchPypi
, future
, tornado
, urllib3
, cryptography
, fetchFromGitHub
, flaky
, httpx
, pytest-asyncio
, pytest-timeout
, pytest-xdist
, pytestCheckHook
, pythonOlder
, pytz
, tornado
}:
buildPythonPackage rec {
pname = "python-telegram-bot";
version = "13.15";
version = "20.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-tAR2BrgIG2K71qo2H3yh7+h/qPGIHsnZMtNYRL9XoVQ=";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-34Apzy7id+fDxTN935hPT0HeZNZMEdQqZ0aiV0trAxE=";
};
propagatedBuildInputs = [
aiolimiter
APScheduler
cachetools
certifi
decorator
future
cryptography
httpx
pytz
] ++ httpx.optional-dependencies.socks;
checkInputs = [
beautifulsoup4
flaky
pytest-asyncio
pytest-timeout
pytest-xdist
pytestCheckHook
tornado
urllib3
];
# --with-upstream-urllib3 is not working properly
postPatch = ''
rm -r telegram/vendor
substituteInPlace requirements.txt \
--replace "APScheduler==3.6.3" "APScheduler" \
--replace "cachetools==4.2.2" "cachetools" \
--replace "tornado==6.1" "tornado"
'';
setupPyGlobalFlags = [ "--with-upstream-urllib3" ];
# tests not included with release
doCheck = false;
pythonImportsCheck = [
"telegram"
];
disabledTests = [
# Tests require network access
"TestAIO"
"TestAnimation"
"TestApplication"
"TestAudio"
"TestBase"
"TestBot"
"TestCallback"
"TestChat"
"TestChosenInlineResult"
"TestCommandHandler"
"TestConstants"
"TestContact"
"TestConversationHandler"
"TestDice"
"TestDict"
"TestDocument"
"TestFile"
"TestForceReply"
"TestForum"
"TestGame"
"TestGet"
"TestHTTP"
"TestInline"
"TestInput"
"TestInvoice"
"TestJob"
"TestKeyboard"
"TestLocation"
"TestMask"
"TestMenu"
"TestMessage"
"TestMeta"
"TestOrder"
"TestPassport"
"TestPhoto"
"TestPickle"
"TestPoll"
"TestPre"
"TestPrefix"
"TestProximity"
"TestReply"
"TestRequest"
"TestSend"
"TestSent"
"TestShipping"
"TestSlot"
"TestSticker"
"TestString"
"TestSuccess"
"TestTelegram"
"TestType"
"TestUpdate"
"TestUser"
"TestVenue"
"TestVideo"
"TestVoice"
"TestWeb"
];
meta = with lib; {
description = "Python library to interface with the Telegram Bot API";
homepage = "https://python-telegram-bot.org";
changelog = "https://github.com/python-telegram-bot/python-telegram-bot/blob/v${version}/CHANGES.rst";
license = licenses.lgpl3Only;
maintainers = with maintainers; [ veprbl pingiun ];
};

View File

@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "traitsui";
version = "7.4.2";
version = "7.4.3";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-IEcb8znD7ed/BrL6l76Qrj0Wbr78zBZ7y9oifHWxZj8=";
hash = "sha256-2zJRfpYioFgMIyCeE/gDLOoA5hxndJNnCf9F52M11bk=";
};
propagatedBuildInputs = [
@ -33,6 +33,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Traits-capable windowing framework";
homepage = "https://github.com/enthought/traitsui";
changelog = "https://github.com/enthought/traitsui/releases/tag/${version}";
license = licenses.bsdOriginal;
maintainers = with maintainers; [ knedlsepp ];
};

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "millet";
version = "0.6.7";
version = "0.7.0";
src = fetchFromGitHub {
owner = "azdavis";
repo = pname;
rev = "v${version}";
hash = "sha256-sZy5SQ3Gd6bZcEx/30XJXoUI2/HRGTUn8ZZHtti5Cos=";
hash = "sha256-qjwnHFJpgDVaiSF3rKkyEbhIG4QbMOUrN1rnc9MnKU0=";
};
cargoHash = "sha256-74bGGZakz3yAaamqt3UU4r0QGbUcN6vIXebsgTj6cBM=";
cargoHash = "sha256-efVnO9hNIEiAzOK0mkPMNrWlWHYEWwV2HWac8jBxW5k=";
postPatch = ''
rm .cargo/config.toml

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-nextest";
version = "0.9.48";
version = "0.9.49";
src = fetchFromGitHub {
owner = "nextest-rs";
repo = "nextest";
rev = "cargo-nextest-${version}";
sha256 = "sha256-y1Ka9XEXuwavAI23C4UmjTHraHHnbsA3QzDIkkSqfoU=";
sha256 = "sha256-QonjtUw9CAEcGkjyq5Iv5CTo4gGUuFXSS2QVi/Ub2j4=";
};
cargoSha256 = "sha256-1LsAbBdRz5Xf+LF/eOc34d+SQ0Ein8JW5/4v7ZZEFqA=";
cargoSha256 = "sha256-+L6+hRCnYqWmO5G1nctT0Ly74DhvUYhMvQroSDFMREg=";
buildInputs = lib.optionals stdenv.isDarwin [ Security ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "uftrace";
version = "0.12";
version = "0.13";
src = fetchFromGitHub {
owner = "namhyung";
repo = "uftrace";
rev = "v${version}";
sha256 = "sha256-YjeZGjSctnhbHqWikdVhiEl0hr/qrA4S4JbCJscXe7A=";
sha256 = "sha256-czVKliF9qvA9TG4KJKs2X0VDfJi4vHwbVeuLZViwpdg=";
};
postUnpack = ''

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,10 @@
{ lib, fetchFromSourcehut, rustPlatform, pkg-config, openssl }:
{
lib,
fetchFromSourcehut,
rustPlatform,
pkg-config,
openssl,
}:
rustPlatform.buildRustPackage rec {
pname = "eidolon";
@ -8,15 +14,20 @@ rustPlatform.buildRustPackage rec {
owner = "~nicohman";
repo = pname;
rev = version;
sha256 = "1yn3k569pxzw43mmsk97088xpkdc714rks3ncchbb6ccx25kgxrr";
sha256 = "sha256-Ofc3i+iMmbUgY3bomUk4rM3bEQInTV3rIPz3m0yZw/o=";
};
cargoPatches = [ ./cargo-lock.patch ];
cargoSha256 = "01mnfn6j4sj9iqw5anpx8lqm9jmk7wdrx3h2hcvqcmkyrk1nggx0";
cargoSha256 = "sha256-1d+Wgx6tBS1Rb8WpVrD/ja0zXdoE2Q9ZlUS/3p8OYWM=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];
OPENSSL_NO_VENDOR = 1;
OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib";
OPENSSL_INCLUDE_DIR = "${openssl.dev}/include";
OPENSSL_DIR="${lib.getDev openssl}";
meta = with lib; {
description = "A single TUI-based registry for drm-free, wine and steam games on linux, accessed through a rofi launch menu";
homepage = "https://github.com/nicohman/eidolon";

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitLab, kernel }:
{ lib, stdenv, fetchFromGitLab, kernel, fetchpatch }:
stdenv.mkDerivation rec {
pname = "ddcci-driver";
@ -32,6 +32,14 @@ stdenv.mkDerivation rec {
"INCLUDEDIR=$(out)/include"
];
patches = [
# fix to support linux 6.1
(fetchpatch {
url = "https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/commit/ce52d6ac5e5ed7119a0028eed8823117a004766e.patch";
sha256 = "sha256-Tmf4oiMWLR5ma/3X0eoFuriK29HwDqy6dBT7WdqE3mI=";
})
];
meta = with lib; {
description = "Kernel module driver for DDC/CI monitors";
homepage = "https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux";

View File

@ -125,6 +125,35 @@ let
};
});
python-telegram-bot = super.python-telegram-bot.overridePythonAttrs (oldAttrs: rec {
version = "13.15";
src = fetchFromGitHub {
owner = "python-telegram-bot";
repo = "python-telegram-bot";
rev = "v${version}";
hash = "sha256-EViSjr/nnuJIDTwV8j/O50hJkWV3M5aTNnWyzrinoyg=";
};
propagatedBuildInputs = [
self.APScheduler
self.cachetools
self.certifi
self.cryptography
self.decorator
self.future
self.tornado
self.urllib3
];
setupPyGlobalFlags = [ "--with-upstream-urllib3" ];
postPatch = ''
rm -r telegram/vendor
substituteInPlace requirements.txt \
--replace "APScheduler==3.6.3" "APScheduler" \
--replace "cachetools==4.2.2" "cachetools" \
--replace "tornado==6.1" "tornado"
'';
doCheck = false;
});
pytradfri = super.pytradfri.overridePythonAttrs (oldAttrs: rec {
version = "9.0.0";
src = fetchFromGitHub {

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "grafana-agent";
version = "0.30.1";
version = "0.30.2";
src = fetchFromGitHub {
rev = "v${version}";
owner = "grafana";
repo = "agent";
sha256 = "sha256-QunB14B3HRzB5UL5OZaFsm4WGIOMnByYKblTogVOeHE=";
sha256 = "sha256-yexCK4GBA997CShtuQQTs1GBsXoknUnWWO0Uotb9EG8=";
};
vendorSha256 = "sha256-Cl3oygH1RPF+ZdJvkDmr7eyU5daxaZwNE8pQOHK/qP4=";
vendorHash = "sha256-Cl3oygH1RPF+ZdJvkDmr7eyU5daxaZwNE8pQOHK/qP4=";
ldflags = let
prefix = "github.com/grafana/agent/pkg/build";

View File

@ -8,16 +8,16 @@
buildNpmPackage rec {
pname = "zigbee2mqtt";
version = "1.29.1";
version = "1.29.2";
src = fetchFromGitHub {
owner = "Koenkk";
repo = "zigbee2mqtt";
rev = version;
hash = "sha256-ZfJR8n4hPExi7x1lcQ3WDLYm4+AO4HMpMfKS110csR4=";
hash = "sha256-f3M5QgSN7j/zfKAmJiAPGSEa2pS77zJKUamQrZMllYY=";
};
npmDepsHash = "sha256-Hr4jcPORHEp4U26MK1WtcaLcP7kIal0yzcHS7DzPENI=";
npmDepsHash = "sha256-cVX26bshHNOAPVhJQ3G88orrqQvxsF3FnR3/TNVZZJY=";
nativeBuildInputs = [
python3

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "csv2parquet";
version = "0.6.0";
version = "0.6.1";
src = fetchFromGitHub {
owner = "domoritz";
repo = pname;
rev = "v${version}";
sha256 = "sha256-kb5j7d5lhElbDuoDpsijaXy3Dxjs7nRCUorkg4vKQi8=";
sha256 = "sha256-499DC0kLvvP5Oq2WYRb9BIppTdfm41u8hwrPU8b66Zw=";
};
cargoSha256 = "sha256-rfwqLWNl05GyIBCOv9PaaYmkHBa58x0ck8Jz1qZyeos=";
cargoHash = "sha256-GoUmr1NArOyGx1A9E9K/Od0xXR2YxZqBcBdYFumgIJU=";
meta = with lib; {
description = "Convert CSV files to Apache Parquet";

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "phrase-cli";
version = "2.6.1";
version = "2.6.2";
src = fetchFromGitHub {
owner = "phrase";
repo = "phrase-cli";
rev = version;
sha256 = "sha256-wHMypCMSfv4OXpZvqhVfQeuGRTNuI6WlCwY2e3L3XFs=";
sha256 = "sha256-jByxNjz0KwcikOIpyxpswRbH4PFPu7mi9wERLHchPrI=";
};
vendorSha256 = "sha256-LlMBV52CG1uYW7I/e0VwoIIr0wk3ysc5gqrAlFRPsvE=";
vendorHash = "sha256-LlMBV52CG1uYW7I/e0VwoIIr0wk3ysc5gqrAlFRPsvE=";
ldflags = [ "-X=github.com/phrase/phrase-cli/cmd.PHRASE_CLIENT_VERSION=${version}" ];

View File

@ -1,12 +1,12 @@
{ lib, stdenv, fetchurl, makeWrapper, jre, graphviz }:
stdenv.mkDerivation rec {
version = "1.2022.14";
version = "1.2023.0";
pname = "plantuml";
src = fetchurl {
url = "https://github.com/plantuml/plantuml/releases/download/v${version}/plantuml-pdf-${version}.jar";
sha256 = "sha256-i0SwNQefoQqfIJmxcvdK7O1vnCt7+b5SFiecf+jGq6Y=";
sha256 = "sha256-1hP+HJCI1HCqd0qJCthac7cMiEnyUPz1M7fvF8AXh08=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "ifwifi";
version = "1.0.3";
version = "1.2.0";
src = fetchFromGitHub {
owner = "araujobsd";
repo = "ifwifi";
rev = "${version}";
sha256 = "sha256-RYxBlqG8yV7ZhqTkWbzrGI/ZJRF55JN+kUlqFj/Bs7s=";
sha256 = "sha256-DPMCwyKqGJrav0wASBky9bS1bvJ3xaGsDzsk1bKaH1U=";
};
cargoSha256 = "sha256-ys4tXP46pTXj9LSVISBRX+9xj7ijJddS86YzHHzK+jQ=";
cargoHash = "sha256-TL7ZsRbpRdYymJHuoCUCqe/U3Vacb9mtKFh85IOl+PA=";
nativeBuildInputs = [ makeWrapper ];
buildInputs = lib.optional stdenv.isDarwin Security;

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "nfpm";
version = "2.22.2";
version = "2.23.0";
src = fetchFromGitHub {
owner = "goreleaser";
repo = pname;
rev = "v${version}";
sha256 = "sha256-XxRIXNu35J5v4Wl2gasR+aIxxIst6/7D5aVWzRlI4ag=";
sha256 = "sha256-g6Rnn5IcuyY3117vDNT9BzG7OtZNsw3Jnmggnjjtj+U=";
};
vendorSha256 = "sha256-DUgBaHyFl7Q3EP3pX74fi+CnJN+YTysR2Kgq9+SiKwI=";
vendorHash = "sha256-olzrU2kari2r/wjhtS7QWj9yU8T9lKlfXXA8z/Dbqm8=";
ldflags = [ "-s" "-w" "-X main.version=${version}" ];

View File

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "cloudfox";
version = "1.8.1";
version = "1.9.0";
src = fetchFromGitHub {
owner = "BishopFox";
repo = pname;
rev = "v${version}";
hash = "sha256-eWo5l3yFEW7ztyYvN1zGGOhCzkJW7rUqaQ+2BPB7BWY=";
rev = "refs/tags/v${version}";
hash = "sha256-HLBW7a2sjA/bs8VJkwQNqM6YPEfa1onMoK89G5Fsb8s=";
};
vendorSha256 = "sha256-ATHQUvUBDZh06LtWLAA1UyHU1c4LME0z/FsygQQJQy8=";
vendorHash = "sha256-xMHlooXuLECQi7co2/WvY0TIoV0S5OgcBklICCFk3ls=";
# Some tests are failing because of wrong filename/path
doCheck = false;
@ -22,6 +22,7 @@ buildGoModule rec {
meta = with lib; {
description = "Tool for situational awareness of cloud penetration tests";
homepage = "https://github.com/BishopFox/cloudfox";
changelog = "https://github.com/BishopFox/cloudfox/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};

View File

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "igrep";
version = "0.5.1";
version = "1.0.0";
src = fetchFromGitHub {
owner = "konradsz";
repo = "igrep";
rev = "v${version}";
sha256 = "sha256-Blfkis0Ix0qhSt83YxRqJQJ2oQQK9DGmI60OkyQN5CE=";
sha256 = "sha256-pXgmbSmOLeAtI7pP0X9go4KnlLv4RChBQNCPYeG4Q84=";
};
cargoSha256 = "sha256-wEprTtD9/kKtGsbpj7gR+PjsDSAdl39ZoeU5BAGERRQ=";
cargoHash = "sha256-n1AVD6PuZFdZbTuGxNHvR6ngoVmSAixabcJl6nIcyP0=";
buildInputs = lib.optionals stdenv.isDarwin [ Security ];

View File

@ -4,16 +4,16 @@
buildGoModule rec {
pname = "guest-agent";
version = "20221109.00";
version = "20230112.00";
src = fetchFromGitHub {
owner = "GoogleCloudPlatform";
repo = pname;
rev = version;
sha256 = "sha256-maVFdsS6upJIAOzSpkwDEGppA4qdTikluEg1Hlu5+U0=";
sha256 = "sha256-uM71qepYnmE4pK+Bdx5l78upNyp2+Myo3ayOAAlRF9s=";
};
vendorSha256 = "sha256-JZfplQGwe+UCzdMLMD+9JJ2ksK9dZ6scz2jl0XoZ9rI=";
vendorHash = "sha256-ioejOtmsi0QnID3V5JxwAz399I5Jp5nHZqpzU9DjpQE=";
patches = [ ./disable-etc-mutation.patch ];

View File

@ -29433,6 +29433,7 @@ with pkgs;
jdk = jetbrains.jdk;
}) // {
jdk = callPackage ../development/compilers/jetbrains-jdk { };
jcef = callPackage ../development/compilers/jetbrains-jdk/jcef.nix { };
});
jmusicbot = callPackage ../applications/audio/jmusicbot { };
@ -34613,9 +34614,7 @@ with pkgs;
egoboo = callPackage ../games/egoboo { };
eidolon = callPackage ../games/eidolon {
openssl = openssl_1_1;
};
eidolon = callPackage ../games/eidolon { };
EmptyEpsilon = callPackage ../games/empty-epsilon { };

View File

@ -1597,7 +1597,7 @@ let
if lib.versionOlder "4.10.2" ocaml.version
then import ../development/ocaml-modules/janestreet/0.15.nix {
inherit self;
inherit (pkgs) bash fetchpatch lib openssl zstd;
inherit (pkgs) bash fetchpatch fzf lib openssl zstd;
}
else if lib.versionOlder "4.08" ocaml.version
then import ../development/ocaml-modules/janestreet/0.14.nix {