Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot] 2025-01-20 06:05:33 +00:00 committed by GitHub
commit fe64053a45
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
30 changed files with 464 additions and 181 deletions

View File

@ -220,7 +220,7 @@ because their behaviour is different:
* `dependencies ? []`: Aside from propagating dependencies,
`buildPythonPackage` also injects code into and wraps executables with the
paths included in this list. Items listed in `install_requires` go here.
* `optional-dependencies ? { }`: Optional feature flagged dependencies. Items listed in `extras_requires` go here.
* `optional-dependencies ? { }`: Optional feature flagged dependencies. Items listed in `extras_require` go here.
##### Overriding Python packages {#overriding-python-packages}

View File

@ -102,6 +102,7 @@ let
else if final.isMusl then "musl"
else if final.isUClibc then "uclibc"
else if final.isAndroid then "bionic"
else if final.isLLVMLibc then "llvm"
else if final.isLinux /* default */ then "glibc"
else if final.isFreeBSD then "fblibc"
else if final.isOpenBSD then "oblibc"

View File

@ -113,6 +113,7 @@ rec {
isGnu = with abis; map (a: { abi = a; }) [ gnuabi64 gnuabin32 gnu gnueabi gnueabihf gnuabielfv1 gnuabielfv2 ];
isMusl = with abis; map (a: { abi = a; }) [ musl musleabi musleabihf muslabin32 muslabi64 ];
isUClibc = with abis; map (a: { abi = a; }) [ uclibc uclibceabi uclibceabihf ];
isLLVMLibc = [ { abi = abis.llvm; } ];
isEfi = [
{ cpu = { family = "arm"; version = "6"; }; }

View File

@ -416,6 +416,9 @@ rec {
uclibceabihf = { float = "hard"; };
uclibc = {};
# LLVM libc
llvm = {};
unknown = {};
};

View File

@ -62,6 +62,10 @@ stdenv.mkDerivation rec {
cmakeFlags = [ "-DUSE_HAMLIB=ON" ] ++ lib.optional enableDigitalLab "-DENABLE_DIGITAL_LAB=ON";
postFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
install_name_tool -change libliquid.dylib ${lib.getLib liquid-dsp}/lib/libliquid.dylib ''${out}/bin/CubicSDR
'';
meta = with lib; {
homepage = "https://cubicsdr.com";
description = "Software Defined Radio application";

View File

@ -2,6 +2,7 @@
lib,
stdenv,
fetchurl,
fetchpatch,
alsa-topology-conf,
alsa-ucm-conf,
testers,
@ -16,13 +17,24 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-jE/zdVPL6JYY4Yfkx3n3GpuyqLJ7kfh+1AmHzJIz2PY=";
};
patches = [
# Add a "libs" field to the syntax recognized in the /etc/asound.conf file.
# The nixos modules for pulseaudio, jack, and pipewire are leveraging this
# "libs" field to declare locations for both native and 32bit plugins, in
# order to support apps with 32bit sound running on x86_64 architecture.
./alsa-plugin-conf-multilib.patch
];
patches =
[
# Add a "libs" field to the syntax recognized in the /etc/asound.conf file.
# The nixos modules for pulseaudio, jack, and pipewire are leveraging this
# "libs" field to declare locations for both native and 32bit plugins, in
# order to support apps with 32bit sound running on x86_64 architecture.
./alsa-plugin-conf-multilib.patch
]
++ lib.optional (stdenv.hostPlatform.useLLVM or false)
# Fixes version script under LLVM, should be fixed in the next update.
# Check if "pkgsLLVM.alsa-lib" builds on next version bump and remove this
# if it succeeds.
(
fetchurl {
url = "https://github.com/alsa-project/alsa-lib/commit/76edab4e595bd5f3f4c636cccc8d7976d3c519d6.patch";
hash = "sha256-WCOXfe0/PPZRMXdNa29Jn28S2r0PQ7iTsabsxZVSwnk=";
}
);
enableParallelBuilding = true;

View File

@ -35,11 +35,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "calibre";
version = "7.22.0";
version = "7.24.0";
src = fetchurl {
url = "https://download.calibre-ebook.com/${finalAttrs.version}/calibre-${finalAttrs.version}.tar.xz";
hash = "sha256-RmCte6tok0F/ts5cacAFBksNYfnLylY4JCmTyb+6IUk=";
hash = "sha256-ftqi6ANY/w4CdcMUAzRn9GOpNbSz36mnNcGHv8ffKbQ=";
};
patches = [

View File

@ -0,0 +1,110 @@
{
lib,
fetchFromGitHub,
rustPlatform,
alsa-lib,
ffmpeg,
glib,
gst_all_1,
just,
pkg-config,
libxkbcommon,
stdenv,
cosmic-icons,
libglvnd,
libgbm,
wayland,
xorg,
vulkan-loader,
makeBinaryWrapper,
}:
rustPlatform.buildRustPackage rec {
pname = "cosmic-player";
version = "1.0.0-alpha.5.1";
src = fetchFromGitHub {
owner = "pop-os";
repo = pname;
rev = "epoch-${version}";
hash = "sha256-IgMFKtuMAfRtbxunwrwRzFi/0PcSMWhx33uJcxiAHhI=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-VSUv4yV54fzWPhxZV/EjBrkx7tTLo6vfSHNiluWnn9A=";
postPatch = ''
substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)"
'';
nativeBuildInputs = [
just
pkg-config
makeBinaryWrapper
];
# Largely based on lilyinstarlight's work linked below
# https://github.com/lilyinstarlight/nixos-cosmic/blob/main/pkgs/cosmic-player/package.nix
buildInputs = [
alsa-lib
ffmpeg
glib
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
libxkbcommon
libgbm
wayland
vulkan-loader
xorg.libX11
libglvnd
];
dontUseJustBuild = true;
justFlags = [
"--set"
"prefix"
(placeholder "out")
"--set"
"bin-src"
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-player"
];
# Force linking to libEGL, which is always dlopen()ed, and to
# libwayland-client, which is always dlopen()ed except by the
# obscure winit backend.
RUSTFLAGS = map (a: "-C link-arg=${a}") [
"-Wl,--push-state,--no-as-needed"
"-lEGL"
"-lwayland-client"
"-Wl,--pop-state"
];
# LD_LIBRARY_PATH can be removed once tiny-xlib is bumped above 0.2.2
postInstall = ''
wrapProgram "$out/bin/cosmic-player" \
--suffix XDG_DATA_DIRS : "${cosmic-icons}/share" \
--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [
xorg.libX11
xorg.libXcursor
xorg.libXi
vulkan-loader
libxkbcommon
wayland
]
}
'';
meta = {
homepage = "https://github.com/pop-os/cosmic-player";
description = "Media player for the COSMIC Desktop Environment";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ ahoneybun ];
platforms = lib.platforms.linux;
mainProgram = "cosmic-player";
};
}

View File

@ -13,17 +13,17 @@
rustPlatform.buildRustPackage rec {
pname = "cosmic-workspaces-epoch";
version = "1.0.0-alpha.2";
version = "1.0.0-alpha.5.1";
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-workspaces-epoch";
rev = "epoch-${version}";
hash = "sha256-z3xQ6Vgqkm8hYLo2550NbFRkTMRQ0F9zn85iobnykH5=";
hash = "sha256-lAK7DZWwNMr30u6Uopew9O/6FIG6e2SgcdA+cD/K5Ok=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-QRBgFTXPWQ0RCSfCA2WpBs+vKTFD7Xfz60cIDtbYb5Y=";
cargoHash = "sha256-w1lQdzy2mJ5NfqngvOLqFCxyhWgvIySDDXCCtCCtTjg=";
separateDebugInfo = true;

View File

@ -17,7 +17,7 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "dbeaver-bin";
version = "24.3.2";
version = "24.3.3";
src =
let
@ -30,10 +30,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
aarch64-darwin = "macos-aarch64.dmg";
};
hash = selectSystem {
x86_64-linux = "sha256-kbpdAA/ZmH1f+MEfozyjr8HTKLhWEhswAGc7iSpy9rE=";
aarch64-linux = "sha256-SiNriPbyiMeHZSHab3JwyedURogPjI9McXwJqjpZXiA=";
x86_64-darwin = "sha256-cBJvElGfuCbyFRXzqcuQRa4GA6nXmEDxtse388FuH30=";
aarch64-darwin = "sha256-kzJeKY7V8CBcdsoDZDI9eBrr1hEWh3vyHI3wgos/s/M=";
x86_64-linux = "sha256-vj9C12bGJbWjmcjp2jVyvLmLHYdLjbEU0SVvevhkd4A=";
aarch64-linux = "sha256-vQArRJZvf38JEfDBNE4GfemddM4M1ar7RojXNTb6YaU=";
x86_64-darwin = "sha256-r+CLBy4zetjPXDzm6abQqY8IvE0UfROg5Ga0nIrb9oc=";
aarch64-darwin = "sha256-W8NAs5Z8Ogl1uv2zngi4A4viBL51izsv7ksS7gygh9I=";
};
in
fetchurl {

View File

@ -31,13 +31,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "dillo";
version = "3.1.1";
version = "3.2.0";
src = fetchFromGitHub {
owner = "dillo-browser";
repo = "dillo";
rev = "v${finalAttrs.version}";
hash = "sha256-bGIOYONMtIN4IhSobOeSLiRDR13mo4W/DBX4kQ2S+hg=";
hash = "sha256-9nJq20iW8/UI3GgXWje+46WDSu3/omd1PN/uTlYCOac=";
};
nativeBuildInputs = [

View File

@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "doublecmd";
version = "1.1.21";
version = "1.1.22";
src = fetchFromGitHub {
owner = "doublecmd";
repo = "doublecmd";
rev = "v${finalAttrs.version}";
hash = "sha256-NsjsjCSPbo7zwejmOjFRuQpcMyGZEY67hyStjtMrIGk=";
hash = "sha256-PyAmGYWA7QZcD7SN2utHacwqm8PQy8VxuVxAXlR7tj4=";
};
nativeBuildInputs = [

View File

@ -8,17 +8,17 @@
}:
buildNpmPackage rec {
pname = "immich-public-proxy";
version = "1.5.6";
version = "1.6.2";
src = fetchFromGitHub {
owner = "alangrainger";
repo = "immich-public-proxy";
tag = "v${version}";
hash = "sha256-nAXSlzMJNx7QjdHr/Ax8RAcWVcsMgBLbBO0CqpWCsvA=";
hash = "sha256-R2w11AdOgcV1R1eIzDgt+yexWwystDNJiJ+14MH6WtU=";
};
sourceRoot = "${src.name}/app";
npmDepsHash = "sha256-rtDd8Gadi3OrnM34Sr2FG6htYeh2G0cYDcv/hKk1TIw=";
npmDepsHash = "sha256-VXCJ0VaAKOlz342saRAnb1MLZGgIZwPpy/2oS/Gvsj8=";
# patch in absolute nix store paths so the process doesn't need to cwd in $out
postPatch = ''

View File

@ -5,7 +5,7 @@
fetchFromGitHub,
fetchpatch2,
python3,
nodejs_20,
nodejs,
node-gyp,
runCommand,
nixosTests,
@ -27,7 +27,6 @@
vips,
}:
let
nodejs = nodejs_20;
buildNpmPackage' = buildNpmPackage.override { inherit nodejs; };
sources = lib.importJSON ./sources.json;
inherit (sources) version;
@ -132,12 +131,12 @@ let
node-addon-api = stdenvNoCC.mkDerivation rec {
pname = "node-addon-api";
version = "8.0.0";
version = "8.3.0";
src = fetchFromGitHub {
owner = "nodejs";
repo = "node-addon-api";
tag = "v${version}";
hash = "sha256-k3v8lK7uaEJvcaj1sucTjFZ6+i5A6w/0Uj9rYlPhjCE=";
hash = "sha256-7KkJkMNX352XnWTOC6mJB+IcFrda20UENcNwoXWDm+s=";
};
installPhase = ''
mkdir $out
@ -181,7 +180,15 @@ buildNpmPackage' {
# Required because vips tries to write to the cache dir
makeCacheWritable = true;
# we manually build sharp from source later on
# FIXME figure out why otherwise it fails with
# error: 'NewOrCopy' is not a member of 'Napi::Buffer<char>'
env.SHARP_IGNORE_GLOBAL_LIBVIPS = 1;
preBuild = ''
unset SHARP_IGNORE_GLOBAL_LIBVIPS
export SHARP_FORCE_GLOBAL_LIBVIPS=1
pushd node_modules/sharp
mkdir node_modules
@ -205,8 +212,7 @@ buildNpmPackage' {
npm prune --omit=dev
# remove build artifacts that bloat the closure
rm -r node_modules/bcrypt/{build-tmp-napi-v3,node_modules/node-addon-api,src,test}
rm -r node_modules/msgpackr-extract/build
rm -r node_modules/**/{*.target.mk,binding.Makefile,config.gypi,Makefile,Release/.deps}
mkdir -p $out/build
mv package.json package-lock.json node_modules dist resources $out/

View File

@ -1,26 +1,26 @@
{
"version": "1.123.0",
"hash": "sha256-qzNujf8zRtml57EmyPu0qY0dbswcLhPSHOuGRkSXtVY=",
"version": "1.124.2",
"hash": "sha256-EIp1KH2sNvEiB3wl6m0IiAUyDwBETgKlSXCrIsw73Oo=",
"components": {
"cli": {
"npmDepsHash": "sha256-L94vKYmNWO3IcJh+ZtJ2EBz6h3G9jeyqyw44tto8bQ0=",
"version": "2.2.37"
"npmDepsHash": "sha256-k3sA4OcjlvzMMI2GsUYks2fIj7LG89H3OX4vTZOCIOo=",
"version": "2.2.40"
},
"server": {
"npmDepsHash": "sha256-JUFeaaT4uqyff48nDMrlvC8maU+BjwNU3xcOOR1f8F4=",
"version": "1.123.0"
"npmDepsHash": "sha256-O0XqMOUYy7VdumDDbSenMy22lgZLCDy/GpaSVNs+k4I=",
"version": "1.124.2"
},
"web": {
"npmDepsHash": "sha256-eq+VJVBZGVoMgAjdp/F+bu24cHSneAoTWpeft59Gig8=",
"version": "1.123.0"
"npmDepsHash": "sha256-f3p0HT7l3hXFEo+8AvKEn8QvH6KOTMGZOvaOAPxv3Kc=",
"version": "1.124.2"
},
"open-api/typescript-sdk": {
"npmDepsHash": "sha256-n5B0fKRhDTrobT7SGUAMqsWSkHW4pEYRVzlMqAyfJwk=",
"version": "1.123.0"
"npmDepsHash": "sha256-uk4Gfs10TIsbD4VdHt7a9Fub8PcT6R8ksfvnOLFs/Zo=",
"version": "1.124.2"
},
"geonames": {
"timestamp": "20241217171200",
"hash": "sha256-A21TooXLWSmCW4NaYq+2juaNlAmzTT76ZwtF5NcJcLU="
"timestamp": "20250108222614",
"hash": "sha256-gCi0iFQplv4XizDi9DYEVekFFe46DM4X2YiPSe7ugR4="
}
}
}

View File

@ -1,23 +1,30 @@
{
lib,
buildGo123Module,
buildGoModule,
fetchFromGitHub,
nix-update-script,
versionCheckHook,
}:
buildGo123Module rec {
buildGoModule rec {
pname = "keep-sorted";
version = "0.5.1";
version = "0.6.0";
src = fetchFromGitHub {
owner = "google";
repo = "keep-sorted";
rev = "v${version}";
hash = "sha256-xvSEREEOiwft3fPN+xtdMCh+z3PknjJ962Nb+pw715U=";
tag = "v${version}";
hash = "sha256-ROvj7w8YMq6+ntx0SWi+HfN4sO6d7RjKWwlb/9gfz8w=";
};
vendorHash = "sha256-HTE9vfjRmi5GpMue7lUfd0jmssPgSOljbfPbya4uGsc=";
# Inject version string instead of reading version from buildinfo.
postPatch = ''
substituteInPlace main.go \
--replace-fail 'readVersion())' '"v${version}")'
'';
env.CGO_ENABLED = "0";
ldflags = [ "-s" ];
@ -27,6 +34,10 @@ buildGo123Module rec {
rm goldens/*_test.go
'';
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = {

View File

@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
];
installPhase = ''
runHook preInstall
mkdir $out
# note: we fuck up a bunch of stuff but idc
@ -37,6 +39,8 @@ stdenv.mkDerivation rec {
mv etc $out/etc
mv usr/share $out/share
runHook postInstall
'';
meta = with lib; {

View File

@ -6,11 +6,11 @@
appimageTools.wrapType2 rec {
pname = "responsively-app";
version = "1.15.0";
version = "1.16.0";
src = fetchurl {
url = "https://github.com/responsively-org/responsively-app-releases/releases/download/v${version}/ResponsivelyApp-${version}.AppImage";
hash = "sha256-BkljY8Il45A2JbsLgQbjsxCy0lnFZvtpc5HzvI1nwWk=";
hash = "sha256-r0wznN+7zZXKNFNFUV4hm2e4gd84M6hVcun4OfNEeSw=";
};
appimageContents = appimageTools.extract {

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "uxn";
version = "1.0-unstable-2025-01-04";
version = "1.0-unstable-2025-01-19";
src = fetchFromSourcehut {
owner = "~rabbits";
repo = "uxn";
rev = "b2d09ce518742de16add4d5f5b96f320e274e5a2";
hash = "sha256-BNI2226vWo/XcIRrTWdoHmkckQ0U9yWawqlPamTu0PI=";
rev = "e2ab8811f85d8420e580dec08c53fe588ba96f05";
hash = "sha256-/1I//qyz8VbLPSuJbVYNeVKQjwMHKK/ojO57F6qrIAY=";
};
outputs = [

View File

@ -1075,135 +1075,148 @@ let
relative = "compiler-rt";
});
in
{
compiler-rt-libc = callPackage ./compiler-rt (
let
# temp rename to avoid infinite recursion
(
{
compiler-rt-libc = callPackage ./compiler-rt (
let
# temp rename to avoid infinite recursion
stdenv =
# Darwin needs to use a bootstrap stdenv to avoid an infinite recursion when cross-compiling.
if args.stdenv.hostPlatform.isDarwin then
overrideCC darwin.bootstrapStdenv buildLlvmTools.clangWithLibcAndBasicRtAndLibcxx
else if args.stdenv.hostPlatform.useLLVM or false then
overrideCC args.stdenv buildLlvmTools.clangWithLibcAndBasicRtAndLibcxx
else
args.stdenv;
in
{
patches = compiler-rtPatches;
inherit stdenv;
}
// lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
libxcrypt = (libxcrypt.override { inherit stdenv; }).overrideAttrs (old: {
configureFlags = old.configureFlags ++ [ "--disable-symvers" ];
});
}
);
compiler-rt-no-libc = callPackage ./compiler-rt {
patches = compiler-rtPatches;
doFakeLibgcc = stdenv.hostPlatform.useLLVM or false;
stdenv =
# Darwin needs to use a bootstrap stdenv to avoid an infinite recursion when cross-compiling.
if args.stdenv.hostPlatform.isDarwin then
overrideCC darwin.bootstrapStdenv buildLlvmTools.clangWithLibcAndBasicRtAndLibcxx
else if args.stdenv.hostPlatform.useLLVM or false then
overrideCC args.stdenv buildLlvmTools.clangWithLibcAndBasicRtAndLibcxx
if stdenv.hostPlatform.isDarwin then
overrideCC darwin.bootstrapStdenv buildLlvmTools.clangNoLibcNoRt
else
args.stdenv;
in
{
patches = compiler-rtPatches;
inherit stdenv;
}
// lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
libxcrypt = (libxcrypt.override { inherit stdenv; }).overrideAttrs (old: {
configureFlags = old.configureFlags ++ [ "--disable-symvers" ];
});
}
);
overrideCC stdenv buildLlvmTools.clangNoLibcNoRt;
};
compiler-rt-no-libc = callPackage ./compiler-rt {
patches = compiler-rtPatches;
doFakeLibgcc = stdenv.hostPlatform.useLLVM or false;
stdenv =
# Darwin needs to use a bootstrap stdenv to avoid an infinite recursion when cross-compiling.
if stdenv.hostPlatform.isDarwin then
overrideCC darwin.bootstrapStdenv buildLlvmTools.clangNoLibcNoRt
compiler-rt =
if
stdenv.hostPlatform.libc == null
# Building the with-libc compiler-rt and WASM doesn't yet work,
# because wasilibc doesn't provide some expected things. See
# compiler-rt's file for further details.
|| stdenv.hostPlatform.isWasm
# Failing `#include <term.h>` in
# `lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp`
# sanitizers, not sure where to get it.
|| stdenv.hostPlatform.isFreeBSD
then
libraries.compiler-rt-no-libc
else
overrideCC stdenv buildLlvmTools.clangNoLibcNoRt;
};
libraries.compiler-rt-libc;
compiler-rt =
if
stdenv.hostPlatform.libc == null
# Building the with-libc compiler-rt and WASM doesn't yet work,
# because wasilibc doesn't provide some expected things. See
# compiler-rt's file for further details.
|| stdenv.hostPlatform.isWasm
# Failing `#include <term.h>` in
# `lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp`
# sanitizers, not sure where to get it.
|| stdenv.hostPlatform.isFreeBSD
then
libraries.compiler-rt-no-libc
else
libraries.compiler-rt-libc;
stdenv = overrideCC stdenv buildLlvmTools.clang;
stdenv = overrideCC stdenv buildLlvmTools.clang;
libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
libcxx = callPackage ./libcxx (
{
patches = lib.optionals (lib.versionOlder metadata.release_version "16") (
lib.optional (lib.versions.major metadata.release_version == "15")
# See:
# - https://reviews.llvm.org/D133566
# - https://github.com/NixOS/nixpkgs/issues/214524#issuecomment-1429146432
# !!! Drop in LLVM 16+
(
fetchpatch {
url = "https://github.com/llvm/llvm-project/commit/57c7bb3ec89565c68f858d316504668f9d214d59.patch";
hash = "sha256-B07vHmSjy5BhhkGSj3e1E0XmMv5/9+mvC/k70Z29VwY=";
}
)
++ [
(substitute {
src = ./libcxxabi/wasm.patch;
libcxx = callPackage ./libcxx (
{
patches = lib.optionals (lib.versionOlder metadata.release_version "16") (
lib.optional (lib.versions.major metadata.release_version == "15")
# See:
# - https://reviews.llvm.org/D133566
# - https://github.com/NixOS/nixpkgs/issues/214524#issuecomment-1429146432
# !!! Drop in LLVM 16+
(
fetchpatch {
url = "https://github.com/llvm/llvm-project/commit/57c7bb3ec89565c68f858d316504668f9d214d59.patch";
hash = "sha256-B07vHmSjy5BhhkGSj3e1E0XmMv5/9+mvC/k70Z29VwY=";
}
)
++ [
(substitute {
src = ./libcxxabi/wasm.patch;
substitutions = [
"--replace-fail"
"/cmake/"
"/llvm/cmake/"
];
})
]
++ lib.optional stdenv.hostPlatform.isMusl (substitute {
src = ./libcxx/libcxx-0001-musl-hacks.patch;
substitutions = [
"--replace-fail"
"/cmake/"
"/llvm/cmake/"
"/include/"
"/libcxx/include/"
];
})
]
++ lib.optional stdenv.hostPlatform.isMusl (substitute {
src = ./libcxx/libcxx-0001-musl-hacks.patch;
substitutions = [
"--replace-fail"
"/include/"
"/libcxx/include/"
];
})
);
stdenv =
if stdenv.hostPlatform.isDarwin then
overrideCC darwin.bootstrapStdenv buildLlvmTools.clangWithLibcAndBasicRt
else
overrideCC stdenv buildLlvmTools.clangWithLibcAndBasicRt;
}
// lib.optionalAttrs (lib.versionOlder metadata.release_version "14") {
# TODO: remove this, causes LLVM 13 packages rebuild.
inherit (metadata) monorepoSrc; # Preserve bug during #307211 refactor.
}
);
libunwind = callPackage ./libunwind {
patches = lib.optional (lib.versionOlder metadata.release_version "17") (
metadata.getVersionFile "libunwind/gnu-install-dirs.patch"
);
stdenv =
if stdenv.hostPlatform.isDarwin then
overrideCC darwin.bootstrapStdenv buildLlvmTools.clangWithLibcAndBasicRt
else
overrideCC stdenv buildLlvmTools.clangWithLibcAndBasicRt;
}
// lib.optionalAttrs (lib.versionOlder metadata.release_version "14") {
# TODO: remove this, causes LLVM 13 packages rebuild.
inherit (metadata) monorepoSrc; # Preserve bug during #307211 refactor.
}
);
stdenv = overrideCC stdenv buildLlvmTools.clangWithLibcAndBasicRt;
};
openmp = callPackage ./openmp {
patches =
lib.optional (
lib.versionAtLeast metadata.release_version "15" && lib.versionOlder metadata.release_version "19"
) (metadata.getVersionFile "openmp/fix-find-tool.patch")
++ lib.optional (
lib.versionAtLeast metadata.release_version "14" && lib.versionOlder metadata.release_version "18"
) (metadata.getVersionFile "openmp/gnu-install-dirs.patch")
++ lib.optional (lib.versionAtLeast metadata.release_version "14") (
metadata.getVersionFile "openmp/run-lit-directly.patch"
)
++
lib.optional (lib.versionOlder metadata.release_version "14")
# Fix cross.
(
fetchpatch {
url = "https://github.com/llvm/llvm-project/commit/5e2358c781b85a18d1463fd924d2741d4ae5e42e.patch";
hash = "sha256-UxIlAifXnexF/MaraPW0Ut6q+sf3e7y1fMdEv1q103A=";
}
);
};
}
libunwind = callPackage ./libunwind {
patches = lib.optional (lib.versionOlder metadata.release_version "17") (
metadata.getVersionFile "libunwind/gnu-install-dirs.patch"
);
stdenv = overrideCC stdenv buildLlvmTools.clangWithLibcAndBasicRt;
};
openmp = callPackage ./openmp {
patches =
lib.optional (
lib.versionAtLeast metadata.release_version "15" && lib.versionOlder metadata.release_version "19"
) (metadata.getVersionFile "openmp/fix-find-tool.patch")
++ lib.optional (
lib.versionAtLeast metadata.release_version "14" && lib.versionOlder metadata.release_version "18"
) (metadata.getVersionFile "openmp/gnu-install-dirs.patch")
++ lib.optional (lib.versionAtLeast metadata.release_version "14") (
metadata.getVersionFile "openmp/run-lit-directly.patch"
)
++
lib.optional (lib.versionOlder metadata.release_version "14")
# Fix cross.
(
fetchpatch {
url = "https://github.com/llvm/llvm-project/commit/5e2358c781b85a18d1463fd924d2741d4ae5e42e.patch";
hash = "sha256-UxIlAifXnexF/MaraPW0Ut6q+sf3e7y1fMdEv1q103A=";
}
);
};
}
// lib.optionalAttrs (lib.versionAtLeast metadata.release_version "20") {
libc-overlay = callPackage ./libc {
isFullBuild = false;
};
libc-full = callPackage ./libc {
isFullBuild = true;
};
libc = if stdenv.targetPlatform.libc == "llvm" then libraries.libc-full else libraries.libc-overlay;
}
)
);
noExtend = extensible: lib.attrsets.removeAttrs extensible [ "extend" ];

View File

@ -0,0 +1,95 @@
{
lib,
stdenv,
llvm_meta,
src ? null,
monorepoSrc ? null,
version,
release_version,
runCommand,
python3,
python3Packages,
patches ? [ ],
cmake,
ninja,
isFullBuild ? true,
linuxHeaders,
}:
let
pname = "libc";
src' = runCommand "${pname}-src-${version}" { } (''
mkdir -p "$out"
cp -r ${monorepoSrc}/cmake "$out"
cp -r ${monorepoSrc}/runtimes "$out"
cp -r ${monorepoSrc}/llvm "$out"
cp -r ${monorepoSrc}/${pname} "$out"
'');
stdenv' =
if stdenv.cc.isClang then
stdenv.override {
cc = stdenv.cc.override {
nixSupport = stdenv.cc.nixSupport // {
cc-cflags = lib.remove "-lunwind" stdenv.cc.nixSupport.cc-cflags;
};
};
}
else
stdenv;
in
stdenv'.mkDerivation (finalAttrs: {
inherit pname version patches;
src = src';
sourceRoot = "${finalAttrs.src.name}/runtimes";
nativeBuildInputs =
[
cmake
python3
]
++ (lib.optional (lib.versionAtLeast release_version "15") ninja)
++ (lib.optional isFullBuild python3Packages.pyyaml);
buildInputs = lib.optional isFullBuild linuxHeaders;
outputs = [ "out" ] ++ (lib.optional isFullBuild "dev");
postUnpack = lib.optionalString isFullBuild ''
patchShebangs $sourceRoot/../$pname/hdrgen/yaml_to_classes.py
chmod +x $sourceRoot/../$pname/hdrgen/yaml_to_classes.py
'';
prePatch = ''
cd ../${finalAttrs.pname}
chmod -R u+w ../
'';
postPatch = ''
cd ../runtimes
'';
postInstall = lib.optionalString (!isFullBuild) ''
substituteAll ${./libc-shim.so} $out/lib/libc.so
'';
libc = if (!isFullBuild) then stdenv.cc.libc else null;
cmakeFlags = [
(lib.cmakeBool "LLVM_LIBC_FULL_BUILD" isFullBuild)
(lib.cmakeFeature "LLVM_ENABLE_RUNTIMES" "libc")
];
# For the update script:
passthru = {
monorepoSrc = monorepoSrc;
inherit isFullBuild;
};
meta = llvm_meta // {
homepage = "https://libc.llvm.org/";
description = "Standard C library for LLVM";
};
})

View File

@ -0,0 +1 @@
GROUP (@libc@ @out@/lib/libllvmlibc.a)

View File

@ -31,9 +31,9 @@ let
"18.1.8".officialRelease.sha256 = "sha256-iiZKMRo/WxJaBXct9GdAcAT3cz9d9pnAcO1mmR6oPNE=";
"19.1.6".officialRelease.sha256 = "sha256-LD4nIjZTSZJtbgW6tZopbTF5Mq0Tenj2gbuPXhtOeUI=";
"20.0.0-git".gitRelease = {
rev = "eb5cda480d2ad81230b2aa3e134e2b603ff90a1c";
rev-version = "20.0.0-unstable-2024-11-26";
sha256 = "sha256-8VbQINEZZqAIF4egMaNPd3/W3E3QmOXMl7WToftrebg=";
rev = "1ef5b987a464611a60e873650726b5e02fda0feb";
rev-version = "20.0.0-unstable-2024-12-17";
sha256 = "sha256-QCY9z9h3z5gPvwq6bNzAB5xFFStwOCfKh4VnWInhxU4=";
};
} // llvmVersions;

View File

@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "python-linkplay";
version = "0.1.2";
version = "0.1.3";
pyproject = true;
src = fetchFromGitHub {
owner = "Velleman";
repo = "python-linkplay";
tag = "v${version}";
hash = "sha256-HXsE2DzCyTF9UPZvM3YrwclTzUor+XRuz5UFlixLmRA=";
hash = "sha256-iS4JWnHt3m0i+K/OqEOxBU4fNHRsy7h5HmdwkMRpI80=";
};
build-system = [ setuptools ];

View File

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "notify_push";
version = "0.7.0";
version = "1.0.0";
src = fetchFromGitHub {
owner = "nextcloud";
repo = pname;
rev = "v${version}";
hash = "sha256-QHVWiH6qkwQay0wffoyDUyVxgxzNp10ieYIsdqoEdCM=";
repo = "notify_push";
tag = "v${version}";
hash = "sha256-Y71o+ARi/YB2BRDfEyORbrA9HPvsUlWdh5UjM8hzmcA=";
};
cargoHash = "sha256-HwE/ql8rJcGIINy+hNnpaTFEJqbmuUDrIvVI8kCpfQ8=";
cargoHash = "sha256-Mk+0LKP55Um5YiCx2O49rUZPwaXtKFnWtRC+WPGBadE=";
passthru = rec {
test_client = rustPlatform.buildRustPackage {
@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
buildAndTestSubdir = "test_client";
cargoHash = "sha256-KybnPzCM9mLF55s5eZ3qr5GRcaaYFpEdNklWEo/72Ts=";
cargoHash = "sha256-SBEuFOTgqNjPtKx0PFDA5Gkiksn3cZEmYcs2shAo2Po=";
meta = meta // {
mainProgram = "test_client";

View File

@ -9011,6 +9011,9 @@ with pkgs;
else if name == "nblibc" then targetPackages.netbsd.libc or netbsd.libc
else if name == "wasilibc" then targetPackages.wasilibc or wasilibc
else if name == "relibc" then targetPackages.relibc or relibc
else if name == "llvm" then
# Use llvmPackages_git until LLVM 20 is the default.
targetPackages.llvmPackages_git.libc or llvmPackages_git.libc
else throw "Unknown libc ${name}";
libcCross =

View File

@ -91,11 +91,11 @@ with self; {
ack = buildPerlPackage rec {
pname = "ack";
version = "3.7.0";
version = "3.8.0";
src = fetchurl {
url = "mirror://cpan/authors/id/P/PE/PETDANCE/ack-v${version}.tar.gz";
hash = "sha256-6nyqFPdX3ggzEO0suimGYd3Mpd7gbsjxgEPqYlp53yA=";
hash = "sha256-ZAsaGzbKFaTR0XkvKkTmmurlg5HPDSH6iilmWoiV9xg=";
};
outputs = [ "out" "man" ];

View File

@ -50,6 +50,7 @@ let
# cross packagesets
pkgsLLVM = true;
pkgsLLVMLibc = true;
pkgsMusl = true;
pkgsStatic = true;
pkgsCross = true;

View File

@ -345,6 +345,7 @@ let
agdaPackages = packagePlatforms pkgs.agdaPackages;
pkgsLLVM.stdenv = [ "x86_64-linux" "aarch64-linux" ];
pkgsLLVMLibc.stdenv = [ "x86_64-linux" "aarch64-linux" ];
pkgsArocc.stdenv = [ "x86_64-linux" "aarch64-linux" ];
pkgsZig.stdenv = [ "x86_64-linux" "aarch64-linux" ];
pkgsMusl.stdenv = [ "x86_64-linux" "aarch64-linux" ];

View File

@ -98,6 +98,10 @@ let
or lib.systems.parse.abis.musl;
});
makeLLVMParsedPlatform = parsed:
(parsed // {
abi = lib.systems.parse.abis.llvm;
});
stdenvAdapters = self: super:
let
@ -207,6 +211,19 @@ let
};
};
pkgsLLVMLibc = nixpkgsFun {
overlays = [ (self': super': {
pkgsLLVMLibc = super';
})] ++ overlays;
# Bootstrap a cross stdenv using LLVM libc.
# This is currently not possible when compiling natively,
# so we don't need to check hostPlatform != buildPlatform.
crossSystem = stdenv.hostPlatform // {
config = lib.systems.parse.tripleFromSystem (makeLLVMParsedPlatform stdenv.hostPlatform.parsed);
libc = "llvm";
};
};
pkgsArocc = nixpkgsFun {
overlays = [
(self': super': {