Message ID | b0760ae63d9ea43a6ff6bac6557cfbc2c59437aa.1725863812.git.atai@atai.org |
---|---|
State | New |
Headers | show |
Series | [bug#73137] gnu: ddd: Update to 3.4.1. | expand |
A question on package definition (likely scope of guix-devel, but anyway posted here first): I have updated the definition of package ddd which has libxft as input. Libxft in turn has freefont as propagated-input. In the definition of ddd I tried to do (this-package-input "freefont") which returns #f. I had to add freefont as input to ddd to make this work. As propagated-input should be propagated, shall the addition of freefont as input to ddd be unneeded?
Hi, On Mon, 09 Sep 2024 at 11:27, Andy Tai <atai@atai.org> wrote: > I have updated the definition of package ddd which has libxft as > input. Libxft in turn has freefont as propagated-input. What do you mean by ’freefont’? libxft reads: (propagated-inputs ;; xft.pc refers to all these. (list libxrender freetype fontconfig)) Cheers, simon
Sorry I meant freetype On Tue, Sep 10, 2024 at 1:34 AM Simon Tournier <zimon.toutoune@gmail.com> wrote: > > Hi, > > On Mon, 09 Sep 2024 at 11:27, Andy Tai <atai@atai.org> wrote: > > > I have updated the definition of package ddd which has libxft as > > input. Libxft in turn has freefont as propagated-input. > > What do you mean by ’freefont’? libxft reads: > > (propagated-inputs > ;; xft.pc refers to all these. > (list libxrender > freetype > fontconfig)) > > > Cheers, > simon
Hi, On Mon, 09 Sep 2024 at 11:27, Andy Tai <atai@atai.org> wrote: > A question on package definition (likely scope of guix-devel, but > anyway posted here first): > > I have updated the definition of package ddd which has libxft as > input. Libxft in turn has freefont as propagated-input. In the > definition of ddd I tried to do > > (this-package-input "freefont") > > which returns #f. I think that’s expected. ’this-package-input’ searches only in the list of ’inputs’ and ’propagated-inputs’ of the package itself and not of the inputs. Somehow, it’s not recursive and “freetype” is not an “inputs” of the package ddd. BTW, I am not sure to understand what mean a propagated-inputs in the context of a build. I mean, it sounds at run-time, not build-time. No? Do I miss something? > I had to add freefont as input to ddd to make this work. BTW, for the package ddd, is freetype an input or also a propagated-input ? > As propagated-input should be propagated, shall the addition of > freefont as input to ddd be unneeded? Well, for sure, considering the current implementation, you cannot reach the propagated-inputs of the inputs using this-package-inputs. Cheers, simon
OK I don't know if this is "implementation detail" or a bug, or is as intended, that >considering the current implementation, you cannot reach the propagated-inputs of the inputs using this-package-inputs. (seems like a bug to me) Also, would the same package be in the input list and the propagated-input list be a problem? On Fri, Sep 13, 2024 at 7:24 AM Simon Tournier <zimon.toutoune@gmail.com> wrote: > > I had to add freefont as input to ddd to make this work. > > BTW, for the package ddd, is freetype an input or also a > propagated-input ?
diff --git a/gnu/local.mk b/gnu/local.mk index ed630041ff..dbf8902cd1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1127,6 +1127,7 @@ dist_patch_DATA = \ %D%/packages/patches/dbus-c++-gcc-compat.patch \ %D%/packages/patches/dbus-c++-threading-mutex.patch \ %D%/packages/patches/dbxfs-remove-sentry-sdk.patch \ + %D%/packages/patches/ddd-build.patch \ %D%/packages/patches/debops-constants-for-external-program-names.patch \ %D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \ %D%/packages/patches/dee-vapi.patch \ diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index cc8e05746a..dd559c3faf 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -52,6 +52,7 @@ (define-module (gnu packages debug) #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages flex) + #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) #:use-module (gnu packages gdb) #:use-module (gnu packages glib) @@ -1006,23 +1007,24 @@ (define-public seer-gdb (define-public ddd (package (name "ddd") - (version "3.4.0") + (version "3.4.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/ddd/ddd-" version ".tar.gz")) + (patches (search-patches "ddd-build.patch")) (sha256 (base32 - "03sqsfiri5p130cmmzh2wikg0gisql496rvdhr1qaidh1f5bqk2x")))) + "12gfyh139rim49m56lxm36ckdyiiz4n3la3y6ik1aqgrqfk1fxdq")))) (build-system gnu-build-system) (arguments - (list #:tests? #f ;tests require manual intervention - ;; Avoid "friend declaration specifies default arguments and isn’t - ;; a definition" errors. - #:configure-flags #~(list "CXXFLAGS=-fpermissive"))) + (list #:tests? #f ;tests require manual intervention + #:configure-flags + #~(list (string-append "--with-freetype-includes=" + #$(this-package-input "freetype") "/include/freetype2")))) (native-inputs - (list pkg-config)) + (list pkg-config bison flex perl)) (inputs - (list motif ncurses gdb)) + (list libxaw libxft freetype motif ncurses gdb)) (synopsis "Graphical front-end for GDB and other debuggers") (description "GNU DDD, the Data Display Debugger, is a graphical front-end for command-line debuggers. Many back-end debuggers are supported, notably diff --git a/gnu/packages/patches/ddd-build.patch b/gnu/packages/patches/ddd-build.patch new file mode 100644 index 0000000000..d172e47168 --- /dev/null +++ b/gnu/packages/patches/ddd-build.patch @@ -0,0 +1,24 @@ +Index: ddd/Makefile.am +=================================================================== +--- old/ddd/Makefile.am (revision 7508) ++++ new/ddd/Makefile.am (working copy) +@@ -655,7 +655,7 @@ + LIBXFT = @XFT_LIBS@ -lfontconfig + + # Freetype2 headers +-XFTINCLUDE = @XFT_INCLUDE@ ++XFTINCLUDE = -I@XFT_INCLUDE@ + + # X Miscellaneous Utilities needed for Athena and Motif >= 2.0 (lXmu) + LIBXMU = @XMU_LIBS@ +--- old/ddd/Makefile.in (revision 7508) ++++ new/ddd/Makefile.in (working copy) +@@ -1307,7 +1307,7 @@ + LIBXFT = @XFT_LIBS@ -lfontconfig + + # Freetype2 headers +-XFTINCLUDE = @XFT_INCLUDE@ ++XFTINCLUDE = -I@XFT_INCLUDE@ + + # X Miscellaneous Utilities needed for Athena and Motif >= 2.0 (lXmu) + LIBXMU = @XMU_LIBS@