;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Danny Milosavljevic ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; 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 . (define-module (gnu packages pure) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix gexp) #:use-module (gnu packages) #:use-module (gnu packages llvm) #:use-module (gnu packages multiprecision)) (define-public pure (package (name "pure") (version "0.68") (source (origin (method url-fetch) (uri (string-append "https://github.com/agraef/pure-lang/releases/" "download/pure-" version "/" "pure-" version ".tar.gz")) (sha256 (base32 "0px6x5ivcdbbp2pz5n1r1cwg1syadklhjw8piqhl63n91i4r7iyb")))) (build-system gnu-build-system) (arguments `(#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib")) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-llvm-lookup (lambda _ (substitute* "configure" (("-lLLVM-[$][{]llvm_version[}]") "`$LLVMCONF --libs`")) #t))))) (inputs (list gmp llvm-3.5 mpfr)) (home-page "https://agraef.github.io/pure-lang/") (synopsis "Pure programming Language") (description "@code{pure} is a programming language based on term rewriting. It offers equational definitions with pattern matching, full symbolic rewriting capabilities, dynamic typing, eager and lazy evaluation, lexical closures, built-in list and matrix support and a C interface.") (license license:gpl3+))) dd37d1d045805e073497c591be'>ci: Skip system tests on armhf-linux....* gnu/ci.scm (system-test-jobs): Return the empty list when SYSTEM is "armhf-linux". Ludovic Courtès 2019-01-20ci: Use a valid 'current-guix'....This fixes a regression introduced in b5f8c2c88543158e8aca76aa98f9009f6b9e743a whereby 'current-guix' (needed by some of the system tests) would fail to build. Reported by Ricardo Wurmus <rekado@elephly.net>. It also speeds up compilation of 'current-guix' since the channel instance is already compiled or can be built quickly compared to the default 'current-guix'. * gnu/packages/package-management.scm (current-guix-package): New variable. (current-guix): Honor it. * gnu/ci.scm (channel-build-system): New variable. (channel-instances->derivation): New procedure. (system-test-jobs): Add #:source and #:commit parameters. Define 'instance' and parameterize CURRENT-GUIX-PACKAGE. (hydra-jobs)[checkout, commit, source]: New variables. Pass #:source and #:commit to 'system-test-jobs'. Ludovic Courtès 2019-01-06hydra: Compute jobs in an inferior....Previously we would rely on auto-compilation of all the Guix modules. The complete evaluation would take ~15mn on berlin.guixsd.org and require lots of RAM. This approach should be faster since potentially only part of the modules are rebuilt. Furthermore, as a side-effect, it builds the derivations that 'guix pull' uses. * build-aux/hydra/gnu-system.scm: Remove 'eval-when' form. (hydra-jobs): New procedure. * gnu/ci.scm (package->alist, qemu-jobs, system-test-jobs) (tarball-jobs): Return strings for the 'license' field. * guix/self.scm (compiled-guix)[*cli-modules*]: Add (gnu ci). Ludovic Courtès 2019-01-06hydra: Move job definitions to (gnu ci)....* build-aux/hydra/gnu-system.scm: Move code to... * gnu/ci.scm: ... here. New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Ludovic Courtès