Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2023-05-05 18:01:52 +00:00 committed by GitHub
commit cfd87655c8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
90 changed files with 2978 additions and 575 deletions

View file

@ -8666,6 +8666,12 @@
githubId = 621759;
name = "Lassulus";
};
laurent-f1z1 = {
email = "laurent.nixpkgs@fainsin.bzh";
github = "Laurent2916";
githubId = 21087104;
name = "Laurent Fainsin";
};
layus = {
email = "layus.on@gmail.com";
github = "layus";
@ -14462,6 +14468,15 @@
githubId = 12828415;
name = "Michel Weitbrecht";
};
slwst = {
email = "email@slw.st";
github = "slwst";
githubId = 11047377;
name = "slwst";
keys = [{
fingerprint = "6CEB 4A2F E6DC C345 1B2B 4733 AD52 C5FB 3EFE CC7A";
}];
};
smakarov = {
email = "setser200018@gmail.com";
github = "SeTSeR";

View file

@ -149,6 +149,15 @@ with lib.maintainers; {
enableFeatureFreezePing = true;
};
cuda = {
members = [
SomeoneSerge
];
scope = "Maintain CUDA-enabled packages";
shortName = "Cuda";
githubTeams = [ "cuda-maintainers" ];
};
darwin = {
members = [
toonn

View file

@ -13,12 +13,7 @@ in
options.services.grafana-agent = {
enable = mkEnableOption (lib.mdDoc "grafana-agent");
package = mkOption {
type = types.package;
default = pkgs.grafana-agent;
defaultText = lib.literalExpression "pkgs.grafana-agent";
description = lib.mdDoc "The grafana-agent package to use.";
};
package = mkPackageOptionMD pkgs "grafana-agent" { };
credentials = mkOption {
description = lib.mdDoc ''
@ -37,11 +32,22 @@ in
};
};
extraFlags = mkOption {
type = with types; listOf str;
default = [ ];
example = [ "-enable-features=integrations-next" "-disable-reporting" ];
description = lib.mdDoc ''
Extra command-line flags passed to {command}`grafana-agent`.
See <https://grafana.com/docs/agent/latest/static/configuration/flags/>
'';
};
settings = mkOption {
description = lib.mdDoc ''
Configuration for `grafana-agent`.
Configuration for {command}`grafana-agent`.
See https://grafana.com/docs/agent/latest/configuration/
See <https://grafana.com/docs/agent/latest/configuration/>
'';
type = types.submodule {
@ -140,7 +146,7 @@ in
# We can't use Environment=HOSTNAME=%H, as it doesn't include the domain part.
export HOSTNAME=$(< /proc/sys/kernel/hostname)
exec ${lib.getExe cfg.package} -config.expand-env -config.file ${configFile}
exec ${lib.getExe cfg.package} -config.expand-env -config.file ${configFile} ${escapeShellArgs cfg.extraFlags}
'';
serviceConfig = {
Restart = "always";

View file

@ -410,6 +410,11 @@ mountFS() {
n=$((n + 1))
done
# For bind mounts, busybox has a tendency to ignore options, which can be a
# security issue (e.g. "nosuid"). Remounting the partition seems to fix the
# issue.
mount "/mnt-root$mountPoint" -o "remount,$optionsPrefixed"
[ "$mountPoint" == "/" ] &&
[ -f "/mnt-root/etc/NIXOS_LUSTRATE" ] &&
lustrateRoot "/mnt-root"

View file

@ -272,7 +272,7 @@ let
suggestedRootDevice = {
"efi_bootloading_with_default_fs" = "${cfg.bootLoaderDevice}2";
"legacy_bootloading_with_default_fs" = "${cfg.bootLoaderDevice}1";
"direct_boot_with_default_fs" = cfg.bootLoaderDevice;
"direct_boot_with_default_fs" = lookupDriveDeviceName "root" cfg.qemu.drives;
# This will enforce a NixOS module type checking error
# to ask explicitly the user to set a rootDevice.
# As it will look like `rootDevice = lib.mkDefault null;` after
@ -344,14 +344,14 @@ in
virtualisation.bootLoaderDevice =
mkOption {
type = types.path;
default = lookupDriveDeviceName "root" cfg.qemu.drives;
defaultText = literalExpression ''lookupDriveDeviceName "root" cfg.qemu.drives'';
type = types.nullOr types.path;
default = if cfg.useBootLoader then lookupDriveDeviceName "root" cfg.qemu.drives else null;
defaultText = literalExpression ''if cfg.useBootLoader then lookupDriveDeviceName "root" cfg.qemu.drives else null;'';
example = "/dev/vda";
description =
lib.mdDoc ''
The disk to be used for the boot filesystem.
By default, it is the same disk as the root filesystem.
By default, it is the same disk as the root filesystem if you use a bootloader, otherwise it's null.
'';
};
@ -862,6 +862,16 @@ in
Invalid virtualisation.forwardPorts.<entry ${toString i}>.guest.address:
The address must be in the default VLAN (10.0.2.0/24).
'';
}
{ assertion = cfg.useBootLoader -> cfg.diskImage != null;
message =
''
Currently, bootloaders cannot be used with a tmpfs disk image.
It would require some rework in the boot configuration mechanism
to detect the proper boot partition in UEFI scenarios for example.
If you are interested into this feature, please open an issue or open a pull request.
'';
}
]));
@ -889,7 +899,8 @@ in
# legacy and UEFI. In order to avoid this, we have to put "nodev" to force UEFI-only installs.
# Otherwise, we set the proper bootloader device for this.
# FIXME: make a sense of this mess wrt to multiple ESP present in the system, probably use boot.efiSysMountpoint?
boot.loader.grub.device = mkVMOverride (if cfg.useEFIBoot then "nodev" else cfg.bootLoaderDevice);
boot.loader.grub.enable = cfg.useBootLoader;
boot.loader.grub.device = mkIf cfg.useBootLoader (mkVMOverride (if cfg.useEFIBoot then "nodev" else cfg.bootLoaderDevice));
boot.loader.grub.gfxmodeBios = with cfg.resolution; "${toString x}x${toString y}";
virtualisation.rootDevice = mkDefault suggestedRootDevice;
@ -897,13 +908,13 @@ in
boot.loader.supportsInitrdSecrets = mkIf (!cfg.useBootLoader) (mkVMOverride false);
boot.initrd.extraUtilsCommands = lib.mkIf (cfg.useDefaultFilesystems && !config.boot.initrd.systemd.enable)
boot.initrd.extraUtilsCommands = lib.mkIf (cfg.useDefaultFilesystems && !config.boot.initrd.systemd.enable && cfg.diskImage != null)
''
# We need mke2fs in the initrd.
copy_bin_and_libs ${pkgs.e2fsprogs}/bin/mke2fs
'';
boot.initrd.postDeviceCommands = lib.mkIf (cfg.useDefaultFilesystems && !config.boot.initrd.systemd.enable)
boot.initrd.postDeviceCommands = lib.mkIf (cfg.useDefaultFilesystems && !config.boot.initrd.systemd.enable && cfg.diskImage != null)
''
# If the disk image appears to be empty, run mke2fs to
# initialise.

View file

@ -206,6 +206,7 @@ in {
dovecot = handleTest ./dovecot.nix {};
drbd = handleTest ./drbd.nix {};
earlyoom = handleTestOn ["x86_64-linux"] ./earlyoom.nix {};
early-mount-options = handleTest ./early-mount-options.nix {};
ec2-config = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-config or {};
ec2-nixops = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-nixops or {};
ecryptfs = handleTest ./ecryptfs.nix {};

View file

@ -0,0 +1,19 @@
# Test for https://github.com/NixOS/nixpkgs/pull/193469
import ./make-test-python.nix {
name = "early-mount-options";
nodes.machine = {
virtualisation.fileSystems."/var" = {
options = [ "bind" "nosuid" "nodev" "noexec" ];
device = "/var";
};
};
testScript = ''
machine.wait_for_unit("multi-user.target")
var_mount_info = machine.succeed("findmnt /var -n -o OPTIONS")
options = var_mount_info.strip().split(",")
assert "nosuid" in options and "nodev" in options and "noexec" in options
'';
}

View file

@ -0,0 +1,47 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, ncurses
}:
stdenv.mkDerivation rec {
pname = "openvi";
version = "7.3.22";
src = fetchFromGitHub {
owner = "johnsonjh";
repo = "OpenVi";
rev = version;
hash = "sha256-yXYiH2FCT7ffRPmb28V54+KO1RLs8L9KHk3remkMWmA=";
};
patches = [
# do not attempt to install to /var/tmp/vi.recover
(fetchpatch {
url = "https://github.com/johnsonjh/OpenVi/commit/5205f0234369963c443e83ca5028ca63feaaac91.patch";
hash = "sha256-hoKzQLnpdRbc48wffWbzFtivr20VqEPs4WRPXuDa/88=";
})
];
buildInputs = [ ncurses ];
makeFlags = [
"PREFIX=$(out)"
# command -p will yield command not found error
"PAWK=awk"
# silently fail the chown command
"IUSGR=$(USER)"
];
enableParallelBuilding = true;
meta = with lib; {
homepage = "https://github.com/johnsonjh/OpenVi";
description = "Portable OpenBSD vi for UNIX systems";
license = licenses.bsd3;
platforms = platforms.unix;
maintainers = with maintainers; [ aleksana ];
mainProgram = "ovi";
};
}

View file

@ -10,6 +10,7 @@
, qttools
, qtsvg
, zlib
, zstd
, libGL
}:
@ -29,7 +30,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ pkg-config qbs wrapQtAppsHook ];
buildInputs = [ qtEnv zlib libGL ];
buildInputs = [ qtEnv zlib zstd libGL ];
outputs = [ "out" "dev" ];

File diff suppressed because it is too large Load diff

View file

@ -115,12 +115,12 @@
};
blueprint = buildGrammar {
language = "blueprint";
version = "0.0.0+rev=6ef91ca";
version = "0.0.0+rev=7f1a5df";
src = fetchFromGitLab {
owner = "gabmus";
repo = "tree-sitter-blueprint";
rev = "6ef91ca8270f0112b9c6d27ecb9966c741a5d103";
hash = "sha256-E7SWUWQFlFWXfmdqNXt2eKkvFusnBUILHerQEFj2JTg=";
rev = "7f1a5df44861291d6951b6b2146a9fef4c226e14";
hash = "sha256-ihbcrDRMA+jGs7ZmDU1j9PwTEYY6SyMhC0vgmh1Om6Y=";
};
meta.homepage = "https://gitlab.com/gabmus/tree-sitter-blueprint.git";
};
@ -137,12 +137,12 @@
};
c_sharp = buildGrammar {
language = "c_sharp";
version = "0.0.0+rev=0dd182a";
version = "0.0.0+rev=2340fd6";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-c-sharp";
rev = "0dd182a14a519a70dc60c3727fdc2fdb65c030ae";
hash = "sha256-yIZUsEJvQkxD4gNp4jQRGtEeSTLeSdgFdJs03nvt9ko=";
rev = "2340fd6b57b06ccbf24c2c6dafb15905fdccfb1f";
hash = "sha256-9acxVw5EWr/NwO5ERwy3V976NMY65vDQp60jIoDfO7k=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-c-sharp";
};
@ -292,12 +292,12 @@
};
dart = buildGrammar {
language = "dart";
version = "0.0.0+rev=53485a8";
version = "0.0.0+rev=3abbd3a";
src = fetchFromGitHub {
owner = "UserNobody14";
repo = "tree-sitter-dart";
rev = "53485a8f301254e19c518aa20c80f1bcf7cf5c62";
hash = "sha256-1IcvFcxIkcrOuq6bypD08PeYw6J/pL/MbYPt+dKHQbc=";
rev = "3abbd3a486a1e356acfdf0367dbf3680f8a0024d";
hash = "sha256-+rIUp5mlO0yw/Bj+yxbgKQZlP+QdNf484CsuikZatLw=";
};
meta.homepage = "https://github.com/UserNobody14/tree-sitter-dart";
};
@ -336,12 +336,12 @@
};
dockerfile = buildGrammar {
language = "dockerfile";
version = "0.0.0+rev=8ee3a0f";
version = "0.0.0+rev=fd30df6";
src = fetchFromGitHub {
owner = "camdencheek";
repo = "tree-sitter-dockerfile";
rev = "8ee3a0f7587b2bd8c45c8cb7d28bd414604aec62";
hash = "sha256-I73T3NuN/K9+R3itIJrNVjlyVr/432UT3HEf6LND+0c=";
rev = "fd30df68c4178964ed012ef7f745055db76f8ebf";
hash = "sha256-k5KQ0GfTveXadgQk0xay2QY7uCvFYneQ/0AKwZqAG48=";
};
meta.homepage = "https://github.com/camdencheek/tree-sitter-dockerfile";
};
@ -722,12 +722,12 @@
};
haskell = buildGrammar {
language = "haskell";
version = "0.0.0+rev=3241b68";
version = "0.0.0+rev=684638e";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-haskell";
rev = "3241b683cc1eaa466afb83b9a5592ab39caaa2fa";
hash = "sha256-kGUBAXskVPRQHMwffYLRGO6uD9PNFWZeXkXsmp0yfKA=";
rev = "684638edce563245e4dc6263940aeffa2a0205c2";
hash = "sha256-ewMSd1DpaZEkbjHzUNX3D1CbhNjP47StyyvjU+oVaMM=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-haskell";
};
@ -997,23 +997,23 @@
};
llvm = buildGrammar {
language = "llvm";
version = "0.0.0+rev=e9948ed";
version = "0.0.0+rev=d47c95d";
src = fetchFromGitHub {
owner = "benwilliamgraham";
repo = "tree-sitter-llvm";
rev = "e9948edc41e9e5869af99dddb2b5ff5cc5581af6";
hash = "sha256-M7smrjU+7L9a2kpz0wM+G+YQGTQaqsVL/Q+OCKlPpzQ=";
rev = "d47c95d78ef0e7495a74d214dd6fcddf6e402dfc";
hash = "sha256-CK7f0qSAsec2cuQElXLFRQ5uiQLGCyEpNIKTIDwbBrU=";
};
meta.homepage = "https://github.com/benwilliamgraham/tree-sitter-llvm";
};
lua = buildGrammar {
language = "lua";
version = "0.0.0+rev=0fc8996";
version = "0.0.0+rev=4e94980";
src = fetchFromGitHub {
owner = "MunifTanjim";
repo = "tree-sitter-lua";
rev = "0fc89962b7ff5c7d676b8592c1cbce1ceaa806fd";
hash = "sha256-MbNP1/NKdSkUTydmK819o8vMKUZFan1yE7d227xMsh4=";
rev = "4e94980e52f81f713d09be104ba32bf050000031";
hash = "sha256-Arv627RIv0d/plfBPq5QVks737PUy3sq2kuLwLr++uM=";
};
meta.homepage = "https://github.com/MunifTanjim/tree-sitter-lua";
};

View file

@ -353,6 +353,7 @@ https://github.com/neoclide/jsonc.vim/,,
https://github.com/JuliaEditorSupport/julia-vim/,,
https://github.com/rebelot/kanagawa.nvim/,,
https://github.com/anuvyklack/keymap-layer.nvim/,HEAD,
https://github.com/kmonad/kmonad-vim/,,
https://github.com/b3nj5m1n/kommentary/,,
https://github.com/udalov/kotlin-vim/,,
https://github.com/qnighy/lalrpop.vim/,,

View file

@ -76,14 +76,14 @@ let
++ lib.optionals mediaSupport [ ffmpeg ]
);
tag = "mullvad-browser-102.9.0esr-12.0-2-build1";
version = "12.0.4";
tag = "mullvad-browser-102.10.0esr-12.0-2-build2";
version = "12.0.5";
lang = "ALL";
srcs = {
x86_64-linux = fetchurl {
url = "https://github.com/mullvad/mullvad-browser/releases/download/${tag}/mullvad-browser-linux64-${version}_${lang}.tar.xz";
hash = "sha256-q4dTKNQkcqaRwiF25iVOQSvwVLA3tJRlQ4DzC3tuG5A=";
hash = "sha256-Ezs2pjJNGOinMIskBDwpj70eKSkfcV6ZCKb60I5J23w=";
};
};

