unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 0/4] Dipping my toes into guix source.
@ 2016-07-19 16:49 David Craven
  2016-07-19 16:49 ` [PATCH 1/4] lint: Add packages with suffix ':bin' to 'inputs-should-be-native' David Craven
                   ` (3 more replies)
  0 siblings, 4 replies; 45+ messages in thread
From: David Craven @ 2016-07-19 16:49 UTC (permalink / raw)
  To: guix-devel; +Cc: David Craven

The --debug flag might be controversial. It's just a shortcut for adding some
--ad-hoc packages useful for debugging packages (file, gdb, strace, valgrind).
I don't know if it's generally useful and if it merits it's own flag. The
package selection came from reading the archlinux debugging guide.

[0] https://wiki.archlinux.org/index.php/Step-by-step_debugging_guide

David Craven (4):
  lint: Add packages with suffix ':bin' to 'inputs-should-be-native'.
  gnu: Rename 'glib' label to 'glib:bin' where appropriate.
  lint: Add 'inputs-should-be-sorted' check.
  environment: Add '--debug' flag.

 gnu/packages/avahi.scm       |  2 +-
 gnu/packages/cups.scm        |  2 +-
 gnu/packages/geeqie.scm      |  2 +-
 gnu/packages/gimp.scm        |  2 +-
 gnu/packages/glib.scm        |  8 +++---
 gnu/packages/gnome.scm       | 60 ++++++++++++++++++++++----------------------
 gnu/packages/gnucash.scm     |  2 +-
 gnu/packages/gstreamer.scm   |  4 +--
 gnu/packages/gtk.scm         | 16 ++++++------
 gnu/packages/ibus.scm        |  4 +--
 gnu/packages/mail.scm        |  2 +-
 gnu/packages/pdf.scm         |  2 +-
 gnu/packages/qemu.scm        |  2 +-
 gnu/packages/statistics.scm  |  2 +-
 gnu/packages/terminals.scm   |  2 +-
 gnu/packages/wv.scm          |  2 +-
 guix/scripts/environment.scm |  8 ++++++
 guix/scripts/lint.scm        | 37 +++++++++++++++++++++++----
 18 files changed, 97 insertions(+), 62 deletions(-)

--
2.9.0

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [PATCH 1/4] lint: Add packages with suffix ':bin' to 'inputs-should-be-native'.
  2016-07-19 16:49 [PATCH 0/4] Dipping my toes into guix source David Craven
@ 2016-07-19 16:49 ` David Craven
  2016-07-20 10:37   ` Ludovic Courtès
  2016-07-19 16:49 ` [PATCH 2/4] gnu: Rename 'glib' label to 'glib:bin' where appropriate David Craven
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 45+ messages in thread
From: David Craven @ 2016-07-19 16:49 UTC (permalink / raw)
  To: guix-devel; +Cc: David Craven

* guix/scripts/lint.scm (check-inputs-should-be-native): Check that packages
with suffix ':bin' and 'intltool', 'itstool' are in native-inputs.
---
 guix/scripts/lint.scm | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index d5e9197..d64a066 100644
--- a/guix/scripts/lint.scm
+++ b/guix/scripts/lint.scm
@@ -206,11 +206,19 @@ by two spaces; possible infraction~p at ~{~a~^, ~}")
   (let ((inputs (package-inputs package)))
     (match inputs
       (((labels packages . _) ...)
-       (when (member "pkg-config"
-                     (map package-name (filter package? packages)))
-        (emit-warning package
-                      (_ "pkg-config should probably be a native input")
-                      'inputs))))))
+        (let ((package-names (map package-name (filter package? packages)))
+              (native-package-names '("pkg-config" "intltool" "itstool"))
+              (warn (lambda (package-name)
+                (emit-warning package
+                  (_ (string-append
+                    package-name " should probably be a native input")) 'inputs))))
+          (begin
+            (for-each (lambda (package-name)
+              (when (member package-name package-names) (warn package-name)))
+                native-package-names)
+            (for-each (lambda* (package-name)
+              (when (string-suffix? ":bin" package-name) (warn package-name)))
+                labels)))))))
 
 (define (package-name-regexp package)
   "Return a regexp that matches PACKAGE's name as a word at the beginning of a
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 2/4] gnu: Rename 'glib' label to 'glib:bin' where appropriate.
  2016-07-19 16:49 [PATCH 0/4] Dipping my toes into guix source David Craven
  2016-07-19 16:49 ` [PATCH 1/4] lint: Add packages with suffix ':bin' to 'inputs-should-be-native' David Craven
@ 2016-07-19 16:49 ` David Craven
  2016-07-22 12:57   ` Ludovic Courtès
  2016-07-19 16:49 ` [PATCH 3/4] lint: Add 'inputs-should-be-sorted' check David Craven
  2016-07-19 16:49 ` [PATCH 4/4] environment: Add '--debug' flag David Craven
  3 siblings, 1 reply; 45+ messages in thread
From: David Craven @ 2016-07-19 16:49 UTC (permalink / raw)
  To: guix-devel; +Cc: David Craven

* gnu/packages/avahi.scm
* gnu/packages/cups.scm
* gnu/packages/geeqie.scm
* gnu/packages/gimp.scm
* gnu/packages/glib.scm
* gnu/packages/gnome.scm
* gnu/packages/gnucash.scm
* gnu/packages/gstreamer.scm
* gnu/packages/gtk.scm
* gnu/packages/ibus.scm
* gnu/packages/mail.scm
* gnu/packages/pdf.scm
* gnu/packages/qemu.scm
* gnu/packages/statistics.scm
* gnu/packages/terminals.scm
* gnu/packages/wv.scm
---
 gnu/packages/avahi.scm      |  2 +-
 gnu/packages/cups.scm       |  2 +-
 gnu/packages/geeqie.scm     |  2 +-
 gnu/packages/gimp.scm       |  2 +-
 gnu/packages/glib.scm       |  8 +++---
 gnu/packages/gnome.scm      | 60 ++++++++++++++++++++++-----------------------
 gnu/packages/gnucash.scm    |  2 +-
 gnu/packages/gstreamer.scm  |  4 +--
 gnu/packages/gtk.scm        | 16 ++++++------
 gnu/packages/ibus.scm       |  4 +--
 gnu/packages/mail.scm       |  2 +-
 gnu/packages/pdf.scm        |  2 +-
 gnu/packages/qemu.scm       |  2 +-
 gnu/packages/statistics.scm |  2 +-
 gnu/packages/terminals.scm  |  2 +-
 gnu/packages/wv.scm         |  2 +-
 16 files changed, 57 insertions(+), 57 deletions(-)

diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm
index 5740ab2..9de1f14 100644
--- a/gnu/packages/avahi.scm
+++ b/gnu/packages/avahi.scm
@@ -62,7 +62,7 @@
        ("libdaemon" ,libdaemon)))
     (native-inputs
      `(("intltool" ,intltool)
-       ("glib" ,glib "bin")
+       ("glib:bin" ,glib "bin")
        ("pkg-config" ,pkg-config)))
     (synopsis "Implementation of mDNS/DNS-SD protocols")
     (description
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 8437170..fe51516 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -77,7 +77,7 @@
          ,(string-append "--with-rcdir="
                          (assoc-ref %outputs "out") "/etc/rc.d"))))
     (native-inputs
-     `(("glib" ,glib "bin") ; for gdbus-codegen
+     `(("glib:bin" ,glib "bin") ; for gdbus-codegen
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("fontconfig"   ,fontconfig)
diff --git a/gnu/packages/geeqie.scm b/gnu/packages/geeqie.scm
index 110fb68..8fdb0f9 100644
--- a/gnu/packages/geeqie.scm
+++ b/gnu/packages/geeqie.scm
@@ -91,7 +91,7 @@ and XMP metadata of images in various formats.")
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
-       ("glib" ,glib "bin") ; glib-gettextize
+       ("glib:bin" ,glib "bin") ; glib-gettextize
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)))
     (home-page "http://www.geeqie.org/")
diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm
index d5c58e2..cb6ae01 100644
--- a/gnu/packages/gimp.scm
+++ b/gnu/packages/gimp.scm
@@ -110,7 +110,7 @@ provided as well as the framework to add new color models and data types.")
        ("libjpeg" ,libjpeg-8)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("glib" ,glib "bin")             ; for gtester
+       ("glib:bin" ,glib "bin")             ; for gtester
        ("intltool" ,intltool)))
     (home-page "http://gegl.org")
     (synopsis "Graph based image processing framework")
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index a85a565..9729a8f 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -299,7 +299,7 @@ dynamic loading, and an object system.")
        ("glib" ,glib)
        ("python-2" ,python-2)))
     (native-inputs
-     `(("glib" ,glib "bin")
+     `(("glib:bin" ,glib "bin")
        ("pkg-config" ,pkg-config)))
     (propagated-inputs
      `(;; In practice, GIR users will need libffi when using
@@ -440,7 +440,7 @@ translated.")
     (inputs
      `(("expat" ,expat)))
     (native-inputs
-     `(("glib" ,glib "bin")
+     `(("glib:bin" ,glib "bin")
        ("pkg-config" ,pkg-config)))
     (home-page "http://dbus.freedesktop.org/doc/dbus-glib/")
     (synopsis "D-Bus GLib bindings")
@@ -507,7 +507,7 @@ has an ease of use unmatched by other C++ callback libraries.")
                       "return 77;\n")))
                  %standard-phases)))
     (native-inputs `(("pkg-config" ,pkg-config)
-                     ("glib" ,glib "bin")))
+                     ("glib:bin" ,glib "bin")))
     (propagated-inputs
      `(("libsigc++" ,libsigc++)
        ("glib" ,glib)))
@@ -639,7 +639,7 @@ useful for C++.")
     (arguments
      '(#:configure-flags '("--enable-vala-bindings")))
     (native-inputs
-     `(("glib" ,glib "bin") ; uses glib-mkenums
+     `(("glib:bin" ,glib "bin") ; uses glib-mkenums
        ("gobject-introspection" ,gobject-introspection)
        ("pkg-config" ,pkg-config)
        ("python" ,python-2)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 9335005..2dca93d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -142,7 +142,7 @@
      `(("hicolor-icon-theme" ,hicolor-icon-theme)))
     (native-inputs
      `(("intltool" ,intltool)
-       ("glib" ,glib "bin")                       ; glib-compile-schemas, etc.
+       ("glib:bin" ,glib "bin")                       ; glib-compile-schemas, etc.
        ("gobject-introspection" ,gobject-introspection)
        ("pkg-config" ,pkg-config)))
     (inputs
@@ -186,7 +186,7 @@ features to enable users to create their discs easily and quickly.")
                   "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
       (build-system gnu-build-system)
       (inputs
-       `(("glib" ,glib "bin")
+       `(("glib:bin" ,glib "bin")
          ("pango" ,pango)
          ("gdk-pixbuf" ,gdk-pixbuf)
          ("gtk+" ,gtk+-2)
@@ -343,7 +343,7 @@ and keep up to date translations of documentation.")
     (native-inputs
      `(("python" ,python-2) ;for tests
        ("pkg-config" ,pkg-config)
-       ("glib" ,glib "bin")
+       ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
        ("intltool" ,intltool)
        ("xsltproc" ,libxslt)))
@@ -378,7 +378,7 @@ GNOME Desktop.")
        ("dbus" ,dbus)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("glib" ,glib "bin")
+       ("glib:bin" ,glib "bin")
        ("intltool" ,intltool)))
     (propagated-inputs
      ;; Referred to in .h files and .pc.
@@ -439,7 +439,7 @@ GNOME Desktop.")
        ("gcr" ,gcr)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("glib" ,glib "bin")
+       ("glib:bin" ,glib "bin")
        ("python" ,python-2) ;for tests
        ("intltool" ,intltool)
        ("autoconf" ,autoconf)
@@ -510,7 +510,7 @@ forgotten when the session ends.")
     (native-inputs
      `(("itstool" ,itstool)
        ("intltool" ,intltool)
-       ("glib" ,glib "bin")
+       ("glib:bin" ,glib "bin")
        ("pkg-config" ,pkg-config)
        ("xmllint" ,libxml2)))
     (home-page
@@ -541,7 +541,7 @@ on the GNOME Desktop with a single simple application.")
      `(("glib" ,glib)))
     (native-inputs
      `(("intltool" ,intltool)
-       ("glib" ,glib "bin")                       ; glib-compile-schemas, etc.
+       ("glib:bin" ,glib "bin")                       ; glib-compile-schemas, etc.
        ("gobject-introspection" ,gobject-introspection)
        ("pkg-config" ,pkg-config)))
     (home-page "https://launchpad.net/gsettings-desktop-schemas")
@@ -735,7 +735,7 @@ database is translated at Transifex.")
        ("libpng" ,libpng)))
     (native-inputs
       `(("pkg-config" ,pkg-config)
-        ("glib" ,glib "bin")
+        ("glib:bin" ,glib "bin")
         ("gobject-introspection" ,gobject-introspection)))
     (home-page "https://developer-next.gnome.org/libnotify/")
     (synopsis
@@ -801,7 +801,7 @@ the API.")
               ("libx11" ,libx11)
               ("libxt" ,libxt)))
     (native-inputs `(("pkg-config" ,pkg-config)
-                     ("glib" ,glib "bin")))
+                     ("glib:bin" ,glib "bin")))
     (propagated-inputs `(("pangox-compat" ,pangox-compat)))
     (home-page "https://projects.gnome.org/gtkglext")
     (synopsis "OpenGL extension to GTK+")
@@ -948,7 +948,7 @@ dealing with different structured file formats.")
         %standard-phases)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("glib" ,glib "bin")                               ; glib-mkenums, etc.
+       ("glib:bin" ,glib "bin")                               ; glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
     (inputs
      `(("pango" ,pango)
@@ -1073,7 +1073,7 @@ featuring mature C, C++ and Python bindings.")
     (native-inputs
      `(("intltool" ,intltool)
        ("pkg-config" ,pkg-config)
-       ("glib" ,glib "bin")             ; for glib-genmarshal, etc.
+       ("glib:bin" ,glib "bin")             ; for glib-genmarshal, etc.
        ("flex" ,flex)
        ("bison" ,bison)))
     (home-page "https://developer.gnome.org/libbonobo/")
@@ -1106,7 +1106,7 @@ use in GNOME applications, built on top of CORBA.")
                          ("orbit2" ,orbit2)))
     (native-inputs
      `(("intltool" ,intltool)
-       ("glib" ,glib "bin")             ; for glib-genmarshal, etc.
+       ("glib:bin" ,glib "bin")             ; for glib-genmarshal, etc.
        ("pkg-config" ,pkg-config)))
     (home-page "https://projects.gnome.org/gconf/")
     (synopsis "Store application preferences")
@@ -1173,7 +1173,7 @@ designed to be accessed through the MIME functions in GnomeVFS.")
               ("gnome-mime-data" ,gnome-mime-data)
               ("zlib" ,zlib)))
     (native-inputs
-     `(("glib" ,glib "bin")             ; for glib-mkenums, etc.
+     `(("glib:bin" ,glib "bin")             ; for glib-mkenums, etc.
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)))
     (home-page "https://developer.gnome.org/gnome-vfs/")
@@ -1209,7 +1209,7 @@ to access local and remote files with a single consistent API.")
         %standard-phases)))
     (inputs `(("libxml2" ,libxml2)))
     (native-inputs
-     `(("glib" ,glib "bin")             ; for glib-mkenums, etc.
+     `(("glib:bin" ,glib "bin")             ; for glib-mkenums, etc.
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)))
     ;; The following are listed as Required in the .pc file
@@ -1272,7 +1272,7 @@ high-quality vector-based 2D library with antialiasing and alpha composition.")
                          ("gtk+" ,gtk+-2)))
     (native-inputs
      `(("intltool" ,intltool)
-       ("glib" ,glib "bin")             ; for glib-genmarshal, etc.
+       ("glib:bin" ,glib "bin")             ; for glib-genmarshal, etc.
        ("pkg-config" ,pkg-config)))
     (home-page "https://developer.gnome.org/libgnomecanvas/")
     (synopsis "Flexible widget for creating interactive structured graphics")
@@ -1328,7 +1328,7 @@ creating interactive structured graphics.")
               ("libxml2" ,libxml2)
               ("libglade" ,libglade)))
     (native-inputs
-     `(("glib" ,glib "bin")             ; for glib-mkenums, etc.
+     `(("glib:bin" ,glib "bin")             ; for glib-mkenums, etc.
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)))
     (home-page "https://developer.gnome.org/libgnomeui/")
@@ -1387,7 +1387,7 @@ widgets built in the loading process.")
        ("libxml2" ,libxml2)))
     (native-inputs
      `(("intltool" ,intltool)
-       ("glib" ,glib "bin")             ; for glib-genmarshal, etc.
+       ("glib:bin" ,glib "bin")             ; for glib-genmarshal, etc.
        ("pkg-config" ,pkg-config)))
     (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
     (synopsis "Printing framework for GNOME")
@@ -1462,7 +1462,7 @@ since ca. 2006, when GTK+ itself incorporated printing support.")
        ("libgnomecanvas" ,libgnomecanvas)
        ("libglade" ,libglade)))
     (native-inputs
-     `(("glib" ,glib "bin")             ; for glib-genmarshal, etc.
+     `(("glib:bin" ,glib "bin")             ; for glib-genmarshal, etc.
        ("intltool" ,intltool)
        ("xorg-server" ,xorg-server) ; For running the tests
        ("pkg-config" ,pkg-config)))
