Skip to content

Comments

xorg: improve splicing situtation #199912

Merged
Artturin merged 5 commits intoNixOS:masterfrom
Artturin:xorgsplicing1
Nov 11, 2022
Merged

xorg: improve splicing situtation #199912
Artturin merged 5 commits intoNixOS:masterfrom
Artturin:xorgsplicing1

Conversation

@Artturin
Copy link
Member

@Artturin Artturin commented Nov 6, 2022

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.

@Artturin Artturin added the 6.topic: cross-compilation Building packages on a different platform than they will be used on label Nov 6, 2022
@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. and removed 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Nov 6, 2022
@Artturin
Copy link
Member Author

Artturin commented Nov 6, 2022

There's still a issue with the self splicing in overrides.nix

  xcursorthemes = super.xcursorthemes.overrideAttrs (attrs: {
    nativeBuildInputs = attrs.nativeBuildInputs ++ [ self.xcursorgen ];
    buildInputs = attrs.buildInputs ++ [ self.xorgproto ];
    configureFlags = [ "--with-cursordir=$(out)/share/icons" ];
  });
nativeBuildInputs = attrs.nativeBuildInputs ++ [ self.xcursorgen ];

nix-repl> pkgsCross.aarch64-multiplatform.xorg.xcursorthemes.nativeBuildInputs
[ «derivation /nix/store/qpmjw2z72k8v9gr3g666sdprijdkd7ph-aarch64-unknown-linux-gnu-pkg-config-wrapper-0.29.2.drv» «derivation /nix/store/pvfhi0dhr2g78cpgrc854l1jzzm41783-xcursorgen-aarch64-unknown-linux-gnu-1.0.7.drv» ]

@Artturin Artturin marked this pull request as ready for review November 7, 2022 04:01
@Artturin
Copy link
Member Author

Artturin commented Nov 7, 2022

the remaining cross-failures (libFS,libWindowsWM,xf86videoxgi,xf86videotdfx,xf86videor128) are errors like

checking whether malloc(0) returns NULL... configure: error: in `/build/libFS-1.0.8':
configure: error: cannot run test program while cross compiling
See `config.log' for more details

and

xf86-video-xgi-aarch64-unknown-linux-gnu> checking for /nix/store/5bwvj6sr1ckzkjz38inq2s4bvj6fpgic-xorg-server-aarch64-unknown-linux-gnu-1.20.14-dev/include/xorg/dri.h... configure: error: cannot check for file existence when cross compiling

@Artturin
Copy link
Member Author

Artturin commented Nov 7, 2022

from ~45 failures to ~7, pretty good :)

btw im building with

nix-eval-jobs --flake ".#legacyPackages.x86_64-linux.pkgsCross.aarch64-multiplatform.xorg" 2>/dev/null --impure \
  | jq '.drvPath | select(. != null)' \
  | xargs nix build -v --keep-going --no-link

@ofborg ofborg bot added 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. and removed 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. labels Nov 7, 2022
@Artturin
Copy link
Member Author

Artturin commented Nov 7, 2022

i'll move

fca2b164c69 xorg.imake: fix cross
17d49dceda6 xorg.xdm: fix cross

to a separate PR so this can go in to master

nix flake check passes so i think this is ready to be merged

@ofborg ofborg bot added 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. and removed 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. labels Nov 7, 2022
@Artturin Artturin merged commit 9e1df3a into NixOS:master Nov 11, 2022
@Artturin Artturin deleted the xorgsplicing1 branch November 11, 2022 03:09
ApplicationServices, Carbon, Cocoa, Xplugin
mcpp, libepoxy, openssl, pkg-config, llvm, libxslt, libxcrypt,
ApplicationServices, Carbon, Cocoa, Xplugin,
xorg
Copy link
Member

@Ericson2314 Ericson2314 Nov 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see why xorg is here and used instead of self below. That seems wrong.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

self is not spliced, containing only packages for hostPlatform, while xorg is spliced, thus the packages for appropriated platforms can be automatically selected, I guess that's the reason why we have to use xorg here.

samueldr added a commit to samueldr-wip/mobile-nixos-wip that referenced this pull request Nov 16, 2022
wentam pushed a commit to wentam/mobile-nixos that referenced this pull request Feb 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: cross-compilation Building packages on a different platform than they will be used on 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants