Compare commits

...

4 Commits

Author SHA1 Message Date
piegames
3e3f3c7f99 [release-25.05] treewide: fix rec-set-dynamic-attrs (#480803) 2026-01-17 12:38:35 +01:00
Justin !
81f6acaab3 treewide: fix rec-set-dynamic-attrs
This is a backport of `#479126`.

Not-cherry-picked-because: there was more packages to fix then in 25.11 and master.

> Lix will soon warn, and in the future, error on `rec-set-dynamic-attrs`.
> This commit fix where attrs are dynamically set in a recursive function
> currently present in nixpkgs.
2026-01-16 17:21:45 -05:00
Silvan Mosberger
ac62194c39 [Backport release-25.05] treewide: fix or-as-identifier (#475901) 2026-01-02 00:18:56 +00:00
Justin !
272930fec6 treewide: fix or-as-identifier
Lix will soon warn, and in the future, error when `or` is used as an
identifier. This commit fix those cases.

(cherry picked from commit 511bf56650)
2026-01-01 13:35:53 +00:00
10 changed files with 51 additions and 43 deletions

View File

@@ -119,7 +119,7 @@ let
const
pipe
concat
or
"or"
and
xor
bitAnd

View File

@@ -436,7 +436,7 @@ rec {
else if all isAttrs list then
foldl' lib.mergeAttrs { } list
else if all isBool list then
foldl' lib.or false list
foldl' lib."or" false list
else if all isString list then
lib.concatStrings list
else if all isInt list && all (x: x == head list) list then

View File

@@ -180,7 +180,7 @@ in
: 2\. Function argument
*/
or = x: y: x || y;
"or" = x: y: x || y;
/**
boolean “and”

View File

@@ -142,15 +142,13 @@ stdenv.mkDerivation rec {
dontUnpack = true;
${primaryBinary} = binaryPackage;
nativeBuildInputs = [
makeWrapper
];
installPhase = ''
mkdir -p "$out/bin"
makeWrapper "''$${primaryBinary}/${primaryBinary}" "$out/bin/${primaryBinary}"
makeWrapper "${binaryPackage}/${primaryBinary}" "$out/bin/${primaryBinary}"
''
+ builtins.concatStringsSep "" (
map (binaryAlias: "ln -s $out/bin/${primaryBinary} $out/bin/${binaryAlias}\n") primaryBinaryAliases
@@ -159,18 +157,20 @@ stdenv.mkDerivation rec {
mkdir -p "$out/share/applications"
substitute \
"''$${primaryBinary}/${primaryBinary}.desktop" \
"${binaryPackage}/${primaryBinary}.desktop" \
"$out/share/applications/${primaryBinary}.desktop" \
--replace-fail "/opt/${primaryBinary}/${primaryBinary}" "${primaryBinary}"
for directory in ''$${primaryBinary}/Icon/*; do
for directory in ${binaryPackage}/Icon/*; do
size=$(basename $directory)
mkdir -p "$out/share/icons/hicolor/$size/apps"
ln -s ''$${primaryBinary}/Icon/$size/* $out/share/icons/hicolor/$size/apps
ln -s ${binaryPackage}/Icon/$size/* $out/share/icons/hicolor/$size/apps
done
'';
passthru = {
unwrapped = binaryPackage;
updateScript =
let
script = writeShellScript "${packageAttribute}-update-script" ''
@@ -191,7 +191,7 @@ stdenv.mkDerivation rec {
fi
for platform in ${lib.escapeShellArgs meta.platforms}; do
update-source-version "${packageAttribute}.${primaryBinary}" "$latestVersion" --ignore-same-version --file="$versionFile" --version-key=buildVersion --source-key="sources.$platform"
update-source-version "${packageAttribute}".unwrapped "$latestVersion" --ignore-same-version --file="$versionFile" --version-key=buildVersion --source-key="sources.$platform"
done
'';
in

View File

@@ -144,8 +144,6 @@ stdenv.mkDerivation rec {
dontUnpack = true;
${primaryBinary} = binaryPackage;
nativeBuildInputs = [
makeWrapper
];
@@ -153,7 +151,7 @@ stdenv.mkDerivation rec {
installPhase = ''
runHook preInstall
mkdir -p "$out/bin"
makeWrapper "''$${primaryBinary}/${primaryBinary}" "$out/bin/${primaryBinary}"
makeWrapper "${binaryPackage}/${primaryBinary}" "$out/bin/${primaryBinary}"
''
+ builtins.concatStringsSep "" (
map (binaryAlias: "ln -s $out/bin/${primaryBinary} $out/bin/${binaryAlias}\n") primaryBinaryAliases
@@ -162,19 +160,21 @@ stdenv.mkDerivation rec {
mkdir -p "$out/share/applications"
substitute \
"''$${primaryBinary}/${primaryBinary}.desktop" \
"${binaryPackage}/${primaryBinary}.desktop" \
"$out/share/applications/${primaryBinary}.desktop" \
--replace-fail "/opt/${primaryBinary}/${primaryBinary}" "${primaryBinary}"
for directory in ''$${primaryBinary}/Icon/*; do
for directory in ${binaryPackage}/Icon/*; do
size=$(basename $directory)
mkdir -p "$out/share/icons/hicolor/$size/apps"
ln -s ''$${primaryBinary}/Icon/$size/* $out/share/icons/hicolor/$size/apps
ln -s ${binaryPackage}/Icon/$size/* $out/share/icons/hicolor/$size/apps
done
runHook postInstall
'';
passthru = {
unwrapped = binaryPackage;
updateScript =
let
script = writeShellScript "${packageAttribute}-update-script" ''
@@ -196,7 +196,7 @@ stdenv.mkDerivation rec {
fi
for platform in ${lib.escapeShellArgs meta.platforms}; do
update-source-version "${packageAttribute}.${primaryBinary}" "$latestVersion" --ignore-same-version --file="$versionFile" --version-key=buildVersion --source-key="sources.$platform"
update-source-version "${packageAttribute}".unwrapped "$latestVersion" --ignore-same-version --file="$versionFile" --version-key=buildVersion --source-key="sources.$platform"
done
'';
in

View File

@@ -98,11 +98,9 @@ stdenvNoCC.mkDerivation {
ln -s ${lib.getExe fstarOldZ3} $out/bin/z3-${lib.escapeShellArg fstarOldZ3.version}
'';
passthru = rec {
new = fstarNewZ3;
"z3_${lib.replaceStrings [ "." ] [ "_" ] fstarNewZ3.version}" = new;
passthru = {
"z3_${lib.replaceStrings [ "." ] [ "_" ] fstarNewZ3.version}" = fstarNewZ3;
old = fstarOldZ3;
"z3_${lib.replaceStrings [ "." ] [ "_" ] fstarOldZ3.version}" = old;
"z3_${lib.replaceStrings [ "." ] [ "_" ] fstarOldZ3.version}" = fstarOldZ3;
};
}

View File

@@ -49,19 +49,19 @@ let
];
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
version = "25.0.0";
# executables don't adhere to the string gnatcoll-* scheme
pname =
if onlyExecutable then
builtins.replaceStrings [ "_" ] [ "-" ] component
else
"gnatcoll-${component}";
version = "25.0.0";
src = fetchFromGitHub {
owner = "AdaCore";
repo = "gnatcoll-db";
rev = "v${version}";
rev = "v${finalAttrs.version}";
sha256 = "0q35ii0aa4hh59v768l5cilg1b30a4ckcvlbfy0lkcbp3rcfnbz3";
};
@@ -108,4 +108,4 @@ stdenv.mkDerivation rec {
maintainers = [ maintainers.sternenseemann ];
platforms = platforms.all;
};
}
})

View File

@@ -32,6 +32,9 @@ let
)
);
inherit (vmr) targetRid releaseManifest;
sdkVersion = releaseManifest.sdkVersion;
runtimeVersion = releaseManifest.runtimeVersion;
aspnetcoreVersion = releaseManifest.aspNetCoreVersion or releaseManifest.runtimeVersion;
# TODO: do this properly
hostRid = targetRid;
@@ -114,9 +117,9 @@ let
];
};
sdk = mkCommon "sdk" rec {
sdk = mkCommon "sdk" {
pname = "${baseName}-sdk";
version = releaseManifest.sdkVersion;
version = sdkVersion;
src = vmr;
dontUnpack = true;
@@ -136,7 +139,7 @@ let
runHook preInstall
mkdir -p "$out"/share
cp -r "$src"/dotnet-sdk-${version}-${targetRid} "$out"/share/dotnet
cp -r "$src"/lib/dotnet-sdk-${sdkVersion}-${targetRid} "$out"/share/dotnet
chmod +w "$out"/share/dotnet
mkdir "$out"/bin
ln -s "$out"/share/dotnet/dotnet "$out"/bin/dotnet
@@ -158,10 +161,16 @@ let
runHook postInstall
'';
${if stdenvNoCC.isDarwin && lib.versionAtLeast version "10" then "postInstall" else null} = ''
mkdir -p "$out"/nix-support
cp "$src"/nix-support/manual-sdk-deps "$out"/nix-support/manual-sdk-deps
'';
${
if stdenvNoCC.hostPlatform.isDarwin && lib.versionAtLeast sdkVersion "10" then
"postInstall"
else
null
} =
''
mkdir -p "$out"/nix-support
cp "$src"/nix-support/manual-sdk-deps "$out"/nix-support/manual-sdk-deps
'';
passthru = {
inherit (vmr) icu targetRid hasILCompiler;
@@ -179,9 +188,9 @@ let
};
};
runtime = mkCommon "runtime" rec {
runtime = mkCommon "runtime" {
pname = "${baseName}-runtime";
version = releaseManifest.runtimeVersion;
version = runtimeVersion;
src = vmr;
dontUnpack = true;
@@ -190,7 +199,7 @@ let
runHook preInstall
mkdir -p "$out"/share
cp -r "$src/dotnet-runtime-${version}-${targetRid}" "$out"/share/dotnet
cp -r "$src/lib/dotnet-runtime-${runtimeVersion}-${targetRid}" "$out"/share/dotnet
chmod +w "$out"/share/dotnet
mkdir "$out"/bin
ln -s "$out"/share/dotnet/dotnet "$out"/bin/dotnet
@@ -207,9 +216,9 @@ let
};
};
aspnetcore = mkCommon "aspnetcore" rec {
aspnetcore = mkCommon "aspnetcore" {
pname = "${baseName}-aspnetcore-runtime";
version = releaseManifest.aspNetCoreVersion or releaseManifest.runtimeVersion;
version = aspnetcoreVersion;
src = vmr;
dontUnpack = true;
@@ -223,7 +232,7 @@ let
mkdir "$out"/bin
ln -s "$out"/share/dotnet/dotnet "$out"/bin/dotnet
cp -Tr "$src/aspnetcore-runtime-${version}-${targetRid}"/shared/Microsoft.AspNetCore.App "$out"/share/dotnet/shared/Microsoft.AspNetCore.App
cp -Tr "$src/lib/aspnetcore-runtime-${aspnetcoreVersion}-${targetRid}"/shared/Microsoft.AspNetCore.App "$out"/share/dotnet/shared/Microsoft.AspNetCore.App
chmod +w "$out"/share/dotnet/shared
runHook postInstall

View File

@@ -59,10 +59,11 @@ let
_icu = if isDarwin then darwin.ICU else icu;
in
stdenv.mkDerivation rec {
pname = "${baseName}-vmr";
version = release;
in
stdenv.mkDerivation {
pname = "${baseName}-vmr";
inherit version;
# TODO: fix this in the binary sdk packages
preHook = lib.optionalString stdenv.hostPlatform.isDarwin ''

View File

@@ -103,7 +103,7 @@ stdenv.mkDerivation rec {
# Cannot patchelf beforehand due to relative RPATHs that anticipate
# the final install location/
${libEnvVar} = libPath;
env.${libEnvVar} = libPath;
postUnpack =
# GHC has dtrace probes, which causes ld to try to open /usr/lib/libdtrace.dylib