@@ -1544,7 +1544,7 @@ Hints specification (EWMH).")
        ("libxml2" ,libxml2)))
     (native-inputs
      `(("intltool" ,intltool)
-       ("glib" ,glib "bin")
+       ("glib:bin" ,glib "bin")
        ("pkg-config" ,pkg-config)))
     (home-page "https://developer.gnome.org/goffice/")
     (synopsis "Document-centric objects and utilities")
@@ -1776,7 +1776,7 @@ libraries written in C.")
        ("intltool" ,intltool)
        ("vala" ,vala)
        ("gobject-introspection" ,gobject-introspection)
-       ("glib" ,glib "bin") ; for glib-genmarshal, etc.
+       ("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
        ("xmllint" ,libxml2)))
     (propagated-inputs
      `(("gtk+" ,gtk+)                             ;required by vte-2.91.pc
@@ -1865,7 +1865,7 @@ selection and URL hints.")))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("intltool" ,intltool)
-       ("glib" ,glib "bin")))   ; for glib-genmarshal, etc.
+       ("glib:bin" ,glib "bin")))   ; for glib-genmarshal, etc.
     (propagated-inputs
      `(("gtk+" ,gtk+-2)         ; required by libvte.pc
        ("ncurses" ,ncurses))))) ; required by libvte.la
@@ -1945,7 +1945,7 @@ configuration storage systems.")
                    "\"/builder/empty\", test_builder_empty")))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("glib" ,glib "bin")              ;for glib-mkenums and glib-genmarshal
+     `(("glib:bin" ,glib "bin")              ;for glib-mkenums and glib-genmarshal
        ("gobject-introspection" ,gobject-introspection)
        ("pkg-config" ,pkg-config)))
     (propagated-inputs
@@ -2677,7 +2677,7 @@ settings, themes, mouse settings, and startup of other daemons.")
     `(#:tests? #f))
    (native-inputs
     `(("intltool" ,intltool)
-      ("glib" ,glib "bin")
+      ("glib:bin" ,glib "bin")
       ("gobject-introspection" ,gobject-introspection)
       ("pkg-config" ,pkg-config)))
    (propagated-inputs
@@ -3298,7 +3298,7 @@ which can read a large number of file formats.")
    (native-inputs
     `(("itstool" ,itstool)
       ("intltool" ,intltool)
-      ("glib" ,glib "bin")
+      ("glib:bin" ,glib "bin")
       ("gobject-introspection" ,gobject-introspection)
       ("desktop-file-utils" ,desktop-file-utils)
       ("pkg-config" ,pkg-config)
@@ -3374,7 +3374,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
    (native-inputs
     `(("intltool" ,intltool)
       ("itstool" ,itstool)
-      ("glib" ,glib "bin")
+      ("glib:bin" ,glib "bin")
       ("gobject-introspection" ,gobject-introspection)
       ("pkg-config" ,pkg-config)
       ("xmllint" ,libxml2)))
@@ -3547,7 +3547,7 @@ USB transfers with your high-level application or system daemon.")
      `(("intltool" ,intltool)
        ("itstool" ,itstool)
        ("colord" ,colord)
-       ("glib" ,glib "bin")                       ; glib-compile-schemas, etc.
+       ("glib:bin" ,glib "bin")                       ; glib-compile-schemas, etc.
        ("pkg-config" ,pkg-config)
        ("vala" ,vala)
        ("xmllint" ,libxml2)))
@@ -3795,7 +3795,7 @@ wraps things up in a developer-friendly way.")
                 (("@INTROSPECTION_TYPELIBDIR@")
                  (string-append out "/lib/girepository-1.0/")))))))))
     (native-inputs
-     `(("glib" ,glib "bin")
+     `(("glib:bin" ,glib "bin")
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("glib" ,glib)
@@ -3821,7 +3821,7 @@ classes for commonly used data structures.")
                 "121r5lv6l82pjr0ycdf2b01mdwy7sxwca2r068zrzylpc6bgn31r"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("glib" ,glib "bin")
+     `(("glib:bin" ,glib "bin")
        ("pkg-config" ,pkg-config)))
     (propagated-inputs
      ;; Listed in "Requires" section of gexiv2.pc
@@ -4892,7 +4892,7 @@ files.")
        ("pkg-config" ,pkg-config)
        ("itstool" ,itstool)
        ("xmllint" ,libxml2)
-       ("glib" ,glib "bin")
+       ("glib:bin" ,glib "bin")
        ("vala" ,vala)))
     (inputs
      `(("gtk+" ,gtk+)))
@@ -5212,7 +5212,7 @@ GNOME Shell appearance and extension, etc.")
        ("pkg-config" ,pkg-config)))
     (propagated-inputs
      `(("glib" ,glib)
-       ("glib" ,glib "bin")))
+       ("glib:bin" ,glib "bin")))
     (synopsis "Extensions for GNOME Shell")
     (description "GNOME Shell extensions modify and extend GNOME Shell
 functionality and behavior.")
diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm
index eaa84cc..0af1f47 100644
--- a/gnu/packages/gnucash.scm
+++ b/gnu/packages/gnucash.scm
@@ -67,7 +67,7 @@
        ("perl-date-manip" ,perl-date-manip)
        ("perl-finance-quote" ,perl-finance-quote)))
     (native-inputs
-     `(("glib" ,glib "bin") ; glib-compile-schemas, etc.
+     `(("glib:bin" ,glib "bin") ; glib-compile-schemas, etc.
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)))
     (arguments
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index a39a3b4..9f26b0c 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -118,7 +118,7 @@ arrays of data.")
     (native-inputs
      `(("bison" ,bison)
        ("flex" ,flex)
-       ("glib" ,glib "bin")
+       ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
@@ -172,7 +172,7 @@ This package provides the core library and elements.")
        ("alsa-lib" ,alsa-lib)))
     (native-inputs
       `(("pkg-config" ,pkg-config)
-        ("glib" ,glib "bin")
+        ("glib:bin" ,glib "bin")
         ("gobject-introspection" ,gobject-introspection)
         ("python-wrapper" ,python-wrapper)))
     (arguments
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index e237c6a..d0060e8 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -86,7 +86,7 @@
    (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
    (native-inputs
     `(("pkg-config" ,pkg-config)
-      ("glib" ,glib "bin")                               ; glib-mkenums, etc.
+      ("glib:bin" ,glib "bin")                               ; glib-mkenums, etc.
       ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
    (synopsis "GNOME accessibility toolkit")
    (description
@@ -210,7 +210,7 @@ affine transformation (scale, rotation, shear, etc.).")
       ("libxft" ,libxft)))
    (native-inputs
     `(("pkg-config" ,pkg-config)
-      ("glib" ,glib "bin")                               ; glib-mkenums, etc.
+      ("glib:bin" ,glib "bin")                               ; glib-mkenums, etc.
       ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
    (synopsis "GNOME text and font handling library")
    (description
@@ -274,7 +274,7 @@ functions which were removed.")
      `(("gtk" ,gtk+-2)
        ("gtkmm" ,gtkmm-2)))
     (native-inputs
-     `(("glib" ,glib "bin")             ; for glib-genmarshal, etc.
+     `(("glib:bin" ,glib "bin")             ; for glib-genmarshal, etc.
        ("pkg-config" ,pkg-config)))
     (home-page "http://drobilla.net/software/ganv/")
     (synopsis "GTK+ widget for interactive graph-like environments")
@@ -304,7 +304,7 @@ diagrams.")
        ("shared-mime-info" ,shared-mime-info)))
     (native-inputs
      `(("intltool" ,intltool)
-       ("glib" ,glib "bin")             ; for glib-genmarshal, etc.
+       ("glib:bin" ,glib "bin")             ; for glib-genmarshal, etc.
        ("pkg-config" ,pkg-config)))
     (propagated-inputs
      ;; As per the pkg-config file.
@@ -431,7 +431,7 @@ highlighting and other features typical of a source code editor.")
       ("libx11"  ,libx11)))
    (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("glib" ,glib "bin")                               ; glib-mkenums, etc.
+       ("glib:bin" ,glib "bin")                               ; glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
    (synopsis "GNOME image loading and manipulation library")
    (description
@@ -580,7 +580,7 @@ is part of the GNOME accessibility project.")
    (native-inputs
     `(("perl" ,perl)
       ("gettext" ,gnu-gettext)
-      ("glib" ,glib "bin")
+      ("glib:bin" ,glib "bin")
       ("gobject-introspection" ,gobject-introspection)
       ("pkg-config" ,pkg-config)
       ("python-wrapper" ,python-wrapper)))
@@ -645,7 +645,7 @@ application suites.")
       ("json-glib" ,json-glib)))
    (native-inputs
     `(("perl" ,perl)
-      ("glib" ,glib "bin")
+      ("glib:bin" ,glib "bin")
       ("gettext" ,gnu-gettext)
       ("pkg-config" ,pkg-config)
       ("gobject-introspection" ,gobject-introspection)
@@ -974,7 +974,7 @@ toolkit.")
                "04n631a127pyidaz82ypdy9syq1hzj636r32y9hyr9kcfnwf2785"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)
-                     ("glib" ,glib "bin")        ;for 'glib-compile-resources'
+                     ("glib:bin" ,glib "bin")        ;for 'glib-compile-resources'
                      ("xorg-server" ,xorg-server)))
     (propagated-inputs
      `(("pangomm" ,pangomm)
diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm
index db7d084..3718e43 100644
--- a/gnu/packages/ibus.scm
+++ b/gnu/packages/ibus.scm
@@ -92,7 +92,7 @@
       ("pygobject2" ,python2-pygobject)
       ("python2" ,python-2)))
    (native-inputs
-    `(("glib" ,glib "bin") ; for glib-genmarshal
+    `(("glib:bin" ,glib "bin") ; for glib-genmarshal
       ("gobject-introspection" ,gobject-introspection) ; for g-ir-compiler
       ("pkg-config" ,pkg-config)))
    (native-search-paths
@@ -153,7 +153,7 @@ may also simplify input method development.")
       ("intltool" ,intltool)
       ("autoconf" ,autoconf)
       ("automake" ,automake)
-      ("glib" ,glib "bin")
+      ("glib:bin" ,glib "bin")
       ("libtool" ,libtool)))
    (synopsis "Chinese Pinyin and ZhuYin input methods for IBus")
    (description
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 5a3ebf0..f7c499e 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -342,7 +342,7 @@ repository and Maildir/IMAP as LOCAL repository.")
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("glib" ,glib "bin")             ; for gtester
+       ("glib:bin" ,glib "bin")             ; for gtester
        ("autoconf" ,autoconf)
        ("automake" ,automake)
        ("emacs" ,emacs-minimal)
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 36d3985..1df9ae2 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -82,7 +82,7 @@
              ("glib" ,glib)))
    (native-inputs
       `(("pkg-config" ,pkg-config)
-        ("glib" ,glib "bin")                      ; glib-mkenums, etc.
+        ("glib:bin" ,glib "bin")                      ; glib-mkenums, etc.
         ("gobject-introspection" ,gobject-introspection)))
    (arguments
     `(#:tests? #f ; no test data provided with the tarball
diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index 4d78f9b..e67f614 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -138,7 +138,7 @@
        ("attr" ,attr)))
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("python" ,python-2) ; incompatible with Python 3 according to error message
-                     ("glib" ,glib "bin") ; gtester, etc.
+                     ("glib:bin" ,glib "bin") ; gtester, etc.
                      ("texinfo" ,texinfo)
                      ("perl" ,perl)))
     (home-page "http://www.qemu-project.org")
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 45e50b6..4a5a1f1 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -83,7 +83,7 @@
        ("gtksourceview" ,gtksourceview)
        ("zlib" ,zlib)))
     (native-inputs
-     `(("glib" ,glib "bin")             ;for glib-genmarshal
+     `(("glib:bin" ,glib "bin")             ;for glib-genmarshal
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)))
     (home-page "http://www.gnu.org/software/pspp/")
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index ee36f64..efc90e5 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -60,7 +60,7 @@
        ("gettext" ,gnu-gettext)
        ("pkg-config" ,pkg-config)))
     (inputs
-     `(("glib" ,glib "bin")
+     `(("glib:bin" ,glib "bin")
        ("gtk+" ,gtk+)
        ("libconfuse" ,libconfuse)
        ("vte" ,vte)))
diff --git a/gnu/packages/wv.scm b/gnu/packages/wv.scm
index a7f2944..80db181 100644
--- a/gnu/packages/wv.scm
+++ b/gnu/packages/wv.scm
@@ -51,7 +51,7 @@
         ("libwmf" ,libwmf)
         ("zlib" ,zlib)))
     (native-inputs
-      `(("glib" ,glib "bin")
+      `(("glib:bin" ,glib "bin")
         ("pkg-config" ,pkg-config)))
     (synopsis "Microsoft Word conversion library and utilities")
     (description
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 3/4] lint: Add 'inputs-should-be-sorted' check.
  2016-07-19 16:49 [PATCH 0/4] Dipping my toes into guix source David Craven
  2016-07-19 16:49 ` [PATCH 1/4] lint: Add packages with suffix ':bin' to 'inputs-should-be-native' David Craven
  2016-07-19 16:49 ` [PATCH 2/4] gnu: Rename 'glib' label to 'glib:bin' where appropriate David Craven
@ 2016-07-19 16:49 ` David Craven
  2016-07-21 13:17   ` Eric Bavier
  2016-07-19 16:49 ` [PATCH 4/4] environment: Add '--debug' flag David Craven
  3 siblings, 1 reply; 45+ messages in thread
From: David Craven @ 2016-07-19 16:49 UTC (permalink / raw)
  To: guix-devel; +Cc: David Craven

* guix/scripts/lint.scm (check-inputs-should-be-sorted): Add it.
(lint-checker): Add it.
---
 guix/scripts/lint.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index d64a066..d3a82c9 100644
--- a/guix/scripts/lint.scm
+++ b/guix/scripts/lint.scm
@@ -220,6 +220,21 @@ by two spaces; possible infraction~p at ~{~a~^, ~}")
               (when (string-suffix? ":bin" package-name) (warn package-name)))
                 labels)))))))
 
+(define (check-inputs-should-be-sorted package)
+  ;; Emit a warning if inputs, native-inputs or propagated-inputs are not sorted.
+  (define (check-inputs accessor string symbol)
+    (let ((inputs (accessor package)))
+      (match inputs
+        (((labels packages . _) ...)
+          (let ((package-names (map package-name (filter package? packages)))) #t
+            (unless (sorted? package-names string<?)
+              (emit-warning package
+                (format (_ "has unordered ~s") string) symbol)))))))
+
+  (check-inputs package-inputs "inputs" 'inputs)
+  (check-inputs package-native-inputs "native-inputs" 'native-inputs)
+  (check-inputs package-propagated-inputs "propagated-inputs" 'propagated-inputs))
+
 (define (package-name-regexp package)
   "Return a regexp that matches PACKAGE's name as a word at the beginning of a
 line."
@@ -788,6 +803,10 @@ them for PACKAGE."
      (description "Identify inputs that should be native inputs")
      (check       check-inputs-should-be-native))
    (lint-checker
+     (name        'inputs-should-be-sorted)
+     (description "Identify packages with unsorted inputs")
+     (check       check-inputs-should-be-sorted))
+   (lint-checker
      (name        'patch-file-names)
      (description "Validate file names and availability of patches")
      (check       check-patch-file-names))
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-19 16:49 [PATCH 0/4] Dipping my toes into guix source David Craven
                   ` (2 preceding siblings ...)
  2016-07-19 16:49 ` [PATCH 3/4] lint: Add 'inputs-should-be-sorted' check David Craven
@ 2016-07-19 16:49 ` David Craven
  2016-07-19 17:14   ` Thompson, David
  2016-07-21 12:22   ` [PATCH 4/4] environment: Add '--debug' flag Ludovic Courtès
  3 siblings, 2 replies; 45+ messages in thread
From: David Craven @ 2016-07-19 16:49 UTC (permalink / raw)
  To: guix-devel; +Cc: David Craven

* guix/scripts/environment.scm: Add '--debug' flag to add common debugging
packages (file, gdb, strace, valgrind) to environment.
---
 guix/scripts/environment.scm | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index ebe966f..073dcac 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -165,6 +165,8 @@ COMMAND or an interactive shell in that environment.\n"))
                          according to SPEC"))
   (display (_ "
       --bootstrap        use bootstrap binaries to build the environment"))
+  (display (_ "
+  -d  --debug            add file, gdb, strace and valgrind to the environment"))
   (newline)
   (show-build-options-help)
   (newline)
@@ -249,6 +251,12 @@ COMMAND or an interactive shell in that environment.\n"))
          (option '("bootstrap") #f #f
                  (lambda (opt name arg result)
                    (alist-cons 'bootstrap? #t result)))
+         (option '(#\d "debug") #f #f
+                 (lambda (opt name arg result)
+                   (alist-cons 'package `(ad-hoc-package ,"file")
+                   (alist-cons 'package `(ad-hoc-package ,"gdb")
+                   (alist-cons 'package `(ad-hoc-package ,"strace")
+                   (alist-cons 'package `(ad-hoc-package ,"valgrind") result))))))
          %standard-build-options))
 
 (define (pick-all alist key)
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-19 16:49 ` [PATCH 4/4] environment: Add '--debug' flag David Craven
@ 2016-07-19 17:14   ` Thompson, David
  2016-07-19 18:00     ` Tobias Geerinckx-Rice
  2016-07-21 12:22   ` [PATCH 4/4] environment: Add '--debug' flag Ludovic Courtès
  1 sibling, 1 reply; 45+ messages in thread
From: Thompson, David @ 2016-07-19 17:14 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

Hi David,

On Tue, Jul 19, 2016 at 12:49 PM, David Craven <david@craven.ch> wrote:
> * guix/scripts/environment.scm: Add '--debug' flag to add common debugging
> packages (file, gdb, strace, valgrind) to environment.

Thanks for the patch and trying to make 'guix environment' more
friendly, but I don't really like this particular change for a few
reasons:

- The name "--debug" is misleading.  When I saw the patch subject
line, I thought it was a way to get 'guix environment' to print some
verbose output for the sake of debugging the generated environments.
As a user, I wouldn't expect --debug to affect the set of packages in
the environment.

- The debugging tools that a developer would want vary depending on
the project.  I don't use GDB or valgrind to debug my Guile programs,
for example.

- It tightly couples 'guix environment' to a particular, opinionated
set of packages.  What if the user wants to use a different variant of
gdb?

- Tools like strace are Linux-specific but we have plans to support
additional kernels like the Hurd.

I don't perceive a usability problem in this area, but that doesn't
mean there isn't one.  Could you explain your motivations behind this
patch?  Perhaps there's an alternative thing we could do, but in
general I don't envision 'guix environment' having a deep knowledge of
the available packages and having opinions about which packages users
should choose.

- Dave

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-19 17:14   ` Thompson, David
@ 2016-07-19 18:00     ` Tobias Geerinckx-Rice
  2016-07-19 18:10       ` David Craven
  2016-07-19 20:11       ` Danny Milosavljevic
  0 siblings, 2 replies; 45+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-07-19 18:00 UTC (permalink / raw)
  To: Thompson, David; +Cc: guix-devel, Guix-devel, David Craven

David,
David,

On 2016-07-19 19:14, Thompson, David wrote:
> (...) Perhaps there's an alternative thing we could do, but in
> general I don't envision 'guix environment' having a deep knowledge of
> the available packages and having opinions about which packages users
> should choose.

I agree.

‘--debug’ here is really shorthand for ‘--ad-hoc debugging-essentials’.
More accurately: ‘gnu-linux-c-debugging-essentials’. It seems better if
users compose such things themselves.

Then again, I haven't used GUIX_PACKAGE_PATH & friends yet, so I've no
idea how (un)pleasant it is.

Kind regards,

T G-R

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-19 18:00     ` Tobias Geerinckx-Rice
@ 2016-07-19 18:10       ` David Craven
  2016-07-19 19:02         ` David Craven
  2016-07-20 10:35         ` Ludovic Courtès
  2016-07-19 20:11       ` Danny Milosavljevic
  1 sibling, 2 replies; 45+ messages in thread
From: David Craven @ 2016-07-19 18:10 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel, Guix-devel

@Tobias: yep that sounds like a better solution. Case closed.

I was thinking about the package development workflow as a whole,
after waiting for chromium to unpack and patch-shebangs for the nth
time I got annoyed.

This is one of the three improvements I was thinking about. I thought
I'd start with low hanging fruit. The other two are:

1. I'd like to use overlay fs (like docker) and create a new overlay
for each phase to easily revert a phase.
2. I'd like logs for each phase to be put into separate files and
automatically written to disk inside the build directory.
 * It's hard to find the logs of a particular phase.
 * If build directory isn't kept then the logs are automatically deleted

David

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-19 18:10       ` David Craven
@ 2016-07-19 19:02         ` David Craven
  2016-07-19 19:06           ` Thompson, David
  2016-07-20  4:17           ` Leo Famulari
  2016-07-20 10:35         ` Ludovic Courtès
  1 sibling, 2 replies; 45+ messages in thread
From: David Craven @ 2016-07-19 19:02 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel, Guix-devel

> 1. I'd like to use overlay fs (like docker) and create a new overlay
> for each phase to easily revert a phase.

I think this might also help to debug build reproducibility issues, by
finding out which phase is introducing them. (Or is it always
obvious?)

I wasn't trying to complain, but I think there is some room for
improvement here...

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-19 19:02         ` David Craven
@ 2016-07-19 19:06           ` Thompson, David
  2016-07-19 19:15             ` David Craven
  2016-07-20  4:17           ` Leo Famulari
  1 sibling, 1 reply; 45+ messages in thread
From: Thompson, David @ 2016-07-19 19:06 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel, Guix-devel

On Tue, Jul 19, 2016 at 3:02 PM, David Craven <david@craven.ch> wrote:
>> 1. I'd like to use overlay fs (like docker) and create a new overlay
>> for each phase to easily revert a phase.
>
> I think this might also help to debug build reproducibility issues, by
> finding out which phase is introducing them. (Or is it always
> obvious?)
>
> I wasn't trying to complain, but I think there is some room for
> improvement here...

I'm not big on overlayfs, it's actually a major source of problems in
Docker, but I'm not opposed to exploring it.

- Dave

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-19 19:06           ` Thompson, David
@ 2016-07-19 19:15             ` David Craven
  0 siblings, 0 replies; 45+ messages in thread
From: David Craven @ 2016-07-19 19:15 UTC (permalink / raw)
  To: Thompson, David; +Cc: guix-devel, Guix-devel

> I'm not big on overlayfs, it's actually a major source of problems in
> Docker, but I'm not opposed to exploring it.

Hmm, can you elaborate on that? Not that I know anything about filesystem
internals. Is it overlayfs in particular or union filesystems in general?

David

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-19 18:00     ` Tobias Geerinckx-Rice
  2016-07-19 18:10       ` David Craven
@ 2016-07-19 20:11       ` Danny Milosavljevic
  2016-07-20  7:18         ` Alex Kost
  2016-07-22 19:54         ` Customising linux-libre (was: [PATCH 4/4] environment: Add '--debug' flag.) Tobias Geerinckx-Rice
  1 sibling, 2 replies; 45+ messages in thread
From: Danny Milosavljevic @ 2016-07-19 20:11 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel, David Craven

Hello Tobias,

> Then again, I haven't used GUIX_PACKAGE_PATH & friends yet, so I've no
> idea how (un)pleasant it is.

~$ echo $GUIX_PACKAGE_PATH
/home/dannym/.local/guix
~/.local/guix/gnu/packages$ ls
patches/  pythonb.scm  pythonc.scm  rust.scm

The files look just like the ones in the guix git repo. (last time I tried, "patches"/ actually didn't work - it doesn't find them. Everything else works just fine)

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-19 19:02         ` David Craven
  2016-07-19 19:06           ` Thompson, David
@ 2016-07-20  4:17           ` Leo Famulari
  1 sibling, 0 replies; 45+ messages in thread
From: Leo Famulari @ 2016-07-20  4:17 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel, Guix-devel

On Tue, Jul 19, 2016 at 09:02:58PM +0200, David Craven wrote:
> > 1. I'd like to use overlay fs (like docker) and create a new overlay
> > for each phase to easily revert a phase.
> 
> I think this might also help to debug build reproducibility issues, by
> finding out which phase is introducing them. (Or is it always
> obvious?)

In general, the idea of being able to move between phases like that is
really cool. I don't have any experience with overlayfs, so I can't
comment on that detail.

I wouldn't say it's ever obvious where a reproducibility bug is
introduced, but many of them are timestamps, sometimes with an English
string attached, and that code is usually easy to find.

Thankfully, the Reproducible Builds project has a useful database of
bugs they've found:

https://anonscm.debian.org/git/reproducible/notes.git

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-19 20:11       ` Danny Milosavljevic
@ 2016-07-20  7:18         ` Alex Kost
  2016-07-20  7:35           ` Vincent Legoll
  2016-07-20  9:15           ` Pjotr Prins
  2016-07-22 19:54         ` Customising linux-libre (was: [PATCH 4/4] environment: Add '--debug' flag.) Tobias Geerinckx-Rice
  1 sibling, 2 replies; 45+ messages in thread
From: Alex Kost @ 2016-07-20  7:18 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel, David Craven

Danny Milosavljevic (2016-07-19 23:11 +0300) wrote:

> Hello Tobias,
>
>> Then again, I haven't used GUIX_PACKAGE_PATH & friends yet, so I've no
>> idea how (un)pleasant it is.
>
> ~$ echo $GUIX_PACKAGE_PATH
> /home/dannym/.local/guix
> ~/.local/guix/gnu/packages$ ls
> patches/  pythonb.scm  pythonc.scm  rust.scm
>
> The files look just like the ones in the guix git repo. (last time I tried, "patches"/ actually didn't work - it doesn't find them. Everything else works just fine)

According to the source ('%patch-path' from (gnu packages) module),
patches should be placed directly in your "/home/dannym/.local/guix"
directory (not in "patches" subdir).

-- 
Alex

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-20  7:18         ` Alex Kost
@ 2016-07-20  7:35           ` Vincent Legoll
  2016-07-20  9:15           ` Pjotr Prins
  1 sibling, 0 replies; 45+ messages in thread
From: Vincent Legoll @ 2016-07-20  7:35 UTC (permalink / raw)
  To: Alex Kost; +Cc: guix-devel, David Craven

>> ~$ echo $GUIX_PACKAGE_PATH
>> /home/dannym/.local/guix
>> ~/.local/guix/gnu/packages$ ls
>> patches/  pythonb.scm  pythonc.scm  rust.scm
>>
>> The files look just like the ones in the guix git repo. (last time I tried, "patches"/ actually didn't work - it doesn't find them. Everything else works just fine)
>
> According to the source ('%patch-path' from (gnu packages) module),
> patches should be placed directly in your "/home/dannym/.local/guix"
> directory (not in "patches" subdir).

That's my experience too, but maybe it works by specifying your patches with
the right prefix each time...

(patches (search-patches "patches/machin-build-fix.patch"))

I've not tried that, I've put them at the root of $GUIX_PACKAGE_PATH instead...

-- 
Vincent Legoll

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-20  7:18         ` Alex Kost
  2016-07-20  7:35           ` Vincent Legoll
@ 2016-07-20  9:15           ` Pjotr Prins
  1 sibling, 0 replies; 45+ messages in thread
From: Pjotr Prins @ 2016-07-20  9:15 UTC (permalink / raw)
  To: Alex Kost; +Cc: guix-devel, David Craven

On Wed, Jul 20, 2016 at 10:18:19AM +0300, Alex Kost wrote:
> According to the source ('%patch-path' from (gnu packages) module),
> patches should be placed directly in your "/home/dannym/.local/guix"
> directory (not in "patches" subdir).

Maybe it would be an idea to also search in ./patches - it would be
cleaner for external repos.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-19 18:10       ` David Craven
  2016-07-19 19:02         ` David Craven
@ 2016-07-20 10:35         ` Ludovic Courtès
  2016-07-20 10:56           ` David Craven
  1 sibling, 1 reply; 45+ messages in thread
From: Ludovic Courtès @ 2016-07-20 10:35 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel, Guix-devel

Hi!

David Craven <david@craven.ch> skribis:

> This is one of the three improvements I was thinking about. I thought
> I'd start with low hanging fruit. The other two are:
>
> 1. I'd like to use overlay fs (like docker) and create a new overlay
> for each phase to easily revert a phase.

That would be fun.  I think it could/should be a separate tool.  That is
guix-daemon would continue to operate in its own way, but we’d have
another tool that would do what you suggest.  WDYT?

That seems like quite a bit of work, though.

> 2. I'd like logs for each phase to be put into separate files and
> automatically written to disk inside the build directory.
>  * It's hard to find the logs of a particular phase.
>  * If build directory isn't kept then the logs are automatically deleted

If you use Emacs, ‘guix-build-log-mode’ is awesome: it allows you to
fold/unfold build phases, to jump from one build phase to the next, and
does syntax highlighting:

  https://www.gnu.org/software/guix/manual/html_node/Emacs-Build-Log.html

Ludo’.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 1/4] lint: Add packages with suffix ':bin' to 'inputs-should-be-native'.
  2016-07-19 16:49 ` [PATCH 1/4] lint: Add packages with suffix ':bin' to 'inputs-should-be-native' David Craven
@ 2016-07-20 10:37   ` Ludovic Courtès
  2016-07-20 10:50     ` David Craven
  0 siblings, 1 reply; 45+ messages in thread
From: Ludovic Courtès @ 2016-07-20 10:37 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

Hi!

David Craven <david@craven.ch> skribis:

> * guix/scripts/lint.scm (check-inputs-should-be-native): Check that packages
> with suffix ':bin' and 'intltool', 'itstool' are in native-inputs.

I think packages with a “bin” output are not always used as native
inputs, so I would drop this rule.

However, the rule for intltool and itstool seems to make a lot of sense!

Could you send an updated patch that leaves out the “bin” part?

Thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 1/4] lint: Add packages with suffix ':bin' to 'inputs-should-be-native'.
  2016-07-20 10:37   ` Ludovic Courtès
@ 2016-07-20 10:50     ` David Craven
  2016-07-20 11:19       ` Efraim Flashner
  2016-07-21 12:24       ` Ludovic Courtès
  0 siblings, 2 replies; 45+ messages in thread
From: David Craven @ 2016-07-20 10:50 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Hi

> I think packages with a “bin” output are not always used as native
> inputs, so I would drop this rule.

From searching the code-base we have I couldn't find a counter example. Do
you think it's ok to check for glib:bin specifically?

Thanks
David

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-20 10:35         ` Ludovic Courtès
@ 2016-07-20 10:56           ` David Craven
  0 siblings, 0 replies; 45+ messages in thread
From: David Craven @ 2016-07-20 10:56 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, Guix-devel

Oh, that sounds exactly like what I was looking for. I guess it's time
to take the emacs plunge...

Thanks!
David

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 1/4] lint: Add packages with suffix ':bin' to 'inputs-should-be-native'.
  2016-07-20 10:50     ` David Craven
@ 2016-07-20 11:19       ` Efraim Flashner
  2016-07-21 12:24       ` Ludovic Courtès
  1 sibling, 0 replies; 45+ messages in thread
From: Efraim Flashner @ 2016-07-20 11:19 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 686 bytes --]

On Wed, Jul 20, 2016 at 12:50:49PM +0200, David Craven wrote:
> Hi
> 
> > I think packages with a “bin” output are not always used as native
> > inputs, so I would drop this rule.
> 
> From searching the code-base we have I couldn't find a counter example. Do
> you think it's ok to check for glib:bin specifically?
> 
> Thanks
> David
> 

What about gfortran:lib? Eigen uses it as an input but I believe the
other instances of it are all native-inputs.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-19 16:49 ` [PATCH 4/4] environment: Add '--debug' flag David Craven
  2016-07-19 17:14   ` Thompson, David
@ 2016-07-21 12:22   ` Ludovic Courtès
  2016-07-21 12:30     ` David Craven
  1 sibling, 1 reply; 45+ messages in thread
From: Ludovic Courtès @ 2016-07-21 12:22 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

> * guix/scripts/environment.scm: Add '--debug' flag to add common debugging
> packages (file, gdb, strace, valgrind) to environment.

BTW, this use case is well-addressed via ‘guix environment --load’ as in
the GDB example at:

  https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-environment.html

Alternately, one can define a ‘gdb-devel’ package in their
GUIX_PACKAGE_PATH and simply do:

  guix environment gdb-devel

Ludo’.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 1/4] lint: Add packages with suffix ':bin' to 'inputs-should-be-native'.
  2016-07-20 10:50     ` David Craven
  2016-07-20 11:19       ` Efraim Flashner
@ 2016-07-21 12:24       ` Ludovic Courtès
  2016-07-21 13:22         ` Vincent Legoll
  1 sibling, 1 reply; 45+ messages in thread
From: Ludovic Courtès @ 2016-07-21 12:24 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

>> I think packages with a “bin” output are not always used as native
>> inputs, so I would drop this rule.
>
> From searching the code-base we have I couldn't find a counter example. Do
> you think it's ok to check for glib:bin specifically?

Yes, sounds good to me.

However, make sure to match on the package name + output, not on the
label.  That is, ‘lint’ should correctly diagnose something like:

  (inputs `(("somethingsilly" ,glib "bin")))

Thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-21 12:22   ` [PATCH 4/4] environment: Add '--debug' flag Ludovic Courtès
@ 2016-07-21 12:30     ` David Craven
  2016-07-21 16:03       ` Ludovic Courtès
  0 siblings, 1 reply; 45+ messages in thread
From: David Craven @ 2016-07-21 12:30 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Was the -L flag fixed recently? I remember it not working when I first tried it.

But yes that's what Tobias already mentioned earlier.

Thanks
David

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 3/4] lint: Add 'inputs-should-be-sorted' check.
  2016-07-19 16:49 ` [PATCH 3/4] lint: Add 'inputs-should-be-sorted' check David Craven
@ 2016-07-21 13:17   ` Eric Bavier
  2016-07-21 16:00     ` Ludovic Courtès
  0 siblings, 1 reply; 45+ messages in thread
From: Eric Bavier @ 2016-07-21 13:17 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1099 bytes --]

On Tue, 19 Jul 2016 18:49:15 +0200
David Craven <david@craven.ch> wrote:

> * guix/scripts/lint.scm (check-inputs-should-be-sorted): Add it.
> (lint-checker): Add it.
> ---
>  guix/scripts/lint.scm | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
> index d64a066..d3a82c9 100644
> --- a/guix/scripts/lint.scm
> +++ b/guix/scripts/lint.scm
> @@ -220,6 +220,21 @@ by two spaces; possible infraction~p at ~{~a~^, ~}")
>                (when (string-suffix? ":bin" package-name) (warn package-name)))
>                  labels)))))))
>  
> +(define (check-inputs-should-be-sorted package)
> +  ;; Emit a warning if inputs, native-inputs or propagated-inputs are not sorted.

I don't think this needs to be a thing.  While I personally added the
code in the cpan importer to sort inputs by name, I recognize that
there are also valid reasons to not do that in some packages.  E.g.
grouping a set of inputs that are all related to or required for some
aspect of a package's functionality, etc.

`~Eric

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 455 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 1/4] lint: Add packages with suffix ':bin' to 'inputs-should-be-native'.
  2016-07-21 12:24       ` Ludovic Courtès
@ 2016-07-21 13:22         ` Vincent Legoll
  2016-07-21 16:06           ` Ludovic Courtès
  0 siblings, 1 reply; 45+ messages in thread
From: Vincent Legoll @ 2016-07-21 13:22 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, David Craven

On Thu, Jul 21, 2016 at 2:24 PM, Ludovic Courtès <ludo@gnu.org> wrote:
> David Craven <david@craven.ch> skribis:
>
>>> I think packages with a “bin” output are not always used as native
>>> inputs, so I would drop this rule.
>>
>> From searching the code-base we have I couldn't find a counter example. Do
>> you think it's ok to check for glib:bin specifically?
>
> Yes, sounds good to me.
>
> However, make sure to match on the package name + output, not on the
> label.  That is, ‘lint’ should correctly diagnose something like:
>
>   (inputs `(("somethingsilly" ,glib "bin")))

Yes, this is very important, as you have newbies coming now that try to
package software for guix and they don't understand what they are doing.

:-)

I was wondering the other day, what this "somethingsilly" string is for,
is it just a string or does it need to be a reference to something not silly...

Looks like it's just a string, but...

I volunteer for reviewing error message, to see if they pass the low-level
schemer test... Just throw them at me !

-- 
Vincent Legoll

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 3/4] lint: Add 'inputs-should-be-sorted' check.
  2016-07-21 13:17   ` Eric Bavier
@ 2016-07-21 16:00     ` Ludovic Courtès
  0 siblings, 0 replies; 45+ messages in thread
From: Ludovic Courtès @ 2016-07-21 16:00 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel, David Craven

Eric Bavier <ericbavier@openmailbox.org> skribis:

> On Tue, 19 Jul 2016 18:49:15 +0200
> David Craven <david@craven.ch> wrote:
>
>> * guix/scripts/lint.scm (check-inputs-should-be-sorted): Add it.
>> (lint-checker): Add it.
>> ---
>>  guix/scripts/lint.scm | 19 +++++++++++++++++++
>>  1 file changed, 19 insertions(+)
>> 
>> diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
>> index d64a066..d3a82c9 100644
>> --- a/guix/scripts/lint.scm
>> +++ b/guix/scripts/lint.scm
>> @@ -220,6 +220,21 @@ by two spaces; possible infraction~p at ~{~a~^, ~}")
>>                (when (string-suffix? ":bin" package-name) (warn package-name)))
>>                  labels)))))))
>>  
>> +(define (check-inputs-should-be-sorted package)
>> +  ;; Emit a warning if inputs, native-inputs or propagated-inputs are not sorted.
>
> I don't think this needs to be a thing.  While I personally added the
> code in the cpan importer to sort inputs by name, I recognize that
> there are also valid reasons to not do that in some packages.  E.g.
> grouping a set of inputs that are all related to or required for some
> aspect of a package's functionality, etc.

Yeah, I agree.

Ludo’.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-21 12:30     ` David Craven
@ 2016-07-21 16:03       ` Ludovic Courtès
  2016-07-21 16:12         ` David Craven
  0 siblings, 1 reply; 45+ messages in thread
From: Ludovic Courtès @ 2016-07-21 16:03 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

> Was the -L flag fixed recently? I remember it not working when I first tried it.

It’s pretty old, and it works (until proven otherwise ;-)).

Ludo’.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 1/4] lint: Add packages with suffix ':bin' to 'inputs-should-be-native'.
  2016-07-21 13:22         ` Vincent Legoll
@ 2016-07-21 16:06           ` Ludovic Courtès
  2016-07-21 19:27             ` Tobias Geerinckx-Rice
  0 siblings, 1 reply; 45+ messages in thread
From: Ludovic Courtès @ 2016-07-21 16:06 UTC (permalink / raw)
  To: Vincent Legoll; +Cc: guix-devel, David Craven

Vincent Legoll <vincent.legoll@gmail.com> skribis:

> On Thu, Jul 21, 2016 at 2:24 PM, Ludovic Courtès <ludo@gnu.org> wrote:
>> David Craven <david@craven.ch> skribis:
>>
>>>> I think packages with a “bin” output are not always used as native
>>>> inputs, so I would drop this rule.
>>>
>>> From searching the code-base we have I couldn't find a counter example. Do
>>> you think it's ok to check for glib:bin specifically?
>>
>> Yes, sounds good to me.
>>
>> However, make sure to match on the package name + output, not on the
>> label.  That is, ‘lint’ should correctly diagnose something like:
>>
>>   (inputs `(("somethingsilly" ,glib "bin")))
>
> Yes, this is very important, as you have newbies coming now that try to
> package software for guix and they don't understand what they are doing.
>
> :-)
>
> I was wondering the other day, what this "somethingsilly" string is for,
> is it just a string or does it need to be a reference to something not silly...

