Browse Source

utils: Remove Nixpkgs helpers.

* guix/config.scm.in (%nixpkgs): Remove.
* guix/utils.scm (%nixpkgs-directory, nixpkgs-derivation,
  nixpkgs-derivation*): Remove.
* test-env.in: Export 'NIXPKGS'.
* tests/derivations.scm (%coreutils): Remove use of
  'nixpkgs-derivation'.
* tests/snix.scm (%nixpkgs-directory): New variable.
  Adjust users accordingly.
gn-latest-20200428
Ludovic Courtès 5 years ago
parent
commit
f073e52382
5 changed files with 13 additions and 53 deletions
  1. +1
    -7
      guix/config.scm.in
  2. +0
    -38
      guix/utils.scm
  3. +4
    -1
      test-env.in
  4. +1
    -2
      tests/derivations.scm
  5. +7
    -5
      tests/snix.scm

+ 1
- 7
guix/config.scm.in View File

@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,7 +27,6 @@
%guix-register-program
%system
%libgcrypt
%nixpkgs
%nix-instantiate
%gzip
%bzip2
@@ -73,11 +72,6 @@
(define %libgcrypt
"@LIBGCRYPT@")

(define %nixpkgs
(if (string=? "@NIXPKGS@" "")
#f
"@NIXPKGS@"))

(define %nix-instantiate
"@NIX_INSTANTIATE@")



+ 0
- 38
guix/utils.scm View File

@@ -44,10 +44,6 @@
#:export (bytevector->base16-string
base16-string->bytevector

%nixpkgs-directory
nixpkgs-derivation
nixpkgs-derivation*

compile-time-value
fcntl-flock
memoize
@@ -314,40 +310,6 @@ a list of command-line arguments passed to the compression program."
(unless (every (compose zero? cdr waitpid) pids)
(error "compressed-output-port failure" pids))))))

;;;
;;; Nixpkgs.
;;;

(define %nixpkgs-directory
(make-parameter
;; Capture the build-time value of $NIXPKGS.
(or %nixpkgs
(and=> (getenv "NIXPKGS")
(lambda (val)
;; Bail out when passed an empty string, otherwise
;; `nix-instantiate' will sit there and attempt to read
;; from its standard input.
(if (string=? val "")
#f
val))))))

(define* (nixpkgs-derivation attribute #:optional (system (%current-system)))
"Return the derivation path of ATTRIBUTE in Nixpkgs."
(let* ((p (open-pipe* OPEN_READ (or (getenv "NIX_INSTANTIATE")
%nix-instantiate)
"-A" attribute (%nixpkgs-directory)
"--argstr" "system" system))
(l (read-line p))
(s (close-pipe p)))
(and (zero? (status:exit-val s))
(not (eof-object? l))
l)))

(define-syntax-rule (nixpkgs-derivation* attribute)
"Evaluate the given Nixpkgs derivation at compile-time."
(compile-time-value (nixpkgs-derivation attribute)))

;;;
;;; Advisory file locking.


+ 4
- 1
test-env.in View File

@@ -84,11 +84,14 @@ then
# Place for the substituter's cache.
XDG_CACHE_HOME="$NIX_STATE_DIR/cache-$$"

# For the (guix import snix) tests.
NIXPKGS="@NIXPKGS@"

export NIX_IGNORE_SYMLINK_STORE NIX_STORE_DIR \
NIX_LOCALSTATE_DIR NIX_LOG_DIR NIX_STATE_DIR NIX_DB_DIR \
NIX_ROOT_FINDER NIX_SETUID_HELPER GUIX_BINARY_SUBSTITUTE_URL \
GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES \
NIX_CONF_DIR XDG_CACHE_HOME
NIX_CONF_DIR XDG_CACHE_HOME NIXPKGS

# Launch the daemon without chroot support because is may be
# unavailable, for instance if we're not running as root.


+ 1
- 2
tests/derivations.scm View File

@@ -476,8 +476,7 @@
(define %coreutils
(false-if-exception
(and (network-reachable?)
(or (package-derivation %store %bootstrap-coreutils&co)
(nixpkgs-derivation "coreutils")))))
(package-derivation %store %bootstrap-coreutils&co))))

(test-skip (if %coreutils 0 1))



+ 7
- 5
tests/snix.scm View File

@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -18,11 +18,13 @@

(define-module (test-snix)
#:use-module (guix import snix)
#:use-module ((guix utils) #:select (%nixpkgs-directory))
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-64)
#:use-module (ice-9 match))

(define %nixpkgs-directory
(getenv "NIXPKGS"))

(define factorize-uri
(@@ (guix import snix) factorize-uri))

@@ -43,14 +45,14 @@
("http://example.com/2.8/foo-2.8.tgz" "2.8"
-> ("http://example.com/" version "/foo-" version ".tgz")))))

(test-skip (if (and (%nixpkgs-directory)
(file-exists? (string-append (%nixpkgs-directory)
(test-skip (if (and %nixpkgs-directory
(file-exists? (string-append %nixpkgs-directory
"/default.nix")))
0
1))

(test-assert "nixpkgs->guix-package"
(match (nixpkgs->guix-package (%nixpkgs-directory) "guile")
(match (nixpkgs->guix-package %nixpkgs-directory "guile")
(('package
('name "guile")
('version (? string?))


Loading…
Cancel
Save