Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pkg-config: use dontUnpack instead of no-op phase #196334

Merged
merged 1 commit into from
Jan 13, 2023

Conversation

alyssais
Copy link
Member

Description of changes
Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 22.11 Release Notes (or backporting 22.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@AndersonTorres
Copy link
Member

Anyone can verify if this splices correctly?

@alyssais
Copy link
Member Author

From what I remember I did quite a bit of cross testing with this. Note that the only change to splicing here is moving away from it for targetPrefix.

@ghost
Copy link

ghost commented Jan 13, 2023

Anyone can verify if this splices correctly?

Yes, it does.

I cross compile the whole userspace of my mips routers from my much-faster powerpc builders.

I did that build at this PR and it successfully cross-compiled the following referrers of these two (glibc and musl) cross-targeted pkg-configs:

PC_GLIBC=/nix/store/fg3mzwz4nc7z65zy2v1cjff61l82wix2-mips64el-unknown-linux-gnuabi64-pkg-config-wrapper-0.29.2.drv
PC_MUSL=/nix/store/jsafg4dq0d9gcm1c2d8qz1ag37vr2wv1-mips64el-unknown-linux-muslabi64-pkg-config-wrapper-0.29.2.drv
for A in $(( \
  nix-store -q --referrers $PC_GLIBC; \
  nix-store -q --referrers $PC_MUSL \
) | sort | uniq | xargs -L1 nix-store -q)
do test -e $A && echo $A
done
List of successfully cross-compiled outpaths
/nix/store/1zh40xkh7l1livd2h662d924hm7ld8da-curl-mips64el-unknown-linux-gnuabi64-7.87.0-devdoc
/nix/store/5v6zf8hk34mq13ggzm3af3mksz2im7nv-curl-mips64el-unknown-linux-gnuabi64-7.87.0-man
/nix/store/apb0xw9wbyy3cl3qfvcy5fx0y62d729a-curl-mips64el-unknown-linux-gnuabi64-7.87.0-debug
/nix/store/glq9ss2ggl0s37i47b729lvp83pn3ni9-curl-mips64el-unknown-linux-gnuabi64-7.87.0-dev
/nix/store/r1138wrv7bl83qyzvh3qq3rbq7yjxw3y-curl-mips64el-unknown-linux-gnuabi64-7.87.0
/nix/store/rn5xqspsv9a8qr8i9jlknl0pl8bralf6-curl-mips64el-unknown-linux-gnuabi64-7.87.0-bin
/nix/store/1kc22jdjijpppgkj1ir50g5hf9sij5gb-util-linux-minimal-mips64el-unknown-linux-gnuabi64-2.38.1-debug
/nix/store/9v6sblcvg9byyhfqc9gkvrrmk40m62jr-util-linux-minimal-mips64el-unknown-linux-gnuabi64-2.38.1-man
/nix/store/adhbjwa1sv1rlnfq352xzhhkiqqm7hjw-util-linux-minimal-mips64el-unknown-linux-gnuabi64-2.38.1-bin
/nix/store/dvmycx2a7qghy97jjbkhp2r5323p4x0y-util-linux-minimal-mips64el-unknown-linux-gnuabi64-2.38.1
/nix/store/mgd8hkpmpfqi5r93m0dkh7kaq8vxp2qi-util-linux-minimal-mips64el-unknown-linux-gnuabi64-2.38.1-lib
/nix/store/zh0idgi8hqz0y9qdqmqg1kqmh5prqih2-util-linux-minimal-mips64el-unknown-linux-gnuabi64-2.38.1-dev
/nix/store/29rm3pqsq424h9w25k3ldmglzqxxp7d2-nghttp2-static-mips64el-unknown-linux-muslabi64-1.51.0-dev
/nix/store/5hpvc0djyp57by614d32jgsyhn7adh7x-nghttp2-static-mips64el-unknown-linux-muslabi64-1.51.0-bin
/nix/store/8bjm90653yjv8awgxmh2kb1mz18gxvjn-nghttp2-static-mips64el-unknown-linux-muslabi64-1.51.0-lib
/nix/store/pnjrgrgh52lfshw9vsgj6ri7jcc4ir5c-nghttp2-static-mips64el-unknown-linux-muslabi64-1.51.0
/nix/store/0j7lc18idx1z1rh5j3f3g379glzdj6v3-systemd-minimal-mips64el-unknown-linux-gnuabi64-252.4-dev
/nix/store/n5q95zxyslpvwdhfbv6zah9s7jrnmrsc-systemd-minimal-mips64el-unknown-linux-gnuabi64-252.4-man
/nix/store/zyk2b2mqcgz8kk41i3awvnyrc3jm3adh-systemd-minimal-mips64el-unknown-linux-gnuabi64-252.4
/nix/store/5fbanyxqfzm7jal79af3d8py29xb6q96-kmod-mips64el-unknown-linux-gnuabi64-30-lib
/nix/store/5s3nwzfcns6cdmwx8pw5gzh1kb8065il-kmod-mips64el-unknown-linux-gnuabi64-30
/nix/store/j9n6svfwf2v8jzrh29mz3hm4x30p4kfa-kmod-mips64el-unknown-linux-gnuabi64-30-dev
/nix/store/1iaardzn8fwsz7rcxh7rxgadsqcy8y56-tpm2-tss-mips64el-unknown-linux-gnuabi64-3.2.0
/nix/store/5fp46c4sgck3l1n42x6jzqkbkcfyna38-pcsclite-mips64el-unknown-linux-gnuabi64-1.9.5-bin
/nix/store/6gxi3ipb9i7yjz286c8k5vpnpsjwymlp-pcsclite-mips64el-unknown-linux-gnuabi64-1.9.5-man
/nix/store/x4yhzwch4jjvalyyvzgxv1syyk9wn68q-pcsclite-mips64el-unknown-linux-gnuabi64-1.9.5-doc
/nix/store/xzqy6rvjzy4610c798hfyp070mxj8nfg-pcsclite-mips64el-unknown-linux-gnuabi64-1.9.5
/nix/store/zzaj6v6bfm3c48s8qh9wmq9di0j10g3k-pcsclite-mips64el-unknown-linux-gnuabi64-1.9.5-dev
/nix/store/7flr9qs3rcjcav5rmhpgclzms8h39x3m-gnutls-mips64el-unknown-linux-gnuabi64-3.7.8-bin
/nix/store/80fw4iqzq1bndm3iashzxkv3fbhxh5km-gnutls-mips64el-unknown-linux-gnuabi64-3.7.8-dev
/nix/store/85k3im8z5qq4v30k92jfdp9frkwlnm66-gnutls-mips64el-unknown-linux-gnuabi64-3.7.8
/nix/store/la0ym0c17cy87d7nmxqjsilw6zjqbpyg-gnutls-mips64el-unknown-linux-gnuabi64-3.7.8-devdoc
/nix/store/nyqgja1r9dqwxf8izgbr800rk3l88pa8-gnutls-mips64el-unknown-linux-gnuabi64-3.7.8-man
/nix/store/pc8qf9j723zcs2a6x70shvnzwhfcw4n4-libbpf-mips64el-unknown-linux-gnuabi64-1.1.0
/nix/store/059kxi3ism0nidcz1sx4idf9ndlm7k2g-libfido2-mips64el-unknown-linux-gnuabi64-1.12.0
/nix/store/062157187dk37b2qvnqdjd2hmjwwl4ja-libfido2-mips64el-unknown-linux-gnuabi64-1.12.0-man
/nix/store/jzcxr0vdwci871np8q2qpzypqkh5q31a-libfido2-mips64el-unknown-linux-gnuabi64-1.12.0-dev
/nix/store/glbkyhhj3r6malwbsp4srw77hqy8h8qh-unbound-mips64el-unknown-linux-gnuabi64-1.17.0-lib
/nix/store/k1qs94i3pfv8lgvgxf8zhx738z844q5x-unbound-mips64el-unknown-linux-gnuabi64-1.17.0-man
/nix/store/zrahqyxxxrp5gkq0r0qjprflqn87ck39-unbound-mips64el-unknown-linux-gnuabi64-1.17.0
/nix/store/30iv85k8jwnaz8a97h7pbnxc752kq393-p11-kit-mips64el-unknown-linux-gnuabi64-0.24.1-dev
/nix/store/7x2rlx6d41k2r3avycdk7ajw7yq12yim-p11-kit-mips64el-unknown-linux-gnuabi64-0.24.1-bin
/nix/store/vpy6sxs5wln7a770s9hh9yd705300qw5-p11-kit-mips64el-unknown-linux-gnuabi64-0.24.1
/nix/store/p0hxch2v3a30swb1h29fl5mbws54rx4d-kbd-mips64el-unknown-linux-gnuabi64-2.5.1
/nix/store/5dq1rbfqf6zanw1g7x88kxvw0rjylzfr-libxml2-static-mips64el-unknown-linux-muslabi64-2.10.3-dev
/nix/store/fznsdjbvnp1ibpazjqpw57zyzzy4zkbb-libxml2-static-mips64el-unknown-linux-muslabi64-2.10.3-bin
/nix/store/mxb1idmg504and0vhzkm6hrxxaxxpzq9-libxml2-static-mips64el-unknown-linux-muslabi64-2.10.3-doc
/nix/store/nva818s59x5rxjp19j09wqv6752c5c04-libxml2-static-mips64el-unknown-linux-muslabi64-2.10.3
/nix/store/k7r25yqnyxp99gyn71phh8mv1kilr1ma-ncurses-mips64el-unknown-linux-gnuabi64-6.4-dev
/nix/store/nzagv9lamcg8bcaxqqgphrijg9pnd131-ncurses-mips64el-unknown-linux-gnuabi64-6.4-man
/nix/store/yydmr5zvj9p73p04ac4xzm9h28ray76w-ncurses-mips64el-unknown-linux-gnuabi64-6.4
/nix/store/2djipggdp0r4plw9j8qy63sx200gwzrh-iptables-mips64el-unknown-linux-gnuabi64-1.8.8
/nix/store/62h2fljwybaa7jiv9lrij740r4ciadky-iptables-mips64el-unknown-linux-gnuabi64-1.8.8-man
/nix/store/jsv22927l7vil7jni8sslar5rykwddy1-iptables-mips64el-unknown-linux-gnuabi64-1.8.8-dev
/nix/store/29kfqyvxbhyxf64xam90g3wmp2ji6vz8-python3-mips64el-unknown-linux-gnuabi64-3.10.9
/nix/store/4fpiambi8yaswm8dqnq7sl56nm95q4ba-python3-mips64el-unknown-linux-gnuabi64-3.10.9-debug
/nix/store/cbhsl81pz6sz96jwabbd33xapfk0557g-libmicrohttpd-mips64el-unknown-linux-gnuabi64-0.9.71-devdoc
/nix/store/dxzxc3da8nn6ybfx6gnpq0mxzjjbzj9s-libmicrohttpd-mips64el-unknown-linux-gnuabi64-0.9.71-dev
/nix/store/hf2s4mvkf458jz3b1lgpvl97mh4k29wd-libmicrohttpd-mips64el-unknown-linux-gnuabi64-0.9.71
/nix/store/jq6gr6n0y5qi5m0jifjiqii8am1cshn4-libmicrohttpd-mips64el-unknown-linux-gnuabi64-0.9.71-info
/nix/store/lmg1bf4qkjfm1ykz3q6vi2a73wirshah-libapparmor-mips64el-unknown-linux-gnuabi64-3.1.2
/nix/store/r401dcda3h72p9khq25mcsbsc30jr7s6-libnftnl-mips64el-unknown-linux-gnuabi64-1.2.4
/nix/store/36sgwgmrywpi03wkpglr77j098djv8lh-nghttp2-mips64el-unknown-linux-gnuabi64-1.51.0-dev
/nix/store/3fa581kac6c5dbsbis2vfvdi8mc5a4n8-nghttp2-mips64el-unknown-linux-gnuabi64-1.51.0-bin
/nix/store/47746dn126wgqs1sj4vclmk8w1q1if6w-nghttp2-mips64el-unknown-linux-gnuabi64-1.51.0-lib
/nix/store/zbsxsl8ipd8kxn43snjmvw7br0w1h37b-nghttp2-mips64el-unknown-linux-gnuabi64-1.51.0
/nix/store/6pwh5k5nb62ahbz5cwg19ly9z46jw9a1-tcb-mips64el-unknown-linux-gnuabi64-1.2
/nix/store/7rz5n8xiagl2mbn6ghg38az4p65v4wwg-tcb-mips64el-unknown-linux-gnuabi64-1.2-man
/nix/store/mn8zgcif6wfa6zp311pkq6a3yh4z0d8z-tcb-mips64el-unknown-linux-gnuabi64-1.2-dev
/nix/store/wyag8h8s15gf2kcn2j7x7v5903yivfgf-tcb-mips64el-unknown-linux-gnuabi64-1.2-bin
/nix/store/6rqvk5k84v8f2kyd8910r0aml8fbgvfh-lvm2-mips64el-unknown-linux-gnuabi64-2.03.18-man
/nix/store/b2zbwqnb953wr8c5aajf7q2hl9f0fzab-lvm2-mips64el-unknown-linux-gnuabi64-2.03.18-dev
/nix/store/by3nmi6l68b30n5cnr54bb8z48p8xva5-lvm2-mips64el-unknown-linux-gnuabi64-2.03.18-lib
/nix/store/iswm3fqsy8hfaq76ic69aklignvflakr-lvm2-mips64el-unknown-linux-gnuabi64-2.03.18-bin
/nix/store/kgr39lc5xsr8x4w1ar6rhqn1j38vph8c-lvm2-mips64el-unknown-linux-gnuabi64-2.03.18
/nix/store/mzqn0ayk0xlldrf2m2c7kaq36ivmyr5w-gnupg-mips64el-unknown-linux-gnuabi64-2.3.7
/nix/store/njg9bkc41bjfscv2hk5v953m42nglpbh-libkrb5-mips64el-unknown-linux-gnuabi64-1.20.1-dev
/nix/store/scyd57cr2ca4gg9lhqrbpvq5jgf3fhxm-libkrb5-mips64el-unknown-linux-gnuabi64-1.20.1
/nix/store/3x56q6yam278myyybcx1fkgln755h9dr-cryptsetup-mips64el-unknown-linux-gnuabi64-2.5.0-debug
/nix/store/5im82anzpp5nxxwhjmgy8xc5izdpyszl-cryptsetup-mips64el-unknown-linux-gnuabi64-2.5.0-man
/nix/store/63mmlq9c96cx0gl504y58myy0yc26am9-cryptsetup-mips64el-unknown-linux-gnuabi64-2.5.0-dev
/nix/store/alx041capjbalnpf0c9q65yqjjy55ash-cryptsetup-mips64el-unknown-linux-gnuabi64-2.5.0
/nix/store/y7v7nf18vmqb32cdc5wpgv09gm90y17b-cryptsetup-mips64el-unknown-linux-gnuabi64-2.5.0-bin
/nix/store/2q8pp2ih0w5npw35f66w58hqyqi533y0-libnetfilter_conntrack-mips64el-unknown-linux-gnuabi64-1.0.9

... before failing for reasons totally unrelated to this PR. I have fixed those unrelated reasons and restarted the build; it should be done by morning. But if you're looking for a "smoke test" the above should be plenty; there's no need to wait for it.

The unrelated reason systemd doesn't build on mips via nixpkgs right now. Some BPF header wackery, ~~I think it's~~ it is in fact the same issue as [this](https://github.com//pull/194149); cherry-picking that got past `libsystemd` and built `tor`. I cherry-picked the rest of my local customizations (including the "without systemd" patch) and restarted the build, but it'll be a global rebuild.

@Ericson2314
Copy link
Member

This is not wrong, but I am in general wary of referring to targetPackages when it is not strictly necessary? Even if this doesn't cause splicing issues today, it could down the road if e.g. if things in the bootstrap are made to use pkg-config instead of ad-hoc methods.

@alyssais
Copy link
Member Author

Fine, I've dropped that commit.

@alyssais alyssais changed the title pkg-config: small wrapper cleanups pkg-config: use dontUnpack instead of no-op phase Jan 13, 2023
@Artturin Artturin merged commit 3c3b3ab into NixOS:staging Jan 13, 2023
@alyssais alyssais deleted the pkg-config-cleanup branch January 13, 2023 23:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants