summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-office')
-rw-r--r--app-office/magicpoint/Manifest1
-rw-r--r--app-office/magicpoint/files/magicpoint-1.13a_p20121015-any-giflib.patch140
-rw-r--r--app-office/magicpoint/files/magicpoint-1.13a_p20121015-draw-charset.patch11
-rw-r--r--app-office/magicpoint/files/magicpoint-1.13a_p20121015-draw-stringtoolong.patch13
-rw-r--r--app-office/magicpoint/files/magicpoint-1.13a_p20121015-gif-dimension.patch11
-rw-r--r--app-office/magicpoint/files/magicpoint-1.13a_p20121015-implicit-declaration.patch136
-rw-r--r--app-office/magicpoint/files/magicpoint-1.13a_p20121015-parse-empty.patch11
-rw-r--r--app-office/magicpoint/magicpoint-1.13a_p20121015.ebuild163
-rw-r--r--app-office/magicpoint/metadata.xml8
9 files changed, 493 insertions, 1 deletions
diff --git a/app-office/magicpoint/Manifest b/app-office/magicpoint/Manifest
index f55b6d685037..c969e1e0b843 100644
--- a/app-office/magicpoint/Manifest
+++ b/app-office/magicpoint/Manifest
@@ -1 +1,2 @@
DIST magicpoint-1.13a.tar.gz 890670 SHA256 205e6752e3cb024bcce0583b43dafc9b89490c0016daa91d2486891edcf2cfc1 SHA512 c2399826d770f6307128eb1a88593404d5b495203319e0c90edf36e91ce82e2e42b1777cbf473f52376aa4645468ac65920839f94b58d7c9d90f08a961273df9 WHIRLPOOL ed40897f528bd70ef785f5f0c2f5a0b55ad6f14fe9fbc65849b8713d7fa84590d5f668f008d8b0b737db7e95373f5865a85446489ea0790d6e8e206f30bb7d72
+DIST mgp-snap-20121015.tar.gz 886902 SHA256 21134551d492995b0e6d9a20ecb1f2c1afdbbaef4f529ca6be59a80581c18ac2 SHA512 fa59b1ec04e2e191b74c25fd3ae9b4c855ad96d23e9e5b071c959f56b9d2064d7bdf9217b5c62c5733cc2d9ec17981947febd7afb2552f1145262225909cc711 WHIRLPOOL 6d2086df981a0b67b1bbbf85284e6b7d808f09d0884388fdf83ac69917e7a01440bda34753f6c9f45bbd39640c28ab73509ff4f1ebfcc54f83931ef6a13b568e
diff --git a/app-office/magicpoint/files/magicpoint-1.13a_p20121015-any-giflib.patch b/app-office/magicpoint/files/magicpoint-1.13a_p20121015-any-giflib.patch
new file mode 100644
index 000000000000..0e7903a8dcf0
--- /dev/null
+++ b/app-office/magicpoint/files/magicpoint-1.13a_p20121015-any-giflib.patch
@@ -0,0 +1,140 @@
+--- kit.orig/image/gif.c 2000-03-07 07:59:56.000000000 +0100
++++ kit/image/gif.c 2016-01-12 17:35:49.792443794 +0100
+@@ -18,6 +18,18 @@
+ #include "image.h"
+ #include <gif_lib.h>
+
++static void stderrGifError(GifFileType *gifp, int e) {
++#if defined(GIFLIB_MAJOR) /* added in 4.2.0 along with GifError{,String}() */
++# if GIFLIB_MAJOR >= 5
++ fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString(gifp ? gifp->Error : e));
++# else
++ fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
++# endif
++#else
++ PrintGifError();
++#endif
++}
++
+ static void
+ tellAboutImage(name, gifp)
+ char *name;
+@@ -49,10 +61,17 @@
+ GifFileType *GifFile;
+ ColorMapObject *ColorMap;
+ GifColorType *ColorMapEntry;
++ int gerr = 0;
+
++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
++ GifFile = DGifOpenFileName(fullname, &gerr);
++#else
+ GifFile = DGifOpenFileName(fullname);
+- if (GifFile == NULL)
++#endif
++ if (GifFile == NULL) {
++ stderrGifError(GifFile, gerr);
+ return NULL;
++ }
+
+ if ((ScreenBuffer = (GifRowType *)
+ malloc(GifFile->SHeight * sizeof(GifRowType *))) == NULL) {
+@@ -87,13 +106,13 @@
+ /* Scan the content of the GIF file and load the image(s) in: */
+ do {
+ if (DGifGetRecordType(GifFile, &RecordType) == GIF_ERROR) {
+- PrintGifError();
++ stderrGifError(GifFile, 0);
+ exit(-1);
+ }
+ switch (RecordType) {
+ case IMAGE_DESC_RECORD_TYPE:
+ if (DGifGetImageDesc(GifFile) == GIF_ERROR) {
+- PrintGifError();
++ stderrGifError(GifFile, 0);
+ exit(-1);
+ }
+ Row = GifFile->Image.Top; /* Image Position relative to Screen. */
+@@ -113,7 +132,7 @@
+ j += InterlacedJumps[i]) {
+ if (DGifGetLine(GifFile, &ScreenBuffer[j][Col],
+ Width) == GIF_ERROR) {
+- PrintGifError();
++ stderrGifError(GifFile, 0);
+ exit(-1);
+ }
+ }
+@@ -122,7 +141,7 @@
+ for (i = 0; i < Height; i++) {
+ if (DGifGetLine(GifFile, &ScreenBuffer[Row++][Col],
+ Width) == GIF_ERROR) {
+- PrintGifError();
++ stderrGifError(GifFile, 0);
+ exit(-1);
+ }
+ }
+@@ -131,7 +150,7 @@
+ case EXTENSION_RECORD_TYPE:
+ /* Skip any extension blocks in file: */
+ if (DGifGetExtension(GifFile, &ExtCode, &Extension) == GIF_ERROR) {
+- PrintGifError();
++ stderrGifError(GifFile, 0);
+ exit(-1);
+ }
+ /* very adhoc transparency support */
+@@ -141,7 +160,7 @@
+ }
+ while (Extension != NULL) {
+ if (DGifGetExtensionNext(GifFile, &Extension) == GIF_ERROR) {
+- PrintGifError();
++ stderrGifError(GifFile, 0);
+ exit(-1);
+ }
+ }
+@@ -179,8 +198,21 @@
+ pixline[x] = GifRow[x];
+ }
+
++#if defined(GIFLIB_MAJOR) && (GIFLIB_MAJOR > 5 || (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1))
++ if (DGifCloseFile(GifFile, &gerr) == GIF_ERROR) {
++ stderrGifError(NULL, gerr);
++#else
+ if (DGifCloseFile(GifFile) == GIF_ERROR) {
+- PrintGifError();
++# if defined(GIFLIB_MAJOR)
++# if GIFLIB_MAJOR >= 5
++ stderrGifError(GifFile, 0);
++# else
++ stderrGifError(NULL, GifError());
++# endif
++# else
++ stderrGifError(NULL, 0);
++# endif
++#endif
+ exit(-1);
+ }
+
+@@ -195,12 +227,22 @@
+ {
+ GifFileType *gifp;
+ int ret;
++ int gerr = 0;
+
++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
++ gifp = DGifOpenFileName(fullname, &gerr);
++#else
+ gifp = DGifOpenFileName(fullname);
+- if (gifp == NULL)
++#endif
++ if (gifp == NULL) {
++ stderrGifError(gifp, gerr);
+ ret = 0;
+- else {
++ } else {
++#if defined(GIFLIB_MAJOR) && (GIFLIB_MAJOR > 5 || (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1))
++ DGifCloseFile(gifp, &gerr);
++#else
+ DGifCloseFile(gifp);
++#endif
+ tellAboutImage(name);
+ ret = 1;
+ }
diff --git a/app-office/magicpoint/files/magicpoint-1.13a_p20121015-draw-charset.patch b/app-office/magicpoint/files/magicpoint-1.13a_p20121015-draw-charset.patch
new file mode 100644
index 000000000000..056b7ef02d87
--- /dev/null
+++ b/app-office/magicpoint/files/magicpoint-1.13a_p20121015-draw-charset.patch
@@ -0,0 +1,11 @@
+--- kit.orig/draw.c 2012-10-14 20:25:10.000000000 +0200
++++ kit/draw.c 2016-01-12 16:45:54.123549077 +0100
+@@ -2847,7 +2847,7 @@
+ char *seed;
+ char *registry;
+
+- if (code >= 0xa0 && ((!argregistry || !argregistry[0]) && mgp_charset))
++ if (code >= 0xa0 && ((!argregistry || !argregistry[0]) && mgp_charset[0]))
+ registry = mgp_charset;
+ else
+ registry = argregistry;
diff --git a/app-office/magicpoint/files/magicpoint-1.13a_p20121015-draw-stringtoolong.patch b/app-office/magicpoint/files/magicpoint-1.13a_p20121015-draw-stringtoolong.patch
new file mode 100644
index 000000000000..d965cb027cc0
--- /dev/null
+++ b/app-office/magicpoint/files/magicpoint-1.13a_p20121015-draw-stringtoolong.patch
@@ -0,0 +1,13 @@
+--- kit.orig/draw.c 2012-10-14 20:25:10.000000000 +0200
++++ kit/draw.c 2016-01-12 18:01:53.090388852 +0100
+@@ -1379,6 +1379,10 @@
+ }
+
+ q = draw_fragment(state, p, q - p, registry, charset16);
++ if (q == p) {
++ fprintf(stderr, "String '%s' too long for window!\n", p);
++ exit(1);
++ }
+
+ p = q;
+ }
diff --git a/app-office/magicpoint/files/magicpoint-1.13a_p20121015-gif-dimension.patch b/app-office/magicpoint/files/magicpoint-1.13a_p20121015-gif-dimension.patch
new file mode 100644
index 000000000000..c95aa2dae411
--- /dev/null
+++ b/app-office/magicpoint/files/magicpoint-1.13a_p20121015-gif-dimension.patch
@@ -0,0 +1,11 @@
+--- kit.orig/image/gif.c 2016-01-12 16:54:40.469530579 +0100
++++ kit/image/gif.c 2016-01-12 16:56:10.676527408 +0100
+@@ -122,7 +122,7 @@
+ if (GifFile->Image.Left + GifFile->Image.Width > GifFile->SWidth ||
+ GifFile->Image.Top + GifFile->Image.Height > GifFile->SHeight) {
+ fprintf(stderr,
+-"Image %d is not confined to screen dimension, aborted.\n");
++"Image %s is not confined to screen dimension, aborted.\n", fullname);
+ exit(-2);
+ }
+ if (GifFile->Image.Interlace) {
diff --git a/app-office/magicpoint/files/magicpoint-1.13a_p20121015-implicit-declaration.patch b/app-office/magicpoint/files/magicpoint-1.13a_p20121015-implicit-declaration.patch
new file mode 100644
index 000000000000..141353953e00
--- /dev/null
+++ b/app-office/magicpoint/files/magicpoint-1.13a_p20121015-implicit-declaration.patch
@@ -0,0 +1,136 @@
+diff -ru kit.orig/contrib/xwintoppm/dsimple.c kit/contrib/xwintoppm/dsimple.c
+--- kit.orig/contrib/xwintoppm/dsimple.c 1998-02-13 08:48:29.000000000 +0100
++++ kit/contrib/xwintoppm/dsimple.c 2016-01-12 14:30:21.199834909 +0100
+@@ -48,10 +48,12 @@
+ #endif
+
+ extern Bool silent;
++extern void usage();
+ unsigned long Resolve_Color();
+ Pixmap Bitmap_To_Pixmap();
+ Window Select_Window();
+ void out();
++void outl();
+ void blip();
+ Window Window_With_Name();
+ void Fatal_Error();
+@@ -495,6 +497,7 @@
+ * printf with up to 7 arguments.
+ */
+ /* VARARGS1 */
++void
+ outl(msg, arg0,arg1,arg2,arg3,arg4,arg5,arg6)
+ char *msg;
+ char *arg0, *arg1, *arg2, *arg3, *arg4, *arg5, *arg6;
+diff -ru kit.orig/contrib/xwintoppm/xwintoppm.c kit/contrib/xwintoppm/xwintoppm.c
+--- kit.orig/contrib/xwintoppm/xwintoppm.c 1998-08-26 07:30:16.000000000 +0200
++++ kit/contrib/xwintoppm/xwintoppm.c 2016-01-12 14:29:46.892836115 +0100
+@@ -139,6 +139,13 @@
+ extern int (*_XErrorFunction)();
+ extern int _XDefaultError();
+
++void usage();
++void Error(char *);
++void Window_Dump(Window, FILE *);
++extern void outl();
++int Image_Size(XImage *);
++int Get_XColors(XWindowAttributes *, XColor **);
++
+ static long parse_long (s)
+ char *s;
+ {
+@@ -281,6 +288,7 @@
+ * writting.
+ */
+
++void
+ Window_Dump(window, out)
+ Window window;
+ FILE *out;
+@@ -609,6 +617,7 @@
+ /*
+ * Report the syntax for calling xwd.
+ */
++void
+ usage()
+ {
+ fprintf (stderr,
+@@ -623,6 +632,7 @@
+ * Error - Fatal xwd error.
+ */
+
++void
+ Error(string)
+ char *string; /* Error description string. */
+ {
+diff -ru kit.orig/ctlwords.c kit/ctlwords.c
+--- kit.orig/ctlwords.c 1999-02-15 00:02:25.000000000 +0100
++++ kit/ctlwords.c 2016-01-12 14:14:20.395868676 +0100
+@@ -24,6 +24,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <stdlib.h>
+
+ main(int argc, char *argv[])
+ {
+diff -ru kit.orig/draw.c kit/draw.c
+--- kit.orig/draw.c 2012-10-14 20:25:10.000000000 +0200
++++ kit/draw.c 2016-01-12 14:15:12.847866833 +0100
+@@ -140,6 +140,8 @@
+ static void get_background_pixmap __P((struct ctrl *, struct render_state *));
+ static void regist_background_pixmap __P((XImageInfo *, Image *));
+ #ifdef MNG
++void mngload(char *, int, int, int, int);
++void mngpreload(struct render_state *, char *, int *, int *);
+ static void process_anim __P((struct render_state *, struct ctrl *));
+ static void obj_draw_anim __P((struct render_state *,
+ u_int, u_int, struct render_object *));
+diff -ru kit.orig/image/image.h kit/image/image.h
+--- kit.orig/image/image.h 2004-07-28 17:47:31.000000000 +0200
++++ kit/image/image.h 2016-01-12 16:38:12.310565307 +0100
+@@ -10,6 +10,7 @@
+
+ #include "copyright.h"
+ #include <stdio.h>
++#include <stdlib.h>
+
+ #if defined(SYSV) || defined(VMS) || 1
+ #include <string.h>
+diff -ru kit.orig/image/window.c kit/image/window.c
+--- kit.orig/image/window.c 2004-07-28 17:47:31.000000000 +0200
++++ kit/image/window.c 2016-01-12 14:19:03.347858732 +0100
+@@ -16,8 +16,8 @@
+ #include <signal.h>
+ #include <errno.h>
+ #include <sys/types.h>
+-#ifdef SYSV
+-#include <unistd.h>
++#ifdef HAVE_UNISTD_H
++# include <unistd.h>
+ #endif
+ #if TIME_WITH_SYS_TIME
+ # include <sys/time.h>
+@@ -32,9 +32,6 @@
+ #if HAVE_SYS_SELECT_H
+ # include <sys/select.h>
+ #endif
+-#ifdef __APPLE__
+-#include <unistd.h>
+-#endif
+
+ /* SUPPRESS 560 */
+
+diff -ru kit.orig/mgp.h kit/mgp.h
+--- kit.orig/mgp.h 2010-05-04 00:28:00.000000000 +0200
++++ kit/mgp.h 2016-01-12 14:16:47.967863490 +0100
+@@ -831,6 +831,9 @@
+ #ifndef HAVE_USLEEP
+ extern void usleep __P((u_int));
+ #endif
++#ifndef HAVE_STRLCPY
++extern size_t strlcpy __P((char *, const char *, size_t));
++#endif
+
+ #ifdef FREETYPE
+ #define RASTERLIB
diff --git a/app-office/magicpoint/files/magicpoint-1.13a_p20121015-parse-empty.patch b/app-office/magicpoint/files/magicpoint-1.13a_p20121015-parse-empty.patch
new file mode 100644
index 000000000000..f3d38ccde03a
--- /dev/null
+++ b/app-office/magicpoint/files/magicpoint-1.13a_p20121015-parse-empty.patch
@@ -0,0 +1,11 @@
+--- kit.orig/parse.c 2010-05-04 00:28:00.000000000 +0200
++++ kit/parse.c 2016-01-12 19:20:41.882222658 +0100
+@@ -1258,7 +1258,7 @@
+ */
+ {
+ int textseen;
+- int contseen;
++ int contseen = 0;
+ for (page = 1; page <= maxpage; page++) {
+ line = page_attribute[page].pg_linenum;
+ for (l = 0; l <= line; l++) {
diff --git a/app-office/magicpoint/magicpoint-1.13a_p20121015.ebuild b/app-office/magicpoint/magicpoint-1.13a_p20121015.ebuild
new file mode 100644
index 000000000000..7c25f03ececa
--- /dev/null
+++ b/app-office/magicpoint/magicpoint-1.13a_p20121015.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools elisp-common eutils toolchain-funcs
+
+MY_SNAP="${PV/*_p}"
+MY_P="mgp-snap-${MY_SNAP}"
+DESCRIPTION="An X11 based presentation tool"
+SRC_URI="ftp://sh.wide.ad.jp/WIDE/free-ware/mgp-snap/${MY_P}.tar.gz"
+HOMEPAGE="http://member.wide.ad.jp/wg/mgp/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cjk contrib doc emacs examples gif imlib m17n-lib mng nls png truetype"
+
+REQUIRED_USE="imlib? ( !gif !png )"
+S="${WORKDIR}/kit"
+
+COMMON_DEPEND="x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXrender
+ x11-libs/libXmu
+ imlib? ( media-libs/imlib2 )
+ !imlib? (
+ gif? ( media-libs/giflib:= )
+ png? ( >=media-libs/libpng-1.4:0= )
+ )
+ truetype? ( x11-libs/libXft )
+ emacs? ( virtual/emacs )
+ m17n-lib? ( dev-libs/m17n-lib )
+ mng? ( media-libs/libmng )"
+DEPEND="${COMMON_DEPEND}
+ sys-devel/autoconf
+ x11-proto/xextproto
+ x11-libs/libxkbfile
+ app-text/rman
+ x11-misc/imake"
+RDEPEND="${COMMON_DEPEND}
+ contrib? ( dev-lang/perl )
+ nls? ( sys-devel/gettext )
+ truetype? ( cjk? ( media-fonts/sazanami ) )"
+
+SITEFILE=50${PN}-gentoo.el
+
+src_prepare() {
+ sed -i -e '/mgp_version =/s, (.*), ('${MY_SNAP}'),' mgp.c
+
+ epatch \
+ "${FILESDIR}"/${PN}-1.11b-gentoo.diff \
+ "${FILESDIR}"/${PN}-1.13a_p20121015-parse-empty.patch \
+ "${FILESDIR}"/${PN}-1.13a_p20121015-draw-charset.patch \
+ "${FILESDIR}"/${PN}-1.13a_p20121015-draw-stringtoolong.patch \
+ "${FILESDIR}"/${PN}-1.13a_p20121015-implicit-declaration.patch
+
+ if ! use imlib; then
+ epatch "${FILESDIR}"/${PN}-1.13a-libpng15.patch
+
+ # fix compability with libpng14
+ sed -i \
+ -e 's:png_set_gray_1_2_4_to_8:png_set_expand_gray_1_2_4_to_8:' \
+ configure.in image/png.c || die
+
+ if use gif; then
+ # bug #85720
+ sed -i -e "s/ungif/gif/g" configure.in || die
+
+ # bug #486248
+ epatch "${FILESDIR}"/${PN}-1.13a_p20121015-any-giflib.patch
+
+ # fix use of uninitialized memory in error message
+ epatch "${FILESDIR}"/${PN}-1.13a_p20121015-gif-dimension.patch
+ fi
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable gif) \
+ $(use_enable imlib) \
+ $(use_enable nls locale) \
+ $(use_enable truetype xft2) \
+ $(use_with m17n-lib) \
+ --disable-vflib \
+ --disable-freetype \
+ --x-libraries=/usr/lib/X11 \
+ --x-includes=/usr/include/X11
+}
+
+src_compile() {
+ xmkmf || die
+ # no parallel build possible anywhere
+ emake -j1 Makefiles
+
+ tc-export CC
+ emake -j1 \
+ CC="${CC}" \
+ CDEBUGFLAGS="${CFLAGS}" \
+ LOCAL_LDFLAGS="${LDFLAGS}" \
+ BINDIR=/usr/bin \
+ LIBDIR=/etc/X11
+
+ if use emacs; then
+ pushd contrib || die
+ elisp-compile *.el || die
+ popd
+ fi
+}
+
+src_install() {
+ emake -j1 \
+ DESTDIR="${D}" \
+ BINDIR=/usr/bin \
+ LIBDIR=/etc/X11 \
+ install
+
+ emake -j1 \
+ DESTDIR="${D}" \
+ DOCHTMLDIR=/usr/share/doc/${PF} \
+ MANPATH=/usr/share/man \
+ MANSUFFIX=1 \
+ install.man
+
+ use contrib && dobin contrib/mgp2{html,latex}.pl
+
+ if use emacs; then
+ pushd contrib || die
+ elisp-install ${PN} *.el *.elc || die
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ popd
+ fi
+
+ dodoc FAQ README* RELNOTES SYNTAX TODO* USAGE*
+
+ if use examples; then
+ pushd sample || die
+ insinto /usr/share/doc/${PF}/examples
+ doins README* cloud.jpg dad.* embed*.mgp gradation*.mgp \
+ mgp-old*.jpg mgp.mng mgp3.xbm mgprc-sample \
+ multilingual.mgp sample*.mgp sendmail6*.mgp \
+ tutorial*.mgp v6*.mgp v6header.*
+ popd
+ fi
+}
+
+pkg_postinst() {
+ elog
+ elog "If you enabled xft2 support (default) you may specify xfont directive by"
+ elog "font name and font registry."
+ elog "e.g.)"
+ elog '%deffont "standard" xfont "sazanami mincho" "jisx0208.1983"'
+ elog
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/app-office/magicpoint/metadata.xml b/app-office/magicpoint/metadata.xml
index 0bc4edceb36e..042564f391bc 100644
--- a/app-office/magicpoint/metadata.xml
+++ b/app-office/magicpoint/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <herd>proxy-maintainers</herd>
<maintainer>
- <email>maintainer-needed@gentoo.org</email>
+ <email>peter@stuge.se</email>
+ <name> Peter Stuger</name>
+ <description>Proxied maintainer; set to assignee in all bugs</description>
</maintainer>
<longdescription lang="en">
Magic Point is an X11 based presentation tool. It is designed to make
@@ -11,4 +14,7 @@
just text so that you can create presentation files quickly with your
favorite editor (e.g. Emacs, vi).
</longdescription>
+ <use>
+ <flag name="contrib">Install additional contributed scripts</flag>
+ </use>
</pkgmetadata>