This "somethingsilly" is just a label that allows you to refer to an
input on the build side, in idioms like:

  (assoc-ref inputs "somethingsilly")
  => "/gnu/store/…-glib-42.0-bin"

This predates g-expressions, which solve this problem more elegantly.

Ludo’.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-21 16:03       ` Ludovic Courtès
@ 2016-07-21 16:12         ` David Craven
  2016-07-21 16:38           ` Ludovic Courtès
  0 siblings, 1 reply; 45+ messages in thread
From: David Craven @ 2016-07-21 16:12 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Maybe I'm doing something wrong then, this is what I get:
I was symlinking individual files into .guix, now I'm symlinking
the whole $HOME/guix/gnu folder into .guix

guix package -i qemu -L $HOME/guix

guix package: warning: failed to load '(build-aux check-available-binaries)':
Backtrace:
In ice-9/boot-9.scm:
1729: 19 [#<procedure 237aea0 ()>]
In unknown file:
   ?: 18 [primitive-load
"/gnu/store/vw26xsn24jmrijn939fjjk50m5i4hfq3-guix-0.10.0-0.e901/bin/.guix-real"]
In guix/ui.scm:
1209: 17 [run-guix-command package "-i" "qemu" "-L" "/home/dvc/guix"]
In ice-9/boot-9.scm:
 157: 16 [catch srfi-34 #<procedure 32a70a0 at guix/ui.scm:425:2 ()> ...]
 157: 15 [catch system-error ...]
In guix/scripts/package.scm:
 857: 14 [#<procedure 32a70c0 at guix/scripts/package.scm:845:4 ()>]
 815: 13 [process-actions #<build-daemon 256.15 32a8200> (# # # # ...)]
 574: 12 [options->installable (# # # # ...) #<<manifest> entries: #>]
In srfi/srfi-1.scm:
 664: 11 [filter-map #<procedure 32a1220 at
guix/scripts/package.scm:574:16 (expr)> ...]
In guix/scripts/package.scm:
 583: 10 [#<procedure 32a1220 at guix/scripts/package.scm:574:16 (expr)> #]
In gnu/packages.scm:
 342: 9 [specification->package+output "qemu" "out"]
 297: 8 [%find-package "qemu" "qemu" #f #:fallback? #f]
 265: 7 [find-best-packages-by-name "qemu" #f]
In guix/combinators.scm:
  43: 6 [#<procedure 329cf90 at guix/combinators.scm:39:4 args>]
In gnu/packages.scm:
 214: 5 [fold-packages #<procedure 3291180 at gnu/packages.scm:247:20 (p r)> #]
In srfi/srfi-1.scm:
 481: 4 [fold-right #<procedure 3291620 at gnu/packages.scm:185:14
(spec result)> ...]
In gnu/packages.scm:
 188: 3 [#<procedure 3291620 at gnu/packages.scm:185:14 (spec result)>
"/home/dvc/guix" ...]
In srfi/srfi-1.scm:
 664: 2 [filter-map #<procedure 6b7e420 at gnu/packages.scm:168:14 (file)> #]
In gnu/packages.scm:
 176: 1 [#<procedure be9e240 at gnu/packages.scm:174:20 args> quit #f]
In unknown file:
   ?: 0 [display-error #f #<output: file /dev/pts/0> #f]

ERROR: In procedure display-error:
ERROR: Wrong number of arguments to #<procedure display-error (_ _ _ _ _ _)>

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 4/4] environment: Add '--debug' flag.
  2016-07-21 16:12         ` David Craven
