From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Bavier Subject: [PATCH 3/4] gnu: Add xfig. Date: Fri, 10 Oct 2014 13:19:09 -0500 Message-ID: <87oatjvlcy.fsf@member.fsf.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36887) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xceki-0001hk-EB for guix-devel@gnu.org; Fri, 10 Oct 2014 14:17:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xcekc-0002Dp-KW for guix-devel@gnu.org; Fri, 10 Oct 2014 14:17:20 -0400 Received: from mail-ig0-x231.google.com ([2607:f8b0:4001:c05::231]:57801) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xcekc-0002DZ-E9 for guix-devel@gnu.org; Fri, 10 Oct 2014 14:17:14 -0400 Received: by mail-ig0-f177.google.com with SMTP id a13so3778259igq.4 for ; Fri, 10 Oct 2014 11:17:13 -0700 (PDT) Received: from cooper.gmail.com (chippewa-nat.cray.com. [136.162.34.1]) by mx.google.com with ESMTPSA id w8sm2385488igz.1.2014.10.10.11.17.12 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Fri, 10 Oct 2014 11:17:13 -0700 (PDT) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=0003-gnu-Add-xfig.patch Content-Transfer-Encoding: 8bit >From fca4924a98e06ec0d2877b14f074515a2a970605 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 10 Oct 2014 13:10:42 -0500 Subject: [PATCH 3/4] gnu: Add xfig. * gnu/packages/xfig.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/xfig.scm | 131 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 gnu/packages/xfig.scm diff --git a/gnu-system.am b/gnu-system.am index 1e875be..6028527 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -257,6 +257,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/which.scm \ gnu/packages/wordnet.scm \ gnu/packages/wv.scm \ + gnu/packages/xfig.scm \ gnu/packages/xiph.scm \ gnu/packages/xlockmore.scm \ gnu/packages/xml.scm \ diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm new file mode 100644 index 0000000..7cb2258 --- /dev/null +++ b/gnu/packages/xfig.scm @@ -0,0 +1,131 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier +;;; +;;; 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 xfig) + #:use-module (guix packages) + #:use-module ((guix licenses) #:select (bsd-2)) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages xorg) + #:use-module (gnu packages image) + #:use-module (gnu packages groff) + #:use-module (gnu packages compression)) + +(define-public xfig + (package + (name "xfig") + (version "3.2.5c") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/mcj/mcj-source/xfig." + version ".full.tar.gz")) + (sha256 + (base32 + "1yd1jclvw5w3ja4jjzr1ysbn8iklh88wq84jn9d1gavrbfbqyqpa")))) + (build-system gnu-build-system) + (native-inputs + `(("imake" ,imake) + ("makedepend" ,makedepend) + ("groff" ,groff))) ;for creating some doc + (inputs + `(("libxaw3d" ,libxaw3d) + ;; Requires libjpeg>=9a, otherwise jmorecfg.h define an enum FALSE that + ;; conflicts with the FALSE macro from X11/Intrinsic.h + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libxpm" ,libxpm) + ("libx11" ,libx11) + ("libxmu" ,libxmu) + ("libxt" ,libxt) + ("zlib" ,zlib))) + (arguments + `(#:tests? #f + #:phases + (alist-replace + 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((imake (assoc-ref inputs "imake")) + (out (assoc-ref outputs "out"))) + (substitute* "Imakefile" + (("XCOMM (BINDIR = )[[:graph:]]*" _ front) + (string-append front out "/bin")) + (("(PNGLIBDIR = )[[:graph:]]*" _ front) + (string-append front (assoc-ref inputs "libpng") "/lib")) + (("(PNGINC = -I)[[:graph:]]*" _ front) + (string-append front (assoc-ref inputs "libpng") "/include")) + (("(JPEGLIBDIR = )[[:graph:]]*" _ front) + (string-append front (assoc-ref inputs "libjpeg") "/lib")) + (("(JPEGINC = -I)[[:graph:]]*" _ front) + (string-append front (assoc-ref inputs "libjpeg") "/include")) + (("(ZLIBDIR = )[[:graph:]]*" _ front) + (string-append front (assoc-ref inputs "zlib") "/lib")) + (("(XPMLIBDIR = )[[:graph:]]*" _ front) + (string-append front (assoc-ref inputs "libxpm") "/lib")) + (("(XPMINC = -I)[[:graph:]]*" _ front) + (string-append front (assoc-ref inputs "libxpm") "/include")) + (("(XFIGLIBDIR = )[[:graph:]]*" _ front) + (string-append front out "/lib")) + (("(XFIGDOCDIR = )[[:graph:]]*" _ front) + (string-append front out "/share/doc")) + (("XCOMM USEINLINE") "USEINLINE")) + ;; The -a argument is required in order to pick up the correct paths + ;; to several X header files. + (zero? (system* "xmkmf" "-a")) + ;; Reset some variables that are inherited from imake templates + (substitute* "Makefile" + ;; This imake variable somehow remains undefined + (("DefaultGcc2AMD64Opt") "-O2") + ;; Reset a few variable defaults that are set in imake templates + ((imake) out) + (("(MANPATH = )[[:graph:]]*" _ front) + (string-append front out "/share/man")) + (("(CONFDIR = )([[:graph:]]*)" _ front default) + (string-append front out default))))) + (alist-cons-after + 'install 'install/libs + (lambda _ + (zero? (system* "make" "install.libs"))) + (alist-cons-after + 'install 'install/doc + (lambda _ + (begin + ;; The Doc/xfig_man.html file is expected by the install.html + ;; target, but is not present in the tarball, so generate it. + (use-modules (ice-9 popen)) + (let* ((in (open-pipe* OPEN_READ + "groff" "-mandoc" "-Thtml" + "Doc/xfig.man")) + (out (open-output-file "Doc/xfig_man.html"))) + (begin + (dump-port in out) + (close-pipe in) + (close-port out))) + (zero? (system* "make" "install.doc")))) + %standard-phases))))) + (home-page "http://xfig.org/") + (synopsis "Interactive drawing tool") + (description + "Xfig is an interactive drawing tool which runs under X Window System. +In xfig, figures may be drawn using objects such as circles, boxes, lines, +spline curves, text, etc. It is also possible to import images in formats +such as GIF, JPEG, EPSF (PostScript), etc. Those objects can be created, +deleted, moved or modified. Attributes such as colors or line styles can be +selected in various ways. For text, 35 fonts are available.") + (license bsd-2))) -- 1.7.9.5 --=-=-= -- Eric Bavier --=-=-=--