Re: gnu: Add mg.
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis: > From 9946ebe13954913513956c8d8130f58149daf45f Mon Sep 17 00:00:00 2001 > From: Taylan Ulrich B > Date: Wed, 26 Nov 2014 23:14:16 +0100 > Subject: [PATCH] gnu: Add mg. > > * gnu/packages/mg.scm: New file. > * gnu-system.am (GNU_SYSTEM_MODULES): Add mg.scm. Applied, thanks! (I was hoping someone would pick up the review, but that didn’t happen. ;-)) Ludo’.
Re: gnu: Add mg.
Neat, didn't know I could leave out the absolute paths. >From 9946ebe13954913513956c8d8130f58149daf45f Mon Sep 17 00:00:00 2001 From: Taylan Ulrich B Date: Wed, 26 Nov 2014 23:14:16 +0100 Subject: [PATCH] gnu: Add mg. * gnu/packages/mg.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add mg.scm. --- gnu-system.am | 1 + gnu/packages/mg.scm | 64 + 2 files changed, 65 insertions(+) create mode 100644 gnu/packages/mg.scm diff --git a/gnu-system.am b/gnu-system.am index 4c9fcda..77d4915 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -173,6 +173,7 @@ GNU_SYSTEM_MODULES =\ gnu/packages/mc.scm\ gnu/packages/mcrypt.scm \ gnu/packages/messaging.scm \ + gnu/packages/mg.scm\ gnu/packages/miscfiles.scm \ gnu/packages/mit-krb5.scm \ gnu/packages/moe.scm\ diff --git a/gnu/packages/mg.scm b/gnu/packages/mg.scm new file mode 100644 index 000..a315dfe --- /dev/null +++ b/gnu/packages/mg.scm @@ -0,0 +1,64 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer +;;; +;;; 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 mg) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (guix build-system gnu) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages pkg-config)) + +(define-public mg + (package +(name "mg") +(version "20050429") +(source (origin + (method url-fetch) + (uri (string-append "http://homepage.boetes.org/software/mg/mg-"; + version ".tar.gz")) + (sha256 + (base32 +"19kib0aha4a40izzds7r63qfb2akq4sily6k28fl0n0zdgq0cna1")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "Makefile.in" +(("-Werror") "") +(("-lcurses") "-lncurses") +(("/usr/bin/install") "install -D") +(("/usr/bin/strip") "strip")) +(build-system gnu-build-system) +(inputs + `(("ncurses" ,ncurses))) +(arguments + ;; No test suite available. + '(#:tests? #f + #:phases (alist-cons-before + 'configure 'pre-configure + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile.in" + (("(prefix=[[:blank:]]*)/usr/local" all prefix) + (string-append prefix (assoc-ref outputs "out") + %standard-phases))) +(home-page "http://homepage.boetes.org/software/mg/";) +(synopsis "Microscopic GNU Emacs clone") +(description + "mg is Micro GNU Emacs; this is a portable version of the mg maintained +by the OpenBSD team.") +(license public-domain))) -- 2.1.2
Re: gnu: Add mg.
taylanbayi...@gmail.com ("Taylan Ulrich "Bayırlı/Kammer\"") skribis: > + (snippet > + '(begin > + (substitute* "Makefile.in" > +(("-Werror") "") > +(("-lcurses") "-lncurses") OK. > +(("/usr/bin/install" install) > + (string-append install " -D"))) Here ‘install’ is bound to the complete match–i.e., “/usr/bin/install”. So in effect, this clause keeps “/usr/bin/install” and appends ‘-D’, which is why you have to patch it again in the ‘pre-configure’ phase. It would be simpler to directly replace “/usr/bin/install” by “install -D” in this snippet. Likewise, “/usr/bin/strip” should be replaced by “strip” in the snippet. In general, all the input-independent substitutions should go in the snippet. [...] > + ;; Fix pathes in Makefile.in. s/pathes/file names/. > + (substitute* "Makefile.in" > + (("(prefix=[[:blank:]]*)/usr/local" all prefix) > + (string-append prefix (assoc-ref outputs "out"))) This is the only substitute* clause that should remain here. Could you send an updated patch? Thanks, Ludo’.
gnu: Add mg.
I'm unsure about the ways I use `substitute*' to patch the Makefile.in of this (both in the source declaration and in the pre-configure phase); maybe someone can give me hints on more robust (future proof) patterns. ===File /home/tub/media/src/guix/0001-gnu-Add-mg.patch== >From f5ee84666973c988633545e58ee84b6fa624862c Mon Sep 17 00:00:00 2001 From: Taylan Ulrich B Date: Wed, 26 Nov 2014 23:14:16 +0100 Subject: [PATCH] gnu: Add mg. * gnu/packages/mg.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add mg.scm. --- gnu-system.am | 1 + gnu/packages/mg.scm | 71 + 2 files changed, 72 insertions(+) create mode 100644 gnu/packages/mg.scm diff --git a/gnu-system.am b/gnu-system.am index 4c9fcda..77d4915 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -173,6 +173,7 @@ GNU_SYSTEM_MODULES =\ gnu/packages/mc.scm \ gnu/packages/mcrypt.scm \ gnu/packages/messaging.scm \ + gnu/packages/mg.scm \ gnu/packages/miscfiles.scm \ gnu/packages/mit-krb5.scm\ gnu/packages/moe.scm \ diff --git a/gnu/packages/mg.scm b/gnu/packages/mg.scm new file mode 100644 index 000..9906c2c --- /dev/null +++ b/gnu/packages/mg.scm @@ -0,0 +1,71 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer +;;; +;;; 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 mg) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (guix build-system gnu) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages pkg-config)) + +(define-public mg + (package +(name "mg") +(version "20050429") +(source (origin + (method url-fetch) + (uri (string-append "http://homepage.boetes.org/software/mg/mg-"; + version ".tar.gz")) + (sha256 + (base32 +"19kib0aha4a40izzds7r63qfb2akq4sily6k28fl0n0zdgq0cna1")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "Makefile.in" +(("-Werror") "") +(("-lcurses") "-lncurses") +(("/usr/bin/install" install) + (string-append install " -D"))) +(build-system gnu-build-system) +(inputs + `(("ncurses" ,ncurses))) +(arguments + ;; No test suite available. + '(#:tests? #f + #:phases (alist-cons-before + 'configure 'pre-configure + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Fix pathes in Makefile.in. + (substitute* "Makefile.in" + (("(prefix=[[:blank:]]*)/usr/local" all prefix) + (string-append prefix (assoc-ref outputs "out"))) + (("/usr/bin/install") + (string-append (assoc-ref inputs "coreutils") + "/bin/install")) + (("/usr/bin/strip") + (string-append (assoc-ref inputs "binutils") + "/bin/strip" + %standard-phases))) +(home-page "http://homepage.boetes.org/software/mg/";) +(synopsis "Microscopic GNU Emacs clone") +(description + "mg is Micro GNU Emacs; this is a portable version of the mg maintained +by the OpenBSD team.") +(license public-domain))) -- 2.1.2