4 Aug 2022 |
Rick (Mindavi) | In reply to @tpw_rules:matrix.org was an issue with perl failing to cross compile some stuff saying something along the lines of "this perl can't load dynamic libraries" fixed recently, or such is in the pipeline? It's only ever worked around for now | 05:52:02 |
Artturin | In reply to @artturin:matrix.org (not-yet-pr'd-but-fixed) https://github.com/NixOS/nixpkgs/pull/185097 | 05:53:52 |
trofi | Restored stripping of gcc on some recently-lost files: https://github.com/NixOS/nixpkgs/pull/184908. Not a big closure difference, but still nice for consistency. | 07:00:38 |
tpw_rules | ok it seems my issue has in fact been fixed on master | 15:02:43 |
5 Aug 2022 |
| Kira Bruneau joined the room. | 00:43:19 |
| Kira Bruneau changed their display name from daxvena to Kira Bruneau. | 00:43:22 |
| Kira Bruneau changed their display name from Kira Bruneau to daxvena. | 00:44:46 |
Artturin | with https://github.com/NixOS/nixpkgs/pull/185097 we can revert https://github.com/nixos/nixpkgs/commit/eb829035c938022bb064faef56a7b1346443e034 | 00:57:39 |
Artturin | so no need to add gobject-introspection to buildInputs | 00:57:58 |
| Kira Bruneau changed their display name from daxvena to Kira Bruneau. | 03:24:50 |
trofi | binutils-2.39, lightly tested so far: https://github.com/NixOS/nixpkgs/pull/185297 | 20:40:12 |
6 Aug 2022 |
Minijackson | trofi: I see you've removed the ppc patch from the nix file, but not the .patch file itself, is there any particular reason? | 09:03:18 |
trofi | None. Probably just forgot. Looking. | 14:48:47 |
trofi | Yeah. Removed the file as well and pushed. | 14:52:12 |
7 Aug 2022 |
trofi | A bit more stripping, this time for glibc and other separate-debug packages: https://github.com/NixOS/nixpkgs/pull/185537 | 11:29:50 |
Yuka (she/her) |
Libgpg-error needs to figure out some platform specific properties. These are used to build the platform specific gpg-error.h file. The detection is done during build time but can't be done when cross-compiling.
We could fix this by using the qemu-user emulator right?
| 11:46:31 |
Artturin | In reply to @yuka:yuka.dev
Libgpg-error needs to figure out some platform specific properties. These are used to build the platform specific gpg-error.h file. The detection is done during build time but can't be done when cross-compiling.
We could fix this by using the qemu-user emulator right?
Read the configure script and hardcode the values | 11:50:53 |
Artturin | And check other distros build definitions for that package | 11:51:34 |
Artturin | Openembedded-core and void | 11:51:51 |
Yuka (she/her) | Yeah but I mean a generic fix | 11:53:12 |
Yuka (she/her) | Not something where you need to add support for each new platform individually | 11:53:25 |
Yuka (she/her) | the list of manual conditional fixes is already pretty long:
'' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.buildPlatform != stdenv.hostPlatform) ''
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabihf.h
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabi.h
'' + lib.optionalString (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.x86_64-pc-linux-musl.h src/syscfg/lock-obj-pub.linux-musl.h
'' + lib.optionalString (stdenv.hostPlatform.isi686 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.i686-unknown-linux-gnu.h src/syscfg/lock-obj-pub.linux-musl.h
'' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.arm-unknown-linux-musleabihf.h
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-musleabihf.h
'' + lib.optionalString (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.aarch64-unknown-linux-gnu.h src/syscfg/lock-obj-pub.linux-musl.h
'';
| 11:54:27 |
Yuka (she/her) | * the list of manual conditional fixes is already pretty long:
'' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.buildPlatform != stdenv.hostPlatform) ''
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabihf.h
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabi.h
'' + lib.optionalString (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.x86_64-pc-linux-musl.h src/syscfg/lock-obj-pub.linux-musl.h
'' + lib.optionalString (stdenv.hostPlatform.isi686 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.i686-unknown-linux-gnu.h src/syscfg/lock-obj-pub.linux-musl.h
'' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.arm-unknown-linux-musleabihf.h
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-musleabihf.h
'' + lib.optionalString (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.aarch64-unknown-linux-gnu.h src/syscfg/lock-obj-pub.linux-musl.h
'';
| 11:54:31 |
Yuka (she/her) | * the list of manual conditional fixes is already pretty long:
''
'' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.buildPlatform != stdenv.hostPlatform) ''
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabihf.h
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabi.h
'' + lib.optionalString (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.x86_64-pc-linux-musl.h src/syscfg/lock-obj-pub.linux-musl.h
'' + lib.optionalString (stdenv.hostPlatform.isi686 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.i686-unknown-linux-gnu.h src/syscfg/lock-obj-pub.linux-musl.h
'' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.arm-unknown-linux-musleabihf.h
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-musleabihf.h
'' + lib.optionalString (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.aarch64-unknown-linux-gnu.h src/syscfg/lock-obj-pub.linux-musl.h
'';
| 11:54:35 |
Yuka (she/her) | * the list of manual conditional fixes is already pretty long:
postPatch = ''
[...]
'' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.buildPlatform != stdenv.hostPlatform) ''
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabihf.h
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabi.h
'' + lib.optionalString (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.x86_64-pc-linux-musl.h src/syscfg/lock-obj-pub.linux-musl.h
'' + lib.optionalString (stdenv.hostPlatform.isi686 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.i686-unknown-linux-gnu.h src/syscfg/lock-obj-pub.linux-musl.h
'' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.arm-unknown-linux-musleabihf.h
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-musleabihf.h
'' + lib.optionalString (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.aarch64-unknown-linux-gnu.h src/syscfg/lock-obj-pub.linux-musl.h
'';
| 11:54:47 |
Yuka (she/her) | * the list of manual conditional fixes (symlinking stuff from existing configs which happen to be the same as the required target) is already pretty long:
postPatch = ''
[...]
'' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.buildPlatform != stdenv.hostPlatform) ''
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabihf.h
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabi.h
'' + lib.optionalString (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.x86_64-pc-linux-musl.h src/syscfg/lock-obj-pub.linux-musl.h
'' + lib.optionalString (stdenv.hostPlatform.isi686 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.i686-unknown-linux-gnu.h src/syscfg/lock-obj-pub.linux-musl.h
'' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.arm-unknown-linux-musleabihf.h
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-musleabihf.h
'' + lib.optionalString (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.aarch64-unknown-linux-gnu.h src/syscfg/lock-obj-pub.linux-musl.h
'';
| 11:55:22 |
Yuka (she/her) | nvm, upstream updates make all of these fixes unnecessary, I could only find one very niche platform that is still broken (riscv32 musl) | 12:26:13 |
Yuka (she/her) | https://github.com/NixOS/nixpkgs/pull/185541 | 12:26:16 |
Alyssa Ross | yuka: we could but IIRC they have lists of those upstream for cross-compiling | 16:37:22 |
Alyssa Ross | so that would be the proper way to fix it | 16:37:31 |