projects/guix·blob java-team · refs

72 lines · 3.3 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016 Nikita <[email protected]>
3;;; Copyright © 2018 Tobias Geerinckx-Rice <[email protected]>
4;;; Copyright © 2024,2026 Eric Bavier <[email protected]>
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages nickle)
22 #:use-module (gnu packages)
23 #:use-module (gnu packages algebra)
24 #:use-module (gnu packages bison)
25 #:use-module (gnu packages compiler-tools)
26 #:use-module (gnu packages pkg-config)
27 #:use-module (gnu packages readline)
28 #:use-module (gnu packages ruby-xyz)
29 #:use-module (guix build-system meson)
30 #:use-module (guix download)
31 #:use-module (guix gexp)
32 #:use-module ((guix licenses) #:prefix license:)
33 #:use-module (guix packages))
34
35(define-public nickle
36 (package
37 (name "nickle")
38 (version "2.107")
39 (source (origin
40 (method url-fetch)
41 (uri (string-append "https://nickle.org/release/nickle-"
42 version ".tar.xz"))
43 (sha256
44 (base32
45 "1wli8p5fv2ldy51ycc8pcx8rl3ph2wbyiqs21qpjadlvildaaqj0"))))
46 (build-system meson-build-system)
47 (arguments
48 (list #:phases #~(modify-phases %standard-phases
49 (add-before 'configure 'disable-benchmarks
50 ;; Benchmarks would require `gmp` and don't
51 ;; test anything not already covered by other
52 ;; tests, so disable them here.
53 (lambda _
54 (substitute* "meson.build"
55 (("^subdir\\('bench'\\)" &)
56 (string-append "# " &))))))))
57 (native-inputs (list bc bison flex pkg-config ruby-asciidoctor-pdf))
58 (inputs (list readline))
59 (synopsis "Numeric oriented programming language")
60 (description
61 "Nickle is a programming language based prototyping environment with
62powerful programming and scripting capabilities. Nickle supports a variety of
63datatypes, especially arbitrary precision numbers. The programming language
64vaguely resembles C. Some things in C which do not translate easily are
65different, some design choices have been made differently, and a very few
66features are simply missing. Nickle provides the functionality of Unix bc, dc
67and expr in a different form. It is also an ideal environment for prototyping
68complex algorithms. Nickle's scripting capabilities make it a replacement for
69spreadsheets in some applications, and its numeric features complement the
70limited numeric functionality of text-oriented languages such as AWK and Perl.")
71 (home-page "https://nickle.org/")
72 (license license:expat)))