@ 2016-07-21 16:38           ` Ludovic Courtès
  0 siblings, 0 replies; 45+ messages in thread
From: Ludovic Courtès @ 2016-07-21 16:38 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

> Maybe I'm doing something wrong then, this is what I get:
> I was symlinking individual files into .guix, now I'm symlinking
> the whole $HOME/guix/gnu folder into .guix
>
> guix package -i qemu -L $HOME/guix

You must not add Guix’s top-level source tree to GUIX_PACKAGE_PATH
(which is what -L does).

Directories in the GUIX_PACKAGE_PATH are scanned for all their modules,
which are then loaded.  However, the Guix source tree contains things
that are not even modules, like this build-self.scm file mentioned in
the error message.

But anyway, I think you’re confusing -L and -l; in my previous message I
was referring to ‘guix environment -l’.

HTH!

Ludo’.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 1/4] lint: Add packages with suffix ':bin' to 'inputs-should-be-native'.
  2016-07-21 16:06           ` Ludovic Courtès
@ 2016-07-21 19:27             ` Tobias Geerinckx-Rice
  2016-07-22 13:32               ` Ludovic Courtès
  0 siblings, 1 reply; 45+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-07-21 19:27 UTC (permalink / raw)
  To: ludo; +Cc: guix-devel, Guix-devel, David Craven

