diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 2335919d3d80..68864c937986 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -836,12 +836,30 @@ let nativeBuildInputs = [ buildPackages.perl buildPackages.perlPackages.XMLSimple + buildPackages.zstd ]; inherit archs; } '' ${lib.concatImapStrings (i: pl: '' - gunzip < ${pl} > ./packages_${toString i}.xml + echo "decompressing ${pl}..." + case ${pl} in + *.zst) + zstd -d < ${pl} > ./packages_${toString i}.xml + ;; + *.xz | *.lzma) + xz -d < ${pl} > ./packages_${toString i}.xml + ;; + *.bz2) + bunzip2 < ${pl} > ./packages_${toString i}.xml + ;; + *.gz) + gunzip < ${pl} > ./packages_${toString i}.xml + ;; + *) + cp ${pl} ./packages_${toString i}.xml + ;; + esac '') packagesLists} perl -w ${rpm/rpm-closure.pl} \ ${ @@ -999,7 +1017,23 @@ let # The set of supported RPM-based distributions. - rpmDistros = { }; + rpmDistros = { + fedora42x86_64 = { + name = "fedora-42-x86_64"; + fullName = "Fedora 42 (x86_64)"; + packagesList = fetchurl { + url = "https://dl.fedoraproject.org/pub/fedora/linux/releases/42/Everything/x86_64/os/repodata/cd483b35df017d68b73a878a392bbf666a43d75db54c386e4720bc369eb5c3a3-primary.xml.zst"; + hash = "sha256-zUg7Nd8BfWi3OoeKOSu/ZmpD1121TDhuRyC8Np61w6M="; + }; + urlPrefix = "https://dl.fedoraproject.org/pub/fedora/linux/releases/42/Everything/x86_64/os"; + archs = [ + "noarch" + "x86_64" + ]; + packages = commonFedoraPackages; + unifiedSystemDir = true; + }; + }; # The set of supported Dpkg-based distributions. @@ -1207,6 +1241,7 @@ let # Common packages for Fedora images. commonFedoraPackages = [ + "annobin-plugin-gcc" "autoconf" "automake" "basesystem" @@ -1217,6 +1252,8 @@ let "findutils" "gawk" "gcc-c++" + "gcc-plugin-annobin" + "glibc-gconv-extra" "gzip" "make" "patch" diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index b99d4e5e7221..c312e3df1bbe 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -29,6 +29,15 @@ in buildHelloInVM = runInLinuxVM hello; buildStructuredAttrsHelloInVM = runInLinuxVM (hello.overrideAttrs { __structuredAttrs = true; }); + buildHelloInFedora = runInLinuxImage ( + stdenv.mkDerivation { + inherit (hello) pname version src; + + diskImage = diskImages.fedora42x86_64; + diskImageFormat = "qcow2"; + memSize = 512; + } + ); buildPcmanrmInVM = runInLinuxVM ( pcmanfm.overrideAttrs (old: { @@ -37,15 +46,6 @@ in }) ); - #testRPMImage = makeImageTestScript diskImages.fedora27x86_64; - - #buildPatchelfRPM = buildRPM { - # name = "patchelf-rpm"; - # src = patchelf.src; - # diskImage = diskImages.fedora27x86_64; - # diskImageFormat = "qcow2"; - #}; - + testFedoraImage = makeImageTestScript diskImages.fedora42x86_64; testUbuntuImage = makeImageTestScript diskImages.ubuntu2404x86_64; - }