- add patch from merged upstream commit:
ab4eee3cf0
(fetchpatch is from gentoo because of upstream hosting on sourceforge)
Fixes build failure with gcc15:
```
transfig.c:140:26: error: too many arguments to function 'str2lang'; expected 0, have 1
140 | tolang = str2lang(optarg);
| ^~~~~~~~ ~~~~~~
transfig.h:63:22: note: declared here
63 | extern enum language str2lang();
| ^~~~~~~~
transfig.c:171:13: error: too many arguments to function 'parse_arg'; expected 0, have 6
171 | a = parse_arg(tolang, arg_f, arg_s, arg_m, arg_o, argv[optind]);
| ^~~~~~~~~ ~~~~~~
transfig.c:36:11: note: declared here
36 | argument *parse_arg(), *arglist = NULL, *lastarg = NULL;
| ^~~~~~~~~
transfig.c:259:7: error: too many arguments to function 'strip'; expected 0, have 2
259 | if (strip(arg, ".pic"))
| ^~~~~ ~~~
transfig.c:37:7: note: declared here
37 | char *strip();
| ^~~~~
transfig.c:261:19: error: too many arguments to function 'mksuff'; expected 0, have 2
261 | a->name = mksuff(arg, "");
| ^~~~~~ ~~~
transfig.h:67:24: note: declared here
67 | extern char *sysls(), *mksuff();
| ^~~~~~
```
67 lines
1.5 KiB
Nix
67 lines
1.5 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchpatch,
|
|
fetchurl,
|
|
ghostscript,
|
|
libpng,
|
|
makeWrapper,
|
|
coreutils,
|
|
bc,
|
|
gnugrep,
|
|
gawk,
|
|
gnused,
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "fig2dev";
|
|
version = "3.2.9a";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://sourceforge/mcj/fig2dev-${version}.tar.xz";
|
|
hash = "sha256-YeGFOTF2hS8DuQGzsFsZ+8Wtglj/FC89pucLG4NRMyY=";
|
|
};
|
|
|
|
patches = [
|
|
./CVE-2025-31162.patch
|
|
./CVE-2025-31163.patch
|
|
|
|
# Fix build with gcc15
|
|
# https://sourceforge.net/p/mcj/fig2dev/ci/ab4eee3cf0d0c1d861d64b9569a5d1497800cae2
|
|
(fetchpatch {
|
|
name = "fig2dev-prototypes.patch";
|
|
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/fig2dev/files/fig2dev-3.2.9a-prototypes.patch?id=93644497325b6df7a17f8bd05ad0495607aa5c34";
|
|
hash = "sha256-F6z0m3Ez9JpgZg+TjVjuIZhAyTMHodB7O/l8lDTOL54=";
|
|
})
|
|
];
|
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
buildInputs = [ libpng ];
|
|
|
|
GSEXE = "${ghostscript}/bin/gs";
|
|
|
|
configureFlags = [ "--enable-transfig" ];
|
|
|
|
postInstall = ''
|
|
wrapProgram $out/bin/fig2ps2tex \
|
|
--set PATH ${
|
|
lib.makeBinPath [
|
|
coreutils
|
|
bc
|
|
gnugrep
|
|
gawk
|
|
]
|
|
}
|
|
wrapProgram $out/bin/pic2tpic \
|
|
--set PATH ${lib.makeBinPath [ gnused ]}
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Tool to convert Xfig files to other formats";
|
|
homepage = "https://mcj.sourceforge.net/";
|
|
license = licenses.xfig;
|
|
platforms = platforms.unix;
|
|
maintainers = with maintainers; [ lesuisse ];
|
|
};
|
|
}
|