summaryrefslogtreecommitdiff
path: root/media-gfx/sam2p
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /media-gfx/sam2p
reinit the tree, so we can have metadata
Diffstat (limited to 'media-gfx/sam2p')
-rw-r--r--media-gfx/sam2p/Manifest15
-rw-r--r--media-gfx/sam2p/files/sam2p-0.45-fbsd.patch14
-rw-r--r--media-gfx/sam2p/files/sam2p-0.49-glibc-2.20.patch18
-rw-r--r--media-gfx/sam2p/files/sam2p-0.49.1-build.patch42
-rw-r--r--media-gfx/sam2p/files/sam2p-0.49.1-gcc48.patch39
-rw-r--r--media-gfx/sam2p/files/sam2p-0.49.3-build-fixes.patch160
-rw-r--r--media-gfx/sam2p/files/sam2p-0.49.3-perl526.patch23
-rw-r--r--media-gfx/sam2p/metadata.xml12
-rw-r--r--media-gfx/sam2p/sam2p-0.49.1.ebuild43
-rw-r--r--media-gfx/sam2p/sam2p-0.49.2.ebuild42
-rw-r--r--media-gfx/sam2p/sam2p-0.49.3.ebuild47
11 files changed, 455 insertions, 0 deletions
diff --git a/media-gfx/sam2p/Manifest b/media-gfx/sam2p/Manifest
new file mode 100644
index 000000000000..c1d9943e4b7f
--- /dev/null
+++ b/media-gfx/sam2p/Manifest
@@ -0,0 +1,15 @@
+AUX sam2p-0.45-fbsd.patch 319 SHA256 44944d770cb7dc515c54b325d46451edefb89b73ac3b407374d18b7639a26d80 SHA512 e0b0b48e391cf52cbb46613d185aedd0e758a2db8783798718600a7d4bb11cce15cd64fcadb222227d1adcb7f3a476b3c842ee206bfb8f127624fada7da8e770 WHIRLPOOL 8218acedf9e20218e0ab1a02cd2acda6511148ac10eadea4e4250c8d6d5baffd544100ddd371a2fbdc0155ab78453bc9a1e18c477c41a724385e8517cf34d736
+AUX sam2p-0.49-glibc-2.20.patch 629 SHA256 b68e7fcba981a9aed429e60f3384a9a8f377b569349ec6b477b036a9d6d339d3 SHA512 8c7dcef4bbe2b8f5b6934e286d313071ff50f872550134016b368104055dc18fe77843b9a59a6c8a853115b3154bbecb68fe3b4467c9d1eebe894ebcd379146c WHIRLPOOL 0b1a775e4121cfe47d031807343c5cd1e38f20edfa0812f365a74d1d8c4618dd503c3101fa2e6a8836f21a5f1ff119c7439b640db70e74464a533f3a00ee03de
+AUX sam2p-0.49.1-build.patch 1179 SHA256 4c61b451e671e9761aef3dc10f6cfcbf8d391037ea3f24fab6f62fd700e9c37f SHA512 4bb8693bb2068d295e8a996bf66ee94eb215f103ef7996ef236cb4e80be2489655350d902d6b0a3fdd66004d332294ff2478e2dea0d02714af49c652bea5184b WHIRLPOOL f724030b1aae7777a2ab2ab606d0f4951d2e7a3cbe81f4489e44989758e8c8749eb61782f2646ac38ae5f56997e4e6b1117f18be828ea86e00900e6f99f50f79
+AUX sam2p-0.49.1-gcc48.patch 1186 SHA256 2cf6e831872647a80deccba8a370f8e40e1b0dfa21deb1b0d2a5d397a162b5dc SHA512 048c3b308bfdc624ab43fd7403314ebbe3d1c2dd32c72d9236b5e5df2f4c1766fb88c7f6460cac74b84be3c6d8f5ed1e879299256f028b42700fc3d5d7e63bc0 WHIRLPOOL d61b9376184f693f7ccff58f9710c165767caa1e791cd2d2bc90ede9f0a5cb1f6196be3aaabcbcdd1797edd9e265fe2228fb782f4fea4c85e003c78153ff84fb
+AUX sam2p-0.49.3-build-fixes.patch 6108 SHA256 b4dbb564dcb9188983873f54db355a8741687df2a23871198cdcb6a92d3b7e88 SHA512 70e14339b6fb8f587adc4692982601db0b1d0343a737cf08931101589eaecc419e8f571bd138a6e585a7a9a7a9f2e8f3ebf3ccf4c315d805be9f625a917a56c3 WHIRLPOOL 4444b0d0aa0c75b14dd702f307277848e26b7ebe119ca36725e27150f3c56f94e1c8091b0bb94323ed8d27104540326ff828ffeccca415cb2b45bc702b29b91c
+AUX sam2p-0.49.3-perl526.patch 648 SHA256 a4e468fa406da069a2d5b937e376fe1eef92b4376d1972d0e162841079c585a8 SHA512 22628eadcf9399ba89a652ad41ac55e98fdb596df029e466a4bbc609131e914e456451362e8639c98dbf59c7e288296b4940fa2e92d8ce671715103e9b622f0d WHIRLPOOL 04363e57b993f71e4f508209571e1792b32193ea01894a9cc9cea4fab686ab173382db814d27574dadb4b838838373a1ea3ae5395eeb99bad0504ad87bfcb08c
+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
+EBUILD sam2p-0.49.1.ebuild 943 SHA256 6ba571cbd981eba9a01394eb46146e326b96ac83dc5c314c2e44efb5e02d9994 SHA512 c90d0c231a6521de2d02d3b6a1963d11d096ac632428d23eeb1cae77cf3665f19032a97b62eced9fe5cd0ecf0a6c9d142582924b718f57e423ecfb2bfdab5b77 WHIRLPOOL fa1ec8879b1174aea76d760f4db4b93bb8989fef469443a75efe44d7159f07b0326c2f91109d0287cd867820d8e8943fca83579d714e8a92f105a1a9b69154a5
+EBUILD sam2p-0.49.2.ebuild 911 SHA256 4d890bfe95c1d18c8fe72126c5b584eb4af637eb269d8b1ad9c87ac86199057b SHA512 de9cb80aa6a45f5417daf63a2862d81effd51ed09d4851381399e8b6edb42ed5facb16790c1c6987cd8b2157d394f1f07ae462292be4a1ba00f1d05a0daddc49 WHIRLPOOL cf611374c1cff0abc6c2fae933cb5129cf45045398a0d5fac1c80e62c340b024aba55ebc2373f7985799c22f2661d3b4746461549e65ee82c4ec88f5792977bb
+EBUILD sam2p-0.49.3.ebuild 994 SHA256 e24ad0b07bf1a51862aa89d0fbe7613030cb141adff1892624f46f360d2b5ce1 SHA512 6774363be58fffdee1aa94384962b29ead42e5d27dde82422d3c9ada8a50c9ca1134fa3d06228252b2452b6adbb5e11d0a8c2a18229f219953d9edac30b48e38 WHIRLPOOL f96f8aeeb246afa75a244570efbb5fc28c6110772911f992f42630e56fa2e48fb5295d3175fb9498b642ed74ad16b27605830f8a5c776ac5e9e7cb9439a50b96
+MISC ChangeLog 3461 SHA256 844c6f31c125c46d5eb2d34f0a3e22f72d09b0b299f60afdb17d55e9851a6ed2 SHA512 85c40c4b003ba9783ffbb080a867a7526222f5b6fe736d3f5914844c146632a6384bd9662cb7b50607e6ea6ced3aa6d844ff2d62cd53aca89824a5d60517819f WHIRLPOOL 1d6918cd59e241620abe8c9a36e79179704a7078b7273afa22a1382f6d4b75073b224f5e01535ebc860346b78594ceeda2a9f22fc5d54b13d128695ff0f90496
+MISC ChangeLog-2015 7721 SHA256 136a342c4cffec5ab780060cfb3119761dc66f776697f97a9eb874ea04540648 SHA512 e1652ce86a4dc655cc566862bb1b63ac1c580e98fd8389ced629fbe791a869b4b89b20f50fe41dbc33314cd158e289541ef4a256d397e7c2f9457ddf8082ff2c WHIRLPOOL 45d40184927f0e19d5a1c570478e552223e1ebe3d1f0f35b403f35498f50c969beaccf97bf26889e4a99dd54905808a95f591c5b8eaa215e737cfa5c886d9e6a
+MISC metadata.xml 373 SHA256 7d85877654d908d869d132fba0afb2d878dabc71e36173eef8ce59e2082fb667 SHA512 2bac0bb931232d7b994f24551d0fedccfcaf69932e4900264857e9ba09a9c32495ab743c1fe930e63adca3b7bc11efdea526982e6e27869033bc17731fa5c7fa WHIRLPOOL f597c62d7481ead093380aea78486da250c32670029268de616993855c1ad49088154497461c8294fd3348631092b96bc4b1d8301f6c6e9adcc2f75784924f94
diff --git a/media-gfx/sam2p/files/sam2p-0.45-fbsd.patch b/media-gfx/sam2p/files/sam2p-0.45-fbsd.patch
new file mode 100644
index 000000000000..aed13acf08dd
--- /dev/null
+++ b/media-gfx/sam2p/files/sam2p-0.45-fbsd.patch
@@ -0,0 +1,14 @@
+--- gensio.cpp.orig Fri Feb 7 02:24:56 2003
++++ gensio.cpp Fri Feb 7 02:25:11 2003
+@@ -491,11 +491,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
diff --git a/media-gfx/sam2p/files/sam2p-0.49-glibc-2.20.patch b/media-gfx/sam2p/files/sam2p-0.49-glibc-2.20.patch
new file mode 100644
index 000000000000..f96a97969390
--- /dev/null
+++ b/media-gfx/sam2p/files/sam2p-0.49-glibc-2.20.patch
@@ -0,0 +1,18 @@
+https://bugs.gentoo.org/524048
+
+ignore warnings w/newer glibc-2.20
+
+patch by Dmitry Derevyanko
+
+--- a/ccdep.pl
++++ b/ccdep.pl
+@@ -233,6 +233,9 @@
+ } elsif ($S=~/\A([^:]+):\d+:(\d+:)? warning: this is the location of /) {
+ # ^^^ gcc-3.1
+ undef $included_from;
++ } elsif ($S=~/\A([^:]+):\d+:(\d+:)? warning: .*\bdeprecated\b/) {
++ # Example: /usr/include/features.h:148:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
++ undef $included_from;
+ } elsif ($S=~/: No such file or directory$/) { # Depends on $ENV{LC_ALL}.
+ # ^^^ gcc-3.3
+ undef $included_from;
diff --git a/media-gfx/sam2p/files/sam2p-0.49.1-build.patch b/media-gfx/sam2p/files/sam2p-0.49.1-build.patch
new file mode 100644
index 000000000000..ba421463d536
--- /dev/null
+++ b/media-gfx/sam2p/files/sam2p-0.49.1-build.patch
@@ -0,0 +1,42 @@
+--- configure.in
++++ configure.in
+@@ -81,7 +81,7 @@
+ dnl Checks for programs.
+ dnl AC_PROG_CC
+ AC_LANG_CPLUSPLUS
+-CXXFLAGS=" "
++#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)
+@@ -215,7 +215,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"
+
+--- Makefile
++++ 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)
diff --git a/media-gfx/sam2p/files/sam2p-0.49.1-gcc48.patch b/media-gfx/sam2p/files/sam2p-0.49.1-gcc48.patch
new file mode 100644
index 000000000000..d427c2076d3c
--- /dev/null
+++ b/media-gfx/sam2p/files/sam2p-0.49.1-gcc48.patch
@@ -0,0 +1,39 @@
+Index: ccdep.pl
+===================================================================
+--- ccdep.pl (revision 123)
++++ ccdep.pl (revision 125)
+@@ -137,13 +137,20 @@
+
+ my @DS=find_ds();
+ my @DSQ=map{shq$_}@DS;
+-my $R="$GCCP -DOBJDEP -M -MG -E 2>&1 @DSQ";
+-$R=backtick($R);
++my $DIAG=" -fno-diagnostics-show-caret";
++my $Q="$GCCP -DOBJDEP$DIAG -M -MG -E 2>&1 @DSQ";
++my $R=backtick($Q);
++if ($R=~/\berror: .*-fno-diagnostics-show-caret\b/) {
++ # gcc-4.6 and earlier don't have this flag, and they fail.
++ $Q=~s@ -fno-diagnostics-show-caret(?=\s)@@;
++ $DIAG="";
++ $R=backtick($Q);
++}
+
+ if ($R!~/: warning: #warning\b/) {
+ # config2.h:314:4: warning: #warning REQUIRES: c_lgcc3.o
+ # Dat: g++-3.3 ignores #warning with -M -MG -E
+- $R.="\n".backtick("$GCCP -DOBJDEP -E 2>&1 >/dev/null @DSQ");
++ $R.="\n".backtick("$GCCP -DOBJDEP$DIAG -E 2>&1 >/dev/null @DSQ");
+ }
+
+ ## die $R;
+--- rule.hpp 2013-04-18 12:14:20.385333527 +0200
++++ rule.hpp 2013-04-18 12:14:35.818870070 +0200
+@@ -88,7 +88,7 @@
+ PR_PNGAuto=15,
+ PR_PNGAutoMaybe=25,
+ PR_PNGAutoBadUnsigned=45,
+- PR_PNGAutoBadSigned=55,
++ PR_PNGAutoBadSigned=55
+ END_STATIC_ENUM()
+ pr_t Predictor;
+
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/files/sam2p-0.49.3-perl526.patch b/media-gfx/sam2p/files/sam2p-0.49.3-perl526.patch
new file mode 100644
index 000000000000..cb24dbda1bda
--- /dev/null
+++ b/media-gfx/sam2p/files/sam2p-0.49.3-perl526.patch
@@ -0,0 +1,23 @@
+commit 79a7de171f461a1c79089fa770f0da186e87c723
+Author: Peter Szabo <pts@fazekas.hu>
+Date: Sun Apr 30 04:00:23 2017 +0200
+
+ fixed Perl 5.26 compatibility for perl -x (https://github.com/pts/sam2p/issues/2)
+
+diff --git a/Makefile b/Makefile
+index 849b09d..1791a9c 100644
+--- a/Makefile
++++ b/Makefile
+@@ -71,10 +71,10 @@ sam2p_version.h: debian/changelog
+ sam2p_main.o: sam2p_version.h
+
+ xpmc.h: cols2.pl
+- perl -x cols2.pl >xpmc.h
++ perl -x ./cols2.pl >xpmc.h
+
+ #HQ=perl -e'$$_=join"",<STDIN>; s@([^\w\.\/\-])@sprintf"\\%03o",ord$$1@ge; print "\"$$_\"\n"'
+-HQ=perl -x hq.pl
++HQ=perl -x ./hq.pl
+ #%.tth: %.tte
+ # <$< >$@ $(HQ)
+ #%.tth: %.ttm
diff --git a/media-gfx/sam2p/metadata.xml b/media-gfx/sam2p/metadata.xml
new file mode 100644
index 000000000000..7dab55141c22
--- /dev/null
+++ b/media-gfx/sam2p/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>tex@gentoo.org</email>
+ <name>Gentoo TeX Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">sam2p</remote-id>
+ <remote-id type="github">pts/sam2p</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/media-gfx/sam2p/sam2p-0.49.1.ebuild b/media-gfx/sam2p/sam2p-0.49.1.ebuild
new file mode 100644
index 000000000000..3ec3ab048c36
--- /dev/null
+++ b/media-gfx/sam2p/sam2p-0.49.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit autotools eutils toolchain-funcs
+
+DESCRIPTION="Utility to convert raster images to EPS, PDF and many others"
+HOMEPAGE="https://code.google.com/p/sam2p/"
+SRC_URI="https://sam2p.googlecode.com/files/${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"
+
+RDEPEND=""
+DEPEND="dev-lang/perl"
+
+RESTRICT="test"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-0.45-fbsd.patch \
+ "${FILESDIR}"/${PN}-0.49.1-build.patch \
+ "${FILESDIR}"/${PN}-0.49.1-gcc48.patch \
+ "${FILESDIR}"/${PN}-0.49-glibc-2.20.patch
+ eautoreconf
+ tc-export CXX
+}
+
+src_configure() {
+ econf --enable-lzw $(use_enable gif)
+}
+
+src_install() {
+ dobin sam2p
+ dodoc README
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*
+ fi
+}
diff --git a/media-gfx/sam2p/sam2p-0.49.2.ebuild b/media-gfx/sam2p/sam2p-0.49.2.ebuild
new file mode 100644
index 000000000000..dd065be2dd58
--- /dev/null
+++ b/media-gfx/sam2p/sam2p-0.49.2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit autotools eutils toolchain-funcs
+
+DESCRIPTION="Utility to convert raster images to EPS, PDF and many others"
+HOMEPAGE="https://code.google.com/p/sam2p/"
+SRC_URI="https://sam2p.googlecode.com/files/${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"
+
+RDEPEND=""
+DEPEND="dev-lang/perl"
+
+RESTRICT="test"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-0.45-fbsd.patch \
+ "${FILESDIR}"/${PN}-0.49.1-build.patch \
+ "${FILESDIR}"/${PN}-0.49-glibc-2.20.patch
+ eautoreconf
+ tc-export CXX
+}
+
+src_configure() {
+ econf --enable-lzw $(use_enable gif)
+}
+
+src_install() {
+ dobin sam2p
+ dodoc README
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*
+ fi
+}
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..b135825759b9
--- /dev/null
+++ b/media-gfx/sam2p/sam2p-0.49.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 ~arm64 ~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 "${FILESDIR}/${P}-perl526.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
+}