summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/sam2p')
-rw-r--r--media-gfx/sam2p/Manifest1
-rw-r--r--media-gfx/sam2p/files/sam2p-0.49.3-build-fixes.patch160
-rw-r--r--media-gfx/sam2p/sam2p-0.49.3.ebuild48
3 files changed, 209 insertions, 0 deletions
diff --git a/media-gfx/sam2p/Manifest b/media-gfx/sam2p/Manifest
index 639fc75be5d7..845eb43d2c5c 100644
--- a/media-gfx/sam2p/Manifest
+++ b/media-gfx/sam2p/Manifest
@@ -1,2 +1,3 @@
DIST sam2p-0.49.1.tar.gz 562304 SHA256 d97a270e3ad4ad138378b5fcb10e489e9af48a8150f308458771808dfceb069a SHA512 58565fdcb7c450ad23c2971b70f0362dbf4ecfd8c4dedf19c25b56fc98c8799696c6ecf75d47650bc3b21f88b8454d7c4e6b206f7c0ae0e5de35d608262c1220 WHIRLPOOL 809512e56f7e0b4ac0b8a00be1da1088a1249fbccf1b59470b4e25036ffdaf36884374c7735bad6a3440166e835c02ade7f87dc9eb00b92b84382602884517d5
DIST sam2p-0.49.2.tar.gz 562733 SHA256 0e75d94bed380f8d8bd629f7797a0ca533b5d0b40eba2dab339146dedc1f79bf SHA512 8e4d629df192381bddf8468687c6a41d459b70788a5e9defc68d5497f855cbae838f2f6f924237b17e4a8e6fbf982fb2709615c8fb1d9c8cec5ec7ecf91ec6ce WHIRLPOOL 90ede2ba7b8f1dbc056cfdcfbaedd3cc995ccb58439050d6b4c51ab24a33f91b022110ea3a72ffe8b72e42f9104e936511fdbcdc1bf579fdac26c145ff2bb949
+DIST sam2p-0.49.3.tar.gz 2184864 SHA256 687210c3ccd12da646db2a6e53f2de5a3a7639a7bcb0c381a61789eca50a824d SHA512 9e9c91a2cd692e49bf73e7c197a0fcbe7df96c685636d1d00456eb8b4b847de3f4848d9bb3d9246340c479c62900ddd4e0a248257aa5e6ec6e16683c5dad54f8 WHIRLPOOL 5362348d1955f67ae6f64b72ec0d53e88e21c46d281e3e844329059f7d0f2c4a1ac2b2faeca48c1a923fbbbcff1c9732bb016192c001a2de1970197a17051f9b
diff --git a/media-gfx/sam2p/files/sam2p-0.49.3-build-fixes.patch b/media-gfx/sam2p/files/sam2p-0.49.3-build-fixes.patch
new file mode 100644
index 000000000000..dfad65cc05d9
--- /dev/null
+++ b/media-gfx/sam2p/files/sam2p-0.49.3-build-fixes.patch
@@ -0,0 +1,160 @@
+Fix literal suffix errors in C++14, caused by missing spaces between
+C-strings and macros.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=585630
+
+--- a/configure.in
++++ b/configure.in
+@@ -81,8 +81,6 @@
+ dnl Checks for programs.
+ dnl AC_PROG_CC
+ AC_LANG_CPLUSPLUS
+-CXXFLAGS=" "
+-dnl ^^^ set it to non-empty, so AC_PROG_CXX won't include `-g'
+ CCC="$CCC g++"
+ dnl ^^^ check g++ before c++ (see acspecific.m4, grep AC_PROG_CXX)
+ AC_PROG_CXX
+@@ -216,7 +214,7 @@
+
+ dnl AC_PTS_RUN_OK([perl -x -S ./ccdep.pl $CXX], [], [AC_MSG_ERROR(cannot compute depends)])
+ rm -f Makedep
+-AC_PTS_RUN_OK([make Makedep], [], [AC_MSG_ERROR(cannot compute depends)])
++AC_PTS_RUN_OK([gmake Makedep], [], [AC_MSG_ERROR(cannot compute depends)])
+ AC_PTS_OK
+ echo "configure done. Now you should run: make; make install"
+
+--- a/gensio.cpp
++++ b/gensio.cpp
+@@ -494,7 +494,7 @@
+
+ #if HAVE_PTS_POPEN
+ if (!tmpsname) {
+- if (NULLP==(p=popen(redir_cmd(), "w"CFG_PTS_POPEN_B))) Error::sev(Error::EERROR) << "Filter::PipeE" << ": popen() failed: " << (SimBuffer::B().appendDumpC(redir_cmd)) << (Error*)0;
++ if (NULLP==(p=popen(redir_cmd(), "w" CFG_PTS_POPEN_B))) Error::sev(Error::EERROR) << "Filter::PipeE" << ": popen() failed: " << (SimBuffer::B().appendDumpC(redir_cmd)) << (Error*)0;
+ signal(SIGPIPE, SIG_IGN); /* Don't abort process with SIGPIPE signals if child cannot read our data */
+ } else {
+ #else
+@@ -622,7 +622,7 @@
+ if (state==0) { /* Read the whole stream from `in', write it to `tmpsname' */
+ #if HAVE_PTS_POPEN
+ if (!tmpsname) {
+- if (NULLP==(p=popen(redir_cmd(), "w"CFG_PTS_POPEN_B))) Error::sev(Error::EERROR) << "Filter::PipeD" << ": popen() failed: " << (SimBuffer::B().appendDumpC(redir_cmd)) << (Error*)0;
++ if (NULLP==(p=popen(redir_cmd(), "w" CFG_PTS_POPEN_B))) Error::sev(Error::EERROR) << "Filter::PipeD" << ": popen() failed: " << (SimBuffer::B().appendDumpC(redir_cmd)) << (Error*)0;
+ signal(SIGPIPE, SIG_IGN); /* Don't abort process with SIGPIPE signals if child cannot read our data */
+ vi_precopy();
+ in.vi_read(0,0);
+@@ -730,12 +730,7 @@
+
+ /* --- */
+
+-
+-#if HAVE_lstat_in_sys_stat
+-# define PTS_lstat lstat
+-#else
+ # define PTS_lstat stat
+-#endif
+
+ /** @param fname must start with '/' (dir separator)
+ * @return true if file successfully created
+--- a/in_ps.cpp
++++ b/in_ps.cpp
+@@ -137,7 +137,7 @@
+ // fprintf(stderr, "bbox=[%"PTS_CFG_PRINTFGLEN"g %"PTS_CFG_PRINTFGLEN"g %"PTS_CFG_PRINTFGLEN"g %"PTS_CFG_PRINTFGLEN"g]\n", llx, lly, urx, ury);
+ /* Dat: we must call translate _after_ setpagedevice (so it will take effect), at least with ESP Ghostscript 7.05.6 (2003-02-05); BUGFIX at Fri Aug 12 22:49:07 CEST 2005 */
+ sprintf(bboxline,
+- "<</PageSize[%"PTS_CFG_PRINTFGLEN"g %"PTS_CFG_PRINTFGLEN"g]>>setpagedevice\n"
++ "<</PageSize[%" PTS_CFG_PRINTFGLEN "g %" PTS_CFG_PRINTFGLEN "g]>>setpagedevice\n"
+ /* removing /PageSize also cancels /a4, /a5 etc. */
+ /* we need `currentmatrix ... setpagedevice setmatrix' because
+ * setpagedevice cancels the current transformation matrix so our
+@@ -147,7 +147,7 @@
+ "/setpagedevice{matrix currentmatrix exch "
+ "dup length dict copy dup /PageSize undef setpagedevice "
+ "setmatrix}bind def\n"
+- "%"PTS_CFG_PRINTFGLEN"g %"PTS_CFG_PRINTFGLEN"g translate\n"
++ "%" PTS_CFG_PRINTFGLEN "g %" PTS_CFG_PRINTFGLEN "g translate\n"
+ , urx-llx, ury-lly, -llx, -lly);
+ } else {
+ Error::sev(Error::WARNING) << "in_eps_reader: missing EPS bbox" << (Error*)0;
+--- a/Makefile
++++ b/Makefile
+@@ -17,7 +17,7 @@
+ export PERL_BADLANG
+
+ CXXX=$(CXD_assert)
+-LDALL=$(LDXX) -s $(LDFLAGS) $(LIBS)
++LDALL=$(LDXX) $(LDFLAGS) $(LIBS)
+ ifeq ($(ENABLE_DEBUG), no)
+ CXXX=$(CXD_no)
+ endif
+@@ -51,8 +51,8 @@
+ IDE_TARGETS_debug := $(patsubst %,%.yes, $(TARGETS))
+ IDE_TARGETS_release := $(TARGETS)
+
+-CXD_assert =$(CXX) -s -O2
+-CXD_no =$(CXX) -s -DNDEBUG -O3
++CXD_assert =$(CXX)
++CXD_no =$(CXX) -DNDEBUG
+ # CXD_yes =$(CXX) $(GFLAG) -lefence
+ CXD_yes =$(CXX) $(GFLAG)
+ CXD_checker=checkerg++ $(GFLAG)
+--- a/minips.cpp
++++ b/minips.cpp
+@@ -292,9 +292,9 @@
+ void MiniPS::Real::dump(GenBuffer::Writable &out_, bool dumpPS_force) {
+ char buf[64]; /* Imp: should be enough?? */
+ if (metric!=0 && (dumpPS_force || dumpPS)) {
+- sprintf(buf, "%"PTS_CFG_PRINTFGLEN"g%s", d, me_psfactor[metric]);
++ sprintf(buf, "%" PTS_CFG_PRINTFGLEN "g%s", d, me_psfactor[metric]);
+ } else {
+- sprintf(buf, "%"PTS_CFG_PRINTFGLEN"g", d*me_factor[metric]);
++ sprintf(buf, "%" PTS_CFG_PRINTFGLEN "g", d*me_factor[metric]);
+ }
+ out_ << buf;
+ }
+@@ -1044,7 +1044,7 @@
+ } else {
+ d = d < 0 ? 72.0 / -d : d / 72.0;
+ char buf[64]; /* Dat: enough */
+- sprintf(buf, "%"PTS_CFG_PRINTFGLEN"g", d);
++ sprintf(buf, "%" PTS_CFG_PRINTFGLEN "g", d);
+ out << buf;
+ }
+ }
+@@ -1093,7 +1093,7 @@
+ out << (rounding>=2 && ll<0 ? 0 : ll);
+ } else {
+ char buf[64]; /* Dat: enough */
+- sprintf(buf, "%"PTS_CFG_PRINTFGLEN"g", d);
++ sprintf(buf, "%" PTS_CFG_PRINTFGLEN "g", d);
+ out << buf;
+ }
+ }
+--- a/ps_tiny.c
++++ b/ps_tiny.c
+@@ -151,7 +151,7 @@
+ }
+
+ static void erri(char const*msg1, char const*msg2) {
+- fprintf(stderr, "%s: error at %"SLEN_P"u.%"SLEN_P"u.%"SLEN_P"u: %s%s\n",
++ fprintf(stderr, "%s: error at %" SLEN_P "u.%" SLEN_P "u.%" SLEN_P "u: %s%s\n",
+ PROGNAME, curline, curofs-leftofs+1, curofs, msg1, msg2?msg2:"");
+ exit(3);
+ }
+@@ -230,7 +230,7 @@
+ /** @param b: assume null-terminated @return true on error */
+ static /*inline*/ sbool toInteger(char *s, psint_t *ret) {
+ int n=0; /* BUGFIX?? found by __CHECKER__ */
+- return sscanf(s, "%"SLEN_P"i%n", ret, &n)<1 || s[n]!='\0';
++ return sscanf(s, "%" SLEN_P "i%n", ret, &n)<1 || s[n]!='\0';
+ }
+
+ /** @param b: assume null-terminated @return true on error */
+@@ -700,7 +700,7 @@
+ getotag("Abbr");
+ getkey("acount"); acount=getuintval();
+ getkey("xcount"); xcount=getuintval();
+- sprintf(tmp,"%"SLEN_P"u dict%%</I>", acount+xcount);
++ sprintf(tmp,"%" SLEN_P "u dict%%</I>", acount+xcount);
+ setifmt(tmp,0); copy("I"); noifmt();
+ gettagbeg();
+
diff --git a/media-gfx/sam2p/sam2p-0.49.3.ebuild b/media-gfx/sam2p/sam2p-0.49.3.ebuild
new file mode 100644
index 000000000000..b0af104c223b
--- /dev/null
+++ b/media-gfx/sam2p/sam2p-0.49.3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Utility to convert raster images to EPS, PDF and many others"
+HOMEPAGE="https://github.com/pts/sam2p"
+SRC_URI="https://github.com/pts/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="examples gif"
+
+DEPEND="dev-lang/perl"
+
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}"/${P}-build-fixes.patch )
+
+src_prepare() {
+ default
+
+ # configure.in files are deprecated
+ mv configure.{in,ac} || die
+
+ # eautoreconf is still needed or you get bad warnings
+ eautoreconf
+}
+
+src_configure() {
+ tc-export CXX
+
+ econf --enable-lzw $(use_enable gif)
+}
+
+src_install() {
+ dobin sam2p
+ einstalldocs
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}