diff mbox series

[bug#73137] gnu: ddd: Update to 3.4.1.

Message ID b0760ae63d9ea43a6ff6bac6557cfbc2c59437aa.1725863812.git.atai@atai.org
State New
Headers show
Series [bug#73137] gnu: ddd: Update to 3.4.1. | expand

Commit Message

Andy Tai Sept. 9, 2024, 6:37 a.m. UTC
* gnu/packages/debug.scm (ddd): Update to 3.4.1.
[source](origin): Add new patch to fix build.
[arguments]<#:configure-flags>: Add explicit flag fir freetype
include path.
[native-inputs]: Add bison, flex and perl.
[inputs]: Add freetype, libxaw, and libxft.
* gnu/packages/patches/ddd-build.patch: New file.
* gnu/local.mk: Register new file.

Change-Id: Ic305cc0c7e15d0f0565f2adde514a43497e11f98
---
 gnu/local.mk                         |  1 +
 gnu/packages/debug.scm               | 18 ++++++++++--------
 gnu/packages/patches/ddd-build.patch | 24 ++++++++++++++++++++++++
 3 files changed, 35 insertions(+), 8 deletions(-)
 create mode 100644 gnu/packages/patches/ddd-build.patch


base-commit: 056910ec864cb7cf3225a0c27679d94405db7dcd

Comments

Andy Tai Sept. 9, 2024, 6:27 p.m. UTC | #1
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?
Simon Tournier Sept. 9, 2024, 7:24 p.m. UTC | #2
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
Andy Tai Sept. 10, 2024, 4:08 p.m. UTC | #3
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
Simon Tournier Sept. 10, 2024, 5:14 p.m. UTC | #4
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
Andy Tai Sept. 16, 2024, 8:51 p.m. UTC | #5
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 mbox series

Patch

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@