Subject: [bug#65873] [PATCH 3/5] gnu: transfig: Remove package.

From: Bruno Victal <[email-masked]>
Date: Mon, 11 Sep 2023 19:54:51 +0100

The source used by this package is outdated and its development was moved
into the repository used by fig2dev though considered its obsolete and not
built by default in the fig2dev package.

Note: enblend-enfuse no longer needs transfig since 4.2 according to NEWS.

* gnu/packages/docbook.scm (dblatex): Update comment.
* gnu/packages/photo.scm (enblend-enfuse)[native-inputs]: Remove transfig.
* gnu/packages/xfig.scm (transfig): Remove.
* gnu/packages/patches/transfig-gcc10-fno-common.patch: Remove.
* gnu/local.mk: Unregister it.
---
 gnu/local.mk                                  |  1 -
 gnu/packages/docbook.scm                      |  2 +-
 .../patches/transfig-gcc10-fno-common.patch   | 33 --------
 gnu/packages/photo.scm                        |  3 +-
 gnu/packages/xfig.scm                         | 81 -------------------
 5 files changed, 2 insertions(+), 118 deletions(-)
 delete mode 100644 gnu/packages/patches/transfig-gcc10-fno-common.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 4f8637418a..f4707a89e6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2021,7 +2021,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			\
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index ff6d32b168..c47d3db2c0 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -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
diff --git a/gnu/packages/patches/transfig-gcc10-fno-common.patch b/gnu/packages/patches/transfig-gcc10-fno-common.patch
deleted file mode 100644
index ebe9236533..0000000000
--- a/gnu/packages/patches/transfig-gcc10-fno-common.patch
+++ /dev/null
@@ -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;
- 
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index b290e2b29a..d9ecc1d39c 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -382,8 +382,7 @@ (define-public enblend-enfuse
            imagemagick
            libxml2
            (texlive-updmap.cfg)
-           tidy-html
-           transfig))
+           tidy-html))
     (inputs
      (list boost
            gsl
diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm
index 51791a1696..9ea40c193e 100644
--- a/gnu/packages/xfig.scm
+++ b/gnu/packages/xfig.scm
@@ -130,84 +130,3 @@ (define-public xfig
 deleted, moved or modified.  Attributes such as colors or line styles can be
 selected in various ways.  For text, 35 fonts are available.")
     (license 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 license:bsd-2)))
-- 
2.40.1