Ahoy Ludo',

On 2016-07-21 18:06, ludo@gnu.org wrote:
>>>   (inputs `(("somethingsilly" ,glib "bin")))
> 
> This "somethingsilly" is just a label that allows you to refer to an
> input on the build side, in idioms like:
> 
>   (assoc-ref inputs "somethingsilly")
>   => "/gnu/store/…-glib-42.0-bin"

I remember writing something like

   (inputs `(("libuuid" ,util-linux)))

once, to indicate that libuuid really is all we need and that one
could swap out util-linux for another — extremely hypothetical —
libuuid provider.

Was this, in hindsight, somethingsilly? :-)

If so, is there still a reason to keep all this duplication around?

> This predates g-expressions, which solve this problem more elegantly.

Interesting! I always assumed[1] gexps were one of the foundations for
Guix since day 0.

Kind regards,

T G-R

[1]: Don't.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 2/4] gnu: Rename 'glib' label to 'glib:bin' where appropriate.
  2016-07-19 16:49 ` [PATCH 2/4] gnu: Rename 'glib' label to 'glib:bin' where appropriate David Craven
@ 2016-07-22 12:57   ` Ludovic Courtès
  2016-07-22 13:03     ` David Craven
  0 siblings, 1 reply; 45+ messages in thread
From: Ludovic Courtès @ 2016-07-22 12:57 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

>      (native-inputs
>       `(("intltool" ,intltool)
> -       ("glib" ,glib "bin")
> +       ("glib:bin" ,glib "bin")
>         ("pkg-config" ,pkg-config)))

