mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: Add fig2dev.
The source used by the transfig package is outdated and its development
was moved into the repository used by fig2dev though the utility
`transfig' is considered obsolete and not built by default in the
fig2dev package. In practice, this is not a problem since the user is
generally after the `fig2dev' utility which was also provided in the
(now obsolete) transfig package.
Descriptions and comments pointing to the now obsolete packages are
adjusted accordingly. For texlive-latex-make, this follow upstream at
<1dcc04aaa8
>.
* gnu/packages/xfig.scm: Import all of (guix licenses).
(xfig)[license]: Adjust accordingly.
(fig2dev): New variable.
(transfig): Deprecate in favor of fig2dev.
* gnu/packages/patches/transfig-gcc10-fno-common.patch: Removed file.
* gnu/local.mk (dist_patch_DATA): Unregister it.
* gnu/packages/docbook.scm (dblatex): Update comment.
* gnu/packages/tex.scm (texlive-latex-make)[description]: Update description.
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
This commit is contained in:
parent
8c01465142
commit
dd36ca07f0
5 changed files with 65 additions and 119 deletions
|
@ -2029,7 +2029,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/tootle-glib-object-naming.patch \
|
||||
%D%/packages/patches/tootle-reason-phrase.patch \
|
||||
%D%/packages/patches/transcode-ffmpeg.patch \
|
||||
%D%/packages/patches/transfig-gcc10-fno-common.patch \
|
||||
%D%/packages/patches/trytond-add-egg-modules-to-path.patch \
|
||||
%D%/packages/patches/trytond-add-guix_trytond_path.patch \
|
||||
%D%/packages/patches/ttf2eot-cstddef.patch \
|
||||
|
|
|
@ -532,7 +532,7 @@ (define-public dblatex
|
|||
(base32
|
||||
"0yd09nypswy3q4scri1dg7dr99d7gd6r2dwx0xm81l9f4y32gs0n"))))
|
||||
(build-system python-build-system)
|
||||
;; TODO: Add xfig/transfig for fig2dev utility
|
||||
;; TODO: Add fig2dev for fig2dev utility.
|
||||
(inputs
|
||||
`(("texlive" ,(texlive-updmap.cfg (list texlive-anysize
|
||||
texlive-appendix
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
Fixes "multiple definition" errors when building with GCC 10+.
|
||||
|
||||
Based on <https://bugs.gentoo.org/show_bug.cgi?id=706706>.
|
||||
--- a/fig2dev/dev/gensvg.c 2010-07-01 22:41:16.000000000 +0200
|
||||
+++ b/fig2dev/dev/gensvg.c 2022-02-27 20:02:33.379945500 +0100
|
||||
@@ -230,10 +230,12 @@
|
||||
};
|
||||
|
||||
/* arrowhead arrays */
|
||||
-Point points[50], fillpoints[50], clippoints[50];
|
||||
-int npoints, nfillpoints, nclippoints;
|
||||
-int arrowx1, arrowy1; /* first point of object */
|
||||
-int arrowx2, arrowy2; /* second point of object */
|
||||
+Point fillpoints[50];
|
||||
+int nfillpoints;
|
||||
+extern Point points[50], clippoints[50];
|
||||
+extern int npoints, nclippoints;
|
||||
+extern int arrowx1, arrowy1; /* first point of object */
|
||||
+extern int arrowx2, arrowy2; /* second point of object */
|
||||
|
||||
static int tileno=0; /* number of current tile */
|
||||
|
||||
--- a/fig2dev/fig2dev.h 2010-03-16 19:53:20.000000000 +0100
|
||||
+++ b/fig2dev/fig2dev.h 2022-02-27 19:56:06.072253991 +0100
|
||||
@@ -126,7 +126,7 @@
|
||||
extern char *prog, *from, *to;
|
||||
extern char *name;
|
||||
extern double font_size;
|
||||
-Boolean correct_font_size; /* use correct font size */
|
||||
+extern Boolean correct_font_size; /* use correct font size */
|
||||
extern double mag, fontmag;
|
||||
extern FILE *tfp;
|
||||
|
|
@ -40434,7 +40434,7 @@ (define-public texlive-latex-make
|
|||
|
||||
@item @file{figlatex.sty}: a LaTeX package to easily insert Xfig figures. It
|
||||
can interact with LaTeX.mk so that the latter automatically invokes
|
||||
@command{transfig} if needed.
|
||||
@command{fig2dev} if needed.
|
||||
|
||||
@end itemize")
|
||||
(license license:gpl3+)))
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
(define-module (gnu packages xfig)
|
||||
#:use-module (guix packages)
|
||||
#:use-module ((guix licenses) #:select (bsd-2))
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix build-system gnu)
|
||||
|
@ -32,8 +32,69 @@ (define-module (gnu packages xfig)
|
|||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages netpbm)
|
||||
#:use-module (gnu packages compression))
|
||||
|
||||
(define-public fig2dev
|
||||
(package
|
||||
(name "fig2dev")
|
||||
(version "3.2.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/mcj/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cch429zbmrg2zy1mkx9xwnpvkjhmlw40c88bvi2virws744dqhm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((programs
|
||||
(find-files (string-append #$output "/bin")))
|
||||
(path
|
||||
(search-path-as-list
|
||||
'("bin")
|
||||
(map (cut assoc-ref inputs <>)
|
||||
(list "ghostscript" "imagemagick")))))
|
||||
(for-each (lambda (program)
|
||||
(wrap-program program
|
||||
`("PATH" ":" prefix ,path)))
|
||||
programs)))))))
|
||||
(inputs
|
||||
(list libpng zlib
|
||||
;; Quoth INSTALL:
|
||||
;; “To run fig2dev, the packages
|
||||
;; ghostscript, and one out of
|
||||
;; netpbm | ImageMagick | GraphicsMagick
|
||||
;; are needed to produce various bitmap output formats, or process
|
||||
;; fig files with embedded images.”
|
||||
ghostscript
|
||||
imagemagick))
|
||||
(native-inputs
|
||||
;; XXX: Tests fail if netpbm is absent.
|
||||
(list netpbm))
|
||||
(home-page "https://sourceforge.net/projects/mcj")
|
||||
(synopsis "Translate Fig to other graphic description formats")
|
||||
(description "Fig2dev is a set of tools for creating TeX documents with
|
||||
graphics which are portable, in the sense that they can be printed in a wide
|
||||
variety of environments.")
|
||||
(license
|
||||
(license:non-copyleft "file://Makefile.am"
|
||||
"See <https://spdx.org/licenses/Xfig.html>."))))
|
||||
|
||||
(define-public transfig
|
||||
(deprecated-package "transfig" fig2dev))
|
||||
|
||||
(define-public xfig
|
||||
(package
|
||||
(name "xfig")
|
||||
|
@ -71,85 +132,4 @@ (define-public xfig
|
|||
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)))
|
||||
|
||||
(define-public transfig
|
||||
(package
|
||||
(name "transfig")
|
||||
(version "3.2.5e")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/mcj/mcj-source/transfig."
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0i3p7qmg2w8qrad3pn42b0miwarql7yy0gpd49b1bpal6bqsiicf"))
|
||||
(patches
|
||||
(search-patches
|
||||
"transfig-gcc10-fno-common.patch")))) ; fix GCC10 build
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list imake makedepend))
|
||||
(inputs
|
||||
`(("xfig" ,xfig)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("libpng" ,libpng)
|
||||
("libxpm" ,libxpm)
|
||||
("libx11" ,libx11)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((imake (assoc-ref inputs "imake"))
|
||||
(out (assoc-ref outputs "out")))
|
||||
(substitute* '("fig2dev/Imakefile"
|
||||
"transfig/Imakefile")
|
||||
(("XCOMM (BINDIR = )[[:graph:]]*" _ front)
|
||||
(string-append front out "/bin"))
|
||||
(("XCOMM USEINLINE") "USEINLINE")
|
||||
;; The variable name is deceptive. The directory is used as an
|
||||
;; installation path for bitmaps.
|
||||
(("(XFIGLIBDIR =[[:blank:]]*)[[:graph:]]*" _ front)
|
||||
(string-append front out "/lib"))
|
||||
(("(XPMLIBDIR = )[[:graph:]]*" _ front)
|
||||
(string-append front (assoc-ref inputs "libxpm") "/lib"))
|
||||
(("(XPMINC = -I)[[:graph:]]*" _ front)
|
||||
(string-append front (assoc-ref inputs "libxpm") "/include/X11"))
|
||||
(("/usr/local/lib/fig2dev") (string-append out "/lib")))
|
||||
;; The -a argument is required in order to pick up the correct paths
|
||||
;; to several X header files.
|
||||
(invoke "xmkmf" "-a")
|
||||
(substitute* '("Makefile"
|
||||
"fig2dev/Makefile"
|
||||
"fig2dev/dev/Makefile"
|
||||
"transfig/Makefile")
|
||||
;; These imake variables somehow remain undefined
|
||||
(("DefaultGcc2[[:graph:]]*Opt") "-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))
|
||||
;; The "l" option was silently ignored until binutils 2.36,
|
||||
;; where it got a different purpose. So remove it to avoid
|
||||
;; "ar: libdeps specified more than once".
|
||||
(("((AR|MODAR) = ar )clq" _ front)
|
||||
(string-append front "cq")))
|
||||
#t)))
|
||||
(add-after 'install 'install/doc
|
||||
(lambda _
|
||||
(invoke "make" "install.man"))))))
|
||||
(home-page "https://mcj.sourceforge.net/")
|
||||
(synopsis "Create portable LaTeX figures")
|
||||
(description
|
||||
"Transfig creates a makefile to translate figures described in Fig code
|
||||
or PIC into a specified LaTeX graphics language. PIC files are identified by
|
||||
the suffix \".pic\"; Fig files can be specified either with or without the
|
||||
suffix \".fig\". Transfig also creates a TeX macro file appropriate to the
|
||||
target language.")
|
||||
(license bsd-2)))
|
||||
(license license:bsd-2)))
|
||||
|
|
Loading…
Reference in a new issue