~ruther/guix-local

af07095516b56dcdd38bf1874da27de9c4c841f6 — Ludovic Courtès 11 years ago 856ae5e
packages: Add 'file-type' field to 'search-path-specification'.

Fixes <http://bugs.gnu.org/18033>.

* guix/packages.scm (<search-path-specification>): Rename 'directories'
  field to 'files'.  Add 'file-type'.
  (search-path-specification->sexp): Honor 'file-type'.
* gnu/packages/autotools.scm, gnu/packages/bootstrap.scm,
  gnu/packages/cross-base.scm, gnu/packages/games.scm,
  gnu/packages/gcc.scm, gnu/packages/glib.scm,
  gnu/packages/guile.scm, gnu/packages/man.scm,
  gnu/packages/perl.scm, gnu/packages/pkg-config.scm,
  gnu/packages/python.scm, gnu/packages/ruby.scm,
  gnu/packages/xfce.scm: Change 'directories' to 'files'.
* tests/packages.scm ("search paths"): Change 'directories' field to
  'files'.
* guix/scripts/environment.scm (for-each-search-path): Likewise.
M gnu/packages/autotools.scm => gnu/packages/autotools.scm +1 -1
@@ 178,7 178,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
    (native-search-paths
     (list (search-path-specification
            (variable "ACLOCAL_PATH")
            (directories '("share/aclocal")))))
            (files '("share/aclocal")))))
    (arguments
     '(#:modules ((guix build gnu-build-system)
                  (guix build utils)

M gnu/packages/bootstrap.scm => gnu/packages/bootstrap.scm +2 -2
@@ 409,10 409,10 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
    (native-search-paths
     (list (search-path-specification
            (variable "CPATH")
            (directories '("include")))
            (files '("include")))
           (search-path-specification
            (variable "LIBRARY_PATH")
            (directories '("lib" "lib64")))))
            (files '("lib" "lib64")))))
    (synopsis "Bootstrap binaries of the GNU Compiler Collection")
    (description #f)
    (home-page #f)

M gnu/packages/cross-base.scm => gnu/packages/cross-base.scm +2 -2
@@ 234,10 234,10 @@ GCC that does not target a libc; otherwise, target that libc."
    (search-paths
     (list (search-path-specification
            (variable "CROSS_CPATH")
            (directories '("include")))
            (files '("include")))
           (search-path-specification
            (variable "CROSS_LIBRARY_PATH")
            (directories '("lib" "lib64")))))
            (files '("lib" "lib64")))))
    (native-search-paths '())))

(define* (cross-libc target

M gnu/packages/games.scm => gnu/packages/games.scm +1 -1
@@ 706,7 706,7 @@ for common mesh file formats, and collision detection.")
    (native-search-paths
     (list (search-path-specification
            (variable "MINETEST_SUBGAME_PATH")
            (directories '("share/minetest/games")))))
            (files '("share/minetest/games")))))
    (native-inputs
     `(("pkg-config" ,pkg-config)))
    (inputs

M gnu/packages/gcc.scm => gnu/packages/gcc.scm +2 -2
@@ 245,10 245,10 @@ where the OS part is overloaded to denote a specific ABI---into GCC
      (native-search-paths
       (list (search-path-specification
              (variable "CPATH")
              (directories '("include")))
              (files '("include")))
             (search-path-specification
              (variable "LIBRARY_PATH")
              (directories '("lib" "lib64")))))
              (files '("lib" "lib64")))))

      (properties `((gcc-libc . ,(assoc-ref inputs "libc"))))
      (synopsis "GNU Compiler Collection")

M gnu/packages/glib.scm => gnu/packages/glib.scm +2 -2
@@ 183,7 183,7 @@ shared NFS home directories.")
    ;; by 'glib-compile-schemas'.
    (list (search-path-specification
           (variable "XDG_DATA_DIRS")
           (directories '("share")))))
           (files '("share")))))
   (search-paths native-search-paths)

   (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")


@@ 225,7 225,7 @@ dynamic loading, and an object system.")
    (native-search-paths
     (list (search-path-specification
            (variable "GI_TYPELIB_PATH")
            (directories '("lib/girepository-1.0")))))
            (files '("lib/girepository-1.0")))))
    (search-paths native-search-paths)
    (arguments
     `(#:phases

M gnu/packages/guile.scm => gnu/packages/guile.scm +3 -3
@@ 95,7 95,7 @@
   (native-search-paths
    (list (search-path-specification
           (variable "GUILE_LOAD_PATH")
           (directories '("share/guile/site")))))
           (files '("share/guile/site")))))

   (synopsis "Scheme implementation intended especially for extensions")
   (description


@@ 155,10 155,10 @@ without requiring the source code to be rewritten.")
   (native-search-paths
    (list (search-path-specification
           (variable "GUILE_LOAD_PATH")
           (directories '("share/guile/site/2.0")))
           (files '("share/guile/site/2.0")))
          (search-path-specification
           (variable "GUILE_LOAD_COMPILED_PATH")
           (directories '("share/guile/site/2.0")))))
           (files '("share/guile/site/2.0")))))

   (synopsis "Scheme implementation intended especially for extensions")
   (description

M gnu/packages/man.scm => gnu/packages/man.scm +1 -1
@@ 105,7 105,7 @@ a flexible and convenient way.")
    (native-search-paths
     (list (search-path-specification
            (variable "MANPATH")
            (directories '("share/man")))))
            (files '("share/man")))))
    (home-page "http://man-db.nongnu.org/")
    (synopsis "Standard Unix documentation system")
    (description

M gnu/packages/perl.scm => gnu/packages/perl.scm +1 -1
@@ 66,7 66,7 @@
        %standard-phases)))
    (native-search-paths (list (search-path-specification
                                (variable "PERL5LIB")
                                (directories '("lib/perl5/site_perl")))))
                                (files '("lib/perl5/site_perl")))))
    (synopsis "Implementation of the Perl programming language")
    (description
     "Perl 5 is a highly capable, feature-rich programming language with over

M gnu/packages/pkg-config.scm => gnu/packages/pkg-config.scm +1 -2
@@ 44,8 44,7 @@
   (native-search-paths
    (list (search-path-specification
           (variable "PKG_CONFIG_PATH")
           (directories '("lib/pkgconfig" "lib64/pkgconfig"
                          "share/pkgconfig")))))
           (files '("lib/pkgconfig" "lib64/pkgconfig" "share/pkgconfig")))))
   (home-page "http://www.freedesktop.org/wiki/Software/pkg-config")
   (license gpl2+)
   (synopsis "Helper tool used when compiling applications and libraries")

M gnu/packages/python.scm => gnu/packages/python.scm +2 -2
@@ 198,7 198,7 @@
    (native-search-paths
     (list (search-path-specification
            (variable "PYTHONPATH")
            (directories '("lib/python2.7/site-packages")))))
            (files '("lib/python2.7/site-packages")))))
    (home-page "http://python.org")
    (synopsis
     "High-level, dynamically-typed programming language")


@@ 237,7 237,7 @@ data types.")
    (native-search-paths
     (list (search-path-specification
            (variable "PYTHONPATH")
            (directories '("lib/python3.3/site-packages")))))))
            (files '("lib/python3.3/site-packages")))))))

(define-public python-wrapper
  (package (inherit python)

M gnu/packages/ruby.scm => gnu/packages/ruby.scm +3 -4
@@ 77,10 77,9 @@
    (native-search-paths
     (list (search-path-specification
            (variable "GEM_PATH")
            (directories
             (list (string-append "lib/ruby/gems/"
                                  (version-major+minor version)
                                  ".0"))))))
            (files (list (string-append "lib/ruby/gems/"
                                        (version-major+minor version)
                                        ".0"))))))
    (synopsis "Programming language interpreter")
    (description "Ruby is a dynamic object-oriented programming language with
a focus on simplicity and productivity.")

M gnu/packages/xfce.scm => gnu/packages/xfce.scm +1 -1
@@ 267,7 267,7 @@ management D-Bus specification.")
    (native-search-paths
     (list (search-path-specification
            (variable "X_XFCE4_LIB_DIRS")
            (directories '("lib/xfce4")))))
            (files '("lib/xfce4")))))
    (home-page "http://www.xfce.org/")
    (synopsis "Xfce desktop panel")
    (description

M guix/packages.scm => guix/packages.scm +5 -5
@@ 172,16 172,16 @@ representation."
  search-path-specification make-search-path-specification
  search-path-specification?
  (variable     search-path-specification-variable)
  (directories  search-path-specification-directories)
  (separator    search-path-specification-separator (default ":")))
  (files        search-path-specification-files)
  (separator    search-path-specification-separator (default ":"))
  (file-type    search-path-specification-file-type (default 'directory)))

(define (search-path-specification->sexp spec)
  "Return an sexp representing SPEC, a <search-path-specification>.  The sexp
corresponds to the arguments expected by `set-path-environment-variable'."
  (match spec
    (($ <search-path-specification> variable directories separator)
     ;; TODO: Allow other values of TYPE.  See <http://bugs.gnu.org/18033>.
     `(,variable ,directories ,separator directory))))
    (($ <search-path-specification> variable files separator type)
     `(,variable ,files ,separator ,type))))

(define %supported-systems
  ;; This is the list of system types that are supported.  By default, we

M guix/scripts/environment.scm => guix/scripts/environment.scm +1 -2
@@ 54,8 54,7 @@ path value is appended."
                            value)))))
              (cons* (search-path-specification
                      (variable "PATH")
                      (directories '("bin" "sbin"))
                      (separator ":"))
                      (files '("bin" "sbin")))
                     (delete-duplicates
                      (append-map package-native-search-paths inputs))))))


M tests/packages.scm => tests/packages.scm +2 -2
@@ 335,10 335,10 @@
                           search-paths)))))))
         (x (list (search-path-specification
                   (variable "GUILE_LOAD_PATH")
                   (directories '("share/guile/site/2.0")))
                   (files '("share/guile/site/2.0")))
                  (search-path-specification
                   (variable "GUILE_LOAD_COMPILED_PATH")
                   (directories '("share/guile/site/2.0")))))
                   (files '("share/guile/site/2.0")))))
         (a (package (inherit (dummy-package "guile"))
              (build-system s)
              (native-search-paths x)))