!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

1180 Members
“There are still many issues with the Darwin platform but most of it is quite usable.” — http://yves.gnu-darwin.org194 Servers

Load older messages


SenderMessageTime
13 Jan 2026
@reckenrode:matrix.orgRandy EckenrodeI wouldn’t mind if they rewrote the core UNIX utils in Swift, but then they definitely wouldn’t be able to pick up code changes from FreeBSD. It’s a shame because they’re horrifying at times.02:04:25
@samasaur:matrix.orgsamasauri wish i had to build fewer perls06:14:17
@samasaur:matrix.orgsamasaurthey don't even take that long but it offends me at a deeper level06:14:28
@samasaur:matrix.orgsamasauranyway this worked great!06:16:56
@samasaur:matrix.orgsamasaurand i feel like i have a better handle on how the stdenv is constructed06:17:40
@samasaur:matrix.orgsamasaur dropping kyua, atf, sqlite doesn't impact the output of nix-store -qR <stdenv.drv> | sed 's|/nix/store/[a-z0-9]*-||' | sort at all 06:24:56
@samasaur:matrix.orgsamasaur and if I go through the list of stage1Packages in the darwin stdenv it seems like most of them aren't in that list??? 06:25:19
@samasaur:matrix.orgsamasaurack wait i may have screwed that up06:28:28
@samasaur:matrix.orgsamasaur okay yes it does change that list. i was running nix-store -qR on the built stdenv and not the drv. I don't really understand why that differs but that's OK 06:30:17
@samasaur:matrix.orgsamasauroh wait duh that's buildtime vs runtime deps isn't it06:32:04
@samasaur:matrix.orgsamasaur

okay so applying this diff

diff --git a/pkgs/by-name/at/atf/package.nix b/pkgs/by-name/at/atf/package.nix
index 326419c5f7..a285cd207f 100644
--- a/pkgs/by-name/at/atf/package.nix
+++ b/pkgs/by-name/at/atf/package.nix
@@ -1,19 +1,13 @@
 {
   lib,
   stdenv,
-  darwin,
   fetchFromGitHub,
-  fetchpatch,
   autoreconfHook,
   kyua,
   gitUpdater,
 }:
 
