gnu: celestia: Update to 1.6.4-0.d3f4040.

This is a follow-up to 51640e4820.

Celestia is built from the latest commit providing Qt6 support and many
other new features.

* gnu/packages/astronomy.scm (celestia): Update to 1.6.4-0.d3f4040.
[buld-system]: Switch to cmake-build-system.
[arguments] <configure-flags>: Adjust it for the build.
<phases>: Remove 'patch-lua-version; add 'install-content.
[inputs]: Remove freeglut and libtheora; add eigen, ffmpeg, fmt,
freetype, gperf, libavif, libepoxy, qtbase, and qtwayland.
[propagated-inputs]: Add perl.
[native-inputs]: Remove autoconf, automake, libgit2, libtool, and perl;
add boost and celestia-content.

Change-Id: Ida03597bd9c2d5de31322b3aae88baa6b007889c
This commit is contained in:
Sharlatan Hellseher 2025-09-18 11:02:35 +01:00
parent 4be030e62f
commit 6f0c596658
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5

View file

@ -78,12 +78,14 @@
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-maths) #:use-module (gnu packages golang-maths)
#:use-module (gnu packages golang-xyz) #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gps) #:use-module (gnu packages gps)
#:use-module (gnu packages graph) #:use-module (gnu packages graph)
#:use-module (gnu packages graphviz) #:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages image-processing) #:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages jupyter) #:use-module (gnu packages jupyter)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages libusb) #:use-module (gnu packages libusb)
@ -540,67 +542,74 @@ Library with namespaces, exception handling, and member template functions.")
"See License.txt in the distribution.")))) "See License.txt in the distribution."))))
(define-public celestia (define-public celestia
(package ;; 1.6.4 was placed in 2023 while master migrated to Qt6, use the lates
(name "celestia") ;; commit for now.
(version "1.6.4") (let ((commit "d3f4040401f5f71bcca79e55d53be75c05b867ef")
(source (revision "0"))
(origin (package
(method git-fetch) (name "celestia")
(uri (git-reference (version (git-version "1.6.4" revision commit))
(url "https://github.com/celestiaproject/celestia") (source
(commit version))) (origin
(file-name (git-file-name name version)) (method git-fetch)
(sha256 (uri (git-reference
(base32 "0nz9k5nd2zmrbwj1qhsfwmvqymqk8c4yjxpybck44isrild2ah9j")))) (url "https://github.com/celestiaproject/celestia")
(build-system gnu-build-system) (commit commit)))
(arguments (file-name (git-file-name name version))
(list (sha256
#:modules (base32 "0rqkzxyf8gfjprhj1c19d7chhc3b94wlq2119wz0c344rx7hnh9l"))))
`((guix build gnu-build-system) (build-system cmake-build-system)
(guix build utils) (arguments
(srfi srfi-1) (list
(srfi srfi-71)) #:tests? #f ;no tests were found
#:configure-flags #:configure-flags
#~(list "--with-glut" #~(list "-DENABLE_FFMPEG=ON"
(string-append "--with-lua=" #$(this-package-input "lua"))) "-DENABLE_GLES=ON"
#:phases "-DENABLE_LIBAVIF=ON"
#~(modify-phases %standard-phases "-DENABLE_QT6=ON"
(add-after 'unpack 'patch-lua-version "-DENABLE_TOOLS=ON"
(lambda _ "-DUSE_QT6=ON")
(let* ((_ version (package-name->name+version #:phases
#$(this-package-input "lua"))) #~(modify-phases %standard-phases
(components (string-split version #\.)) ;; TODO: Wrap celestia-content instead of copping it, if posible.
(major+minor (string-join (take components 2) "."))) (add-after 'install 'install-content
(substitute* "configure.ac" (lambda _
(("lua5.3") (copy-recursively
(string-append "lua-" major+minor))))))))) (string-append #$(this-package-native-input "celestia-content")
(native-inputs "/share")
(list autoconf (string-append #$output "/share")))))))
automake (native-inputs
gettext-minimal (list boost
libgit2 celestia-content
libtool gettext-minimal
perl pkg-config))
pkg-config)) (inputs
(inputs (list eigen
(list freeglut ffmpeg
glu fmt
libjpeg-turbo freetype
libpng glu
libtheora gperf
mesa)) libavif
(propagated-inputs libepoxy
(list lua)) libjpeg-turbo
(home-page "https://celestia.space/") libpng
(synopsis "Real-time 3D visualization of space") mesa
(description qtbase
"This simulation program lets you explore our universe in three qtwayland))
(propagated-inputs
(list lua
perl))
(home-page "https://celestia.space/")
(synopsis "Real-time 3D visualization of space")
(description
"This simulation program lets you explore our universe in three
dimensions. Celestia simulates many different types of celestial objects. dimensions. Celestia simulates many different types of celestial objects.
From planets and moons to star clusters and galaxies, you can visit every From planets and moons to star clusters and galaxies, you can visit every
object in the expandable database and view it from any point in space and object in the expandable database and view it from any point in space and
time. The position and movement of solar system objects is calculated time. The position and movement of solar system objects is calculated
accurately in real time at any rate desired.") accurately in real time at any rate desired.")
(license license:gpl2+))) (license license:gpl2+))))
(define-public celestia-content (define-public celestia-content
;; No rleases or version tags. ;; No rleases or version tags.