Merge branch 'package/dyalog-19' into 'master'

nongnu: dyalog-apl: Update to 19.0.50027.

See merge request nonguix/nonguix!534
This commit is contained in:
B. Wilson 2025-02-16 11:33:50 +00:00
commit 8cf3833ad5

View File

@ -11,11 +11,15 @@
#:use-module (gnu packages elf) #:use-module (gnu packages elf)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c) #:use-module (gnu packages icu4c)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nss) #:use-module (gnu packages nss)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (guix build utils) #:use-module (guix build utils)
@ -28,38 +32,41 @@
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (nongnu packages dotnet) #:use-module (nongnu packages dotnet)
#:use-module (nongnu packages ncurses)
#:use-module ((nonguix licenses) #:prefix license:)) #:use-module ((nonguix licenses) #:prefix license:))
(define-public dyalog-apl (define-public dyalog
(package (package
(name "dyalog-apl") (name "dyalog")
(version "18.2.45405") (version "19.0.50027")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append "https://www.dyalog.com/uploads/php/"
"https://www.dyalog.com/uploads/php/download.dyalog.com/" "download.dyalog.com/download.php?file=19.0/linux_64_" version
"download.php?file=" (version-major+minor version) "_unicode.x86_64.deb"))
"/linux_64_" version "_unicode.x86_64.deb"))
(sha256 (sha256
(base32 "0qx6z4n9p0dfrk0wwh66s8z8m91cq4inwan8w03gqqis60cxc3x4")))) (base32 "1h18lq2fgq2fgj4zbq1nssi421xhw4r7pxlq06mdklgbc79pbq6y"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "fonts")) (outputs '("out" "fonts"))
(inputs (list alsa-lib (inputs (list alsa-lib
at-spi2-atk at-spi2-atk
at-spi2-core at-spi2-core
atk atk
cairo
coreutils
cups cups
dbus dbus
dotnet-core-3.1 dotnet
fontconfig fontconfig
eudev
expat expat
(list gcc "lib") (list gcc "lib")
gdk-pixbuf
glib glib
glibc glibc
gtk+-2 gtk+
icu4c icu4c-70 ; incompatible with 71
libdrm
libx11 libx11
libxcb libxcb
libxcomposite libxcomposite
@ -68,14 +75,18 @@
libxext libxext
libxfixes libxfixes
libxi libxi
libxkbcommon
libxrender libxrender
libxscrnsaver libxscrnsaver
libxtst libxtst
libxrandr libxrandr
ncurses/tinfo-5 mesa
ncurses/tinfo
nspr nspr
nss nss
pango pango
pciutils
sed
unixodbc)) unixodbc))
(native-inputs (list binutils bzip2 patchelf tar)) (native-inputs (list binutils bzip2 patchelf tar))
(arguments (arguments
@ -114,11 +125,11 @@
(truetype (string-append fonts "/share/fonts/truetype")) (truetype (string-append fonts "/share/fonts/truetype"))
(dotnet (assoc-ref inputs "dotnet")) (dotnet (assoc-ref inputs "dotnet"))
(dotnet-root (string-append dotnet "/share/dotnet")) (dotnet-root (string-append dotnet "/share/dotnet"))
(icu4c (assoc-ref inputs "icu4c"))
(icu4c-lib (string-append icu4c "/lib"))
(in (string-append "opt/mdyalog/" (in (string-append "opt/mdyalog/"
,(version-major+minor version) ,(version-major+minor version)
"/64/unicode/"))) "/64/unicode/"))
(subdir (lambda (dir)
(lambda (pkg) (string-append pkg dir)))))
(mkdir-p lib) (mkdir-p lib)
(copy-recursively in lib) (copy-recursively in lib)
(delete-file-recursively (string-append lib "/fonts")) (delete-file-recursively (string-append lib "/fonts"))
@ -134,7 +145,20 @@
(string-append bin "/dyalogscript")) (string-append bin "/dyalogscript"))
(wrap-program (string-append lib "/dyalog") (wrap-program (string-append lib "/dyalog")
`("DOTNET_ROOT" = (,dotnet-root)) `("DOTNET_ROOT" = (,dotnet-root))
`("LD_LIBRARY_PATH" ":" suffix (,icu4c-lib))) `("LD_LIBRARY_PATH" ":" suffix
(,@(map (subdir "/lib")
(list (assoc-ref inputs "eudev")
(assoc-ref inputs "gdk-pixbuf")
(assoc-ref inputs "gtk+")
(assoc-ref inputs "icu4c")
(assoc-ref inputs "ncurses-with-tinfo")
(assoc-ref inputs "libx11")
(assoc-ref inputs "mesa")
(assoc-ref inputs "pciutils"))))))
(wrap-program (string-append lib "/mapl")
`("PATH" = (,@(map (subdir "/bin")
(list (assoc-ref inputs "coreutils")
(assoc-ref inputs "sed"))))))
#t))) #t)))
(add-after 'install 'patch-elf-files (add-after 'install 'patch-elf-files
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
@ -142,7 +166,7 @@
(lib (string-append out "/lib/dyalog")) (lib (string-append out "/lib/dyalog"))
(glibc (assoc-ref inputs "glibc")) (glibc (assoc-ref inputs "glibc"))
(ld.so (string-append glibc ,(glibc-dynamic-linker))) (ld.so (string-append glibc ,(glibc-dynamic-linker)))
(rpath (pk (string-join (rpath (string-join
(cons* lib (cons* lib
(string-append lib "/lib") (string-append lib "/lib")
(string-append (assoc-ref inputs "nss") (string-append (assoc-ref inputs "nss")
@ -154,6 +178,7 @@
"at-spi2-atk" "at-spi2-atk"
"at-spi2-core" "at-spi2-core"
"atk" "atk"
"cairo"
"cups" "cups"
"dbus" "dbus"
"expat" "expat"
@ -162,6 +187,7 @@
"glib" "glib"
"glibc" "glibc"
"gtk+" "gtk+"
"libdrm"
"libx11" "libx11"
"libxcb" "libxcb"
"libxcomposite" "libxcomposite"
@ -170,15 +196,17 @@
"libxext" "libxext"
"libxfixes" "libxfixes"
"libxi" "libxi"
"libxkbcommon"
"libxrender" "libxrender"
"libxscrnsaver" "libxscrnsaver"
"libxtst" "libxtst"
"libxrandr" "libxrandr"
"mesa"
"ncurses-with-tinfo" "ncurses-with-tinfo"
"nspr" "nspr"
"pango" "pango"
"unixodbc"))) "unixodbc")))
":"))) ":"))
(elf-file?* (lambda (file stat) (elf-file? file)))) (elf-file?* (lambda (file stat) (elf-file? file))))
(define* (file-segments file #:key type) (define* (file-segments file #:key type)
@ -220,3 +248,6 @@ APL in the wild. The interpreter boasts world-class performance benchmarks,
excellent tooling integration, and support for modern APL features.") excellent tooling integration, and support for modern APL features.")
(license (license:nonfree (license (license:nonfree
"https://www.dyalog.com/prices-and-licences.htm")))) "https://www.dyalog.com/prices-and-licences.htm"))))
(define-public dyalog-apl
(deprecated-package "dyalog-apl" dyalog))