[PATCH] gnu: xaos: Update to 4.0.

DoneSubmitted by Kei Kebreau.
Details
3 participants
  • Kei Kebreau
  • Leo Famulari
  • Marius Bakke
Owner
unassigned
Severity
normal
K
K
Kei Kebreau wrote on 27 May 2020 04:10
(address . guix-patches@gnu.org)(name . Kei Kebreau)(address . kkebreau@posteo.net)
20200527021008.29726-1-kkebreau@posteo.net
* gnu/packages/maths.scm (xaos): Update to 4.0.
[source]: Use git-fetch.
[native-inputs]: Add qtbase and qttools.
[arguments]: Remove #:make-flags options; replace 'configure' phase and add
'install-data' phase.
[home-page]: Update URL.
---
gnu/packages/maths.scm | 50 +++++++++++++++++++++++++++++++++++-------
1 file changed, 42 insertions(+), 8 deletions(-)

Toggle diff (79 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 3424aaa15e..2e648e3665 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4036,30 +4036,64 @@ evaluates expressions using the standard order of operations.")
 (define-public xaos
   (package
     (name "xaos")
-    (version "3.6")
+    (version "4.0")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://sourceforge/xaos/XaoS/" version
-                                  "/xaos-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/xaos-project/XaoS")
+                    (commit (string-append "release-" version))))
               (sha256
                (base32
-                "15cd1cx1dyygw6g2nhjqq3bsfdj8sj8m4va9n75i0f3ryww3x7wq"))))
+                "00110p5xscjsmn7avfqgydn656zbmdj3l3y2fpv9b4ihzpid8n7a"))))
     (build-system gnu-build-system)
