commit:     93644497325b6df7a17f8bd05ad0495607aa5c34
Author:     Mario Haustein <mario.haustein <AT> hrz <DOT> tu-chemnitz <DOT> de>
AuthorDate: Thu Jan 30 21:44:27 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Feb 19 11:11:09 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93644497

media-gfx/fig2dev: add 3.2.9a

Closes: https://bugs.gentoo.org/944153
Signed-off-by: Mario Haustein <mario.haustein <AT> hrz.tu-chemnitz.de>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-gfx/fig2dev/Manifest                         |   1 +
 media-gfx/fig2dev/fig2dev-3.2.9a.ebuild            | 103 +++++++++++++++++++++
 .../fig2dev/files/fig2dev-3.2.9a-prototypes.patch  |  62 +++++++++++++
 3 files changed, 166 insertions(+)

diff --git a/media-gfx/fig2dev/Manifest b/media-gfx/fig2dev/Manifest
index b56d9caad949..9071a302e380 100644
--- a/media-gfx/fig2dev/Manifest
+++ b/media-gfx/fig2dev/Manifest
@@ -1,2 +1,3 @@
 DIST fig2dev-3.2.9.tar.xz 529892 BLAKE2B 
d6b4f84f89f85b282e2e02a3a4129ab8c9f67b3376b670fb553fc89347bf2552bfc3b3bfc4d4a4a35da7f9e5659f6f6fdf5a1fb4f82fb87d140dc09d079d9ffa
 SHA512 
4a92539d79027c73cd9fa53d7e960db40ae5616d3197023a98346de4727cd70b28cd7d64ba33063dbe3dcacada7e97bb0e0c595547781a4244aea8c75d43f406
+DIST fig2dev-3.2.9a.tar.xz 536560 BLAKE2B 
5648972433ed359f64da233748b556925e8efc7a87a5e49c1ce42f91b093c98846e588ea03c4655d393ba91f14714370cdfe7fca62627a2f69edcf3ce453ee5e
 SHA512 
ffc56ef0bb3313d6650819c5a5bbf3c532c01a9649a1c424ade977411765cb413ef032d162695e14207918bbb535cb0a98e69df9060dd706c0c9d19d4f9435cc
 DIST fig2mpdf-1.1.2.tar.bz2 191438 BLAKE2B 
411791fecf6e10aac92c004c7da69a10c97a6e12f811452f12d0b51b3a1eeff8fff97d831a5e64c9047855d27e6825a4e65f62be2536651e5876edd00cc822a9
 SHA512 
36dea40008371386b47a4451e2f311cc2540ab063e3b61e628a535775d62a8840c5cc20c37b80465184bf041c6e583aaf3e5156079e72211d0a87ff3346d2980

