From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Kost Subject: bug#23409: unable to load free firmware Date: Wed, 04 May 2016 12:10:17 +0300 Message-ID: <877ffagpdy.fsf@gmail.com> References: <8c7981c22c93720a9dbd5f63c279c44b@riseup.net> <87shy1apax.fsf@gnu.org> <20160502085507.31da4d6f@openmailbox.org> <871t5jfu3d.fsf@gnu.org> <87eg9ij2fz.fsf@gnu.org> <609d0dda92cead243d99546befa113ca@riseup.net> <35d2e4a2bdc12bc75b84965e714beaa0@riseup.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60340) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1axspz-0000g0-Uq for bug-guix@gnu.org; Wed, 04 May 2016 05:11:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1axspn-0006Ld-BK for bug-guix@gnu.org; Wed, 04 May 2016 05:11:14 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:52253) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1axspm-0006L2-3k for bug-guix@gnu.org; Wed, 04 May 2016 05:11:07 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1axspi-0001Us-Hq for bug-guix@gnu.org; Wed, 04 May 2016 05:11:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <35d2e4a2bdc12bc75b84965e714beaa0@riseup.net> (Quilro Ordonez's message of "Tue, 03 May 2016 16:21:53 -0500") 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.org@gnu.org Sender: "bug-Guix" To: Quilro Ordonez Cc: lxo@fsfla.org, 23409@debbugs.gnu.org --=-=-= Content-Type: text/plain Quilro Ordonez wrote: > So the path would be: > export GUIX_PACKAGE_PATH=/openfwwf-firmware-5.2 > Is that correct? No. > root@komputilo /home/quiliro# export > GUIX_PACKAGE_PATH=/openfwwf-firmware-5.2 > root@komputilo /home/quiliro# echo -n $(guix build > openfwwf-firmware)/lib/firmware > \ >> /sys/module/firmware_class/parameters/path > guix build: warning: cannot access `/openfwwf-firmware-5.2': No existe > el fichero o el directorio > guix build: error: openfwwf-firmware: unknown package > root@komputilo /home/quiliro# export > GUIX_PACKAGE_PATH=/gnu/store/yjycspnbxyafys84hn4f1phjy37fai20-openfwwf-firmware-5.2 > root@komputilo /home/quiliro# echo -n $(guix build > openfwwf-firmware)/lib/firmware > > /sys/module/firmware_class/parameters/path > guix build: error: openfwwf-firmware: unknown package This happens because you put your packages in your system config file, so "guix build" command cannot find them. As Ludovic pointed, you need to move these packages into a separate file (or files) and set GUIX_PACKAGE_PATH accordingly. For example, you can create "/any/directory/you/want/my-guix-packages.scm" file with the following contents: --=-=-= Content-Type: text/x-scheme Content-Disposition: inline; filename=my-guix-packages.scm (define-module (my-guix-packages) #:use-module (guix packages) #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix licenses) #:use-module (gnu packages flex) #:use-module (gnu packages bison)) (define-public b43-tools (let ((commit "8dce53297966b31b6c70a7a03c2433978dd9f288")) (package (name "b43-tools") (version (string-append "20160406." (string-take commit 8))) (source (origin (method git-fetch) (uri (git-reference (url "http://git.bues.ch/git/b43-tools.git") (commit commit))) (sha256 (base32 "08k7sdr9jagm43r2zv4h03j86klhkblpk73p12444a3vzg1gy1lv")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) ("bison" ,bison))) (arguments `(#:modules ((srfi srfi-1) (guix build gnu-build-system) (guix build utils)) #:tests? #f ;no tests #:phases (let ((subdirs '("assembler" "disassembler"))) ;TODO: fwcutter (modify-phases %standard-phases (delete 'configure) (add-before 'build 'patch-/bin/true (lambda _ (substitute* (find-files "." "Makefile") (("/bin/true") ":")) #t)) (replace 'build (lambda _ (every (lambda (dir) (zero? (system* "make" "-C" dir "CC=gcc"))) subdirs))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (mkdir-p (string-append out "/bin")) (every (lambda (dir) (zero? (system* "make" "-C" dir (string-append "PREFIX=" out) "install"))) subdirs)))))))) (home-page "") (synopsis "") (description "") (license gpl2)))) (define-public openfwwf-firmware (package (name "openfwwf-firmware") (version "5.2") (source (origin (method url-fetch) (uri (string-append "http://netweb.ing.unibs.it/~openfwwf/firmware/" "openfwwf-" version ".tar.gz")) (sha256 (base32 ;; /gnu/store/ag7rf0kmb1wrnhwjfi3fgr1jcv1vg021-openfwwf-5.2.tar.gz "1p60gdi7w88s7qw82d3g9v7mk887mhvidf4l5q5hh09j10h37q4x")))) (build-system gnu-build-system) (native-inputs `(("b43-tools" ,b43-tools))) (arguments `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out") "/b43-open")) #:tests? #f ;no tests #:phases (modify-phases %standard-phases (delete 'configure)))) (home-page "http://netweb.ing.unibs.it/~openfwwf/") (synopsis "") (description "") (license gpl2))) --=-=-= Content-Type: text/plain After that the following command should build the package: $ GUIX_PACKAGE_PATH=/any/directory/you/want guix build openfwwf-firmware Also if you add this directory to GUILE_LOAD_PATH, you could use (my-guix-packages) module in any guile code, particularly in your system config which may look like this: --=-=-= Content-Type: text/x-scheme Content-Disposition: inline; filename=quilro-os.scm ;; This is an operating system configuration template ;; for a "desktop" setup with GNOME and Xfce. (use-modules (gnu) (gnu system nss) (my-guix-packages)) (use-service-modules desktop) (use-package-modules certs) (operating-system (host-name "komputilo") (timezone "America/Guayaquil") (locale "es_EC.utf8") ;; Assuming /dev/sdX is the target hard disk, and "my-root" ;; is the label of the target root file system. (bootloader (grub-configuration (device "/dev/sda"))) (initrd (lambda (fs . args) (apply base-initrd fs #:extra-modules '("pata_amd" "sata_nv") args))) (firmware (list openfwwf-firmware)) ;; (firmware (cons* b34-tools ;; openfwwf-firmware %base-firmware)) (file-systems (cons (file-system (device "raiz") (title 'label) (mount-point "/") (type "ext4")) %base-file-systems)) (users (cons (user-account (name "quiliro") (comment "Quiliro Ordonez") (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video")) (home-directory "/home/quiliro")) %base-user-accounts)) ;; This is where we specify system-wide packages. (packages (cons* nss-certs ;for HTTPS access %base-packages)) ;; Add GNOME and/or Xfce---we can choose at the log-in ;; screen with F1. Use the "desktop" services, which ;; include the X11 log-in service, networking with Wicd, ;; and more. (services (cons* (gnome-desktop-service) (xfce-desktop-service) %desktop-services)) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss)) --=-=-= Content-Type: text/plain So add the following to your ~/.bash_profile: export GUIX_PACKAGE_PATH=/any/directory/you/want export GUILE_LOAD_PATH=/any/directory/you/want -- Alex --=-=-=--