From 511539ae81100146d03575f41abda7d72d3000e0 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 13 Feb 2016 00:27:17 +0100 Subject: [PATCH] gnu: Add tclxml. * gnu/packages/patches/tclxml-3.2-install.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/tcl.scm (tclxml): New variable. Signed-off-by: Leo Famulari --- gnu-system.am | 1 + gnu/packages/patches/tclxml-3.2-install.patch | 17 +++++++ gnu/packages/tcl.scm | 46 +++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 gnu/packages/patches/tclxml-3.2-install.patch diff --git a/gnu-system.am b/gnu-system.am index a6582cd0c8..607614482e 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -707,6 +707,7 @@ dist_patch_DATA = \ gnu/packages/patches/tar-d_ino_in_dirent-fix.patch \ gnu/packages/patches/tar-skip-unreliable-tests.patch \ gnu/packages/patches/tcl-mkindex-deterministic.patch \ + gnu/packages/patches/tclxml-3.2-install.patch \ gnu/packages/patches/tcsh-fix-autotest.patch \ gnu/packages/patches/texi2html-document-encoding.patch \ gnu/packages/patches/texi2html-i18n.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 0000000000..09d59925bf --- /dev/null +++ b/gnu/packages/patches/tclxml-3.2-install.patch @@ -0,0 +1,17 @@ +Install everything in PREFIX, set EXTRA_PATH to find it there. + +--- ./Makefile.in~ 2016-02-06 01:29:16.595090365 +0100 ++++ ./Makefile.in 2016-02-06 09:29:04.286008931 +0100 +@@ -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)" \ + \ No newline at end of file diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index d98d2d619a..1f301458a9 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)) @@ -244,3 +245,48 @@ interfaces (GUIs) in the Tcl language.") (description "Tcllib, the standard Tcl library, is a collection of common utility functions and modules all written in high-level Tcl.") (license (package-license tcl)))) + +(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 "tclxml-3.2-install.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("tcl" ,tcl) + ("tcllib" ,tcllib) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt))) + (native-search-paths + (list (search-path-specification + (variable "TCLLIBPATH") + (separator " ") + (files (list (string-append "lib/Tclxml" version)))))) + (arguments + `(#:configure-flags + (list (string-append "--exec-prefix=" (assoc-ref %outputs "out")) + (string-append "--with-tclconfig=" + (assoc-ref %build-inputs "tcl") "/lib") + (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")) + #:test-target "test")) + (home-page "http://tclxml.sourceforge.net/") + (synopsis "Tcl library for XML parsing") + (description "TclXML provides event-based parsing of XML documents. The +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 + "file://LICENCE" + "See LICENCE in the distribution."))))