unofficial mirror of guix-patches@gnu.org 
 help / color / Atom feed
* [bug#41555] [PATCH] gnu: xaos: Update to 4.0.
@ 2020-05-27  2:10 Kei Kebreau
  2020-05-28 17:55 ` Leo Famulari
  0 siblings, 1 reply; 5+ messages in thread
From: Kei Kebreau @ 2020-05-27  2:10 UTC (permalink / raw)
  To: 41555; +Cc: Kei Kebreau

* 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(-)

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





^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#41555] [PATCH] gnu: xaos: Update to 4.0.
  2020-05-27  2:10 [bug#41555] [PATCH] gnu: xaos: Update to 4.0 Kei Kebreau
@ 2020-05-28 17:55 ` Leo Famulari
  2020-05-30  0:11   ` bug#41555: " Kei
  0 siblings, 1 reply; 5+ messages in thread
From: Leo Famulari @ 2020-05-28 17:55 UTC (permalink / raw)
  To: Kei Kebreau; +Cc: 41555

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!




^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#41555: [PATCH] gnu: xaos: Update to 4.0.
  2020-05-28 17:55 ` Leo Famulari
@ 2020-05-30  0:11   ` Kei
  2020-05-30 17:11     ` [bug#41555] " Leo Famulari
  0 siblings, 1 reply; 5+ messages in thread
From: Kei @ 2020-05-30  0:11 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 41555-done

On Thu, 2020-05-28 at 13:55 -0400, Leo Famulari wrote:
> 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.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#41555] [PATCH] gnu: xaos: Update to 4.0.
  2020-05-30  0:11   ` bug#41555: " Kei
@ 2020-05-30 17:11     ` Leo Famulari
  2020-05-30 17:26       ` Marius Bakke
  0 siblings, 1 reply; 5+ messages in thread
From: Leo Famulari @ 2020-05-30 17:11 UTC (permalink / raw)
  To: Kei; +Cc: 41555-done

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?




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#41555] [PATCH] gnu: xaos: Update to 4.0.
  2020-05-30 17:11     ` [bug#41555] " Leo Famulari
@ 2020-05-30 17:26       ` Marius Bakke
  0 siblings, 0 replies; 5+ messages in thread
From: Marius Bakke @ 2020-05-30 17:26 UTC (permalink / raw)
  To: Leo Famulari, Kei; +Cc: 41555-done

[-- Attachment #1: Type: text/plain, Size: 638 bytes --]

Leo Famulari <leo@famulari.name> writes:

> 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/41596> and
<https://issues.guix.gnu.org/41598> though, so it may take a few
months.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, back to index

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-27  2:10 [bug#41555] [PATCH] gnu: xaos: Update to 4.0 Kei Kebreau
2020-05-28 17:55 ` Leo Famulari
2020-05-30  0:11   ` bug#41555: " Kei
2020-05-30 17:11     ` [bug#41555] " Leo Famulari
2020-05-30 17:26       ` Marius Bakke

unofficial mirror of guix-patches@gnu.org 

Archives are clonable:
	git clone --mirror https://yhetil.org/guix-patches/1 guix-patches/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guix-patches guix-patches/ https://yhetil.org/guix-patches \
		guix-patches@gnu.org
	public-inbox-index guix-patches

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://news.yhetil.org/yhetil.gnu.guix.patches


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git