14 Sep 2024 |
Randy Eckenrode | I should be opening the refactor PR soon-ish, which will include Darwin cross-compilation. Somewhat. Some things can’t work (like Python). Others need discovered/work to fix. I’m only making sure GNU hello, Nix, and the source releases can be cross-compiled. People can fix other stuff as it’s discovered. | 19:17:42 |
Artturin | linux -> darwin cross? | 19:17:57 |
Artturin | or darwin darwin | 19:18:01 |
Randy Eckenrode | Darwin-Darwin. Linux to Darwin needs considerable work. | 19:18:12 |
Randy Eckenrode | I consider both a waste of time, but people want it. | 19:18:22 |
K900 | I assume we care about Darwin cross purely because of x86_64 to aa64? | 19:19:32 |
Randy Eckenrode | In reply to @k900:0upti.me I assume we care about Darwin cross purely because of x86_64 to aa64? Supposedly both ways. Some want to avoid Rosetta 2 I think. | 19:19:52 |
K900 | Because the other way around is just Rosetta | 19:19:54 |
K900 | Uhh | 19:19:59 |
K900 | OK | 19:20:00 |
Randy Eckenrode | Yeah. For your trouble, you can’t build anything that depends on Python on the target platform. | 19:20:15 |
Artturin | The libtool PR should have a minimal rebuild amount and libxo doesn't have many deps so you can test it quickly with git apply - <<< $(curl "https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/341882.patch") | 19:20:45 |
K900 | And Python just what, doesn't support Darwin cross at all? | 19:20:58 |
Artturin | Basically everything requires python at some point in the tree | 19:21:30 |
Randy Eckenrode | libxo is in the Darwin stdenv, so I won’t be testing until I’m ready for mass rebuilds. I’m currently trying to work towards getting my regression flake fully built, so I can start working towards finishing up the details and preparing the PR. | 19:21:33 |
Randy Eckenrode | In reply to @k900:0upti.me And Python just what, doesn't support Darwin cross at all? https://github.com/python/cpython/issues/90905 | 19:21:48 |
Randy Eckenrode | There’s another issue that’s over a decade old. | 19:22:03 |
K900 | Yep makes sense | 19:22:16 |
K900 | I appreciate how the comments on the issue are just various forms of "why would you ever" | 19:23:40 |
Randy Eckenrode | Is Perl supposed to support cross-compilation? It appears to fail at patching. | 20:00:33 |
Artturin | Yes, pkgsCross.aarch64-multiplatform.perl is cached on linux | 20:03:23 |
Artturin | Error? | 20:03:33 |
Randy Eckenrode | install: skipping file '/dev/fd/63', as it was replaced while being copied
Running phase: unpackPhase
@nix { "action": "setPhase", "phase": "unpackPhase" }
install: skipping file '/dev/fd/63', as it was replaced while being copied
unpacking source archive /nix/store/mp5jcbm1hjqw4ckxvrm7k0pfhhjf3dbg-perl-5.38.2.tar.gz
source root is perl-5.38.2
unpacking source archive /nix/store/kaa0wd0x05ff5xy40g4qh32fcvsxzy6h-perl-cross-84db4c71ae3d3b01fb2966cd15a060a7be334710
setting SOURCE_DATE_EPOCH to timestamp 1701180287 of file perl-5.38.2/lib/unicore/TestNorm.pl
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "patchPhase" }
install: skipping file '/dev/fd/63', as it was replaced while being copied
applying patch /nix/store/55lbvcqz3z97jcqf2zxqwav58wq52z8l-no-sys-dirs-5.38.0.patch
patching file Configure
Hunk #1 FAILED at 108.
Hunk #2 FAILED at 1455.
Hunk #3 FAILED at 1470.
Hunk #4 FAILED at 1515.
Hunk #5 FAILED at 2581.
Hunk #6 FAILED at 5023.
Hunk #7 FAILED at 8860.
Hunk #8 FAILED at 21500.
8 out of 8 hunks FAILED -- saving rejects to file Configure.rej
patching file ext/Errno/Errno_pm.PL
patching file hints/freebsd.sh
patching file hints/linux.sh
| 20:04:13 |
Randy Eckenrode | Trying to build pkgsCross.gnu64.perl or pkgsCross.x86_64-darwin.perl . | 20:04:32 |
Randy Eckenrode | Branched off master ~month ago. | 20:04:57 |
Randy Eckenrode | I checked and didn’t really see any updates though. | 20:05:12 |
Randy Eckenrode | Looks like I might need some patches from staging. | 20:07:33 |
Artturin | $ gco reckenrode/darwin-sdk-fixes
Updating files: 100% (30774/30774), done.
HEAD is now at d5b70beba9a1 blackbox: fix build on x86_64-darwin
$ nix repl --file . --system aarch64-darwin
Nix 2.24.0pre20240910_857fe67
Type :? for help.
Loading installable ''...
Added 16736 variables.
nix-repl> perl
«derivation /nix/store/giailcym35zp05jikiqy02msmzlgd57g-perl-5.34.1.drv»
master
$ nix repl --file . --system aarch64-darwin
Nix 2.24.0pre20240910_857fe67
Type :? for help.
Loading installable ''...
Added 22669 variables.
nix-repl> perl
«derivation /nix/store/fwp5kdmb5wpp399s87vyl44zzf8l9jm8-perl-5.38.2.drv»
| 20:08:24 |
Artturin | perl 5.34.1 vs 5.38.2 | 20:08:40 |
Artturin | Nvm your log has source root is perl-5.38.2 | 20:09:08 |