Patchwork gnu: Add nickle.

login
register
mail settings
Submitter non such
Date Sept. 19, 2016, 6:15 p.m.
Message ID <877fa7u572.fsf@we.make.ritual.n0.is>
Download mbox | patch
Permalink /patch/15778/
State New
Headers show

Comments

non such - Sept. 19, 2016, 6:15 p.m.
Description could be improved maybe.
Leo Famulari - Sept. 22, 2016, 5:44 a.m.
On Mon, Sep 19, 2016 at 06:15:13PM +0000, ng0 wrote:
> * gnu/local.mk: Include gnu/packages/nickle.scm .
> * gnu/packages/nickle.scm: Add new file.
> * gnu packages/nickle.scm (nickle): New variable.

> +    (native-inputs
> +     `(("automake" ,automake)
> +       ("autoconf" ,autoconf)
> +       ("bison" ,bison)
> +       ("flex" ,flex)
> +       ("readline" ,readline)))

It builds when automake, autoconf, bison, and flex are removed from
native-inputs. Does nickle need those programs?
ng0 - Sept. 22, 2016, 8:27 a.m.
Leo Famulari <leo@famulari.name> writes:

> [ Unknown signature status ]
> On Mon, Sep 19, 2016 at 06:15:13PM +0000, ng0 wrote:
>> * gnu/local.mk: Include gnu/packages/nickle.scm .
>> * gnu/packages/nickle.scm: Add new file.
>> * gnu packages/nickle.scm (nickle): New variable.
>
>> +    (native-inputs
>> +     `(("automake" ,automake)
>> +       ("autoconf" ,autoconf)
>> +       ("bison" ,bison)
>> +       ("flex" ,flex)
>> +       ("readline" ,readline)))
>
> It builds when automake, autoconf, bison, and flex are removed from
> native-inputs. Does nickle need those programs?

Then it probably doesn't need them. I haven't done anything so far with
this language, but there were other tools linked which might be worth
packaging to find out wether it works.. however I trust their test suite
(if there was one), so if everything builds it should be good.
Let me try and send a new patch (and also to update my email address -
same account, retiring domains some day).

Patch

From 47bb1e42fac4504e207f45f8906fa2f76dc76312 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@we.make.ritual.n0.is>
Date: Mon, 19 Sep 2016 18:10:15 +0000
Subject: [PATCH] gnu: Add nickle.

* gnu/local.mk: Include gnu/packages/nickle.scm .
* gnu/packages/nickle.scm: Add new file.
* gnu packages/nickle.scm (nickle): New variable.
---
 gnu/local.mk            |  1 +
 gnu/packages/nickle.scm | 63 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 gnu/packages/nickle.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 4076121..812e71d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -259,6 +259,7 @@  GNU_SYSTEM_MODULES =				\
   %D%/packages/nettle.scm			\
   %D%/packages/networking.scm			\
   %D%/packages/nfs.scm                          \
+  %D%/packages/nickle.scm                       \
   %D%/packages/ninja.scm			\
   %D%/packages/node.scm				\
   %D%/packages/noweb.scm			\
diff --git a/gnu/packages/nickle.scm b/gnu/packages/nickle.scm
new file mode 100644
index 0000000..5e0bb29
--- /dev/null
+++ b/gnu/packages/nickle.scm
@@ -0,0 +1,63 @@ 
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;;
+;;; 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 nickle)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages readline)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu))
+
+(define-public nickle
+  (package
+    (name "nickle")
+    (version "2.77")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://nickle.org/release/nickle-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0rhij7cn1zkn8wzxyjkamz9fs262zyg80p6v6i864hdalg4plpm3"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("automake" ,automake)
+       ("autoconf" ,autoconf)
+       ("bison" ,bison)
+       ("flex" ,flex)
+       ("readline" ,readline)))
+    (synopsis "Numeric oriented programming language")
+    (description
+     "Nickle is a programming language based prototyping environment with
+powerful programming and scripting capabilities.  Nickle supports a
+variety of datatypes, especially arbitrary precision numbers.
+The programming language vaguely resembles C.  Some things in C which do
+not translate easily are different, some design choices have been made
+differently, and a very few features are simply missing.
+Nickle provides the functionality of UNIX bc, dc and expr in much-improved
+ form.  It is also an ideal environment for prototyping complex algorithms.
+Nickle's scripting capabilities make it a nice replacement for spreadsheets
+in some applications, and its numeric features nicely complement the
+limited numeric functionality of text-oriented languages such as AWK and
+PERL.")
+    (home-page "http://nickle.org/")
+    (license license:expat)))
-- 
2.10.0