···1+{ stdenv, fetchurl, callPackage, libpng12, imagemagick,
2+ autoreconfHook, glib, pstoedit, pkgconfig, gettext, darwin }:
3+4+# TODO: Figure out why the resultant binary is somehow linked against
5+# libpng16.so.16 rather than libpng12.
6+7+stdenv.mkDerivation rec {
8+ name = "autotrace-${version}";
9+ version = "0.31.1";
10+11+ src = fetchurl {
12+ url = "mirror://sourceforge/autotrace/AutoTrace/0.31.1/${name}.tar.gz";
13+ sha256 = "1xmgja5fv48mdbsa51inf7ksz36nqd6bsaybrk5xgprm6cy946js";
14+ };
15+16+ # The below commented out part is for an identically-named project
17+ # on GitHub which appears to derive somehow from the Sourceforge
18+ # version, but I have no idea what the lineage is of this project.
19+ # It will build, but it segfaults when I attempt to run -centerline.
20+ # Someone may need this for some reason, so I've left it here.
21+ #
22+ #src = fetchFromGitHub {
23+ # owner = "autotrace";
24+ # repo = "autotrace";
25+ # rev = "b3ac8818d86943102cb4f13734e0b527c42dc45a";
26+ # sha256 = "0z5h2mvxwckk2msi361zk1nc9fdcvxyimyc2hlyqd6h8k3p7zdi4";
27+ #};
28+ #postConfigure = ''
29+ # sed -i -e "s/at_string/gchar */g" *.c
30+ # sed -i -e "s/at_address/gpointer/g" *.c
31+ # sed -i -e "s/at_bitmap_type/struct _at_bitmap/g" *.c
32+ # sed -i -e "s/AT_BITMAP_BITS(bitmap)/AT_BITMAP_BITS(\&bitmap)/g" input-magick.c
33+ #'';
34+35+ autofig = callPackage ./autofig.nix {};
36+ nativeBuildInputs = [ autoreconfHook glib autofig pkgconfig gettext ];
37+ buildInputs = [ libpng12 imagemagick pstoedit ]
38+ ++ stdenv.lib.optionals stdenv.isDarwin
39+ (with darwin.apple_sdk.frameworks; [ApplicationServices]);
40+41+ postUnpack = ''
42+ pushd $sourceRoot
43+ autofig autotrace-config.af
44+ popd
45+ '';
46+47+ # This complains about various m4 files, but it appears to not be an
48+ # actual error.
49+ preConfigure = ''
50+ glib-gettextize --copy --force
51+ # pstoedit-config no longer exists, it was replaced with pkg-config
52+ mkdir wrappers
53+ cat >wrappers/pstoedit-config <<'EOF'
54+ #!${stdenv.shell}
55+ # replace --version with --modversion for pkg-config
56+ args=''${@/--version/--modversion}
57+ exec pkg-config pstoedit "''${args[@]}"
58+ EOF
59+ chmod +x wrappers/pstoedit-config
60+ export PATH="$PATH:$PWD/wrappers"
61+ '';
62+63+ meta = with stdenv.lib; {
64+ homepage = http://autotrace.sourceforge.net/;
65+ description = "Utility for converting bitmap into vector graphics";
66+ platforms = platforms.unix;
67+ maintainers = with maintainers; [ hodapp ];
68+ license = licenses.gpl2;
69+ };
70+}