On Tue, 09 Feb 2016 21:20:54 +0100 Jan Nieuwenhuizen wrote: > From: Jan Nieuwenhuizen > To: guix-devel@gnu.org > Subject: [PATCH] gnu: Add tclxml. > Date: Tue, 09 Feb 2016 21:20:54 +0100 > Sender: guix-devel-bounces+efraim=flashner.co.il@gnu.org > User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) > Organization: AvatarAcademy.nl > > Hi, > > Another tcl library package. > > Greetings, Jan > You also have to add the patch file to gnu-system.am so it gets picked up. > > From 79f56d9c3f21e624ba9a3bfda00d2fc264796494 Mon Sep 17 00:00:00 2001 > From: Jan Nieuwenhuizen > Date: Tue, 9 Feb 2016 20:45:51 +0100 > Subject: [PATCH] gnu: Add tclxml. > > * gnu/packages/tcl.scm (tclxml): New variable. > * gnu/packages/patches/tclxml-3.2-install.patch: New file. > --- > gnu/packages/patches/tclxml-3.2-install.patch | 23 +++++++++++++ > gnu/packages/tcl.scm | 47 +++++++++++++++++++++++++-- > 2 files changed, 68 insertions(+), 2 deletions(-) > create mode 100644 gnu/packages/patches/tclxml-3.2-install.patch > > diff --git a/gnu/packages/patches/tclxml-3.2-install.patch b/gnu/packages/patches/tclxml-3.2-install.patch > new file mode 100644 > index 0000000..63542aa > --- /dev/null > +++ b/gnu/packages/patches/tclxml-3.2-install.patch > @@ -0,0 +1,23 @@ > +--- ./Makefile.in~ 2016-02-06 01:29:16.595090365 +0100 > ++++ ./Makefile.in 2016-02-06 09:29:04.286008931 +0100 > +@@ -76,7 +76,7 @@ > + > + srcdir = @srcdir@ > + prefix = @prefix@ > +-exec_prefix = @exec_prefix@ > ++exec_prefix = @prefix@ > + > + bindir = @bindir@ > + libdir = @libdir@ > +@@ -133,9 +133,9 @@ > + # require for testing here (like TCLX_LIBRARY). > + #======================================================================== > + > +-EXTRA_PATH = $(top_builddir):$(TCL_BIN_DIR) > ++EXTRA_PATH = $(top_builddir):$(TCL_BIN_DIR):$(libdir) > + #EXTRA_PATH = $(top_builddir):$(TCL_BIN_DIR):$(TK_BIN_DIR) > +-TCLLIBPATH = $(top_builddir) > ++TCLLIBPATH = $(pkglibdir) > + TCLSH_ENV = TCL_LIBRARY=`@CYGPATH@ $(TCL_SRC_DIR)/library` \ > + @LD_LIBRARY_PATH_VAR@="$(EXTRA_PATH):$(@LD_LIBRARY_PATH_VAR@)" \ > + PATH="$(EXTRA_PATH):$(PATH)" \ > diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm > index 8d6059d..101b8f8 100644 > --- a/gnu/packages/tcl.scm > +++ b/gnu/packages/tcl.scm > @@ -30,6 +30,7 @@ > #:use-module (gnu packages fontutils) > #:use-module (gnu packages perl) > #:use-module (gnu packages pkg-config) > + #:use-module (gnu packages xml) > #:use-module (gnu packages xorg) > #:use-module (guix licenses)) > > @@ -248,5 +249,47 @@ interfaces (GUIs) in the Tcl language.") > (license (non-copyleft "http://www.tcl.tk/software/tcltk/license.html" > "Tcl/Tk license")))) > > - > - > +(define-public tclxml > + (package > + (name "tclxml") > + (version "3.2") > + (source (origin > + (method url-fetch) > + (uri (string-append "mirror://sourceforge/" name "/" > + name "-" version ".tar.gz")) > + (sha256 > + (base32 > + "0ffb4aw63inig3aql33g4pk0kjk14dv238anp1scwjdjh1k6n4gl")) > + (patches (list (search-patch (string-append (getenv "HOME") "/development.git/tclxml-3.2-install.patch")))))) this line should be (patches (search-path "tclxml-3.2-install.patch")))) (I think, check other packages with patches) > + (build-system gnu-build-system) > + (native-inputs > + `(("tcl" ,tcl) > + ("tcllib" ,tcllib) > + ("libxml2" ,libxml2) > + ("libxslt" ,libxslt))) > + (native-search-paths this line should line up with the others like (native-inputs. It looks like it also threw off (arguments > + (list (search-path-specification > + (variable "TCLLIBPATH") > + (separator " ") > + (files (list (string-append "lib/Tclxml" version)))))) I don't think this needs to be a list. Also, (variable, (separator and (file should line up with the "e" in (search > + (arguments > + `(#:configure-flags > + (list (string-append "--with-tclconfig=" > + (assoc-ref %build-inputs "tcl") > + "/lib") line these two lines up with the "-- the two following string-appends should line up with the above string-append > + (string-append "--with-xml2-config=" > + (assoc-ref %build-inputs "libxml2") > + "/bin/xml2-config") > + (string-append "--with-xslt-config=" > + (assoc-ref %build-inputs "libxslt") > + "/bin/xslt-config")) > + #:phases (modify-phases %standard-phases > + (delete 'check)))) normally we put #:tests? #f, with a reason why. Are there no tests? Do they fail unexpectedly? > + (home-page "http://tclxml.sourceforge.net/") > + (synopsis " Tcl library for XML parsing") ^ extra space > + (description " TclXML provides event-based parsing of XML documents. The ^ extra space > + application may register callback scripts for certain document > + features, and when the parser encounters those features while parsing > + the document the callback is evaluated.") > + (license (non-copyleft "http://sourcesdev.debian.net/copyright/license/tclxml/3.2-1/" this line is too long. Also, is there a spot on their website that lists the license? If not, it'd be better to point to a file in the tarball. > + "")))) make sure you run guix lint, there are several spaces where you use tabs and we only use spaces -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted