aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2021-02-16 22:51:19 +0000
committerGuillaume Le Vaillant <glv@posteo.net>2021-02-19 11:05:34 +0100
commit19e081138b43b50e505f86c7e1321d8fa064980d (patch)
treecd327c375da361df45978edab2015e1de60449be
parent87530f7b4d4ec26a648e71df0592dbf9987417e3 (diff)
downloadguix-19e081138b43b50e505f86c7e1321d8fa064980d.tar
guix-19e081138b43b50e505f86c7e1321d8fa064980d.tar.gz
gnu: Add stackistry.
* gnu/packages/astronomy.scm (stackistry): New variable. Co-authored-by: Guillaume Le Vaillant <glv@posteo.net>
-rw-r--r--gnu/packages/astronomy.scm64
1 files changed, 64 insertions, 0 deletions
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 5e5a9a2634..f617d7b361 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -332,6 +332,70 @@ astronomical fields. SkyMaker is part of the EFIGI
(@url{https://www.astromatic.net/projects/efigi}) development project.")
(license license:gpl3+)))
+(define-public stackistry
+ (package
+ (name "stackistry")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/GreatAttractor/stackistry")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rz29v33n0x0k40hv3v79ym5ylch1v0pbph4i21809gz2al5p7dq"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (list
+ (string-append
+ "SKRY_INCLUDE_PATH=" (assoc-ref %build-inputs "libskry") "/include")
+ (string-append
+ "SKRY_LIB_PATH=-L" (assoc-ref %build-inputs "libskry") "/lib")
+ (string-append
+ "LIBAV_INCLUDE_PATH=" (assoc-ref %build-inputs "ffmpeg") "/include"))
+ #:phases
+ (modify-phases %standard-phases
+ ;; no configure and tests are provided
+ (delete 'configure)
+ (delete 'check)
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "src/main.cpp"
+ (("\"\\.\\.\", \"lang\"")
+ "\"../share/stackistry\", \"lang\""))
+ (substitute* "src/utils.cpp"
+ (("\"\\.\\.\", \"icons\"")
+ "\"../share/stackistry\", \"icons\""))
+ #t))
+ (replace 'install
+ ;; The Makefile lacks an ‘install’ target.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (icons (string-append out "/share/stackistry/icons"))
+ (lang (string-append out "/share/stackistry/lang")))
+ (copy-recursively "bin" bin)
+ (copy-recursively "icons" icons)
+ (copy-recursively "lang" lang))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("gtkmm" ,gtkmm)
+ ("libskry" ,libskry)
+ ("ffmpeg" ,ffmpeg)))
+ (home-page "https://github.com/GreatAttractor/stackistry")
+ (synopsis "Astronomical lucky imaging/image stacking tool")
+ (description
+ "Stackistry implements the lucky imaging principle of astronomical
+imaging: creating a high-quality still image out of a series of many (possibly
+thousands) low quality ones (blurred, deformed, noisy). The resulting image
+stack typically requires post-processing, including sharpening (e.g. via
+deconvolution). Such post-processing is not performed by Stackistry.")
+ (license license:gpl3+)))
+
(define-public stellarium
(package
(name "stellarium")