GNU bug report logs - #78622
[PATCH 0/2] gnu: Update tuxpaint.

Previous Next

Package: guix-patches;

Reported by: Eric Bavier <bavier <at> posteo.net>

Date: Thu, 29 May 2025 04:10:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 78622 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org:
bug#78622; Package guix-patches. (Thu, 29 May 2025 04:10:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Eric Bavier <bavier <at> posteo.net>:
New bug report received and forwarded. Copy sent to adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org. (Thu, 29 May 2025 04:10:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Eric Bavier <bavier <at> posteo.net>
To: guix-patches <at> gnu.org
Cc: Eric Bavier <bavier <at> posteo.net>
Subject: [PATCH 0/2] gnu: Update tuxpaint.
Date: Thu, 29 May 2025 04:08:13 +0000
This patch series updates our tuxpaint, tuxpaint-config, and
tuxpaint-stamps packages to their latest.  A prerequisite is
adding the `sdl2-pango` package, which is evidently not being
used by other packages yet.

Eric Bavier (2):
  gnu: Add sdl2-pango.
  gnu: Update tuxpaint.

 gnu/packages/games.scm                        | 158 +++++++++---------
 .../patches/tuxpaint-stamps-path.patch        |  18 +-
 gnu/packages/sdl.scm                          |  28 ++++
 3 files changed, 116 insertions(+), 88 deletions(-)


base-commit: 5bcd765f95e1c6acf64a58aab539db0e019c8bd8
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#78622; Package guix-patches. (Thu, 29 May 2025 04:12:01 GMT) Full text and rfc822 format available.

Message #8 received at 78622 <at> debbugs.gnu.org (full text, mbox):

From: Eric Bavier <bavier <at> posteo.net>
To: 78622 <at> debbugs.gnu.org
Cc: Eric Bavier <bavier <at> posteo.net>
Subject: [PATCH 1/2] gnu: Add sdl2-pango.
Date: Thu, 29 May 2025 04:10:54 +0000
* gnu/packages/sdl.scm (sdl2-pango): New variable.

Change-Id: I87a2fe0c0fefea7c39e9494acc5cc2bd5c782bb3
---
 gnu/packages/sdl.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index ee6c1d11fd..da16c1b973 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -17,6 +17,7 @@
 ;;; Copyright © 2023 Evgeny Pisemsky <mail <at> pisemsky.site>
 ;;; Copyright © 2023, 2024 dan <i <at> dan.games>
 ;;; Copyright © 2025 Zheng Junjie <873216071 <at> qq.com>
+;;; Copyright © 2025 Eric Bavier <bavier <at> posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -519,6 +520,33 @@ (define-public sdl-pango
 tagged text in SDL applications.")
     (license license:lgpl2.1)))
 