View file

@ -7,13 +7,13 @@
buildGoModule rec {
pname = "arkade";
version = "0.9.13";
version = "0.9.16";
src = fetchFromGitHub {
owner = "alexellis";
repo = "arkade";
rev = version;
sha256 = "sha256-j7fqLkVRAH4EN90IQ/9y/uKfFsdXXTW6R/WFRhuKPGQ=";
sha256 = "sha256-HbwajFTCjiNtAMawI7uBZhIBGyVHUQQjsOrtuxuYmeM=";
};
CGO_ENABLED = 0;

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "pachyderm";
version = "2.5.4";
version = "2.5.5";
src = fetchFromGitHub {
owner = "pachyderm";
repo = "pachyderm";
rev = "v${version}";
hash = "sha256-VYHSExQDIyK86kCz3gzIR+Q5iYrhkAPx56vST73vPOo=";
hash = "sha256-RaMOn5Cb98wKI9w0+kVUCMiySKGuudXHsi+EXFIm3Zc=";
};
vendorHash = "sha256-XmIPifozTYd1rV2wm0dU0GPvg/+HFoSLGHB6DDrkzVc=";

View file

@ -4,10 +4,12 @@ let
stable = "0.0.26";
ptb = "0.0.42";
canary = "0.0.151";
development = "0.0.216";
} else {
stable = "0.0.273";
ptb = "0.0.59";
canary = "0.0.283";
development = "0.0.8778";
};
version = versions.${branch};
srcs = rec {
@ -24,6 +26,10 @@ let
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
sha256 = "sha256-ZN+lEGtSajgYsyMoGRmyTZCpUGVmb9LKgVv89NA4m7U=";
};
development = fetchurl {
url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
sha256 = "sha256-lQnIQC7Wek7OYDzZvLIJfb8I4oATD8pSB+mjQMPyqYQ=";
};
};
x86_64-darwin = {
stable = fetchurl {
@ -38,6 +44,10 @@ let
url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
sha256 = "0mqpk1szp46mih95x42ld32rrspc6jx1j7qdaxf01whzb3d4pi9l";
};
development = fetchurl {
url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
sha256 = "sha256-K4rlShYhmsjT2QHjb6+IbCXJFK+9REIx/gW68bcVSVc=";
};
};
aarch64-darwin = x86_64-darwin;
};
@ -49,7 +59,7 @@ let
downloadPage = "https://discordapp.com/download";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ MP2E artturin infinidoge ];
maintainers = with maintainers; [ MP2E artturin infinidoge jopejoe1 ];
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
};
package =
@ -83,6 +93,11 @@ let
binaryName = if stdenv.isLinux then "DiscordCanary" else desktopName;
desktopName = "Discord Canary";
};
development = rec {
pname = "discord-development";
binaryName = if stdenv.isLinux then "DiscordDevelopment" else desktopName;
desktopName = "Discord Development";
};
}
);
in

View file

@ -12,13 +12,13 @@
buildPythonApplication rec {
pname = "git-machete";
version = "3.17.1";
version = "3.17.3";
src = fetchFromGitHub {
owner = "virtuslab";
repo = pname;
rev = "v${version}";
hash = "sha256-UpByKN2L0g42ProwHNRxPw6ggxyDVTUZfWRF+TpUVKc=";
hash = "sha256-XBgYLrbxHE5czcEzYhX4ORQFtyKHcDw3VmZVx2TtycI=";
};
nativeBuildInputs = [ installShellFiles ];

View file

@ -1,14 +1,14 @@
{
"version": "15.11.1",
"repo_hash": "sha256-xhwWn/+GSAKYy5YcjgIUPJUvhBquvCWu6eFg5ZiNM7s=",
"version": "15.11.2",
"repo_hash": "sha256-4wdbe/DkZdfmOuKHlmBEKQYYduIaB1SD5ZYICHqADeE=",
"yarn_hash": "02ipm7agjy3c75df76c00k3qq5gpw3d876f6x91xnwizswsv9agb",
"owner": "gitlab-org",
"repo": "gitlab",
"rev": "v15.11.1-ee",
"rev": "v15.11.2-ee",
"passthru": {
"GITALY_SERVER_VERSION": "15.11.1",
"GITLAB_PAGES_VERSION": "15.11.1",
"GITALY_SERVER_VERSION": "15.11.2",
"GITLAB_PAGES_VERSION": "15.11.2",
"GITLAB_SHELL_VERSION": "14.18.0",
"GITLAB_WORKHORSE_VERSION": "15.11.1"
"GITLAB_WORKHORSE_VERSION": "15.11.2"
}
}

View file

@ -11,7 +11,7 @@ let
gemdir = ./.;
};
version = "15.11.1";
version = "15.11.2";
package_version = "v${lib.versions.major version}";
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
@ -22,7 +22,7 @@ let
owner = "gitlab-org";
repo = "gitaly";
rev = "v${version}";
sha256 = "sha256-D12R9liFsrH0XwGSLkmhCbWMbPXrp0kzus4t4Kuw4cg=";
sha256 = "sha256-yX93YHHajXqAQq93mM/bRCQciDfJ0GR3kLSO4MQsWPY=";
};
vendorSha256 = "sha256-gJelagGPogeCdJtRpj4RaYlqzZRhtU0EIhmj1aK4ZOk=";

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "gitlab-pages";
version = "15.11.1";
version = "15.11.2";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-pages";
rev = "v${version}";
sha256 = "sha256-BPChY2t0ygH73XZYDWDb0EVPqrniMxzg3JWgcmsAesA=";
sha256 = "sha256-c5brpl9OEW4N8vmphdCRYl5TGkMN3FmXmINPpyEajUs=";
};
vendorHash = "sha256-s3HHoz9URACuVVhePQQFviTqlQU7vCLOjTJPBlus1Vo=";

View file

@ -5,7 +5,7 @@ in
buildGoModule rec {
pname = "gitlab-workhorse";
version = "15.11.1";
version = "15.11.2";
src = fetchFromGitLab {
owner = data.owner;

View file

@ -3,6 +3,9 @@
, secureBoot ? false
, httpSupport ? false
, tpmSupport ? false
, tlsSupport ? false
, debug ? false
, sourceDebug ? debug
}:
assert csmSupport -> seabios != null;
@ -41,11 +44,17 @@ edk2.mkDerivation projectDscPath (finalAttrs: {
hardeningDisable = [ "format" "stackprotector" "pic" "fortify" ];
buildFlags =
lib.optionals secureBoot [ "-D SECURE_BOOT_ENABLE=TRUE" ]
# IPv6 has no reason to be disabled.
[ "-D NETWORK_IP6_ENABLE=TRUE" ]
++ lib.optionals debug [ "-D DEBUG_ON_SERIAL_PORT=TRUE" ]
++ lib.optionals sourceDebug [ "-D SOURCE_DEBUG_ENABLE=TRUE" ]
++ lib.optionals secureBoot [ "-D SECURE_BOOT_ENABLE=TRUE" ]
++ lib.optionals csmSupport [ "-D CSM_ENABLE" "-D FD_SIZE_2MB" ]
++ lib.optionals httpSupport [ "-D NETWORK_HTTP_ENABLE=TRUE" "-D NETWORK_HTTP_BOOT_ENABLE=TRUE" ]
++ lib.optionals tlsSupport [ "-D NETWORK_TLS_ENABLE=TRUE" ]
++ lib.optionals tpmSupport [ "-D TPM_ENABLE" "-D TPM2_ENABLE" "-D TPM2_CONFIG_ENABLE"];
buildConfig = if debug then "DEBUG" else "RELEASE";
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Qunused-arguments";
env.PYTHON_COMMAND = "python3";

View file

@ -2,13 +2,13 @@
stdenvNoCC.mkDerivation rec {
pname = "numix-icon-theme-circle";
version = "23.04.20";
version = "23.04.28";
src = fetchFromGitHub {
owner = "numixproject";
repo = pname;
rev = version;
sha256 = "sha256-pc5GwxU4KP6PktPvuCYVzJORVmMvC8GdBPr7QSN2cM0=";
sha256 = "sha256-GxTxywN5+CL/+21xhfCvbxJeGnDNjYrQ7iUd2/eq+QU=";
};
nativeBuildInputs = [ gtk3 ];

View file

@ -0,0 +1,63 @@
{
stdenv,
fetchurl,
lib,
unzip,
# To select only certain themes, pass `selected_themes` as a list of strings.
# reference ./shas.nix for available themes
selected_themes ? [],
}: let
version = "2020-12-28";
# this file is generated via ./update.sh
# borrowed from pkgs/data/fonts/nerdfonts
themeShas = import ./shas.nix;
knownThemes = builtins.attrNames themeShas;
selectedThemes =
if (selected_themes == [])
then knownThemes
else let
unknown = lib.subtractLists knownThemes selected_themes;
in
if (unknown != [])
then throw "Unknown theme(s): ${lib.concatStringsSep " " unknown}"
else selected_themes;
srcs = lib.lists.forEach selectedThemes (
name: (fetchurl {
url = themeShas.${name}.url;
sha256 = themeShas.${name}.sha;
})
);
in
stdenv.mkDerivation {
pname = "adi1090x-plymouth-themes";
inherit version srcs;
nativeBuildInputs = [
unzip
];
sourceRoot = ".";
unpackCmd = "tar xzf $curSrc";
installPhase = ''
mkdir -p $out/share/plymouth/themes
for theme in ${toString selectedThemes}; do
mv $theme $out/share/plymouth/themes/$theme
done
find $out/share/plymouth/themes/ -name \*.plymouth -exec sed -i "s@\/usr\/@$out\/@" {} \;
'';
meta = with lib; {
description = "Plymouth boot themes from adi1090x";
longDescription = ''
A variety of plymouth boot screens by adi1090x. Using the default value
of `selected_themes` will install all themes (~524M). Consider overriding
this with a list of the string names of each theme to install. Check
./shas.nix for available themes.
'';
homepage = "https://github.com/adi1090x/plymouth-themes";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [slwst];
};
}

View file

@ -0,0 +1,322 @@
{
"abstract_ring" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/abstract_ring.tar.gz";
sha = "133gifr4571b14ci44jmm49j91yhq785yx4b3h6yvx0188liibr2";
};
"abstract_ring_alt" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/abstract_ring_alt.tar.gz";
sha = "157yg2y4vfwjfly2paq2xn1p6h2wrbvvzwy4lbpbhlmhyhrymjvj";
};
"alienware" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/alienware.tar.gz";
sha = "1i3i0gj927drbgivcx3fqj6fqdwm2gqy0wrwfkdqdjyqzq1286a5";
};
"angular" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/angular.tar.gz";
sha = "06n3ix7k8zpraqc75wy4fnk1bzcyhfajjxjq9kyy470wgsjrw6p4";
};
"angular_alt" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/angular_alt.tar.gz";
sha = "1l1iy9p0k4a8mcdps30avscjp6wfv20m9zy376r18y7xwcz19qbj";
};
"black_hud" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/black_hud.tar.gz";
sha = "13y32zxcshnfyjxs0r7f1sz010sr6brsaap90im2cb4rlvp0ajsz";
};
"blockchain" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/blockchain.tar.gz";
sha = "1f60nvrk506bqw47g90wzbvn3bp5h1gbi0ll5f3bd6wj77qfk05i";
};
"circle" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/circle.tar.gz";
sha = "04085lkh4i5diszpr1w5xnhnngp8ba1ckalcjj5s8hm8lk6wd4nc";
};
"circle_alt" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/circle_alt.tar.gz";
sha = "0awbjrd31fv2cb0q7n58h5iji29di8n550bmpz5qdg6xn55baqqx";
};
"circle_flow" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/circle_flow.tar.gz";
sha = "0ffxgjmx5la55dn3nyqgxi8fyd1ci4wckmvfaa6s1kyd7xsk8785";
};
"circle_hud" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/circle_hud.tar.gz";
sha = "0sd28d0ac7wvkwmbrnvg42bccz6y4iyl2wp1pg7awwjxvag0azlf";
};
"circuit" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/circuit.tar.gz";
sha = "1jzlr6c47n3zs0f1cafgjy92sks5060d1gs0774kxc0c96bysypg";
};
"colorful" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/colorful.tar.gz";
sha = "18lbyffvhdav5cjh0xnidf09amryf5dcj5rizl9z7ghxpz2z57pr";
};
"colorful_loop" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/colorful_loop.tar.gz";
sha = "0qcn19gxl9w2q0w7lihi8wnlwlh8h3k0ddbp3ww9wcw1q0wsy1vi";
};
"colorful_sliced" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/colorful_sliced.tar.gz";
sha = "0d9lafg76w2y77ywj1f1p5n1ci2q9jnfqfd16akf6f28h0iz1f9r";
};
"connect" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/connect.tar.gz";
sha = "1a0z59l391xv795d8mhcwa816wlmzyl75pwiizvvra2a0i8g6wz0";
};
"cross_hud" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/cross_hud.tar.gz";
sha = "188wj6hkvryawmw4r3bwcsvqxx52h10jb4ddq3jx7sh2rz1kpvwa";
};
"cubes" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/cubes.tar.gz";
sha = "0bydagjwfkvbhgr7sv903a7pjkrmrdz6vh22i4qjx5rhzw2wvvsk";
};
"cuts" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/cuts.tar.gz";
sha = "0znz82zzgyqkfprvzhkzv974amcnxqdg38ajsm4d7wlagc52zs0d";
};
"cuts_alt" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_1/cuts_alt.tar.gz";
sha = "1bgs4v5kkh96m1xh29wjmdxinfsxh4g7lg9fk1nqj87igdg7wwss";
};
"cyanide" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/cyanide.tar.gz";
sha = "04aklg9il310iv7zjpan6z4ha7gvh1b0yzgwi91679vm38cg0593";
};
"cybernetic" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/cybernetic.tar.gz";
sha = "0ad75fcra24bjzs4pqn89l19wb4rcjph63j71lv60m0rz75vgjfb";
};
"dark_planet" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/dark_planet.tar.gz";
sha = "03i2knrfi56f8lbc8hs8rqa4jg432nsmjn74wibb04ppmvm8f47j";
};
"darth_vader" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/darth_vader.tar.gz";
sha = "0mlxy17l1hjf3nq390wc26n4x3c45n5hmks75zkzjz3l5ac1fah6";
};
"deus_ex" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/deus_ex.tar.gz";
sha = "1mllj0xj9g1nn01vcq0xsfcwd0qnmk1s3vj5d03f9qp513k8qzdl";
};
"dna" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/dna.tar.gz";
sha = "0xcf4vxd99w3d44bhrdk1yqsfcakix6cd7hdpjsgccgs1jd02hi1";
};
"double" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/double.tar.gz";
sha = "07gxkzqrp0cfisdkq0wqfiai37m2yr2fhcpdpazmzkkxnm4qf25y";
};
"dragon" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/dragon.tar.gz";
sha = "0ypr1vyl6zilfzncymlh2s1ivxr7n88kfaygmz2y83l332asjs66";
};
"flame" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/flame.tar.gz";
sha = "0kvly5rgp47a4lby3blb1dird9xwy9y9c8a0wg17qfvz3zr69r0g";
};
"glitch" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/glitch.tar.gz";
sha = "0s0kmrw01wj9i7qd7zbwvmfbbh7r3jfkc4522jv44m4rl6r4h84c";
};
"glowing" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/glowing.tar.gz";
sha = "19nkbk2cw6j763idz5z7l71lx529xcgyx1dcd9qd356x9ifdw206";
};
"green_blocks" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/green_blocks.tar.gz";
sha = "0x8pgsyfbchy7z6d4rijsk2nml6fl1xwba0f0h3lw9i6359k7j3j";
};
"green_loader" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/green_loader.tar.gz";
sha = "00rdpy1gbc4ikxx487w3k27z622z2rjcsi0d18i23s5p3xqd1l3a";
};
"hexagon" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/hexagon.tar.gz";
sha = "0yk47hs5qfv09q5df4x6j82ivrxfxh1bxsw8p8x7hcmlb08dh6g6";
};
"hexagon_2" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/hexagon_2.tar.gz";
sha = "175im23q769s2if3xi8j669r0b5y0dagz8rsbvq7kghznzw4abc2";
};
"hexagon_alt" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/hexagon_alt.tar.gz";
sha = "1ayhw1gzrb98hf7f77b6ka5wi19ymp3mljhhgm5lx8w8pwawsxnb";
};
"hexagon_dots" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/hexagon_dots.tar.gz";
sha = "0pdw9ih9fsxvv394yc5vfj7nlq7mca9w05y0s631gnsdzgqxsyd6";
};
"hexagon_dots_alt" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/hexagon_dots_alt.tar.gz";
sha = "0aff3bgpva41b4jk4mp0fxdvli286x4pk3q9ysvps7z7srw4fvvn";
};
"hexagon_hud" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/hexagon_hud.tar.gz";
sha = "0wpmsffdp59dy2g5ggprgr7l50rf131c7v8pbgpir230lpn10xzi";
};
"hexagon_red" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_2/hexagon_red.tar.gz";
sha = "0fgmma5j6fnjykpwplji4rm57d07l9shfpay079gz1nhbhnq3rkl";
};
"hexa_retro" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/hexa_retro.tar.gz";
sha = "1cbyhqhv2ysx9w8cpbfidrm0w70wssp4fld0q1g01fgcbg93b7mf";
};
"hud" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/hud.tar.gz";
sha = "0s01p1n75ckwa69iy5v2z2cg85ipzgx356n4yvdyi1jh9pnl22k9";
};
"hud_2" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/hud_2.tar.gz";
sha = "1bvkl5f0fwi7xzy23pj3p7c98fbz2zk8abz7frxr0pp0xj3ql87i";
};
"hud_3" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/hud_3.tar.gz";
sha = "1n5qqkp0qb4mlpp7g20hpvazgwxw4gjb2p0ys0q2bglb3amzc2xr";
};
"hud_space" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/hud_space.tar.gz";
sha = "0dhajnica048smn5wpwc13ij0n9g6c10a0qxgi4rwiczr7p9vajj";
};
"ibm" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/ibm.tar.gz";
sha = "0xri6x716ma3y7d59yn9vm7skw5y53kn6s2ivfrvlfsac9n1zj4m";
};
"infinite_seal" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/infinite_seal.tar.gz";
sha = "0r9plydfdc35s2is1zi3pbx3s0bs5hqkim3laiav8fv3rzq0f3lq";
};
"ironman" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/ironman.tar.gz";
sha = "0af6qfdqj0n5qgsxg6nnrs2k8xas6cd18jw96mrwfcckpfz091cm";
};
"liquid" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/liquid.tar.gz";
sha = "0ghavh6nj68kwcgvrnwbabkzn44zq0m2ic1b2cl278d2vffzqv87";
};
"loader" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/loader.tar.gz";
sha = "1zlba3mra45ii0gahlw8v1vq1j7nbfjq62pcjn43vb40zcc1j873";
};
"loader_2" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/loader_2.tar.gz";
sha = "1yw4n9bw483pl7m3ks2ajgfldslgyc4gb1kw61fszfp5x4l3k4rg";
};
"loader_alt" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/loader_alt.tar.gz";
sha = "1pi97pfhg13wq5s8hai4fd31s6bcfq09r969fl216yxksj8h69wj";
};
"lone" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/lone.tar.gz";
sha = "0413mxr8lqlznbps5c4qgbhm0zpz8dlkbdj67r9gvzi9v020qjgl";
};
"metal_ball" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/metal_ball.tar.gz";
sha = "129q23q992fxfi976px5r68sf8wqbac3zby4yjh97s48zm83rzb5";
};
"motion" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/motion.tar.gz";
sha = "0g84ac8ps69ihic2z7gr4nlwib9ra86il2fdl7rl7w5nc8xzhx1y";
};
"optimus" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/optimus.tar.gz";
sha = "1l4bmbiqqypwqvyhcd561nnxhrq5zif8pmkyk2hdwscbq6rlbc7r";
};
"owl" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/owl.tar.gz";
sha = "03gqqcvp4320qy1d3az1k2a8rj97alk8qzgkz6xg4akz9ccd731y";
};
"pie" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/pie.tar.gz";
sha = "1j479l428gq1b2g0g2ybkf81jzad69n59kphm0ns5gfv6khx10ga";
};
"pixels" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/pixels.tar.gz";
sha = "13rfdd9v7h0k2wbwr428h2w8dv5vhhbw03wvirlmafsbhmgjz5xs";
};
"polaroid" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_3/polaroid.tar.gz";
sha = "096iz34hpmicixrdrqaxmx8m83vggm90xqz4zyy5vkpcy3vl60mf";
};
"red_loader" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/red_loader.tar.gz";
sha = "0n2jmfy558rma6knraskb7rgccvnayxh7csl0jaarx2xl9zxzzay";
};
"rings" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/rings.tar.gz";
sha = "1g9p2cdn1w7dmy2z017xdkv6rm50gdb5qqd8a0y0662fzph5adg0";
};
"rings_2" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/rings_2.tar.gz";
sha = "07v4mq1lpw9vfzg0rfxmkyfhyhz3nv5zab5kf10bjjgpjq8c9fi3";
};
"rog" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/rog.tar.gz";
sha = "13lcrsdk1v1xn7fxn54xbk1jkh55kmsf813q1v7x8a2l8p9pl0hp";
};
"rog_2" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/rog_2.tar.gz";
sha = "0cgc1y1jrb689h9wd7jf3wvf9r996k4ik965v4wclmp9wra5gflk";
};
"seal" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/seal.tar.gz";
sha = "0ip23x69ljdj1bwxlhvz3fbg3ia47m2aw6d122v2rqhwqasmy40n";
};
"seal_2" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/seal_2.tar.gz";
sha = "1fc91n6ys2fl8xbzdj0ywck87xnyn1gp4jvjk307w49jmkpdzs15";
};
"seal_3" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/seal_3.tar.gz";
sha = "1l2jlxhhaf5whbvbdf31ypcasalx4fsd4yn90xybmjq7b27bz5b2";
};
"sliced" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/sliced.tar.gz";
sha = "0363lwq3rwdcz3fg47f6kch150vxspvpjdqzg87aahli30kkjfdi";
};
"sphere" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/sphere.tar.gz";
sha = "1zjlwign7f2zd70qkg25adbbmq8ndm9b44gc4pa0ls64i6yfd6fz";
};
"spin" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/spin.tar.gz";
sha = "0hwjc4i69zmzw7cpmsrhmx00w5k5y46m317m1imw2ycmhm0jicm5";
};
"spinner_alt" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/spinner_alt.tar.gz";
sha = "1ifs9xxd1cxvgjcnqjfw2zxkcapssv10hvchjrlf9nl60ayyp4m4";
};
"splash" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/splash.tar.gz";
sha = "12l8hwzmi68mjqgl384wf1fscvnzwp4a3vmlsb2zcbfwhrs5q717";
};
"square" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/square.tar.gz";
sha = "1mpyrivchsj2gr8flwj0g45vb792fvjjb5jmkn9xz1glrxxs7zww";
};
"square_hud" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/square_hud.tar.gz";
sha = "1lvv00r5rg8yjwibfqncka1s0p59fnpklhz3v6ifbs7ynlyp0kag";
};
"target" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/target.tar.gz";
sha = "1ipsd3rjclmwzg2l4bxpj0mgfl5bwxs1ihf498660zhm0bqqpgpr";
};
"target_2" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/target_2.tar.gz";
sha = "16lipy5c0pyyb1idwj1zchfr8g0cy6qr46c87b8g1kv2g96n5cn6";
};
"tech_a" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/tech_a.tar.gz";
sha = "0fn8aib05kmjxnp7j2bmgrs3avaj6bn06kxz55bw8fdg8ihxnxg0";
};
"tech_b" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/tech_b.tar.gz";
sha = "03i8jcvql76mhcq0dqaj2wygfza72fc7c22vfcyp38cx1lm6ilbv";
};
"unrap" = {
url = "https://github.com/adi1090x/files/raw/1f8b8d834eb0978d8b0260ffd161e9997b3ee0a2/plymouth-themes/themes/pack_4/unrap.tar.gz";
sha = "08gqwb11539kz5178ga6f96jv82xmyyzv44q6d05ajcw3pxk5j4c";
};
}