-let
-  # atf is a dependency of libiconv. Avoid an infinite recursion with `pkgsStatic` by using a bootstrap stdenv.
-  stdenv' = if stdenv.hostPlatform.isDarwin then darwin.bootstrapStdenv else stdenv;
-in
-stdenv'.mkDerivation (finalAttrs: {
+stdenv.mkDerivation (finalAttrs: {
   pname = "atf";
   version = "0.23";
 
@@ -31,12 +25,12 @@
         --replace-fail 'atf_test_program{name="srcdir_test"}' ""
     ''
     # These tests fail on Darwin.
-    + lib.optionalString (finalAttrs.doInstallCheck && stdenv'.hostPlatform.isDarwin) ''
+    + lib.optionalString (finalAttrs.doInstallCheck && stdenv.hostPlatform.isDarwin) ''
       substituteInPlace atf-c/detail/process_test.c \
         --replace-fail 'ATF_TP_ADD_TC(tp, status_coredump);' ""
     ''
     # This test fails on Linux.
-    + lib.optionalString (finalAttrs.doInstallCheck && stdenv'.hostPlatform.isLinux) ''
+    + lib.optionalString (finalAttrs.doInstallCheck && stdenv.hostPlatform.isLinux) ''
       substituteInPlace atf-c/detail/fs_test.c \
         --replace-fail 'ATF_TP_ADD_TC(tp, eaccess);' ""
     '';
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libiconv/package.nix b/pkgs/os-specific/darwin/apple-source-releases/libiconv/package.nix
index be9b1e32d6..169d9f8b24 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libiconv/package.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libiconv/package.nix
@@ -5,6 +5,8 @@
   mkAppleDerivation,
   pkg-config,
   stdenv,
+  runTests ? false,
+  libiconv,
 }:
 
 let
@@ -72,7 +74,7 @@
   nativeInstallCheckInputs = [ pkg-config ];
   installCheckInputs = [ atf ];
 
-  doInstallCheck = stdenv.buildPlatform.canExecute hostPlatform;
+  doInstallCheck = runTests;
 
   # Can’t use `mesonCheckPhase` because it runs the wrong hooks for `installCheckPhase`.
   installCheckPhase = ''
@@ -81,6 +83,8 @@
     runHook postInstallCheck
   '';
 
+  passthru.tests = libiconv.override { runTests = true; };
+
   meta = {
     description = "Iconv(3) implementation";
     license = [
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index a63e0c9b07..62f8e5774f 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -236,7 +236,6 @@
   # Any libraries in the list must only be used as dependencies of packages in this list.
   stage1Packages = prevStage: {
     inherit (prevStage)
-      atf
       autoconf
       automake
       bison
@@ -251,7 +250,6 @@
       gettext
       groff
       jq
-      kyua
       libedit
       libtool
       m4
@@ -266,7 +264,6 @@
       python3Minimal
       scons
       serf
-      sqlite
       subversion
       texinfo
       unzip
@@ -650,6 +647,7 @@
           self = self.python3-bootstrap;
           pythonAttr = "python3-bootstrap";
           enableLTO = false;
+          withSqlite = false;
         };
 
         scons = super.scons.override { python3Packages = self.python3.pkgs; };

I get the following diff in the output of nix-store -qR:

69d68
< 5.2.darwin.patch
95,96d93
< atf-0.23.drv
< atf-0.23.drv
234d230
< CVE-2022-28805.patch
337,339d332
< kyua-0.13-unstable-2024-01-22.drv
< kyua-0.13-unstable-2024-01-22.drv
< kyua-check-hook.sh
400,404d392
< lua-5.2.4.drv
< lua-5.2.4.tar.gz.drv
< lua-setup-hook
< lutok-0.4.drv
< lutok-0.4.drv
634,639d621
< source.drv
< source.drv
< source.drv
< sqlite-3.51.1.drv
< sqlite-autoconf-3510100.tar.gz.drv
< sqlite-doc-3510100.zip.drv
685,686d666
< utils.sh
< utils.sh.drv

and nix-build -A darwin.libiconv.passthru.tests does still build and run the tests

06:49:47
@samasaur:matrix.orgsamasaur oh dear though I didn't check anything under pkgsStatic 06:51:53
@samasaur:matrix.orgsamasaur I'm also noticing that none of the following in stage1Packages are actually in the nix-store -qR output: brotli, cyrus_sasl, groff, libedit, openssh, patchutils, python3Minimal, scons, serf, subversion. admittedly scons is manually overridden to use the bootstrap python but it doesn't appear to actually be used anywhere 07:00:40
@samasaur:matrix.orgsamasaurI almost feel like I'm checking wrong here, because this is a lot of things in that package list that aren't actually used...07:01:02
19 May 2021
@grahamc:nixos.org@grahamc:nixos.org set the history visibility to "world_readable".19:22:35
@grahamc:nixos.org@grahamc:nixos.org changed the room name to "" from "".19:22:35
@0x4a6f:matrix.org[0x4A6F] joined the room.19:23:06
@nbardiuk:matrix.orgnazarii joined the room.19:24:29
@casey:hubns.netcasey © joined the room.19:27:39
@elvishjerricco:matrix.orgElvishJerricco joined the room.19:38:47
@andi:kack.itandi- joined the room.19:39:40
@stick:matrix.orgstick joined the room.19:46:16
@server_stats:nordgedanken.devServer Stats Discoverer (traveler bot) joined the room.19:50:54
@joerg:bethselamin.deMic92 joined the room.19:51:07
@voyager:t2bot.ioMatrix Traveler (bot) joined the room.20:03:59
@gaelans:matrix.orgGaelan Steele joined the room.20:16:00
@cgbrewster:matrix.orgcgbrewster joined the room.20:17:23
@gaelans:matrix.orgGaelan Steele changed their display name from gaelans to Gaelan Steele.20:24:29
@gaelans:matrix.orgGaelan Steele set a profile picture.20:24:54
@gaelans:matrix.orgGaelan Steele changed their profile picture.20:24:59

Show newer messages


Back to Room ListRoom Version: 6