+(define-public sdl2-pango
+  (package
+    (name "sdl2-pango")
+    (version "2.1.5")
+    (home-page "https://github.com/markuskimius/SDL2_Pango")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0ivngl3bsy2aq8pqdh96nzrfnln6linz50mp5bpb9wv2bk5gj8pi"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags (list "--disable-static")))
+    (native-inputs
+     (list autoconf automake libtool pkg-config))
+    (inputs
+     (list freetype pango sdl2))
+    (synopsis "Pango SDL2 binding")
+    (description "This library is a wrapper around the Pango library.
+It allows you to use TrueType fonts to render internationalized and
+tagged text in SDL2 applications.")
+    (license license:lgpl2.1)))
+
 (define-public sdl-ttf
   (package
     (name "sdl-ttf")
-- 
2.49.0





Information forwarded to adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org:
bug#78622; Package guix-patches. (Thu, 29 May 2025 04:12:02 GMT) Full text and rfc822 format available.

Message #11 received at 78622 <at> debbugs.gnu.org (full text, mbox):

From: Eric Bavier <bavier <at> posteo.net>
To: 78622 <at> debbugs.gnu.org
Cc: Eric Bavier <bavier <at> posteo.net>
Subject: [PATCH 2/2] gnu: Update tuxpaint.
Date: Thu, 29 May 2025 04:10:55 +0000
And related packages tuxpaint-stamps and tuxpaint-config.

* gnu/packages/games.scm (tuxpaint): Update to 0.9.34.
[native-inputs]: Add imagemagick.
[inputs]: Add libimagequant and pango.  Use SDL2.
[arguments]: Use gexps.
[home-page]: Replace with redirection.
(tuxpaint-stamps): Update to 2024.10.25.  Use copy-build-system.
(tuxpaint-config): Update to 0.0.25.
[native-inputs]: Add pkg-config.
[inputs]: Add libunibreak and pango.
* gnu/packages/patches/tuxpaint-stamps-path.patch: Adapt to latest source.

Change-Id: I815b4982226bc6533c45074869d6bac1d0b4fbf9
---
 gnu/packages/games.scm                        | 158 +++++++++---------
 .../patches/tuxpaint-stamps-path.patch        |  18 +-
 2 files changed, 88 insertions(+), 88 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 97bc34e5be..0c165ce602 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -6606,76 +6606,86 @@ (define-public tuxemon
 (define-public tuxpaint
   (package
     (name "tuxpaint")
-    (version "0.9.23")                  ;keep VER_DATE below in sync
+    (version "0.9.34") ;keep VER_DATE below in sync
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://sourceforge/tuxpaint/tuxpaint/"
-                           version "/tuxpaint-" version ".tar.gz"))
+       (uri (string-append "mirror://sourceforge/tuxpaint/tuxpaint/" version
+                           "/tuxpaint-" version ".tar.gz"))
        (sha256
-        (base32
-         "09k9pxi88r3dx6dyjwf9h85d4qpva4i29qz63dc558hg9v21k69l"))
+        (base32 "00zdf3iza3qrbwmwn9q5fw5z29i1pw63xaq9d15f1ac6sdgdyqdp"))
        (modules '((guix build utils)))
-       (snippet
-        '(begin
-           ;; Remove win32 directory which contains binary dll's and the
-           ;; deprecated visualc directory.
-           (for-each delete-file-recursively '("win32" "visualc"))
-           (substitute* "Makefile"
-             ;; Do not rely on $(GPERF) being an absolute file name
-             (("\\[ -x \\$\\(GPERF\\) \\]")
-              "$(GPERF) --version >/dev/null 2>&1"))
-           #t))
+       (snippet '(begin
+                   ;; Remove win32 directory which contains binary dll's and the
+                   ;; deprecated visualc directory.
+                   (for-each delete-file-recursively
+                             '("win32" "visualc"))
+                   (substitute* "Makefile"
+                     ;; Do not rely on $(GPERF) being an absolute file name
+                     (("\\[ -x \\$\\(GPERF\\) \\]")
+                      "$(GPERF) --version >/dev/null 2>&1")) #t))
        (patches (search-patches "tuxpaint-stamps-path.patch"))))
     (build-system gnu-build-system)
-    (native-inputs
-     (list gperf pkg-config))
-    (inputs
-     (list bash-minimal
-           cairo
-           fribidi
-           gettext-minimal
-           libpng
-           (librsvg-for-system)
-           libpaper
-           netpbm
-           (sdl-union (list sdl sdl-mixer sdl-ttf sdl-image))))
+    (native-inputs (list gperf imagemagick pkg-config))
+    (inputs (list bash-minimal
+                  cairo
+                  fribidi
+                  gettext-minimal
+                  libimagequant
+                  libpng
+                  (librsvg-for-system)
+                  libpaper
+                  netpbm
+                  pango
+                  sdl2
+                  sdl2-gfx
+                  sdl2-image
+                  sdl2-mixer
+                  sdl2-pango
+                  sdl2-ttf))
     ;; TODO: Use system fonts rather than those in data/fonts
     (arguments
-     `(#:make-flags `("VER_DATE=2018-09-02"
-                      "GPERF=gperf" "CC=gcc"
-                      "SDL_PCNAME=sdl SDL_image SDL_mixer SDL_ttf"
-                      ,(string-append "PREFIX=" %output)
-                      "KDE_PREFIX=$(PREFIX)/share/applications"
-                      "KDE_ICON_PREFIX=$(PREFIX)/share/icons/"
-                      "COMPLETIONDIR=$(PREFIX)/etc/bash_completion.d")
-       #:parallel-build? #f             ;fails on some systems
-       #:tests? #f                      ;No tests
-       #:phases (modify-phases %standard-phases
-                  (delete 'configure)   ;no configure phase
-                  (add-before 'install 'no-sys-cache
-                    (lambda _           ;do not rebuild system conf cache
-                      (substitute* "Makefile"
-                        (("kbuildsycoca4") ""))))
-                  (add-after 'install 'fix-import
-                    (lambda* (#:key inputs outputs #:allow-other-keys)
-                      (let* ((out (assoc-ref outputs "out"))
-                             (net (assoc-ref inputs "netpbm"))
-                             (tpi (string-append out "/bin/tuxpaint-import")))
-                        (substitute* tpi
-                          ;; Point to installation prefix so that the default
-                          ;; configure file is found.
-                          (("/usr/local") out))
-                        ;; tuxpaint-import uses a bunch of programs from
-                        ;; netpbm, so make sure it knows where those are
-                        (wrap-program tpi
-                          `("PATH" ":" prefix
-                            (,(string-append net "/bin"))))))))))
+     (list
+      #:make-flags
+      #~(list "VER_DATE=2024-10-25"
+              "GPERF=gperf"
+              (string-append "CC="
+                             #$(cc-for-target))
+              "SDL_PCNAME=sdl2 SDL2_image SDL2_mixer SDL2_ttf SDL2_gfx"
+              (string-append "PREFIX="
+                             #$output)
+              "KDE_PREFIX=$(PREFIX)/share/applications"
+              "KDE_ICON_PREFIX=$(PREFIX)/share/icons/"
+              "COMPLETIONDIR=$(PREFIX)/etc/bash_completion.d")
+      #:parallel-build? #f              ;fails on some systems
+      #:tests? #f                       ;No tests
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'configure) ;no configure phase
+          (add-before 'install 'no-sys-cache
+            (lambda _
+               ;do not rebuild system conf cache
+              (substitute* "Makefile"
+                (("kbuildsycoca4")
+                 ""))))
+          (add-after 'install 'fix-import
+            (lambda _
+              (let* ((tpi (string-append #$output "/bin/tuxpaint-import")))
+                (substitute* tpi
+                  ;; Point to installation prefix so that the default
+                  ;; configure file is found.
+                  (("/usr/local")
+                   #$output))
+                ;; tuxpaint-import uses a bunch of programs from
+                ;; netpbm, so make sure it knows where those are
+                (wrap-program tpi
+                  `("PATH" ":" prefix
+                    (,(string-append #$(this-package-input "netpbm") "/bin"))))))))))
     (native-search-paths
      (list (search-path-specification
             (variable "TUXPAINT_STAMPS_PATH")
             (files '("share/tuxpaint/stamps")))))
-    (home-page "http://www.tuxpaint.org")
+    (home-page "https://tuxpaint.org")
     (synopsis "Drawing software for children")
     (description
      "Tux Paint is a free drawing program designed for young children (kids
@@ -6688,7 +6698,7 @@ (define-public tuxpaint
 (define-public tuxpaint-stamps
   (package
     (name "tuxpaint-stamps")
-    (version "2018.09.01")
+    (version "2024.10.25")
     (source
      (origin
        (method url-fetch)
@@ -6697,24 +6707,9 @@ (define-public tuxpaint-stamps
                            "/tuxpaint-stamps-" version ".tar.gz"))
        (sha256
         (base32
-         "1skr23k27yj3vgwfazpzxp90lb2a278gxrkr3bxw7az6zpkmb3yp"))))
-    (build-system trivial-build-system)
-    (native-inputs
-     (list tar gzip))
-    (arguments
-     `(#:modules ((guix build utils))
-       #:builder (begin
-                   (use-modules (guix build utils))
-                   (setenv "PATH"
-                           (string-append
-                            (assoc-ref %build-inputs "tar") "/bin" ":"
-                            (assoc-ref %build-inputs "gzip") "/bin"))
-                   (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
-                   (chdir (string-append ,name "-" ,version))
-                   (let ((dir (string-append %output "/share/tuxpaint/stamps")))
-                     (mkdir-p dir)
-                     (copy-recursively "stamps" dir))
-                   #t)))
+         "19vng3h6icd7zs2arfmkcg4w7snsw5syx956ww05xgvwll9s2hal"))))
+    (build-system copy-build-system)
+    (arguments (list #:install-plan #~'(("stamps" "share/tuxpaint/"))))
     (home-page (package-home-page tuxpaint))
     (synopsis "Stamp images for Tux Paint")
     (description
@@ -6725,7 +6720,7 @@ (define-public tuxpaint-stamps
 (define-public tuxpaint-config
   (package
     (name "tuxpaint-config")
-    (version "0.0.14")                  ;keep VER_DATE below in sync
+    (version "0.0.25")                  ;keep VER_DATE below in sync
     (source
      (origin
        (method url-fetch)
@@ -6733,19 +6728,20 @@ (define-public tuxpaint-config
                            version "/tuxpaint-config-" version ".tar.gz"))
        (sha256
         (base32
-         "0zkgxk436nqcp43zghkfmh397c7dvh5bwn2as7gwvv208bzyij6g"))))
+         "16awjwxr2wf6v05wr2z01kgnah2nwwk9k5y25fb3lawnzy0aqild"))))
     (build-system gnu-build-system)
-    (native-inputs
-     `(("gettext" ,gettext-minimal)))
+    (native-inputs (list gettext-minimal pkg-config))
     (inputs
      (list fltk
            libpaper
+           libunibreak
+           pango
            ;; TODO: Should the following be propagated by fltk?
            libx11
            libxft
            mesa))
     (arguments
-     `(#:make-flags `("VER_DATE=2018-09-01"
+     `(#:make-flags `("VER_DATE=2024-11-15"
                       "CONFDIR=/etc/tuxpaint" ;don't write to store
                       ,(string-append "PREFIX=" %output)
                       "GNOME_PREFIX=$(PREFIX)")
diff --git a/gnu/packages/patches/tuxpaint-stamps-path.patch b/gnu/packages/patches/tuxpaint-stamps-path.patch
index 599a33c458..65ab826ae4 100644
--- a/gnu/packages/patches/tuxpaint-stamps-path.patch
+++ b/gnu/packages/patches/tuxpaint-stamps-path.patch
@@ -1,7 +1,10 @@
---- tuxpaint-0.9.22/src/tuxpaint.c
-+++ tuxpaint-0.9.22/src/tuxpaint.c
-@@ -7474,11 +7474,21 @@
- static void load_stamps(SDL_Surface * screen)
+This patch allows tuxpaint to load stamps from multiple sources, and allows
+Guix's packages to remain loosely coupled.
+
+--- tuxpaint-0.9.34/src/tuxpaint.c
++++ tuxpaint-0.9.34/src/tuxpaint.c
+@@ -9426,12 +9426,22 @@
+ static void load_stamps(SDL_Surface *screen)
  {
    char *homedirdir = get_fname("stamps", DIR_DATA);
 +  char *stamps_path = getenv("TUXPAINT_STAMPS_PATH");
@@ -9,6 +12,7 @@
    default_stamp_size = compute_default_scale_factor(1.0);
  
    load_stamp_dir(screen, homedirdir);
+ #ifndef __ANDROID__
    load_stamp_dir(screen, DATA_PREFIX "stamps");
 +  /* Load any stamps in TUXPAINT_STAMPS_PATH */
 +  if (stamps_path) {
@@ -19,6 +23,6 @@
 +      token = strtok(NULL, ":");
 +    }
 +  }
- #ifdef __APPLE__
-   load_stamp_dir(screen, "/Library/Application Support/TuxPaint/stamps");
- #endif
+ #else
+   load_stamp_dir(screen, "stamps/animals");
+   load_stamp_dir(screen, "stamps/cartoon/tux");
-- 
2.49.0





This bug report was last modified 8 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.