* [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
* 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 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 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 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 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 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 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
* [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
* 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 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
* [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
* 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 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
* [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 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 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 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 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 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
* 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 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 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: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
* 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 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 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 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
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 external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.