me
/
guix
Archived
1
0
Fork 0
This repository has been archived on 2024-08-07. You can view files and clone it, but cannot push or open issues/pull-requests.
guix/gnu/packages/julia.scm

561 lines
26 KiB
Scheme
Raw Normal View History

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2020-2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021, 2022 Jean-Baptiste Volatier <jbv@pm.me>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
;;; Copyright © 2022 Akira Kyle <akira@akirakyle.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages julia)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module ((guix search-paths) #:select ($SSL_CERT_FILE))
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages elf)
#:use-module (gnu packages gcc)
#:use-module (gnu packages llvm)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision) ; mpfr
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
gnu: Separate Python core packages from the rest. * gnu/packages/python.scm: Move hundreds of package definitions from here... * gnu/packages/python-xyz.scm: ...to this new module. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/android.scm, gnu/packages/audio.scm, gnu/packages/backup.scm, gnu/packages/benchmark.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/calendar.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/cluster.scm, gnu/packages/compression.scm, gnu/packages/connman.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm, gnu/packages/databases.scm, gnu/packages/dav.scm, gnu/packages/direct-connect.scm, gnu/packages/disk.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/docker.scm, gnu/packages/ebook.scm, gnu/packages/elf.scm, gnu/packages/emacs.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/enlightenment.scm, gnu/packages/finance.scm, gnu/packages/fltk.scm, gnu/packages/fontutils.scm, gnu/packages/freedesktop.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/geo.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/gtk.scm, gnu/packages/ham-radio.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/kde-frameworks.scm, gnu/packages/key-mon.scm, gnu/packages/libffi.scm, gnu/packages/libreoffice.scm, gnu/packages/libusb.scm, gnu/packages/lirc.scm, gnu/packages/logging.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/mate.scm, gnu/packages/maths.scm, gnu/packages/medical.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/nutrition.scm, gnu/packages/openldap.scm, gnu/packages/openstack.scm, gnu/packages/package-management.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/photo.scm, gnu/packages/polkit.scm, gnu/packages/protobuf.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/qt.scm, gnu/packages/rdf.scm, gnu/packages/ruby.scm, gnu/packages/search.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/simulation.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/storage.scm, gnu/packages/sync.scm, gnu/packages/terminals.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm, gnu/packages/tor.scm, gnu/packages/tryton.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/virtualization.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wicd.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm: Update module references.
2019-01-15 13:21:30 +00:00
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages textutils)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages wget)
#:use-module (ice-9 match))
(define libunwind-julia
;; The Julia projects requires their patched version.
;; Get from https://github.com/JuliaLang/julia/tree/master/deps/patches
(package
(inherit libunwind)
(name "libunwind-julia")
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(version "1.5.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/libunwind/libunwind-"
version ".tar.gz"))
(sha256
(base32
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
"05qhzcg1xag3l5m3c805np6k342gc0f3g087b7g16jidv59pccwh"))
(patches
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(list
(julia-patch "libunwind-prefer-extbl"
"0pf3lsq6zxlmqn86lk4fcj1xwdan9gbxyabrwgxcb59p8jjwsl8r")
(julia-patch "libunwind-static-arm"
"1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq")
(julia-patch "libunwind-cfa-rsp"
"0qs5b1h5lsr5qakkv6sddgy5ghlxpjrn2jiqcvg7bkczy24klr6j")))))
(arguments
(substitute-keyword-arguments (package-arguments libunwind)
;; Skip tests on this older and patched version of libunwind.
((#:tests? _ #t) #f)))
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(home-page "https://github.com/JuliaLang/julia/tree/master/deps/")))
(define (julia-patch-url version name)
(string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" version
"/deps/patches/" name ".patch"))
(define-public (julia-patch name sha)
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(let ((version "1.8.2"))
(origin (method url-fetch)
(uri (julia-patch-url version name))
(sha256 (base32 sha))
(file-name name))))
(define-public libwhich
(package
(name "libwhich")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
gnu: Remove ".git" from "https://github/…/….git". Until now, 'lookup-origin' and thus 'lookup-origin-revision' in (guix swh) would sometimes return #f for these because the ".git" URLs are redirects to the non-".git" URLs. Consequently, 'guix lint -c archival' would keep saying "scheduled Software Heritage archival"; likewise, the fallback download code would fail. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/android.scm, gnu/packages/animation.scm, gnu/packages/arcan.scm, gnu/packages/assembly.scm, gnu/packages/audio.scm, gnu/packages/authentication.scm, gnu/packages/avr.scm, gnu/packages/axoloti.scm, gnu/packages/backup.scm, gnu/packages/bash.scm, gnu/packages/benchmark.scm, gnu/packages/bioconductor.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/boost.scm, gnu/packages/build-tools.scm, gnu/packages/c.scm, gnu/packages/calendar.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/chez.scm, gnu/packages/clojure.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/compton.scm, gnu/packages/coq.scm, gnu/packages/cpp.scm, gnu/packages/cran.scm, gnu/packages/crypto.scm, gnu/packages/curl.scm, gnu/packages/databases.scm, gnu/packages/datastructures.scm, gnu/packages/debug.scm, gnu/packages/disk.scm, gnu/packages/distributed.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/dns.scm, gnu/packages/docker.scm, gnu/packages/education.scm, gnu/packages/efi.scm, gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/embedded.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/erlang.scm, gnu/packages/fabric-management.scm, gnu/packages/file-systems.scm, gnu/packages/finance.scm, gnu/packages/firmware.scm, gnu/packages/flashing-tools.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/fpga.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/genealogy.scm, gnu/packages/genimage.scm, gnu/packages/geo.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/gnome-xyz.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/golang.scm, gnu/packages/gpodder.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/groff.scm, gnu/packages/groovy.scm, gnu/packages/gtk.scm, gnu/packages/guile-xyz.scm, gnu/packages/guile.scm, gnu/packages/hardware.scm, gnu/packages/haskell-apps.scm, gnu/packages/haskell-xyz.scm, gnu/packages/hexedit.scm, gnu/packages/i2p.scm, gnu/packages/ibus.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/ipfs.scm, gnu/packages/java-graphics.scm, gnu/packages/java-maths.scm, gnu/packages/java.scm, gnu/packages/javascript.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/jupyter.scm, gnu/packages/kodi.scm, gnu/packages/language.scm, gnu/packages/lego.scm, gnu/packages/less.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lirc.scm, gnu/packages/lisp-xyz.scm, gnu/packages/llvm.scm, gnu/packages/logging.scm, gnu/packages/lolcode.scm, gnu/packages/lua.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/maths.scm, gnu/packages/maven.scm, gnu/packages/mes.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/node-xyz.scm, gnu/packages/ocaml.scm, gnu/packages/ocr.scm, gnu/packages/onc-rpc.scm, gnu/packages/opencl.scm, gnu/packages/opencog.scm, gnu/packages/pantheon.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/perl6.scm, gnu/packages/phabricator.scm, gnu/packages/popt.scm, gnu/packages/printers.scm, gnu/packages/prolog.scm, gnu/packages/protobuf.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python-xyz.scm, gnu/packages/qt.scm, gnu/packages/radio.scm, gnu/packages/rails.scm, gnu/packages/rdf.scm, gnu/packages/rednotebook.scm, gnu/packages/rpc.scm, gnu/packages/rsync.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/screen.scm, gnu/packages/security-token.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/shellutils.scm, gnu/packages/simh.scm, gnu/packages/sml.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/stenography.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/synergy.scm, gnu/packages/telephony.scm, gnu/packages/terminals.scm, gnu/packages/tex.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tmux.scm, gnu/packages/tor.scm, gnu/packages/toys.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/virtualization.scm, gnu/packages/vlang.scm, gnu/packages/vnc.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wireservice.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, tests/lint.scm: Remove trailing ".git" from 'git-reference' URL.
2020-07-12 20:53:28 +00:00
(url "https://github.com/vtjnash/libwhich")
;; fixes linux-vdso.so related tests
(commit "87cffe10080c98e7b5786c5166e420bf1ada1d41")))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1bpa0fcqpa3ai3hm8mz0p13bf76fsq53wsfcx5qw302zh22108xr"))))
(arguments
`(#:make-flags
(list (string-append "CC=" ,(cc-for-target)))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'check 'set-ld-library-path
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(setenv "LD_LIBRARY_PATH"
(string-append (assoc-ref (or native-inputs inputs) "zlib")
"/lib"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "libwhich" (string-append out "/bin")))
#t)))))
(native-inputs
;; used for tests
(list zlib))
(build-system gnu-build-system)
(home-page "https://github.com/vtjnash/libwhich")
(synopsis "Like @code{which}, for dynamic libraries")
(description "@code{libwhich} is like @code{which}, but for dynamic
libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
(license license:expat)))
(define-public julia
(package
(name "julia")
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(version "1.8.3")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/JuliaLang/julia/releases/download/v"
version "/julia-" version ".tar.gz"))
(sha256
(base32
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
"0jf8dr5j7y8cjnr65kn38xps5h9m2qvi8g1yd8qgiip5r87ld3ad"))
(patches (search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch"
"julia-Use-MPFR-4.2.patch"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:modules ((ice-9 match)
(guix build gnu-build-system)
(guix build utils))
;; The test suite takes many times longer than building and
;; can easily fail on smaller machines when they run out of memory.
#:tests? ,(not (or (%current-target-system)
(target-aarch64?)))
;; Do not strip binaries to keep support for full backtraces.
;; See https://github.com/JuliaLang/julia/issues/17831
#:strip-binaries? #f
;; The DSOs use $ORIGIN to refer to each other, but (guix build
;; gremlin) doesn't support it yet, so skip this phase.
#:validate-runpath? #f
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'prepare-deps
(lambda* (#:key inputs #:allow-other-keys)
;; needed by libwhich
(setenv "LD_LIBRARY_PATH"
(string-join (map (lambda (pkg)
(string-append (assoc-ref inputs pkg)
"/lib"))
'("curl" "dsfmt"
"gmp" "lapack"
"libssh2" "libnghttp2" "libgit2"
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
"libblastrampoline"
"mbedtls" "mpfr"
"openblas" "openlibm" "pcre2"
"suitesparse" "gfortran:lib"))
":"))))
;; FIXME: Building the documentation requires Julia packages that
;; would be downloaded from the Internet. We should build them in a
;; separate build phase.
(add-after 'unpack 'disable-documentation
(lambda _
(substitute* "Makefile"
(("(install: .*) \\$\\(BUILDROOT\\)/doc/_build/html/en/index.html" _ line)
(string-append line "\n"))
(("src ui doc deps")
"src ui deps"))))
(add-after 'unpack 'activate-gnu-source-for-loader
(lambda _
(substitute* "cli/Makefile"
(("LOADER_CFLAGS =") "LOADER_CFLAGS = -D_GNU_SOURCE"))))
;; libquadmath is not available on all architectures.
;; https://github.com/JuliaLang/julia/issues/41613
(add-after 'unpack 'make-libquadmath-optional
(lambda _
(substitute* "base/Makefile"
(("libquadmath,0") "libquadmath,0,ALLOW_FAILURE"))))
(add-before 'check 'set-home
;; Some tests require a home directory to be set.
(lambda _ (setenv "HOME" "/tmp")))
(add-before 'build 'fix-include-and-link-paths
(lambda* (#:key inputs #:allow-other-keys)
;; The REPL must be linked with libuv.
(substitute* "cli/Makefile"
(("JLDFLAGS \\+= ")
(string-append "JLDFLAGS += "
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(assoc-ref inputs "libuv")
"/lib/libuv.so ")))))
(add-before 'build 'replace-default-shell
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "base/client.jl"
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(("/bin/sh") (search-input-file inputs "/bin/sh")))))
(add-before 'build 'shared-objects-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((jlpath
(lambda (pkgname)
(string-append
"stdlib/" pkgname "_jll/src/" pkgname "_jll.jl")))
(from
(lambda (libname)
(string-append "const " libname " = .*\\.so")))
(to
(lambda* (pkg libname #:optional libname_jl)
(string-append
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
"const " (or libname_jl libname) " = \""
(assoc-ref inputs pkg) "/lib/" libname ".so"))))
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(substitute* (jlpath "CompilerSupportLibraries")
(((from "libgfortran"))
(string-append "const libgfortran = string(\""
(search-input-file inputs "/lib/libgfortran.so"))))
(substitute* (jlpath "dSFMT")
(((from "libdSFMT")) (to "dsfmt" "libdSFMT")))
(substitute* (jlpath "GMP")
(((from "libgmp")) (to "gmp" "libgmp"))
(((from "libgmpxx")) (to "gmp" "libgmpxx")))
(substitute* (jlpath "libLLVM")
(((from "libLLVM")) (to "llvm" "libLLVM")))
(substitute* (jlpath "LibCURL")
(((from "libcurl")) (to "curl" "libcurl")))
(substitute* (jlpath "LibGit2")
(((from "libgit2")) (to "libgit2" "libgit2")))
(substitute* (jlpath "LibSSH2")
(((from "libssh2")) (to "libssh2" "libssh2")))
(substitute* (jlpath "LibUV")
(((from "libuv")) (to "libuv" "libuv")))
(substitute* (jlpath "LibUnwind")
(((from "libunwind")) (to "libunwind" "libunwind")))
(substitute* (jlpath "MPFR")
(((from "libmpfr")) (to "mpfr" "libmpfr")))
(substitute* (jlpath "MbedTLS")
(((from "libmbedcrypto")) (to "mbedtls" "libmbedcrypto"))
(((from "libmbedtls")) (to "mbedtls" "libmbedtls"))
(((from "libmbedx509")) (to "mbedtls" "libmbedx509")))
(substitute* (jlpath "nghttp2")
(((from "libnghttp2")) (to "libnghttp2" "libnghttp2")))
(substitute* (jlpath "OpenBLAS")
(((from "libopenblas"))
,@(if (target-x86-64?)
`((to "openblas" "libopenblas64_" "libopenblas"))
`((to "openblas" "libopenblas")))))
(substitute* (jlpath "OpenLibm")
(((from "libopenlibm")) (to "openlibm" "libopenlibm")))
(substitute* (jlpath "PCRE2")
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(((from "libpcre2_8")) (to "pcre2" "libpcre2-8" "libpcre2_8")))
(substitute* (jlpath "SuiteSparse")
(((from "libamd")) (to "suitesparse" "libamd"))
(((from "libbtf")) (to "suitesparse" "libbtf"))
(((from "libcamd")) (to "suitesparse" "libcamd"))
(((from "libccolamd")) (to "suitesparse" "libccolamd"))
(((from "libcholmod")) (to "suitesparse" "libcholmod"))
(((from "libcolamd")) (to "suitesparse" "libcolamd"))
(((from "libklu")) (to "suitesparse" "libklu"))
(((from "libldl")) (to "suitesparse" "libldl"))
(((from "librbio")) (to "suitesparse" "librbio"))
(((from "libspqr")) (to "suitesparse" "libspqr"))
(((from "libsuitesparse")) (to "suitesparse" "libsuitesparse"))
(((from "libsuitesparseconfig"))
(to "suitesparse" "libsuitesparseconfig"))
(((from "libumfpack")) (to "suitesparse" "libumfpack")))
(substitute* (jlpath "Zlib")
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(((from "libz")) (to "zlib" "libz")))
(substitute* (jlpath "libblastrampoline")
(("libblastrampoline\\.so")
(search-input-file inputs "/lib/libblastrampoline.so"))))))
(add-before 'build 'use-ssl-cert-file
(lambda _
;; We must adapt MozillaCACerts to use SSL_CERT_FILE.
(substitute* "stdlib/MozillaCACerts_jll/src/MozillaCACerts_jll.jl"
(("global cacert = .*")
(string-append
"global cacert = get(ENV, \"SSL_CERT_FILE\","
;; our fallback location.
"\"/etc/ssl/certs/ca-certificates.crt\")\n")))))
(add-after 'unpack 'enable-parallel-tests
(lambda* (#:key parallel-tests? #:allow-other-keys)
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(when parallel-tests?
(setenv "JULIA_TEST_USE_MULTIPLE_WORKERS" "true"))))
(add-after 'unpack 'adjust-test-suite
(lambda* (#:key inputs #:allow-other-keys)
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(substitute* "test/spawn.jl"
(("shcmd = `sh`") (string-append "shcmd = `" (which "sh") "`")))
;; Some tests only check to see if the input is the correct version.
(substitute* "stdlib/PCRE2_jll/test/runtests.jl"
(("10.40.0") ,(package-version (this-package-input "pcre2"))))
(substitute* "stdlib/MbedTLS_jll/test/runtests.jl"
(("2.28.0") ,(package-version (this-package-input "mbedtls"))))
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(substitute* "stdlib/MPFR_jll/test/runtests.jl"
(("4.1.0") ,(package-version (this-package-input "mpfr"))))
(substitute* "stdlib/GMP_jll/test/runtests.jl"
(("6.2.1") ,(package-version (this-package-input "gmp"))))
(substitute* "stdlib/LibGit2_jll/test/runtests.jl"
(("1.3.0") ,(package-version (this-package-input "libgit2"))))
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(substitute* "stdlib/nghttp2_jll/test/runtests.jl"
(("1.48.0") ,(package-version (this-package-input "libnghttp2"))))
(substitute* "stdlib/Zlib_jll/test/runtests.jl"
(("1.2.12") ,(package-version (this-package-input "zlib"))))
(substitute* "stdlib/SuiteSparse_jll/test/runtests.jl"
(("5010") ,(string-replace-substring
(version-major+minor
(package-version
(this-package-input "suitesparse"))) "." "0")))))
(add-before 'check 'disable-broken-tests
(lambda _
;; disabling REPL tests because they require a stdin
;; There are some read-only precompile issues in the 1.6 series.
;; https://github.com/JuliaLang/julia/pull/41614
;; https://github.com/JuliaLang/julia/issues/41156
(substitute* "test/choosetests.jl"
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(("\"cmdlineargs\",") "")
(("\"precompile\",") ""))
;; Dates/io tests fail on master when networking is unavailable
;; https://github.com/JuliaLang/julia/issues/34655
(substitute* "stdlib/Dates/test/io.jl"
(("using Dates") "import Dates
using Dates: @dateformat_str, Date, DateTime, DateFormat, Time"))
;; julia embeds a certificate, we are not doing that
(substitute* "stdlib/MozillaCACerts_jll/test/runtests.jl"
(("@test isfile\\(MozillaCACerts_jll.cacert\\)")
"@test_broken isfile(MozillaCACerts_jll.cacert)"))
;; since certificate is not present some tests are failing in network option
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(substitute* "usr/share/julia/stdlib/v1.8/NetworkOptions/test/runtests.jl"
(("@test isfile\\(bundled_ca_roots\\(\\)\\)")
"@test_broken isfile(bundled_ca_roots())")
(("@test ispath\\(ca_roots_path\\(\\)\\)")
"@test_broken ispath(ca_roots_path())")
(("@test ca_roots_path\\(\\) \\!= bundled_ca_roots\\(\\)")
"@test_broken ca_roots_path() != bundled_ca_roots()"))
;; WARNING: failed to select UTF-8 encoding, using ASCII
;; Using 'setlocale' doesn't affect the test failures.
;(setlocale LC_ALL "en_US.utf8")
;(setenv "LC_ALL" "en_US.utf8")
(substitute* "test/cmdlineargs.jl"
(("test v\\[3") "test_broken v[3")
(("test isempty\\(v\\[3") "test_broken isempty(v[3"))
;; These test(s) randomly fails because they depend on CPU.
(substitute* "test/math.jl"
;; @test_broken cannot be used because if the test randomly
;; passes, then it also raises an error.
(("@test isinf\\(log1p\\(-one\\(T\\)\\)\\)")
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
" "))
;; These are new test failures for 1.8:
;; This test passes on some architectures and fails on others.
(substitute* "stdlib/LinearAlgebra/test/lu.jl"
(("@test String") "@test_skip String"))
(substitute* "stdlib/InteractiveUtils/test/runtests.jl"
(("@test !occursin\\(\"Environment")
"@test_broken !occursin(\"Environment")
(("@test occursin\\(\"Environment")
"@test_broken occursin(\"Environment"))
(substitute* "usr/share/julia/stdlib/v1.8/Statistics/test/runtests.jl"
(("@test cov\\(A") "@test_skip cov(A")
(("@test isfinite") "@test_skip isfinite"))
;; LoadError: SuiteSparse threads test failed with nthreads == 4
(substitute* "usr/share/julia/stdlib/v1.8/SuiteSparse/test/runtests.jl"
(("Base\\.USE_GPL_LIBS") "false"))
;; Got exception outside of a @test
;; LinearAlgebra.LAPACKException(16)
;; eliminate all the test bits.
(substitute* "stdlib/LinearAlgebra/test/schur.jl"
(("f = schur\\(A, B\\)") "f = schur(A, A)")
(("@test f\\.Q\\*f\\.S\\*f\\.Z'.*") "\n")
(("@test f\\.Q\\*f\\.T\\*f\\.Z'.*") "\n"))
(substitute* "test/threads.jl"
(("@test success") "@test_broken success"))))
;; Doesn't this just mean they weren't linked correctly?
(add-after 'install 'symlink-missing-libraries
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(link
(lambda (pkgname pred)
(map (lambda (file)
(unless (file-exists?
(string-append out "/lib/julia/"
(basename file)))
(symlink file (string-append out "/lib/julia/"
(basename file)))))
(find-files (string-append (assoc-ref inputs pkgname)
"/lib") pred)))))
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
(link "libunwind" "libunwind\\.so")
(link "llvm" "libLLVM-13jl\\.so")
(link "utf8proc" "libutf8proc\\.so")
(link "zlib" "libz\\.so"))))
(add-after 'install 'make-wrapper
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(program "julia"))
(with-directory-excursion bin
(wrap-program program
`("JULIA_LOAD_PATH" ":" prefix
("" "$JULIA_LOAD_PATH"))
`("JULIA_DEPOT_PATH" ":" prefix
("" "$JULIA_DEPOT_PATH"))))))))
#:make-flags
(list
"VERBOSE=1" ;; more helpful logging of what make is doing
(string-append "prefix=" (assoc-ref %outputs "out"))
;; Passing the MARCH or JULIA_CPU_TARGET flag is necessary to build
;; binary substitutes for the supported architectures. See also
;; https://docs.julialang.org/en/v1/devdocs/sysimg/#Specifying-multiple-system-image-targets
,(match (or (%current-target-system)
(%current-system))
("x86_64-linux"
;; These are the flags that upstream uses for their binaries.
"JULIA_CPU_TARGET=generic;generic,-cx16,clone_all;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)")
("i686-linux" "MARCH=pentium4")
("armhf-linux" "JULIA_CPU_TARGET=armv7-a,neon")
("powerpc64le-linux" "JULIA_CPU_TARGET=pwr8")
;; Prevent errors when querying this package on unsupported
;; platforms, e.g. when running "guix package --search="
;; and also of targeting the builder's architecture.
(_ "JULIA_CPU_TARGET=generic"))
"CONFIG_SHELL=bash -x" ; needed to build bundled libraries
"USE_BINARYBUILDER=0"
;; list (and order!) of "USE_SYSTEM_*" is here:
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
;; https://github.com/JuliaLang/julia/blob/v1.8.2/Make.inc
"USE_SYSTEM_CSL=1"
"USE_SYSTEM_LLVM=1"
"USE_SYSTEM_LIBUNWIND=1"
"USE_SYSTEM_PCRE=1"
"USE_SYSTEM_OPENLIBM=1"
"USE_SYSTEM_DSFMT=1"
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
"USE_SYSTEM_LIBBLASTRAMPOLINE=1"
"USE_SYSTEM_BLAS=1"
"USE_SYSTEM_LAPACK=1"
"USE_SYSTEM_GMP=1"
"USE_SYSTEM_MPFR=1"
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
"USE_SYSTEM_LIBSUITESPARSE=1"
"USE_SYSTEM_LIBUV=1"
"USE_SYSTEM_UTF8PROC=1"
"USE_SYSTEM_MBEDTLS=1"
"USE_SYSTEM_LIBSSH2=1"
"USE_SYSTEM_NGHTTP2=1"
"USE_SYSTEM_CURL=1"
"USE_SYSTEM_LIBGIT2=1"
"USE_SYSTEM_PATCHELF=1"
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
"USE_SYSTEM_LIBWHICH=1"
"USE_SYSTEM_ZLIB=1"
"USE_SYSTEM_P7ZIP=1"
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
"USE_LLVM_SHLIB=1"
"NO_GIT=1" ; build from release tarball.
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
"USE_GPL_LIBS=1" ; proudly
,@(if (target-x86-64?)
`("USE_BLAS64=1"
"LIBBLAS=-lopenblas64_"
"LIBBLASNAME=libopenblas64_")
`("USE_BLAS64=0"
"LIBBLAS=-lopenblas"
"LIBBLASNAME=libopenblas"))
(string-append "UTF8PROC_INC="
(assoc-ref %build-inputs "utf8proc")
"/include")
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
;; Make.inc expects a static library for libuv.
(string-append "LIBUV="
(assoc-ref %build-inputs "libuv")
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
"/lib/libuv.a")
(string-append "LIBUV_INC="
(assoc-ref %build-inputs "libuv")
"/include"))))
(inputs
`(("coreutils" ,coreutils) ; for bindings to "mkdir" and the like
("curl" ,curl-ssh)
("gfortran" ,gfortran)
;; required for libgcc_s.so
("gfortran:lib" ,gfortran "lib")
("gmp" ,gmp)
("lapack" ,lapack)
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
("libblastrampoline" ,libblastrampoline)
("libgit2" ,libgit2-1.3)
("libnghttp2" ,nghttp2 "lib")
("libssh2" ,libssh2)
("libunwind" ,libunwind-julia)
("libuv" ,libuv-julia)
("llvm" ,llvm-julia)
("mbedtls" ,mbedtls-lts)
("mpfr" ,mpfr)
,@(if (target-x86-64?)
`(("openblas" ,openblas-ilp64))
`(("openblas" ,openblas)))
("openlibm" ,openlibm)
("p7zip" ,p7zip)
("pcre2" ,pcre2)
("suitesparse" ,suitesparse)
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
("utf8proc" ,utf8proc-2.7.0)
("wget" ,wget)
("which" ,which)
("zlib" ,zlib)
;; Find dependencies versions here:
;; https://raw.githubusercontent.com/JuliaLang/julia/v1.6.0/deps/Versions.make
("dsfmt" ,dsfmt)
("libwhich" ,libwhich)))
(native-inputs
`(("openssl" ,openssl)
("perl" ,perl)
("patchelf" ,patchelf)
("pkg-config" ,pkg-config)
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
("python" ,python)))
(native-search-paths
(list (search-path-specification
(variable "JULIA_LOAD_PATH")
build-system/julia: Enable Julia Pkg to find installed packages. Julia's built-in package manager (Pkg) looks for packages in JULIA_DEPOT_PATH/packages/PACKAGENAME/XXXX, where XXXX is a string encoding package UUID and SHA1 of files. The link-depot phase creates a link at the correct location to allow Pkg to find packages that were already installed by Guix. * guix/build/julia-build-system.scm (link-depot): New phase. (%package-path): Modified package path from packages/ to loadpath/. (project.toml->uuid): New procedure, retrive package uuid from TOML file. (precompile, check): Adjust to the change in paths. (%standard-phases): Add link-depot phase. (julia-build): Add julia-package-uuid keyword. * guix/build-system/julia.scm (julia-build): Also use the julia-package-uuid keyword. * gnu/packages/julia-jll.scm (julia-bzip2-jll, julia-cairo-jll, julia-compilersupportlibraries-jll, julia-expat-jll, julia-ffmpeg-jll, julia-fontconfig-jll, julia-freetype2-jll, julia-fribidi-jll, julia-gettext-jll, julia-glib-jll, julia-gr-jll, julia-gumbo-jll, julia-imagemagick-jll, julia-jllwrappers-jll, julia-jpegturbo-jll, julia-lame-jll, julia-libass-jll, julia-libfdk-aac-jll, julia-libffi-jll, julia-libgcrypt-jll, julia-libglvnd-jll, julia-libgpg-error-jll, juli-libiconv-jll, julia-libmount-jll, julia-libpng-jll, julia-libsass-jll, julia-libtiff-jll, julia-libuuid-jll, julia-libvorbis-jll, julia-lzo-jll, julia-mbedtls-jll, julia-ogg-jll, julia-openspecfun-jll, julia-openssl-jll, julia-opus-jll, julia-pcre-jll, julia-pixman-jll, julia-qt5base-jll, julia-wayland-jll, julia-wayland-protocols-jll, julia-x264-jll, julia-x265-jll, julia-xkbcommon-jll, julia-xml2-jll, julia-xorg-libpthread-stubs-jll, julia-xorg-libx11-jll, julia-xorg-libxau-jll, julia-xorg-libxcb-jll, julia-xorg-libxcursor-jll, julia-xorg-libxdmcp-jll, julia-xorg-libxext-jll, julia-xorg-libxfixes-jll, julia-xorg-libxi-jll, julia-xorg-libxinerama-jll, julia-xorg-libxkbfile-jll, julia-xorg-libxrandr-jll, julia-xorg-libxrender-jll, julia-xorg-xcb-util-jll, julia-xorg-xcb-util-keysyms-jll, julia-xorg-xcb-util-renderutil-jll, julia-xorg-xcb-util-wm-jll, julia-xorg-xkbcomp-jll, julia-xorg-xkeyboard-config-jll, julia-xorg-xtrans-jll, julia-xslt-jll, julia-zlib-jll, julia-zstd-jll) [argument]: Adjust the order of the phases to the change in the julia-build-system. * gnu/packages/julia-xyz.scm (julia-bufferedstreams, julia-calculus, julia-dataframes, julia-datavalues, julia-distances, julia-documenter, julia-dualnumbers, julia-ellipsisnotation, julia-expronicon, julia-fileio, julia-fixedpointnumbers, julia-functionwrappers, julia-fuzzycompletions, julia-genericlinearalgebra, julia-genericschur, julia-geometrybasics, julia-imagemagick, julia-infinity, julia-matrixfactorizations, julia-media, julia-missings, julia-nnlib, julia-optimtestproblems, julia-orderedcollections, julia-prettytables, julia-pycall, julia-quadmath, julia-safetests, julia-stackviews) [arguments]: Correct paths to reflect change of %package-path modify order of phases as link-depot needs to run on an unmodified src directory add package-name-uuid keyword argument to packages without Project.toml file. * gnu/packages/julia.scm (julia)[native-search-paths]: Correct paths to reflect change of %package-path modify order of phases as link-depot needs to run on an unmodified src directory. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-11-12 14:23:52 +00:00
(files (list "share/julia/loadpath/")))
(search-path-specification
(variable "JULIA_DEPOT_PATH")
(files (list "share/julia/")))
$SSL_CERT_FILE))
gnu: julia: Update to 1.8.3. * gnu/packages/julia.scm (julia): Update to 1.8.3. [source]: Remove one patch. [arguments]: Adjust 'prepare-deps phase to changes in inputs. Remove custom 'use-system-libwhich, 'change-number-of-precompiled-statements, 'symlink-libraries phases. In 'fix-include-and-link-paths phase remove substitution for utf8proc linking and adjust libuv linking. Fix reference to shell in 'replace-default-shell phase. Adjust the 'shared-objects-path phase to changes in the source. Change the 'enable-parallel-tests phase for upstream changes. Adjust the 'adjust-test-suite phase to be more robust. Change the 'disable-broken-tests phase to help the test suite pass. Rename 'symlink-llvm-utf8proc phase to 'symlink-missing-libraries and add two more. Adjust make-flags for changes in shared system libraries. Reorder make-flags to changes in the source. Except for aarch64, use the defaults for choosing to use 64-bit blas. [inputs]: Add libblastrampoline. Replace libgit-1.1 with libgit-1.3, utf8proc-2.7.1 with utf8proc-2.8.0. [native-inputs]: Replace python-2 with python. (libunwind-julia): Update to 1.5.0. [source]: Update patches. * gnu/packages/libevent.scm (libuv-julia): Update to 2.0.0-4.e6f0e49. [arguments]: Also build static library, build position-independent-code. * gnu/packages/llvm.scm (llvm-julia): Update to llvm-13, following upstream's build instructions. * gnu/packages/maths.scm (openlibm): Update to 0.8.1. * gnu/packages/textutils.scm (utf8proc-2.7.1): Update and rename to utf8proc-2.8.0. [native-inputs]: Update unicode to 14.0.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.28.0. [source]: Remove snippet. [arguments]: Remove trailing #t from phases. * gnu/packages/patches/julia-allow-parallel-build.patch, (julia-patch): Update version string to 1.8.2. gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Co-authored-by: Akira Kyle <akira@akirakyle.com>
2022-12-08 10:06:47 +00:00
;; Julia only officially supports some of our platforms:
;; https://julialang.org/downloads/#supported_platforms
(supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"))
(home-page "https://julialang.org/")
(synopsis "High-performance dynamic language for technical computing")
(description
"Julia is a high-level, high-performance dynamic programming language for
technical computing, with syntax that is familiar to users of other technical
computing environments. It provides a sophisticated compiler, distributed
parallel execution, numerical accuracy, and an extensive mathematical function
library.")
(license license:expat)))