This patch triggers a lot of rebuild.  While I agree that consistency is
good, and that we should rather use the “glib:bin” going forward, I’d
rather avoid the extra rebuild now.

Thoughts?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 2/4] gnu: Rename 'glib' label to 'glib:bin' where appropriate.
  2016-07-22 12:57   ` Ludovic Courtès
@ 2016-07-22 13:03     ` David Craven
  2016-07-22 17:55       ` David Craven
  0 siblings, 1 reply; 45+ messages in thread
From: David Craven @ 2016-07-22 13:03 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

The reason I renamed them was to be able to check for :bin in the
label. I already dropped this patch from my fork, since we decided to
take a different approach.

I'll update the other patch, still working on it... (Need to read up
on how pattern matching works in scheme etc.)

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 1/4] lint: Add packages with suffix ':bin' to 'inputs-should-be-native'.
  2016-07-21 19:27             ` Tobias Geerinckx-Rice
@ 2016-07-22 13:32               ` Ludovic Courtès
  2016-07-22 14:07                 ` Vincent Legoll
  0 siblings, 1 reply; 45+ messages in thread
From: Ludovic Courtès @ 2016-07-22 13:32 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel, Guix-devel, David Craven

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

> On 2016-07-21 18:06, ludo@gnu.org wrote:
>>>>   (inputs `(("somethingsilly" ,glib "bin")))
>>
>> This "somethingsilly" is just a label that allows you to refer to an
>> input on the build side, in idioms like:
>>
>>   (assoc-ref inputs "somethingsilly")
>>   => "/gnu/store/…-glib-42.0-bin"
>
> I remember writing something like
>
>   (inputs `(("libuuid" ,util-linux)))
>
> once, to indicate that libuuid really is all we need and that one
> could swap out util-linux for another — extremely hypothetical —
> libuuid provider.
>
> Was this, in hindsight, somethingsilly? :-)

I think it’s fine, but a comment would work well too.

> If so, is there still a reason to keep all this duplication around?

Build systems haven’t migrated yet to gexps.  There’s a branch to do
that, ‘wip-build-systems-gexp’, but there’s a performance regression
compared to what we have, which is why I have not merged it.

That’ll happen, someday, but even then, I’m not sure we’ll remove
labels; at least we won’t remove them overnight, for sure.  ;-)

>> This predates g-expressions, which solve this problem more elegantly.
>
> Interesting! I always assumed[1] gexps were one of the foundations for
> Guix since day 0.

In an ideal world it would have been this way.  :-)

Ludo’.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 1/4] lint: Add packages with suffix ':bin' to 'inputs-should-be-native'.
  2016-07-22 13:32               ` Ludovic Courtès
@ 2016-07-22 14:07                 ` Vincent Legoll
  0 siblings, 0 replies; 45+ messages in thread
From: Vincent Legoll @ 2016-07-22 14:07 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, Guix-devel, David Craven

> That’ll happen, someday, but even then, I’m not sure we’ll remove
> labels; at least we won’t remove them overnight, for sure.  ;-)

That may be a good fit for a guix lint warning, maybe first as a
--pedantic mode, then after the first rush of newbies-editing-the-world,
it can be turned into --Werror...

-- 
Vincent Legoll

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: [PATCH 2/4] gnu: Rename 'glib' label to 'glib:bin' where appropriate.
  2016-07-22 13:03     ` David Craven
@ 2016-07-22 17:55       ` David Craven
  0 siblings, 0 replies; 45+ messages in thread
From: David Craven @ 2016-07-22 17:55 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

So I resubmitted the check-native-inputs patch and dropped the other
three based on the discussions.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Customising linux-libre (was: [PATCH 4/4] environment: Add '--debug' flag.)
  2016-07-19 20:11       ` Danny Milosavljevic
  2016-07-20  7:18         ` Alex Kost
@ 2016-07-22 19:54         ` Tobias Geerinckx-Rice
  2016-07-22 19:58           ` Vincent Legoll
  1 sibling, 1 reply; 45+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-07-22 19:54 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel, David Craven

Danny,

Thank you!

On 2016-07-19 22:11, Danny Milosavljevic wrote:
> ~$ echo $GUIX_PACKAGE_PATH
> /home/dannym/.local/guix
> ~/.local/guix/gnu/packages$ ls
> patches/  pythonb.scm  pythonc.scm  rust.scm
> 
> The files look just like the ones in the guix git repo.

That's wonderfully trivial. It encouraged me to finally try porting
my old patched Linux kernel + custom configuration to the new GuixSD
installation. Now to find out why it silently fails after ‘make’...

Hmm, seems like I'll be copying over the entire linux-libre
'build-phase to poke at it a bit.

Does anyone know a reason why all the .config stuff couldn't be
moved to a separate 'configure-phase, before I waste my time? ;-)

Kind regards,