View file

@ -0,0 +1,34 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash --keep GITHUB_TOKEN -p nix-prefetch jq
set -eo pipefail
curl_args=( '--silent' )
# optionally takes a GITHUB_TOKEN to overcome api rate limiting.
if [ -n "$GITHUB_TOKEN" ]; then curl_args+=( --header "authorization: Bearer ${GITHUB_TOKEN}" ); fi
# get last master ref
curl_args+=( --url https://api.github.com/repos/adi1090x/files/commits/master )
last_ref=$(curl "${curl_args[@]}" | jq -r '.sha' )
unset curl_args[-1]
curl_args+=( https://api.github.com/repos/adi1090x/files/git/trees/$last_ref\?recursive=1 )
theme_archives=$(curl "${curl_args[@]}" \
| jq '.tree | map(select(.path| test("^plymouth-themes/themes/pack_.*tar.gz$"))| .path)')
dirname="$(dirname "$0")"
printf '{\n' > "$dirname/shas.nix"
repo_url="https://github.com/adi1090x/files/raw/$last_ref"
while
read -r file_path
do
name=$(basename $file_path)
printf ' "%s" = {\n url = "%s";\n sha = "%s";\n };\n' "${name%%.*}" "$repo_url/$file_path" "$(nix-prefetch-url "$repo_url/$file_path")" >>"$dirname/shas.nix"
done < <(jq -r '.[]' <<<"$theme_archives")
printf '}\n' >> "$dirname/shas.nix"

View file

@ -67,6 +67,9 @@ buildGoPackage rec {
substituteInPlace inputdevices/layout_list.go \
--replace "/usr/share/X11/xkb" "${xkeyboard_config}/share/X11/xkb"
substituteInPlace system/uadp/crypto.go \
--replace "/usr/share/uadp" "/var/lib/dde-daemon/uadp"
substituteInPlace appearance/background/{background.go,custom_wallpapers.go} accounts/user.go bin/dde-system-daemon/wallpaper.go \
--replace "/usr/share/wallpapers" "/run/current-system/sw/share/wallpapers"

View file

@ -335,6 +335,7 @@ backendStdenv.mkDerivation rec {
homepage = "https://developer.nvidia.com/cuda-toolkit";
platforms = [ "x86_64-linux" ];
license = licenses.unfree;
maintainers = teams.cuda.members;
};
}

View file

@ -60,6 +60,7 @@ backendStdenv.mkDerivation {
meta = {
description = attrs.name;
license = lib.licenses.unfree;
maintainers = lib.teams.cuda.members;
platforms = lib.optionals (lib.hasAttr arch attrs) [ "x86_64-linux" ];
};
}

View file

@ -116,7 +116,7 @@ edk2 = buildStdenv.mkDerivation {
buildPhase = ''
runHook preBuild
build -a ${targetArch} -b RELEASE -t ${buildType} -p ${projectDscPath} -n $NIX_BUILD_CORES $buildFlags
build -a ${targetArch} -b ${attrs.buildConfig or "RELEASE"} -t ${buildType} -p ${projectDscPath} -n $NIX_BUILD_CORES $buildFlags
runHook postBuild
'';

View file

@ -2,11 +2,11 @@
stdenvNoCC.mkDerivation rec {
pname = "flix";
version = "0.35.0";
version = "0.36.0";
src = fetchurl {
url = "https://github.com/flix/flix/releases/download/v${version}/flix.jar";
sha256 = "sha256-liPOAQfdAYc2JlUb+BXQ5KhTOYexC1vBCIuO0nT2jhk=";
sha256 = "sha256-HAhNNg8f+uC2QKYqkugJIyH7VakNA631S2/UE2vG+5M=";
};
dontUnpack = true;

View file

@ -10,6 +10,7 @@
, mustache-go
, yaml2json
, tezos-rust-libs
, darwin
}:
ocamlPackages.buildDunePackage rec {
@ -110,6 +111,8 @@ ocamlPackages.buildDunePackage rec {
pure-splitmix
zarith_stubs_js
simple-diff
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security
];
preBuild = ''

View file

@ -95,8 +95,6 @@ stdenv.mkDerivation {
substituteInPlace cmake/builtin-config-ix.cmake \
--replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)'
'' + lib.optionalString stdenv.isDarwin ''
substituteInPlace cmake/builtin-config-ix.cmake \
--replace 'set(ARM64 arm64 arm64e)' 'set(ARM64)'
substituteInPlace cmake/config-ix.cmake \
--replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
'' + lib.optionalString (useLLVM) ''

View file

@ -99,7 +99,6 @@ let
# "clang-builtin-headers"
"stdlib"
"sdk-overlay"
"parser-lib"
"static-mirror-lib"
"editor-integration"
# "tools"
@ -257,6 +256,7 @@ in stdenv.mkDerivation {
${copySource "llvm-project"}
${copySource "swift"}
${copySource "swift-experimental-string-processing"}
${copySource "swift-syntax"}
${lib.optionalString
(!stdenv.isDarwin)
(copySource "swift-corelibs-libdispatch")}
@ -276,9 +276,13 @@ in stdenv.mkDerivation {
-e 's|/bin/cp|${coreutils}/bin/cp|g' \
-e 's|/usr/bin/file|${file}/bin/file|g'
patch -p1 -d swift -i ${./patches/swift-cmake-3.25-compat.patch}
patch -p1 -d swift -i ${./patches/swift-wrap.patch}
patch -p1 -d swift -i ${./patches/swift-nix-resource-root.patch}
patch -p1 -d swift -i ${./patches/swift-linux-fix-libc-paths.patch}
patch -p1 -d swift -i ${./patches/swift-linux-fix-linking.patch}
patch -p1 -d swift -i ${./patches/swift-darwin-libcxx-flags.patch}
patch -p1 -d swift -i ${./patches/swift-darwin-link-cxxabi.patch}
patch -p1 -d swift -i ${substituteAll {
src = ./patches/swift-darwin-plistbuddy-workaround.patch;
inherit swiftArch;
@ -287,8 +291,6 @@ in stdenv.mkDerivation {
src = ./patches/swift-prevent-sdk-dirs-warning.patch;
inherit (builtins) storeDir;
}}
substituteInPlace swift/cmake/modules/SwiftConfigureSDK.cmake \
--replace '/usr/include' "${stdenv.cc.libc_dev}/include"
# This patch needs to know the lib output location, so must be substituted
# in the same derivation as the compiler.
@ -321,8 +323,8 @@ in stdenv.mkDerivation {
''}
# Remove tests for cross compilation, which we don't currently support.
rm swift/test/Interop/Cxx/class/constructors-copy-irgen.swift
rm swift/test/Interop/Cxx/class/constructors-irgen.swift
rm swift/test/Interop/Cxx/class/constructors-copy-irgen-*.swift
rm swift/test/Interop/Cxx/class/constructors-irgen-*.swift
# TODO: consider fixing and re-adding. This test fails due to a non-standard "install_prefix".
rm swift/validation-test/Python/build_swift.swift
@ -342,7 +344,7 @@ in stdenv.mkDerivation {
rm swift/test/Serialization/restrict-swiftmodule-to-revision.swift
# This test was flaky in ofborg, see #186476
rm swift/test/AutoDiff/compiler_crashers_fixed/sr14290-missing-debug-scopes-in-pullback-trampoline.swift
rm swift/test/AutoDiff/compiler_crashers_fixed/issue-56649-missing-debug-scopes-in-pullback-trampoline.swift
patchShebangs .
@ -446,7 +448,8 @@ in stdenv.mkDerivation {
-DSWIFT_PATH_TO_CMARK_SOURCE=$SWIFT_SOURCE_ROOT/swift-cmark
-DSWIFT_PATH_TO_CMARK_BUILD=$SWIFT_BUILD_ROOT/swift-cmark
-DSWIFT_PATH_TO_LIBDISPATCH_SOURCE=$SWIFT_SOURCE_ROOT/swift-corelibs-libdispatch
-DEXPERIMENTAL_STRING_PROCESSING_SOURCE_DIR=$SWIFT_SOURCE_ROOT/swift-experimental-string-processing
-DSWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE=$SWIFT_SOURCE_ROOT/swift-syntax
-DSWIFT_PATH_TO_STRING_PROCESSING_SOURCE=$SWIFT_SOURCE_ROOT/swift-experimental-string-processing
-DSWIFT_INSTALL_COMPONENTS=${lib.concatStringsSep ";" swiftInstallComponents}
-DSWIFT_STDLIB_ENABLE_OBJC_INTEROP=${if stdenv.isDarwin then "ON" else "OFF"}
"
@ -501,6 +504,7 @@ in stdenv.mkDerivation {
cmakeFlags="
-GNinja
-DCMAKE_Swift_COMPILER=$SWIFT_BUILD_ROOT/swift/bin/swiftc
-DSWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE=$SWIFT_SOURCE_ROOT/swift-syntax
-DTOOLCHAIN_DIR=/var/empty
-DSWIFT_NATIVE_LLVM_TOOLS_PATH=${stdenv.cc}/bin
@ -579,7 +583,7 @@ in stdenv.mkDerivation {
# Undo the clang and swift wrapping we did for the build.
# (This happened via patches to cmake files.)
cd $SWIFT_BUILD_ROOT
mv llvm/bin/clang-14{-unwrapped,}
mv llvm/bin/clang-15{-unwrapped,}
mv swift/bin/swift-frontend{-unwrapped,}
mkdir $out $lib

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,63 @@
On Darwin, the SDK is a directory of stubs, and libc++ lives separately. We
need to patch the CMake files in several places to make the build for C++
interop succeed. The required flags can be read from cc-wrapper support files.
--- a/SwiftCompilerSources/CMakeLists.txt
+++ b/SwiftCompilerSources/CMakeLists.txt
@@ -105,18 +105,11 @@ function(add_swift_compiler_modules_library name)
get_filename_component(swift_exec_bin_dir ${ALS_SWIFT_EXEC} DIRECTORY)
set(sdk_option ${sdk_option} "-resource-dir" "${swift_exec_bin_dir}/../bootstrapping0/lib/swift")
endif()
- if(NOT EXISTS "${sdk_path}/usr/include/c++")
- # Darwin SDKs in Xcode 12 or older do not include libc++, which prevents clang from finding libc++ when invoked
- # from ClangImporter. This results in build errors. To workaround this, let's explicitly pass the path to libc++
- # to clang.
- message(WARNING "Building with an outdated Darwin SDK: libc++ missing from the ${SWIFT_HOST_VARIANT_SDK} SDK. Will use libc++ from the toolchain.")
- get_filename_component(absolute_libcxx_path "${CMAKE_C_COMPILER}/../../include/c++/v1" REALPATH)
- if (EXISTS "${absolute_libcxx_path}")
- set(sdk_option ${sdk_option} "-Xcc" "-isystem" "-Xcc" "${absolute_libcxx_path}")
- else()
- message(ERROR "libc++ not found in the toolchain.")
- endif()
- endif()
+ file(READ "$ENV{NIX_CC}/nix-support/libcxx-cxxflags" nix_libcxx_cxxflags)
+ separate_arguments(nix_libcxx_cxxflags)
+ foreach(nix_libcxx_cxxflag ${nix_libcxx_cxxflags})
+ set(sdk_option ${sdk_option} "-Xcc" "${nix_libcxx_cxxflag}")
+ endforeach()
elseif(BOOTSTRAPPING_MODE STREQUAL "CROSSCOMPILE")
set(sdk_option "-sdk" "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_ARCH_${SWIFT_HOST_VARIANT_ARCH}_PATH}")
get_filename_component(swift_exec_bin_dir ${ALS_SWIFT_EXEC} DIRECTORY)
--- a/cmake/modules/SwiftConfigureSDK.cmake
+++ b/cmake/modules/SwiftConfigureSDK.cmake
@@ -270,6 +270,18 @@ macro(configure_sdk_darwin
# Add this to the list of known SDKs.
list(APPEND SWIFT_CONFIGURED_SDKS "${prefix}")
+ set(cxx_overlay_opt "")
+ if("${prefix}" STREQUAL "OSX")
+ file(READ "$ENV{NIX_CC}/nix-support/libcxx-cxxflags" nix_libcxx_cxxflags)
+ separate_arguments(nix_libcxx_cxxflags)
+ foreach(nix_libcxx_cxxflag ${nix_libcxx_cxxflags})
+ set(cxx_overlay_opt ${cxx_overlay_opt} "-Xcc" "${nix_libcxx_cxxflag}")
+ endforeach()
+ endif()
+ set(SWIFT_SDK_${prefix}_CXX_OVERLAY_SWIFT_COMPILE_FLAGS
+ ${cxx_overlay_opt}
+ CACHE STRING "Extra flags for compiling the C++ overlay")
+
_report_sdk("${prefix}")
endmacro()
--- a/stdlib/public/Cxx/std/CMakeLists.txt
+++ b/stdlib/public/Cxx/std/CMakeLists.txt
@@ -145,6 +145,9 @@ add_swift_target_library(swiftstd STATIC NO_LINK_NAME IS_STDLIB
SWIFT_COMPILE_FLAGS_LINUX
${SWIFT_SDK_LINUX_CXX_OVERLAY_SWIFT_COMPILE_FLAGS}
+ SWIFT_COMPILE_FLAGS_OSX
+ ${SWIFT_SDK_OSX_CXX_OVERLAY_SWIFT_COMPILE_FLAGS}
+
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
TARGET_SDKS ALL_APPLE_PLATFORMS LINUX
INSTALL_IN_COMPONENT compiler

View file

@ -0,0 +1,14 @@
This patches the stdlib backdeploy static lib to have its users link c++abi.
Without this, later steps that try to link this fail looking for global
new/delete operators (__Znwm/__ZdlPv).
--- a/stdlib/toolchain/Compatibility56/Overrides.cpp
+++ b/stdlib/toolchain/Compatibility56/Overrides.cpp
@@ -23,6 +23,7 @@
using namespace swift;
__asm__ (".linker_option \"-lc++\"");
+__asm__ (".linker_option \"-lc++abi\"");
#define OVERRIDE(name, ret, attrs, ccAttrs, namespace, typedArgs, namedArgs) \
Override_ ## name name;

View file

@ -0,0 +1,48 @@
This code injects an LLVM modulemap for glibc and libstdc++ by overriding
specific VFS paths. In order to do that, it needs to know the actual locations
of glibc and libstdc++, but it only searches `-sysroot` and fails. Here we
patch it to also consider `-idirafter` and `-isystem` as added by cc-wrapper.
--- a/lib/ClangImporter/ClangIncludePaths.cpp
+++ b/lib/ClangImporter/ClangIncludePaths.cpp
@@ -120,6 +120,7 @@ static clang::driver::Driver createClangDriver(const ASTContext &ctx) {
/// \return a path without dots (`../`, './').
static llvm::Optional<Path>
findFirstIncludeDir(const llvm::opt::InputArgList &args,
+ const llvm::opt::ArgList &DriverArgs,
const ArrayRef<const char *> expectedFileNames) {
// C++ stdlib paths are added as `-internal-isystem`.
std::vector<std::string> includeDirs =
@@ -128,6 +129,14 @@ findFirstIncludeDir(const llvm::opt::InputArgList &args,
llvm::append_range(includeDirs,
args.getAllArgValues(
clang::driver::options::OPT_internal_externc_isystem));
+ // Nix adds the C stdlib include path using `-idirafter`.
+ llvm::append_range(includeDirs,
+ DriverArgs.getAllArgValues(
+ clang::driver::options::OPT_idirafter));
+ // Nix adds the C++ stdlib include path using `-isystem`.
+ llvm::append_range(includeDirs,
+ DriverArgs.getAllArgValues(
+ clang::driver::options::OPT_isystem));
for (const auto &includeDir : includeDirs) {
Path dir(includeDir);
@@ -193,7 +202,7 @@ getGlibcFileMapping(ASTContext &ctx) {
// Ideally we would check that all of the headers referenced from the
// modulemap are present.
Path glibcDir;
- if (auto dir = findFirstIncludeDir(parsedIncludeArgs,
+ if (auto dir = findFirstIncludeDir(parsedIncludeArgs, clangDriverArgs,
{"inttypes.h", "unistd.h", "stdint.h"})) {
glibcDir = dir.value();
} else {
@@ -251,7 +260,7 @@ getLibStdCxxFileMapping(ASTContext &ctx) {
auto parsedStdlibArgs = parseClangDriverArgs(clangDriver, stdlibArgStrings);
Path cxxStdlibDir;
- if (auto dir = findFirstIncludeDir(parsedStdlibArgs,
+ if (auto dir = findFirstIncludeDir(parsedStdlibArgs, clangDriverArgs,
{"cstdlib", "string", "vector"})) {
cxxStdlibDir = dir.value();
} else {

View file

@ -7,15 +7,15 @@ second (ToolChains.cpp) happens when Swift is used to link the final product.
--- a/lib/ClangImporter/ClangImporter.cpp
+++ b/lib/ClangImporter/ClangImporter.cpp
@@ -68,6 +68,7 @@
@@ -73,6 +73,7 @@
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Memory.h"
#include "llvm/Support/Path.h"
+#include "llvm/Support/Process.h"
#include "llvm/Support/VirtualFileSystem.h"
#include "llvm/Support/YAMLParser.h"
#include "llvm/Support/YAMLTraits.h"
#include <algorithm>
@@ -809,6 +810,17 @@ importer::addCommonInvocationArguments(
@@ -786,6 +787,17 @@ importer::addCommonInvocationArguments(
const std::string &overrideResourceDir = importerOpts.OverrideResourceDir;
if (overrideResourceDir.empty()) {
@ -33,7 +33,7 @@ second (ToolChains.cpp) happens when Swift is used to link the final product.
llvm::SmallString<128> resourceDir(searchPathOpts.RuntimeResourcePath);
// Adjust the path to refer to our copy of the Clang resource directory
@@ -824,6 +836,7 @@ importer::addCommonInvocationArguments(
@@ -801,6 +813,7 @@ importer::addCommonInvocationArguments(
// Set the Clang resource directory to the path we computed.
invocationArgStrs.push_back("-resource-dir");
invocationArgStrs.push_back(std::string(resourceDir.str()));
@ -43,7 +43,7 @@ second (ToolChains.cpp) happens when Swift is used to link the final product.
invocationArgStrs.push_back(overrideResourceDir);
--- a/lib/Driver/ToolChains.cpp
+++ b/lib/Driver/ToolChains.cpp
@@ -1372,10 +1372,20 @@ void ToolChain::getClangLibraryPath(const ArgList &Args,
@@ -1393,10 +1393,20 @@ void ToolChain::getClangLibraryPath(const ArgList &Args,
SmallString<128> &LibPath) const {
const llvm::Triple &T = getTriple();

View file

@ -2,7 +2,7 @@
, pkgs
, newScope
, darwin
, llvmPackages_latest
, llvmPackages_15
, overrideCC
}:
@ -15,20 +15,21 @@ let
# Re-export this so we can rely on the minimum Swift SDK elsewhere.
apple_sdk = pkgs.darwin.apple_sdk_11_0;
# Our current Clang on Darwin is v11, but we need at least v12. The
# following applies the newer Clang with the same libc overrides as
# `apple_sdk.stdenv`.
# Swift builds its own Clang for internal use. We wrap that clang with a
# cc-wrapper derived from the clang configured below. Because cc-wrapper
# applies a specific resource-root, the two versions are best matched, or
# we'll often run into compilation errors.
#
# If 'latest' becomes an issue, recommend replacing it with v14, which is
# currently closest to the official Swift builds.
# The following selects the correct Clang version, matching the version
# used in Swift, and applies the same libc overrides as `apple_sdk.stdenv`.
clang = if pkgs.stdenv.isDarwin
then
llvmPackages_latest.clang.override rec {
llvmPackages_15.clang.override rec {
libc = apple_sdk.Libsystem;
bintools = pkgs.bintools.override { inherit libc; };
}
else
llvmPackages_latest.clang;
llvmPackages_15.clang;
# Overrides that create a useful environment for swift packages, allowing
# packaging with `swiftPackages.callPackage`. These are similar to

View file

@ -6,6 +6,7 @@
, swiftpm2nix
, Foundation
, XCTest
, pkg-config
, sqlite
, ncurses
, CryptoKit
@ -31,6 +32,7 @@ stdenv.mkDerivation {
buildInputs = [
Foundation
XCTest
pkg-config
sqlite
ncursesInput
]

View file

@ -2,15 +2,16 @@
{
workspaceStateFile = ./workspace-state.json;
hashes = {
"indexstore-db" = "05d7l3fgcvbw8plaky3pgjm03x20a63z9r14njxg5qm2zcp5m6jx";
"indexstore-db" = "0lf96m82s8f6lv67wbcnm9ii01fgw4bsr4vn2xp07ydfj1iqy8il";
"swift-argument-parser" = "1jph9w7lk9nr20fsv2c8p4hisx3dda817fh7pybd0r0j1jwa9nmw";
"swift-collections" = "1k6sjx5rqmp3gklny77b480hyzy6gkhpi23r0s8ljfbrcwawgnan";
"swift-crypto" = "020b8q4ss2k7a65r5dgh59z40i6sn7ij1allxkh8c8a9d0jzn313";
"swift-driver" = "1lcb5wqragc74nd0fjnk47lyph9hs0i9cps1mplvp2i91yzjqk05";
"swift-llbuild" = "07zbp2dyfqd1bnyg7snpr9brn40jf22ivly5v10mql3hrg76a18h";
"swift-package-manager" = "0a3vahdkj35n0dkinwcgybgfb9dnq2lq1nknn874r38xbj3mhlff";
"swift-crypto" = "0kllp7j0hd8k67l9b9zr2c3ddc5bvshldchzivhcz3q31qvq9ag8";
"swift-driver" = "0cbvddj54k3sbw0vzlmzhccs7h43hi5kq6i3n2i0mysz3bf0c6zg";
"swift-llbuild" = "106vnssh6pgy5s9dnq1hi1c9v2wkfydqgncg5dy7c9n23iisjy3s";
"swift-package-manager" = "1d1ngh7da42dm0rwkw7jzxa63a1rpc88wimm85w2j59cm446pk9k";
"swift-syntax" = "05394mzznmcrw246lyzsjsn1fmilj98jgkjyyxr2ynhnbgzp2jl2";
"swift-system" = "0402hkx2q2dv27gccnn8ma79ngvwiwzkhcv4zlcdldmy6cgi0px7";
"swift-tools-support-core" = "134f9x44jnzdy8cwi6hs372dwbyqvr4qmsjzjy25wzpyv6m9rhrz";
"Yams" = "1893y13sis2aimi1a5kgkczbf06z4yig054xb565yg2xm13srb45";
"swift-tools-support-core" = "1qvblyiazv58qwyxgyk2dh5ymbab3y70vm2q81qs6rmv43hs8ciz";
"Yams" = "0b4lprxl4f6yqq0djnp394mxgmsxm2pljr7fh4f6ihdhnpwfsfvl";
};
}

View file

@ -12,8 +12,8 @@
},
"state": {
"checkoutState": {
"branch": "release/5.7",
"revision": "9305648b0a8700434fa2e55eeacf7c7f4402a0d5"
"branch": "release/5.8",
"revision": "6caa12ab3bb6245eee4e09dce7677e64720c6545"
},
"name": "sourceControlCheckout"
},
@ -63,8 +63,8 @@
},
"state": {
"checkoutState": {
"revision": "ddb07e896a2a8af79512543b1c7eb9797f8898a5",
"version": "1.1.7"
"revision": "75ec60b8b4cc0f085c3ac414f3dca5625fa3588e",
"version": "2.2.4"
},
"name": "sourceControlCheckout"
},
@ -80,8 +80,8 @@
},
"state": {
"checkoutState": {
"branch": "release/5.7",
"revision": "82b274af66cfbb8f3131677676517b34d01e30fd"
"branch": "release/5.8",
"revision": "7cfe0c0b6e6297efe88a3ce34e6138ee7eda969e"
},
"name": "sourceControlCheckout"
},
@ -97,8 +97,8 @@
},
"state": {
"checkoutState": {
"branch": "release/5.7",
"revision": "564424db5fdb62dcb5d863bdf7212500ef03a87b"
"branch": "release/5.8",
"revision": "dccfc2e127a34b89a849407594cf2d604b598ba9"
},
"name": "sourceControlCheckout"
},
@ -114,13 +114,30 @@
},
"state": {
"checkoutState": {
"branch": "release/5.7",
"revision": "c6e40adbfc78acc60ca464ae482b56442f9f34f4"
"branch": "release/5.8",
"revision": "6651d98a4ce3c6faa82768256ca286412bf4a04d"
},
"name": "sourceControlCheckout"
},
"subpath": "swift-package-manager"
},
{
"basedOn": null,
"packageRef": {
"identity": "swift-syntax",
"kind": "remoteSourceControl",
"location": "https://github.com/apple/swift-syntax.git",
"name": "SwiftSyntax"
},
"state": {
"checkoutState": {
"branch": "release/5.8",
"revision": "cd793adf5680e138bf2bcbaacc292490175d0dcd"
},
"name": "sourceControlCheckout"
},
"subpath": "swift-syntax"
},
{
"basedOn": null,
"packageRef": {
@ -148,8 +165,8 @@
},
"state": {
"checkoutState": {
"branch": "release/5.7",
"revision": "286b48b1d73388e1d49b2bb33aabf995838104e3"
"branch": "release/5.8",
"revision": "ac4871e01ef338cb95b5d28328cab0ec1dfae935"
},
"name": "sourceControlCheckout"
},
@ -165,8 +182,8 @@
},
"state": {
"checkoutState": {
"revision": "9ff1cc9327586db4e0c8f46f064b6a82ec1566fa",
"version": "4.0.6"
"revision": "f47ba4838c30dbd59998a4e4c87ab620ff959e8a",
"version": "5.0.5"
},
"name": "sourceControlCheckout"
},
@ -174,5 +191,5 @@
}
]
},
"version": 5
"version": 6
}

View file

@ -5,20 +5,21 @@ let
# These packages are all part of the Swift toolchain, and have a single
# upstream version that should match. We also list the hashes here so a basic
# version upgrade touches only this file.
version = "5.7.3";
version = "5.8";
hashes = {
llvm-project = "sha256-IDtLPe0sXamnmovbFVKvmDMnci4u/A0urAPjWTYwJCo=";
sourcekit-lsp = "sha256-BT6+VCBSupKOg2mXo6HlkvNRc8pVZU772Mj3LKFamsU=";
swift = "sha256-essP2eIp1sLuROqk0OKGBPfJnvnyAW0moMk0cX1IVQQ=";
swift-cmark = "sha256-f0BoTs4HYdx/aJ9HIGCWMalhl8PvClWD6R4QK3qSgAw=";
swift-corelibs-foundation = "sha256-g78zKSq/b/pVFAD2k2SoMpzJQIpkxMvZOaSz5JPaQmA=";
swift-corelibs-libdispatch = "sha256-1qbXiC1k9+T+L6liqXKg6EZXqem6KEEx8OctuL4Kb2o=";
swift-corelibs-xctest = "sha256-qLUO9/3tkJWorDMEHgHd8VC3ovLLq/UWXJWMtb6CMN0=";
swift-docc = "sha256-WlXJMAnrlVPCM+iCIhG0Gyho76BsC2yVBEpX3m/WiIQ=";
swift-docc-render-artifact = "sha256-ttdurN/K7OX+I4577jG3YGeRs+GLUTc7BiiEZGmFD+s=";
swift-driver = "sha256-BUwsvw8pirvprUFfliLQMMHr6SHTSgeaJYc9lTEvi9E=";
swift-experimental-string-processing = "sha256-W0cQBkdR3A0hrV75Wwm0YULUDVg1bjT0O5w5VGBYDJs=";
swift-package-manager = "sha256-zlFYh1wdjUwOsnbagKnAtqXl3vKPcRtnA7YMORtUeyg=";
llvm-project = "sha256-0xwSAwwkzFgYO3mY1rHqV8TCeH2NpM7m3VUkCDqjcdE=";
sourcekit-lsp = "sha256-XDGq64LbpgBrRy3IvZNgsoLUePXECK5p10vQ8cUKeGE=";
swift = "sha256-EY2IImBCVLiUutvDQjNUiInwCNxZsCu1mZzYSjNd4+A=";
swift-cmark = "sha256-6xkO9kN6eXMAigjk+KyIgVhTyC50BxmkZmD4+9z6nz8=";
swift-corelibs-foundation = "sha256-yRjjxJRy1eTM9VG7/Fn60UMghPavsaoueH0V8cjaIyM=";
swift-corelibs-libdispatch = "sha256-XOAWuaGqWJtxhGIPXYT3PIvk5OK0rkY4g1IOybJUlm4=";
swift-corelibs-xctest = "sha256-uwxQhKUQ1xp5ao6kfkdlYOvMr6yAb5IaBIdOfoyf+n8=";
swift-docc = "sha256-k1ygYDZwF4Jo7iOkHxc/3NzfgN+8XNCks5aizxBgPjM=";
swift-docc-render-artifact = "sha256-vdSyICXOjlNSjZXzPRxa/5305pg6PG4xww9GYEV9m10=";
swift-driver = "sha256-7xsG3Bpf+wqisCMaPEuEg8CjGYO/0r8BX3pMUmRrezE=";
swift-experimental-string-processing = "sha256-ioXG6pQKjlAc2oF38Z7TGighyZN8w2ZAAtFUq83Ow6Q=";
swift-package-manager = "sha256-xd6ZpeXfMoHyVrJxz6XcDLPKBvc2nl1lgWXuLrJdq+E=";
swift-syntax = "sha256-gkpx/1sWWi9y917OJ1GSNFYXrJb6e2qI4JlV+38laRQ=";
};
# Create fetch derivations.

View file

@ -28,6 +28,12 @@ stdenv.mkDerivation {
configurePhase = generated.configure;
# We only install the docc binary, so don't need the other products.
# This works around a failure building generate-symbol-graph:
# Sources/generate-symbol-graph/main.swift:13:18: error: module 'SwiftDocC' was not compiled for testing
# TODO: Figure out the cause. It doesn't seem to happen outside Nixpkgs.
swiftpmFlags = "--product docc";
# TODO: Tests depend on indexstore-db being provided by an existing Swift
# toolchain. (ie. looks for `../lib/libIndexStore.so` relative to swiftc.
#doCheck = true;

View file

@ -2,14 +2,13 @@
{
workspaceStateFile = ./workspace-state.json;
hashes = {
"swift-argument-parser" = "070gip241dgn3d0nxgwxva4vp6kbnf11g01q5yaq6kmflcmz58f2";
"swift-cmark" = "0xfchdgls3070z16in8ks69y8fpiajmyk7lmp5h7ym7164isa6bb";
"swift-crypto" = "0h054rq14jyg94aiymmp37vqz60a13dlczp5g09pln724j4ypv92";
"swift-argument-parser" = "1jph9w7lk9nr20fsv2c8p4hisx3dda817fh7pybd0r0j1jwa9nmw";
"swift-cmark" = "1qswlh6j9mlfq8qj7xfqspla7w7rrzvplgcs4mgllgi012yfgwnp";
"swift-crypto" = "020b8q4ss2k7a65r5dgh59z40i6sn7ij1allxkh8c8a9d0jzn313";
"swift-docc-plugin" = "11d6nhi139yzk1lxxrixsbgyj1bnvmh40wj30y725q83nqq49ljh";
"swift-docc-symbolkit" = "14hb2wc09hisf2r2yny17z28z0m58cf4lnqaczad2x2hk4s1iayi";
"swift-lmdb" = "1m5y6x2vs1wflcv2c57rx87gh12sy0hkwy5iy9inxmda2mcs8qcb";
"swift-markdown" = "09270bfrwlp904cma29hsbhr1p25v8kwgvhcfi7lg2av7aaknd97";
"swift-docc-symbolkit" = "14w37wzbx1mygfwm4iv0ypj120n1axhk627rg5a7v8j0ln511r7s";
"swift-lmdb" = "0azmc24mnxn4pbda8w8v7hy3h0gqqm4br43pnr7lc4sfj3dcv43m";
"swift-markdown" = "1l4ydc0xyv88gnyc33p61qavdh8cv98c548n1icphrfd6i78yygw";
"swift-nio" = "04bvay94b34ynmlvgyl9a7f431l3cf8k2zr483spv8mvyh1hxiqn";
"swift-nio-ssl" = "1ak4aldilmz0pnfgbwq1x4alr38nfyvx2pz7p2vi2plf82da80g5";
};
}

View file

@ -12,8 +12,8 @@
},
"state": {
"checkoutState": {
"revision": "d2930e8fcf9c33162b9fcc1d522bc975e2d4179b",
"version": "1.0.1"
"revision": "e394bf350e38cb100b6bc4172834770ede1b7232",
"version": "1.0.3"
},
"name": "sourceControlCheckout"
},
@ -29,8 +29,8 @@
},
"state": {
"checkoutState": {
"branch": "release/5.7-gfm",
"revision": "792c1c3326327515ce9bf64c44196b7f4daab9a6"
"branch": "gfm",
"revision": "eb9a6a357b6816c68f4b194eaa5b67f3cd1fa5c3"
},
"name": "sourceControlCheckout"
},
@ -46,8 +46,8 @@
},
"state": {
"checkoutState": {
"revision": "9680b7251cd2be22caaed8f1468bd9e8915a62fb",
"version": "1.1.2"
"revision": "ddb07e896a2a8af79512543b1c7eb9797f8898a5",
"version": "1.1.7"
},
"name": "sourceControlCheckout"
},
@ -80,8 +80,8 @@
},
"state": {
"checkoutState": {
"branch": "release/5.7",
"revision": "8682202025906dce29a8b04f9263f40ba87b89d8"
"branch": "main",
"revision": "b45d1f2ed151d057b54504d653e0da5552844e34"
},
"name": "sourceControlCheckout"
},
@ -97,8 +97,8 @@
},
"state": {
"checkoutState": {
"branch": "release/5.7",
"revision": "6ea45a7ebf6d8f72bd299dfcc3299e284bbb92ee"
"branch": "main",
"revision": "584941b1236b15bad74d8163785d389c028b1ad8"
},
"name": "sourceControlCheckout"
},
@ -114,8 +114,8 @@
},
"state": {
"checkoutState": {
"branch": "release/5.7",
"revision": "d6cd065a7e4b6c3fad615dcd39890e095a2f63a2"
"branch": "main",
"revision": "d491147940587dbadfb3472354f4d0c6e063e061"
},
"name": "sourceControlCheckout"
},
@ -137,25 +137,8 @@
"name": "sourceControlCheckout"
},
"subpath": "swift-nio"
},
{
"basedOn": null,
"packageRef": {
"identity": "swift-nio-ssl",
"kind": "remoteSourceControl",
"location": "https://github.com/apple/swift-nio-ssl.git",
"name": "swift-nio-ssl"
},
"state": {
"checkoutState": {
"revision": "2e74773972bd6254c41ceeda827f229bccbf1c0f",
"version": "2.15.0"
},
"name": "sourceControlCheckout"
},
"subpath": "swift-nio-ssl"
}
]
},
"version": 5
"version": 6
}

View file

@ -2,10 +2,10 @@
{
workspaceStateFile = ./workspace-state.json;
hashes = {
"swift-argument-parser" = "11did5snqj8chcbdbiyx84mpif940ls2pr1iikwivvfp63i248hm";
"swift-llbuild" = "07zbp2dyfqd1bnyg7snpr9brn40jf22ivly5v10mql3hrg76a18h";
"swift-argument-parser" = "1jph9w7lk9nr20fsv2c8p4hisx3dda817fh7pybd0r0j1jwa9nmw";
"swift-llbuild" = "106vnssh6pgy5s9dnq1hi1c9v2wkfydqgncg5dy7c9n23iisjy3s";
"swift-system" = "0402hkx2q2dv27gccnn8ma79ngvwiwzkhcv4zlcdldmy6cgi0px7";
"swift-tools-support-core" = "134f9x44jnzdy8cwi6hs372dwbyqvr4qmsjzjy25wzpyv6m9rhrz";
"Yams" = "1893y13sis2aimi1a5kgkczbf06z4yig054xb565yg2xm13srb45";
"swift-tools-support-core" = "1qvblyiazv58qwyxgyk2dh5ymbab3y70vm2q81qs6rmv43hs8ciz";
"Yams" = "11abhcfkmqm3cmh7vp7rqzvxd1zj02j2866a2pp6v9m89456xb76";
};
}

View file

@ -12,8 +12,8 @@
},
"state": {
"checkoutState": {
"revision": "e1465042f195f374b94f915ba8ca49de24300a0d",
"version": "1.0.2"
"revision": "e394bf350e38cb100b6bc4172834770ede1b7232",
"version": "1.0.3"
},
"name": "sourceControlCheckout"
},
@ -29,8 +29,8 @@
},
"state": {
"checkoutState": {
"branch": "release/5.7",
"revision": "564424db5fdb62dcb5d863bdf7212500ef03a87b"
"branch": "release/5.8",
"revision": "dccfc2e127a34b89a849407594cf2d604b598ba9"
},
"name": "sourceControlCheckout"
},
@ -63,8 +63,8 @@
},
"state": {
"checkoutState": {
"branch": "release/5.7",
"revision": "286b48b1d73388e1d49b2bb33aabf995838104e3"
"branch": "release/5.8",
"revision": "ac4871e01ef338cb95b5d28328cab0ec1dfae935"
},
"name": "sourceControlCheckout"
},
@ -80,8 +80,8 @@
},
"state": {
"checkoutState": {
"revision": "9ff1cc9327586db4e0c8f46f064b6a82ec1566fa",
"version": "4.0.6"
"revision": "01835dc202670b5bb90d07f3eae41867e9ed29f6",
"version": "5.0.1"
},
"name": "sourceControlCheckout"
},
@ -89,5 +89,5 @@
}
]
},
"version": 5
"version": 6
}

View file

@ -1,14 +1,14 @@
--- a/Sources/SwiftDriver/Jobs/GenericUnixToolchain+LinkerSupport.swift
+++ b/Sources/SwiftDriver/Jobs/GenericUnixToolchain+LinkerSupport.swift
@@ -9,6 +9,7 @@
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
@@ -10,6 +10,7 @@
//
//===----------------------------------------------------------------------===//
+import Foundation
import TSCBasic
import SwiftOptions
@@ -116,7 +117,20 @@ extension GenericUnixToolchain {
import func TSCBasic.lookupExecutablePath
@@ -120,7 +121,20 @@ extension GenericUnixToolchain {
// just using `clang` and avoid a dependency on the C++ runtime.
let clangTool: Tool =
parsedOptions.hasArgument(.enableExperimentalCxxInterop) ? .clangxx : .clang
@ -30,7 +30,7 @@
if let toolsDirPath = parsedOptions.getLastArgument(.toolsDirectory) {
// FIXME: What if this isn't an absolute path?
let toolsDir = try AbsolutePath(validating: toolsDirPath.asSingle)
@@ -132,6 +146,7 @@ extension GenericUnixToolchain {
@@ -136,6 +150,7 @@ extension GenericUnixToolchain {
commandLine.appendFlag("-B")
commandLine.appendPath(toolsDir)
}

View file

@ -4,15 +4,15 @@ there, but we also here patch a check to try locate it via NIX_CC.
--- a/Sources/SwiftDriver/Jobs/Toolchain+LinkerSupport.swift
+++ b/Sources/SwiftDriver/Jobs/Toolchain+LinkerSupport.swift
@@ -9,6 +9,7 @@
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
@@ -10,6 +10,7 @@
//
//===----------------------------------------------------------------------===//
+import Foundation
import TSCBasic
import SwiftOptions
@@ -24,6 +25,13 @@ extension Toolchain {
import protocol TSCBasic.FileSystem
@@ -26,6 +27,13 @@ extension Toolchain {
for targetInfo: FrontendTargetInfo,
parsedOptions: inout ParsedOptions
) throws -> VirtualPath {

View file

@ -57,9 +57,6 @@ in lib.mapAttrs mkInstallScript {
'';
Yams = ''
add_library(CYaml SHARED IMPORTED)
set_property(TARGET CYaml PROPERTY IMPORTED_LOCATION "@out@/lib/libCYaml@sharedLibExt@")
add_library(Yams SHARED IMPORTED)
set_property(TARGET Yams PROPERTY IMPORTED_LOCATION "@out@/lib/swift/@swiftOs@/libYams@sharedLibExt@")
'';

View file

@ -8,6 +8,7 @@
, swiftpm2nix
, Foundation
, XCTest
, pkg-config
, sqlite
, ncurses
, substituteAll
@ -38,13 +39,12 @@ let
propagatedBuildInputs = [ Foundation ];
patches = [
./patches/cmake-disable-rpath.patch
./patches/cmake-fix-quoting.patch
./patches/disable-index-store.patch
./patches/disable-sandbox.patch
./patches/disable-xctest.patch
./patches/fix-clang-cxx.patch
(substituteAll {
src = ./patches/disable-xctest.patch;
inherit (builtins) storeDir;
})
./patches/nix-pkgconfig-vars.patch
(substituteAll {
src = ./patches/fix-stdlib-path.patch;
inherit (builtins) storeDir;
@ -60,6 +60,21 @@ let
--replace \
'librariesPath = applicationPath.parentDirectory' \
"librariesPath = AbsolutePath(\"$out\")"
# Fix case-sensitivity issues.
# Upstream PR: https://github.com/apple/swift-package-manager/pull/6500
substituteInPlace Sources/CMakeLists.txt \
--replace \
'packageCollectionsSigning' \
'PackageCollectionsSigning'
substituteInPlace Sources/PackageCollectionsSigning/CMakeLists.txt \
--replace \
'SubjectPublickeyInfo' \
'SubjectPublicKeyInfo'
substituteInPlace Sources/PackageCollections/CMakeLists.txt \
--replace \
'FilepackageCollectionsSourcesStorage' \
'FilePackageCollectionsSourcesStorage'
'';
};
@ -67,12 +82,15 @@ let
runtimeDeps = [ git ]
++ lib.optionals stdenv.isDarwin [
xcbuild.xcrun
# vtool is used to determine a minimum deployment target. This is part of
# cctools, but adding that as a build input puts an unwrapped linker in
# PATH, and breaks builds. This small derivation exposes just vtool.
(runCommandLocal "vtool" { } ''
# These tools are part of cctools, but adding that as a build input puts
# an unwrapped linker in PATH, and breaks builds. This small derivation
# exposes just the tools we need:
# - vtool is used to determine a minimum deployment target.
# - libtool is used to build static libraries.
(runCommandLocal "swiftpm-cctools" { } ''
mkdir -p $out/bin
ln -s ${cctools}/bin/vtool $out/bin/vtool
ln -s ${cctools}/bin/libtool $out/bin/libtool
'')
];
@ -282,6 +300,12 @@ let
swift-tools-support-core
];
postPatch = ''
# Tries to link against CYaml, but that's private.
substituteInPlace Sources/SwiftDriver/CMakeLists.txt \
--replace CYaml ""
'';
postInstall = cmakeGlue.SwiftDriver + ''
# Swift modules are not installed.
mkdir -p $out/${swiftModuleSubdir}
@ -294,8 +318,11 @@ let
src = generated.sources.swift-crypto;
postPatch = ''
# Fix use of hardcoded tool paths on Darwin.
substituteInPlace CMakeLists.txt \
--replace /usr/bin/ar $NIX_CC/bin/ar
substituteInPlace CMakeLists.txt \
--replace /usr/bin/ranlib $NIX_CC/bin/ranlib
'';
postInstall = cmakeGlue.SwiftCrypto + ''
@ -313,6 +340,7 @@ let
buildInputs = [
llbuild
sqlite
swift-argument-parser
swift-collections
swift-crypto
@ -342,6 +370,7 @@ in stdenv.mkDerivation (commonAttrs // {
];
buildInputs = [
ncursesInput
pkg-config
sqlite
XCTest
]
@ -385,10 +414,10 @@ in stdenv.mkDerivation (commonAttrs // {
mkdir -p $out/bin $out/lib/swift
cp $binPath/swift-package $out/bin/
cp $binPath/swift-package-manager $out/bin/swift-package
wrapProgram $out/bin/swift-package \
--prefix PATH : ${lib.makeBinPath runtimeDeps}
for tool in swift-build swift-test swift-run swift-package-collection; do
for tool in swift-build swift-test swift-run swift-package-collection swift-experimental-destination; do
ln -s $out/bin/swift-package $out/bin/$tool
done

View file

@ -4,11 +4,11 @@
hashes = {
"swift-argument-parser" = "1jph9w7lk9nr20fsv2c8p4hisx3dda817fh7pybd0r0j1jwa9nmw";
"swift-collections" = "1k6sjx5rqmp3gklny77b480hyzy6gkhpi23r0s8ljfbrcwawgnan";
"swift-crypto" = "020b8q4ss2k7a65r5dgh59z40i6sn7ij1allxkh8c8a9d0jzn313";
"swift-driver" = "1lcb5wqragc74nd0fjnk47lyph9hs0i9cps1mplvp2i91yzjqk05";
"swift-llbuild" = "07zbp2dyfqd1bnyg7snpr9brn40jf22ivly5v10mql3hrg76a18h";
"swift-crypto" = "0kllp7j0hd8k67l9b9zr2c3ddc5bvshldchzivhcz3q31qvq9ag8";
"swift-driver" = "0cbvddj54k3sbw0vzlmzhccs7h43hi5kq6i3n2i0mysz3bf0c6zg";
"swift-llbuild" = "106vnssh6pgy5s9dnq1hi1c9v2wkfydqgncg5dy7c9n23iisjy3s";
"swift-system" = "0402hkx2q2dv27gccnn8ma79ngvwiwzkhcv4zlcdldmy6cgi0px7";
"swift-tools-support-core" = "134f9x44jnzdy8cwi6hs372dwbyqvr4qmsjzjy25wzpyv6m9rhrz";
"Yams" = "1893y13sis2aimi1a5kgkczbf06z4yig054xb565yg2xm13srb45";
"swift-tools-support-core" = "1qvblyiazv58qwyxgyk2dh5ymbab3y70vm2q81qs6rmv43hs8ciz";
"Yams" = "0b4lprxl4f6yqq0djnp394mxgmsxm2pljr7fh4f6ihdhnpwfsfvl";
};
}

View file

@ -46,8 +46,8 @@
},
"state": {
"checkoutState": {
"revision": "ddb07e896a2a8af79512543b1c7eb9797f8898a5",
"version": "1.1.7"
"revision": "75ec60b8b4cc0f085c3ac414f3dca5625fa3588e",
"version": "2.2.4"
},
"name": "sourceControlCheckout"
},
@ -63,8 +63,8 @@
},
"state": {
"checkoutState": {
"branch": "release/5.7",
"revision": "82b274af66cfbb8f3131677676517b34d01e30fd"
"branch": "release/5.8",
"revision": "7cfe0c0b6e6297efe88a3ce34e6138ee7eda969e"
},
"name": "sourceControlCheckout"
},
@ -80,8 +80,8 @@
},
"state": {
"checkoutState": {
"branch": "release/5.7",
"revision": "564424db5fdb62dcb5d863bdf7212500ef03a87b"
"branch": "release/5.8",
"revision": "dccfc2e127a34b89a849407594cf2d604b598ba9"
},
"name": "sourceControlCheckout"
},
@ -114,8 +114,8 @@
},
"state": {
"checkoutState": {
"branch": "release/5.7",
"revision": "286b48b1d73388e1d49b2bb33aabf995838104e3"
"branch": "release/5.8",
"revision": "ac4871e01ef338cb95b5d28328cab0ec1dfae935"
},
"name": "sourceControlCheckout"
},
@ -131,8 +131,8 @@
},
"state": {
"checkoutState": {
"revision": "9ff1cc9327586db4e0c8f46f064b6a82ec1566fa",
"version": "4.0.6"
"revision": "f47ba4838c30dbd59998a4e4c87ab620ff959e8a",
"version": "5.0.5"
},
"name": "sourceControlCheckout"
},
@ -140,5 +140,5 @@
}
]
},
"version": 5
"version": 6
}

View file

@ -0,0 +1,12 @@
--- a/Sources/PackageCollectionsSigning/CMakeLists.txt
+++ b/Sources/PackageCollectionsSigning/CMakeLists.txt
@@ -43,6 +43,7 @@ target_link_libraries(PackageCollectionsSigning PUBLIC
PackageCollectionsModel
TSCBasic)
target_link_libraries(PackageCollectionsSigning PRIVATE
- PackageCollectionsSigningLibc
- $<$<PLATFORM_ID:Darwin>:SHELL:-Xlinker -framework -Xlinker Security>)
+ PackageCollectionsSigningLibc)
+target_link_options(PackageCollectionsSigning PRIVATE
+ "$<$<PLATFORM_ID:Darwin>:SHELL:-Xlinker -framework -Xlinker Security>")

View file

@ -2,13 +2,13 @@ Nix may already sandbox the build, in which case sandbox_apply will fail.
--- a/Sources/Basics/Sandbox.swift
+++ b/Sources/Basics/Sandbox.swift
@@ -30,12 +30,14 @@ public enum Sandbox {
@@ -33,12 +33,14 @@ public enum Sandbox {
readOnlyDirectories: [AbsolutePath] = []
) -> [String] {
) throws -> [String] {
#if os(macOS)
+ let env = ProcessInfo.processInfo.environment
+ if env["NIX_BUILD_TOP"] == nil || env["IN_NIX_SHELL"] != nil {
let profile = macOSSandboxProfile(strictness: strictness, writableDirectories: writableDirectories, readOnlyDirectories: readOnlyDirectories)
let profile = try macOSSandboxProfile(strictness: strictness, writableDirectories: writableDirectories, readOnlyDirectories: readOnlyDirectories)
return ["/usr/bin/sandbox-exec", "-p", profile] + command
- #else
+ }
@ -17,5 +17,5 @@ Nix may already sandbox the build, in which case sandbox_apply will fail.
return command
- #endif
}
/// Basic strictness level of a sandbox applied to a command line.

View file

@ -1,21 +1,21 @@
XCTest is not fully open-source, only the Swift library parts. We don't have a
command-line runner available, so disable support.
--- a/Sources/Commands/TestingSupport.swift
+++ b/Sources/Commands/TestingSupport.swift
@@ -60,7 +60,7 @@ enum TestingSupport {
--- a/Sources/Commands/Utilities/TestingSupport.swift
+++ b/Sources/Commands/Utilities/TestingSupport.swift
@@ -72,7 +72,7 @@ enum TestingSupport {
/// - Returns: Array of TestSuite
static func getTestSuites(fromTestAt path: AbsolutePath, swiftTool: SwiftTool, swiftOptions: SwiftToolOptions) throws -> [TestSuite] {
static func getTestSuites(fromTestAt path: AbsolutePath, swiftTool: SwiftTool, enableCodeCoverage: Bool, sanitizers: [Sanitizer]) throws -> [TestSuite] {
// Run the correct tool.
- #if os(macOS)
+ #if false
let data: String = try withTemporaryFile { tempFile in
let args = [try TestingSupport.xctestHelperPath(swiftTool: swiftTool).pathString, path.pathString, tempFile.path.pathString]
var env = try TestingSupport.constructTestEnvironment(toolchain: try swiftTool.getToolchain(), options: swiftOptions, buildParameters: swiftTool.buildParametersForTest())
let args = [try Self.xctestHelperPath(swiftTool: swiftTool).pathString, path.pathString, tempFile.path.pathString]
var env = try Self.constructTestEnvironment(
--- a/Sources/swiftpm-xctest-helper/main.swift
+++ b/Sources/swiftpm-xctest-helper/main.swift
@@ -9,8 +9,11 @@
*/
@@ -11,8 +11,11 @@
//===----------------------------------------------------------------------===//
#if os(macOS)
-import XCTest
@ -27,7 +27,7 @@ command-line runner available, so disable support.
/// A helper tool to get list of tests from a XCTest Bundle on macOS.
///
@@ -132,6 +135,7 @@ do {
@@ -134,6 +137,7 @@ do {
exit(1)
}
@ -35,14 +35,3 @@ command-line runner available, so disable support.
#else
#if os(Windows)
--- a/Sources/PackageModel/Destination.swift
+++ b/Sources/PackageModel/Destination.swift
@@ -174,7 +174,7 @@ public struct Destination: Encodable, Equatable {
arguments: ["/usr/bin/xcrun", "--sdk", "macosx", "--show-sdk-platform-path"],
environment: environment).spm_chomp()
- if let platformPath = platformPath, !platformPath.isEmpty {
+ if let platformPath = platformPath, !platformPath.isEmpty && !platformPath.starts(with: "@storeDir@") {
// For XCTest framework.
let fwk = AbsolutePath(platformPath).appending(
components: "Developer", "Library", "Frameworks")

View file

@ -2,9 +2,20 @@ Swiftpm may invoke clang, not clang++, to compile C++. Our cc-wrapper also
doesn't pick up the arguments that enable C++ compilation in this case. Patch
swiftpm to properly invoke clang++.
--- a/Sources/Build/BuildPlan.swift
+++ b/Sources/Build/BuildPlan.swift
@@ -2089,7 +2089,7 @@ public class BuildPlan: SPMBuildCore.BuildPlan {
for target in dependencies.staticTargets {
if case let target as ClangTarget = target.underlyingTarget, target.isCXX {
if buildParameters.hostTriple.isDarwin() {
- buildProduct.additionalFlags += ["-lc++"]
+ buildProduct.additionalFlags += ["-lc++", "-lc++abi"]
} else if buildParameters.hostTriple.isWindows() {
// Don't link any C++ library.
} else {
--- a/Sources/Build/LLBuildManifestBuilder.swift
+++ b/Sources/Build/LLBuildManifestBuilder.swift
@@ -782,7 +782,7 @@ extension LLBuildManifestBuilder {
@@ -786,7 +786,7 @@ extension LLBuildManifestBuilder {
args += ["-c", path.source.pathString, "-o", path.object.pathString]
@ -13,21 +24,10 @@ swiftpm to properly invoke clang++.
args.insert(clangCompiler, at: 0)
let objectFileNode: Node = .file(path.object)
--- a/Sources/PackageModel/Destination.swift
+++ b/Sources/PackageModel/Destination.swift
@@ -153,7 +153,7 @@ public struct Destination: Encodable, Equatable {
var extraCPPFlags: [String] = []
#if os(macOS)
- extraCPPFlags += ["-lc++"]
+ extraCPPFlags += ["-lc++", "-lc++abi"]
#elseif os(Windows)
extraCPPFlags += []
#else
--- a/Sources/PackageModel/Toolchain.swift
+++ b/Sources/PackageModel/Toolchain.swift
@@ -20,7 +20,7 @@ public protocol Toolchain {
var macosSwiftStdlib: AbsolutePath { get }
@@ -23,7 +23,7 @@ public protocol Toolchain {
var macosSwiftStdlib: AbsolutePath { get throws }
/// Path of the `clang` compiler.
- func getClangCompiler() throws -> AbsolutePath
@ -46,7 +46,7 @@ swiftpm to properly invoke clang++.
private let environment: EnvironmentVariables
@@ -150,29 +150,31 @@ public final class UserToolchain: Toolchain {
@@ -196,29 +196,31 @@ public final class UserToolchain: Toolchain {
}
/// Returns the path to clang compiler tool.
@ -70,7 +70,7 @@ swiftpm to properly invoke clang++.
// Then, check the toolchain.
+ let tool = isCXX ? "clang++" : "clang";
do {
- if let toolPath = try? UserToolchain.getTool("clang", binDir: self.destination.binDir) {
- if let toolPath = try? UserToolchain.getTool("clang", binDir: self.destination.toolchainBinDir) {
- self._clangCompiler = toolPath
+ if let toolPath = try? UserToolchain.getTool(tool, binDir: self.destination.binDir) {
+ self._clangCompiler[isCXX] = toolPath
@ -88,18 +88,18 @@ swiftpm to properly invoke clang++.
--- a/Sources/SPMBuildCore/BuildParameters.swift
+++ b/Sources/SPMBuildCore/BuildParameters.swift
@@ -342,7 +342,7 @@ private struct _Toolchain: Encodable {
@@ -394,7 +394,7 @@ private struct _Toolchain: Encodable {
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encode(toolchain.swiftCompilerPath, forKey: .swiftCompiler)
- try container.encode(toolchain.getClangCompiler(), forKey: .clangCompiler)
+ try container.encode(toolchain.getClangCompiler(isCXX: false), forKey: .clangCompiler)
try container.encode(toolchain.extraCCFlags, forKey: .extraCCFlags)
try container.encode(toolchain.extraCPPFlags, forKey: .extraCPPFlags)
try container.encode(toolchain.extraFlags.cCompilerFlags, forKey: .extraCCFlags)
// Maintaining `extraCPPFlags` key for compatibility with older encoding.
--- a/Sources/XCBuildSupport/XcodeBuildSystem.swift
+++ b/Sources/XCBuildSupport/XcodeBuildSystem.swift
@@ -172,7 +172,7 @@ public final class XcodeBuildSystem: SPMBuildCore.BuildSystem {
@@ -182,7 +182,7 @@ public final class XcodeBuildSystem: SPMBuildCore.BuildSystem {
// Generate a table of any overriding build settings.
var settings: [String: String] = [:]
// An error with determining the override should not be fatal here.
@ -107,15 +107,15 @@ swiftpm to properly invoke clang++.
+ settings["CC"] = try? buildParameters.toolchain.getClangCompiler(isCXX: false).pathString
// Always specify the path of the effective Swift compiler, which was determined in the same way as for the native build system.
settings["SWIFT_EXEC"] = buildParameters.toolchain.swiftCompilerPath.pathString
settings["LIBRARY_SEARCH_PATHS"] = "$(inherited) \(buildParameters.toolchain.toolchainLibDir.pathString)"
settings["LIBRARY_SEARCH_PATHS"] = "$(inherited) \(try buildParameters.toolchain.toolchainLibDir.pathString)"
--- a/Tests/BuildTests/MockBuildTestHelper.swift
+++ b/Tests/BuildTests/MockBuildTestHelper.swift
@@ -15,7 +15,7 @@ struct MockToolchain: PackageModel.Toolchain {
@@ -23,7 +23,7 @@ struct MockToolchain: PackageModel.Toolchain {
#else
let extraCPPFlags: [String] = ["-lstdc++"]
let extraFlags = BuildFlags(cxxCompilerFlags: ["-lstdc++"])
#endif
- func getClangCompiler() throws -> AbsolutePath {
+ func getClangCompiler(isCXX: Bool) throws -> AbsolutePath {
return AbsolutePath("/fake/path/to/clang")
return AbsolutePath(path: "/fake/path/to/clang")
}

View file

@ -4,20 +4,22 @@ necessary for back-deployment of some features.
--- a/Sources/PackageModel/Toolchain.swift
+++ b/Sources/PackageModel/Toolchain.swift
@@ -43,10 +43,16 @@ extension Toolchain {
}
@@ -53,12 +53,18 @@ extension Toolchain {
public var macosSwiftStdlib: AbsolutePath {
+ if swiftCompilerPath.pathString.starts(with: "@storeDir@") {
+ return AbsolutePath("@swiftLib@/lib/swift/macosx")
+ }
return AbsolutePath("../../lib/swift/macosx", relativeTo: resolveSymlinks(swiftCompilerPath))
public var macosSwiftStdlib: AbsolutePath {
get throws {
+ if swiftCompilerPath.pathString.starts(with: "@storeDir@") {
+ return AbsolutePath("@swiftLib@/lib/swift/macosx")
+ }
return try AbsolutePath(validating: "../../lib/swift/macosx", relativeTo: resolveSymlinks(swiftCompilerPath))
}
}
public var toolchainLibDir: AbsolutePath {
+ if swiftCompilerPath.pathString.starts(with: "@storeDir@") {
+ return AbsolutePath("@swiftLib@/lib")
+ }
// FIXME: Not sure if it's better to base this off of Swift compiler or our own binary.
return AbsolutePath("../../lib", relativeTo: resolveSymlinks(swiftCompilerPath))
}
get throws {
+ if swiftCompilerPath.pathString.starts(with: "@storeDir@") {
+ return AbsolutePath("@swiftLib@/lib")
+ }
// FIXME: Not sure if it's better to base this off of Swift compiler or our own binary.
return try AbsolutePath(validating: "../../lib", relativeTo: resolveSymlinks(swiftCompilerPath))
}

View file

@ -0,0 +1,28 @@
Swift parses .pc files manually, but this means it bypasses our pkg-config
wrapper. That wrapper normally takes care of introducing the correct
PKG_CONFIG_PATH for cross compiling.
--- a/Sources/PackageLoading/PkgConfig.swift
+++ b/Sources/PackageLoading/PkgConfig.swift
@@ -123,14 +123,17 @@ public struct PkgConfig {
private static var envSearchPaths: [AbsolutePath] {
get throws {
- if let configPath = ProcessEnv.vars["PKG_CONFIG_PATH"] {
+ var result: [AbsolutePath] = []
+ for envVar in ["PKG_CONFIG_PATH", "PKG_CONFIG_PATH_FOR_TARGET"] {
+ if let configPath = ProcessEnv.vars[envVar] {
#if os(Windows)
- return try configPath.split(separator: ";").map({ try AbsolutePath(validating: String($0)) })
+ result += try configPath.split(separator: ";").map({ try AbsolutePath(validating: String($0)) })
#else
- return try configPath.split(separator: ":").map({ try AbsolutePath(validating: String($0)) })
+ result += try configPath.split(separator: ":").map({ try AbsolutePath(validating: String($0)) })
#endif
}
- return []
+ }
+ return result
}
}
}

View file

@ -105,7 +105,7 @@ dontLink=$isFrontend
for p in "${params[@]}"; do
case "$p" in
-enable-cxx-interop)
-enable-cxx-interop | -enable-experimental-cxx-interop)
isCxx=1 ;;
esac
done

View file

@ -20,6 +20,13 @@ rustPlatform.buildRustPackage rec {
buildInputs = lib.optionals stdenv.isDarwin
[ libiconv CoreServices Security ];
# test broken with rust 1.69:
# * https://github.com/evcxr/evcxr/issues/294
# * https://github.com/NixOS/nixpkgs/issues/229524
checkFlags = [
"--skip=check_for_errors"
];
postInstall = let
wrap = exe: ''
wrapProgram $out/bin/${exe} \

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "codec2";
version = "1.0.5";
version = "1.1.0";
src = fetchFromGitHub {
owner = "drowe67";
repo = "codec2";
rev = "v${version}";
hash = "sha256-Q5p6NicwmHBR7drX8Tdgf6Mruqssg9qzMC9sG9DlMbQ=";
hash = "sha256-7E/Iqan3DVFl9pwsY6pwWM64ug1cjN6DH+u7XzraA78=";
};
nativeBuildInputs = [ cmake ];

View file

@ -8,13 +8,13 @@
mkDerivation rec {
pname = "KDDockWidgets";
version = "1.6.0";
version = "1.7.0";
src = fetchFromGitHub {
owner = "KDAB";
repo = pname;
rev = "v${version}";
sha256 = "sha256-rAv0P7tRcgCTB/ZM93wKF8oRZc7KqPyoDcnRn5Rel/k=";
sha256 = "sha256-k5Hn9kxq1+tH5kV/ZeD4xzQLDgcY4ACC+guP7YJD4C8=";
};
nativeBuildInputs = [ cmake ];

View file

@ -1,22 +1,16 @@
{ stdenv, lib, fetchFromGitHub, fetchpatch, pkg-config, cmake, git, doxygen, help2man, ncurses, tecla
, libusb1, udev }:
let
# fetch submodule
noos = fetchFromGitHub {
owner = "analogdevicesinc";
repo = "no-OS";
rev = "0bba46e6f6f75785a65d425ece37d0a04daf6157";
sha256 = "0is79dhsyp9xmlnfdr1i5s1c22ipjafk9d35jpn5dynpvj86m99c";
};
in stdenv.mkDerivation rec {
stdenv.mkDerivation rec {
pname = "libbladeRF";
version = "2.4.1";
version = "2.5.0";
src = fetchFromGitHub {
owner = "Nuand";
repo = "bladeRF";
rev = "libbladeRF_v${version}";
sha256 = "05axh51lrzxpz2qfswnjwxpfk3mlsv2wc88dd12gfr1karn5jwz9";
sha256 = "sha256-H40w5YKp6M3QLrsPhILEnJiWutCYLtbgC4a63sV397Q=";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake pkg-config git doxygen help2man ];
@ -25,11 +19,6 @@ in stdenv.mkDerivation rec {
++ lib.optionals stdenv.isLinux [ udev ]
++ lib.optionals stdenv.isDarwin [ ncurses ];
postUnpack = ''
cp -r ${noos}/* source/thirdparty/analogdevicesinc/no-OS/
'';
# Fixup shebang
prePatch = "patchShebangs host/utilities/bladeRF-cli/src/cmd/doc/generate.bash";
@ -46,18 +35,13 @@ in stdenv.mkDerivation rec {
"-DBLADERF_GROUP=bladerf"
];
env.NIX_CFLAGS_COMPILE = toString [
# Needed with GCC 12
"-Wno-error=array-bounds"
];
hardeningDisable = [ "fortify" ];
meta = with lib; {
homepage = "https://nuand.com/libbladeRF-doc";
description = "Supporting library of the BladeRF SDR opensource hardware";
license = licenses.lgpl21;
maintainers = with maintainers; [ ];
maintainers = with maintainers; [ markuskowa ];
platforms = platforms.unix;
};
}

View file

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "liblxi";
version = "1.18";
version = "1.19";
src = fetchFromGitHub {
owner = "lxi-tools";
repo = "liblxi";
rev = "v${version}";
sha256 = "sha256-2tZWIN58J6zNHG3dahNfg5eNiS8ykWFQyRSyikuzdjE=";
sha256 = "sha256-TdIUPAXBogGT9OQrX4wkSmPFjR9McdS9gnQ7c24U4qs=";
};
nativeBuildInputs = [ meson ninja cmake pkg-config rpcsvc-proto ];

View file

@ -6,7 +6,7 @@
stdenv.mkDerivation rec {
pname = "libupnp";
version = "1.14.16";
version = "1.14.17";
outputs = [ "out" "dev" ];
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
owner = "pupnp";
repo = "pupnp";
rev = "release-${version}";
sha256 = "sha256-JsissTWnF8GuHSWeCmWOusDYV32Xu0LDRqZCm7yz6YY=";
sha256 = "sha256-vb540oqDn6Y+oD0LriOJckYYkI/zcHkEVc8mL/+9bps=";
};
nativeBuildInputs = [

View file

@ -1,14 +1,19 @@
{ lib, stdenv, cmake, fetchFromGitHub }:
{ lib
, stdenv
, fetchFromGitHub
, cmake
, unstableGitUpdater
}:
stdenv.mkDerivation rec {
pname = "rapidcheck";
version = "unstable-2020-12-19";
version = "unstable-2023-04-16";
src = fetchFromGitHub {
owner = "emil-e";
repo = "rapidcheck";
rev = "b78f89288c7e086d06e2a1e10b605d8375517a8a";
sha256 = "0fj11gbhkaxbsgix2im7vdfvr26l75b8djk462sfw8xrwrfkjbdz";
rev = "a5724ea5b0b00147109b0605c377f1e54c353ba2";
hash = "sha256-nq2VBDREkAOnvtdYr3m0TYNXx7mv9hbV5HZFVL2uTTg=";
};
nativeBuildInputs = [ cmake ];
@ -21,6 +26,8 @@ stdenv.mkDerivation rec {
rm $out/extras/**/CMakeLists.txt
'';
passthru.updateScript = unstableGitUpdater { };
meta = with lib; {
description = "A C++ framework for property based testing inspired by QuickCheck";
inherit (src.meta) homepage;

View file

@ -1,4 +1,4 @@
{ lib, fetchFromGitLab, stdenv, llvmPackages_12, cargo }:
{ lib, fetchFromGitLab, stdenv, llvmPackages_12, cargo, libiconv }:
stdenv.mkDerivation rec {
version = "1.5";
@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ llvmPackages_12.llvm cargo ];
propagatedBuildDeps = [ llvmPackages_12.libllvm ];
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
buildPhase = ''
runHook preBuild

View file

@ -0,0 +1,14 @@
diff --git a/hacl-star-raw/karamel/include/krml/internal/target.h b/hacl-star-raw/karamel/include/krml/internal/target.h
index 695873a..c0aed18 100644
--- a/hacl-star-raw/karamel/include/krml/internal/target.h
+++ b/hacl-star-raw/karamel/include/krml/internal/target.h
@@ -82,6 +82,9 @@
# endif
# if (defined(_MSC_VER) || (defined(__MINGW32__) && defined(__MINGW64_VERSION_MAJOR)))
# define KRML_ALIGNED_MALLOC(X, Y) _aligned_malloc(Y, X)
+# elif defined(__APPLE__)
+# include <mm_malloc.h>
+# define KRML_ALIGNED_MALLOC(X, Y) _mm_malloc(Y, X)
# else
# define KRML_ALIGNED_MALLOC(X, Y) aligned_alloc(X, Y)
# endif

View file

@ -20,6 +20,10 @@ stdenv.mkDerivation rec {
stripRoot = false;
};
patches = [
./aligned-alloc.patch
];
minimalOCamlVersion = "4.08";
# strictoverflow is disabled because it breaks aarch64-darwin

View file

@ -21,7 +21,7 @@
buildPythonPackage rec {
pname = "fastapi";
version = "0.92.0";
version = "0.95.1";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -30,7 +30,7 @@ buildPythonPackage rec {
owner = "tiangolo";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-4USWfYvPxR+LzPELRTDg0Jl4K5yBnumYKfXT84FWctg=";
hash = "sha256-y6mP2w2d2oabM9bLtWRO/AdRA46LNhVrMB/0qxGxH7I=";
};
nativeBuildInputs = [

View file

@ -3,18 +3,18 @@
, buildPythonPackage
, pythonOlder
, filelock
, fsspec
, importlib-metadata
, packaging
, pyyaml
, requests
, ruamel-yaml
, tqdm
, typing-extensions
}:
buildPythonPackage rec {
pname = "huggingface-hub";
version = "0.12.1";
version = "0.14.1";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -23,15 +23,15 @@ buildPythonPackage rec {
owner = "huggingface";
repo = "huggingface_hub";
rev = "refs/tags/v${version}";
hash = "sha256-uw64JnXx790S4snLjANU0aLI3r7AMPec+IQentTZOdU=";
hash = "sha256-+BtXi+O+Ef4p4b+8FJCrZFsxX22ZYOPXylexFtsldnA=";
};
propagatedBuildInputs = [
filelock
fsspec
packaging
pyyaml
requests
ruamel-yaml
tqdm
typing-extensions
] ++ lib.optionals (pythonOlder "3.8") [
@ -50,6 +50,6 @@ buildPythonPackage rec {
homepage = "https://github.com/huggingface/huggingface_hub";
changelog = "https://github.com/huggingface/huggingface_hub/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ ];
maintainers = with maintainers; [ kira-bruneau ];
};
}

View file

@ -22,7 +22,7 @@
buildPythonPackage rec {
pname = "starlette";
version = "0.25.0";
version = "0.26.1";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -31,7 +31,7 @@ buildPythonPackage rec {
owner = "encode";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-s0ADo/+lcH8Y31hf1iSLbfTsV3fZtlCuZf7BS0uQc9Y=";
hash = "sha256-/zYqYmmCcOLU8Di9b4BzDLFtB5wYEEF1bYN6u2rb8Lg=";
};
nativeBuildInputs = [

View file

@ -25,7 +25,7 @@
buildPythonPackage rec {
pname = "web3";
version = "5.31.1";
version = "6.3.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -34,7 +34,7 @@ buildPythonPackage rec {
owner = "ethereum";
repo = "web3.py";
rev = "v${version}";
hash = "sha256-YsAbPI9Y6z+snKZ9NsA0YSpB38n+ra4+Ei6COYFe8v4=";
hash = "sha256-p3Dpmb0BST1nbh42q/eK/DjQqoIPHvNr2KllRpTgFFw=";
};
nativeBuildInputs = [
@ -72,6 +72,10 @@ buildPythonPackage rec {
doCheck = false;
postPatch = ''
substituteInPlace setup.py --replace "types-protobuf==3.19.13" "types-protobuf"
'';
pythonImportsCheck = [
"web3"
];

View file

@ -0,0 +1,30 @@
{ lib, fetchFromGitea, buildGoModule }:
buildGoModule rec {
pname = "codeberg-pages";
version = "4.6.2";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "Codeberg";
repo = "pages-server";
rev = "ce241fa40adee2b12f8e225db98e09a45bc2acbb";
sha256 = "sha256-mL2Xs7eyldoZK4zrX6WFlFtwdLN0iVyl1Qh8X6b2u9c=";
};
vendorSha256 = "sha256-R/LuZkA2xHmu7SO3BVyK1C6n9U+pYn50kNkyLltn2ng=";
patches = [ ./disable_httptest.patch ];
ldflags = [ "-s" "-w" ];
tags = [ "sqlite" "sqlite_unlock_notify" "netgo" ];
meta = with lib; {
mainProgram = "codeberg-pages";
maintainers = with maintainers; [ laurent-f1z1 ];
license = licenses.eupl12;
homepage = "https://codeberg.org/Codeberg/pages-server";
description = "Static websites hosting from Gitea repositories";
};
}

View file

@ -0,0 +1,55 @@
diff --git a/server/handler/handler_test.go b/server/handler/handler_test.go
deleted file mode 100644
index 626564a..0000000
--- a/server/handler/handler_test.go
+++ /dev/null
@@ -1,49 +0,0 @@
-package handler
-
-import (
- "net/http/httptest"
- "testing"
- "time"
-
- "codeberg.org/codeberg/pages/server/cache"
- "codeberg.org/codeberg/pages/server/gitea"
- "github.com/rs/zerolog/log"
-)
-
-func TestHandlerPerformance(t *testing.T) {
- giteaClient, _ := gitea.NewClient("https://codeberg.org", "", cache.NewKeyValueCache(), false, false)
- testHandler := Handler(
- "codeberg.page", "raw.codeberg.org",
- giteaClient,
- "https://docs.codeberg.org/pages/raw-content/",
- []string{"/.well-known/acme-challenge/"},
- []string{"raw.codeberg.org", "fonts.codeberg.org", "design.codeberg.org"},
- cache.NewKeyValueCache(),
- cache.NewKeyValueCache(),
- )
-
- testCase := func(uri string, status int) {
- t.Run(uri, func(t *testing.T) {
- req := httptest.NewRequest("GET", uri, nil)
- w := httptest.NewRecorder()
-
- log.Printf("Start: %v\n", time.Now())
- start := time.Now()
- testHandler(w, req)
- end := time.Now()
- log.Printf("Done: %v\n", time.Now())
-
- resp := w.Result()
-
- if resp.StatusCode != status {
- t.Errorf("request failed with status code %d", resp.StatusCode)
- } else {
- t.Logf("request took %d milliseconds", end.Sub(start).Milliseconds())
- }
- })
- }
-
- testCase("https://mondstern.codeberg.page/", 404) // TODO: expect 200
- testCase("https://codeberg.page/", 404) // TODO: expect 200
- testCase("https://example.momar.xyz/", 424)
-}

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-udeps";
version = "0.1.36";
version = "0.1.38";
src = fetchFromGitHub {
owner = "est31";
repo = pname;
rev = "v${version}";
sha256 = "sha256-7sfUA1YQrYlgnzr+uTXcEwWMN/rUkwIzNvzN8YQ6HOo=";
sha256 = "sha256-UQ6JrzL9yGllhPYN7Dod6UYqu2FJLjInmpE6IUmjZno=";
};
cargoHash = "sha256-Q5sLn9JrspnxMPi8zoP3i/G92PP1zPVCKlQXdTiSXJM=";
cargoHash = "sha256-jzBOdMtv47wDOOcPg0B5BYQtYSnDnOnms0SDrW2lFbs=";
nativeBuildInputs = [ pkg-config ];

View file

@ -6,7 +6,7 @@ in rec {
# Derive a pin file from workspace state.
mkPinFile = workspaceState:
assert workspaceState.version == 5;
assert workspaceState.version >= 5 && workspaceState.version <= 6;
json.generate "Package.resolved" {
version = 1;
object.pins = map (dep: {

View file

@ -12,7 +12,8 @@ if [[ ! -f "$stateFile" ]]; then
exit 1
fi
if [[ "$(jq .version $stateFile)" != "5" ]]; then
stateVersion="$(jq .version $stateFile)"
if [[ $stateVersion -lt 5 || $stateVersion -gt 6 ]]; then
echo >&2 "Unsupported $stateFile version"
exit 1
fi

View file

@ -9,6 +9,7 @@
python3Packages.buildPythonApplication {
pname = "chatgpt-retrieval-plugin";
version = "unstable-2023-03-28";
format = "pyproject";
src = fetchFromGitHub {
owner = "openai";
@ -17,14 +18,13 @@ python3Packages.buildPythonApplication {
hash = "sha256-fCNGzK5Uji6wGDTEwAf4FF/i+RC7ny3v4AsvQwIbehY=";
};
format = "pyproject";
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'fastapi = "^0.92.0"' 'fastapi = ">=0.92.0"' \
--replace 'python-dotenv = "^0.21.1"' 'python-dotenv = "*"' \
--replace 'python-multipart = "^0.0.6"' 'python-multipart = "^0.0.5"' \
--replace 'tiktoken = "^0.2.0"' 'tiktoken = "^0.3.0"' \
--replace 'redis = "4.5.1"' 'redis = "^4.5.1"' \
--replace 'tiktoken = "^0.2.0"' 'tiktoken = "^0.3.0"' \
--replace 'packages = [{include = "server"}]' 'packages = [{include = "server"}, {include = "models"}, {include = "datastore"}, {include = "services"}]'
substituteInPlace server/main.py \
@ -64,7 +64,7 @@ python3Packages.buildPythonApplication {
meta = with lib; {
homepage = "https://github.com/openai/chatgpt-retrieval-plugin";
description = "The ChatGPT Retrieval Plugin lets you easily search and find personal or work documents by asking questions in everyday language. ";
description = "Tool to search and find personal or work documents by asking questions in everyday language";
license = licenses.mit;
maintainers = with maintainers; [ happysalada ];
};

View file

@ -2,15 +2,15 @@
rustPlatform.buildRustPackage rec {
pname = "doh-proxy-rust";
version = "0.9.8";
version = "0.9.9";
src = fetchCrate {
inherit version;
crateName = "doh-proxy";
sha256 = "sha256-+Z2eneEK6nhcJEKRa1VIolCTZ8to2mMQ8Ik7WEH+1w0=";
sha256 = "sha256-KvEayC+aY8aC5fSVIV9urNwLJcIfDMaAU+XdlGSmYRI=";
};
cargoHash = "sha256-nlKzVQeLg3/nBIkD7QoBUWC93m9BiJrybf13Y/ns9gA=";
cargoHash = "sha256-eoC90ht9cbMLkPN3S4jxZipbFoZDTU7pIr6GRagGlJE=";
buildInputs = lib.optionals stdenv.isDarwin [ Security libiconv ];

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "shotgun";
version = "2.3.1";
version = "2.4.0";
src = fetchFromGitHub {
owner = "neXromancers";
repo = pname;
rev = "v${version}";
sha256 = "sha256-hu8UYia2tu6I6Ii9aZ6vfpbrcDz4yeEDkljGFa5s6VY=";
sha256 = "sha256-fcb+eZXzpuEPFSZexbgDpoBX85gsiIqPlcPXruNGenk=";
};
cargoSha256 = "sha256-UOchXeBX+sDuLhwWQRVFCj9loJUyr4IltiAKsQoh5/c=";
cargoSha256 = "sha256-n5HPl2h0fr0MyGBivNVrrs23HAllIYtwaw1aaKWHCe4=";
nativeBuildInputs = [ pkg-config ];

View file

@ -9,31 +9,31 @@
}:
let
_d_ae_ver = "0.0.3228";
_d_btrfs_ver = "0.0.13";
_d_ncurses_ver = "0.0.149";
_d_ae_ver = "0.0.3236";
_d_btrfs_ver = "0.0.18";
_d_ncurses_ver = "1.0.0";
_d_emsi_containers_ver = "0.9.0";
in
stdenv.mkDerivation rec {
pname = "btdu";
version = "0.5.0";
version = "0.5.1";
srcs = [
(fetchurl {
url = "https://github.com/CyberShadow/${pname}/archive/v${version}.tar.gz";
sha256 = "90ba4d8997575993e9d39a503779fb32b37bb62b8d9386776e95743bfc859606";
sha256 = "566269f365811f6db53280fc5476a7fcf34791396ee4e090c150af4280b35ba5";
})
(fetchurl {
url = "https://github.com/CyberShadow/ae/archive/v${_d_ae_ver}.tar.gz";
sha256 = "6b3da61d9f7f1a7343dbe5691a16482cabcd78532b7c09ed9d63eb1934f1b9d8";
sha256 = "5ea3f0d9d2d13012ce6a1ee1b52d9fdff9dfb1d5cc7ee5d1b04cab1947ed4d36";
})
(fetchurl {
url = "https://github.com/CyberShadow/d-btrfs/archive/v${_d_btrfs_ver}.tar.gz";
sha256 = "05a59cd64000ce2af9bd0578ef5118ab4d10de0ec50410ba0d4e463f01cfaa4e";
sha256 = "32af4891d93c7898b0596eefb8297b88d3ed5c14c84a5951943b7b54c7599dbd";
})
(fetchurl {
url = "https://github.com/D-Programming-Deimos/ncurses/archive/v${_d_ncurses_ver}.tar.gz";
sha256 = "2c8497f5dd93f9d3a05ca7ed57c4fcaee1e988fd25a24de106917ddf72f34646";
sha256 = "b5db677b75ebef7a1365ca4ef768f7344a2bc8d07ec223a2ada162f185d0d9c6";
})
(fetchurl {
url = "https://github.com/dlang-community/containers/archive/v${_d_emsi_containers_ver}.tar.gz";

View file

@ -12,13 +12,13 @@
stdenv.mkDerivation rec {
pname = "clipboard-jh";
version = "0.6.0";
version = "0.7.0";
src = fetchFromGitHub {
owner = "Slackadays";
repo = "clipboard";
rev = version;
hash = "sha256-o3yCWAy7hlFKAFW3tVRG+hL0SRWlNY4hvnhUoDK8GkI=";
hash = "sha256-+1GgIa0kIOliI0ACiU9zQe24R6488xWEZ7n9nuxv3dY";
};
postPatch = ''
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
pkg-config
];
buildInputs = [
buildInputs = lib.optionals stdenv.isLinux [
libffi
wayland-protocols
wayland
@ -50,6 +50,7 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/Slackadays/clipboard";
license = licenses.gpl3Only;
maintainers = with maintainers; [ dit7ya ];
mainProgram = "clipboard";
platforms = platforms.all;
mainProgram = "cb";
};
}

View file

@ -4,7 +4,7 @@
}:
buildGoModule rec {
pname = "clash-meta";
version = "1.14.3";
version = "1.14.4";
src = fetchFromGitHub {
owner = "MetaCubeX";
@ -14,10 +14,10 @@ buildGoModule rec {
postFetch = ''
rm -f $out/.github/workflows/{Delete,delete}.yml
'';
hash = "sha256-HITuxnzzyHBJ3PlXHYR0M1r3x70AtwzAp1hQ6pX16Bo=";
hash = "sha256-HEJQaNFKcmR7KtXsYs2h1KpRZJfQljYjMUBMdqg7gRU=";
};
vendorHash = "sha256-D6b0U04wwDUzeIu3//E10YehohTzvyHWtK5Yzf3xrAI=";
vendorHash = "sha256-jvl4dAP0EOl9p/3LPNLUqzg8H/mP7AKaI+lJ6ROo/1k=";
# Do not build testing suit
excludedPackages = [ "./test" ];

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "fulcio";
version = "1.2.0";
version = "1.3.1";
src = fetchFromGitHub {
owner = "sigstore";
repo = pname;
rev = "v${version}";
sha256 = "sha256-sDxbBIE0NgOcEMTnQNXe93RvIDBn0IjH2D15GxwVJqU=";
sha256 = "sha256-d9PTio6BYJ+WmHH53NRFBI1BG/aOM+BauV398FKaQg0=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@ -20,7 +20,7 @@ buildGoModule rec {
find "$out" -name .git -print0 | xargs -0 rm -rf
'';
};
vendorHash = "sha256-71YnLPgM3gkGzCgoiUIpknv9bFfxnZPHvf+5gAF1Knk=";
vendorHash = "sha256-RnCQ0KKT1azPZGPwbtRBLxNMng2mnYVT7xBI3Cxm9Q0=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -8,16 +8,16 @@ let
in
buildGoModule rec {
pname = "pomerium-cli";
version = "0.21.0";
version = "0.22.0";
src = fetchFromGitHub {
owner = "pomerium";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-0JMMa85gMTZA0JtxpONVMakbsapAoCXdiL3+Whv5Pp0=";
sha256 = "sha256-0vRLjmzW/U/Kssu4VQO6mFqVH4UovmTGEEfxeWI8Nqo=";
};
vendorHash = "sha256-eATNBUQNspDdksF06VHIzwzEJfaFBlJt9OtONxH49s4=";
vendorHash = "sha256-dnfJnndYXR6LQKDruLSsDav4DtyaGu5/rNnk69oMhPU=";
subPackages = [
"cmd/pomerium-cli"

View file

@ -6493,6 +6493,8 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) Security;
};
codeberg-pages = callPackage ../development/tools/continuous-integration/codeberg-pages { };
codebraid = callPackage ../tools/misc/codebraid { };
codemov = callPackage ../tools/misc/codemov { };
@ -13942,7 +13944,7 @@ with pkgs;
clipnotify = callPackage ../tools/misc/clipnotify { };
clipboard-jh = callPackage ../tools/misc/clipboard-jh {
stdenv = if stdenv.isDarwin then llvmPackages_15.stdenv else stdenv;
stdenv = if stdenv.isDarwin then llvmPackages_16.stdenv else stdenv;
};
clipbuzz = callPackage ../tools/misc/clipbuzz { };
@ -27657,6 +27659,8 @@ with pkgs;
adementary-theme = callPackage ../data/themes/adementary { };
adi1090x-plymouth-themes = callPackage ../data/themes/adi1090x-plymouth-themes { };
adwaita-qt = libsForQt5.callPackage ../data/themes/adwaita-qt { };
adwaita-qt6 = qt6Packages.callPackage ../data/themes/adwaita-qt {
@ -32958,6 +32962,8 @@ with pkgs;
opentx = libsForQt5.callPackage ../applications/misc/opentx { };
openvi = darwin.apple_sdk_11_0.callPackage ../applications/editors/openvi { };
opera = callPackage ../applications/networking/browsers/opera { };
orca = python3Packages.callPackage ../applications/misc/orca {
@ -39814,14 +39820,13 @@ with pkgs;
mpvc = callPackage ../applications/misc/mpvc { };
# Overriding does not work when using callPackage on discord using import instead. (https://github.com/NixOS/nixpkgs/pull/179906)
discord = import ../applications/networking/instant-messengers/discord {
inherit lib stdenv;
inherit (pkgs) callPackage fetchurl;
branch = "stable";
};
discordo = callPackage ../applications/networking/discordo/default.nix { };
discord-ptb = import ../applications/networking/instant-messengers/discord {
inherit lib stdenv;
inherit (pkgs) callPackage fetchurl;
@ -39834,6 +39839,15 @@ with pkgs;
branch = "canary";
};
discord-development = import ../applications/networking/instant-messengers/discord {
inherit lib stdenv;
inherit (pkgs) callPackage fetchurl;
branch = "development";
};
discordo = callPackage ../applications/networking/discordo/default.nix { };
golden-cheetah = libsForQt5.callPackage ../applications/misc/golden-cheetah { };
golden-cheetah-bin = callPackage ../applications/misc/golden-cheetah-bin {};