diff --git a/media-gfx/fig2dev/fig2dev-3.2.9a.ebuild 
b/media-gfx/fig2dev/fig2dev-3.2.9a.ebuild
new file mode 100644
index 000000000000..ad7e2fde03f6
--- /dev/null
+++ b/media-gfx/fig2dev/fig2dev-3.2.9a.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+#MY_P="${PN}.${PV}"
+
+DESCRIPTION="Set of tools for creating TeX documents with graphics"
+HOMEPAGE="https://www.xfig.org/";
+SRC_URI="https://downloads.sourceforge.net/mcj/${P}.tar.xz
+       mirror://gentoo/fig2mpdf-1.1.2.tar.bz2"
+#S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 
~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+ghostscript"
+
+RDEPEND="
+       media-libs/libpng
+       media-libs/libjpeg-turbo:=
+       x11-apps/rgb
+       x11-libs/libXpm
+       !media-gfx/transfig
+       ghostscript?
+       (
+               app-text/ghostscript-gpl
+               virtual/imagemagick-tools[jpeg,png,postscript,tiff]
+       )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       app-text/rman
+       sys-devel/gcc
+"
+
+DOCS=( README CHANGES NOTES )
+HTML_DOCS=( "${WORKDIR}/fig2mpdf/doc/." )
+
+PATCHES=(
+       "${FILESDIR}/${P}-prototypes.patch"
+)
+
+sed_Imakefile() {
+       # see fig2dev/Imakefile for details
+       vars2subs="BINDIR=${EPREFIX}/usr/bin
+                       MANDIR=${EPREFIX}/usr/share/man/man\$\(MANSUFFIX\)
+                       XFIGLIBDIR=${EPREFIX}/usr/share/xfig
+                       PNGINC=-I${EPREFIX}/usr/include/X11
+                       XPMINC=-I${EPREFIX}/usr/include/X11
+                       USEINLINE=-DUSE_INLINE
+                       RGB=${EPREFIX}/usr/share/X11/rgb.txt
+                       FIG2DEV_LIBDIR=${EPREFIX}/usr/share/fig2dev"
+
+       for variable in ${vars2subs} ; do
+               varname=${variable%%=*}
+               varval=${variable##*=}
+               sed -i 
"s:^\(XCOMM\)*[[:space:]]*${varname}[[:space:]]*=.*$:${varname} = ${varval}:" 
"$@" || die
+       done
+}
+
+src_configure() {
+       # export IMAKECPP=${IMAKECPP:-${CHOST}-gcc -E}
+       # CC="$(tc-getBUILD_CC)" LD="$(tc-getLD)" xmkmf || die
+       econf --enable-transfig
+}
+
+src_compile() {
+       # emake CC="$(tc-getBUILD_CC)" LD="$(tc-getLD)" Makefiles
+
+       local myemakeargs=(
+               CC="$(tc-getCC)"
+               AR="$(tc-getAR)"
+               RANLIB="$(tc-getRANLIB)"
+               CDEBUGFLAGS="${CFLAGS}"
+               LOCAL_LDFLAGS="${LDFLAGS}"
+               USRLIBDIR="${EPREFIX}/usr/$(get_libdir)"
+       )
+       emake "${myemakeargs[@]}"
+}
+
+src_install() {
+       local myemakeargs=(
+               DESTDIR="${D}"
+               INSTDATFLAGS="-m 644"
+               INSTMANFLAGS="-m 644"
+       )
+       emake "${myemakeargs[@]}" install
+
+       dobin "${WORKDIR}/fig2mpdf/fig2mpdf"
+       doman "${WORKDIR}/fig2mpdf/fig2mpdf.1"
+
+       einstalldocs
+
+       rm "${ED}/usr/share/doc/${PF}/html/"{Makefile,*.lfig,*.pdf,*.tex} || die
+}
+
+pkg_postinst() {
+       elog "Note, that defaults are changed and now if you don't want to ship"
+       elog "personal information into output files, use fig2dev with -a 
option."
+}

diff --git a/media-gfx/fig2dev/files/fig2dev-3.2.9a-prototypes.patch 
b/media-gfx/fig2dev/files/fig2dev-3.2.9a-prototypes.patch
new file mode 100644
index 000000000000..f2e8ca6831d8
--- /dev/null
+++ b/media-gfx/fig2dev/files/fig2dev-3.2.9a-prototypes.patch
@@ -0,0 +1,62 @@
+commit ab4eee3cf0d0c1d861d64b9569a5d1497800cae2
+Author: Mario Haustein <mario.haust...@hrz.tu-chemnitz.de>
+Date:   Thu Jan 30 22:36:48 2025 +0100
+
+    Specify argument types in function prototypes
+    
+    Modern C standards require full prototypes. This commit fixes the bug
+    reported in https://bugs.gentoo.org/944153.
+
+Upstream: https://sourceforge.net/p/mcj/fig2dev/merge-requests/1/
+Bug: https://bugs.gentoo.org/944153
+--- a/transfig/mkfile.c
++++ b/transfig/mkfile.c
+@@ -17,10 +17,12 @@
+ #include <stdio.h>
+ #include "transfig.h"
+ 
+-void puttarget();
+-void putfig();
+-void putoptions();
+-void putclean();
++void puttarget(FILE *mk, char *i, char *suf1, char *suf2);
++void putfig(FILE *mk, enum language to, int altfonts,
++      char *f, char *s, char *m, char *o, char *i, char *suf);
++void putoptions(FILE *mk, int altfonts, char *f, char *s, char *m, char *o,
++      char *i, char *suf);
++void putclean(FILE *mk, char *i, char *suf);
+ 
+ /*
+  * create an appropriate makefile
+--- a/transfig/transfig.c
++++ b/transfig/transfig.c
+@@ -33,8 +33,10 @@ extern void texfile(FILE *tx, char *in);    /* txfile.c */
+ extern void makefile(FILE *mk, int altfonts); /* mkfile.c */
+ 
+ 
+-argument *parse_arg(), *arglist = NULL, *lastarg = NULL;
+-char *strip();
++argument *parse_arg(enum language tolang, char *arg_f, char *arg_s,
++      char *arg_m, char *arg_o, char *arg);
++argument *arglist = NULL, *lastarg = NULL;
++char *strip(char *str, char *suf);
+ 
+ char *mkfile = "Makefile";
+ char *txfile = "transfig.tex";
+--- a/transfig/transfig.h
++++ b/transfig/transfig.h
+@@ -60,11 +60,12 @@ typedef struct argument{
+       struct argument *next;
+ } argument ;
+ 
+-extern enum language str2lang();
++extern enum language str2lang(char *s);
+ extern char *lname[];
+ extern char *iname[];
+ 
+-extern char *sysls(), *mksuff();
++extern char *sysls(void);
++extern char *mksuff(char *name, char *suff);
+ extern argument *arglist;
+ extern char *txfile, *mkfile;
+ 

Reply via email to