mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-17 09:34:36 +00:00
Merge staging-next into staging
This commit is contained in:
commit
5ad514cb7e
@ -20,4 +20,6 @@ in
|
||||
config = mkIf cfg.enable {
|
||||
services.github-runners.${cfg.name} = cfg;
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ veehaitch newam ];
|
||||
}
|
||||
|
@ -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 = {};
|
||||
};
|
||||
|
@ -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
|
||||
];
|
||||
}
|
||||
|
@ -53,4 +53,6 @@ in
|
||||
}))
|
||||
);
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ veehaitch newam ];
|
||||
}
|
||||
|
@ -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 = [
|
||||
|
@ -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/";
|
||||
|
@ -1,5 +0,0 @@
|
||||
{
|
||||
"version": "2.31.0",
|
||||
"sha256": "sha256-+qVfujPKy/HAkMOJQdHI3G1pBoYG2Lhm5BKHrvf3lv0=",
|
||||
"vendorSha256": "sha256-XTGbwMEuLBEXP/QAR8RLRPrbvz2ReCLg4tCogbqHiHg="
|
||||
}
|
@ -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
|
||||
}
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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; {
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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 = [
|
||||
|
@ -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
|
||||
},
|
||||
|
@ -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";
|
||||
|
952
pkgs/applications/version-management/sapling/Cargo.lock
generated
952
pkgs/applications/version-management/sapling/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -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 = ''
|
||||
|
@ -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"
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
|
@ -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/*)
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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.
|
||||
'';
|
||||
|
221
pkgs/development/compilers/jetbrains-jdk/jcef.nix
Normal file
221
pkgs/development/compilers/jetbrains-jdk/jcef.nix
Normal 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";
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
|
@ -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 {
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
@ -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
|
||||
|
@ -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 ];
|
||||
|
||||
|
@ -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
@ -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";
|
||||
|
@ -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";
|
||||
|
@ -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 {
|
||||
|
@ -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";
|
||||
|
@ -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
|
||||
|
@ -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";
|
||||
|
@ -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}" ];
|
||||
|
||||
|
@ -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 ];
|
||||
|
@ -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;
|
||||
|
@ -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}" ];
|
||||
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
@ -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 ];
|
||||
|
||||
|
@ -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 ];
|
||||
|
||||
|
@ -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 { };
|
||||
|
||||
|
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user