Merge master into staging-next
This commit is contained in:
+48
-5
@@ -13,13 +13,44 @@ set -o errexit -o noclobber -o nounset -o pipefail
|
||||
shopt -s failglob inherit_errexit
|
||||
|
||||
# https://stackoverflow.com/a/246128/6605742
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
|
||||
|
||||
cd "$DIR"/modules
|
||||
|
||||
pass=0
|
||||
fail=0
|
||||
|
||||
# loc
|
||||
# prints the location of the call of to the function that calls it
|
||||
# loc n
|
||||
# prints the location n levels up the call stack
|
||||
loc() {
|
||||
local caller depth
|
||||
depth=1
|
||||
if [[ $# -gt 0 ]]; then
|
||||
depth=$1
|
||||
fi
|
||||
# ( lineno fnname file ) of the caller
|
||||
caller=( $(caller $depth) )
|
||||
echo "${caller[2]}:${caller[0]}"
|
||||
}
|
||||
|
||||
line() {
|
||||
echo "----------------------------------------"
|
||||
}
|
||||
logStartFailure() {
|
||||
line
|
||||
}
|
||||
logEndFailure() {
|
||||
line
|
||||
echo
|
||||
}
|
||||
|
||||
logFailure() {
|
||||
# bold red
|
||||
printf '\033[1;31mTEST FAILED\033[0m at %s\n' "$(loc 2)"
|
||||
}
|
||||
|
||||
evalConfig() {
|
||||
local attr=$1
|
||||
shift
|
||||
@@ -31,7 +62,7 @@ reportFailure() {
|
||||
local attr=$1
|
||||
shift
|
||||
local script="import ./default.nix { modules = [ $* ];}"
|
||||
echo 2>&1 "$ nix-instantiate -E '$script' -A '$attr' --eval-only --json"
|
||||
echo "$ nix-instantiate -E '$script' -A '$attr' --eval-only --json"
|
||||
evalConfig "$attr" "$@" || true
|
||||
((++fail))
|
||||
}
|
||||
@@ -42,8 +73,12 @@ checkConfigOutput() {
|
||||
if evalConfig "$@" 2>/dev/null | grep -E --silent "$outputContains" ; then
|
||||
((++pass))
|
||||
else
|
||||
echo 2>&1 "error: Expected result matching '$outputContains', while evaluating"
|
||||
logStartFailure
|
||||
echo "ACTUAL:"
|
||||
reportFailure "$@"
|
||||
echo "EXPECTED: result matching '$outputContains'"
|
||||
logFailure
|
||||
logEndFailure
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -52,14 +87,22 @@ checkConfigError() {
|
||||
local err=""
|
||||
shift
|
||||
if err="$(evalConfig "$@" 2>&1 >/dev/null)"; then
|
||||
echo 2>&1 "error: Expected error code, got exit code 0, while evaluating"
|
||||
logStartFailure
|
||||
echo "ACTUAL: exit code 0, output:"
|
||||
reportFailure "$@"
|
||||
echo "EXPECTED: non-zero exit code"
|
||||
logFailure
|
||||
logEndFailure
|
||||
else
|
||||
if echo "$err" | grep -zP --silent "$errorContains" ; then
|
||||
((++pass))
|
||||
else
|
||||
echo 2>&1 "error: Expected error matching '$errorContains', while evaluating"
|
||||
logStartFailure
|
||||
echo "ACTUAL:"
|
||||
reportFailure "$@"
|
||||
echo "EXPECTED: error matching '$errorContains'"
|
||||
logFailure
|
||||
logEndFailure
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -20491,6 +20491,12 @@
|
||||
name = "Thiago K. Okada";
|
||||
matrix = "@k0kada:matrix.org";
|
||||
};
|
||||
thibaultd = {
|
||||
email = "t@lichess.org";
|
||||
github = "ornicar";
|
||||
githubId = 140370;
|
||||
name = "Thibault D";
|
||||
};
|
||||
thibaultlemaire = {
|
||||
email = "thibault.lemaire@protonmail.com";
|
||||
github = "ThibaultLemaire";
|
||||
|
||||
@@ -76,29 +76,42 @@ in
|
||||
default = { };
|
||||
type = types.attrsOf cfgType;
|
||||
};
|
||||
|
||||
enableConfigCheck = mkEnableOption "checking all configurations during build time" // { default = true; };
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
config =
|
||||
let
|
||||
configFiles =
|
||||
(optionalAttrs (cfg.settings != null) { "borgmatic/config.yaml".source = cfgfile; }) //
|
||||
mapAttrs'
|
||||
(name: value: nameValuePair
|
||||
"borgmatic.d/${name}.yaml"
|
||||
{ source = settingsFormat.generate "${name}.yaml" value; })
|
||||
cfg.configurations;
|
||||
borgmaticCheck = name: f: pkgs.runCommandCC "${name} validation" { } ''
|
||||
${pkgs.borgmatic}/bin/borgmatic -c ${f.source} config validate
|
||||
touch $out
|
||||
'';
|
||||
in
|
||||
mkIf cfg.enable {
|
||||
|
||||
warnings = []
|
||||
++ optional (cfg.settings != null && cfg.settings ? location)
|
||||
"`services.borgmatic.settings.location` is deprecated, please move your options out of sections to the global scope"
|
||||
++ optional (catAttrs "location" (attrValues cfg.configurations) != [])
|
||||
"`services.borgmatic.configurations.<name>.location` is deprecated, please move your options out of sections to the global scope"
|
||||
;
|
||||
warnings = []
|
||||
++ optional (cfg.settings != null && cfg.settings ? location)
|
||||
"`services.borgmatic.settings.location` is deprecated, please move your options out of sections to the global scope"
|
||||
++ optional (catAttrs "location" (attrValues cfg.configurations) != [])
|
||||
"`services.borgmatic.configurations.<name>.location` is deprecated, please move your options out of sections to the global scope"
|
||||
;
|
||||
|
||||
environment.systemPackages = [ pkgs.borgmatic ];
|
||||
environment.systemPackages = [ pkgs.borgmatic ];
|
||||
|
||||
environment.etc = (optionalAttrs (cfg.settings != null) { "borgmatic/config.yaml".source = cfgfile; }) //
|
||||
mapAttrs'
|
||||
(name: value: nameValuePair
|
||||
"borgmatic.d/${name}.yaml"
|
||||
{ source = settingsFormat.generate "${name}.yaml" value; })
|
||||
cfg.configurations;
|
||||
environment.etc = configFiles;
|
||||
|
||||
systemd.packages = [ pkgs.borgmatic ];
|
||||
systemd.packages = [ pkgs.borgmatic ];
|
||||
|
||||
# Workaround: https://github.com/NixOS/nixpkgs/issues/81138
|
||||
systemd.timers.borgmatic.wantedBy = [ "timers.target" ];
|
||||
};
|
||||
# Workaround: https://github.com/NixOS/nixpkgs/issues/81138
|
||||
systemd.timers.borgmatic.wantedBy = [ "timers.target" ];
|
||||
|
||||
system.checks = mkIf cfg.enableConfigCheck (mapAttrsToList borgmaticCheck configFiles);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, pkgs, lib, ... }: # mailman.nix
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
@@ -367,7 +367,7 @@ in {
|
||||
for more info.
|
||||
'';
|
||||
}
|
||||
(requirePostfixHash [ "relayDomains" ] "postfix_domains")
|
||||
(requirePostfixHash [ "config" "relay_domains" ] "postfix_domains")
|
||||
(requirePostfixHash [ "config" "transport_maps" ] "postfix_lmtp")
|
||||
(requirePostfixHash [ "config" "local_recipient_maps" ] "postfix_lmtp")
|
||||
]);
|
||||
|
||||
@@ -12,7 +12,7 @@ with lib;
|
||||
enable = mkOption {
|
||||
default = true;
|
||||
type = types.bool;
|
||||
description = lib.mdDoc "Whether to enable the Proxmox VE LXC module.";
|
||||
description = "Whether to enable the Proxmox VE LXC module.";
|
||||
};
|
||||
privileged = mkOption {
|
||||
type = types.bool;
|
||||
|
||||
+14
-14
@@ -124,7 +124,7 @@
|
||||
};
|
||||
|
||||
# Test that server reloads when an alias is removed (and subsequently test removal works in acme)
|
||||
"${server}-remove-alias".configuration = { nodes, config, ... }: baseConfig {
|
||||
"${server}_remove_alias".configuration = { nodes, config, ... }: baseConfig {
|
||||
inherit nodes config;
|
||||
specialConfig = {
|
||||
# Remove an alias, but create a standalone vhost in its place for testing.
|
||||
@@ -140,7 +140,7 @@
|
||||
};
|
||||
|
||||
# Test that the server reloads when only the acme configuration is changed.
|
||||
"${server}-change-acme-conf".configuration = { nodes, config, ... }: baseConfig {
|
||||
"${server}_change_acme_conf".configuration = { nodes, config, ... }: baseConfig {
|
||||
inherit nodes config;
|
||||
specialConfig = {
|
||||
security.acme.certs."${server}-http.example.test" = {
|
||||
@@ -251,7 +251,7 @@ in {
|
||||
];
|
||||
|
||||
# Test OCSP Stapling
|
||||
ocsp-stapling.configuration = { ... }: lib.mkMerge [
|
||||
ocsp_stapling.configuration = { ... }: lib.mkMerge [
|
||||
webserverBasicConfig
|
||||
{
|
||||
security.acme.certs."a.example.test".ocspMustStaple = true;
|
||||
@@ -266,7 +266,7 @@ in {
|
||||
|
||||
# Validate service relationships by adding a slow start service to nginx' wants.
|
||||
# Reproducer for https://github.com/NixOS/nixpkgs/issues/81842
|
||||
slow-startup.configuration = { ... }: lib.mkMerge [
|
||||
slow_startup.configuration = { ... }: lib.mkMerge [
|
||||
webserverBasicConfig
|
||||
{
|
||||
systemd.services.my-slow-service = {
|
||||
@@ -284,7 +284,7 @@ in {
|
||||
}
|
||||
];
|
||||
|
||||
concurrency-limit.configuration = {pkgs, ...}: lib.mkMerge [
|
||||
concurrency_limit.configuration = {pkgs, ...}: lib.mkMerge [
|
||||
webserverBasicConfig {
|
||||
security.acme.maxConcurrentRenewals = 1;
|
||||
|
||||
@@ -317,7 +317,7 @@ in {
|
||||
|
||||
# Test lego internal server (listenHTTP option)
|
||||
# Also tests useRoot option
|
||||
lego-server.configuration = { ... }: {
|
||||
lego_server.configuration = { ... }: {
|
||||
security.acme.useRoot = true;
|
||||
security.acme.certs."lego.example.test" = {
|
||||
listenHTTP = ":80";
|
||||
@@ -358,7 +358,7 @@ in {
|
||||
caddy.configuration = baseCaddyConfig;
|
||||
|
||||
# Test that the server reloads when only the acme configuration is changed.
|
||||
"caddy-change-acme-conf".configuration = { nodes, config, ... }: lib.mkMerge [
|
||||
"caddy_change_acme_conf".configuration = { nodes, config, ... }: lib.mkMerge [
|
||||
(baseCaddyConfig {
|
||||
inherit nodes config;
|
||||
})
|
||||
@@ -629,12 +629,12 @@ in {
|
||||
webserver.succeed("systemctl start nginx-config-reload.service")
|
||||
|
||||
with subtest("Correctly implements OCSP stapling"):
|
||||
switch_to(webserver, "ocsp-stapling")
|
||||
switch_to(webserver, "ocsp_stapling")
|
||||
webserver.wait_for_unit("acme-finished-a.example.test.target")
|
||||
check_stapling(client, "a.example.test")
|
||||
|
||||
with subtest("Can request certificate with HTTP-01 using lego's internal web server"):
|
||||
switch_to(webserver, "lego-server")
|
||||
switch_to(webserver, "lego_server")
|
||||
webserver.wait_for_unit("acme-finished-lego.example.test.target")
|
||||
webserver.wait_for_unit("nginx.service")
|
||||
webserver.succeed("echo HENLO && systemctl cat nginx.service")
|
||||
@@ -644,14 +644,14 @@ in {
|
||||
|
||||
with subtest("Can request certificate with HTTP-01 when nginx startup is delayed"):
|
||||
webserver.execute("systemctl stop nginx")
|
||||
switch_to(webserver, "slow-startup")
|
||||
switch_to(webserver, "slow_startup")
|
||||
webserver.wait_for_unit("acme-finished-slow.example.test.target")
|
||||
check_issuer(webserver, "slow.example.test", "pebble")
|
||||
webserver.wait_for_unit("nginx.service")
|
||||
check_connection(client, "slow.example.test")
|
||||
|
||||
with subtest("Can limit concurrency of running renewals"):
|
||||
switch_to(webserver, "concurrency-limit")
|
||||
switch_to(webserver, "concurrency_limit")
|
||||
webserver.wait_for_unit("acme-finished-f.example.test.target")
|
||||
webserver.wait_for_unit("acme-finished-g.example.test.target")
|
||||
webserver.wait_for_unit("acme-finished-h.example.test.target")
|
||||
@@ -669,7 +669,7 @@ in {
|
||||
check_connection(client, "a.example.test")
|
||||
|
||||
with subtest("security.acme changes reflect on caddy"):
|
||||
switch_to(webserver, "caddy-change-acme-conf")
|
||||
switch_to(webserver, "caddy_change_acme_conf")
|
||||
webserver.wait_for_unit("acme-finished-example.test.target")
|
||||
webserver.wait_for_unit("caddy.service")
|
||||
# FIXME reloading caddy is not sufficient to load new certs.
|
||||
@@ -721,7 +721,7 @@ in {
|
||||
|
||||
with subtest("Can remove an alias from a domain + cert is updated"):
|
||||
test_alias = f"{server}-{domains[0]}-alias.example.test"
|
||||
switch_to(webserver, f"{server}-remove-alias")
|
||||
switch_to(webserver, f"{server}_remove_alias")
|
||||
webserver.wait_for_unit(f"acme-finished-{test_domain}.target")
|
||||
wait_for_server()
|
||||
check_connection(client, test_domain)
|
||||
@@ -736,7 +736,7 @@ in {
|
||||
# Switch back to normal server config first, reset everything.
|
||||
switch_to(webserver, server)
|
||||
wait_for_server()
|
||||
switch_to(webserver, f"{server}-change-acme-conf")
|
||||
switch_to(webserver, f"{server}_change_acme_conf")
|
||||
webserver.wait_for_unit(f"acme-finished-{test_domain}.target")
|
||||
wait_for_server()
|
||||
check_connection_key_bits(client, test_domain, "384")
|
||||
|
||||
@@ -160,6 +160,7 @@ in {
|
||||
bootspec = handleTestOn ["x86_64-linux"] ./bootspec.nix {};
|
||||
boot-stage1 = handleTest ./boot-stage1.nix {};
|
||||
borgbackup = handleTest ./borgbackup.nix {};
|
||||
borgmatic = handleTest ./borgmatic.nix {};
|
||||
botamusique = handleTest ./botamusique.nix {};
|
||||
bpf = handleTestOn ["x86_64-linux" "aarch64-linux"] ./bpf.nix {};
|
||||
bpftune = handleTest ./bpftune.nix {};
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
import ./make-test-python.nix ({ pkgs, ... }:
|
||||
{
|
||||
name = "borgmatic";
|
||||
nodes.machine = { ... }: {
|
||||
services.borgmatic = {
|
||||
enable = true;
|
||||
settings = {
|
||||
source_directories = [ "/home" ];
|
||||
repositories = [
|
||||
{
|
||||
label = "local";
|
||||
path = "/var/backup";
|
||||
}
|
||||
];
|
||||
keep_daily = 7;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.succeed("borgmatic rcreate -e none")
|
||||
machine.succeed("borgmatic")
|
||||
'';
|
||||
})
|
||||
@@ -27,7 +27,7 @@ let
|
||||
|
||||
libPath = lib.makeLibraryPath [ xorg.libX11 glib gtk3 cairo pango ];
|
||||
redirects = [ "/usr/bin/pkexec=${pkexecPath}" ];
|
||||
in let
|
||||
|
||||
binaryPackage = stdenv.mkDerivation {
|
||||
pname = "${pname}-bin";
|
||||
version = buildVersion;
|
||||
|
||||
@@ -61,8 +61,7 @@ let
|
||||
] ++ lib.optionals (lib.versionAtLeast buildVersion "4145") [
|
||||
sqlite
|
||||
];
|
||||
in
|
||||
let
|
||||
|
||||
binaryPackage = stdenv.mkDerivation rec {
|
||||
pname = "${pnameBase}-bin";
|
||||
version = buildVersion;
|
||||
|
||||
@@ -21,9 +21,7 @@ let
|
||||
perl = perl536;
|
||||
# Ruby 3.2
|
||||
ruby = ruby_3_2;
|
||||
in
|
||||
|
||||
let
|
||||
# Building requires a few system tools to be in PATH.
|
||||
# Some of these we could patch into the relevant source files (such as xcodebuild and
|
||||
# qlmanage) but some are used by Xcode itself and we have no choice but to put them in PATH.
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubeone";
|
||||
version = "1.8.1";
|
||||
version = "1.8.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubermatic";
|
||||
repo = "kubeone";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-P/x6HigXnAhpUnycm9B8TO33hdPzREiM8kwL+/GedZY=";
|
||||
hash = "sha256-H+EzSsXCjURMBJW9+1EWXsfO4faUXcTcYckK/QJYEFk=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-tAThtZJ5DRzveJRG58VPxJWrZjB+dnXhX/50lZEHUGc=";
|
||||
vendorHash = "sha256-z1BBE+PH2s7VxWNxneu5y2ZerfzCZNPJowZJVq821Kk=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -15,9 +15,7 @@ let
|
||||
}.${stdenv.hostPlatform.system};
|
||||
|
||||
installer = "https://clientupdates.dropboxstatic.com/dbx-releng/client/dropbox-lnx.${arch}-${version}.tar.gz";
|
||||
in
|
||||
|
||||
let
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "dropbox";
|
||||
exec = "dropbox";
|
||||
|
||||
@@ -4,16 +4,12 @@
|
||||
let
|
||||
pname = "hol4";
|
||||
vnum = "14";
|
||||
in
|
||||
|
||||
let
|
||||
version = "k.${vnum}";
|
||||
longVersion = "kananaskis-${vnum}";
|
||||
holsubdir = "hol-${longVersion}";
|
||||
kernelFlag = if experimentalKernel then "--expk" else "--stdknl";
|
||||
in
|
||||
|
||||
let
|
||||
polymlEnableShared = with pkgs; lib.overrideDerivation polyml (attrs: {
|
||||
configureFlags = [ "--enable-shared" ];
|
||||
});
|
||||
|
||||
@@ -60,8 +60,7 @@ let
|
||||
"/usr/bin/pkexec=${pkexecPath}"
|
||||
"/bin/true=${coreutils}/bin/true"
|
||||
];
|
||||
in
|
||||
let
|
||||
|
||||
binaryPackage = stdenv.mkDerivation rec {
|
||||
pname = "${pnameBase}-bin";
|
||||
version = buildVersion;
|
||||
|
||||
@@ -167,8 +167,7 @@ let
|
||||
|
||||
inherit (lib) optional optionals optionalString versions;
|
||||
|
||||
in
|
||||
let
|
||||
|
||||
self = stdenv.mkDerivation rec {
|
||||
pname = "handbrake";
|
||||
inherit version src;
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
}:
|
||||
mkHyprlandPlugin hyprland rec {
|
||||
pluginName = "hy3";
|
||||
version = "0.41.2";
|
||||
version = "0.42.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "outfoxxed";
|
||||
repo = "hy3";
|
||||
rev = "refs/tags/hl${version}";
|
||||
hash = "sha256-aZuNKBwTwj8EXkDBMWNdRKbHPx647wJLWm55h6jOKbo=";
|
||||
hash = "sha256-gyhpW3Mv9RgWsB8jAMoA7yoMSb01ol0jyPFNsghaZ0w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
@@ -24,7 +24,7 @@ mkHyprlandPlugin hyprland rec {
|
||||
homepage = "https://github.com/outfoxxed/hy3";
|
||||
description = "Hyprland plugin for an i3 / sway like manual tiling layout";
|
||||
license = lib.licenses.gpl3;
|
||||
platforms = lib.platforms.linux;
|
||||
inherit (hyprland.meta) platforms;
|
||||
maintainers = with lib.maintainers; [
|
||||
aacebedo
|
||||
johnrtitor
|
||||
|
||||
@@ -14,13 +14,13 @@ let
|
||||
mkHyprlandPlugin,
|
||||
}:
|
||||
let
|
||||
version = "0.41.2";
|
||||
version = "0.42.0";
|
||||
|
||||
hyprland-plugins-src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "hyprland-plugins";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-TnlAcO5K2gkab0mpKurP5Co6eWRycP/KbFqWNS2rsMA=";
|
||||
hash = "sha256-aPzAbDgAyxJlUjyaFPDhjcL7WnyDP5uDZKOqlQRD8eM=";
|
||||
};
|
||||
in
|
||||
mkHyprlandPlugin hyprland {
|
||||
@@ -37,7 +37,7 @@ let
|
||||
fufexan
|
||||
johnrtitor
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
inherit (hyprland.meta) platforms;
|
||||
};
|
||||
}
|
||||
)
|
||||
|
||||
@@ -127,6 +127,8 @@ let
|
||||
else if (with targetPlatform; isAarch32 && isLinux) then "${sharedLibraryLoader}/lib/ld-linux*.so.3"
|
||||
else if targetPlatform.system == "aarch64-linux" then "${sharedLibraryLoader}/lib/ld-linux-aarch64.so.1"
|
||||
else if targetPlatform.system == "powerpc-linux" then "${sharedLibraryLoader}/lib/ld.so.1"
|
||||
else if targetPlatform.system == "s390-linux" then "${sharedLibraryLoader}/lib/ld.so.1"
|
||||
else if targetPlatform.system == "s390x-linux" then "${sharedLibraryLoader}/lib/ld64.so.1"
|
||||
else if targetPlatform.isMips then "${sharedLibraryLoader}/lib/ld.so.1"
|
||||
# `ld-linux-riscv{32,64}-<abi>.so.1`
|
||||
else if targetPlatform.isRiscV then "${sharedLibraryLoader}/lib/ld-linux-riscv*.so.1"
|
||||
|
||||
@@ -22,17 +22,17 @@ let
|
||||
in
|
||||
rec {
|
||||
/**
|
||||
A generic function that returns a derivation which, when beeing built outputs the script in an executable format.
|
||||
`makeScriptWriter` returns a derivation which creates an executable script.
|
||||
|
||||
# Inputs
|
||||
|
||||
config (AttrSet)
|
||||
: `interpreter` (String)
|
||||
: the interpreter to use for the script
|
||||
: the [interpreter](https://en.wikipedia.org/wiki/Shebang_(Unix)) to use for the script.
|
||||
: `check` (String)
|
||||
: A command to check the script. I.e. some linting check.
|
||||
: A command to check the script. For example, this could be a linting check.
|
||||
: `makeWrapperArgs` (Optional, [ String ], Default: [])
|
||||
: Arguments forwarded to (`makeWrapper`)[#fun-makeWrapper]
|
||||
: Arguments forwarded to (`makeWrapper`)[#fun-makeWrapper].
|
||||
|
||||
`nameOrPath` (String)
|
||||
: The name of the script or the path to the script.
|
||||
@@ -40,8 +40,8 @@ rec {
|
||||
When a `string` starting with "/" is passed, the script will be created at the specified path in $out.
|
||||
I.e. `"/bin/hello"` will create a script at `$out/bin/hello`.
|
||||
|
||||
Any other `string` is interpreted as filename.
|
||||
It must be a simple unix filename starting with a letter, digit, dot, or underscore.
|
||||
Any other `string` is interpreted as a filename.
|
||||
It must be a [POSIX filename](https://en.wikipedia.org/wiki/Filename) starting with a letter, digit, dot, or underscore.
|
||||
Spaces or special characters are not allowed.
|
||||
|
||||
`content` (String)
|
||||
@@ -51,6 +51,7 @@ rec {
|
||||
This function is used as base implementation for other high-level writer functions.
|
||||
|
||||
For example, `writeBash` can (roughly) be implemented as:
|
||||
|
||||
```nix
|
||||
writeBash = makeScriptWriter { interpreter = "${pkgs.bash}/bin/bash"; }
|
||||
```
|
||||
@@ -103,7 +104,8 @@ rec {
|
||||
name = last (builtins.split "/" nameOrPath);
|
||||
path = if nameIsPath then nameOrPath else "/bin/${name}";
|
||||
# The inner derivation which creates the executable under $out/bin (never at $out directly)
|
||||
# This is required in order to support wrapping, as wrapped programs consist of at least two files: the executable and the wrapper.
|
||||
# This is required in order to support wrapping, as wrapped programs consist of
|
||||
# at least two files: the executable and the wrapper.
|
||||
inner =
|
||||
pkgs.runCommandLocal name
|
||||
(
|
||||
@@ -178,11 +180,10 @@ rec {
|
||||
'';
|
||||
|
||||
/**
|
||||
This is a generic function that returns a derivation which, when built, compiles the given script into an executable format.
|
||||
`makeBinWriter` returns a derivation which compiles the given script into an executable format.
|
||||
|
||||
:::{.note}
|
||||
This function is the base implementation for other compile language `writers`.
|
||||
i.e. `writeHaskell`, `writeRust`.
|
||||
This function is the base implementation for other compile language `writers`, such as `writeHaskell` and `writeRust`.
|
||||
:::
|
||||
|
||||
# Inputs
|
||||
@@ -192,7 +193,7 @@ rec {
|
||||
: The script that compiles the given content into an executable.
|
||||
|
||||
: `strip` (Boolean, Default: true)
|
||||
: Whether to strip the executable or not.
|
||||
: Whether to [strip](https://nixos.org/manual/nixpkgs/stable/#ssec-fixup-phase) the executable or not.
|
||||
|
||||
: `makeWrapperArgs` (Optional, [ String ], Default: [])
|
||||
: Arguments forwarded to (`makeWrapper`)[#fun-makeWrapper]
|
||||
@@ -201,10 +202,10 @@ rec {
|
||||
: The name of the script or the path to the script.
|
||||
|
||||
When a `string` starting with "/" is passed, the script will be created at the specified path in $out.
|
||||
I.e. `"/bin/hello"` will create a script at `$out/bin/hello`.
|
||||
For example, `"/bin/hello"` will create a script at `$out/bin/hello`.
|
||||
|
||||
Any other `string` is interpreted as filename.
|
||||
It must be a simple unix filename starting with a letter, digit, dot, or underscore.
|
||||
Any other `string` is interpreted as a filename.
|
||||
It must be a [POSIX filename](https://en.wikipedia.org/wiki/Filename) starting with a letter, digit, dot, or underscore.
|
||||
Spaces or special characters are not allowed.
|
||||
|
||||
# Examples
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "aquamarine";
|
||||
version = "0.2.0";
|
||||
version = "0.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "aquamarine";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-UKdFUKA/h6SeiXpQ06BSZkBJKDwFOFaGI3NtiuaDOhg=";
|
||||
hash = "sha256-1RYuBS/CQhtyIeXrLDvGWJhuVG1kiQMG+aYaBkoGnEU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -62,9 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
cmakeBuildType = "RelWithDebInfo";
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/hyprwm/aquamarine/releases/tag/${finalAttrs.version}";
|
||||
@@ -75,6 +73,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
fufexan
|
||||
johnrtitor
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
platforms = lib.platforms.linux ++ lib.platforms.freebsd;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -71,13 +71,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-common";
|
||||
version = "6.2.8";
|
||||
version = "6.2.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = "cinnamon";
|
||||
rev = version;
|
||||
hash = "sha256-d1r+ouomcmiqTMHL/iHNL1kUJZvy35e2Qpv5j3bHDAA=";
|
||||
hash = "sha256-CW87zZogjdTOCp6mx5ctV6T9YQVQGo3yw0lPTkiCNkE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
|
||||
let
|
||||
pname = "fflogs";
|
||||
version = "8.12.0";
|
||||
version = "8.12.19";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/RPGLogs/Uploaders-fflogs/releases/download/v${version}/fflogs-v${version}.AppImage";
|
||||
hash = "sha256-2hpCcA/RN7fpNhaqMAyVC4d1fTRhp+lwYf/Wc0FjXxI=";
|
||||
hash = "sha256-/TGmUHMNowQFIw09OGw1ybiYE7ADPLbsZpAMPw3G5NE=";
|
||||
};
|
||||
extracted = appimageTools.extractType2 { inherit pname version src; };
|
||||
in
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"branch": "main",
|
||||
"commit_hash": "918d8340afd652b011b937d29d5eea0be08467f5",
|
||||
"commit_message": "flake.lock: update",
|
||||
"date": "2024-06-25",
|
||||
"tag": "v0.41.2"
|
||||
"commit_hash": "9a09eac79b85c846e3a865a9078a3f8ff65a9259",
|
||||
"commit_message": "props: bump version to 0.42.0",
|
||||
"date": "2024-08-07",
|
||||
"tag": "v0.42.0"
|
||||
}
|
||||
|
||||
@@ -1,77 +1,78 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, makeWrapper
|
||||
, meson
|
||||
, cmake
|
||||
, ninja
|
||||
, binutils
|
||||
, cairo
|
||||
, epoll-shim
|
||||
, expat
|
||||
, fribidi
|
||||
, git
|
||||
, hyprcursor
|
||||
, hyprland-protocols
|
||||
, hyprlang
|
||||
, hyprutils
|
||||
, hyprwayland-scanner
|
||||
, jq
|
||||
, libGL
|
||||
, libdrm
|
||||
, libdatrie
|
||||
, libexecinfo
|
||||
, libinput
|
||||
, libselinux
|
||||
, libsepol
|
||||
, libthai
|
||||
, libuuid
|
||||
, libxkbcommon
|
||||
, mesa
|
||||
, pango
|
||||
, pciutils
|
||||
, pcre2
|
||||
, pkgconf
|
||||
, python3
|
||||
, systemd
|
||||
, tomlplusplus
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
, wayland-scanner
|
||||
, xwayland
|
||||
, hwdata
|
||||
, seatd
|
||||
, libdisplay-info
|
||||
, libliftoff
|
||||
, xorg
|
||||
, debug ? false
|
||||
, enableXWayland ? true
|
||||
, legacyRenderer ? false
|
||||
, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd
|
||||
, wrapRuntimeDeps ? true
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
pkg-config,
|
||||
makeWrapper,
|
||||
cmake,
|
||||
ninja,
|
||||
aquamarine,
|
||||
binutils,
|
||||
cairo,
|
||||
epoll-shim,
|
||||
expat,
|
||||
fribidi,
|
||||
git,
|
||||
hwdata,
|
||||
hyprcursor,
|
||||
hyprlang,
|
||||
hyprutils,
|
||||
hyprwayland-scanner,
|
||||
jq,
|
||||
libGL,
|
||||
libdatrie,
|
||||
libdisplay-info,
|
||||
libdrm,
|
||||
libexecinfo,
|
||||
libinput,
|
||||
libliftoff,
|
||||
libselinux,
|
||||
libsepol,
|
||||
libthai,
|
||||
libuuid,
|
||||
libxkbcommon,
|
||||
mesa,
|
||||
pango,
|
||||
pciutils,
|
||||
pcre2,
|
||||
pkgconf,
|
||||
python3,
|
||||
seatd,
|
||||
systemd,
|
||||
tomlplusplus,
|
||||
wayland,
|
||||
wayland-protocols,
|
||||
wayland-scanner,
|
||||
xorg,
|
||||
xwayland,
|
||||
debug ? false,
|
||||
enableXWayland ? true,
|
||||
legacyRenderer ? false,
|
||||
withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
|
||||
wrapRuntimeDeps ? true,
|
||||
# deprecated flags
|
||||
, nvidiaPatches ? false
|
||||
, hidpiXWayland ? false
|
||||
, enableNvidiaPatches ? false
|
||||
nvidiaPatches ? false,
|
||||
hidpiXWayland ? false,
|
||||
enableNvidiaPatches ? false,
|
||||
}:
|
||||
let
|
||||
info = builtins.fromJSON (builtins.readFile ./info.json);
|
||||
in
|
||||
assert lib.assertMsg (!nvidiaPatches) "The option `nvidiaPatches` has been removed.";
|
||||
assert lib.assertMsg (!enableNvidiaPatches) "The option `enableNvidiaPatches` has been removed.";
|
||||
assert lib.assertMsg (!hidpiXWayland) "The option `hidpiXWayland` has been removed. Please refer https://wiki.hyprland.org/Configuring/XWayland";
|
||||
assert lib.assertMsg (!hidpiXWayland)
|
||||
"The option `hidpiXWayland` has been removed. Please refer https://wiki.hyprland.org/Configuring/XWayland";
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hyprland" + lib.optionalString debug "-debug";
|
||||
version = "0.41.2";
|
||||
version = "0.42.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "hyprland";
|
||||
fetchSubmodules = true;
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-JmfnYz+9a4TjNl3mAus1VpoWtTI9d1xkW9MHbkcV0Po=";
|
||||
hash = "sha256-deu8zvgseDg2gQEnZiCda4TrbA6pleE9iItoZlsoMtE=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -97,16 +98,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
hwdata
|
||||
hyprwayland-scanner
|
||||
jq
|
||||
makeWrapper
|
||||
cmake
|
||||
meson # for wlroots
|
||||
ninja
|
||||
pkg-config
|
||||
wayland-scanner
|
||||
python3 # for udis86
|
||||
wayland-scanner
|
||||
];
|
||||
|
||||
outputs = [
|
||||
@@ -115,54 +114,54 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"dev"
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cairo
|
||||
expat
|
||||
fribidi
|
||||
git
|
||||
hyprcursor.dev
|
||||
hyprland-protocols
|
||||
hyprlang
|
||||
hyprutils
|
||||
libGL
|
||||
libdatrie
|
||||
libdrm
|
||||
libinput
|
||||
libselinux
|
||||
libsepol
|
||||
libthai
|
||||
libuuid
|
||||
libxkbcommon
|
||||
mesa
|
||||
wayland
|
||||
wayland-protocols
|
||||
pango
|
||||
pciutils
|
||||
pcre2
|
||||
tomlplusplus
|
||||
# for subproject wlroots-hyprland
|
||||
seatd
|
||||
libliftoff
|
||||
libdisplay-info
|
||||
xorg.xcbutilerrors
|
||||
xorg.xcbutilrenderutil
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isBSD [ epoll-shim ]
|
||||
++ lib.optionals stdenv.hostPlatform.isMusl [ libexecinfo ]
|
||||
++ lib.optionals enableXWayland [
|
||||
xorg.libxcb
|
||||
xorg.libXdmcp
|
||||
xorg.xcbutil
|
||||
xorg.xcbutilwm
|
||||
xwayland
|
||||
]
|
||||
++ lib.optionals withSystemd [ systemd ];
|
||||
buildInputs =
|
||||
[
|
||||
aquamarine
|
||||
cairo
|
||||
expat
|
||||
fribidi
|
||||
git
|
||||
hwdata
|
||||
hyprcursor.dev
|
||||
hyprlang
|
||||
hyprutils
|
||||
libGL
|
||||
libdatrie
|
||||
libdisplay-info
|
||||
libdrm
|
||||
libinput
|
||||
libliftoff
|
||||
libselinux
|
||||
libsepol
|
||||
libthai
|
||||
libuuid
|
||||
libxkbcommon
|
||||
mesa
|
||||
pango
|
||||
pciutils
|
||||
pcre2
|
||||
seatd
|
||||
tomlplusplus
|
||||
wayland
|
||||
wayland-protocols
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isBSD [ epoll-shim ]
|
||||
++ lib.optionals stdenv.hostPlatform.isMusl [ libexecinfo ]
|
||||
++ lib.optionals enableXWayland [
|
||||
xorg.libxcb
|
||||
xorg.libXcursor
|
||||
xorg.libXdmcp
|
||||
xorg.xcbutil
|
||||
xorg.xcbutilerrors
|
||||
xorg.xcbutilrenderutil
|
||||
xorg.xcbutilwm
|
||||
xwayland
|
||||
]
|
||||
++ lib.optionals withSystemd [ systemd ];
|
||||
|
||||
cmakeBuildType =
|
||||
if debug
|
||||
then "Debug"
|
||||
else "RelWithDebInfo";
|
||||
cmakeBuildType = if debug then "Debug" else "RelWithDebInfo";
|
||||
|
||||
dontStrip = debug;
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "NO_XWAYLAND" (!enableXWayland))
|
||||
@@ -173,7 +172,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
postInstall = ''
|
||||
${lib.optionalString wrapRuntimeDeps ''
|
||||
wrapProgram $out/bin/Hyprland \
|
||||
--suffix PATH : ${lib.makeBinPath [binutils pciutils pkgconf]}
|
||||
--suffix PATH : ${
|
||||
lib.makeBinPath [
|
||||
binutils
|
||||
pciutils
|
||||
pkgconf
|
||||
]
|
||||
}
|
||||
''}
|
||||
'';
|
||||
|
||||
@@ -191,6 +196,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
wozeparrot
|
||||
];
|
||||
mainProgram = "Hyprland";
|
||||
platforms = lib.platforms.linux;
|
||||
platforms = lib.platforms.linux ++ lib.platforms.freebsd;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -22,9 +22,8 @@ date=${date%T*}
|
||||
# update version; otherwise fail
|
||||
update-source-version hyprland "$version" --ignore-same-hash
|
||||
|
||||
# find hyprland dir
|
||||
files="$(fd --full-path /hyprland/ | head -1)"
|
||||
dir="${files%/*}"
|
||||
# set hyprland dir
|
||||
dir="pkgs/by-name/hy/hyprland"
|
||||
|
||||
echo -e '{
|
||||
"branch": "'"$branch"'",
|
||||
@@ -32,4 +31,4 @@ echo -e '{
|
||||
"commit_message": "'"$commit_message"'",
|
||||
"date": "'"$date"'",
|
||||
"tag": "'"$tag"'"
|
||||
}' >"$dir/info.json"
|
||||
}' >"$dir/info.json" || echo "Please run the script in the root of the Nixpkgs repo"
|
||||
|
||||
@@ -0,0 +1,118 @@
|
||||
{
|
||||
dbus,
|
||||
openssl,
|
||||
gtk3,
|
||||
webkitgtk,
|
||||
pkg-config,
|
||||
wrapGAppsHook3,
|
||||
fetchFromGitHub,
|
||||
buildNpmPackage,
|
||||
rustPlatform,
|
||||
lib,
|
||||
stdenv,
|
||||
copyDesktopItems,
|
||||
makeDesktopItem,
|
||||
alsa-lib,
|
||||
darwin,
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "lrcget";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tranxuanthang";
|
||||
repo = "lrcget";
|
||||
rev = "${version}";
|
||||
hash = "sha256-OrmSaRKhGCl5sTirzICx8PBsQm23pYUBBtb07+P1ZbY=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/src-tauri";
|
||||
|
||||
cargoHash = "sha256-V9+/sfCxeZJ39nOuMBv2YlkzewoS+N3kFyBGdIqkw/A=";
|
||||
|
||||
frontend = buildNpmPackage {
|
||||
inherit version src;
|
||||
pname = "lrcget-ui";
|
||||
# FIXME: This is a workaround, because we have a git dependency node_modules/lrc-kit contains install scripts
|
||||
# but has no lockfile, which is something that will probably break.
|
||||
forceGitDeps = true;
|
||||
distPhase = "true";
|
||||
dontInstall = true;
|
||||
# To fix `npm ERR! Your cache folder contains root-owned files`
|
||||
makeCacheWritable = true;
|
||||
|
||||
npmDepsHash = "sha256-qQ5UMO3UuD6IvUveTRF35qTlGq5PMbxp1Q4UroDqVtk=";
|
||||
|
||||
postBuild = ''
|
||||
cp -r dist/ $out
|
||||
'';
|
||||
};
|
||||
|
||||
# copy the frontend static resources to final build directory
|
||||
# Also modify tauri.conf.json so that it expects the resources at the new location
|
||||
postPatch = ''
|
||||
cp -r $frontend ./frontend
|
||||
|
||||
substituteInPlace tauri.conf.json --replace-fail '"distDir": "../dist"' '"distDir": "./frontend"'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
wrapGAppsHook3
|
||||
copyDesktopItems
|
||||
rustPlatform.bindgenHook
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
dbus
|
||||
openssl
|
||||
gtk3
|
||||
]
|
||||
++ lib.optionals (!stdenv.isDarwin) [
|
||||
webkitgtk
|
||||
alsa-lib
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.CoreAudio
|
||||
darwin.apple_sdk.frameworks.WebKit
|
||||
];
|
||||
|
||||
# Disable checkPhase, since the project doesn't contain tests
|
||||
doCheck = false;
|
||||
|
||||
postInstall = ''
|
||||
install -DT icons/128x128@2x.png $out/share/icons/hicolor/128x128@2/apps/lrcget.png
|
||||
install -DT icons/128x128.png $out/share/icons/hicolor/128x128/apps/lrcget.png
|
||||
install -DT icons/32x32.png $out/share/icons/hicolor/32x32/apps/lrcget.png
|
||||
'';
|
||||
|
||||
# WEBKIT_DISABLE_COMPOSITING_MODE essential in NVIDIA + compositor https://github.com/NixOS/nixpkgs/issues/212064#issuecomment-1400202079
|
||||
postFixup = ''
|
||||
wrapProgram "$out/bin/lrcget" \
|
||||
--set WEBKIT_DISABLE_COMPOSITING_MODE 1
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "LRCGET";
|
||||
exec = "lrcget";
|
||||
icon = "lrcget";
|
||||
desktopName = "LRCGET";
|
||||
comment = meta.description;
|
||||
})
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Utility for mass-downloading LRC synced lyrics for your offline music library";
|
||||
homepage = "https://github.com/tranxuanthang/lrcget";
|
||||
changelog = "https://github.com/tranxuanthang/lrcget/releases/tag/${version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
anas
|
||||
Scrumplex
|
||||
];
|
||||
mainProgram = "lrcget";
|
||||
platforms = with lib.platforms; unix ++ windows;
|
||||
};
|
||||
}
|
||||
@@ -8,17 +8,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mountpoint-s3";
|
||||
version = "1.6.0";
|
||||
version = "1.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "awslabs";
|
||||
repo = "mountpoint-s3";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-1d2PPbTheUcHw2xS5LEcdchnfwu7szBApv+FnPaxt+I=";
|
||||
hash = "sha256-0SygSRp2HXgLhW0BscRhH3H/WUstAf6VbQPJ35ffrRM=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoHash = "sha256-tBi41kdaa4mVHh0MkXJ8kaG1e3CQURIKVk9Lboy1N8Y=";
|
||||
cargoHash = "sha256-nkTvVfbpi5yvWpRd1Tm6INi3PrR6mP8VkBpIVeCEkw0=";
|
||||
|
||||
# thread 'main' panicked at cargo-auditable/src/collect_audit_data.rs:77:9:
|
||||
# cargo metadata failure: error: none of the selected packages contains these features: libfuse3
|
||||
@@ -31,9 +31,17 @@ rustPlatform.buildRustPackage rec {
|
||||
#thread 's3_crt_client::tests::test_expected_bucket_owner' panicked at mountpoint-s3-client/src/s3_crt_client.rs:1123:47:
|
||||
#Create test client: ProviderFailure(Error(1173, "aws-c-io: AWS_IO_TLS_ERROR_DEFAULT_TRUST_STORE_NOT_FOUND, Default TLS trust store not found on this system. Trusted CA certificates must be installed, or \"override default trust store\" must be used while creating the TLS context."))
|
||||
#
|
||||
"--skip=s3_crt_client::tests::client_new_fails_with_greater_part_size"
|
||||
"--skip=s3_crt_client::tests::client_new_fails_with_smaller_part_size"
|
||||
"--skip=s3_crt_client::tests::test_endpoint_favors_env_variable"
|
||||
"--skip=s3_crt_client::tests::test_endpoint_favors_parameter_over_env_variable"
|
||||
"--skip=s3_crt_client::tests::test_endpoint_with_invalid_env_variable"
|
||||
"--skip=s3_crt_client::tests::test_expected_bucket_owner"
|
||||
"--skip=s3_crt_client::tests::test_user_agent_with_prefix"
|
||||
"--skip=s3_crt_client::tests::test_user_agent_without_prefix"
|
||||
"--skip=test_lookup_throttled_mock::head_object"
|
||||
"--skip=test_lookup_throttled_mock::list_object"
|
||||
"--skip=test_lookup_unhandled_error_mock"
|
||||
"--skip=tests::smoke"
|
||||
# fuse module not available on build machine ?
|
||||
#
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
, xapp
|
||||
, libexif
|
||||
, json-glib
|
||||
, gtk-layer-shell
|
||||
, exempi
|
||||
, intltool
|
||||
, shared-mime-info
|
||||
@@ -24,13 +23,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nemo";
|
||||
version = "6.2.7";
|
||||
version = "6.2.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-wYzBrFRCgfmvmjSP6X1cCAFU5aFydO2FNl86j5rAfgA=";
|
||||
sha256 = "sha256-1GJLsUlptwXcZUWIOztskV0nHA9BnPmnVeTgUwJ+QDQ=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -52,7 +51,6 @@ stdenv.mkDerivation rec {
|
||||
gvfs
|
||||
libgsf
|
||||
json-glib
|
||||
gtk-layer-shell
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -68,8 +66,6 @@ stdenv.mkDerivation rec {
|
||||
mesonFlags = [
|
||||
# use locales from cinnamon-translations
|
||||
"--localedir=${cinnamon-translations}/share/locale"
|
||||
# enabled by default in Mint packaging (see debian/rules)
|
||||
"-Dgtk_layer_shell=true"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, php
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
php,
|
||||
}:
|
||||
|
||||
php.buildComposerProject (finalAttrs: {
|
||||
@@ -19,13 +20,9 @@ php.buildComposerProject (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs bin/phpactor
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --cmd phpactor \
|
||||
--bash <($out/bin/phpactor completion bash)
|
||||
--bash <(php $out/bin/phpactor completion bash)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
libX11,
|
||||
libXrandr,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "yeahconsole";
|
||||
version = "0.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jceb";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Ea6erNF9hEhDHlWLctu1SHFVoXXXsPeWUbvCBSZwn4s=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
libX11
|
||||
libXrandr
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" Makefile
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Turns an xterm into a gamelike console";
|
||||
homepage = "https://github.com/jceb/yeahconsole";
|
||||
license = lib.licenses.gpl2Only;
|
||||
maintainers = with lib.maintainers; [ jceb ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -10,11 +10,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "evisum";
|
||||
version = "0.6.0";
|
||||
version = "0.6.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1ip3rmp0hcn0pk6lv089cayx18p1b2wycgvwpnf7ghbdxg7n4q15";
|
||||
sha256 = "gy8guN4T4pCJCBAmfPQe2Ey7DITi4goU9ng2MmEtrbk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -35,9 +35,7 @@ packageNames:
|
||||
let
|
||||
util = callPackage ./util.nix {};
|
||||
|
||||
in
|
||||
|
||||
let
|
||||
# Some Julia packages require access to Python. Provide a Nixpkgs version so it
|
||||
# doesn't try to install its own.
|
||||
pythonToUse = let
|
||||
|
||||
@@ -24,9 +24,9 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
inherit (attr.meta) platforms badPlatforms;
|
||||
homepage = "https://savannah.nongnu.org/projects/acl";
|
||||
description = "Library and tools for manipulating access control lists";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl2Plus;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://savannah.nongnu.org/projects/attr/";
|
||||
description = "Library and tools for manipulating extended attributes";
|
||||
platforms = platforms.linux;
|
||||
badPlatforms = platforms.microblaze;
|
||||
license = licenses.gpl2Plus;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -11,29 +11,36 @@ let
|
||||
if stdenv.isAarch64 then "armv8" else
|
||||
"unknown";
|
||||
|
||||
nnueFile = "nn-5af11540bbfe.nnue";
|
||||
nnue = fetchurl {
|
||||
name = nnueFile;
|
||||
url = "https://tests.stockfishchess.org/api/nn/${nnueFile}";
|
||||
sha256 = "sha256-WvEVQLv+/LVOOMXdAAyrS0ad+nWZodVb5dJyLCCokps=";
|
||||
# These files can be found in src/evaluate.h
|
||||
nnueBigFile = "nn-b1a57edbea57.nnue";
|
||||
nnueBig = fetchurl {
|
||||
name = nnueBigFile;
|
||||
url = "https://tests.stockfishchess.org/api/nn/${nnueBigFile}";
|
||||
sha256 = "sha256-saV+2+pXTKi4jWg3RzhFeRvrU9iF+H+G1czdVln787I=";
|
||||
};
|
||||
nnueSmallFile = "nn-baff1ede1f90.nnue";
|
||||
nnueSmall = fetchurl {
|
||||
name = nnueSmallFile;
|
||||
url = "https://tests.stockfishchess.org/api/nn/${nnueSmallFile}";
|
||||
sha256 = "sha256-uv8e3h+Qwd0bT3cvHv8phIghgB6BhjRdp/DrQSG9b2M=";
|
||||
};
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "stockfish";
|
||||
version = "16";
|
||||
version = "16.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "official-stockfish";
|
||||
repo = "Stockfish";
|
||||
rev = "sf_${version}";
|
||||
sha256 = "sha256-ASy2vIP94lnSKgxixK1GoC84yAysaJpxeyuggV4MrP4=";
|
||||
sha256 = "sha256-xTtjfJgEHF0SQT9Fw/9RLZA0Quh00jrIbihr7IYCm2U=";
|
||||
};
|
||||
|
||||
postUnpack = ''
|
||||
sourceRoot+=/src
|
||||
echo ${nnue}
|
||||
cp "${nnue}" "$sourceRoot/${nnueFile}"
|
||||
cp "${nnueBig}" "$sourceRoot/${nnueBigFile}"
|
||||
cp "${nnueSmall}" "$sourceRoot/${nnueSmallFile}"
|
||||
'';
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" "ARCH=${arch}" "CXX=${stdenv.cc.targetPrefix}c++" ];
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{ lib, stdenv, fetchurl, autoreconfHook, updateAutotoolsGnuConfigScriptsHook, acl, libintl }:
|
||||
{ lib, stdenv, fetchurl, autoreconfHook, updateAutotoolsGnuConfigScriptsHook
|
||||
, libintl
|
||||
, aclSupport ? lib.meta.availableOn stdenv.hostPlatform acl, acl
|
||||
}:
|
||||
|
||||
# Note: this package is used for bootstrapping fetchurl, and thus
|
||||
# cannot use fetchpatch! All mutable patches (generated by GitHub or
|
||||
@@ -37,7 +40,7 @@ stdenv.mkDerivation rec {
|
||||
# "_libintl_textdomain", referenced from:
|
||||
# _main in tar.o
|
||||
# ld: symbol(s) not found for architecture x86_64
|
||||
buildInputs = lib.optional stdenv.isLinux acl ++ lib.optional stdenv.isDarwin libintl;
|
||||
buildInputs = lib.optional aclSupport acl ++ lib.optional stdenv.isDarwin libintl;
|
||||
|
||||
# May have some issues with root compilation because the bootstrap tool
|
||||
# cannot be used as a login shell for now.
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
let
|
||||
avro-cpp = avro-cpp_llvm;
|
||||
nanodbc = nanodbc_llvm;
|
||||
in
|
||||
let
|
||||
|
||||
common = import ./common.nix {
|
||||
inherit lib stdenv bzip2 zlib autoconf automake cmake
|
||||
help2man texinfo libtool cppzmq libarchive
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
, binlore
|
||||
, coreutils
|
||||
, gmpSupport ? true, gmp
|
||||
, aclSupport ? stdenv.isLinux, acl
|
||||
, attrSupport ? stdenv.isLinux, attr
|
||||
, aclSupport ? lib.meta.availableOn stdenv.hostPlatform acl, acl
|
||||
, attrSupport ? lib.meta.availableOn stdenv.hostPlatform attr, attr
|
||||
, selinuxSupport ? false, libselinux, libsepol
|
||||
# No openssl in default version, so openssl-induced rebuilds aren't too big.
|
||||
# It makes *sum functions significantly faster.
|
||||
|
||||
Reference in New Issue
Block a user