diff options
| author | Hugo Buddelmeijer <hugo@buddelmeijer.nl> | 2025-10-26 22:06:09 +0100 |
|---|---|---|
| committer | Sharlatan Hellseher <sharlatanus@gmail.com> | 2026-05-24 10:14:46 +0100 |
| commit | 9335ea58aff5417c55e9d62e59febfec16ed000f (patch) | |
| tree | 35e8241e9204286495d88676e08edc9f5edd586e /gnu/packages/image.scm | |
| parent | 9d13ce51c4278401d18d5b1184e21716d05a88cb (diff) | |
gnu: mypaint: Update to 2.0.1-0.35aa9d3.
* gnu/packages/image.scm (mypaint): Update to
35aa9d33cd3deba6cafea6d8fc901b5a1d161ceb commit.
Use G-expressions.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments] <imported-modules, modules>: Switch to pyproject-build-system.
<tests?>: Enable.
<phases>: Remove 'python3.11-compatibility; add 'move-assets-to-data.
[native-inputs]: Remove swig-4.0; add python-pytest, python-setuptools,
and swig.
[inputs]: Remove libmypain; add gdk-pixbuf, libmypaint-next, and libpng.
[home-page]: Use HTTPS.
Merges: https://codeberg.org/guix/guix/pulls/3878
Change-Id: Ic342c02467b3f75a796698c030ef4f937a91e25a
Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Diffstat (limited to 'gnu/packages/image.scm')
| -rw-r--r-- | gnu/packages/image.scm | 132 |
1 files changed, 72 insertions, 60 deletions
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index d69b7ad3014..027df968dc4 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm | |||
| @@ -29,7 +29,7 @@ | |||
| 29 | ;;; Copyright © 2020, 2025 Janneke Nieuwenhuizen <janneke@gnu.org> | 29 | ;;; Copyright © 2020, 2025 Janneke Nieuwenhuizen <janneke@gnu.org> |
| 30 | ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> | 30 | ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> |
| 31 | ;;; Copyright © 2020, 2021, 2022, 2023, 2024 Vinicius Monego <monego@posteo.net> | 31 | ;;; Copyright © 2020, 2021, 2022, 2023, 2024 Vinicius Monego <monego@posteo.net> |
| 32 | ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> | 32 | ;;; Copyright © 2021, 2026 Sharlatan Hellseher <sharlatanus@gmail.com> |
| 33 | ;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz> | 33 | ;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz> |
| 34 | ;;; Copyright © 2021 Alexandr Vityazev <avityazev@posteo.org> | 34 | ;;; Copyright © 2021 Alexandr Vityazev <avityazev@posteo.org> |
| 35 | ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> | 35 | ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> |
| @@ -42,8 +42,9 @@ | |||
| 42 | ;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com> | 42 | ;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com> |
| 43 | ;;; Copyright © 2025 Jake Forster <jakecameron.forster@gmail.com> | 43 | ;;; Copyright © 2025 Jake Forster <jakecameron.forster@gmail.com> |
| 44 | ;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr> | 44 | ;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr> |
| 45 | ;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu> | ||
| 46 | ;;; Copyright © 2025 Junker <dk@junkeria.club> | 45 | ;;; Copyright © 2025 Junker <dk@junkeria.club> |
| 46 | ;;; Copyright © 2025 Hugo Buddelmeijer <hugo@buddelmeijer.nl> | ||
| 47 | ;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu> | ||
| 47 | ;;; | 48 | ;;; |
| 48 | ;;; This file is part of GNU Guix. | 49 | ;;; This file is part of GNU Guix. |
| 49 | ;;; | 50 | ;;; |
| @@ -129,7 +130,6 @@ | |||
| 129 | #:use-module (guix build-system guile) | 130 | #:use-module (guix build-system guile) |
| 130 | #:use-module (guix build-system meson) | 131 | #:use-module (guix build-system meson) |
| 131 | #:use-module (guix build-system pyproject) | 132 | #:use-module (guix build-system pyproject) |
| 132 | #:use-module (guix build-system python) | ||
| 133 | #:use-module (guix build-system qt) | 133 | #:use-module (guix build-system qt) |
| 134 | #:use-module (guix build-system scons) | 134 | #:use-module (guix build-system scons) |
| 135 | #:use-module (guix deprecation) | 135 | #:use-module (guix deprecation) |
| @@ -3044,77 +3044,89 @@ GIF, TIFF, WEBP, BMP, PNG, XPM formats.") | |||
| 3044 | (define-public mypaint | 3044 | (define-public mypaint |
| 3045 | (package | 3045 | (package |
| 3046 | (name "mypaint") | 3046 | (name "mypaint") |
| 3047 | (version "2.0.1") | 3047 | ;; The latest changes contains support for Python 3.12+. |
| 3048 | (source (origin | 3048 | (properties '((commit . "35aa9d33cd3deba6cafea6d8fc901b5a1d161ceb") |
| 3049 | (method url-fetch) | 3049 | (revision . "0"))) |
| 3050 | (uri (string-append "https://github.com/mypaint/mypaint/" | 3050 | (version (git-version "2.0.1" |
| 3051 | "releases/download/v" version "/mypaint-" | 3051 | (assoc-ref properties 'revision) |
| 3052 | version ".tar.xz")) | 3052 | (assoc-ref properties 'commit))) |
| 3053 | (sha256 | 3053 | (source |
| 3054 | (base32 | 3054 | (origin |
| 3055 | "05mvay73vb9d2sh1ckv4vny45n059dmsps1jcppjizfmrpbkgr7k")))) | 3055 | (method git-fetch) |
| 3056 | (build-system python-build-system) | 3056 | (uri (git-reference |
| 3057 | (url "https://github.com/mypaint/mypaint") | ||
| 3058 | (commit (assoc-ref properties 'commit)))) | ||
| 3059 | (file-name (git-file-name name version)) | ||
| 3060 | (sha256 | ||
| 3061 | (base32 "1p1i799dzpx0zr7chkz0pjdq9l32ahckgyagbiw82c27mwxqabfh")))) | ||
| 3062 | (build-system pyproject-build-system) | ||
| 3057 | (arguments | 3063 | (arguments |
| 3058 | `(#:imported-modules ((guix build glib-or-gtk-build-system) | 3064 | (list |
| 3059 | ,@%python-build-system-modules) | 3065 | #:imported-modules `(,@%pyproject-build-system-modules |
| 3060 | #:modules ((guix build python-build-system) | 3066 | (guix build glib-or-gtk-build-system)) |
| 3067 | #:modules '((guix build pyproject-build-system) | ||
| 3061 | ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) | 3068 | ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) |
| 3062 | (guix build utils)) | 3069 | (guix build utils)) |
| 3063 | ;; XXX: Tests are not discovered. | 3070 | #:phases |
| 3064 | #:tests? #false | 3071 | #~(modify-phases %standard-phases |
| 3065 | #:phases | 3072 | (add-after 'install 'move-assets-to-data |
| 3066 | (modify-phases %standard-phases | 3073 | ;; XXX: Check why. |
| 3067 | (add-after 'unpack 'python3.11-compatibility | 3074 | ;; |
| 3068 | (lambda _ | 3075 | ;; ERROR: gui.application: Missing icon 'org.mypaint.MyPaint': |
| 3069 | (substitute* "setup.py" | 3076 | ;; check that mypaint icons have been installed into |
| 3070 | (("\"rU\"") "\"r\"") | 3077 | ;; /gnu/store/<...>/data/icons |
| 3071 | (("test_suite='tests'.*") "")) | 3078 | ;; |
| 3072 | (substitute* "setup.cfg" | 3079 | ;; gi.repository.GLib.GError: g-file-error-quark: Failed to open |
| 3073 | (("install-") "install_")) | 3080 | ;; file |
| 3074 | ;; This file makes Python confuse it for a module, so we rename | 3081 | ;; “/gnu/store/<...>/data/mypaint/pixmaps/cursor_color_picker.png”: |
| 3075 | ;; it. | 3082 | ;; No such file or directory (4) |
| 3076 | (rename-file "lib/xml.py" "lib/xmlo.py") | 3083 | (lambda _ |
| 3077 | (substitute* (find-files "." "\\.py$") | 3084 | (let* ((data (string-append #$output "/data")) |
| 3078 | (("lib.xml") "lib.xmlo")) | 3085 | (data-icons (string-append data "/icons")) |
| 3079 | ;; This procedure has been removed. | 3086 | (data-mypaint (string-append data "/mypaint")) |
| 3080 | (substitute* "lib/gettext_setup.py" | 3087 | (icons (string-append #$output "/icons")) |
| 3081 | (("c = gettext.bind_textdomain_codeset.*") "c = True\n")))) | 3088 | (mypaint (string-append #$output "/mypaint"))) |
| 3082 | (add-after 'install 'glib-or-gtk-wrap | 3089 | (mkdir-p data-icons) |
| 3083 | (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)) | 3090 | (mkdir-p data-mypaint) |
| 3084 | (add-after 'install 'wrap-program | 3091 | (copy-recursively icons data-icons) |
| 3085 | (lambda* (#:key outputs inputs #:allow-other-keys) | 3092 | (copy-recursively mypaint data-mypaint) |
| 3086 | (let* ((out (assoc-ref outputs "out")) | 3093 | (delete-file-recursively icons) |
| 3087 | (gdk-pixbuf (assoc-ref inputs "gdk-pixbuf")) | 3094 | (delete-file-recursively mypaint)))) |
| 3088 | (gtk+ (assoc-ref inputs "gtk+"))) | 3095 | (add-after 'install 'glib-or-gtk-wrap |
| 3089 | ;; This is replaced with an invalid shebang. | 3096 | (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)) |
| 3090 | (substitute* (string-append out "/bin/mypaint") | 3097 | (add-after 'install 'wrap-program |
| 3091 | (("#!python") | 3098 | (lambda* (#:key outputs inputs #:allow-other-keys) |
| 3092 | (string-append "#!" (which "python3")))) | 3099 | (wrap-program (string-append #$output "/bin/mypaint") |
| 3093 | (wrap-program (string-append out "/bin/mypaint") | 3100 | `("GI_TYPELIB_PATH" ":" prefix |
| 3094 | `("GI_TYPELIB_PATH" ":" prefix | 3101 | (,(getenv "GI_TYPELIB_PATH")))))) |
| 3095 | (,(getenv "GI_TYPELIB_PATH"))))))) | 3102 | (add-before 'check 'pre-check |
| 3096 | (add-before 'check 'pre-check | 3103 | (lambda _ |
| 3097 | (lambda _ | 3104 | ;; Need to get the 'lib' in 'build/'. |
| 3098 | ;; Tests need writing access | 3105 | (delete-file-recursively "lib") |
| 3099 | (setenv "HOME" "/tmp")))))) | 3106 | ;; Tests need writing access |
| 3107 | (setenv "HOME" "/tmp")))))) | ||
| 3100 | (native-inputs | 3108 | (native-inputs |
| 3101 | (list pkg-config | 3109 | (list gettext-minimal |
| 3102 | gobject-introspection | 3110 | gobject-introspection |
| 3103 | swig-4.0 | 3111 | pkg-config |
| 3104 | gettext-minimal)) | 3112 | python-pytest |
| 3113 | python-setuptools | ||
| 3114 | swig)) | ||
| 3105 | (inputs | 3115 | (inputs |
| 3106 | (list bash-minimal | 3116 | (list bash-minimal |
| 3117 | gdk-pixbuf | ||
| 3107 | gtk+ | 3118 | gtk+ |
| 3108 | (librsvg-for-system) | ||
| 3109 | hicolor-icon-theme | 3119 | hicolor-icon-theme |
| 3110 | libmypaint | ||
| 3111 | mypaint-brushes | ||
| 3112 | json-c | 3120 | json-c |
| 3113 | lcms | 3121 | lcms |
| 3122 | libmypaint-next | ||
| 3123 | libpng | ||
| 3124 | (librsvg-for-system) | ||
| 3125 | mypaint-brushes | ||
| 3114 | python-numpy | 3126 | python-numpy |
| 3115 | python-pycairo | 3127 | python-pycairo |
| 3116 | python-pygobject)) | 3128 | python-pygobject)) |
| 3117 | (home-page "http://mypaint.org/") | 3129 | (home-page "https://mypaint.org/") |
| 3118 | (synopsis "Fast and simple painting app for artists") | 3130 | (synopsis "Fast and simple painting app for artists") |
| 3119 | (description | 3131 | (description |
| 3120 | "MyPaint is a simple drawing and painting program that works well with | 3132 | "MyPaint is a simple drawing and painting program that works well with |
