Merge staging-next into staging
This commit is contained in:
commit
fe64053a45
@ -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}
|
||||
|
@ -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"
|
||||
|
@ -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"; }; }
|
||||
|
@ -416,6 +416,9 @@ rec {
|
||||
uclibceabihf = { float = "hard"; };
|
||||
uclibc = {};
|
||||
|
||||
# LLVM libc
|
||||
llvm = {};
|
||||
|
||||
unknown = {};
|
||||
};
|
||||
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 = [
|
||||
|
110
pkgs/by-name/co/cosmic-player/package.nix
Normal file
110
pkgs/by-name/co/cosmic-player/package.nix
Normal 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";
|
||||
};
|
||||
}
|
@ -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;
|
||||
|
||||
|
@ -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 {
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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 = ''
|
||||
|
@ -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/
|
||||
|
@ -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="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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 = {
|
||||
|
@ -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; {
|
||||
|
@ -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 {
|
||||
|
@ -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 = [
|
||||
|
@ -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" ];
|
||||
|
95
pkgs/development/compilers/llvm/common/libc/default.nix
Normal file
95
pkgs/development/compilers/llvm/common/libc/default.nix
Normal 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";
|
||||
};
|
||||
})
|
1
pkgs/development/compilers/llvm/common/libc/libc-shim.so
Normal file
1
pkgs/development/compilers/llvm/common/libc/libc-shim.so
Normal file
@ -0,0 +1 @@
|
||||
GROUP (@libc@ @out@/lib/libllvmlibc.a)
|
@ -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;
|
||||
|
||||
|
@ -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 ];
|
||||
|
@ -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";
|
||||
|
@ -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 =
|
||||
|
@ -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" ];
|
||||
|
@ -50,6 +50,7 @@ let
|
||||
|
||||
# cross packagesets
|
||||
pkgsLLVM = true;
|
||||
pkgsLLVMLibc = true;
|
||||
pkgsMusl = true;
|
||||
pkgsStatic = true;
|
||||
pkgsCross = true;
|
||||
|
@ -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" ];
|
||||
|
@ -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': {
|
||||
|
Loading…
Reference in New Issue
Block a user