| 19 May 2026 |
matthewcroughan - nix.zone | would this be accepted in nixpkgs? | 13:06:51 |
matthewcroughan - nix.zone | * diff --git a/pkgs/by-name/ip/ipp-usb/package.nix b/pkgs/by-name/ip/ipp-usb/package.nix
index 19c0be1364f4..ceb73e3fe488 100644
--- a/pkgs/by-name/ip/ipp-usb/package.nix
+++ b/pkgs/by-name/ip/ipp-usb/package.nix
@@ -23,7 +23,8 @@ buildGoModule (finalAttrs: {
rm ipp-usb.8
substituteInPlace Makefile \
--replace-fail "install: all" "install: man" \
- --replace-fail "/usr/" "/"
+ --replace-fail "/usr/" "/" \
+ --replace-fail "install -s" "install" # Nix already strips binaries in $out/sbin, this also fixes cross
substituteInPlace systemd-udev/ipp-usb.service --replace-fail "/sbin" "$out/bin"
for i in paths.go ipp-usb.8.md; do
substituteInPlace $i --replace-fail "/usr" "$out"
| 13:07:37 |
matthewcroughan - nix.zone | https://github.com/NixOS/nixpkgs/pull/521939 | 13:09:07 |
matthewcroughan - nix.zone | made it anyway | 13:09:09 |
matthewcroughan - nix.zone | the next one to fix is gutenprint which also fails during cross | 13:09:47 |
matthewcroughan - nix.zone | ┃ > ./check_duplicate_printers.test: line 117: /build/gutenprint-5.3.5/src/xml/printers/.libs/lt-check_duplicate_printers.test: cannot execute binary file: Exec format error | 13:10:48 |
matthewcroughan - nix.zone | doCheck cannot be disabled.. hmm | 13:15:32 |
matthewcroughan - nix.zone | this is all in the buildPhase | 13:15:43 |
matthewcroughan - nix.zone | Oh.. perl is in the buildInputs and nativeBuildInputs for some reason | 13:17:54 |
matthewcroughan - nix.zone | but that's not the reason.. | 13:18:34 |
matthewcroughan - nix.zone | https://patchwork.yoctoproject.org/project/oe/patch/20211221214903.1882008-1-claus.stovgaard@gmail.com/ | 13:26:32 |
matthewcroughan - nix.zone | they literally encounter the same stuff | 13:26:46 |
matthewcroughan - nix.zone | +# gutenprint does not have a configure file in its root folder.
+# Rather it has a autogen.sh in its root folder. We just use it
+# together with adapting for cross compilation
+do_configure() {
+ # Disable the xmli18n-tmp.h rule
+ # It depend on the local build extract-strings, we are not able to run this
+ # So we are using the xmli18n-tmp.h created by gutenprint-native
+ sed -i 's/all-local: xmli18n-tmp.h xml-stamp/all-local: xml-stamp/' ${S}/src/xml/Makefile.am
+ sed -i 's/dist-hook: xmli18n-tmp.h xml-stamp/dist-hook: xml-stamp/' ${S}/src/xml/Makefile.am
+ cp ${RECIPE_SYSROOT_NATIVE}${datadir}/gutenprint/xmli18n-tmp.h ${S}/src/xml/
+
+ ${S}/autogen.sh || bbnote "${PN} failed to autogen.sh"
+ oe_runconf
+}
| 13:27:06 |
matthewcroughan - nix.zone | so sad | 13:27:08 |
matthewcroughan - nix.zone | /nix/store/ah2sc06pqhaq2cbdh1r804yfdb372c0d-cups-2.4.16-lib/lib/libcups.so: file not recognized: file format not recognized | 13:30:49 |
matthewcroughan - nix.zone | then even if you get past that, you end up with this | 13:30:56 |
matthewcroughan - nix.zone | it produces the wrong .so | 13:31:25 |
matthewcroughan - nix.zone | ✦ ❯ file /nix/store/ah2sc06pqhaq2cbdh1r804yfdb372c0d-cups-2.4.16-lib/lib/libcups.so.2
/nix/store/ah2sc06pqhaq2cbdh1r804yfdb372c0d-cups-2.4.16-lib/lib/libcups.so.2: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, not stripped
| 13:31:32 |
matthewcroughan - nix.zone | I'm compiling for armv6 | 13:31:39 |
matthewcroughan - nix.zone | this is so borked | 13:31:50 |
matthewcroughan - nix.zone | nativeBuildInputs also includes cups for some reason | 13:32:16 |
matthewcroughan - nix.zone | and ofc gutenprint-bin doesn't work for any other platform than x86_64-linux | 13:34:05 |
matthewcroughan - nix.zone | Once you get past some things, you end up with
gutenprint-aarch64-linux> make[3]: *** [Makefile:1581: cups_genppd_5.3-cups-genppd.o] Error 1
gutenprint-aarch64-linux> make[3]: *** Waiting for unfinished jobs....
gutenprint-aarch64-linux> genppd.c: In function 'gpputs':
gutenprint-aarch64-linux> genppd.c:163:19: error: passing argument 2 of 'fputs' from incompatible pointer type [-Wincompatible-pointer-types]
| 13:34:30 |
matthewcroughan - nix.zone | so it's like, gutenprint just ain't cut out for a raspberry pi zero lol | 13:34:37 |
matthewcroughan - nix.zone | time to run raspbian in a container??? | 13:34:42 |
matthewcroughan - nix.zone | or better yet.. maybe I run cups on a declarative aarch64 vm on armv6 | 13:38:31 |
matthewcroughan - nix.zone | then again, you can't compile qemu anymore for armv6 💀 | 13:38:42 |
matthewcroughan - nix.zone | how about an aarch64 nixos container, with binfmt on the host | 13:39:15 |
| 22 May 2026 |
Jon Hermansen | I finally did a write up and posted to Discourse about my own little Nix project. Thought I should share here https://discourse.nixos.org/t/darnix-toward-a-nix-os-on-a-darwin-kernel/77779 | 18:46:45 |
Tristan Ross | lol, that's awesome. I've had that idea because there's NixBSD and XNU is public so why couldn't we have NixXNU | 18:58:08 |