-    (native-inputs `(("gettext" ,gettext-minimal)))
+    (native-inputs `(("gettext" ,gettext-minimal)
+                     ("qtbase" ,qtbase)
+                     ("qttools" ,qttools)))
     (inputs `(("libx11" ,libx11)
               ("zlib" ,zlib)
               ("libpng" ,libpng)
               ("gsl" ,gsl)))
+    ;; The upstream project file ("XaoS.pro") and the Makefile it generates are
+    ;; not enough for this package to install properly.  These phases fix that.
     (arguments
      `(#:tests? #f ;no "check" target
-       #:make-flags '("LOCALEDIR=$DATAROOTDIR/locale")))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               ;; The DESTDIR is originally set to install the xaos binary to
+               ;; the "bin" folder inside the build directory.  Setting make
+               ;; flags doesn't seem to change this.
+               (substitute* "XaoS.pro"
+                 (("DESTDIR.*$")
+                  (string-append "DESTDIR=" out "/bin")))
+               (substitute* "src/include/config.h"
+                 (("/usr/share/XaoS")
+                  (string-append out "/share/XaoS")))
+               (invoke "qmake"))))
+         (add-after 'install 'install-data
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (share (string-append out "/share")))
+               (mkdir-p share)
+               (for-each
+                (lambda (folder)
+                  (copy-recursively folder
+                                    (string-append share "/XaoS/" folder)))
+                '("catalogs" "examples" "tutorial"))
+               (install-file "xdg/xaos.png"
+                             (string-append share "/pixmaps"))
+               (install-file "xdg/xaos.desktop"
+                             (string-append share "/applications")))
+             #t)))))
     (synopsis "Real-time fractal zoomer")
     (description "GNU XaoS is a graphical program that generates fractal
 patterns and allows you to zoom in and out of them infinitely in a fluid,
 continuous manner.  It also includes tutorials that help to explain how fractals
 are built.  It can generate many different fractal types such as the Mandelbrot
 set.")
-    (home-page "https://www.gnu.org/software/xaos/")
+    (home-page "https://xaos-project.github.io/")
     (license license:gpl2+)))
 
 (define-public hypre
-- 
2.26.2
L
L
Leo Famulari wrote on 28 May 2020 19:55
(name . Kei Kebreau)(address . kkebreau@posteo.net)(address . 41555@debbugs.gnu.org)
20200528175505.GB23745@jasmine.lan
On Tue, May 26, 2020 at 10:10:08PM -0400, Kei Kebreau wrote:
Toggle quote (7 lines)
> * gnu/packages/maths.scm (xaos): Update to 4.0.
> [source]: Use git-fetch.
> [native-inputs]: Add qtbase and qttools.
> [arguments]: Remove #:make-flags options; replace 'configure' phase and add
> 'install-data' phase.
> [home-page]: Update URL.

LGTM, thanks Kei!
K
(name . Leo Famulari)(address . leo@famulari.name)(address . 41555-done@debbugs.gnu.org)
5347e92a53aab3d3b788348795cd0efdadfb92b4.camel@posteo.net
On Thu, 2020-05-28 at 13:55 -0400, Leo Famulari wrote:
Toggle quote (11 lines)
> On Tue, May 26, 2020 at 10:10:08PM -0400, Kei Kebreau wrote:
> > * gnu/packages/maths.scm (xaos): Update to 4.0.
> > [source]: Use git-fetch.
> > [native-inputs]: Add qtbase and qttools.
> > [arguments]: Remove #:make-flags options; replace 'configure' phase
> > and add
> > 'install-data' phase.
> > [home-page]: Update URL.
>
> LGTM, thanks Kei!

Thanks for the review!

FYI, I added a 'make-qt-deterministic' phase which sets the environment
variable QT_RCC_SOURCE_DATE_OVERRIDE to 1 to remove a non-determinism
issue.

Anyway, this has been pushed to master as 49de32748d.
Closed
L
L
Leo Famulari wrote on 30 May 2020 19:11
(name . Kei)(address . kkebreau@posteo.net)(address . 41555-done@debbugs.gnu.org)
20200530171158.GD25025@jasmine.lan
On Fri, May 29, 2020 at 08:11:43PM -0400, Kei wrote:
Toggle quote (6 lines)
> Thanks for the review!
>
> FYI, I added a 'make-qt-deterministic' phase which sets the environment
> variable QT_RCC_SOURCE_DATE_OVERRIDE to 1 to remove a non-determinism
> issue.

Nice! There is a qt-build-system now. Should we add that to it?
Closed
M
M
Marius Bakke wrote on 30 May 2020 19:26
(address . 41555-done@debbugs.gnu.org)
871rn1z64d.fsf@gnu.org
Leo Famulari <leo@famulari.name> writes:

Toggle quote (9 lines)
> On Fri, May 29, 2020 at 08:11:43PM -0400, Kei wrote:
>> Thanks for the review!
>>
>> FYI, I added a 'make-qt-deterministic' phase which sets the environment
>> variable QT_RCC_SOURCE_DATE_OVERRIDE to 1 to remove a non-determinism
>> issue.
>
> Nice! There is a qt-build-system now. Should we add that to it?

Maxim pointed out in another message that Qt 5.14 (currently on staging)
no longer needs this variable.

The staging branch is currently stalled due to
https://issues.guix.gnu.org/41598 though, so it may take a few
months.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl7Sl0IACgkQoqBt8qM6
VPqsPwf/QLW2bAVmQ22Jx1osnBun06Kn295bPDTH1fbL6AX858AY54g4yZKtn2UT
lkkQM+qdwz2GTK5ogrXdRXWVMRWJBz8qcNAVkPCH5adC7WOUv94cN/AFdJ+hs3Ia
OEi3i7QmmPjeMXnJEsVTQbMv/W47NO0SDsM50iv2WHy0dxGFB8+RnKDu7c73JKxI
8AS1QJT5Z8pz5K7AhsDyqdiUikDKFHpK8ShrimxVLcbPU1PbUXocnzfmRPqM7ZOK
uh5TfjiWE363NQzB/d5U0zIgHwYVUPmpF61LgQwFLLqbHm58X6j69z8u+fP6y4Or
0tP2kioicy6T2gPo/+EyUg477NJ+lw==
=Yu9n
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 41555@debbugs.gnu.org