From mboxrd@z Thu Jan 1 00:00:00 1970 From: shtwzrd via Bug reports for GNU Guix Subject: bug#39402: set-xorg-configuration pulls in unsupported packages on target architecture Date: Sat, 08 Feb 2020 09:30:57 +0000 Message-ID: References: <20200204110521.GD19864@E5400> Reply-To: shtwzrd , shtwzrd Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:33717) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j0MT6-0003IW-Ll for bug-guix@gnu.org; Sat, 08 Feb 2020 04:32:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j0MT4-0002IF-Pz for bug-guix@gnu.org; Sat, 08 Feb 2020 04:32:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:44640) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j0MT4-0002Hs-Bx for bug-guix@gnu.org; Sat, 08 Feb 2020 04:32:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j0MT4-0003P9-AC for bug-guix@gnu.org; Sat, 08 Feb 2020 04:32:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <20200204110521.GD19864@E5400> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane-mx.org@gnu.org Sender: "bug-Guix" To: Efraim Flashner Cc: "39402@debbugs.gnu.org" <39402@debbugs.gnu.org> I did a little bit more experimenting and can see it's not set-xorg-configu= ration that is the problem, it goes deeper. Perhaps it's `xorg-configuration` itself? Here's my full config at the minute, now trying with `xorg-start-command`, = which has the same problem: ``` (use-modules (guix download) =09 (guix git-download) =09 (guix packages) =09 (gnu) =09 (gnu bootloader u-boot) =09 (gnu packages linux) =09 (gnu packages bootloaders) =09 (gnu packages libusb) =09 (gnu packages certs) =09 (gnu packages bootloaders) =09 (gnu packages suckless) =09 (gnu packages xdisorg) =09 (gnu packages gnome) =09 (gnu packages xorg) =09 (gnu services xorg) =09 (gnu services dbus) =09 (gnu services sound) =09 (gnu services networking) =09 (gnu services avahi) =09 (gnu services desktop) =09 (guix build-system trivial)) (use-service-modules desktop) ;; bootloader --- (define-public u-boot-pinebook-pro-rk3399 (let ((base (make-u-boot-package "pinebook_pro-rk3399" "aarch64-linux-gnu= "))) (package (inherit base) (source (origin =09 (method url-fetch) =09 (uri (string-append =09=09 "ftp://ftp.denx.de/pub/u-boot/" =09=09 "u-boot-" (package-version base)".tar.bz2")) =09 (sha256 =09 (base32 =09=09"1w9ml4jl15q6ixpdqzspxjnl7d3rgxd7f99ms1xv5c8869h3qida")) =09 ;; need a rather large patch, based on commit: =09 ;; 3034b8864e47bfbf6f0330dc67620a2a71cfe3f8 =09 ;; from git.eno.space/pbp-uboot.git =09 (patches '("./patches/uboot-pinebook-pro-rk3399.patch")))) (arguments (substitute-keyword-arguments (package-arguments base) ((#:phases phases) =09`(modify-phases ,phases =09=09=09(add-after =09=09=09 'unpack 'set-environment =09=09=09 (lambda* (#:key inputs #:allow-other-keys) =09=09=09 (setenv "BL31" (string-append (assoc-ref inputs "firmware") =09=09=09=09=09=09=09 "/bl31.elf")) =09=09=09 #t)) =09=09=09;; Phases do not succeed on the bl31 ELF. =09=09=09(delete 'strip) =09=09=09(delete 'validate-runpath))))) (native-inputs `(("firmware" ,arm-trusted-firmware-rk3399) =09,@(package-native-inputs base)))))) (define u-boot-pinebook-pro-bootloader (bootloader (inherit u-boot-rockpro64-rk3399-bootloader) (package u-boot-pinebook-pro-rk3399))) =09=09=09=09=09;(define u-boot-pinebookpro-rk3399-bootloader ;; SD and eMMC use the same format =09=09=09=09=09; (bootloader =09=09=09=09=09; (inherit u-boot-bootloader) =09=09=09=09=09; (package u-boot-rockpro64-rk3399) =09=09=09=09=09; (installer install-rockpro64-rk3399-u-boot))) ;; linux kernel --- (define kernel-config (string-append (dirname (current-filename)) "/kernel.config")) ;; we need a custom patched kernel for now ;; hopefully the changes get mainlined soon (define linux-pbp (let ((repo "gitlab.manjaro.org/tsys/linux-pinebook-pro") =09(commit "b262e709c608c1a5acefca280a2899acab9a802b") =09(revision "3")) (package (inherit linux-libre) (name "linux-pbp") (version (git-version "5.5.0" revision commit)) (native-inputs `(("kconfig" ,kernel-config) =09,@(assoc-remove! (package-native-inputs linux-libre) "kconfig"))) (source (origin =09 (method url-fetch) =09 (uri (string-append =09=09 "https://" repo "/repository/archive.tar.gz?ref=3D" commit)) =09 (sha256 =09 (base32 =09=09"087qla48jqwa1bwn6d3qriizjfnv2xvl7q8akjmrkgfa46a5lrxr"))))))) (operating-system (kernel linux-pbp) (host-name "pinebook-pro") (timezone "Europe/Copenhagen") (locale "en_US.utf8") (keyboard-layout (keyboard-layout "us" "altgr-intl")) (bootloader (bootloader-configuration (target "/dev/mmcblk1boot0") (bootloader u-boot-pinebook-pro-bootloader))) (initrd-modules '()); (delq "ahci" %base-initrd-modules)) (file-systems (append =09=09(list =09=09 (file-system =09=09 (device "/dev/mmcblk1p1") =09=09 (mount-point "/boot") =09=09 (type "vfat")) =09=09 (file-system =09=09 (device "/dev/mmcblk1p2") =09=09 (mount-point "/") =09=09 (type "ext4"))) =09=09%base-file-systems)) ;; This is where user accounts are specified. The "root" ;; account is implicit, and is initially created with the ;; empty password. (users (cons (user-account (name "rock") (group "users") ;; Adding the account to the "wheel" group ;; makes it a sudoer. Adding it to "audio" ;; and "video" allows the user to play sound ;; and access the webcam. (supplementary-groups '("wheel" =09=09=09 "audio" "video"))) %base-user-accounts)) ;; Globally-installed packages. (packages (append =09 (list =09 nss-certs) =09 %base-packages)) (services (append =09 (list =09 ;; desktop environment and xorg config =09 (service xfce-desktop-service-type) =09=09=09=09=09;=09 slim-service-type) =09 (simple-service 'startx-file =09=09=09 special-files-service-type =09=09=09 (let =09=09=09=09 ((startx =09=09=09=09 (xorg-start-command =09=09=09=09 (xorg-configuration =09=09=09=09 (keyboard-layout keyboard-layout) =09=09=09=09 (extra-config =09=09=09=09 '( =09=09=09=09=09;; small fix for the trackpad, as described on wiki.pine64.o= rg =09=09=09=09=09"Section \"InputClass\" =09=09 Identifier \"touchpad catchall\" =09=09 Driver \"synaptics\" =09=09 MatchIsTouchpad \"on\" =09=09 MatchDevicePath \"/dev/input/event= *\" =09=09 Option \"MinSpeed\" \"0.25\" =09 EndSection")))))) =09=09=09 `(("/bin/startx" ,(file-append startx "/bin/startx"))))) =09 (screen-locker-service slock) =09 (screen-locker-service xlockmore "xlock") =09 ;; Add udev rules for MTP devices so that non-root users can access =09 ;; them. =09 (simple-service 'mtp udev-service-type (list libmtp)) =09 ;; network management =09 (service network-manager-service-type) =09 (service wpa-supplicant-service-type) =09 (simple-service 'network-manager-applet =09=09=09 profile-service-type =09=09=09 (list network-manager-applet)) =09 (service modem-manager-service-type) =09 (service usb-modeswitch-service-type) =09 (service avahi-service-type) =09 (udisks-service) =09 (service upower-service-type) =09 (service cups-pk-helper-service-type) =09 (geoclue-service) =09 (service polkit-service-type) =09 (elogind-service) =09 (dbus-service) =09 (service ntp-service-type) =09 x11-socket-directory-service =09 (service alsa-service-type)) =09 %base-services)) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss)) ``` I wonder, does the use of `default` in `xorg-configuration` cause the defau= lt provided parameters to be evaluated and included even when the given fie= ld was initialized with a different value? I want to try to fix this in guix but my knowledge of the project and guile= are limited at the moment. Alternatively, are there any cute workarounds I could do? I tried to find a= way to do a package replacement but I couldn't see how ot make it work in = this case, where the package is pulled in by a service somehow and doesn't = provide a way to configure what it uses. Thanks for helping. :) =E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90 Original Me= ssage =E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90 On Tuesday, February 4, 2020 11:05 AM, Efraim Flashner wrote: > On Mon, Feb 03, 2020 at 01:22:16AM +0000, shtwzrd via Bug reports for GNU= Guix wrote: > > > Howdy :), > > I've found that the `set-xorg-configuration` service ends up pulling in= `xf86-video-intel` as a dependency. But `xf86-video-intel` fails to build,= with: > > > > checking whether to include UXA support... no > > checking whether to include SNA support... auto > > checking for xvmc dri2proto x11 x11-xcb xcb-dri2 xcb-aux libdrm_int= el... no > > checking whether to include XvMC support... no > > checking which acceleration method to use by default... configure: = error: UXA requested as default, but is not enabled > > command "/gnu/store/iql3p5zvz0nwcsckdpywdkqxccx95ygx-bash-minimal-5= .0.7/bin/bash" "./configure" "CONFIG_SHELL=3D/gnu/store/iql3p5zvz0nwcsckdpy= wdkqxccx95ygx-bash-minimal-5.0.7/bin/bash" "SHELL=3D/gnu/store/iql3p5zvz0nw= csckdpywdkqxccx95ygx-bash-minimal-5.0.7/bin/bash" "--prefix=3D/gnu/store/gr= lry4nmhxmb2ahlbpzdvyy33wgnh87h-xf86-video-intel-2.99.917-15.f66d395" "--ena= ble-fast-install" "--build=3Daarch64-unknown-linux-gnu" "--with-default-acc= el=3Duxa" failed with status 1 > > > > > > What's more, the package definition for xf86-video-intel contains this: > > > > (supported-systems > > ;; This driver is only supported on Intel systems. > > (filter (lambda (system) (or (string-prefix? "i686-" system) > > (string-prefix? "x86_64-" syste= m))) > > %supported-systems)) > > > > > > So it seems like it's a bug that it currently gets included on non i686= and x86_64 targets. > > Even if I supply a modules field in set-xorg-configuration where I excl= ude `xf86-video-intel`, guix still tries to build it. > > Can you share your config? We might be able to work around it for now. > > > The only reference to `xf86-video-intel` is its inclusion in %default-x= org-modules -- would making the contents of that list target-aware be a pot= ential fix? > > That sounds like a good long-term solution, to only include modules > which are appropriate for that architecture. > > -------------------------------------------------------------------------= ------------------------------------------ > > Efraim Flashner efraim@flashner.co.il =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 > GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 > Confidentiality cannot be guaranteed on emails sent or received unencrypt= ed