aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; 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 kawa)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (gnu packages bash)
  #:use-module (gnu packages java))

(define-public kawa
  (package
    (name "kawa")
    (version "3.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "mirror://gnu/kawa/kawa-" version ".tar.gz"))
       (sha256
        (base32 "06g015zjlfgsx0n4lb326czkbf1grlx0n6dx074m808hdg6m16lc"))))
    (build-system gnu-build-system)
    (arguments
     `(#:parallel-build? #f
       #:parallel-tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'install 'wrap-kawa
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (let ((out (assoc-ref outputs "out")))
               (wrap-program (string-append out "/share/kawa/bin/kawa")
                 `("JAVA_HOME" ":" = (,(assoc-ref inputs "icedtea"))))))))))
    (inputs
     (list bash-minimal `(,icedtea-8 "jdk")))
    (home-page "https://www.gnu.org/software/kawa/")
    (synopsis "Java framework and implementation of Scheme, Elisp, and more")
    (description
     "GNU Kawa is an implementation of the Scheme programming language that
is built on top of the Java platform.  It is thus conveniently integrated
with Java and benefits from this by having a compiler, optional static
typing, and so on.  Kawa also serves as a framework for implementing other
programming languages on the Java platform.  Included in Kawa is qexo, a
partial implementation of XQuery in Java.")
    (license license:expat)))
04a4aea5da4d6e7ca2a87d7 Efraim Flashner 2023-11-28gnu: rust: Add triplets for Windows....* gnu/packages/rust.scm (nix-system->gnu-triplet-for-rust): Add entries for i686-mingw and x86_64-mingw. Change-Id: I13615c1548d96863bc32620269d82975e4599c08 Efraim Flashner 2023-11-28gnu: rust: Add triplet for the Hurd....* gnu/packages/rust.scm (nix-system->gnu-triplet-for-rust): Add entries for i586-pc, i686-pc. Change-Id: I0b7bdc3c0445430b5f4ea79d8e052b6ef276f11b Efraim Flashner 2023-11-28gnu: Add make-rust-sysroot....* gnu/packages/rust.scm (make-rust-sysroot): New procedure. Change-Id: I5ce4b7a3aab0a9e8d254159e2fbc6cf6b3442c32 Efraim Flashner 2023-11-28gnu: rust: Allow using custom rust-src for rust-analyzer....* gnu/packages/rust.scm (rust)[arguments]: Rewrite 'wrap-rust-analyzer phase to allow using a custom RUST_SRC_PATH. Change-Id: Id811bc8d09c0f955ece9c9e6267a0ae96e61f105 Efraim Flashner 2023-11-28gnu: rust-analyzer: Move to rust.scm....* gnu/packages/rust-apps.scm (rust-analyzer): Move ... * gnu/packages/rust.scm (rust-analyzer): ... to here. Change-Id: I24db3731370f6e798b919409a32abec4a115c913 Efraim Flashner 2023-11-28gnu: Remove rust-src-1.64....* gnu/packages/rust.scm (rust-src-1.64): Remove variable. Change-Id: I88f7ebed18e478f3982cad3c8586cff64dada1bb Efraim Flashner 2023-11-28gnu: rust: Update to 1.73.0....* gnu/packages/rust.scm (rust): Update to 1.73.0. [arguments]: Add phase to skip some tests using cargo publish. Change-Id: I3b0539ce036805f606bfbc1a1bba98a95d4a22fe Efraim Flashner 2023-10-23gnu: Add rust-1.73....* gnu/packages/rust.scm (rust-1.73): New variable. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Change-Id: I97ab62112cd9386427d3cf8f9f6e1700492966b1 Herman Rimm 2023-10-18gnu: Add rust-1.72....* gnu/packages/rust.scm (rust-1.72): New variable. Efraim Flashner 2023-10-18gnu: Add rust-1.71....* gnu/packages/rust.scm (rust-1.71): New variable. Efraim Flashner 2023-10-18gnu: rust: Fix test failures on some architectures....* gnu/packages/rust.scm (rust)[arguments]: Adjust custom phase 'patch-process-tests to enable tests to pass on all architectures. Efraim Flashner 2023-10-18gnu: rust: Wrap rust-analyzer with rust source....* gnu/packages/rust.scm (rust)[outputs]: Add rust-src output. [arguments]: Add a phase to install the rust sources and a phase to wrap the rust-analyzer binary with the path to the rust sources. Efraim Flashner 2023-10-18gnu: rust: Build more tools....* gnu/packages/rust.scm (rust)[outputs]: Rename 'rustfmt' output to 'tools'. [arguments]: Adjust 'build, 'check and 'install phases to also provide clippy and rust-analyzer. Efraim Flashner 2023-10-18gnu: rust: Update to 1.70.0....* gnu/packages/rust.scm (rust): Update to 1.70.0. [arguments]: Remove 'patch-cargo-env-shebang phase. Adjust custom phases 'disable-tests-requiring-git, disable-tests-requiring-mercurial, 'patch-command-uid-gid-test for changes in the source. Simplify custom phases 'disable-tests-broken-on-aarch64, 'patch-process-tests, 'patch-command-exec-tests, 'disable-interrupt-tests. Efraim Flashner 2023-10-18gnu: rust: Add make-ignore-test-list function....A little helper function to make creating a list to ignore tests easier. * gnu/packages/rust.scm (make-ignore-test-list): New function. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Fries 2023-10-18gnu: Add rust-1.70....* gnu/packages/rust.scm (rust-1.70): New variable. * gnu/packages/patches/rust-1.70-fix-rustix-build.patch: New file. * gnu/local.mk (dist_patch_DATA): Register file. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Fries 2023-10-18gnu: Add rust-1.69....* gnu/packages/rust.scm (rust-1.69): New variable. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Fries 2023-09-16gnu: rust-1.55: Remove i586-gnu from supported-systems....* gnu/packages/rust.scm (rust-1.55)[supported-systems]: Remove i586-gnu. Christopher Baines 2023-09-09gnu: rust-analyzer: Fix build of version 2022-01-10....* gnu/packages/rust-apps.scm (rust-analyzer): Update dependency rust-notify-5-pre.13. This fixes the build of `rust-analyzer@2022-01-10`, which required a pinned version of `rust-notify` (`rust-notify-5-pre.13`) to compile and rust >= 1.64. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Distopico 2023-08-14gnu: rust: Update to 1.68.2....* gnu/packages/rust.scm (rust): Update to 1.68.2. [arguments]: Adjust 'skip-shebang-tests phase to moved files. Add 'adjust-rpath-values phase to link to shared libraries. Efraim Flashner