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; +