T G-R

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: Customising linux-libre (was: [PATCH 4/4] environment: Add '--debug' flag.)
  2016-07-22 19:54         ` Customising linux-libre (was: [PATCH 4/4] environment: Add '--debug' flag.) Tobias Geerinckx-Rice
@ 2016-07-22 19:58           ` Vincent Legoll
  2016-07-22 20:00             ` David Craven
  2016-07-22 20:11             ` Tobias Geerinckx-Rice
  0 siblings, 2 replies; 45+ messages in thread
From: Vincent Legoll @ 2016-07-22 19:58 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel, David Craven

> That's wonderfully trivial. It encouraged me to finally try porting
> my old patched Linux kernel + custom configuration to the new GuixSD
> installation. Now to find out why it silently fails after ‘make’...
>
> Hmm, seems like I'll be copying over the entire linux-libre
> 'build-phase to poke at it a bit.
>
> Does anyone know a reason why all the .config stuff couldn't be
> moved to a separate 'configure-phase, before I waste my time? ;-)

There's a thread in help-guix that may be relevant:

https://lists.gnu.org/archive/html/help-guix/2016-07/msg00096.html

-- 
Vincent Legoll

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: Customising linux-libre (was: [PATCH 4/4] environment: Add '--debug' flag.)
  2016-07-22 19:58           ` Vincent Legoll
@ 2016-07-22 20:00             ` David Craven
  2016-07-22 20:03               ` Vincent Legoll
  2016-07-22 20:15               ` Customising linux-libre Tobias Geerinckx-Rice
  2016-07-22 20:11             ` Tobias Geerinckx-Rice
  1 sibling, 2 replies; 45+ messages in thread
From: David Craven @ 2016-07-22 20:00 UTC (permalink / raw)
  To: Vincent Legoll; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 843 bytes --]

I'm sure if you improve the linux-libre package to make it simpler to
customize we can annoy ludo until he merges it... =P
On Jul 22, 2016 9:58 PM, "Vincent Legoll" <vincent.legoll@gmail.com> wrote:

> > That's wonderfully trivial. It encouraged me to finally try porting
> > my old patched Linux kernel + custom configuration to the new GuixSD
> > installation. Now to find out why it silently fails after ‘make’...
> >
> > Hmm, seems like I'll be copying over the entire linux-libre
> > 'build-phase to poke at it a bit.
> >
> > Does anyone know a reason why all the .config stuff couldn't be
> > moved to a separate 'configure-phase, before I waste my time? ;-)
>
> There's a thread in help-guix that may be relevant:
>
> https://lists.gnu.org/archive/html/help-guix/2016-07/msg00096.html
>
> --
> Vincent Legoll
>

[-- Attachment #2: Type: text/html, Size: 1289 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: Customising linux-libre (was: [PATCH 4/4] environment: Add '--debug' flag.)
  2016-07-22 20:00             ` David Craven
@ 2016-07-22 20:03               ` Vincent Legoll
  2016-07-22 20:15               ` Customising linux-libre Tobias Geerinckx-Rice
  1 sibling, 0 replies; 45+ messages in thread
From: Vincent Legoll @ 2016-07-22 20:03 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

On Fri, Jul 22, 2016 at 10:00 PM, David Craven <david@craven.ch> wrote:
> I'm sure if you improve the linux-libre package to make it simpler to
> customize we can annoy ludo until he merges it... =P

Maybe something like what I proposed here:
https://lists.gnu.org/archive/html/help-guix/2016-07/msg00122.html
would do what people want...

-- 
Vincent Legoll

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: Customising linux-libre
  2016-07-22 19:58           ` Vincent Legoll
  2016-07-22 20:00             ` David Craven
@ 2016-07-22 20:11             ` Tobias Geerinckx-Rice
  2016-07-23 10:38               ` Ludovic Courtès
  1 sibling, 1 reply; 45+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-07-22 20:11 UTC (permalink / raw)
  To: Vincent Legoll; +Cc: guix-devel, David Craven

Vincent,

Thanks for the quick reply!

On 2016-07-22 21:58, Vincent Legoll wrote:
>> Does anyone know a reason why all the .config stuff couldn't be
>> moved to a separate 'configure-phase, before I waste my time? ;-)
> 
> There's a thread in help-guix that may be relevant:
> 
> https://lists.gnu.org/archive/html/help-guix/2016-07/msg00096.html

Yes, in the sense that Ludo's example from that thread was what
got me started. I hadn't expected it to be so easy.

What I actually meant was: why is everything up to ‘make oldconfig’
part of the build phase, and not a separate 'configure phase?

Kind regards,

T G-R

-- 
Sent from a web browser. Excuse my brevity.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: Customising linux-libre
  2016-07-22 20:00             ` David Craven
  2016-07-22 20:03               ` Vincent Legoll
@ 2016-07-22 20:15               ` Tobias Geerinckx-Rice
  2016-07-22 20:50                 ` David Craven
  1 sibling, 1 reply; 45+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-07-22 20:15 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David,

On 2016-07-22 22:00, David Craven wrote:
> I'm sure if you improve the linux-libre package to make it simpler
> to customize we can annoy ludo until he merges it... =P

That's the plan! I just don't want to do the work only to hear (or
realise myself) ‘yeah, it should be like that, but x, so no’.

Kind regards,

T G-R

PS: any chance you could easily switch to plain text for this list?
It would make reading & replying just a bit more pleasant :-)

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: Customising linux-libre
  2016-07-22 20:15               ` Customising linux-libre Tobias Geerinckx-Rice
@ 2016-07-22 20:50                 ` David Craven
  0 siblings, 0 replies; 45+ messages in thread
From: David Craven @ 2016-07-22 20:50 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel

> PS: any chance you could easily switch to plain text for this list?
> It would make reading & replying just a bit more pleasant :-)

Sry, it's probably when I reply from my phone... I can't see anything
wrong [0] dough...

[0] http://lists.gnu.org/archive/html/guix-devel/2016-07/msg00969.html

^ permalink raw reply	[flat|nested] 45+ messages in thread

* Re: Customising linux-libre
  2016-07-22 20:11             ` Tobias Geerinckx-Rice
@ 2016-07-23 10:38               ` Ludovic Courtès
  0 siblings, 0 replies; 45+ messages in thread
From: Ludovic Courtès @ 2016-07-23 10:38 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel, David Craven

Hello!

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

> On 2016-07-22 21:58, Vincent Legoll wrote:
>>> Does anyone know a reason why all the .config stuff couldn't be
>>> moved to a separate 'configure-phase, before I waste my time? ;-)
>>
>> There's a thread in help-guix that may be relevant:
>>
>> https://lists.gnu.org/archive/html/help-guix/2016-07/msg00096.html
>
> Yes, in the sense that Ludo's example from that thread was what
> got me started. I hadn't expected it to be so easy.
>
> What I actually meant was: why is everything up to ‘make oldconfig’
> part of the build phase, and not a separate 'configure phase?

Good point!  The current ‘build-phase’ could very much be split into
maybe 3 phases: one to set ARCH, one to fiddle with .config, one to run
‘make oldconfig’, and one to perform the actual build (three? four?).

WDYT?

Ludo’.

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2016-07-23 10:38 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-19 16:49 [PATCH 0/4] Dipping my toes into guix source David Craven
2016-07-19 16:49 ` [PATCH 1/4] lint: Add packages with suffix ':bin' to 'inputs-should-be-native' David Craven
2016-07-20 10:37   ` Ludovic Courtès
2016-07-20 10:50     ` David Craven
2016-07-20 11:19       ` Efraim Flashner
2016-07-21 12:24       ` Ludovic Courtès
2016-07-21 13:22         ` Vincent Legoll
2016-07-21 16:06           ` Ludovic Courtès
2016-07-21 19:27             ` Tobias Geerinckx-Rice
2016-07-22 13:32               ` Ludovic Courtès
2016-07-22 14:07                 ` Vincent Legoll
2016-07-19 16:49 ` [PATCH 2/4] gnu: Rename 'glib' label to 'glib:bin' where appropriate David Craven
2016-07-22 12:57   ` Ludovic Courtès
2016-07-22 13:03     ` David Craven
2016-07-22 17:55       ` David Craven
2016-07-19 16:49 ` [PATCH 3/4] lint: Add 'inputs-should-be-sorted' check David Craven
2016-07-21 13:17   ` Eric Bavier
2016-07-21 16:00     ` Ludovic Courtès
2016-07-19 16:49 ` [PATCH 4/4] environment: Add '--debug' flag David Craven
2016-07-19 17:14   ` Thompson, David
2016-07-19 18:00     ` Tobias Geerinckx-Rice
2016-07-19 18:10       ` David Craven
2016-07-19 19:02         ` David Craven
2016-07-19 19:06           ` Thompson, David
2016-07-19 19:15             ` David Craven
2016-07-20  4:17           ` Leo Famulari
2016-07-20 10:35         ` Ludovic Courtès
2016-07-20 10:56           ` David Craven
2016-07-19 20:11       ` Danny Milosavljevic
2016-07-20  7:18         ` Alex Kost
2016-07-20  7:35           ` Vincent Legoll
2016-07-20  9:15           ` Pjotr Prins
2016-07-22 19:54         ` Customising linux-libre (was: [PATCH 4/4] environment: Add '--debug' flag.) Tobias Geerinckx-Rice
2016-07-22 19:58           ` Vincent Legoll
2016-07-22 20:00             ` David Craven
2016-07-22 20:03               ` Vincent Legoll
2016-07-22 20:15               ` Customising linux-libre Tobias Geerinckx-Rice
2016-07-22 20:50                 ` David Craven
2016-07-22 20:11             ` Tobias Geerinckx-Rice
2016-07-23 10:38               ` Ludovic Courtès
2016-07-21 12:22   ` [PATCH 4/4] environment: Add '--debug' flag Ludovic Courtès
2016-07-21 12:30     ` David Craven
2016-07-21 16:03       ` Ludovic Courtès
2016-07-21 16:12         ` David Craven
2016-07-21 16:38           ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).