!OqhvaDMJdKYUicLDiE:nixos.org

Nixpkgs Stdenv

219 Members
69 Servers

Load older messages


SenderMessageTime
23 Dec 2025
@r_i_s:matrix.orgris_https://github.com/NixOS/nixpkgs/pull/47364819:15:01
24 Dec 2025
@amadaluzia:unredacted.orgamadaluzia changed their profile picture.16:53:37
26 Dec 2025
@zimward:zimward.moezimward changed their display name from zimward to zimward @ 39c3.15:49:28
@jappie:jappie.devjappie changed their display name from jappie to jappie @ 39c3.15:49:41
@mdaniels5757:matrix.orgmdaniels5757 joined the room.22:04:57
27 Dec 2025
@zimward:zimward.moezimward changed their display name from zimward @ 39c3 to zimward @ 39c3 ☎️ 75947.10:44:10
@jappie:jappie.devjappie changed their display name from jappie @ 39c3 to jasper @ 39c3 ☎️ 62749.13:30:50
29 Dec 2025
@grimmauld:m.grimmauld.deGrimmauld (any/all)

Okay. gnu gettext vendors libxml2. The following patch drops the dependency on gettext for libxml:

diff --git a/pkgs/development/libraries/libxml2/common.nix b/pkgs/development/libraries/libxml2/common.nix
index bc43cfd9d6e3..f16656b0798b 100644
--- a/pkgs/development/libraries/libxml2/common.nix
+++ b/pkgs/development/libraries/libxml2/common.nix
@@ -3,7 +3,9 @@
   darwin,
   lib,
   pkg-config,
-  autoreconfHook,
+  autoconf,
+  automake,
+  libtool,
   python3,
   doxygen,
   ncurses,
@@ -55,7 +57,9 @@ stdenv'.mkDerivation (finalAttrs: {
 
   nativeBuildInputs = [
     pkg-config
-    autoreconfHook
+    autoconf
+    automake
+    libtool
   ]
   ++ lib.optionals pythonSupport [
     doxygen
@@ -112,7 +116,11 @@ stdenv'.mkDerivation (finalAttrs: {
       ln -s cygxml2mod.dll python/.libs/libxml2mod.dll
     '';
 
-  preConfigure = lib.optionalString (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") ''
+  # Uses `autoreconf -i` instead of autoreconfHook to avoid gettext dependency
+  preConfigure = ''
+    autoreconf -i
+  ''
+  + lib.optionalString (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") ''
     MACOSX_DEPLOYMENT_TARGET=10.16
   '';
 

However, adding libxml2 to gettext buildInputs (to make it use thedynamic lib) throws obscure splicing errors, and i am not sure where to even start fixing it. I can fix builds, but eval in splicing and stdenv bootstrap is painful. Ideas welcome.

12:07:41
@grimmauld:m.grimmauld.deGrimmauld (any/all)the libxml2 version it vendors is from 2019 and i rather wouldn't want that mess of CVEs12:10:47
@mdaniels5757:matrix.orgmdaniels5757Redacted or Malformed Event23:26:10
@mdaniels5757:matrix.orgmdaniels5757

Looks like you can't use fetchFromGitLab in the bootstrap process (like fetchpatch)? With this patch, it evals (I haven't built):

diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index 41d2b1f953f0..43df6360ade5 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -2,6 +2,7 @@
   lib,
   callPackage,
   fetchFromGitLab,
+  fetchurl,
   fetchpatch,
 }:

@@ -49,14 +50,12 @@ let
         ];
       };
     };
-    libxml2 = callPackage ./common.nix {
+    libxml2 = callPackage ./common.nix rec {
       version = "2.15.1";
-      src = fetchFromGitLab {
-        domain = "gitlab.gnome.org";
-        owner = "GNOME";
-        repo = "libxml2";
-        tag = "v${packages.libxml2.version}";
-        hash = "sha256-FUfYMq5xT2i88JdIw9OtSofraUL3yjsyOVund+mfJKQ=";
+      src = fetchurl {
+        name = "libxml2-${version}-source.tar.gz";
+        url = "https://gitlab.gnome.org/api/v4/projects/GNOME%2Flibxml2/repository/archive.tar.gz?sha=refs/tags/v${packages.libxml2.version}";
+        hash = "sha256-2py4DlRIlD4h1x8379d+whzsNbh8ofHpNAad/QFsTuw=";
       };
       extraMeta = {
         maintainers = with lib.maintainers; [
23:26:28
@grimmauld:m.grimmauld.deGrimmauld (any/all)Ah, nice! I'll give that another shot tomorrow then!23:28:08
30 Dec 2025
@grimmauld:m.grimmauld.deGrimmauld (any/all)okay, i give up. I got gettext to build with devendored libxml2, bu doesn't seem to work. The check for working c compiler in binutils fails, and didn't before10:34:17
@grimmauld:m.grimmauld.deGrimmauld (any/all)oh wait hold on, now it is going? One more attempt, i just meant to clean up the patches before dumping my progress here, but 🤷10:42:02
@grimmauld:m.grimmauld.deGrimmauld (any/all)https://github.com/NixOS/nixpkgs/pull/475301 there, have fun. After seeing how much pain his was, i am no longer completely convinced this is a good idea, but have a PR anyways12:43:09
@grimmauld:m.grimmauld.deGrimmauld (any/all)oh crap, darwin12:43:41
@grimmauld:m.grimmauld.deGrimmauld (any/all)AAA12:43:42
@grimmauld:m.grimmauld.deGrimmauld (any/all)painful12:43:51
@grimmauld:m.grimmauld.deGrimmauld (any/all)and musl too... UGH12:49:02
@grimmauld:m.grimmauld.deGrimmauld (any/all)yeah...12:49:06
@zimward:zimward.moezimward changed their display name from zimward @ 39c3 ☎️ 75947 to zimward.23:39:05
@jappie:jappie.devjappie changed their display name from jasper @ 39c3 ☎️ 62749 to jasper.23:38:40
@jappie:jappie.devjappie 23:40:10
1 Jan 2026
@amadaluzia:unredacted.orgamadaluzia changed their display name from amadaluzia to amadaluzia (happy new year!).00:15:47
@reckenrode:matrix.orgRandy EckenrodeWhat’s painful about Darwin?11:38:02
@reckenrode:matrix.orgRandy EckenrodeDarwin already has to deal with libxml2 in the bootstrap.11:38:33
2 Jan 2026
@amadaluzia:unredacted.orgamadaluzia changed their display name from amadaluzia (happy new year!) to amadaluzia.04:46:56
4 Jan 2026
@jappie:jappie.devjappie changed their display name from jasper to jappie.10:59:43
@aleksana:mozilla.orgFind me at aleksana:qaq.li changed their display name from aleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC) to aleksana 🏳️‍⚧️ (deprecated).17:12:31
@aleksana:mozilla.orgFind me at aleksana:qaq.li changed their display name from aleksana 🏳️‍⚧️ (deprecated) to Find me at aleksana:qaq.li.17:14:22

There are no newer messages yet.


Back to Room ListRoom Version: 9