From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:53803) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iNHLt-0001kD-2z for guix-patches@gnu.org; Wed, 23 Oct 2019 10:11:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iNHLq-0000mw-Ko for guix-patches@gnu.org; Wed, 23 Oct 2019 10:11:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:54147) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iNHLq-0000mm-FC for guix-patches@gnu.org; Wed, 23 Oct 2019 10:11:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iNHLq-0000Ym-7y for guix-patches@gnu.org; Wed, 23 Oct 2019 10:11:02 -0400 Subject: [bug#37886] [PATCH] gnu: Add ipcalc. Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:49069) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iNGvs-0001Im-1c for guix-patches@gnu.org; Wed, 23 Oct 2019 09:44:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iNGvq-00040w-KY for guix-patches@gnu.org; Wed, 23 Oct 2019 09:44:11 -0400 Received: from ciffreo.uberspace.de ([185.26.156.173]:41808) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iNGvq-00040M-Au for guix-patches@gnu.org; Wed, 23 Oct 2019 09:44:10 -0400 From: Daniel =?UTF-8?Q?Sch=C3=A4fer?= Message-ID: Date: Wed, 23 Oct 2019 15:44:06 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 37886@debbugs.gnu.org Hi, here's my first patch to guix - please let me know whether everything's okay. It adds the ipcalc package which can calculate IP ranges. Example: $ /gnu/store/7jw45m8d1hcaihnr7978qqg1didl048a-ipcalc-0.41/bin/ipcalc 192.168.0.1/24 Address: 192.168.0.1 11000000.10101000.00000000. 00000001 Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000 Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111 => Network: 192.168.0.0/24 11000000.10101000.00000000. 00000000 HostMin: 192.168.0.1 11000000.10101000.00000000. 00000001 HostMax: 192.168.0.254 11000000.10101000.00000000. 11111110 Broadcast: 192.168.0.255 11000000.10101000.00000000. 11111111 Hosts/Net: 254 Class C, Private Internet * gnu/packages/ipcalc.scm (ipcalc): New file. --- gnu/packages/ipcalc.scm | 61 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 gnu/packages/ipcalc.scm diff --git a/gnu/packages/ipcalc.scm b/gnu/packages/ipcalc.scm new file mode 100644 index 0000000000..5f83389b25 --- /dev/null +++ b/gnu/packages/ipcalc.scm @@ -0,0 +1,61 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Daniel Schaefer +;;; +;;; 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 ipcalc) + #:use-module (gnu packages perl) + #:use-module (gnu packages) + #:use-module (guix download) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix build-system gnu)) + +(define-public ipcalc + (package + (name "ipcalc") + (version "0.41") + (source (origin + (method url-fetch) + (uri (string-append "http://jodies.de/ipcalc-archive/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "12if9sm8h2ac0pgwkw835cgyqjxm6h27k4kfn2vfas9krrqwbafx")))) + (inputs `(("perl" ,perl))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; No test suite + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out-bin (string-append + (assoc-ref outputs "out") + "/bin"))) + (install-file "ipcalc" out-bin) + #t)))))) + (synopsis "Simple IP network calculator") + (description "ipcalc takes an IP address and netmask and calculates the + resulting broadcast, network, Cisco wildcard mask, and host + range. By giving a second netmask, you can design subnets and + supernets. It is also intended to be a teaching tool and + presents the subnetting results as easy-to-understand binary + values.") + (home-page "http://jodies.de/ipcalc") + (license gpl2+))) -- 2.23.0