pkgs/*: migrate stdenv -> stdenvNoCC for packages which dont need a compiler

This commit is contained in:
2025-06-05 04:06:42 +00:00
parent bc293726ee
commit 9b8603e505
28 changed files with 95 additions and 86 deletions

View File

@@ -4,8 +4,8 @@
fetchFromGitea, fetchFromGitea,
fetchpatch, fetchpatch,
python3, python3,
stdenv, stdenvNoCC,
}: stdenv.mkDerivation (finalAttrs: { }: stdenvNoCC.mkDerivation (finalAttrs: {
pname = "cassini"; pname = "cassini";
version = "0-unstable-2024-03-30"; version = "0-unstable-2024-03-30";

View File

@@ -1,17 +1,16 @@
{ lib {
, stdenv lib,
, fetchgit stdenv,
, libressl fetchgit,
libressl,
}: }:
stdenv.mkDerivation (finalAttrs: {
let
self = stdenv.mkDerivation rec {
pname = "codemadness-frontends"; pname = "codemadness-frontends";
version = "0.8"; version = "0.8";
src = fetchgit { src = fetchgit {
url = "git://git.codemadness.org/frontends"; url = "git://git.codemadness.org/frontends";
rev = version; rev = finalAttrs.version;
hash = "sha256-KRQZKP3i7EKidUejk3iw/Jh6Dpcp0NJZmRXCStMAtCM="; hash = "sha256-KRQZKP3i7EKidUejk3iw/Jh6Dpcp0NJZmRXCStMAtCM=";
}; };
@@ -41,7 +40,7 @@ self = stdenv.mkDerivation rec {
''; '';
passthru = { passthru = {
v0_6 = self.overrideAttrs (_: rec { v0_6 = finalAttrs.finalPackage.overrideAttrs (_: rec {
version = "0.6"; version = "0.6";
src = fetchgit { src = fetchgit {
url = "git://git.codemadness.org/frontends"; url = "git://git.codemadness.org/frontends";
@@ -58,6 +57,5 @@ self = stdenv.mkDerivation rec {
homepage = "https://codemadness.org/idiotbox.html"; homepage = "https://codemadness.org/idiotbox.html";
license = licenses.isc; license = licenses.isc;
}; };
}; })
in self

View File

@@ -1,9 +1,9 @@
{ {
dashing, dashing,
lua, lua,
stdenv, stdenvNoCC,
}: }:
stdenv.mkDerivation { stdenvNoCC.mkDerivation {
pname = "docsets-lua-std"; pname = "docsets-lua-std";
inherit (lua) version; inherit (lua) version;

View File

@@ -3,7 +3,7 @@
jq, jq,
nix, nix,
runCommand, runCommand,
stdenv, stdenvNoCC,
}: }:
let let
# nix has logic to build an attrset of all the items which make it into `nix.doc` # nix has logic to build an attrset of all the items which make it into `nix.doc`
@@ -18,7 +18,7 @@ let
nix __dump-language | jq . > $out/locations.json nix __dump-language | jq . > $out/locations.json
''; '';
docset = stdenv.mkDerivation { docset = stdenvNoCC.mkDerivation {
pname = "nix-builtins"; pname = "nix-builtins";
version = nix.version; version = nix.version;

View File

@@ -7,7 +7,7 @@
docsets, docsets,
lib, lib,
# nixpkgs-manual, # nixpkgs-manual,
stdenv, stdenvNoCC,
}: }:
let let
# nixpkgs has logic to build an attrset of all the items which make it into nixpkgs-manual. # nixpkgs has logic to build an attrset of all the items which make it into nixpkgs-manual.
@@ -21,7 +21,7 @@ let
''; '';
}); });
in stdenv.mkDerivation { in stdenvNoCC.mkDerivation {
pname = "nixpkgs-lib"; pname = "nixpkgs-lib";
version = lib.version; version = lib.version;

View File

@@ -6,12 +6,10 @@
fetchFromGitea, fetchFromGitea,
hugo, hugo,
lib, lib,
stdenv, stdenvNoCC,
unstableGitUpdater, unstableGitUpdater,
}: }:
let stdenvNoCC.mkDerivation (finalAttrs: {
self = stdenv.mkDerivation
{
pname = "euicc-manual"; pname = "euicc-manual";
version = "0-unstable-2025-05-20"; version = "0-unstable-2025-05-20";
@@ -37,8 +35,8 @@ let
passthru = { passthru = {
updateScript = unstableGitUpdater { }; updateScript = unstableGitUpdater { };
ci_manifest = "${self}/share/doc/euicc-manual/docs/pki/eum/manifest.json"; ci_manifest = "${finalAttrs.finalPackage}/share/doc/euicc-manual/docs/pki/eum/manifest.json";
eum_manifest = "${self}/share/doc/euicc-manual/docs/pki/ci/manifest.json"; eum_manifest = "${finalAttrs.finalPackage}/share/doc/euicc-manual/docs/pki/ci/manifest.json";
}; };
meta = with lib; { meta = with lib; {
@@ -47,5 +45,4 @@ let
repo = "https://gitea.osmocom.org/sim-card/euicc-manual"; repo = "https://gitea.osmocom.org/sim-card/euicc-manual";
maintainers = with maintainers; [ colinsane ]; maintainers = with maintainers; [ colinsane ];
}; };
}; })
in self

View File

@@ -1,6 +1,6 @@
{ {
lib, lib,
stdenv, stdenvNoCC,
fetchurl, fetchurl,
update-feed, update-feed,
}: }:
@@ -8,7 +8,7 @@
# feed-specific args # feed-specific args
{ feedName, jsonPath, url }: { feedName, jsonPath, url }:
stdenv.mkDerivation { stdenvNoCC.mkDerivation {
pname = feedName; pname = feedName;
version = "20230112"; version = "20230112";
src = fetchurl { src = fetchurl {
@@ -19,6 +19,11 @@ stdenv.mkDerivation {
]; ];
meta = { meta = {
description = "metadata about any feeds available at ${feedName}"; description = "metadata about any feeds available at ${feedName}";
longDescription = ''
this package isn't meant to actually be built;
it exists to provide an `updateScript` for a given feed,
so that feed metadata can be sync'd from the web into nix-native data structures.
'';
homepage = feedName; homepage = feedName;
maintainers = with lib.maintainers; [ colinsane ]; maintainers = with lib.maintainers; [ colinsane ];
platforms = lib.platforms.all; platforms = lib.platforms.all;

View File

@@ -2,10 +2,10 @@
lib, lib,
fetchFromGitHub, fetchFromGitHub,
python3, python3,
stdenv, stdenvNoCC,
unstableGitUpdater, unstableGitUpdater,
}: }:
stdenv.mkDerivation { stdenvNoCC.mkDerivation {
pname = "feedsearch-crawler"; pname = "feedsearch-crawler";
version = "0.2.7-unstable-2022-05-28"; version = "0.2.7-unstable-2022-05-28";
format = "pyproject"; format = "pyproject";

View File

@@ -3,8 +3,8 @@
fetchFromGitea, fetchFromGitea,
fastcluster, fastcluster,
python3, python3,
stdenv, stdenvNoCC,
}: stdenv.mkDerivation { }: stdenvNoCC.mkDerivation {
pname = "ols"; pname = "ols";
version = "0.1.0-unstable-2024-06-30"; version = "0.1.0-unstable-2024-06-30";
format = "pyproject"; format = "pyproject";

View File

@@ -2,7 +2,7 @@
bash, bash,
gopass-jsonapi, gopass-jsonapi,
replaceVarsWith, replaceVarsWith,
stdenv, stdenvNoCC,
}: }:
let let
gopass-wrapper = replaceVarsWith { gopass-wrapper = replaceVarsWith {
@@ -13,7 +13,7 @@ let
}; };
}; };
in in
stdenv.mkDerivation { stdenvNoCC.mkDerivation {
pname = "gopass-native-messaging-host"; pname = "gopass-native-messaging-host";
version = "1.0"; version = "1.0";
src = ./.; src = ./.;

View File

@@ -3,9 +3,9 @@
lib, lib,
nix-update-script, nix-update-script,
python3, python3,
stdenv, stdenvNoCC,
}: }:
stdenv.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation (finalAttrs: {
pname = "listparser"; pname = "listparser";
version = "0.20"; version = "0.20";

View File

@@ -2,7 +2,7 @@
{ mkOllamaModel }: mkOllamaModel { { mkOllamaModel }: mkOllamaModel {
modelName = "deepseek-r1"; modelName = "deepseek-r1";
variant = "14b"; variant = "14b";
manifestHash = "sha256-6jXf4YGC9jXuKyFOowt1IP4a2mjaAY+LOVtES2YtTxo="; manifestHash = "sha256-wzO3IyvbUhI2aU/7tfWmsRzEXZjpFCxzEjtnD8pACwk=";
modelBlob = "6e9f90f02bb3b39b59e81916e8cfce9deb45aeaeb9a54a5be4414486b907dc1e"; modelBlob = "6e9f90f02bb3b39b59e81916e8cfce9deb45aeaeb9a54a5be4414486b907dc1e";
modelBlobHash = "sha256-bp+Q8Cuzs5tZ6BkW6M/OnetFrq65pUpb5EFEhrkH3B4="; modelBlobHash = "sha256-bp+Q8Cuzs5tZ6BkW6M/OnetFrq65pUpb5EFEhrkH3B4=";
paramsBlob = "f4d24e9138dd4603380add165d2b0d970bef471fac194b436ebd50e6147c6588"; paramsBlob = "f4d24e9138dd4603380add165d2b0d970bef471fac194b436ebd50e6147c6588";

View File

@@ -2,7 +2,7 @@
{ mkOllamaModel }: mkOllamaModel { { mkOllamaModel }: mkOllamaModel {
modelName = "deepseek-r1"; modelName = "deepseek-r1";
variant = "1.5b"; variant = "1.5b";
manifestHash = "sha256-pCsl2MEKhBvSRyQwmJiuhRRmaWp9fzoKQIuJVTjMvJY="; manifestHash = "sha256-4JeWMttaiNGlOITLKpQXctEP9dBVqrqmgBxONvOmwtc=";
modelBlob = "aabd4debf0c8f08881923f2c25fc0fdeed24435271c2b3e92c4af36704040dbc"; modelBlob = "aabd4debf0c8f08881923f2c25fc0fdeed24435271c2b3e92c4af36704040dbc";
modelBlobHash = "sha256-qr1N6/DI8IiBkj8sJfwP3u0kQ1JxwrPpLErzZwQEDbw="; modelBlobHash = "sha256-qr1N6/DI8IiBkj8sJfwP3u0kQ1JxwrPpLErzZwQEDbw=";
paramsBlob = "f4d24e9138dd4603380add165d2b0d970bef471fac194b436ebd50e6147c6588"; paramsBlob = "f4d24e9138dd4603380add165d2b0d970bef471fac194b436ebd50e6147c6588";

View File

@@ -2,7 +2,7 @@
{ mkOllamaModel }: mkOllamaModel { { mkOllamaModel }: mkOllamaModel {
modelName = "deepseek-r1"; modelName = "deepseek-r1";
variant = "7b"; variant = "7b";
manifestHash = "sha256-CowmaRAjL9MpHnHluh4FjMWvnUERks+IttMOkrbnMWM="; manifestHash = "sha256-dVztAs5779sTt8p04eTQjN26SYav22OkgPLJPTFAOD8=";
modelBlob = "96c415656d377afbff962f6cdb2394ab092ccbcbaab4b82525bc4ca800fe8a49"; modelBlob = "96c415656d377afbff962f6cdb2394ab092ccbcbaab4b82525bc4ca800fe8a49";
modelBlobHash = "sha256-lsQVZW03evv/li9s2yOUqwksy8uqtLglJbxMqAD+ikk="; modelBlobHash = "sha256-lsQVZW03evv/li9s2yOUqwksy8uqtLglJbxMqAD+ikk=";
paramsBlob = "f4d24e9138dd4603380add165d2b0d970bef471fac194b436ebd50e6147c6588"; paramsBlob = "f4d24e9138dd4603380add165d2b0d970bef471fac194b436ebd50e6147c6588";

View File

@@ -2,7 +2,7 @@
fetchurl, fetchurl,
jq, jq,
lib, lib,
stdenv, stdenvNoCC,
}: }:
{ {
modelName, modelName,
@@ -18,29 +18,32 @@
systemBlob ? "", systemBlob ? "",
systemBlobHash ? "", systemBlobHash ? "",
}: }:
stdenv.mkDerivation { let
name = modelName; longModelName = "${modelName}-${variant}";
in
stdenvNoCC.mkDerivation {
name = longModelName;
srcs = [ srcs = [
(fetchurl { (fetchurl {
name = "manifest"; name = "${longModelName}/manifest";
url = "https://registry.ollama.ai/v2/${owner}/${modelName}/manifests/${variant}"; url = "https://registry.ollama.ai/v2/${owner}/${modelName}/manifests/${variant}";
hash = manifestHash; hash = manifestHash;
}) })
] ++ lib.optionals (modelBlob != "") [ ] ++ lib.optionals (modelBlob != "") [
(fetchurl { (fetchurl {
name = "model-blob"; name = "${longModelName}/model-blob";
url = "https://registry.ollama.ai/v2/llama/${modelName}:${variant}/blobs/sha256-${modelBlob}"; url = "https://registry.ollama.ai/v2/llama/${modelName}:${variant}/blobs/sha256-${modelBlob}";
hash = modelBlobHash; hash = modelBlobHash;
}) })
] ++ lib.optionals (paramsBlob != "") [ ] ++ lib.optionals (paramsBlob != "") [
(fetchurl { (fetchurl {
name = "params-blob"; name = "${longModelName}/params-blob";
url = "https://registry.ollama.ai/v2/llama/${modelName}:${variant}/blobs/sha256-${paramsBlob}"; url = "https://registry.ollama.ai/v2/llama/${modelName}:${variant}/blobs/sha256-${paramsBlob}";
hash = paramsBlobHash; hash = paramsBlobHash;
}) })
] ++ lib.optionals (systemBlob != "") [ ] ++ lib.optionals (systemBlob != "") [
(fetchurl { (fetchurl {
name = "system-blob"; name = "${longModelName}/system-blob";
url = "https://registry.ollama.ai/v2/llama/${modelName}:${variant}/blobs/sha256-${systemBlob}"; url = "https://registry.ollama.ai/v2/llama/${modelName}:${variant}/blobs/sha256-${systemBlob}";
hash = systemBlobHash; hash = systemBlobHash;
}) })
@@ -53,8 +56,13 @@ stdenv.mkDerivation {
unpackPhase = '' unpackPhase = ''
runHook preUnpack runHook preUnpack
# unpack all the name-hashed sources to have names more easy to work with:
# - manifest
# - model-blob
# - ...
for _src in $srcs; do for _src in $srcs; do
_srcName=$(stripHash "$_src") _longSrcName=$(stripHash "$_src")
_srcName="''${_longSrcName/${longModelName}-/}"
ln -s "$_src" "$_srcName" ln -s "$_src" "$_srcName"
done done

View File

@@ -6,11 +6,11 @@
gzip, gzip,
lib, lib,
nix-update-script, nix-update-script,
stdenv, stdenvNoCC,
writeShellApplication, writeShellApplication,
}: }:
stdenv.mkDerivation { stdenvNoCC.mkDerivation {
pname = "opencellid"; pname = "opencellid";
version = "0-unstable-2025-06-04"; version = "0-unstable-2025-06-04";

View File

@@ -4,10 +4,10 @@
libpulseaudio, libpulseaudio,
pulseaudio, pulseaudio,
python3, python3,
stdenv, stdenvNoCC,
}: }:
stdenv.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation (finalAttrs: {
pname = "pa-dlna"; pname = "pa-dlna";
version = "0.7"; version = "0.7";
format = "pyproject"; format = "pyproject";
@@ -15,7 +15,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "xdegaye"; owner = "xdegaye";
repo = "pa-dlna"; repo = "pa-dlna";
rev = "v${finalAttrs.version}"; rev = "${finalAttrs.version}";
hash = "sha256-tc3AjxTMeLH82d8R95xsqLeAH1t/orW7c9DGjBwDWaU="; hash = "sha256-tc3AjxTMeLH82d8R95xsqLeAH1t/orW7c9DGjBwDWaU=";
}; };

View File

@@ -2,10 +2,10 @@
fetchFromGitLab, fetchFromGitLab,
gnused, gnused,
lib, lib,
stdenv, stdenvNoCC,
withVoiceCall ? false, #< enable the "Voice Call" audio variants, which frequently don't work and idk what they're *supposed* to do withVoiceCall ? false, #< enable the "Voice Call" audio variants, which frequently don't work and idk what they're *supposed* to do
}: }:
stdenv.mkDerivation { stdenvNoCC.mkDerivation {
pname = "pine64-alsa-ucm"; pname = "pine64-alsa-ucm";
version = "unstable-2021-12-10"; version = "unstable-2021-12-10";

View File

@@ -7,11 +7,11 @@
lib, lib,
nix-update-script, nix-update-script,
sqlite, sqlite,
stdenv, stdenvNoCC,
writeShellApplication, writeShellApplication,
}: }:
stdenv.mkDerivation { stdenvNoCC.mkDerivation {
pname = "podcastindex-db"; pname = "podcastindex-db";
version = "0-unstable-2025-06-02"; version = "0-unstable-2025-06-02";

View File

@@ -4,10 +4,10 @@
pyln-bolt7, pyln-bolt7,
pyln-proto, pyln-proto,
python3, python3,
stdenv, stdenvNoCC,
unzip, unzip,
}: }:
stdenv.mkDerivation { stdenvNoCC.mkDerivation {
pname = "pyln-client"; pname = "pyln-client";
format = "pyproject"; format = "pyproject";
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
unzip # used by `unpackPhase` unzip # used by `unpackPhase`
]; ];
propagatedBuildInputs = with python3.pkgs; [ propagatedBuildInputs = [
pyln-bolt7 pyln-bolt7
pyln-proto pyln-proto
]; ];

View File

@@ -2,11 +2,11 @@
{ {
clightning, clightning,
python3, python3,
stdenv, stdenvNoCC,
unzip, unzip,
}: }:
stdenv.mkDerivation { stdenvNoCC.mkDerivation {
pname = "pyln-proto"; pname = "pyln-proto";
format = "pyproject"; format = "pyproject";

View File

@@ -3,10 +3,11 @@
# - <https://github.com/NixOS/nixos-artwork/issues/50> (colorful; unmerged) # - <https://github.com/NixOS/nixos-artwork/issues/50> (colorful; unmerged)
# - <https://github.com/NixOS/nixos-artwork/pull/60/files> (desktop-oriented; clean; unmerged) # - <https://github.com/NixOS/nixos-artwork/pull/60/files> (desktop-oriented; clean; unmerged)
# - <https://itsfoss.com/content/images/2023/04/nixos-tutorials.png> # - <https://itsfoss.com/content/images/2023/04/nixos-tutorials.png>
{ stdenv {
, inkscape stdenvNoCC,
inkscape,
}: }:
stdenv.mkDerivation { stdenvNoCC.mkDerivation {
pname = "sane-backgrounds"; pname = "sane-backgrounds";
version = "0.3"; version = "0.3";

View File

@@ -1,14 +1,13 @@
{ stdenv ? null }: { stdenvNoCC ? null }:
with builtins;
let let
src = filterSource src = builtins.filterSource
(path: type: (path: type:
let name = baseNameOf path; let name = builtins.baseNameOf path;
in !( in !(
# mimic .gitignore # mimic .gitignore
(name == ".working") (name == ".working")
|| (name == "result") || (name == "result")
|| (match "^result-.*" name != null) || (builtins.match "^result-.*" name != null)
)) ))
../../../. ../../../.
; ;
@@ -20,7 +19,7 @@ let
# so just yield something importable. # so just yield something importable.
outPath = src; outPath = src;
}; };
realDeriv = stdenv.mkDerivation { realDeriv = stdenvNoCC.mkDerivation {
name = "sane-nix-files"; name = "sane-nix-files";
inherit src; inherit src;
installPhase = '' installPhase = ''
@@ -48,7 +47,7 @@ let
# ]; # ];
# }; # };
in in
if stdenv == null then if stdenvNoCC == null then
fakeDeriv fakeDeriv
else else
realDeriv realDeriv

View File

@@ -2,7 +2,7 @@
lib, lib,
python3, python3,
static-nix-shell, static-nix-shell,
stdenv, stdenvNoCC,
symlinkJoin, symlinkJoin,
transmission_4, transmission_4,
}: }:
@@ -11,7 +11,7 @@ let
sane-lib = { sane-lib = {
# TODO: we could simplify the lib/ folder structure # TODO: we could simplify the lib/ folder structure
# by auto-generating the setup.py files in `postPatch`, below # by auto-generating the setup.py files in `postPatch`, below
bt = stdenv.mkDerivation { bt = stdenvNoCC.mkDerivation {
pname = "sane-lib-bt"; pname = "sane-lib-bt";
version = "0.1.0"; version = "0.1.0";
src = ./src/lib/bt; src = ./src/lib/bt;
@@ -32,7 +32,7 @@ let
doCheck = true; doCheck = true;
strictDeps = true; strictDeps = true;
}; };
ssdp = stdenv.mkDerivation { ssdp = stdenvNoCC.mkDerivation {
pname = "sane-lib-ssdp"; pname = "sane-lib-ssdp";
version = "0.1.0"; version = "0.1.0";
src = ./src/lib/ssdp; src = ./src/lib/ssdp;

View File

@@ -5,7 +5,7 @@
makeBinaryWrapper, makeBinaryWrapper,
oils-for-unix, oils-for-unix,
python3, python3,
stdenv, stdenvNoCC,
zsh, zsh,
}: }:
@@ -77,7 +77,7 @@ in rec {
# -p python3.pkgs.foo.propagatedBuildInputs # -p python3.pkgs.foo.propagatedBuildInputs
pkgsEnv' = lib.flatten pkgsEnv; pkgsEnv' = lib.flatten pkgsEnv;
in in
stdenv.mkDerivation (final: { stdenvNoCC.mkDerivation ({
version = "0.1.0"; # default version version = "0.1.0"; # default version
preferLocalBuild = true; preferLocalBuild = true;

View File

@@ -4,12 +4,12 @@
linkIntoOwnPackage, linkIntoOwnPackage,
rmDbusServicesInPlace, rmDbusServicesInPlace,
runCommandLocalOverridable, runCommandLocalOverridable,
stdenv, stdenvNoCC,
symlinkJoin, symlinkJoin,
}: }:
{ {
# like `runCommandLocal`, but can be `.overrideAttrs` and supports standard phases/hooks like `postBuild`, etc. # like `runCommandLocal`, but can be `.overrideAttrs` and supports standard phases/hooks like `postBuild`, etc.
runCommandLocalOverridable = name: env: buildPhase: stdenv.mkDerivation { runCommandLocalOverridable = name: env: buildPhase: stdenvNoCC.mkDerivation {
inherit name; inherit name;
preferLocalBuild = true; preferLocalBuild = true;
dontUnpack = true; dontUnpack = true;

View File

@@ -1,9 +1,10 @@
{ stdenv {
, lib stdenvNoCC,
, fetchFromGitHub lib,
, nix-update-script fetchFromGitHub,
nix-update-script,
}: }:
stdenv.mkDerivation { stdenvNoCC.mkDerivation {
pname = "uassets"; pname = "uassets";
version = "0-unstable-2025-06-04"; version = "0-unstable-2025-06-04";
src = fetchFromGitHub { src = fetchFromGitHub {

View File

@@ -4,7 +4,7 @@
{ {
directoryListingUpdater, directoryListingUpdater,
fetchurl, fetchurl,
stdenv, stdenvNoCC,
}: }:
{ {
pname, pname,
@@ -16,7 +16,7 @@ let
tail = "${pname}_${version}.zim"; tail = "${pname}_${version}.zim";
prefix = if owner != null then "${owner}/" else ""; prefix = if owner != null then "${owner}/" else "";
in in
stdenv.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation (finalAttrs: {
inherit pname version; inherit pname version;
src = fetchurl { src = fetchurl {