@@ -2,7 +2,7 @@
;;; Copyright © 2015, 2017, 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
-;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020, 2021, 2022, 2024 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
;;;
;;; This file is part of GNU Guix.
@@ -30,10 +30,12 @@ (define-module (gnu packages animation)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
+ #:use-module (guix build-system qt)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages backup)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@@ -49,6 +51,7 @@ (define-module (gnu packages animation)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages jemalloc)
+ #:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages mp3)
#:use-module (gnu packages networking)
#:use-module (gnu packages pcre)
@@ -56,6 +59,7 @@ (define-module (gnu packages animation)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages sdl)
#:use-module (gnu packages tls)
@@ -356,6 +360,65 @@ (define-public lightspark
license:bsd-2 ;jxrlib
license:expat)))) ;pugixml, PerlinNoise
+(define-public glaxnimate
+ (package
+ (name "glaxnimate")
+ (version "0.5.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://invent.kde.org/graphics/glaxnimate.git/")
+ (commit version)
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0a42nxx7cpd902ssjc5d01d3svxc28wk0d1k9191rnsg0w4wk0gj"))
+ (modules '((guix build utils)))
+ ;; Some of the submodules are developed in-house. Delete those
+ ;; that we have packaged.
+ ;; TODO: Try to unbundle pybind11.
+ (snippet '(begin
+ (delete-file-recursively "data/icons/breeze-icons")
+ (delete-file-recursively "external/potrace")))))
+ (build-system qt-build-system)
+ (arguments
+ (list
+ #:configure-flags #~(list "-DQT_VERSION_MAJOR=6")
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Glaxnimate copies breeze icons from a submodule. Use icons from
+ ;; our package instead.
+ (add-after 'unpack 'use-system-icons
+ (lambda _
+ (mkdir-p "data/icons/breeze-icons")
+ (symlink (string-append #$(this-package-input "breeze-icons")
+ "/share/icons/breeze")
+ "data/icons/breeze-icons/icons")
+ (symlink (string-append #$(this-package-input "breeze-icons")
+ "/share/icons/breeze-dark")
+ "data/icons/breeze-icons/icons-dark")))
+ ;; Must run 'make translations' before 'make install', see
+ ;; https://gitlab.com/mattbas/glaxnimate/-/issues/648
+ (add-before 'install 'make-translations
+ (lambda _
+ (invoke "make" "translations"))))))
+ (native-inputs (list qttools-5))
+ (inputs (list breeze-icons
+ ffmpeg
+ libarchive
+ potrace
+ python
+ qtbase-5
+ qtimageformats-5
+ qtsvg-5
+ zlib))
+ (home-page "https://glaxnimate.mattbas.org/")
+ (synopsis "Vector graphics animation program")
+ (description "Glaxnimate is a vector graphics animation program.")
+ (license license:gpl3+)))
+
(define-public papagayo
(let ((commit "e143684b30e59fe4a554f965cb655d23cbe93ee7")
(revision "1"))