diff options
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux')
41 files changed, 1652 insertions, 446 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/default.nix b/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/default.nix index 241145a24843..96339c1d164f 100644 --- a/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/default.nix @@ -27,7 +27,7 @@ let "i386-linux-gnu" else if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64-linux-gnu" - else throw "amdgpu-pro is Linux only. Sorry."; + else throw "amdgpu-pro is Linux only. Sorry ${stdenv.hostPlatform.system}."; in stdenv.mkDerivation rec { diff --git a/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix b/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix index 07cdbf6bdce7..b5f879c1bd31 100644 --- a/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "android-udev-rules"; - version = "20231030"; + version = "20231124"; src = fetchFromGitHub { owner = "M0Rf30"; repo = "android-udev-rules"; rev = version; - sha256 = "sha256-+h0FwvfIoluhldOi6cgVDvmNWe1Lvj1SV3pL8Zh+gRM="; + hash = "sha256-pDAAC8RibPtkhVVz5WPj/eUjz0A+8bZt/pjzG8zpaE4="; }; installPhase = '' diff --git a/nixpkgs/pkgs/os-specific/linux/below/default.nix b/nixpkgs/pkgs/os-specific/linux/below/default.nix index 0a91fd585906..3204bd7dcf27 100644 --- a/nixpkgs/pkgs/os-specific/linux/below/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/below/default.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage rec { pname = "below"; - version = "0.6.3"; + version = "0.7.1"; src = fetchFromGitHub { owner = "facebookincubator"; repo = "below"; rev = "v${version}"; - sha256 = "sha256-d5a/M2XEw2E2iydopzedqZ/XfQU7KQyTC5NrPTeeNLg="; + sha256 = "sha256-2mZBpvLPY6yrEAvB1YlFuaXJlmmNuZqhu3xWADNHbx0="; }; - cargoSha256 = "sha256-EoRCmEe9SAySZCm+QhaR4ngik4Arnm4SZjgDM5fSRmk="; + cargoHash = "sha256-cTNxWCd4YH5VuZh0GRfBNtHmLqCQ75uyHqROkv1jbRA="; prePatch = ''sed -i "s,ExecStart=.*/bin,ExecStart=$out/bin," etc/below.service''; postInstall = '' diff --git a/nixpkgs/pkgs/os-specific/linux/cfs-zen-tweaks/default.nix b/nixpkgs/pkgs/os-specific/linux/cfs-zen-tweaks/default.nix index ef5dfe8e2e06..d7a06ed6e737 100644 --- a/nixpkgs/pkgs/os-specific/linux/cfs-zen-tweaks/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/cfs-zen-tweaks/default.nix @@ -8,22 +8,22 @@ stdenv.mkDerivation rec { pname = "cfs-zen-tweaks"; - version = "1.2.0"; + version = "1.3.0"; src = fetchFromGitHub { owner = "igo95862"; repo = "cfs-zen-tweaks"; rev = version; - sha256 = "HRR2tdjNmWyrpbcMlihSdb/7g/tHma3YyXogQpRCVyo="; + hash = "sha256-E3sNWWXm0NEqLCzFccd/nfYby+/b/MVjIHeGlDxV1W4="; }; preConfigure = '' - substituteInPlace set-cfs-zen-tweaks.bash \ + substituteInPlace set-cfs-zen-tweaks.sh \ --replace '$(gawk' '$(${gawk}/bin/gawk' ''; preFixup = '' - chmod +x $out/lib/cfs-zen-tweaks/set-cfs-zen-tweaks.bash + chmod +x $out/lib/cfs-zen-tweaks/set-cfs-zen-tweaks.sh ''; nativeBuildInputs = [ cmake ]; diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix index f4914d843272..c77c01df8508 100644 --- a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix @@ -19,7 +19,6 @@ , curl , libjcat , elfutils -, efivar , valgrind , meson , libuuid @@ -123,7 +122,7 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "fwupd"; - version = "1.9.7"; + version = "1.9.9"; # libfwupd goes to lib # daemon, plug-ins and libfwupdplugin go to out @@ -134,7 +133,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "fwupd"; repo = "fwupd"; rev = finalAttrs.version; - hash = "sha256-NhVCIjkwoTZptctIrkU9HgXzjr+KCUZfEKcjoYgAEdM="; + hash = "sha256-UUrG3CMCAC5hyy2U5I4zqvJoSP/+zuiq1P+2Pdb3QD0="; }; patches = [ @@ -193,7 +192,6 @@ stdenv.mkDerivation (finalAttrs: { bash-completion pango tpm2-tss - efivar fwupd-efi protobufc modemmanager @@ -207,7 +205,6 @@ stdenv.mkDerivation (finalAttrs: { mesonFlags = [ "-Ddocs=enabled" - "-Dplugin_dummy=true" # We are building the official releases. "-Dsupported_build=enabled" "-Dlaunchd=disabled" diff --git a/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix b/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix index e4b41f3a0c82..37fe57f526a7 100644 --- a/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix @@ -62,6 +62,8 @@ stdenv.mkDerivation rec { # Misc CONFIG_RADIUS_SERVER=y + CONFIG_MACSEC=y + CONFIG_DRIVER_MACSEC_LINUX=y CONFIG_FULL_DYNAMIC_VLAN=y CONFIG_VLAN_NETLINK=y CONFIG_GETRANDOM=y diff --git a/nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/default.nix b/nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/default.nix index dacfb76eb9af..0deb493a49b7 100644 --- a/nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "intel-compute-runtime"; - version = "23.30.26918.20"; + version = "23.35.27191.9"; src = fetchFromGitHub { owner = "intel"; repo = "compute-runtime"; rev = version; - hash = "sha256-dEznHRgAcJa/BBTD/AWJHlA7fNj2IXHHrYcKM4M+/1o="; + hash = "sha256-yyuP9erK3bQ5oegLXPM+of6x7fslUXHPlX2q71lnGWA="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix b/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix index df1977150136..d73a74ee7eff 100644 --- a/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "irqbalance"; - version = "1.9.2"; + version = "1.9.3"; src = fetchFromGitHub { owner = "irqbalance"; repo = "irqbalance"; rev = "v${version}"; - sha256 = "sha256-dk5gdDCXNELTlbZ34gUOVwPHvXF3N07v/ZqeNVfGTGw="; + sha256 = "sha256-0e7dV6gncSlAUfkyX7F0FSYJjlvdi/ol7YC2T5afl+Q="; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/README.md b/nixpkgs/pkgs/os-specific/linux/kernel/README.md new file mode 100644 index 000000000000..92d5308e1c05 --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/kernel/README.md @@ -0,0 +1,33 @@ +# How to add a new (major) version of the Linux kernel to Nixpkgs: + +1. Copy the old Nix expression (e.g., `linux-2.6.21.nix`) to the new one (e.g., `linux-2.6.22.nix`) and update it. + +2. Add the new kernel to the `kernels` attribute set in [`linux-kernels.nix`](./linux-kernels.nix) (e.g., create an attribute `kernel_2_6_22`). + +3. Update the kernel configuration. First unpack the kernel. Then for each supported platform (`i686`, `x86_64`, `uml`) do the following: + + 1. Make a copy from the old config (e.g., `config-2.6.21-i686-smp`) to the new one (e.g., `config-2.6.22-i686-smp`). + + 2. Copy the config file for this platform (e.g., `config-2.6.22-i686-smp`) to `.config` in the kernel source tree. + + 3. Run `make oldconfig ARCH={i386,x86_64,um}` and answer all questions. (For the uml configuration, also add `SHELL=bash`.) Make sure to keep the configuration consistent between platforms (i.e., don’t enable some feature on `i686` and disable it on `x86_64`). + + 4. If needed, you can also run `make menuconfig`: + + ```ShellSession + $ nix-env -f "<nixpkgs>" -iA ncurses + $ export NIX_CFLAGS_LINK=-lncurses + $ make menuconfig ARCH=arch + ``` + + 5. Copy `.config` over the new config file (e.g., `config-2.6.22-i686-smp`). + +4. Test building the kernel: + +```ShellSession +nix-build -A linuxKernel.kernels.kernel_2_6_22 +``` + +If it compiles, ship it! For extra credit, try booting NixOS with it. + +5. It may be that the new kernel requires updating the external kernel modules and kernel-dependent packages listed in the `linuxPackagesFor` function in `linux-kernels.nix` (such as the NVIDIA drivers, AUFS, etc.). If the updated packages aren’t backwards compatible with older kernels, you may need to keep the older versions around. diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json b/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json index 94ab60aa67b9..25b28539bc39 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json @@ -1,38 +1,38 @@ { "testing": { - "version": "6.7-rc1", - "hash": "sha256:1a071vvmm08sp48d0arqzcmqnz5xdb1vflfhxcqwmpzaabjrgadk" + "version": "6.7-rc3", + "hash": "sha256:1bi80271g76pcajzmzr0dxcmzzlzicqddm38mr7pkz8zi0070arf" }, "6.5": { - "version": "6.5.11", - "hash": "sha256:06dmb4hbwrms0lp4axphwgj8wbnzsym70sx55lxr501b53wlmqif" + "version": "6.5.13", + "hash": "sha256:1dfbbydmayfj9npx3z0g38p574pmcx3qgs49dv0npigl48wd9yvq" }, "6.1": { - "version": "6.1.62", - "hash": "sha256:1v453q4sf0j8708ivs1zmdf645hgimqvxfc8xz7czgnnmipn3zdr" + "version": "6.1.64", + "hash": "sha256:1ry7dp39010hfja1wial6r6q6ilgygwm7gdz22bg4rzaycwam7b2" }, "5.15": { - "version": "5.15.138", - "hash": "sha256:1ajaxy97gx0c9cdxiyxa49ykfsykir22i9abfrcizh71ci0yb15g" + "version": "5.15.140", + "hash": "sha256:0isa9si9wjn10lw41431wdqsbp9y685ch5lzhwswng3g6j5ywaxy" }, "5.10": { - "version": "5.10.200", - "hash": "sha256:012i41bj8rcqn0vhfxrwq3gg82nb6pp2cwq8n146wj47pwgrcbcx" + "version": "5.10.202", + "hash": "sha256:12zs2bz2plps6xp80sdg36zkyr00rf5l5c85jl4dd7b9klly04ij" }, "5.4": { - "version": "5.4.260", - "hash": "sha256:1zpbaipd2j3idj8h9iznlj0ywcq5nkhwj707a1f9ixf82h3q4c4q" + "version": "5.4.262", + "hash": "sha256:1p34x33gkvpv26zcrpx1i6dr7dknyxj8gnp6caqb8sj58h3slgkx" }, "4.19": { - "version": "4.19.298", - "hash": "sha256:0mhgq6hdcls1af7nj999x1mds5b37s7vwin8nsb4q0lnx2y1da4x" + "version": "4.19.300", + "hash": "sha256:0ilksl94gjpc4pzc90swfawsl8lvibpq14nkaxzl0831i219ahd8" }, "4.14": { - "version": "4.14.329", - "hash": "sha256:1dvb4xf0b7snabznl7bg7gga7ffdmywy8vr8q65pzl9yf6fnhdny" + "version": "4.14.331", + "hash": "sha256:03sk82dgvccv70i3hy8gf2hw0n4m305f7rxjw93p7jnjrbpdrp1r" }, "6.6": { - "version": "6.6.1", - "hash": "sha256:0d42b1hbvv9w3y3q4wydr6il0g5a823n54a06p4p5vcpgkadf7ns" + "version": "6.6.3", + "hash": "sha256:19wmjkyyv5glv1w647qisrv829hhhpba5x905a7p7kch9wyzrv98" } } diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix index 65ca352b53b8..ce26a38ed069 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix @@ -6,7 +6,7 @@ , ... } @ args: let - version = "5.10.199-rt97"; # updated by ./update-rt.sh + version = "5.10.201-rt98"; # updated by ./update-rt.sh branch = lib.versions.majorMinor version; kversion = builtins.elemAt (lib.splitString "-" version) 0; in buildLinux (args // { @@ -17,14 +17,14 @@ in buildLinux (args // { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; - sha256 = "1h944syk7n6c4j1djlx19n77alzwbxcdza77c9ykicgfynhpgsm0"; + sha256 = "0642y6qj2d4aww6jcki81ba53pvjyfazjxgzgj8brqx8ixchdz3a"; }; kernelPatches = let rt-patch = { name = "rt"; patch = fetchurl { url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; - sha256 = "13k7md0a63q4r5vqqvbszmg3kzp5np0hdaj1siyl4yvs9j78d03s"; + sha256 = "1g7xbjsfrgins3agz9sq9ia13h5k9605gak7s14z5i4vd34y8pk8"; }; }; in [ rt-patch ] ++ kernelPatches; diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix index c58c4e67e4d0..777f942c04e2 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix @@ -22,7 +22,7 @@ extraMeta = { homepage = "https://bcachefs.org/"; branch = "master"; - maintainers = with lib.maintainers; [ davidak Madouura pedrohlc raitobezarius YellowOnion ]; + maintainers = with lib.maintainers; [ davidak Madouura raitobezarius YellowOnion ]; }; } // argsOverride; diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix index 4f967734d5e0..97e5512e4452 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -6,14 +6,14 @@ let # NOTE: When updating these, please also take a look at the changes done to # kernel config in the xanmod version commit ltsVariant = { - version = "6.1.62"; - hash = "sha256-fo5OQ/MZ+QVdCmLzX0OgFUBedfqrkqp+Ev081RVdtWw="; + version = "6.1.63"; + hash = "sha256-WBMKJCLYexWJuTpli8vjvdms2ZYPXIS0yUxTgAL00io="; variant = "lts"; }; mainVariant = { - version = "6.5.11"; - hash = "sha256-1bb5LG6JvqX5eNSe2Xyu86HxaqkUVkKUf1H3T7bFkGE="; + version = "6.5.12"; + hash = "sha256-zG9+d+hKg0S0qCX2hOc02CowC6s9u82MB45+X1bGYpE="; variant = "main"; }; diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix b/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix index 456a6c7c27dd..e72df64c4a22 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -4,16 +4,16 @@ let # comments with variant added for update script # ./update-zen.py zen zenVariant = { - version = "6.6.1"; #zen + version = "6.6.3"; #zen suffix = "zen1"; #zen - sha256 = "13m820wggf6pkp351w06mdn2lfcwbn08ydwksyxilqb88vmr0lpq"; #zen + sha256 = "0hjn4qq8dppa0cn4rx7n98cxvzhkbn30hlm3bgcv97fwyvglsdwc"; #zen isLqx = false; }; # ./update-zen.py lqx lqxVariant = { - version = "6.5.11"; #lqx - suffix = "lqx2"; #lqx - sha256 = "0rak2ald95bwb5qlp8pf2g93a0gkv8rypiv5s8dpds3cilwmxrg9"; #lqx + version = "6.6.3"; #lqx + suffix = "lqx1"; #lqx + sha256 = "1mh2pngz589z1c4jqdx2slh1dsmjqq7f1yriz2yp50kkv8abff8z"; #lqx isLqx = true; }; zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // { diff --git a/nixpkgs/pkgs/os-specific/linux/ksmbd-tools/default.nix b/nixpkgs/pkgs/os-specific/linux/ksmbd-tools/default.nix index 4098f6c22258..edb9ce3fb8b7 100644 --- a/nixpkgs/pkgs/os-specific/linux/ksmbd-tools/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/ksmbd-tools/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "ksmbd-tools"; - version = "3.5.0"; + version = "3.5.1"; src = fetchFromGitHub { owner = "cifsd-team"; repo = pname; rev = version; - sha256 = "sha256-8mjfKCazigHnuN7Egf11ZuD+nQx7ZTesn0a4LsVvV/M="; + sha256 = "sha256-1Htky39oggDqPYSbF4it2UMIxuoLp0aK+IjGojPgaiU="; }; buildInputs = [ glib libnl ] ++ lib.optional withKerberos libkrb5; diff --git a/nixpkgs/pkgs/os-specific/linux/libcap/default.nix b/nixpkgs/pkgs/os-specific/linux/libcap/default.nix index 9b23625102ae..3fb3003d77aa 100644 --- a/nixpkgs/pkgs/os-specific/linux/libcap/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/libcap/default.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { "BUILD_CC=$(CC_FOR_BUILD)" "CC:=$(CC)" "CROSS_COMPILE=${stdenv.cc.targetPrefix}" - ] ++ lib.optional isStatic "SHARED=no"; + ] ++ lib.optionals isStatic [ "SHARED=no" "LIBCSTATIC=yes" ]; postPatch = '' patchShebangs ./progs/mkcapshdoc.sh diff --git a/nixpkgs/pkgs/os-specific/linux/libnl-tiny/default.nix b/nixpkgs/pkgs/os-specific/linux/libnl-tiny/default.nix index 2f5d1d0999a0..ec39b560826d 100644 --- a/nixpkgs/pkgs/os-specific/linux/libnl-tiny/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/libnl-tiny/default.nix @@ -23,6 +23,6 @@ stdenv.mkDerivation { homepage = "https://git.openwrt.org/?p=project/libnl-tiny.git;a=summary"; license = licenses.isc; maintainers = with maintainers; [ mkg20001 ]; - platforms = platforms.all; + platforms = platforms.linux; }; } diff --git a/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix b/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix index 695012effc5c..62db42e13aa0 100644 --- a/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix @@ -61,6 +61,8 @@ stdenv.mkDerivation rec { "LIBSEPOLA=${lib.getLib libsepol}/lib/libsepol.a" "ARCH=${stdenv.hostPlatform.linuxArch}" + ] ++ optionals (fts != null) [ + "FTS_LDLIBS=-lfts" ] ++ optionals stdenv.hostPlatform.isStatic [ "DISABLE_SHARED=y" ] ++ optionals enablePython [ diff --git a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/default.nix b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/default.nix index a246b587dd4f..d344b85a4d64 100644 --- a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/default.nix @@ -163,7 +163,7 @@ lib.makeScope ln-boot = callPackage ./ln-boot { }; - mes = lib.recurseIntoAttrs (callPackage ./mes { }); + mes = callPackage ./mes { }; mes-libc = callPackage ./mes/libc.nix { }; musl11 = callPackage ./musl/1.1.nix { diff --git a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/default.nix b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/default.nix index 0cf66c5bc230..03ce9300f316 100644 --- a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/default.nix @@ -2,22 +2,21 @@ , fetchurl , callPackage , kaem -, m2libc , mescc-tools }: # Maintenance note: # Build steps have been adapted from build-aux/bootstrap.sh.in # as well as the live-bootstrap project -# https://github.com/fosslinux/live-bootstrap/blob/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/mes-0.24.2/mes-0.24.2.kaem +# https://github.com/fosslinux/live-bootstrap/blob/737bf61a26152fb82510a2797f0d712de918aa78/sysa/mes-0.25/mes-0.25.kaem let pname = "mes"; - version = "0.24.2"; + version = "0.25"; src = fetchurl { url = "mirror://gnu/mes/mes-${version}.tar.gz"; - sha256 = "0vp8v88zszh1imm3dvdfi3m8cywshdj7xcrsq4cgmss69s2y1nkx"; + hash = "sha256-MlJQs1Z+2SA7pwFhyDWvAQeec+vtl7S1u3fKUAuCiUA="; }; nyacc = callPackage ./nyacc.nix { inherit nyacc; }; @@ -68,11 +67,6 @@ let cp mes/module/srfi/srfi-9-struct.mes mes/module/srfi/srfi-9.mes cp mes/module/srfi/srfi-9/gnu-struct.mes mes/module/srfi/srfi-9/gnu.mes - # Fixes to support newer M2-Planet - catm x86_defs.M1 ${m2libc}/x86/x86_defs.M1 lib/m2/x86/x86_defs.M1 - cp x86_defs.M1 lib/m2/x86/x86_defs.M1 - rm x86_defs.M1 - # Remove environment impurities __GUILE_LOAD_PATH="\"''${MES_PREFIX}/mes/module:''${MES_PREFIX}/module:${nyacc.guilePath}\"" boot0_scm=mes/module/mes/boot-0.scm @@ -109,9 +103,7 @@ let cp ''${mescc_in} ''${bin}/bin/mescc.scm # Build mes-m2 - mes_cpu=x86 - stage0_cpu=x86 - kaem --verbose --strict --file kaem.run + kaem --verbose --strict --file kaem.x86 cp bin/mes-m2 ''${bin}/bin/mes-m2 chmod 555 ''${bin}/bin/mes-m2 ''; @@ -232,6 +224,6 @@ let ${lib.concatMapStringsSep " " (getRes ".o") (map compile mes_SOURCES)} ''; in { - inherit srcPost srcPrefix nyacc; + inherit src srcPost srcPrefix nyacc; inherit compiler libs; } diff --git a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/gen-sources.sh b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/gen-sources.sh index 3a734129c1f7..d86e5764e065 100755 --- a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/gen-sources.sh +++ b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/gen-sources.sh @@ -19,10 +19,9 @@ COMPILERS="mescc gcc" format() { - echo -n "[ " - # Terrible hack to convert a newline-delimited string to space-delimited - echo $* | xargs printf '"%s" ' - echo -n "]" + echo "[" + echo $* | xargs printf ' "%s"\n' + echo " ]" } gen_sources() { @@ -38,12 +37,12 @@ gen_sources() { cat <<EOF $mes_cpu.$mes_kernel.$compiler = { libc_mini_SOURCES = $(format $libc_mini_SOURCES); - libmescc_SOURCES = $(format $libmescc_SOURCES); - libtcc1_SOURCES = $(format $libtcc1_SOURCES); - libc_SOURCES = $(format $libc_SOURCES); - libc_tcc_SOURCES = $(format $libc_tcc_SOURCES); - libc_gnu_SOURCES = $(format $libc_gnu_SOURCES); - mes_SOURCES = $(format $mes_SOURCES); + libmescc_SOURCES = $(format $libmescc_SOURCES); + libtcc1_SOURCES = $(format $libtcc1_SOURCES); + libc_SOURCES = $(format $libc_SOURCES); + libc_tcc_SOURCES = $(format $libc_tcc_SOURCES); + libc_gnu_SOURCES = $(format $libc_gnu_SOURCES); + mes_SOURCES = $(format $mes_SOURCES); }; EOF } diff --git a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/nyacc.nix b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/nyacc.nix index ed402cbaacf3..c384b4a4c0b4 100644 --- a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/nyacc.nix +++ b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/nyacc.nix @@ -6,8 +6,8 @@ let pname = "nyacc"; # NYACC is a tightly coupled dependency of mes. This version is known to work - # with mes 0.24.2. - # https://git.savannah.gnu.org/cgit/mes.git/tree/INSTALL?h=v0.24.2&id=7562330ec746f09b4060d3081e3377fb7083897d#n31 + # with mes 0.25. + # https://git.savannah.gnu.org/cgit/mes.git/tree/INSTALL?h=v0.25#n31 version = "1.00.2"; src = fetchurl { diff --git a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/sources.nix b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/sources.nix index ac534284346d..4b5d3b336575 100644 --- a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/sources.nix +++ b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/sources.nix @@ -2,21 +2,1059 @@ # Do not edit! { x86.linux.mescc = { - libc_mini_SOURCES = [ "lib/mes/eputs.c" "lib/mes/oputs.c" "lib/mes/globals.c" "lib/stdlib/exit.c" "lib/linux/x86-mes-mescc/_exit.c" "lib/linux/x86-mes-mescc/_write.c" "lib/stdlib/puts.c" "lib/string/strlen.c" "lib/mes/mini-write.c" ]; - libmescc_SOURCES = [ "lib/mes/globals.c" "lib/linux/x86-mes-mescc/syscall-internal.c" ]; - libtcc1_SOURCES = [ "lib/libtcc1.c" ]; - libc_SOURCES = [ "lib/mes/eputs.c" "lib/mes/oputs.c" "lib/mes/globals.c" "lib/stdlib/exit.c" "lib/linux/x86-mes-mescc/_exit.c" "lib/linux/x86-mes-mescc/_write.c" "lib/stdlib/puts.c" "lib/string/strlen.c" "lib/ctype/isnumber.c" "lib/mes/abtol.c" "lib/mes/cast.c" "lib/mes/eputc.c" "lib/mes/fdgetc.c" "lib/mes/fdputc.c" "lib/mes/fdputs.c" "lib/mes/fdungetc.c" "lib/mes/itoa.c" "lib/mes/ltoa.c" "lib/mes/ltoab.c" "lib/mes/mes_open.c" "lib/mes/ntoab.c" "lib/mes/oputc.c" "lib/mes/ultoa.c" "lib/mes/utoa.c" "lib/stub/__raise.c" "lib/ctype/isdigit.c" "lib/ctype/isspace.c" "lib/ctype/isxdigit.c" "lib/mes/assert_msg.c" "lib/posix/write.c" "lib/stdlib/atoi.c" "lib/linux/lseek.c" "lib/mes/__assert_fail.c" "lib/mes/__buffered_read.c" "lib/mes/__mes_debug.c" "lib/posix/execv.c" "lib/posix/getcwd.c" "lib/posix/getenv.c" "lib/posix/isatty.c" "lib/posix/open.c" "lib/posix/buffered-read.c" "lib/posix/setenv.c" "lib/posix/wait.c" "lib/stdio/fgetc.c" "lib/stdio/fputc.c" "lib/stdio/fputs.c" "lib/stdio/getc.c" "lib/stdio/getchar.c" "lib/stdio/putc.c" "lib/stdio/putchar.c" "lib/stdio/ungetc.c" "lib/stdlib/free.c" "lib/stdlib/realloc.c" "lib/string/memchr.c" "lib/string/memcmp.c" "lib/string/memcpy.c" "lib/string/memmove.c" "lib/string/memset.c" "lib/string/strcmp.c" "lib/string/strcpy.c" "lib/string/strncmp.c" "lib/posix/raise.c" "lib/linux/access.c" "lib/linux/brk.c" "lib/linux/chmod.c" "lib/linux/clock_gettime.c" "lib/linux/dup.c" "lib/linux/dup2.c" "lib/linux/execve.c" "lib/linux/fork.c" "lib/linux/fsync.c" "lib/linux/_getcwd.c" "lib/linux/gettimeofday.c" "lib/linux/ioctl3.c" "lib/linux/_open3.c" "lib/linux/malloc.c" "lib/linux/_read.c" "lib/linux/time.c" "lib/linux/unlink.c" "lib/linux/waitpid.c" "lib/linux/x86-mes-mescc/syscall.c" "lib/linux/getpid.c" "lib/linux/kill.c" ]; - libc_tcc_SOURCES = [ "lib/mes/eputs.c" "lib/mes/oputs.c" "lib/mes/globals.c" "lib/stdlib/exit.c" "lib/linux/x86-mes-mescc/_exit.c" "lib/linux/x86-mes-mescc/_write.c" "lib/stdlib/puts.c" "lib/string/strlen.c" "lib/ctype/isnumber.c" "lib/mes/abtol.c" "lib/mes/cast.c" "lib/mes/eputc.c" "lib/mes/fdgetc.c" "lib/mes/fdputc.c" "lib/mes/fdputs.c" "lib/mes/fdungetc.c" "lib/mes/itoa.c" "lib/mes/ltoa.c" "lib/mes/ltoab.c" "lib/mes/mes_open.c" "lib/mes/ntoab.c" "lib/mes/oputc.c" "lib/mes/ultoa.c" "lib/mes/utoa.c" "lib/stub/__raise.c" "lib/ctype/isdigit.c" "lib/ctype/isspace.c" "lib/ctype/isxdigit.c" "lib/mes/assert_msg.c" "lib/posix/write.c" "lib/stdlib/atoi.c" "lib/linux/lseek.c" "lib/mes/__assert_fail.c" "lib/mes/__buffered_read.c" "lib/mes/__mes_debug.c" "lib/posix/execv.c" "lib/posix/getcwd.c" "lib/posix/getenv.c" "lib/posix/isatty.c" "lib/posix/open.c" "lib/posix/buffered-read.c" "lib/posix/setenv.c" "lib/posix/wait.c" "lib/stdio/fgetc.c" "lib/stdio/fputc.c" "lib/stdio/fputs.c" "lib/stdio/getc.c" "lib/stdio/getchar.c" "lib/stdio/putc.c" "lib/stdio/putchar.c" "lib/stdio/ungetc.c" "lib/stdlib/free.c" "lib/stdlib/realloc.c" "lib/string/memchr.c" "lib/string/memcmp.c" "lib/string/memcpy.c" "lib/string/memmove.c" "lib/string/memset.c" "lib/string/strcmp.c" "lib/string/strcpy.c" "lib/string/strncmp.c" "lib/posix/raise.c" "lib/linux/access.c" "lib/linux/brk.c" "lib/linux/chmod.c" "lib/linux/clock_gettime.c" "lib/linux/dup.c" "lib/linux/dup2.c" "lib/linux/execve.c" "lib/linux/fork.c" "lib/linux/fsync.c" "lib/linux/_getcwd.c" "lib/linux/gettimeofday.c" "lib/linux/ioctl3.c" "lib/linux/_open3.c" "lib/linux/malloc.c" "lib/linux/_read.c" "lib/linux/time.c" "lib/linux/unlink.c" "lib/linux/waitpid.c" "lib/linux/x86-mes-mescc/syscall.c" "lib/linux/getpid.c" "lib/linux/kill.c" "lib/ctype/islower.c" "lib/ctype/isupper.c" "lib/ctype/tolower.c" "lib/ctype/toupper.c" "lib/mes/abtod.c" "lib/mes/dtoab.c" "lib/mes/search-path.c" "lib/posix/execvp.c" "lib/stdio/fclose.c" "lib/stdio/fdopen.c" "lib/stdio/ferror.c" "lib/stdio/fflush.c" "lib/stdio/fopen.c" "lib/stdio/fprintf.c" "lib/stdio/fread.c" "lib/stdio/fseek.c" "lib/stdio/ftell.c" "lib/stdio/fwrite.c" "lib/stdio/printf.c" "lib/stdio/remove.c" "lib/stdio/snprintf.c" "lib/stdio/sprintf.c" "lib/stdio/sscanf.c" "lib/stdio/vfprintf.c" "lib/stdio/vprintf.c" "lib/stdio/vsnprintf.c" "lib/stdio/vsprintf.c" "lib/stdio/vsscanf.c" "lib/stdlib/calloc.c" "lib/stdlib/qsort.c" "lib/stdlib/strtod.c" "lib/stdlib/strtof.c" "lib/stdlib/strtol.c" "lib/stdlib/strtold.c" "lib/stdlib/strtoll.c" "lib/stdlib/strtoul.c" "lib/stdlib/strtoull.c" "lib/string/memmem.c" "lib/string/strcat.c" "lib/string/strchr.c" "lib/string/strlwr.c" "lib/string/strncpy.c" "lib/string/strrchr.c" "lib/string/strstr.c" "lib/string/strupr.c" "lib/stub/sigaction.c" "lib/stub/ldexp.c" "lib/stub/mprotect.c" "lib/stub/localtime.c" "lib/stub/sigemptyset.c" "lib/x86-mes-mescc/setjmp.c" "lib/linux/close.c" "lib/linux/rmdir.c" "lib/linux/stat.c" ]; - libc_gnu_SOURCES = [ "lib/mes/eputs.c" "lib/mes/oputs.c" "lib/mes/globals.c" "lib/stdlib/exit.c" "lib/linux/x86-mes-mescc/_exit.c" "lib/linux/x86-mes-mescc/_write.c" "lib/stdlib/puts.c" "lib/string/strlen.c" "lib/ctype/isnumber.c" "lib/mes/abtol.c" "lib/mes/cast.c" "lib/mes/eputc.c" "lib/mes/fdgetc.c" "lib/mes/fdputc.c" "lib/mes/fdputs.c" "lib/mes/fdungetc.c" "lib/mes/itoa.c" "lib/mes/ltoa.c" "lib/mes/ltoab.c" "lib/mes/mes_open.c" "lib/mes/ntoab.c" "lib/mes/oputc.c" "lib/mes/ultoa.c" "lib/mes/utoa.c" "lib/stub/__raise.c" "lib/ctype/isdigit.c" "lib/ctype/isspace.c" "lib/ctype/isxdigit.c" "lib/mes/assert_msg.c" "lib/posix/write.c" "lib/stdlib/atoi.c" "lib/linux/lseek.c" "lib/mes/__assert_fail.c" "lib/mes/__buffered_read.c" "lib/mes/__mes_debug.c" "lib/posix/execv.c" "lib/posix/getcwd.c" "lib/posix/getenv.c" "lib/posix/isatty.c" "lib/posix/open.c" "lib/posix/buffered-read.c" "lib/posix/setenv.c" "lib/posix/wait.c" "lib/stdio/fgetc.c" "lib/stdio/fputc.c" "lib/stdio/fputs.c" "lib/stdio/getc.c" "lib/stdio/getchar.c" "lib/stdio/putc.c" "lib/stdio/putchar.c" "lib/stdio/ungetc.c" "lib/stdlib/free.c" "lib/stdlib/realloc.c" "lib/string/memchr.c" "lib/string/memcmp.c" "lib/string/memcpy.c" "lib/string/memmove.c" "lib/string/memset.c" "lib/string/strcmp.c" "lib/string/strcpy.c" "lib/string/strncmp.c" "lib/posix/raise.c" "lib/linux/access.c" "lib/linux/brk.c" "lib/linux/chmod.c" "lib/linux/clock_gettime.c" "lib/linux/dup.c" "lib/linux/dup2.c" "lib/linux/execve.c" "lib/linux/fork.c" "lib/linux/fsync.c" "lib/linux/_getcwd.c" "lib/linux/gettimeofday.c" "lib/linux/ioctl3.c" "lib/linux/_open3.c" "lib/linux/malloc.c" "lib/linux/_read.c" "lib/linux/time.c" "lib/linux/unlink.c" "lib/linux/waitpid.c" "lib/linux/x86-mes-mescc/syscall.c" "lib/linux/getpid.c" "lib/linux/kill.c" "lib/ctype/islower.c" "lib/ctype/isupper.c" "lib/ctype/tolower.c" "lib/ctype/toupper.c" "lib/mes/abtod.c" "lib/mes/dtoab.c" "lib/mes/search-path.c" "lib/posix/execvp.c" "lib/stdio/fclose.c" "lib/stdio/fdopen.c" "lib/stdio/ferror.c" "lib/stdio/fflush.c" "lib/stdio/fopen.c" "lib/stdio/fprintf.c" "lib/stdio/fread.c" "lib/stdio/fseek.c" "lib/stdio/ftell.c" "lib/stdio/fwrite.c" "lib/stdio/printf.c" "lib/stdio/remove.c" "lib/stdio/snprintf.c" "lib/stdio/sprintf.c" "lib/stdio/sscanf.c" "lib/stdio/vfprintf.c" "lib/stdio/vprintf.c" "lib/stdio/vsnprintf.c" "lib/stdio/vsprintf.c" "lib/stdio/vsscanf.c" "lib/stdlib/calloc.c" "lib/stdlib/qsort.c" "lib/stdlib/strtod.c" "lib/stdlib/strtof.c" "lib/stdlib/strtol.c" "lib/stdlib/strtold.c" "lib/stdlib/strtoll.c" "lib/stdlib/strtoul.c" "lib/stdlib/strtoull.c" "lib/string/memmem.c" "lib/string/strcat.c" "lib/string/strchr.c" "lib/string/strlwr.c" "lib/string/strncpy.c" "lib/string/strrchr.c" "lib/string/strstr.c" "lib/string/strupr.c" "lib/stub/sigaction.c" "lib/stub/ldexp.c" "lib/stub/mprotect.c" "lib/stub/localtime.c" "lib/stub/sigemptyset.c" "lib/x86-mes-mescc/setjmp.c" "lib/linux/close.c" "lib/linux/rmdir.c" "lib/linux/stat.c" "lib/ctype/isalnum.c" "lib/ctype/isalpha.c" "lib/ctype/isascii.c" "lib/ctype/iscntrl.c" "lib/ctype/isgraph.c" "lib/ctype/isprint.c" "lib/ctype/ispunct.c" "lib/dirent/__getdirentries.c" "lib/dirent/closedir.c" "lib/dirent/opendir.c" "lib/dirent/readdir.c" "lib/math/ceil.c" "lib/math/fabs.c" "lib/math/floor.c" "lib/mes/fdgets.c" "lib/posix/alarm.c" "lib/posix/execl.c" "lib/posix/execlp.c" "lib/posix/mktemp.c" "lib/posix/sbrk.c" "lib/posix/sleep.c" "lib/posix/unsetenv.c" "lib/stdio/clearerr.c" "lib/stdio/feof.c" "lib/stdio/fgets.c" "lib/stdio/fileno.c" "lib/stdio/freopen.c" "lib/stdio/fscanf.c" "lib/stdio/perror.c" "lib/stdio/vfscanf.c" "lib/stdlib/__exit.c" "lib/stdlib/abort.c" "lib/stdlib/abs.c" "lib/stdlib/alloca.c" "lib/stdlib/atexit.c" "lib/stdlib/atof.c" "lib/stdlib/atol.c" "lib/stdlib/mbstowcs.c" "lib/string/bcmp.c" "lib/string/bcopy.c" "lib/string/bzero.c" "lib/string/index.c" "lib/string/rindex.c" "lib/string/strcspn.c" "lib/string/strdup.c" "lib/string/strerror.c" "lib/string/strncat.c" "lib/string/strpbrk.c" "lib/string/strspn.c" "lib/stub/__cleanup.c" "lib/stub/atan2.c" "lib/stub/bsearch.c" "lib/stub/chown.c" "lib/stub/cos.c" "lib/stub/ctime.c" "lib/stub/exp.c" "lib/stub/fpurge.c" "lib/stub/freadahead.c" "lib/stub/frexp.c" "lib/stub/getgrgid.c" "lib/stub/getgrnam.c" "lib/stub/getlogin.c" "lib/stub/getpgid.c" "lib/stub/getpgrp.c" "lib/stub/getpwnam.c" "lib/stub/getpwuid.c" "lib/stub/gmtime.c" "lib/stub/log.c" "lib/stub/mktime.c" "lib/stub/modf.c" "lib/stub/pclose.c" "lib/stub/popen.c" "lib/stub/pow.c" "lib/stub/rand.c" "lib/stub/rewind.c" "lib/stub/setbuf.c" "lib/stub/setgrent.c" "lib/stub/setlocale.c" "lib/stub/setvbuf.c" "lib/stub/sigaddset.c" "lib/stub/sigblock.c" "lib/stub/sigdelset.c" "lib/stub/sigsetmask.c" "lib/stub/sin.c" "lib/stub/sqrt.c" "lib/stub/strftime.c" "lib/stub/sys_siglist.c" "lib/stub/system.c" "lib/stub/times.c" "lib/stub/ttyname.c" "lib/stub/umask.c" "lib/stub/utime.c" "lib/linux/chdir.c" "lib/linux/fcntl.c" "lib/linux/fstat.c" "lib/linux/getdents.c" "lib/linux/getegid.c" "lib/linux/geteuid.c" "lib/linux/getgid.c" "lib/linux/getppid.c" "lib/linux/getrusage.c" "lib/linux/getuid.c" "lib/linux/ioctl.c" "lib/linux/link.c" "lib/linux/lstat.c" "lib/linux/mkdir.c" "lib/linux/mknod.c" "lib/linux/nanosleep.c" "lib/linux/pipe.c" "lib/linux/readlink.c" "lib/linux/rename.c" "lib/linux/setgid.c" "lib/linux/settimer.c" "lib/linux/setuid.c" "lib/linux/signal.c" "lib/linux/sigprogmask.c" "lib/linux/symlink.c" ]; - mes_SOURCES = [ "src/builtins.c" "src/cc.c" "src/core.c" "src/display.c" "src/eval-apply.c" "src/gc.c" "src/globals.c" "src/hash.c" "src/lib.c" "src/math.c" "src/mes.c" "src/module.c" "src/posix.c" "src/reader.c" "src/stack.c" "src/string.c" "src/struct.c" "src/symbol.c" "src/vector.c" ]; + libc_mini_SOURCES = [ + "lib/mes/__init_io.c" + "lib/mes/eputs.c" + "lib/mes/oputs.c" + "lib/mes/globals.c" + "lib/stdlib/exit.c" + "lib/linux/x86-mes-mescc/_exit.c" + "lib/linux/x86-mes-mescc/_write.c" + "lib/stdlib/puts.c" + "lib/string/strlen.c" + "lib/mes/write.c" + ]; + libmescc_SOURCES = [ + "lib/mes/globals.c" + "lib/linux/x86-mes-mescc/syscall-internal.c" + ]; + libtcc1_SOURCES = [ + "lib/libtcc1.c" + ]; + libc_SOURCES = [ + "lib/mes/__init_io.c" + "lib/mes/eputs.c" + "lib/mes/oputs.c" + "lib/mes/globals.c" + "lib/stdlib/exit.c" + "lib/linux/x86-mes-mescc/_exit.c" + "lib/linux/x86-mes-mescc/_write.c" + "lib/stdlib/puts.c" + "lib/string/strlen.c" + "lib/ctype/isnumber.c" + "lib/mes/abtol.c" + "lib/mes/cast.c" + "lib/mes/eputc.c" + "lib/mes/fdgetc.c" + "lib/mes/fdputc.c" + "lib/mes/fdputs.c" + "lib/mes/fdungetc.c" + "lib/mes/itoa.c" + "lib/mes/ltoa.c" + "lib/mes/ltoab.c" + "lib/mes/mes_open.c" + "lib/mes/ntoab.c" + "lib/mes/oputc.c" + "lib/mes/ultoa.c" + "lib/mes/utoa.c" + "lib/stub/__raise.c" + "lib/ctype/isdigit.c" + "lib/ctype/isspace.c" + "lib/ctype/isxdigit.c" + "lib/mes/assert_msg.c" + "lib/posix/write.c" + "lib/stdlib/atoi.c" + "lib/linux/lseek.c" + "lib/mes/__assert_fail.c" + "lib/mes/__buffered_read.c" + "lib/mes/__mes_debug.c" + "lib/posix/execv.c" + "lib/posix/getcwd.c" + "lib/posix/getenv.c" + "lib/posix/isatty.c" + "lib/posix/open.c" + "lib/posix/buffered-read.c" + "lib/posix/setenv.c" + "lib/posix/wait.c" + "lib/stdio/fgetc.c" + "lib/stdio/fputc.c" + "lib/stdio/fputs.c" + "lib/stdio/getc.c" + "lib/stdio/getchar.c" + "lib/stdio/putc.c" + "lib/stdio/putchar.c" + "lib/stdio/ungetc.c" + "lib/stdlib/free.c" + "lib/stdlib/realloc.c" + "lib/string/memchr.c" + "lib/string/memcmp.c" + "lib/string/memcpy.c" + "lib/string/memmove.c" + "lib/string/memset.c" + "lib/string/strcmp.c" + "lib/string/strcpy.c" + "lib/string/strncmp.c" + "lib/posix/raise.c" + "lib/linux/access.c" + "lib/linux/brk.c" + "lib/linux/chmod.c" + "lib/linux/clock_gettime.c" + "lib/linux/dup.c" + "lib/linux/dup2.c" + "lib/linux/execve.c" + "lib/linux/fork.c" + "lib/linux/fsync.c" + "lib/linux/_getcwd.c" + "lib/linux/gettimeofday.c" + "lib/linux/ioctl3.c" + "lib/linux/_open3.c" + "lib/linux/malloc.c" + "lib/linux/_read.c" + "lib/linux/time.c" + "lib/linux/unlink.c" + "lib/linux/wait4.c" + "lib/linux/waitpid.c" + "lib/linux/x86-mes-mescc/syscall.c" + "lib/linux/getpid.c" + "lib/linux/kill.c" + ]; + libc_tcc_SOURCES = [ + "lib/mes/__init_io.c" + "lib/mes/eputs.c" + "lib/mes/oputs.c" + "lib/mes/globals.c" + "lib/stdlib/exit.c" + "lib/linux/x86-mes-mescc/_exit.c" + "lib/linux/x86-mes-mescc/_write.c" + "lib/stdlib/puts.c" + "lib/string/strlen.c" + "lib/ctype/isnumber.c" + "lib/mes/abtol.c" + "lib/mes/cast.c" + "lib/mes/eputc.c" + "lib/mes/fdgetc.c" + "lib/mes/fdputc.c" + "lib/mes/fdputs.c" + "lib/mes/fdungetc.c" + "lib/mes/itoa.c" + "lib/mes/ltoa.c" + "lib/mes/ltoab.c" + "lib/mes/mes_open.c" + "lib/mes/ntoab.c" + "lib/mes/oputc.c" + "lib/mes/ultoa.c" + "lib/mes/utoa.c" + "lib/stub/__raise.c" + "lib/ctype/isdigit.c" + "lib/ctype/isspace.c" + "lib/ctype/isxdigit.c" + "lib/mes/assert_msg.c" + "lib/posix/write.c" + "lib/stdlib/atoi.c" + "lib/linux/lseek.c" + "lib/mes/__assert_fail.c" + "lib/mes/__buffered_read.c" + "lib/mes/__mes_debug.c" + "lib/posix/execv.c" + "lib/posix/getcwd.c" + "lib/posix/getenv.c" + "lib/posix/isatty.c" + "lib/posix/open.c" + "lib/posix/buffered-read.c" + "lib/posix/setenv.c" + "lib/posix/wait.c" + "lib/stdio/fgetc.c" + "lib/stdio/fputc.c" + "lib/stdio/fputs.c" + "lib/stdio/getc.c" + "lib/stdio/getchar.c" + "lib/stdio/putc.c" + "lib/stdio/putchar.c" + "lib/stdio/ungetc.c" + "lib/stdlib/free.c" + "lib/stdlib/realloc.c" + "lib/string/memchr.c" + "lib/string/memcmp.c" + "lib/string/memcpy.c" + "lib/string/memmove.c" + "lib/string/memset.c" + "lib/string/strcmp.c" + "lib/string/strcpy.c" + "lib/string/strncmp.c" + "lib/posix/raise.c" + "lib/linux/access.c" + "lib/linux/brk.c" + "lib/linux/chmod.c" + "lib/linux/clock_gettime.c" + "lib/linux/dup.c" + "lib/linux/dup2.c" + "lib/linux/execve.c" + "lib/linux/fork.c" + "lib/linux/fsync.c" + "lib/linux/_getcwd.c" + "lib/linux/gettimeofday.c" + "lib/linux/ioctl3.c" + "lib/linux/_open3.c" + "lib/linux/malloc.c" + "lib/linux/_read.c" + "lib/linux/time.c" + "lib/linux/unlink.c" + "lib/linux/wait4.c" + "lib/linux/waitpid.c" + "lib/linux/x86-mes-mescc/syscall.c" + "lib/linux/getpid.c" + "lib/linux/kill.c" + "lib/ctype/islower.c" + "lib/ctype/isupper.c" + "lib/ctype/tolower.c" + "lib/ctype/toupper.c" + "lib/mes/abtod.c" + "lib/mes/dtoab.c" + "lib/mes/search-path.c" + "lib/posix/execvp.c" + "lib/stdio/fclose.c" + "lib/stdio/fdopen.c" + "lib/stdio/ferror.c" + "lib/stdio/fflush.c" + "lib/stdio/fopen.c" + "lib/stdio/fprintf.c" + "lib/stdio/fread.c" + "lib/stdio/fseek.c" + "lib/stdio/ftell.c" + "lib/stdio/fwrite.c" + "lib/stdio/printf.c" + "lib/stdio/remove.c" + "lib/stdio/snprintf.c" + "lib/stdio/sprintf.c" + "lib/stdio/sscanf.c" + "lib/stdio/vfprintf.c" + "lib/stdio/vprintf.c" + "lib/stdio/vsnprintf.c" + "lib/stdio/vsprintf.c" + "lib/stdio/vsscanf.c" + "lib/stdlib/calloc.c" + "lib/stdlib/qsort.c" + "lib/stdlib/strtod.c" + "lib/stdlib/strtof.c" + "lib/stdlib/strtol.c" + "lib/stdlib/strtold.c" + "lib/stdlib/strtoll.c" + "lib/stdlib/strtoul.c" + "lib/stdlib/strtoull.c" + "lib/string/memmem.c" + "lib/string/strcat.c" + "lib/string/strchr.c" + "lib/string/strlwr.c" + "lib/string/strncpy.c" + "lib/string/strrchr.c" + "lib/string/strstr.c" + "lib/string/strupr.c" + "lib/stub/sigaction.c" + "lib/stub/ldexp.c" + "lib/stub/mprotect.c" + "lib/stub/localtime.c" + "lib/stub/sigemptyset.c" + "lib/x86-mes-mescc/setjmp.c" + "lib/linux/close.c" + "lib/linux/rmdir.c" + "lib/linux/stat.c" + ]; + libc_gnu_SOURCES = [ + "lib/mes/__init_io.c" + "lib/mes/eputs.c" + "lib/mes/oputs.c" + "lib/mes/globals.c" + "lib/stdlib/exit.c" + "lib/linux/x86-mes-mescc/_exit.c" + "lib/linux/x86-mes-mescc/_write.c" + "lib/stdlib/puts.c" + "lib/string/strlen.c" + "lib/ctype/isnumber.c" + "lib/mes/abtol.c" + "lib/mes/cast.c" + "lib/mes/eputc.c" + "lib/mes/fdgetc.c" + "lib/mes/fdputc.c" + "lib/mes/fdputs.c" + "lib/mes/fdungetc.c" + "lib/mes/itoa.c" + "lib/mes/ltoa.c" + "lib/mes/ltoab.c" + "lib/mes/mes_open.c" + "lib/mes/ntoab.c" + "lib/mes/oputc.c" + "lib/mes/ultoa.c" + "lib/mes/utoa.c" + "lib/stub/__raise.c" + "lib/ctype/isdigit.c" + "lib/ctype/isspace.c" + "lib/ctype/isxdigit.c" + "lib/mes/assert_msg.c" + "lib/posix/write.c" + "lib/stdlib/atoi.c" + "lib/linux/lseek.c" + "lib/mes/__assert_fail.c" + "lib/mes/__buffered_read.c" + "lib/mes/__mes_debug.c" + "lib/posix/execv.c" + "lib/posix/getcwd.c" + "lib/posix/getenv.c" + "lib/posix/isatty.c" + "lib/posix/open.c" + "lib/posix/buffered-read.c" + "lib/posix/setenv.c" + "lib/posix/wait.c" + "lib/stdio/fgetc.c" + "lib/stdio/fputc.c" + "lib/stdio/fputs.c" + "lib/stdio/getc.c" + "lib/stdio/getchar.c" + "lib/stdio/putc.c" + "lib/stdio/putchar.c" + "lib/stdio/ungetc.c" + "lib/stdlib/free.c" + "lib/stdlib/realloc.c" + "lib/string/memchr.c" + "lib/string/memcmp.c" + "lib/string/memcpy.c" + "lib/string/memmove.c" + "lib/string/memset.c" + "lib/string/strcmp.c" + "lib/string/strcpy.c" + "lib/string/strncmp.c" + "lib/posix/raise.c" + "lib/linux/access.c" + "lib/linux/brk.c" + "lib/linux/chmod.c" + "lib/linux/clock_gettime.c" + "lib/linux/dup.c" + "lib/linux/dup2.c" + "lib/linux/execve.c" + "lib/linux/fork.c" + "lib/linux/fsync.c" + "lib/linux/_getcwd.c" + "lib/linux/gettimeofday.c" + "lib/linux/ioctl3.c" + "lib/linux/_open3.c" + "lib/linux/malloc.c" + "lib/linux/_read.c" + "lib/linux/time.c" + "lib/linux/unlink.c" + "lib/linux/wait4.c" + "lib/linux/waitpid.c" + "lib/linux/x86-mes-mescc/syscall.c" + "lib/linux/getpid.c" + "lib/linux/kill.c" + "lib/ctype/islower.c" + "lib/ctype/isupper.c" + "lib/ctype/tolower.c" + "lib/ctype/toupper.c" + "lib/mes/abtod.c" + "lib/mes/dtoab.c" + "lib/mes/search-path.c" + "lib/posix/execvp.c" + "lib/stdio/fclose.c" + "lib/stdio/fdopen.c" + "lib/stdio/ferror.c" + "lib/stdio/fflush.c" + "lib/stdio/fopen.c" + "lib/stdio/fprintf.c" + "lib/stdio/fread.c" + "lib/stdio/fseek.c" + "lib/stdio/ftell.c" + "lib/stdio/fwrite.c" + "lib/stdio/printf.c" + "lib/stdio/remove.c" + "lib/stdio/snprintf.c" + "lib/stdio/sprintf.c" + "lib/stdio/sscanf.c" + "lib/stdio/vfprintf.c" + "lib/stdio/vprintf.c" + "lib/stdio/vsnprintf.c" + "lib/stdio/vsprintf.c" + "lib/stdio/vsscanf.c" + "lib/stdlib/calloc.c" + "lib/stdlib/qsort.c" + "lib/stdlib/strtod.c" + "lib/stdlib/strtof.c" + "lib/stdlib/strtol.c" + "lib/stdlib/strtold.c" + "lib/stdlib/strtoll.c" + "lib/stdlib/strtoul.c" + "lib/stdlib/strtoull.c" + "lib/string/memmem.c" + "lib/string/strcat.c" + "lib/string/strchr.c" + "lib/string/strlwr.c" + "lib/string/strncpy.c" + "lib/string/strrchr.c" + "lib/string/strstr.c" + "lib/string/strupr.c" + "lib/stub/sigaction.c" + "lib/stub/ldexp.c" + "lib/stub/mprotect.c" + "lib/stub/localtime.c" + "lib/stub/sigemptyset.c" + "lib/x86-mes-mescc/setjmp.c" + "lib/linux/close.c" + "lib/linux/rmdir.c" + "lib/linux/stat.c" + "lib/ctype/isalnum.c" + "lib/ctype/isalpha.c" + "lib/ctype/isascii.c" + "lib/ctype/iscntrl.c" + "lib/ctype/isgraph.c" + "lib/ctype/isprint.c" + "lib/ctype/ispunct.c" + "lib/dirent/__getdirentries.c" + "lib/dirent/closedir.c" + "lib/dirent/opendir.c" + "lib/dirent/readdir.c" + "lib/math/ceil.c" + "lib/math/fabs.c" + "lib/math/floor.c" + "lib/mes/fdgets.c" + "lib/posix/alarm.c" + "lib/posix/execl.c" + "lib/posix/execlp.c" + "lib/posix/mktemp.c" + "lib/posix/sbrk.c" + "lib/posix/sleep.c" + "lib/posix/unsetenv.c" + "lib/stdio/clearerr.c" + "lib/stdio/feof.c" + "lib/stdio/fgets.c" + "lib/stdio/fileno.c" + "lib/stdio/freopen.c" + "lib/stdio/fscanf.c" + "lib/stdio/perror.c" + "lib/stdio/vfscanf.c" + "lib/stdlib/__exit.c" + "lib/stdlib/abort.c" + "lib/stdlib/abs.c" + "lib/stdlib/alloca.c" + "lib/stdlib/atexit.c" + "lib/stdlib/atof.c" + "lib/stdlib/atol.c" + "lib/stdlib/mbstowcs.c" + "lib/string/bcmp.c" + "lib/string/bcopy.c" + "lib/string/bzero.c" + "lib/string/index.c" + "lib/string/rindex.c" + "lib/string/strcspn.c" + "lib/string/strdup.c" + "lib/string/strerror.c" + "lib/string/strncat.c" + "lib/string/strpbrk.c" + "lib/string/strspn.c" + "lib/stub/__cleanup.c" + "lib/stub/atan2.c" + "lib/stub/bsearch.c" + "lib/stub/chown.c" + "lib/stub/cos.c" + "lib/stub/ctime.c" + "lib/stub/exp.c" + "lib/stub/fpurge.c" + "lib/stub/freadahead.c" + "lib/stub/frexp.c" + "lib/stub/getgrgid.c" + "lib/stub/getgrnam.c" + "lib/stub/getlogin.c" + "lib/stub/getpgid.c" + "lib/stub/getpgrp.c" + "lib/stub/getpwnam.c" + "lib/stub/getpwuid.c" + "lib/stub/gmtime.c" + "lib/stub/log.c" + "lib/stub/mktime.c" + "lib/stub/modf.c" + "lib/stub/pclose.c" + "lib/stub/popen.c" + "lib/stub/pow.c" + "lib/stub/rand.c" + "lib/stub/rewind.c" + "lib/stub/setbuf.c" + "lib/stub/setgrent.c" + "lib/stub/setlocale.c" + "lib/stub/setvbuf.c" + "lib/stub/sigaddset.c" + "lib/stub/sigblock.c" + "lib/stub/sigdelset.c" + "lib/stub/sigsetmask.c" + "lib/stub/sin.c" + "lib/stub/sqrt.c" + "lib/stub/strftime.c" + "lib/stub/sys_siglist.c" + "lib/stub/system.c" + "lib/stub/times.c" + "lib/stub/ttyname.c" + "lib/stub/umask.c" + "lib/stub/utime.c" + "lib/linux/chdir.c" + "lib/linux/fcntl.c" + "lib/linux/fstat.c" + "lib/linux/getdents.c" + "lib/linux/getegid.c" + "lib/linux/geteuid.c" + "lib/linux/getgid.c" + "lib/linux/getppid.c" + "lib/linux/getrusage.c" + "lib/linux/getuid.c" + "lib/linux/ioctl.c" + "lib/linux/link.c" + "lib/linux/lstat.c" + "lib/linux/mkdir.c" + "lib/linux/mknod.c" + "lib/linux/nanosleep.c" + "lib/linux/pipe.c" + "lib/linux/readlink.c" + "lib/linux/rename.c" + "lib/linux/setgid.c" + "lib/linux/settimer.c" + "lib/linux/setuid.c" + "lib/linux/signal.c" + "lib/linux/sigprogmask.c" + "lib/linux/symlink.c" + ]; + mes_SOURCES = [ + "src/builtins.c" + "src/cc.c" + "src/core.c" + "src/display.c" + "src/eval-apply.c" + "src/gc.c" + "src/globals.c" + "src/hash.c" + "src/lib.c" + "src/math.c" + "src/mes.c" + "src/module.c" + "src/posix.c" + "src/reader.c" + "src/stack.c" + "src/string.c" + "src/struct.c" + "src/symbol.c" + "src/vector.c" + ]; }; x86.linux.gcc = { - libc_mini_SOURCES = [ "lib/mes/eputs.c" "lib/mes/oputs.c" "lib/mes/globals.c" "lib/stdlib/exit.c" "lib/linux/x86-mes-gcc/_exit.c" "lib/linux/x86-mes-gcc/_write.c" "lib/stdlib/puts.c" "lib/string/strlen.c" "lib/mes/mini-write.c" ]; - libmescc_SOURCES = [ "lib/mes/globals.c" "lib/linux/x86-mes-gcc/syscall-internal.c" ]; - libtcc1_SOURCES = [ "lib/libtcc1.c" ]; - libc_SOURCES = [ "lib/mes/eputs.c" "lib/mes/oputs.c" "lib/mes/globals.c" "lib/stdlib/exit.c" "lib/linux/x86-mes-gcc/_exit.c" "lib/linux/x86-mes-gcc/_write.c" "lib/stdlib/puts.c" "lib/string/strlen.c" "lib/ctype/isnumber.c" "lib/mes/abtol.c" "lib/mes/cast.c" "lib/mes/eputc.c" "lib/mes/fdgetc.c" "lib/mes/fdputc.c" "lib/mes/fdputs.c" "lib/mes/fdungetc.c" "lib/mes/itoa.c" "lib/mes/ltoa.c" "lib/mes/ltoab.c" "lib/mes/mes_open.c" "lib/mes/ntoab.c" "lib/mes/oputc.c" "lib/mes/ultoa.c" "lib/mes/utoa.c" "lib/stub/__raise.c" "lib/ctype/isdigit.c" "lib/ctype/isspace.c" "lib/ctype/isxdigit.c" "lib/mes/assert_msg.c" "lib/posix/write.c" "lib/stdlib/atoi.c" "lib/linux/lseek.c" "lib/mes/__assert_fail.c" "lib/mes/__buffered_read.c" "lib/mes/__mes_debug.c" "lib/posix/execv.c" "lib/posix/getcwd.c" "lib/posix/getenv.c" "lib/posix/isatty.c" "lib/posix/open.c" "lib/posix/buffered-read.c" "lib/posix/setenv.c" "lib/posix/wait.c" "lib/stdio/fgetc.c" "lib/stdio/fputc.c" "lib/stdio/fputs.c" "lib/stdio/getc.c" "lib/stdio/getchar.c" "lib/stdio/putc.c" "lib/stdio/putchar.c" "lib/stdio/ungetc.c" "lib/stdlib/free.c" "lib/stdlib/realloc.c" "lib/string/memchr.c" "lib/string/memcmp.c" "lib/string/memcpy.c" "lib/string/memmove.c" "lib/string/memset.c" "lib/string/strcmp.c" "lib/string/strcpy.c" "lib/string/strncmp.c" "lib/posix/raise.c" "lib/linux/access.c" "lib/linux/brk.c" "lib/linux/chmod.c" "lib/linux/clock_gettime.c" "lib/linux/dup.c" "lib/linux/dup2.c" "lib/linux/execve.c" "lib/linux/fork.c" "lib/linux/fsync.c" "lib/linux/_getcwd.c" "lib/linux/gettimeofday.c" "lib/linux/ioctl3.c" "lib/linux/_open3.c" "lib/linux/malloc.c" "lib/linux/_read.c" "lib/linux/time.c" "lib/linux/unlink.c" "lib/linux/waitpid.c" "lib/linux/x86-mes-gcc/syscall.c" "lib/linux/getpid.c" "lib/linux/kill.c" ]; - libc_tcc_SOURCES = [ "lib/mes/eputs.c" "lib/mes/oputs.c" "lib/mes/globals.c" "lib/stdlib/exit.c" "lib/linux/x86-mes-gcc/_exit.c" "lib/linux/x86-mes-gcc/_write.c" "lib/stdlib/puts.c" "lib/string/strlen.c" "lib/ctype/isnumber.c" "lib/mes/abtol.c" "lib/mes/cast.c" "lib/mes/eputc.c" "lib/mes/fdgetc.c" "lib/mes/fdputc.c" "lib/mes/fdputs.c" "lib/mes/fdungetc.c" "lib/mes/itoa.c" "lib/mes/ltoa.c" "lib/mes/ltoab.c" "lib/mes/mes_open.c" "lib/mes/ntoab.c" "lib/mes/oputc.c" "lib/mes/ultoa.c" "lib/mes/utoa.c" "lib/stub/__raise.c" "lib/ctype/isdigit.c" "lib/ctype/isspace.c" "lib/ctype/isxdigit.c" "lib/mes/assert_msg.c" "lib/posix/write.c" "lib/stdlib/atoi.c" "lib/linux/lseek.c" "lib/mes/__assert_fail.c" "lib/mes/__buffered_read.c" "lib/mes/__mes_debug.c" "lib/posix/execv.c" "lib/posix/getcwd.c" "lib/posix/getenv.c" "lib/posix/isatty.c" "lib/posix/open.c" "lib/posix/buffered-read.c" "lib/posix/setenv.c" "lib/posix/wait.c" "lib/stdio/fgetc.c" "lib/stdio/fputc.c" "lib/stdio/fputs.c" "lib/stdio/getc.c" "lib/stdio/getchar.c" "lib/stdio/putc.c" "lib/stdio/putchar.c" "lib/stdio/ungetc.c" "lib/stdlib/free.c" "lib/stdlib/realloc.c" "lib/string/memchr.c" "lib/string/memcmp.c" "lib/string/memcpy.c" "lib/string/memmove.c" "lib/string/memset.c" "lib/string/strcmp.c" "lib/string/strcpy.c" "lib/string/strncmp.c" "lib/posix/raise.c" "lib/linux/access.c" "lib/linux/brk.c" "lib/linux/chmod.c" "lib/linux/clock_gettime.c" "lib/linux/dup.c" "lib/linux/dup2.c" "lib/linux/execve.c" "lib/linux/fork.c" "lib/linux/fsync.c" "lib/linux/_getcwd.c" "lib/linux/gettimeofday.c" "lib/linux/ioctl3.c" "lib/linux/_open3.c" "lib/linux/malloc.c" "lib/linux/_read.c" "lib/linux/time.c" "lib/linux/unlink.c" "lib/linux/waitpid.c" "lib/linux/x86-mes-gcc/syscall.c" "lib/linux/getpid.c" "lib/linux/kill.c" "lib/ctype/islower.c" "lib/ctype/isupper.c" "lib/ctype/tolower.c" "lib/ctype/toupper.c" "lib/mes/abtod.c" "lib/mes/dtoab.c" "lib/mes/search-path.c" "lib/posix/execvp.c" "lib/stdio/fclose.c" "lib/stdio/fdopen.c" "lib/stdio/ferror.c" "lib/stdio/fflush.c" "lib/stdio/fopen.c" "lib/stdio/fprintf.c" "lib/stdio/fread.c" "lib/stdio/fseek.c" "lib/stdio/ftell.c" "lib/stdio/fwrite.c" "lib/stdio/printf.c" "lib/stdio/remove.c" "lib/stdio/snprintf.c" "lib/stdio/sprintf.c" "lib/stdio/sscanf.c" "lib/stdio/vfprintf.c" "lib/stdio/vprintf.c" "lib/stdio/vsnprintf.c" "lib/stdio/vsprintf.c" "lib/stdio/vsscanf.c" "lib/stdlib/calloc.c" "lib/stdlib/qsort.c" "lib/stdlib/strtod.c" "lib/stdlib/strtof.c" "lib/stdlib/strtol.c" "lib/stdlib/strtold.c" "lib/stdlib/strtoll.c" "lib/stdlib/strtoul.c" "lib/stdlib/strtoull.c" "lib/string/memmem.c" "lib/string/strcat.c" "lib/string/strchr.c" "lib/string/strlwr.c" "lib/string/strncpy.c" "lib/string/strrchr.c" "lib/string/strstr.c" "lib/string/strupr.c" "lib/stub/sigaction.c" "lib/stub/ldexp.c" "lib/stub/mprotect.c" "lib/stub/localtime.c" "lib/stub/sigemptyset.c" "lib/x86-mes-gcc/setjmp.c" "lib/linux/close.c" "lib/linux/rmdir.c" "lib/linux/stat.c" ]; - libc_gnu_SOURCES = [ "lib/mes/eputs.c" "lib/mes/oputs.c" "lib/mes/globals.c" "lib/stdlib/exit.c" "lib/linux/x86-mes-gcc/_exit.c" "lib/linux/x86-mes-gcc/_write.c" "lib/stdlib/puts.c" "lib/string/strlen.c" "lib/ctype/isnumber.c" "lib/mes/abtol.c" "lib/mes/cast.c" "lib/mes/eputc.c" "lib/mes/fdgetc.c" "lib/mes/fdputc.c" "lib/mes/fdputs.c" "lib/mes/fdungetc.c" "lib/mes/itoa.c" "lib/mes/ltoa.c" "lib/mes/ltoab.c" "lib/mes/mes_open.c" "lib/mes/ntoab.c" "lib/mes/oputc.c" "lib/mes/ultoa.c" "lib/mes/utoa.c" "lib/stub/__raise.c" "lib/ctype/isdigit.c" "lib/ctype/isspace.c" "lib/ctype/isxdigit.c" "lib/mes/assert_msg.c" "lib/posix/write.c" "lib/stdlib/atoi.c" "lib/linux/lseek.c" "lib/mes/__assert_fail.c" "lib/mes/__buffered_read.c" "lib/mes/__mes_debug.c" "lib/posix/execv.c" "lib/posix/getcwd.c" "lib/posix/getenv.c" "lib/posix/isatty.c" "lib/posix/open.c" "lib/posix/buffered-read.c" "lib/posix/setenv.c" "lib/posix/wait.c" "lib/stdio/fgetc.c" "lib/stdio/fputc.c" "lib/stdio/fputs.c" "lib/stdio/getc.c" "lib/stdio/getchar.c" "lib/stdio/putc.c" "lib/stdio/putchar.c" "lib/stdio/ungetc.c" "lib/stdlib/free.c" "lib/stdlib/realloc.c" "lib/string/memchr.c" "lib/string/memcmp.c" "lib/string/memcpy.c" "lib/string/memmove.c" "lib/string/memset.c" "lib/string/strcmp.c" "lib/string/strcpy.c" "lib/string/strncmp.c" "lib/posix/raise.c" "lib/linux/access.c" "lib/linux/brk.c" "lib/linux/chmod.c" "lib/linux/clock_gettime.c" "lib/linux/dup.c" "lib/linux/dup2.c" "lib/linux/execve.c" "lib/linux/fork.c" "lib/linux/fsync.c" "lib/linux/_getcwd.c" "lib/linux/gettimeofday.c" "lib/linux/ioctl3.c" "lib/linux/_open3.c" "lib/linux/malloc.c" "lib/linux/_read.c" "lib/linux/time.c" "lib/linux/unlink.c" "lib/linux/waitpid.c" "lib/linux/x86-mes-gcc/syscall.c" "lib/linux/getpid.c" "lib/linux/kill.c" "lib/ctype/islower.c" "lib/ctype/isupper.c" "lib/ctype/tolower.c" "lib/ctype/toupper.c" "lib/mes/abtod.c" "lib/mes/dtoab.c" "lib/mes/search-path.c" "lib/posix/execvp.c" "lib/stdio/fclose.c" "lib/stdio/fdopen.c" "lib/stdio/ferror.c" "lib/stdio/fflush.c" "lib/stdio/fopen.c" "lib/stdio/fprintf.c" "lib/stdio/fread.c" "lib/stdio/fseek.c" "lib/stdio/ftell.c" "lib/stdio/fwrite.c" "lib/stdio/printf.c" "lib/stdio/remove.c" "lib/stdio/snprintf.c" "lib/stdio/sprintf.c" "lib/stdio/sscanf.c" "lib/stdio/vfprintf.c" "lib/stdio/vprintf.c" "lib/stdio/vsnprintf.c" "lib/stdio/vsprintf.c" "lib/stdio/vsscanf.c" "lib/stdlib/calloc.c" "lib/stdlib/qsort.c" "lib/stdlib/strtod.c" "lib/stdlib/strtof.c" "lib/stdlib/strtol.c" "lib/stdlib/strtold.c" "lib/stdlib/strtoll.c" "lib/stdlib/strtoul.c" "lib/stdlib/strtoull.c" "lib/string/memmem.c" "lib/string/strcat.c" "lib/string/strchr.c" "lib/string/strlwr.c" "lib/string/strncpy.c" "lib/string/strrchr.c" "lib/string/strstr.c" "lib/string/strupr.c" "lib/stub/sigaction.c" "lib/stub/ldexp.c" "lib/stub/mprotect.c" "lib/stub/localtime.c" "lib/stub/sigemptyset.c" "lib/x86-mes-gcc/setjmp.c" "lib/linux/close.c" "lib/linux/rmdir.c" "lib/linux/stat.c" "lib/ctype/isalnum.c" "lib/ctype/isalpha.c" "lib/ctype/isascii.c" "lib/ctype/iscntrl.c" "lib/ctype/isgraph.c" "lib/ctype/isprint.c" "lib/ctype/ispunct.c" "lib/dirent/__getdirentries.c" "lib/dirent/closedir.c" "lib/dirent/opendir.c" "lib/dirent/readdir.c" "lib/math/ceil.c" "lib/math/fabs.c" "lib/math/floor.c" "lib/mes/fdgets.c" "lib/posix/alarm.c" "lib/posix/execl.c" "lib/posix/execlp.c" "lib/posix/mktemp.c" "lib/posix/sbrk.c" "lib/posix/sleep.c" "lib/posix/unsetenv.c" "lib/stdio/clearerr.c" "lib/stdio/feof.c" "lib/stdio/fgets.c" "lib/stdio/fileno.c" "lib/stdio/freopen.c" "lib/stdio/fscanf.c" "lib/stdio/perror.c" "lib/stdio/vfscanf.c" "lib/stdlib/__exit.c" "lib/stdlib/abort.c" "lib/stdlib/abs.c" "lib/stdlib/alloca.c" "lib/stdlib/atexit.c" "lib/stdlib/atof.c" "lib/stdlib/atol.c" "lib/stdlib/mbstowcs.c" "lib/string/bcmp.c" "lib/string/bcopy.c" "lib/string/bzero.c" "lib/string/index.c" "lib/string/rindex.c" "lib/string/strcspn.c" "lib/string/strdup.c" "lib/string/strerror.c" "lib/string/strncat.c" "lib/string/strpbrk.c" "lib/string/strspn.c" "lib/stub/__cleanup.c" "lib/stub/atan2.c" "lib/stub/bsearch.c" "lib/stub/chown.c" "lib/stub/cos.c" "lib/stub/ctime.c" "lib/stub/exp.c" "lib/stub/fpurge.c" "lib/stub/freadahead.c" "lib/stub/frexp.c" "lib/stub/getgrgid.c" "lib/stub/getgrnam.c" "lib/stub/getlogin.c" "lib/stub/getpgid.c" "lib/stub/getpgrp.c" "lib/stub/getpwnam.c" "lib/stub/getpwuid.c" "lib/stub/gmtime.c" "lib/stub/log.c" "lib/stub/mktime.c" "lib/stub/modf.c" "lib/stub/pclose.c" "lib/stub/popen.c" "lib/stub/pow.c" "lib/stub/rand.c" "lib/stub/rewind.c" "lib/stub/setbuf.c" "lib/stub/setgrent.c" "lib/stub/setlocale.c" "lib/stub/setvbuf.c" "lib/stub/sigaddset.c" "lib/stub/sigblock.c" "lib/stub/sigdelset.c" "lib/stub/sigsetmask.c" "lib/stub/sin.c" "lib/stub/sqrt.c" "lib/stub/strftime.c" "lib/stub/sys_siglist.c" "lib/stub/system.c" "lib/stub/times.c" "lib/stub/ttyname.c" "lib/stub/umask.c" "lib/stub/utime.c" "lib/linux/chdir.c" "lib/linux/fcntl.c" "lib/linux/fstat.c" "lib/linux/getdents.c" "lib/linux/getegid.c" "lib/linux/geteuid.c" "lib/linux/getgid.c" "lib/linux/getppid.c" "lib/linux/getrusage.c" "lib/linux/getuid.c" "lib/linux/ioctl.c" "lib/linux/link.c" "lib/linux/lstat.c" "lib/linux/mkdir.c" "lib/linux/mknod.c" "lib/linux/nanosleep.c" "lib/linux/pipe.c" "lib/linux/readlink.c" "lib/linux/rename.c" "lib/linux/setgid.c" "lib/linux/settimer.c" "lib/linux/setuid.c" "lib/linux/signal.c" "lib/linux/sigprogmask.c" "lib/linux/symlink.c" ]; - mes_SOURCES = [ "src/builtins.c" "src/cc.c" "src/core.c" "src/display.c" "src/eval-apply.c" "src/gc.c" "src/globals.c" "src/hash.c" "src/lib.c" "src/math.c" "src/mes.c" "src/module.c" "src/posix.c" "src/reader.c" "src/stack.c" "src/string.c" "src/struct.c" "src/symbol.c" "src/vector.c" ]; + libc_mini_SOURCES = [ + "lib/mes/__init_io.c" + "lib/mes/eputs.c" + "lib/mes/oputs.c" + "lib/mes/globals.c" + "lib/stdlib/exit.c" + "lib/linux/x86-mes-gcc/_exit.c" + "lib/linux/x86-mes-gcc/_write.c" + "lib/stdlib/puts.c" + "lib/string/strlen.c" + "lib/mes/write.c" + ]; + libmescc_SOURCES = [ + "lib/mes/globals.c" + "lib/linux/x86-mes-gcc/syscall-internal.c" + ]; + libtcc1_SOURCES = [ + "lib/libtcc1.c" + ]; + libc_SOURCES = [ + "lib/mes/__init_io.c" + "lib/mes/eputs.c" + "lib/mes/oputs.c" + "lib/mes/globals.c" + "lib/stdlib/exit.c" + "lib/linux/x86-mes-gcc/_exit.c" + "lib/linux/x86-mes-gcc/_write.c" + "lib/stdlib/puts.c" + "lib/string/strlen.c" + "lib/ctype/isnumber.c" + "lib/mes/abtol.c" + "lib/mes/cast.c" + "lib/mes/eputc.c" + "lib/mes/fdgetc.c" + "lib/mes/fdputc.c" + "lib/mes/fdputs.c" + "lib/mes/fdungetc.c" + "lib/mes/itoa.c" + "lib/mes/ltoa.c" + "lib/mes/ltoab.c" + "lib/mes/mes_open.c" + "lib/mes/ntoab.c" + "lib/mes/oputc.c" + "lib/mes/ultoa.c" + "lib/mes/utoa.c" + "lib/stub/__raise.c" + "lib/ctype/isdigit.c" + "lib/ctype/isspace.c" + "lib/ctype/isxdigit.c" + "lib/mes/assert_msg.c" + "lib/posix/write.c" + "lib/stdlib/atoi.c" + "lib/linux/lseek.c" + "lib/mes/__assert_fail.c" + "lib/mes/__buffered_read.c" + "lib/mes/__mes_debug.c" + "lib/posix/execv.c" + "lib/posix/getcwd.c" + "lib/posix/getenv.c" + "lib/posix/isatty.c" + "lib/posix/open.c" + "lib/posix/buffered-read.c" + "lib/posix/setenv.c" + "lib/posix/wait.c" + "lib/stdio/fgetc.c" + "lib/stdio/fputc.c" + "lib/stdio/fputs.c" + "lib/stdio/getc.c" + "lib/stdio/getchar.c" + "lib/stdio/putc.c" + "lib/stdio/putchar.c" + "lib/stdio/ungetc.c" + "lib/stdlib/free.c" + "lib/stdlib/realloc.c" + "lib/string/memchr.c" + "lib/string/memcmp.c" + "lib/string/memcpy.c" + "lib/string/memmove.c" + "lib/string/memset.c" + "lib/string/strcmp.c" + "lib/string/strcpy.c" + "lib/string/strncmp.c" + "lib/posix/raise.c" + "lib/linux/access.c" + "lib/linux/brk.c" + "lib/linux/chmod.c" + "lib/linux/clock_gettime.c" + "lib/linux/dup.c" + "lib/linux/dup2.c" + "lib/linux/execve.c" + "lib/linux/fork.c" + "lib/linux/fsync.c" + "lib/linux/_getcwd.c" + "lib/linux/gettimeofday.c" + "lib/linux/ioctl3.c" + "lib/linux/_open3.c" + "lib/linux/malloc.c" + "lib/linux/_read.c" + "lib/linux/time.c" + "lib/linux/unlink.c" + "lib/linux/wait4.c" + "lib/linux/waitpid.c" + "lib/linux/x86-mes-gcc/syscall.c" + "lib/linux/getpid.c" + "lib/linux/kill.c" + ]; + libc_tcc_SOURCES = [ + "lib/mes/__init_io.c" + "lib/mes/eputs.c" + "lib/mes/oputs.c" + "lib/mes/globals.c" + "lib/stdlib/exit.c" + "lib/linux/x86-mes-gcc/_exit.c" + "lib/linux/x86-mes-gcc/_write.c" + "lib/stdlib/puts.c" + "lib/string/strlen.c" + "lib/ctype/isnumber.c" + "lib/mes/abtol.c" + "lib/mes/cast.c" + "lib/mes/eputc.c" + "lib/mes/fdgetc.c" + "lib/mes/fdputc.c" + "lib/mes/fdputs.c" + "lib/mes/fdungetc.c" + "lib/mes/itoa.c" + "lib/mes/ltoa.c" + "lib/mes/ltoab.c" + "lib/mes/mes_open.c" + "lib/mes/ntoab.c" + "lib/mes/oputc.c" + "lib/mes/ultoa.c" + "lib/mes/utoa.c" + "lib/stub/__raise.c" + "lib/ctype/isdigit.c" + "lib/ctype/isspace.c" + "lib/ctype/isxdigit.c" + "lib/mes/assert_msg.c" + "lib/posix/write.c" + "lib/stdlib/atoi.c" + "lib/linux/lseek.c" + "lib/mes/__assert_fail.c" + "lib/mes/__buffered_read.c" + "lib/mes/__mes_debug.c" + "lib/posix/execv.c" + "lib/posix/getcwd.c" + "lib/posix/getenv.c" + "lib/posix/isatty.c" + "lib/posix/open.c" + "lib/posix/buffered-read.c" + "lib/posix/setenv.c" + "lib/posix/wait.c" + "lib/stdio/fgetc.c" + "lib/stdio/fputc.c" + "lib/stdio/fputs.c" + "lib/stdio/getc.c" + "lib/stdio/getchar.c" + "lib/stdio/putc.c" + "lib/stdio/putchar.c" + "lib/stdio/ungetc.c" + "lib/stdlib/free.c" + "lib/stdlib/realloc.c" + "lib/string/memchr.c" + "lib/string/memcmp.c" + "lib/string/memcpy.c" + "lib/string/memmove.c" + "lib/string/memset.c" + "lib/string/strcmp.c" + "lib/string/strcpy.c" + "lib/string/strncmp.c" + "lib/posix/raise.c" + "lib/linux/access.c" + "lib/linux/brk.c" + "lib/linux/chmod.c" + "lib/linux/clock_gettime.c" + "lib/linux/dup.c" + "lib/linux/dup2.c" + "lib/linux/execve.c" + "lib/linux/fork.c" + "lib/linux/fsync.c" + "lib/linux/_getcwd.c" + "lib/linux/gettimeofday.c" + "lib/linux/ioctl3.c" + "lib/linux/_open3.c" + "lib/linux/malloc.c" + "lib/linux/_read.c" + "lib/linux/time.c" + "lib/linux/unlink.c" + "lib/linux/wait4.c" + "lib/linux/waitpid.c" + "lib/linux/x86-mes-gcc/syscall.c" + "lib/linux/getpid.c" + "lib/linux/kill.c" + "lib/ctype/islower.c" + "lib/ctype/isupper.c" + "lib/ctype/tolower.c" + "lib/ctype/toupper.c" + "lib/mes/abtod.c" + "lib/mes/dtoab.c" + "lib/mes/search-path.c" + "lib/posix/execvp.c" + "lib/stdio/fclose.c" + "lib/stdio/fdopen.c" + "lib/stdio/ferror.c" + "lib/stdio/fflush.c" + "lib/stdio/fopen.c" + "lib/stdio/fprintf.c" + "lib/stdio/fread.c" + "lib/stdio/fseek.c" + "lib/stdio/ftell.c" + "lib/stdio/fwrite.c" + "lib/stdio/printf.c" + "lib/stdio/remove.c" + "lib/stdio/snprintf.c" + "lib/stdio/sprintf.c" + "lib/stdio/sscanf.c" + "lib/stdio/vfprintf.c" + "lib/stdio/vprintf.c" + "lib/stdio/vsnprintf.c" + "lib/stdio/vsprintf.c" + "lib/stdio/vsscanf.c" + "lib/stdlib/calloc.c" + "lib/stdlib/qsort.c" + "lib/stdlib/strtod.c" + "lib/stdlib/strtof.c" + "lib/stdlib/strtol.c" + "lib/stdlib/strtold.c" + "lib/stdlib/strtoll.c" + "lib/stdlib/strtoul.c" + "lib/stdlib/strtoull.c" + "lib/string/memmem.c" + "lib/string/strcat.c" + "lib/string/strchr.c" + "lib/string/strlwr.c" + "lib/string/strncpy.c" + "lib/string/strrchr.c" + "lib/string/strstr.c" + "lib/string/strupr.c" + "lib/stub/sigaction.c" + "lib/stub/ldexp.c" + "lib/stub/mprotect.c" + "lib/stub/localtime.c" + "lib/stub/sigemptyset.c" + "lib/x86-mes-gcc/setjmp.c" + "lib/linux/close.c" + "lib/linux/rmdir.c" + "lib/linux/stat.c" + ]; + libc_gnu_SOURCES = [ + "lib/mes/__init_io.c" + "lib/mes/eputs.c" + "lib/mes/oputs.c" + "lib/mes/globals.c" + "lib/stdlib/exit.c" + "lib/linux/x86-mes-gcc/_exit.c" + "lib/linux/x86-mes-gcc/_write.c" + "lib/stdlib/puts.c" + "lib/string/strlen.c" + "lib/ctype/isnumber.c" + "lib/mes/abtol.c" + "lib/mes/cast.c" + "lib/mes/eputc.c" + "lib/mes/fdgetc.c" + "lib/mes/fdputc.c" + "lib/mes/fdputs.c" + "lib/mes/fdungetc.c" + "lib/mes/itoa.c" + "lib/mes/ltoa.c" + "lib/mes/ltoab.c" + "lib/mes/mes_open.c" + "lib/mes/ntoab.c" + "lib/mes/oputc.c" + "lib/mes/ultoa.c" + "lib/mes/utoa.c" + "lib/stub/__raise.c" + "lib/ctype/isdigit.c" + "lib/ctype/isspace.c" + "lib/ctype/isxdigit.c" + "lib/mes/assert_msg.c" + "lib/posix/write.c" + "lib/stdlib/atoi.c" + "lib/linux/lseek.c" + "lib/mes/__assert_fail.c" + "lib/mes/__buffered_read.c" + "lib/mes/__mes_debug.c" + "lib/posix/execv.c" + "lib/posix/getcwd.c" + "lib/posix/getenv.c" + "lib/posix/isatty.c" + "lib/posix/open.c" + "lib/posix/buffered-read.c" + "lib/posix/setenv.c" + "lib/posix/wait.c" + "lib/stdio/fgetc.c" + "lib/stdio/fputc.c" + "lib/stdio/fputs.c" + "lib/stdio/getc.c" + "lib/stdio/getchar.c" + "lib/stdio/putc.c" + "lib/stdio/putchar.c" + "lib/stdio/ungetc.c" + "lib/stdlib/free.c" + "lib/stdlib/realloc.c" + "lib/string/memchr.c" + "lib/string/memcmp.c" + "lib/string/memcpy.c" + "lib/string/memmove.c" + "lib/string/memset.c" + "lib/string/strcmp.c" + "lib/string/strcpy.c" + "lib/string/strncmp.c" + "lib/posix/raise.c" + "lib/linux/access.c" + "lib/linux/brk.c" + "lib/linux/chmod.c" + "lib/linux/clock_gettime.c" + "lib/linux/dup.c" + "lib/linux/dup2.c" + "lib/linux/execve.c" + "lib/linux/fork.c" + "lib/linux/fsync.c" + "lib/linux/_getcwd.c" + "lib/linux/gettimeofday.c" + "lib/linux/ioctl3.c" + "lib/linux/_open3.c" + "lib/linux/malloc.c" + "lib/linux/_read.c" + "lib/linux/time.c" + "lib/linux/unlink.c" + "lib/linux/wait4.c" + "lib/linux/waitpid.c" + "lib/linux/x86-mes-gcc/syscall.c" + "lib/linux/getpid.c" + "lib/linux/kill.c" + "lib/ctype/islower.c" + "lib/ctype/isupper.c" + "lib/ctype/tolower.c" + "lib/ctype/toupper.c" + "lib/mes/abtod.c" + "lib/mes/dtoab.c" + "lib/mes/search-path.c" + "lib/posix/execvp.c" + "lib/stdio/fclose.c" + "lib/stdio/fdopen.c" + "lib/stdio/ferror.c" + "lib/stdio/fflush.c" + "lib/stdio/fopen.c" + "lib/stdio/fprintf.c" + "lib/stdio/fread.c" + "lib/stdio/fseek.c" + "lib/stdio/ftell.c" + "lib/stdio/fwrite.c" + "lib/stdio/printf.c" + "lib/stdio/remove.c" + "lib/stdio/snprintf.c" + "lib/stdio/sprintf.c" + "lib/stdio/sscanf.c" + "lib/stdio/vfprintf.c" + "lib/stdio/vprintf.c" + "lib/stdio/vsnprintf.c" + "lib/stdio/vsprintf.c" + "lib/stdio/vsscanf.c" + "lib/stdlib/calloc.c" + "lib/stdlib/qsort.c" + "lib/stdlib/strtod.c" + "lib/stdlib/strtof.c" + "lib/stdlib/strtol.c" + "lib/stdlib/strtold.c" + "lib/stdlib/strtoll.c" + "lib/stdlib/strtoul.c" + "lib/stdlib/strtoull.c" + "lib/string/memmem.c" + "lib/string/strcat.c" + "lib/string/strchr.c" + "lib/string/strlwr.c" + "lib/string/strncpy.c" + "lib/string/strrchr.c" + "lib/string/strstr.c" + "lib/string/strupr.c" + "lib/stub/sigaction.c" + "lib/stub/ldexp.c" + "lib/stub/mprotect.c" + "lib/stub/localtime.c" + "lib/stub/sigemptyset.c" + "lib/x86-mes-gcc/setjmp.c" + "lib/linux/close.c" + "lib/linux/rmdir.c" + "lib/linux/stat.c" + "lib/ctype/isalnum.c" + "lib/ctype/isalpha.c" + "lib/ctype/isascii.c" + "lib/ctype/iscntrl.c" + "lib/ctype/isgraph.c" + "lib/ctype/isprint.c" + "lib/ctype/ispunct.c" + "lib/dirent/__getdirentries.c" + "lib/dirent/closedir.c" + "lib/dirent/opendir.c" + "lib/dirent/readdir.c" + "lib/math/ceil.c" + "lib/math/fabs.c" + "lib/math/floor.c" + "lib/mes/fdgets.c" + "lib/posix/alarm.c" + "lib/posix/execl.c" + "lib/posix/execlp.c" + "lib/posix/mktemp.c" + "lib/posix/sbrk.c" + "lib/posix/sleep.c" + "lib/posix/unsetenv.c" + "lib/stdio/clearerr.c" + "lib/stdio/feof.c" + "lib/stdio/fgets.c" + "lib/stdio/fileno.c" + "lib/stdio/freopen.c" + "lib/stdio/fscanf.c" + "lib/stdio/perror.c" + "lib/stdio/vfscanf.c" + "lib/stdlib/__exit.c" + "lib/stdlib/abort.c" + "lib/stdlib/abs.c" + "lib/stdlib/alloca.c" + "lib/stdlib/atexit.c" + "lib/stdlib/atof.c" + "lib/stdlib/atol.c" + "lib/stdlib/mbstowcs.c" + "lib/string/bcmp.c" + "lib/string/bcopy.c" + "lib/string/bzero.c" + "lib/string/index.c" + "lib/string/rindex.c" + "lib/string/strcspn.c" + "lib/string/strdup.c" + "lib/string/strerror.c" + "lib/string/strncat.c" + "lib/string/strpbrk.c" + "lib/string/strspn.c" + "lib/stub/__cleanup.c" + "lib/stub/atan2.c" + "lib/stub/bsearch.c" + "lib/stub/chown.c" + "lib/stub/cos.c" + "lib/stub/ctime.c" + "lib/stub/exp.c" + "lib/stub/fpurge.c" + "lib/stub/freadahead.c" + "lib/stub/frexp.c" + "lib/stub/getgrgid.c" + "lib/stub/getgrnam.c" + "lib/stub/getlogin.c" + "lib/stub/getpgid.c" + "lib/stub/getpgrp.c" + "lib/stub/getpwnam.c" + "lib/stub/getpwuid.c" + "lib/stub/gmtime.c" + "lib/stub/log.c" + "lib/stub/mktime.c" + "lib/stub/modf.c" + "lib/stub/pclose.c" + "lib/stub/popen.c" + "lib/stub/pow.c" + "lib/stub/rand.c" + "lib/stub/rewind.c" + "lib/stub/setbuf.c" + "lib/stub/setgrent.c" + "lib/stub/setlocale.c" + "lib/stub/setvbuf.c" + "lib/stub/sigaddset.c" + "lib/stub/sigblock.c" + "lib/stub/sigdelset.c" + "lib/stub/sigsetmask.c" + "lib/stub/sin.c" + "lib/stub/sqrt.c" + "lib/stub/strftime.c" + "lib/stub/sys_siglist.c" + "lib/stub/system.c" + "lib/stub/times.c" + "lib/stub/ttyname.c" + "lib/stub/umask.c" + "lib/stub/utime.c" + "lib/linux/chdir.c" + "lib/linux/fcntl.c" + "lib/linux/fstat.c" + "lib/linux/getdents.c" + "lib/linux/getegid.c" + "lib/linux/geteuid.c" + "lib/linux/getgid.c" + "lib/linux/getppid.c" + "lib/linux/getrusage.c" + "lib/linux/getuid.c" + "lib/linux/ioctl.c" + "lib/linux/link.c" + "lib/linux/lstat.c" + "lib/linux/mkdir.c" + "lib/linux/mknod.c" + "lib/linux/nanosleep.c" + "lib/linux/pipe.c" + "lib/linux/readlink.c" + "lib/linux/rename.c" + "lib/linux/setgid.c" + "lib/linux/settimer.c" + "lib/linux/setuid.c" + "lib/linux/signal.c" + "lib/linux/sigprogmask.c" + "lib/linux/symlink.c" + ]; + mes_SOURCES = [ + "src/builtins.c" + "src/cc.c" + "src/core.c" + "src/display.c" + "src/eval-apply.c" + "src/gc.c" + "src/globals.c" + "src/hash.c" + "src/lib.c" + "src/math.c" + "src/mes.c" + "src/module.c" + "src/posix.c" + "src/reader.c" + "src/stack.c" + "src/string.c" + "src/struct.c" + "src/symbol.c" + "src/vector.c" + ]; }; } diff --git a/nixpkgs/pkgs/os-specific/linux/nix-ld/default.nix b/nixpkgs/pkgs/os-specific/linux/nix-ld/default.nix index 84685e77aaea..5eebe6773147 100644 --- a/nixpkgs/pkgs/os-specific/linux/nix-ld/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/nix-ld/default.nix @@ -52,5 +52,9 @@ stdenv.mkDerivation rec { license = licenses.mit; maintainers = with maintainers; [ mic92 ]; platforms = platforms.linux; + + # 32 bit builds are broken due to a missing #define value: + # https://github.com/Mic92/nix-ld/issues/64 + broken = stdenv.is32bit; }; } diff --git a/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.8 b/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.8 index d947361b3bc5..124c01046ea3 100644 --- a/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.8 +++ b/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.8 @@ -200,9 +200,7 @@ partition. .It Cm list-generations Op Fl -json List the available generations in a similar manner to the boot loader menu. It shows the generation number, build date and time, NixOS version, -kernel version and the configuration revision. This is useful to get -information e.g. for which generation to roll back to with -.Ic nixos-rebuild switch Fl -generation Ar N +kernel version and the configuration revision. There is also a json version of output available. .El . diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix index 7fec21a8237b..ecfc04115d00 100644 --- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -36,12 +36,12 @@ rec { }; latest = selectHighestVersion production (generic { - version = "545.29.02"; - sha256_64bit = "sha256-RncPlaSjhvBFUCOzWdXSE3PAfRPCIrWAXyJMdLPKuIU="; - sha256_aarch64 = "sha256-Y2RDOuDtiIclr06gmLrPDfE5VFmFamXxiIIKtKAewro="; - openSha256 = "sha256-PukpOBtG5KvZKWYfJHVQO6SuToJUd/rkjpOlEi8pSmk="; - settingsSha256 = "sha256-zj173HCZJaxAbVV/A2sbJ9IPdT1+3yrwyxD+AQdkSD8="; - persistencedSha256 = "sha256-mmMi2pfwzI1WYOffMVdD0N1HfbswTGg7o57x9/IiyVU="; + version = "545.29.06"; + sha256_64bit = "sha256-grxVZ2rdQ0FsFG5wxiTI3GrxbMBMcjhoDFajDgBFsXs="; + sha256_aarch64 = "sha256-o6ZSjM4gHcotFe+nhFTePPlXm0+RFf64dSIDt+RmeeQ="; + openSha256 = "sha256-h4CxaU7EYvBYVbbdjiixBhKf096LyatU6/V6CeY9NKE="; + settingsSha256 = "sha256-YBaKpRQWSdXG8Usev8s3GYHCPqL8PpJeF6gpa2droWY="; + persistencedSha256 = "sha256-AiYrrOgMagIixu3Ss2rePdoL24CKORFvzgZY3jlNbwM="; patchFlags = [ "-p1" "-d" "kernel" ]; patches = []; diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/generic.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/generic.nix index 8ec292f27251..c8957d6193a5 100644 --- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/generic.nix +++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/generic.nix @@ -22,13 +22,23 @@ , prePatch ? "" , postPatch ? null , patchFlags ? null -, patches ? [] +, patches ? [ ] , broken ? false , brokenOpen ? broken }@args: -{ lib, stdenv, callPackage, pkgs, pkgsi686Linux, fetchurl -, kernel ? null, perl, nukeReferences, which, libarchive +{ lib +, stdenv +, callPackage +, pkgs +, pkgsi686Linux +, fetchurl +, fetchzip +, kernel ? null +, perl +, nukeReferences +, which +, libarchive , # Whether to build the libraries only (i.e. not the kernel module or # nvidia-settings). Used to support 32-bit binaries on 64-bit # Linux. @@ -42,7 +52,8 @@ # firmware , firmware ? openSha256 != null || useFabricmanager # Whether the user accepts the NVIDIA Software License -, config, acceptLicense ? config.nvidia.acceptLicense or false +, config +, acceptLicense ? config.nvidia.acceptLicense or false }: with lib; @@ -60,9 +71,18 @@ let i686bundled = versionAtLeast version "391" && !disable32Bit; libPathFor = pkgs: lib.makeLibraryPath (with pkgs; [ - libdrm xorg.libXext xorg.libX11 - xorg.libXv xorg.libXrandr xorg.libxcb zlib stdenv.cc.cc - wayland mesa libGL openssl + libdrm + xorg.libXext + xorg.libX11 + xorg.libXv + xorg.libXrandr + xorg.libxcb + zlib + stdenv.cc.cc + wayland + mesa + libGL + openssl dbus # for nvidia-powerd ]); @@ -94,29 +114,32 @@ let src = if !acceptLicense && (openSha256 == null) then throwLicense else if stdenv.hostPlatform.system == "x86_64-linux" then - fetchurl { - urls = if args ? url then [ args.url ] else [ - "https://us.download.nvidia.com/XFree86/Linux-x86_64/${version}/NVIDIA-Linux-x86_64-${version}${pkgSuffix}.run" - "https://download.nvidia.com/XFree86/Linux-x86_64/${version}/NVIDIA-Linux-x86_64-${version}${pkgSuffix}.run" - ]; - sha256 = sha256_64bit; - } + fetchurl + { + urls = if args ? url then [ args.url ] else [ + "https://us.download.nvidia.com/XFree86/Linux-x86_64/${version}/NVIDIA-Linux-x86_64-${version}${pkgSuffix}.run" + "https://download.nvidia.com/XFree86/Linux-x86_64/${version}/NVIDIA-Linux-x86_64-${version}${pkgSuffix}.run" + ]; + sha256 = sha256_64bit; + } else if stdenv.hostPlatform.system == "i686-linux" then - fetchurl { - urls = if args ? url then [ args.url ] else [ - "https://us.download.nvidia.com/XFree86/Linux-x86/${version}/NVIDIA-Linux-x86-${version}${pkgSuffix}.run" - "https://download.nvidia.com/XFree86/Linux-x86/${version}/NVIDIA-Linux-x86-${version}${pkgSuffix}.run" - ]; - sha256 = sha256_32bit; - } + fetchurl + { + urls = if args ? url then [ args.url ] else [ + "https://us.download.nvidia.com/XFree86/Linux-x86/${version}/NVIDIA-Linux-x86-${version}${pkgSuffix}.run" + "https://download.nvidia.com/XFree86/Linux-x86/${version}/NVIDIA-Linux-x86-${version}${pkgSuffix}.run" + ]; + sha256 = sha256_32bit; + } else if stdenv.hostPlatform.system == "aarch64-linux" && sha256_aarch64 != null then - fetchurl { - urls = if args ? url then [ args.url ] else [ - "https://us.download.nvidia.com/XFree86/aarch64/${version}/NVIDIA-Linux-aarch64-${version}${pkgSuffix}.run" - "https://download.nvidia.com/XFree86/Linux-aarch64/${version}/NVIDIA-Linux-aarch64-${version}${pkgSuffix}.run" - ]; - sha256 = sha256_aarch64; - } + fetchurl + { + urls = if args ? url then [ args.url ] else [ + "https://us.download.nvidia.com/XFree86/aarch64/${version}/NVIDIA-Linux-aarch64-${version}${pkgSuffix}.run" + "https://download.nvidia.com/XFree86/Linux-aarch64/${version}/NVIDIA-Linux-aarch64-${version}${pkgSuffix}.run" + ]; + sha256 = sha256_aarch64; + } else throw "nvidia-x11 does not support platform ${stdenv.hostPlatform.system}"; patches = if libsOnly then null else patches; @@ -126,9 +149,9 @@ let inherit i686bundled; outputs = [ "out" ] - ++ optional i686bundled "lib32" - ++ optional (!libsOnly) "bin" - ++ optional (!libsOnly && firmware) "firmware"; + ++ optional i686bundled "lib32" + ++ optional (!libsOnly) "bin" + ++ optional (!libsOnly && firmware) "firmware"; outputDev = if libsOnly then null else "bin"; kernel = if libsOnly then null else kernel.dev; @@ -154,29 +177,57 @@ let disallowedReferences = optionals (!libsOnly) [ kernel.dev ]; - passthru = { - open = mapNullable (hash: callPackage ./open.nix { - inherit hash; - nvidia_x11 = self; - broken = brokenOpen; - }) openSha256; - settings = if useSettings then - (if settings32Bit then pkgsi686Linux.callPackage else callPackage) (import ./settings.nix self settingsSha256) { - withGtk2 = preferGtk2; - withGtk3 = !preferGtk2; - } else {}; - persistenced = if usePersistenced then - mapNullable (hash: callPackage (import ./persistenced.nix self hash) { }) persistencedSha256 - else {}; - fabricmanager = if useFabricmanager then - mapNullable (hash: callPackage (import ./fabricmanager.nix self hash) { }) fabricmanagerSha256 - else {}; - inherit persistencedVersion settingsVersion; - compressFirmware = false; - ibtSupport = ibtSupport || (lib.versionAtLeast version "530"); - } // optionalAttrs (!i686bundled) { - inherit lib32; - }; + passthru = + let + fetchFromGithubOrNvidia = { owner, repo, rev, ... }@args: + let + args' = builtins.removeAttrs args [ "owner" "repo" "rev" ]; + baseUrl = "https://github.com/${owner}/${repo}"; + in + fetchzip (args' // { + urls = [ + "${baseUrl}/archive/${rev}.tar.gz" + "https://download.nvidia.com/XFree86/${repo}/${repo}-${rev}.tar.bz2" + ]; + # github and nvidia use different compression algorithms, + # use an invalid file extension to force detection. + extension = "tar.??"; + }); + in + { + open = mapNullable + (hash: callPackage ./open.nix { + inherit hash; + nvidia_x11 = self; + broken = brokenOpen; + }) + openSha256; + settings = + if useSettings then + (if settings32Bit then pkgsi686Linux.callPackage else callPackage) (import ./settings.nix self settingsSha256) + { + withGtk2 = preferGtk2; + withGtk3 = !preferGtk2; + fetchFromGitHub = fetchFromGithubOrNvidia; + } else { }; + persistenced = + if usePersistenced then + mapNullable + (hash: callPackage (import ./persistenced.nix self hash) { + fetchFromGitHub = fetchFromGithubOrNvidia; + }) + persistencedSha256 + else { }; + fabricmanager = + if useFabricmanager then + mapNullable (hash: callPackage (import ./fabricmanager.nix self hash) { }) fabricmanagerSha256 + else { }; + inherit persistencedVersion settingsVersion; + compressFirmware = false; + ibtSupport = ibtSupport || (lib.versionAtLeast version "530"); + } // optionalAttrs (!i686bundled) { + inherit lib32; + }; meta = with lib; { homepage = "https://www.nvidia.com/object/unix.html"; @@ -191,4 +242,5 @@ let }; }; -in self +in +self diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/open.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/open.nix index 0625985c908f..a6795c3fd5e7 100644 --- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/open.nix +++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/open.nix @@ -1,7 +1,6 @@ { stdenv , lib , fetchFromGitHub -, fetchpatch , kernel , nvidia_x11 , hash @@ -19,13 +18,6 @@ stdenv.mkDerivation ({ inherit hash; }; - patches = lib.optionals (nvidia_x11.version == "545.29.02")[ - (fetchpatch { - url = "https://github.com/NVIDIA/open-gpu-kernel-modules/files/13310810/0001-nvkms-initialize-brightnessType-in-_BACKLIGHT_BRIGHT.patch.txt"; - hash = "sha256-9N+DbyT4VmGNTHXWf23PJU4YWZS+0JK7yqkmkpnINPk="; - }) - ]; - nativeBuildInputs = kernel.moduleBuildDependencies; makeFlags = kernel.makeFlags ++ [ diff --git a/nixpkgs/pkgs/os-specific/linux/pam/default.nix b/nixpkgs/pkgs/os-specific/linux/pam/default.nix index a35f40be5955..10864df2597b 100644 --- a/nixpkgs/pkgs/os-specific/linux/pam/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/pam/default.nix @@ -26,6 +26,12 @@ stdenv.mkDerivation rec { }) ]; + # Case-insensitivity workaround for https://github.com/linux-pam/linux-pam/issues/569 + postPatch = if stdenv.buildPlatform.isDarwin && stdenv.buildPlatform != stdenv.hostPlatform then '' + rm CHANGELOG + touch ChangeLog + '' else null; + outputs = [ "out" "doc" "man" /* "modules" */ ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/nixpkgs/pkgs/os-specific/linux/powerstat/default.nix b/nixpkgs/pkgs/os-specific/linux/powerstat/default.nix index 901a522fe8fa..605b97e4be2f 100644 --- a/nixpkgs/pkgs/os-specific/linux/powerstat/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/powerstat/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "powerstat"; - version = "0.03.03"; + version = "0.04.01"; src = fetchFromGitHub { owner = "ColinIanKing"; repo = pname; rev = "V${version}"; - hash = "sha256-D8VwczXHUHQ8p03IgYW3t8hOIGHKp0n1c7FpAUWua74="; + hash = "sha256-Wf6V2zaUrirzd3hfkq74mHNqlzxyr8p4B4qe0kLozM8="; }; installFlags = [ diff --git a/nixpkgs/pkgs/os-specific/linux/rasdaemon/default.nix b/nixpkgs/pkgs/os-specific/linux/rasdaemon/default.nix index 35201d49b7f0..c65a11fe8525 100644 --- a/nixpkgs/pkgs/os-specific/linux/rasdaemon/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/rasdaemon/default.nix @@ -1,22 +1,22 @@ { lib, stdenv, fetchFromGitHub -, autoreconfHook +, autoreconfHook, pkg-config , glibcLocales, kmod, coreutils, perl -, dmidecode, hwdata, sqlite +, dmidecode, hwdata, sqlite, libtraceevent , nixosTests }: stdenv.mkDerivation rec { pname = "rasdaemon"; - version = "0.7.0"; + version = "0.8.0"; src = fetchFromGitHub { owner = "mchehab"; repo = "rasdaemon"; rev = "v${version}"; - sha256 = "sha256-oLwR+bNgKceVgLTOLYiKHNUkRmLouaQshdp/8UJnfqg="; + sha256 = "sha256-BX3kc629FOh5cnD6Sa/69wKdhmhT3Rpz5ZvhnD4MclQ="; }; - nativeBuildInputs = [ autoreconfHook ]; + nativeBuildInputs = [ autoreconfHook pkg-config ]; buildInputs = [ coreutils @@ -24,6 +24,7 @@ stdenv.mkDerivation rec { hwdata kmod sqlite + libtraceevent (perl.withPackages (ps: with ps; [ DBI DBDSQLite ])) ] ++ lib.optionals (!stdenv.isAarch64) [ dmidecode ]; @@ -32,20 +33,8 @@ stdenv.mkDerivation rec { "--sysconfdir=/etc" "--localstatedir=/var" "--with-sysconfdefdir=${placeholder "out"}/etc/sysconfig" - "--enable-sqlite3" - "--enable-aer" - "--enable-mce" - "--enable-extlog" - "--enable-non-standard" - "--enable-abrt-report" - "--enable-hisi-ns-decode" - "--enable-devlink" - "--enable-diskerror" - "--enable-memory-failure" - "--enable-memory-ce-pfa" - "--enable-amp-ns-decode" - ] - ++ lib.optionals (stdenv.isAarch64) [ "--enable-arm" ]; + "--enable-all" + ]; # The installation attempts to create the following directories: # /var/lib/rasdaemon diff --git a/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix b/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix index e400e5eba7d7..5d75249d616c 100644 --- a/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "rdma-core"; - version = "48.0"; + version = "49.0"; src = fetchFromGitHub { owner = "linux-rdma"; repo = "rdma-core"; rev = "v${finalAttrs.version}"; - hash = "sha256-/ltuZ9OiwJJ6CuAd6hqJwo+wETOgZ4UcW50BrjudF+k="; + hash = "sha256-4095U7fLIvixUY3K6l0iFJh7oWwwKAX/WcD3ziqdsLg="; }; strictDeps = true; diff --git a/nixpkgs/pkgs/os-specific/linux/sssd/default.nix b/nixpkgs/pkgs/os-specific/linux/sssd/default.nix index 62db758c7aa7..ddae189f6528 100644 --- a/nixpkgs/pkgs/os-specific/linux/sssd/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/sssd/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, makeWrapper, glibc, augeas, dnsutils, c-ares, curl, +{ lib, stdenv, fetchFromGitHub, autoreconfHook, makeWrapper, glibc, adcli, augeas, dnsutils, c-ares, curl, cyrus_sasl, ding-libs, libnl, libunistring, nss, samba, nfs-utils, doxygen, python3, pam, popt, talloc, tdb, tevent, pkg-config, ldb, openldap, pcre2, libkrb5, cifs-utils, glib, keyutils, dbus, fakeroot, libxslt, libxml2, @@ -27,7 +27,10 @@ stdenv.mkDerivation (finalAttrs: { ''; # Something is looking for <libxml/foo.h> instead of <libxml2/libxml/foo.h> - env.NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2"; + env.NIX_CFLAGS_COMPILE = toString [ + "-DRENEWAL_PROG_PATH=\"${adcli}/bin/adcli\"" + "-I${libxml2.dev}/include/libxml2" + ]; preConfigure = '' export SGML_CATALOG_FILES="${docbookFiles}" diff --git a/nixpkgs/pkgs/os-specific/linux/sysdig/default.nix b/nixpkgs/pkgs/os-specific/linux/sysdig/default.nix index 3e63a4a54d8a..33354b1df8b7 100644 --- a/nixpkgs/pkgs/os-specific/linux/sysdig/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/sysdig/default.nix @@ -1,61 +1,69 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, kernel, installShellFiles, pkg-config -, luajit, ncurses, perl, jsoncpp, libb64, openssl, curl, jq, gcc, elfutils, tbb, protobuf, grpc -, yaml-cpp, nlohmann_json, re2, zstd +{ lib, stdenv, fetchFromGitHub, cmake, kernel, installShellFiles, pkg-config +, luajit, ncurses, perl, jsoncpp, openssl, curl, jq, gcc, elfutils, tbb, protobuf, grpc +, yaml-cpp, nlohmann_json, re2, zstd, uthash, fetchpatch, fetchurl }: let # Compare with https://github.com/draios/sysdig/blob/dev/cmake/modules/falcosecurity-libs.cmake - libsRev = "59fb313475b82f842e9e9bbc1e0e629428c0a4cf"; - libsSha256 = "sha256-IjzLbCOpB6EgPDgkGIyg1dNxHfYgU10OLgXrDOPmoTs="; + libsRev = "0.13.1"; + libsHash = "sha256-UNoXIkFr64Nr0XVAtV4+BMNpCk4w8Dn4waZek/ok4Uk="; # Compare with https://github.com/falcosecurity/libs/blob/master/cmake/modules/valijson.cmake#L17 valijson = fetchFromGitHub { owner = "tristanpenman"; repo = "valijson"; rev = "v0.6"; - sha256 = "sha256-ZD19Q2MxMQd3yEKbY90GFCrerie5/jzgO8do4JQDoKM="; + hash = "sha256-ZD19Q2MxMQd3yEKbY90GFCrerie5/jzgO8do4JQDoKM="; + }; + + tinydir = fetchFromGitHub { + owner = "cxong"; + repo = "tinydir"; + rev = "1.2.5"; + hash = "sha256-qQhvLzpCYMAafBNRWlY5yklHrILM8BYD+xxF0l17+do="; }; # https://github.com/draios/sysdig/blob/0.31.5/cmake/modules/driver.cmake driver = fetchFromGitHub { owner = "falcosecurity"; repo = "libs"; - rev = libsRev; - sha256 = libsSha256; + rev = "6.0.1+driver"; + hash = "sha256-e9TJl/IahrUc4Yq2/KssTz3IBjOZwXeLt1jOkZ94EiE="; + }; + + # can be dropped in next release + uthashDevendorPatch = fetchpatch { + url = "https://github.com/falcosecurity/libs/commit/0d58f798ab72e21a16ee6965c775cba2932e5100.patch"; + hash = "sha256-5Y79M9u5rXZiKllJcXzDDw/3JKt0k/CgvWx+MZepkpw="; }; + # https://github.com/falcosecurity/libs/blob/master/cmake/modules/b64.cmake + base64 = fetchurl { + url = "https://raw.githubusercontent.com/istio/proxy/1.18.2/extensions/common/wasm/base64.h"; + hash = "sha256-WvHRHp5caMBDvH+2pMrU4ZptX6WvPcPaeVGtVBBCw64="; + }; in stdenv.mkDerivation rec { pname = "sysdig"; - version = "0.33.1"; + version = "0.34.1"; src = fetchFromGitHub { owner = "draios"; repo = "sysdig"; rev = version; - sha256 = "sha256-qcJ9EcePrsKic+wgsck+pTrRdQic0xhzguH4EYVP0gk="; + hash = "sha256-G1yr1wHiaGvLMtBZgh4eoiRNJiH0cghHqWFOjKYXXsw="; }; - patches = [ - # https://github.com/draios/sysdig/pull/2024 - (fetchpatch { - url = "https://github.com/draios/sysdig/commit/d9515aad2be660b2ba7ec8c0b4fb2467a10434af.patch"; - sha256 = "sha256-3m+Rn8BZS8U8QTBDJ6x7kQbH6BE3HKgt1iNnRjPEr8k="; - }) - ]; - nativeBuildInputs = [ cmake perl installShellFiles pkg-config ]; buildInputs = [ luajit ncurses - libb64 openssl curl jq gcc elfutils tbb - libb64 re2 protobuf grpc @@ -63,6 +71,7 @@ stdenv.mkDerivation rec { jsoncpp nlohmann_json zstd + uthash ] ++ lib.optionals (kernel != null) kernel.moduleBuildDependencies; hardeningDisable = [ "pic" ]; @@ -72,14 +81,20 @@ stdenv.mkDerivation rec { owner = "falcosecurity"; repo = "libs"; rev = libsRev; - sha256 = libsSha256; + hash = libsHash; }} libs chmod -R +w libs + pushd libs + patch -p1 < ${uthashDevendorPatch} + popd + cp -r ${driver} driver-src chmod -R +w driver-src + pushd driver-src + patch -p1 < ${uthashDevendorPatch} + popd cmakeFlagsArray+=( "-DFALCOSECURITY_LIBS_SOURCE_DIR=$(pwd)/libs" - "-DVALIJSON_INCLUDE=${valijson}/include" "-DDRIVER_SOURCE_DIR=$(pwd)/driver-src/driver" ) ''; @@ -90,7 +105,11 @@ stdenv.mkDerivation rec { "-DUSE_BUNDLED_B64=OFF" "-DUSE_BUNDLED_TBB=OFF" "-DUSE_BUNDLED_RE2=OFF" + "-DUSE_BUNDLED_JSONCPP=OFF" "-DCREATE_TEST_TARGETS=OFF" + "-DVALIJSON_INCLUDE=${valijson}/include" + "-DTINYDIR_INCLUDE=${tinydir}" + "-DUTHASH_INCLUDE=${uthash}/include" ] ++ lib.optional (kernel == null) "-DBUILD_DRIVER=OFF"; env.NIX_CFLAGS_COMPILE = @@ -105,6 +124,7 @@ stdenv.mkDerivation rec { exit 1 fi cmakeFlagsArray+=(-DCMAKE_EXE_LINKER_FLAGS="-ltbb -lcurl -lzstd -labsl_synchronization") + install -D ${base64} build/b64/base64.h '' + lib.optionalString (kernel != null) '' export INSTALL_MOD_PATH="$out" export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/default.nix b/nixpkgs/pkgs/os-specific/linux/systemd/default.nix index 0311d46d1fc4..e6872782b832 100644 --- a/nixpkgs/pkgs/os-specific/linux/systemd/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/systemd/default.nix @@ -144,6 +144,7 @@ , docbook_xsl , docbook_xml_dtd_42 , docbook_xml_dtd_45 +, withLogTrace ? false }: assert withImportd -> withCompression; @@ -568,6 +569,8 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals withKmod [ "-Dkmod=true" "-Dkmod-path=${kmod}/bin/kmod" + ] ++ lib.optionals withLogTrace [ + "-Dlog-trace=true" ]; preConfigure = let diff --git a/nixpkgs/pkgs/os-specific/linux/teensy-udev-rules/default.nix b/nixpkgs/pkgs/os-specific/linux/teensy-udev-rules/default.nix index e3d50eee5f67..326cf0a3245f 100644 --- a/nixpkgs/pkgs/os-specific/linux/teensy-udev-rules/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/teensy-udev-rules/default.nix @@ -19,7 +19,8 @@ stdenv.mkDerivation { meta = with lib; { homepage = "https://www.pjrc.com/teensy/00-teensy.rules"; - description = '' + description = "udev rules for the Teensy microcontrollers"; + longDescription = '' udev rules that give non-root users permission to communicate with the Teensy family of microcontrolers. @@ -28,7 +29,7 @@ stdenv.mkDerivation { this package's homepage) for possible workarounds. ''; platforms = platforms.linux; - license = "unknown"; + license = licenses.unfree; # No license specified. maintainers = with maintainers; [ aidalgol ]; }; } diff --git a/nixpkgs/pkgs/os-specific/linux/waydroid/default.nix b/nixpkgs/pkgs/os-specific/linux/waydroid/default.nix index 2cf6e0c47e48..e8e0727b8dbf 100644 --- a/nixpkgs/pkgs/os-specific/linux/waydroid/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/waydroid/default.nix @@ -78,11 +78,11 @@ python3Packages.buildPythonApplication rec { --replace '"sh"' '"${runtimeShell}"' ''; - meta = with lib; { + meta = { description = "Waydroid is a container-based approach to boot a full Android system on a regular GNU/Linux system like Ubuntu"; homepage = "https://github.com/waydroid/waydroid"; - license = licenses.gpl3; - platforms = platforms.linux; - maintainers = with maintainers; [ mcaju ]; + license = lib.licenses.gpl3; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ mcaju ]; }; } diff --git a/nixpkgs/pkgs/os-specific/linux/zfs/2_1.nix b/nixpkgs/pkgs/os-specific/linux/zfs/2_1.nix new file mode 100644 index 000000000000..4642bc20f6fc --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/zfs/2_1.nix @@ -0,0 +1,39 @@ +{ callPackage +, kernel ? null +, stdenv +, linuxKernel +, removeLinuxDRM ? false +, lib +, nixosTests +, ... +} @ args: + +let + stdenv' = if kernel == null then stdenv else kernel.stdenv; +in +callPackage ./generic.nix args { + # You have to ensure that in `pkgs/top-level/linux-kernels.nix` + # this attribute is the correct one for this package. + kernelModuleAttribute = "zfs_2_1"; + # check the release notes for compatible kernels + kernelCompatible = + if stdenv'.isx86_64 || removeLinuxDRM + then kernel.kernelOlder "6.6" + else kernel.kernelOlder "6.2"; + + latestCompatibleLinuxPackages = if stdenv'.isx86_64 || removeLinuxDRM + then linuxKernel.packages.linux_6_5 + else linuxKernel.packages.linux_6_1; + + # This is a fixed version to the 2.1.x series, move only + # if the 2.1.x series moves. + version = "2.1.14"; + + hash = "sha256-RVAoZbV9yclGuN+D37SB6UCRFbbLEpBoyrQOQCVsQwE="; + + tests = [ + nixosTests.zfs.series_2_1 + ]; + + maintainers = [ lib.maintainers.raitobezarius ]; +} diff --git a/nixpkgs/pkgs/os-specific/linux/zfs/generic.nix b/nixpkgs/pkgs/os-specific/linux/zfs/generic.nix index 8adbb8cab8f9..566af6950d48 100644 --- a/nixpkgs/pkgs/os-specific/linux/zfs/generic.nix +++ b/nixpkgs/pkgs/os-specific/linux/zfs/generic.nix @@ -1,222 +1,243 @@ -{ pkgs, lib, stdenv, fetchFromGitHub, fetchpatch -, autoreconfHook269, util-linux, nukeReferences, coreutils -, perl, nixosTests -, configFile ? "all" - -# Userspace dependencies -, zlib, libuuid, python3, attr, openssl -, libtirpc -, nfs-utils, samba -, gawk, gnugrep, gnused, systemd -, smartmontools, enableMail ? false -, sysstat, pkg-config -, curl -, pam - -# Kernel dependencies -, kernel ? null -, enablePython ? true -, ... -}: - -{ version -, sha256 -, extraPatches ? [] -, rev ? "zfs-${version}" -, isUnstable ? false -, latestCompatibleLinuxPackages -, kernelCompatible ? null -}: - let - inherit (lib) any optionalString optionals optional makeBinPath; - - smartmon = smartmontools.override { inherit enableMail; }; - - buildKernel = any (n: n == configFile) [ "kernel" "all" ]; - buildUser = any (n: n == configFile) [ "user" "all" ]; - - # XXX: You always want to build kernel modules with the same stdenv as the - # kernel was built with. However, since zfs can also be built for userspace we - # need to correctly pick between the provided/default stdenv, and the one used - # by the kernel. - # If you don't do this your ZFS builds will fail on any non-standard (e.g. - # clang-built) kernels. - stdenv' = if kernel == null then stdenv else kernel.stdenv; -in + genericBuild = + { pkgs, lib, stdenv, fetchFromGitHub, fetchpatch + , autoreconfHook269, util-linux, nukeReferences, coreutils + , perl + , configFile ? "all" + + # Userspace dependencies + , zlib, libuuid, python3, attr, openssl + , libtirpc + , nfs-utils, samba + , gawk, gnugrep, gnused, systemd + , smartmontools, enableMail ? false + , sysstat, pkg-config + , curl + , pam + + # Kernel dependencies + , kernel ? null + , enablePython ? true + , ... + }@outerArgs: + + assert (configFile == "kernel") -> (kernel != null); + { version + , hash + , kernelModuleAttribute + , extraPatches ? [] + , rev ? "zfs-${version}" + , isUnstable ? false + , latestCompatibleLinuxPackages + , kernelCompatible ? null + , maintainers ? (with lib.maintainers; [ amarshall adamcstephens ]) + , tests + }@innerArgs: + + let + inherit (lib) any optionalString optionals optional makeBinPath versionAtLeast; + + smartmon = smartmontools.override { inherit enableMail; }; + + buildKernel = any (n: n == configFile) [ "kernel" "all" ]; + buildUser = any (n: n == configFile) [ "user" "all" ]; + isAtLeast22Series = versionAtLeast version "2.2.0"; + + # XXX: You always want to build kernel modules with the same stdenv as the + # kernel was built with. However, since zfs can also be built for userspace we + # need to correctly pick between the provided/default stdenv, and the one used + # by the kernel. + # If you don't do this your ZFS builds will fail on any non-standard (e.g. + # clang-built) kernels. + stdenv' = if kernel == null then stdenv else kernel.stdenv; + in + + stdenv'.mkDerivation { + name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}"; + pname = "zfs"; + inherit version; + + src = fetchFromGitHub { + owner = "openzfs"; + repo = "zfs"; + inherit rev hash; + }; + + patches = extraPatches; + + postPatch = optionalString buildKernel '' + patchShebangs scripts + # The arrays must remain the same length, so we repeat a flag that is + # already part of the command and therefore has no effect. + substituteInPlace ./module/os/linux/zfs/zfs_ctldir.c \ + --replace '"/usr/bin/env", "umount"' '"${util-linux}/bin/umount", "-n"' \ + --replace '"/usr/bin/env", "mount"' '"${util-linux}/bin/mount", "-n"' + '' + optionalString buildUser '' + substituteInPlace ./lib/libshare/os/linux/nfs.c --replace "/usr/sbin/exportfs" "${ + # We don't *need* python support, but we set it like this to minimize closure size: + # If it's disabled by default, no need to enable it, even if we have python enabled + # And if it's enabled by default, only change that if we explicitly disable python to remove python from the closure + nfs-utils.override (old: { enablePython = old.enablePython or true && enablePython; }) + }/bin/exportfs" + substituteInPlace ./lib/libshare/smb.h --replace "/usr/bin/net" "${samba}/bin/net" + # Disable dynamic loading of libcurl + substituteInPlace ./config/user-libfetch.m4 --replace "curl-config --built-shared" "true" + substituteInPlace ./config/user-systemd.m4 --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d" + substituteInPlace ./config/zfs-build.m4 --replace "\$sysconfdir/init.d" "$out/etc/init.d" \ + --replace "/etc/default" "$out/etc/default" + substituteInPlace ./contrib/initramfs/Makefile.am \ + --replace "/usr/share/initramfs-tools" "$out/usr/share/initramfs-tools" + '' + optionalString isAtLeast22Series '' + substituteInPlace ./udev/vdev_id \ + --replace "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \ + "PATH=${makeBinPath [ coreutils gawk gnused gnugrep systemd ]}" + '' + optionalString (!isAtLeast22Series) '' + substituteInPlace ./etc/zfs/Makefile.am --replace "\$(sysconfdir)/zfs" "$out/etc/zfs" + + find ./contrib/initramfs -name Makefile.am -exec sed -i -e 's|/usr/share/initramfs-tools|'$out'/share/initramfs-tools|g' {} \; + + substituteInPlace ./cmd/vdev_id/vdev_id \ + --replace "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \ + "PATH=${makeBinPath [ coreutils gawk gnused gnugrep systemd ]}" + '' + '' + substituteInPlace ./config/zfs-build.m4 \ + --replace "bashcompletiondir=/etc/bash_completion.d" \ + "bashcompletiondir=$out/share/bash-completion/completions" + ''; -stdenv'.mkDerivation { - name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}"; + nativeBuildInputs = [ autoreconfHook269 nukeReferences ] + ++ optionals buildKernel (kernel.moduleBuildDependencies ++ [ perl ]) + ++ optional buildUser pkg-config; + buildInputs = optionals buildUser [ zlib libuuid attr libtirpc pam ] + ++ optional buildUser openssl + ++ optional buildUser curl + ++ optional (buildUser && enablePython) python3; + + # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work + NIX_CFLAGS_LINK = "-lgcc_s"; + + hardeningDisable = [ "fortify" "stackprotector" "pic" ]; + + configureFlags = [ + "--with-config=${configFile}" + "--with-tirpc=1" + (lib.withFeatureAs (buildUser && enablePython) "python" python3.interpreter) + ] ++ optionals buildUser [ + "--with-dracutdir=$(out)/lib/dracut" + "--with-udevdir=$(out)/lib/udev" + "--with-systemdunitdir=$(out)/etc/systemd/system" + "--with-systemdpresetdir=$(out)/etc/systemd/system-preset" + "--with-systemdgeneratordir=$(out)/lib/systemd/system-generator" + "--with-mounthelperdir=$(out)/bin" + "--libexecdir=$(out)/libexec" + "--sysconfdir=/etc" + "--localstatedir=/var" + "--enable-systemd" + "--enable-pam" + ] ++ optionals buildKernel ([ + "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source" + "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ] ++ kernel.makeFlags); + + makeFlags = optionals buildKernel kernel.makeFlags; + + enableParallelBuilding = true; + + installFlags = [ + "sysconfdir=\${out}/etc" + "DEFAULT_INITCONF_DIR=\${out}/default" + "INSTALL_MOD_PATH=\${out}" + ]; + + preConfigure = '' + # The kernel module builds some tests during the configurePhase, this envvar controls their parallelism + export TEST_JOBS=$NIX_BUILD_CORES + if [ -z "$enableParallelBuilding" ]; then + export TEST_JOBS=1 + fi + ''; - src = fetchFromGitHub { - owner = "openzfs"; - repo = "zfs"; - inherit rev sha256; - }; + # Enabling BTF causes zfs to be build with debug symbols. + # Since zfs compress kernel modules on installation, our strip hooks skip stripping them. + # Hence we strip modules prior to compression. + postBuild = optionalString buildKernel '' + find . -name "*.ko" -print0 | xargs -0 -P$NIX_BUILD_CORES ${stdenv.cc.targetPrefix}strip --strip-debug + ''; - patches = extraPatches; - - postPatch = optionalString buildKernel '' - patchShebangs scripts - # The arrays must remain the same length, so we repeat a flag that is - # already part of the command and therefore has no effect. - substituteInPlace ./module/os/linux/zfs/zfs_ctldir.c \ - --replace '"/usr/bin/env", "umount"' '"${util-linux}/bin/umount", "-n"' \ - --replace '"/usr/bin/env", "mount"' '"${util-linux}/bin/mount", "-n"' - '' + optionalString buildUser '' - substituteInPlace ./lib/libshare/os/linux/nfs.c --replace "/usr/sbin/exportfs" "${ - # We don't *need* python support, but we set it like this to minimize closure size: - # If it's disabled by default, no need to enable it, even if we have python enabled - # And if it's enabled by default, only change that if we explicitly disable python to remove python from the closure - nfs-utils.override (old: { enablePython = old.enablePython or true && enablePython; }) - }/bin/exportfs" - substituteInPlace ./lib/libshare/smb.h --replace "/usr/bin/net" "${samba}/bin/net" - # Disable dynamic loading of libcurl - substituteInPlace ./config/user-libfetch.m4 --replace "curl-config --built-shared" "true" - substituteInPlace ./config/user-systemd.m4 --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d" - substituteInPlace ./config/zfs-build.m4 --replace "\$sysconfdir/init.d" "$out/etc/init.d" \ - --replace "/etc/default" "$out/etc/default" - substituteInPlace ./contrib/initramfs/Makefile.am \ - --replace "/usr/share/initramfs-tools" "$out/usr/share/initramfs-tools" - substituteInPlace ./udev/vdev_id \ - --replace "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \ - "PATH=${makeBinPath [ coreutils gawk gnused gnugrep systemd ]}" - substituteInPlace ./config/zfs-build.m4 \ - --replace "bashcompletiondir=/etc/bash_completion.d" \ - "bashcompletiondir=$out/share/bash-completion/completions" - ''; - - nativeBuildInputs = [ autoreconfHook269 nukeReferences ] - ++ optionals buildKernel (kernel.moduleBuildDependencies ++ [ perl ]) - ++ optional buildUser pkg-config; - buildInputs = optionals buildUser [ zlib libuuid attr libtirpc pam ] - ++ optional buildUser openssl - ++ optional buildUser curl - ++ optional (buildUser && enablePython) python3; - - # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work - NIX_CFLAGS_LINK = "-lgcc_s"; - - hardeningDisable = [ "fortify" "stackprotector" "pic" ]; - - configureFlags = [ - "--with-config=${configFile}" - "--with-tirpc=1" - (lib.withFeatureAs (buildUser && enablePython) "python" python3.interpreter) - ] ++ optionals buildUser [ - "--with-dracutdir=$(out)/lib/dracut" - "--with-udevdir=$(out)/lib/udev" - "--with-systemdunitdir=$(out)/etc/systemd/system" - "--with-systemdpresetdir=$(out)/etc/systemd/system-preset" - "--with-systemdgeneratordir=$(out)/lib/systemd/system-generator" - "--with-mounthelperdir=$(out)/bin" - "--libexecdir=$(out)/libexec" - "--sysconfdir=/etc" - "--localstatedir=/var" - "--enable-systemd" - "--enable-pam" - ] ++ optionals buildKernel ([ - "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source" - "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - ] ++ kernel.makeFlags); - - makeFlags = optionals buildKernel kernel.makeFlags; - - enableParallelBuilding = true; - - installFlags = [ - "sysconfdir=\${out}/etc" - "DEFAULT_INITCONF_DIR=\${out}/default" - "INSTALL_MOD_PATH=\${out}" - ]; - - preConfigure = '' - # The kernel module builds some tests during the configurePhase, this envvar controls their parallelism - export TEST_JOBS=$NIX_BUILD_CORES - if [ -z "$enableParallelBuilding" ]; then - export TEST_JOBS=1 - fi - ''; - - # Enabling BTF causes zfs to be build with debug symbols. - # Since zfs compress kernel modules on installation, our strip hooks skip stripping them. - # Hence we strip modules prior to compression. - postBuild = optionalString buildKernel '' - find . -name "*.ko" -print0 | xargs -0 -P$NIX_BUILD_CORES ${stdenv.cc.targetPrefix}strip --strip-debug - ''; - - postInstall = optionalString buildKernel '' - # Add reference that cannot be detected due to compressed kernel module - mkdir -p "$out/nix-support" - echo "${util-linux}" >> "$out/nix-support/extra-refs" - '' + optionalString buildUser '' - # Remove provided services as they are buggy - rm $out/etc/systemd/system/zfs-import-*.service - - for i in $out/etc/systemd/system/*; do - if [ -L $i ]; then - continue - fi - sed -i '/zfs-import-scan.service/d' $i - substituteInPlace $i --replace "zfs-import-cache.service" "zfs-import.target" - done - - # Remove tests because they add a runtime dependency on gcc - rm -rf $out/share/zfs/zfs-tests - - # Add Bash completions. - install -v -m444 -D -t $out/share/bash-completion/completions contrib/bash_completion.d/zfs - (cd $out/share/bash-completion/completions; ln -s zfs zpool) - ''; - - postFixup = let - path = "PATH=${makeBinPath [ coreutils gawk gnused gnugrep util-linux smartmon sysstat ]}:$PATH"; - in '' - for i in $out/libexec/zfs/zpool.d/*; do - sed -i '2i${path}' $i - done - ''; - - outputs = [ "out" ] ++ optionals buildUser [ "dev" ]; - - passthru = { - inherit enableMail latestCompatibleLinuxPackages; - - tests = - if isUnstable then [ - nixosTests.zfs.unstable - ] else [ - nixosTests.zfs.installer - nixosTests.zfs.stable - ]; - }; + postInstall = optionalString buildKernel '' + # Add reference that cannot be detected due to compressed kernel module + mkdir -p "$out/nix-support" + echo "${util-linux}" >> "$out/nix-support/extra-refs" + '' + optionalString buildUser '' + # Remove provided services as they are buggy + rm $out/etc/systemd/system/zfs-import-*.service + + for i in $out/etc/systemd/system/*; do + if [ -L $i ]; then + continue + fi + sed -i '/zfs-import-scan.service/d' $i + substituteInPlace $i --replace "zfs-import-cache.service" "zfs-import.target" + done + + # Remove tests because they add a runtime dependency on gcc + rm -rf $out/share/zfs/zfs-tests + + # Add Bash completions. + install -v -m444 -D -t $out/share/bash-completion/completions contrib/bash_completion.d/zfs + (cd $out/share/bash-completion/completions; ln -s zfs zpool) + ''; - meta = { - description = "ZFS Filesystem Linux Kernel module"; - longDescription = '' - ZFS is a filesystem that combines a logical volume manager with a - Copy-On-Write filesystem with data integrity detection and repair, - snapshotting, cloning, block devices, deduplication, and more. + postFixup = let + path = "PATH=${makeBinPath [ coreutils gawk gnused gnugrep util-linux smartmon sysstat ]}:$PATH"; + in '' + for i in $out/libexec/zfs/zpool.d/*; do + sed -i '2i${path}' $i + done ''; - homepage = "https://github.com/openzfs/zfs"; - changelog = "https://github.com/openzfs/zfs/releases/tag/zfs-${version}"; - license = lib.licenses.cddl; - - # The case-block for TARGET_CPU has branches for only some CPU families, - # which prevents ZFS from building on any other platform. Since the NixOS - # `boot.zfs.enabled` property is `readOnly`, excluding platforms where ZFS - # does not build is the only way to produce a NixOS installer on such - # platforms. - # https://github.com/openzfs/zfs/blob/6723d1110f6daf93be93db74d5ea9f6b64c9bce5/config/always-arch.m4#L12 - platforms = - with lib.systems.inspect.patterns; - map (p: p // isLinux) ([ isx86_32 isx86_64 isPower isAarch64 isSparc ] ++ isArmv7); - - maintainers = with lib.maintainers; [ jcumming jonringer globin raitobezarius ]; - mainProgram = "zfs"; - # If your Linux kernel version is not yet supported by zfs, try zfsUnstable. - # On NixOS set the option boot.zfs.enableUnstable. - broken = buildKernel && (kernelCompatible != null) && !kernelCompatible; - }; -} + outputs = [ "out" ] ++ optionals buildUser [ "dev" ]; + + passthru = { + inherit enableMail latestCompatibleLinuxPackages kernelModuleAttribute; + # The corresponding userspace tools to this instantiation + # of the ZFS package set. + userspaceTools = genericBuild (outerArgs // { + configFile = "user"; + }) innerArgs; + + inherit tests; + }; + + meta = { + description = "ZFS Filesystem Linux" + (if buildUser then " Userspace Tools" else " Kernel Module"); + longDescription = '' + ZFS is a filesystem that combines a logical volume manager with a + Copy-On-Write filesystem with data integrity detection and repair, + snapshotting, cloning, block devices, deduplication, and more. + + ${if buildUser then "This is the userspace tools package." else "This is the kernel module package."} + ''; + homepage = "https://github.com/openzfs/zfs"; + changelog = "https://github.com/openzfs/zfs/releases/tag/zfs-${version}"; + license = lib.licenses.cddl; + + # The case-block for TARGET_CPU has branches for only some CPU families, + # which prevents ZFS from building on any other platform. Since the NixOS + # `boot.zfs.enabled` property is `readOnly`, excluding platforms where ZFS + # does not build is the only way to produce a NixOS installer on such + # platforms. + # https://github.com/openzfs/zfs/blob/6723d1110f6daf93be93db74d5ea9f6b64c9bce5/config/always-arch.m4#L12 + platforms = + with lib.systems.inspect.patterns; + map (p: p // isLinux) ([ isx86_32 isx86_64 isPower isAarch64 isSparc ] ++ isArmv7); + + inherit maintainers; + mainProgram = "zfs"; + # If your Linux kernel version is not yet supported by zfs, try zfsUnstable. + # On NixOS set the option boot.zfs.enableUnstable. + broken = buildKernel && (kernelCompatible != null) && !kernelCompatible; + }; + }; +in + genericBuild diff --git a/nixpkgs/pkgs/os-specific/linux/zfs/stable.nix b/nixpkgs/pkgs/os-specific/linux/zfs/stable.nix index 3e53ba902cbd..5f879320b4dc 100644 --- a/nixpkgs/pkgs/os-specific/linux/zfs/stable.nix +++ b/nixpkgs/pkgs/os-specific/linux/zfs/stable.nix @@ -3,7 +3,7 @@ , stdenv , linuxKernel , removeLinuxDRM ? false -, fetchpatch +, nixosTests , ... } @ args: @@ -11,18 +11,26 @@ let stdenv' = if kernel == null then stdenv else kernel.stdenv; in callPackage ./generic.nix args { + # You have to ensure that in `pkgs/top-level/linux-kernels.nix` + # this attribute is the correct one for this package. + kernelModuleAttribute = "zfs"; # check the release notes for compatible kernels kernelCompatible = if stdenv'.isx86_64 || removeLinuxDRM - then kernel.kernelOlder "6.6" + then kernel.kernelOlder "6.7" else kernel.kernelOlder "6.2"; latestCompatibleLinuxPackages = if stdenv'.isx86_64 || removeLinuxDRM - then linuxKernel.packages.linux_6_5 + then linuxKernel.packages.linux_6_6 else linuxKernel.packages.linux_6_1; # this package should point to the latest release. - version = "2.2.0"; + version = "2.2.2"; - sha256 = "sha256-s1sdXSrLu6uSOmjprbUa4cFsE2Vj7JX5i75e4vRnlvg="; + tests = [ + nixosTests.zfs.installer + nixosTests.zfs.stable + ]; + + hash = "sha256-CqhETAwhWMhbld5ib3Rz1dxms+GQbLwjEZw/V7U/2nE="; } diff --git a/nixpkgs/pkgs/os-specific/linux/zfs/unstable.nix b/nixpkgs/pkgs/os-specific/linux/zfs/unstable.nix index 9c7e14c31bf3..997cbe18ba7d 100644 --- a/nixpkgs/pkgs/os-specific/linux/zfs/unstable.nix +++ b/nixpkgs/pkgs/os-specific/linux/zfs/unstable.nix @@ -3,6 +3,7 @@ , stdenv , linuxKernel , removeLinuxDRM ? false +, nixosTests , ... } @ args: @@ -10,23 +11,29 @@ let stdenv' = if kernel == null then stdenv else kernel.stdenv; in callPackage ./generic.nix args { + # You have to ensure that in `pkgs/top-level/linux-kernels.nix` + # this attribute is the correct one for this package. + kernelModuleAttribute = "zfsUnstable"; # check the release notes for compatible kernels - kernelCompatible = if stdenv'.isx86_64 || removeLinuxDRM - then kernel.kernelOlder "6.6" + kernelCompatible = + if stdenv'.isx86_64 || removeLinuxDRM + then kernel.kernelOlder "6.7" else kernel.kernelOlder "6.2"; latestCompatibleLinuxPackages = if stdenv'.isx86_64 || removeLinuxDRM - then linuxKernel.packages.linux_6_5 + then linuxKernel.packages.linux_6_6 else linuxKernel.packages.linux_6_1; # this package should point to a version / git revision compatible with the latest kernel release # IMPORTANT: Always use a tagged release candidate or commits from the # zfs-<version>-staging branch, because this is tested by the OpenZFS # maintainers. - version = "2.2.1-unstable-2023-10-21"; - rev = "95785196f26e92d82cf4445654ba84e4a9671c57"; - - sha256 = "sha256-s1sdXSrLu6uSOmjprbUa4cFsE2Vj7JX5i75e4vRnlvg="; + version = "2.2.2"; isUnstable = true; + tests = [ + nixosTests.zfs.unstable + ]; + + hash = "sha256-CqhETAwhWMhbld5ib3Rz1dxms+GQbLwjEZw/V7U/2nE="; } |