summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-libs/urt
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-libs/urt')
-rw-r--r--media-libs/urt/Manifest1
-rw-r--r--media-libs/urt/files/gentoo-config53
-rw-r--r--media-libs/urt/files/urt-3.1b-build-fixes.patch151
-rw-r--r--media-libs/urt/files/urt-3.1b-compile-updates.patch141
-rw-r--r--media-libs/urt/files/urt-3.1b-make.patch75
-rw-r--r--media-libs/urt/files/urt-3.1b-rle-fixes.patch203
-rw-r--r--media-libs/urt/files/urt-3.1b-solaris.patch14
-rw-r--r--media-libs/urt/files/urt-3.1b-tempfile.patch19
-rw-r--r--media-libs/urt/metadata.xml5
-rw-r--r--media-libs/urt/urt-3.1b-r1.ebuild75
10 files changed, 737 insertions, 0 deletions
diff --git a/media-libs/urt/Manifest b/media-libs/urt/Manifest
new file mode 100644
index 000000000000..98300a9bde3b
--- /dev/null
+++ b/media-libs/urt/Manifest
@@ -0,0 +1 @@
+DIST urt-3.1b.tar.Z 1016405 SHA256 6d8b67f03507818ebdca3a342c96454780cc5eadcc58ac2713cbcdfdb61a6b41 SHA512 6c9070cd106f1d696d22f862cc1c4e10325fafc7bae51e8bb1fb98f6bf8babe21a133e21b3acc0c11cf1b28a23123c8ee7bb064c9d86301b14a1c217fbe1a12d WHIRLPOOL 8930cafe6391f5164bde8c464d2b3af08b740c500639f1bfc846dbec0b4285f6653b537c11c53ef992c9078e15466cb9597270605e5deee05f0991a0fed6ecf1
diff --git a/media-libs/urt/files/gentoo-config b/media-libs/urt/files/gentoo-config
new file mode 100644
index 000000000000..3ad38b961166
--- /dev/null
+++ b/media-libs/urt/files/gentoo-config
@@ -0,0 +1,53 @@
+#define ABEKASA60
+##define ABEKASA62 bug #455970
+#define ALIAS
+##define CGM
+#define CUBICOMP
+##define DVIRLE
+#define GRAYFILES
+#define MACPAINT
+##define PBMPLUS
+##define SUNRASTER
+#define TARGA
+#define VICAR
+#define WASATCH
+#define WAVEFRONT
+
+#define GCC
+
+#define CONST_DECL
+#define NO_MAKE_MAKEFILE
+#define USE_TIME_H
+#define SYS_V_SETPGRP
+#define USE_PROTOTYPES
+#define USE_RANDOM
+#define USE_STDARG
+#define USE_STDLIB_H
+#define USE_UNISTD_H
+#define USE_STRING_H
+#define VOID_STAR
+#define USE_XLIBINT_H
+#define X_SHARED_MEMORY
+
+#defpath DEST bin
+#defpath MAN_DEST man-dest
+#defpath RI include
+#defpath RL lib
+
+ROFF = nroff
+ROFFOPT = -man
+ROFFPIPE = | lpr
+
+INCTIFF =
+LIBTIFF = -ltiff
+INCX11 =
+LIBX11 = -lX11
+
+# Most people have migrated X11 to /usr/lib, but just in case ...
+check_x11=$(shell \
+ echo 'int main(){}' > test.c ; \
+ if ! $(CC) test.c -lX11 -o .urt-x11-test 2>/dev/null ; then \
+ echo "-L/usr/X11R6/lib" ; \
+ fi ; \
+ rm -f .urt-x11-test test.c)
+LIBX11 += $(call check_x11)
diff --git a/media-libs/urt/files/urt-3.1b-build-fixes.patch b/media-libs/urt/files/urt-3.1b-build-fixes.patch
new file mode 100644
index 000000000000..28da6b9b66d9
--- /dev/null
+++ b/media-libs/urt/files/urt-3.1b-build-fixes.patch
@@ -0,0 +1,151 @@
+some hosts are more anal about ar usage than others
+http://bugs.gentoo.org/107428
+
+respect user LDFLAGS
+http://bugs.gentoo.org/126872
+
+--- urt/lib/makefile.src
++++ urt/lib/makefile.src
+@@ -181,8 +181,7 @@
+ # Rebuild the library from all the .o files.
+ buildlib: $(OBJS)
+ -rm -f $(LIBNAME)
+- ar rc $(LIBNAME)
+- ar q $(LIBNAME) $(OBJS)
++ ar rc $(LIBNAME) $(OBJS)
+ #ifndef NO_RANLIB
+ ranlib $(LIBNAME)
+ #endif
+--- urt/tools/clock/makefile.src
++++ urt/tools/clock/makefile.src
+@@ -6,7 +6,7 @@ install: rleClock
+ mv rleClock ../rleClock.out
+
+ rleClock:rleClock.o font.o
+- ${CC} ${CFLAGS} rleClock.o font.o -lm ${LIBS} -o rleClock
++ ${CC} ${CFLAGS} ${LDFLAGS} rleClock.o font.o ${LIBS} -o rleClock -lm
+
+ font.c:font.src makeFont
+ chmod +x makeFont
+--- urt/tools/makefile.src
++++ urt/tools/makefile.src
+@@ -62,21 +62,21 @@ applymap.out rlebg.out: $(RI)/rle_raw.h
+ pyrlib.o: pyrlib.c $(RI)/pyramid.h $(RI)/rle.h $(RI)/rle_config.h
+ $(CC) $(CFLAGS) pyrlib.c -c
+ pyrmask.out: pyrlib.o pyrmask.c $(RI)/pyramid.h
+- $(CC) $(CFLAGS) -I$(RI) pyrmask.c pyrlib.o $(LIBS) -lm -o pyrmask.new
++ $(CC) $(LDFLAGS) $(CFLAGS) -I$(RI) pyrmask.c pyrlib.o $(LIBS) -lm -o pyrmask.new
+ mv pyrmask.new pyrmask.out
+
+ fant.out: fant.o mallocNd.o
+- $(CC) $(CFLAGS) -I$(RI) fant.o mallocNd.o $(LIBS) -lm -o fant.new
++ $(CC) $(LDFLAGS) $(CFLAGS) -I$(RI) fant.o mallocNd.o $(LIBS) -lm -o fant.new
+ mv fant.new fant.out
+
+ # rlebox and crop use some common code.
+ rle_box.o: $(RI)/rle.h $(RI)/rle_config.h $(RI)/rle_raw.h
+
+ crop.out: crop.c rle_box.o
+- ${CC} ${CFLAGS} crop.c rle_box.o ${LIBS} -o crop.new
++ ${CC} ${LDFLAGS} ${CFLAGS} crop.c rle_box.o ${LIBS} -o crop.new
+ mv crop.new crop.out
+ rlebox.out: rlebox.c rle_box.o
+- ${CC} ${CFLAGS} rlebox.c rle_box.o ${LIBS} -o rlebox.new
++ ${CC} ${LDFLAGS} ${CFLAGS} rlebox.c rle_box.o ${LIBS} -o rlebox.new
+ mv rlebox.new rlebox.out
+
+ # rleClock has it's own directory, must be built special
+@@ -100,7 +100,7 @@ clean: clean-pgm
+ .SUFFIXES:
+ .SUFFIXES: .out .c .o
+ .c.out:
+- $(CC) $(CFLAGS) $< $(LIBS) -lm -o $*.new
++ $(CC) $(LDFLAGS) $(CFLAGS) $< $(LIBS) -lm -o $*.new
+ mv $*.new $@
+
+ .c.o:
+--- urt/cnv/makefile.src
++++ urt/cnv/makefile.src
+@@ -76,13 +76,13 @@ PBMDIR =
+ # ppmtorle - ppm format to RLE
+ # rletoppm - RLE to ppm format
+ pgmtorle.out: pgmtorle.c
+- $(CC) $(CFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
++ $(CC) $(CFLAGS) $(LDFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
+ mv $*.new $@
+ ppmtorle.out: ppmtorle.c
+- $(CC) $(CFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
++ $(CC) $(CFLAGS) $(LDFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
+ mv $*.new $@
+ rletoppm.out: rletoppm.c
+- $(CC) $(CFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
++ $(CC) $(CFLAGS) $(LDFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
+ mv $*.new $@
+ #endif
+
+@@ -95,10 +95,10 @@ rletoppm.out: rletoppm.c
+ # iristorle/rletoiris - Convert between RLE and SGI image format.
+ #
+ iristorle.out: iristorle.c
+- $(CC) $(CFLAGS) -I/usr/include/gl $*.c $(LIBS) -limage -o $*.new
++ $(CC) $(CFLAGS) $(LDFLAGS) -I/usr/include/gl $*.c $(LIBS) -limage -o $*.new
+ mv $*.new $@
+ rletoiris.out: rletoiris.c
+- $(CC) $(CFLAGS) -I/usr/include/gl $*.c $(LIBS) -limage -o $*.new
++ $(CC) $(CFLAGS) $(LDFLAGS) -I/usr/include/gl $*.c $(LIBS) -limage -o $*.new
+ mv $*.new $@
+ #endif
+
+@@ -108,10 +108,10 @@ TIFFDIR =
+ # tifftorle - Convert TIFF images to RLE
+ # rletotiff - Convert RLE images to TIFF
+ rletotiff.out: rletotiff.c
+- $(CC) $(CFLAGS) $(INCTIFF) $*.c $(LIBS) $(LIBTIFF) -lm -o $*.new
++ $(CC) $(CFLAGS) $(LDFLAGS) $(INCTIFF) $*.c $(LIBS) $(LIBTIFF) -lm -o $*.new
+ mv $*.new $@
+ tifftorle.out: tifftorle.c
+- $(CC) $(CFLAGS) $(INCTIFF) $*.c $(LIBS) $(LIBTIFF) -lm -o $*.new
++ $(CC) $(CFLAGS) $(LDFLAGS) $(INCTIFF) $*.c $(LIBS) $(LIBTIFF) -lm -o $*.new
+ mv $*.new $@
+ #endif
+
+@@ -125,7 +125,7 @@ tifftorle.out: tifftorle.c
+ # Will build with the default rule.
+ # rletorla - RLE to Wavefront RLA
+ rletorla.out: rletorla.c
+- $(CC) $(CFLAGS) $*.c $(LIBS) $(LIBWAVEFRONT) -lm -o $*.new
++ $(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LIBS) $(LIBWAVEFRONT) -lm -o $*.new
+ mv $*.new $@
+ #endif WAVEFRONT
+
+@@ -144,7 +144,7 @@ pristine: pristine-pgm
+ .SUFFIXES:
+ .SUFFIXES: .out .c
+ .c.out:
+- $(CC) $(CFLAGS) $*.c $(LIBS) -lm -o $*.new
++ $(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LIBS) -lm -o $*.new
+ mv $*.new $@
+
+ # Dependency lines. Make sure to #ifdef them.
+--- urt/cnv/rletoabA62/makefile.src
++++ urt/cnv/rletoabA62/makefile.src
+@@ -15,7 +15,7 @@ all : $(PGMS)
+ # Executables. The .out will be stripped off in the install action.
+
+ rletoabA62.out : rletoabA62.o rle.o
+- $(CC) $(CFLAGS) -o rletoabA62.new \
++ $(CC) $(CFLAGS) $(LDFLAGS) -o rletoabA62.new \
+ rletoabA62.o rle.o $(LIBS)
+ mv rletoabA62.new rletoabA62.out
+
+--- urt/cnv/rletogif/makefile.src
++++ urt/cnv/rletogif/makefile.src
+@@ -15,7 +15,7 @@ all: $(PGMS)
+ # The executable. The ".out" will be stripped off in the install action.
+
+ rletogif.out: ${OBJ}
+- ${CC} ${CFLAGS} ${OBJ} ${LIBS} -o rletogif.new
++ ${CC} ${CFLAGS} ${LDFLAGS} ${OBJ} ${LIBS} -o rletogif.new
+ mv rletogif.new rletogif.out
+
+ # Incremental install, copies executable to DEST dir.
diff --git a/media-libs/urt/files/urt-3.1b-compile-updates.patch b/media-libs/urt/files/urt-3.1b-compile-updates.patch
new file mode 100644
index 000000000000..105f7c41f6a7
--- /dev/null
+++ b/media-libs/urt/files/urt-3.1b-compile-updates.patch
@@ -0,0 +1,141 @@
+--- get/getx11/XGetHClrs.c
++++ get/getx11/XGetHClrs.c
+@@ -1,5 +1,4 @@
+ #ifndef XLIBINT_H_NOT_AVAILABLE
+-#include <X11/copyright.h>
+
+ /* $XConsortium: XGetHClrs.c,v 11.10 88/09/06 16:07:50 martin Exp $ */
+ /* Copyright Massachusetts Institute of Technology 1986 */
+--- tools/mallocNd.c
++++ tools/mallocNd.c
+@@ -67,7 +67,7 @@
+
+ /* Imports */
+ #include <stdio.h>
+-extern char *malloc();
++#include <string.h>
+
+ /* Forward declarations */
+ char *BuildIndirectionTable();
+--- tools/into.c
++++ tools/into.c
+@@ -40,8 +40,8 @@
+ static char buf[MAXPATHLEN+1];
+ short forceflg; /* overwrite an unwritable file? */
+
+-extern int errno;
+-extern char *sys_errlist[];
++#include <errno.h>
++#include <string.h>
+
+ void
+ main(argc, argv)
+@@ -103,7 +103,7 @@
+ if (ferror(outf))
+ {
+ fprintf(stderr, "into: %s, \"%s\" not modified\n",
+- sys_errlist[errno], argv[1]);
++ strerror(errno), argv[1]);
+ unlink(buf);
+ exit(1);
+ }
+--- cnv/tex/dvirle2.c
++++ cnv/tex/dvirle2.c
+@@ -55,7 +55,6 @@
+ void DumpTopOfBand(), MoveDown(), WriteBuf(), WriteBlanks();
+
+ char *ProgName;
+-extern int errno;
+ extern char *optarg;
+ extern int optind;
+
+--- cnv/wasatchrle.c
++++ cnv/wasatchrle.c
+@@ -32,7 +32,6 @@
+ #include <errno.h>
+ #include "rle.h"
+
+-extern int errno;
+
+ /* "short" in our world is 16 bits. Beware of swyte-bopping. */
+
+--- get/getx11/x11_stuff.c
++++ get/getx11/x11_stuff.c
+@@ -155,7 +155,6 @@
+ IPC_CREAT|0777 );
+ if ( img->shm_img.shmid < 0 )
+ {
+- extern int errno;
+ if ( errno == ENOSPC )
+ {
+ if ( !no_shared_space )
+@@ -361,7 +360,6 @@ Boolean reallocate;
+ XDestroyImage( image );
+ if ( img->shm_pix.shmid < 0 )
+ {
+- extern int errno;
+ if ( errno == ENOSPC )
+ {
+ if ( !no_shared_space )
+--- get/qcr/qcr.h
++++ get/qcr/qcr.h
+@@ -6,8 +6,6 @@
+ #define GREEN 1
+ #define BLUE 2
+
+-extern int errno;
+-
+ /* Command defs for QCR-Z Film Recorder */
+
+ /* These are for 8 bit Look Up Tables */
+--- get/gettaac.c
++++ get/gettaac.c
+@@ -24,6 +24,7 @@
+ * Send bug fixes and improvements to: ksp@maxwell.nde.swri.edu
+ */
+
++#include <errno.h>
+ #include <stdio.h>
+ #include <strings.h>
+ #include <signal.h>
+@@ -459,7 +460,6 @@ char *template;
+ char nonUnique;
+ char twiddleUserCompletion;
+
+- extern int errno;
+ struct direct *nameEntry;
+ DIR *dirChan;
+ struct passwd *pwdEntry;
+--- tools/clock/rleClock.c
++++ tools/clock/rleClock.c
+@@ -598,7 +598,7 @@
+ { TRUE, "-tf", STRING, "Text area format string", (char *)&FormatString },
+ { FALSE, "-Xm", BOOL, "Output the alpha channel on RGB", (char *)&DebugAlpha },
+ { FALSE, "-D", BOOL, "Turn on debugging", (char *)&Debug },
+- NULL
++ { FALSE, NULL }
+ };
+
+ void
+--- tools/to8.c
++++ tools/to8.c
+@@ -175,7 +175,7 @@
+ * Give it a background color of black, since the real background
+ * will be dithered anyway.
+ */
+- if ( in_hdr.background != NULL )
++ if ( in_hdr.background != 0 )
+ {
+ out_hdr.bg_color = (int *)malloc( sizeof( int ) );
+ RLE_CHECK_ALLOC( cmd_name( argv ), out_hdr.bg_color, 0 );
+--- cnv/rletoabA62/rletoabA62.c
++++ cnv/rletoabA62/rletoabA62.c
+@@ -157,7 +157,7 @@
+ exit(1);
+ }
+ if (optind < argc) {
+- if ((file = open(argv[optind], 0)) == NULL) {
++ if ((file = open(argv[optind], 0)) == -1) {
+ perror(argv[optind]);
+ exit(1);
+ }
diff --git a/media-libs/urt/files/urt-3.1b-make.patch b/media-libs/urt/files/urt-3.1b-make.patch
new file mode 100644
index 000000000000..d8f6c74cd890
--- /dev/null
+++ b/media-libs/urt/files/urt-3.1b-make.patch
@@ -0,0 +1,75 @@
+Index: urt/makefile.src
+===================================================================
+--- urt.orig/makefile.src
++++ urt/makefile.src
+@@ -17,7 +17,7 @@ all: default
+ # clean deletes all but source, pristine (below) deletes installed stuff, too
+ default clean: doit
+ @for d in $(DIRS) ; do \
+- ( cd $$d ; echo make $@ on $$d ; make $(MFLAGS) $@ ) ; \
++ ( cd $$d ; echo $(MAKE) $@ on $$d ; $(MAKE) $(MFLAGS) $@ ) ; \
+ done
+
+ # install puts library, binaries and documentation into global location
+@@ -29,7 +29,7 @@ MAKE_TARGET =
+
+ install $(MAKE_TARGET) pristine depend:: doit
+ @for d in $(ALLDIRS) ; do \
+- ( cd $$d ; echo make $@ on $$d ; make $(MFLAGS) $@ ) ; \
++ ( cd $$d ; echo $(MAKE) $@ on $$d ; $(MAKE) $(MFLAGS) $@ ) ; \
+ done
+
+
+Index: urt/tools/makefile.src
+===================================================================
+--- urt.orig/tools/makefile.src
++++ urt/tools/makefile.src
+@@ -82,7 +82,7 @@ rlebox.out: rlebox.c rle_box.o
+ # rleClock has it's own directory, must be built special
+
+ rleClock.out: clock/font.c clock/font.h clock/font.src clock/rleClock.c
+- (cd clock ; make)
++ (cd clock ; $(MAKE))
+
+ # Incremental install, copies everything ("$?") since last install to DEST dir.
+ install: $(PGMS) install-pgm
+Index: urt/makefile.tlr
+===================================================================
+--- urt.orig/makefile.tlr
++++ urt/makefile.tlr
+@@ -7,7 +7,7 @@ subdirs:
+ @sh -c "if test 'x$(DIRS)' != x ; then eval \
+ 'set -e ; for dir in $(DIRS) ; do \
+ (cd \$$dir ; echo Make ${HERE}\$$dir ; \
+- make $(MFLAGS) $(DIRMFLAGS) ) ; \
++ $(MAKE) $(MFLAGS) $(DIRMFLAGS) ) ; \
+ done' ; \
+ else \
+ true ; \
+@@ -46,7 +46,7 @@ install-subdirs: subdirs
+ @sh -c "if test 'x$(DIRS)' != x ; then eval \
+ 'for dir in $(DIRS) ; do \
+ (cd \$$dir ; echo Install ${HERE}\$$dir ; \
+- make $(MFLAGS) $(DIRMFLAGS) install) ; \
++ $(MAKE) $(MFLAGS) $(DIRMFLAGS) install) ; \
+ done' ; \
+ else \
+ true ; \
+@@ -105,7 +105,7 @@ pristine-pgm: clean-pgm
+ 'for dir in $(ALLDIRS); do \
+ if test -d $$dir ; then \
+ (cd $$dir; echo Make ${HERE}$$dir pristine ; \
+- make $(MFLAGS) pristine); \
++ $(MAKE) $(MFLAGS) pristine); \
+ else \
+ true; \
+ fi; \
+@@ -124,7 +124,7 @@ clean-pgm:
+ 'for dir in $(ALLDIRS); do \
+ if test -d $$dir ; then \
+ (cd $$dir; echo Clean ${HERE}$$dir ; \
+- make $(MFLAGS) clean); \
++ $(MAKE) $(MFLAGS) clean); \
+ else \
+ true; \
+ fi; \
diff --git a/media-libs/urt/files/urt-3.1b-rle-fixes.patch b/media-libs/urt/files/urt-3.1b-rle-fixes.patch
new file mode 100644
index 000000000000..3720806960fe
--- /dev/null
+++ b/media-libs/urt/files/urt-3.1b-rle-fixes.patch
@@ -0,0 +1,203 @@
+Fixes taken from netpbm
+
+--- lib/rle_global.c
++++ lib/rle_global.c
+@@ -76,7 +76,7 @@ rle_hdr rle_dflt_hdr = {
+ 8, /* cmaplen (log2 of length of color map) */
+ NULL, /* pointer to color map */
+ NULL, /* pointer to comment strings */
+- stdout, /* output file */
++ NULL, /* output file -- must be set dynamically */
+ { 7 }, /* RGB channels only */
+ 0L, /* Can't free name and file fields. */
+ "Urt", /* Default "program name". */
+--- lib/rle_hdr.c
++++ lib/rle_hdr.c
+@@ -269,6 +273,9 @@
+ {
+ rle_hdr *ret_hdr;
+
++ rle_dflt_hdr.rle_file = stdout;
++ /* The rest of rle_dflt_hdr is set by the loader's data initialization */
++
+ if ( the_hdr == &rle_dflt_hdr )
+ return the_hdr;
+
+--- lib/dither.c
++++ lib/dither.c
+@@ -38,10 +38,10 @@ void make_square();
+ #endif
+
+ static int magic4x4[4][4] = {
+- 0, 14, 3, 13,
+- 11, 5, 8, 6,
+- 12, 2, 15, 1,
+- 7, 9, 4, 10
++{ 0, 14, 3, 13},
++{ 11, 5, 8, 6},
++{ 12, 2, 15, 1},
++{ 7, 9, 4, 10}
+ };
+
+ /* basic dithering macro */
+--- lib/rle_open_f.c
++++ lib/rle_open_f.c
+@@ -9,7 +9,11 @@
+ */
+
+ #include "rle_config.h"
++#define _XOPEN_SOURCE /* Make sure fdopen() is in stdio.h */
++
+ #include <stdio.h>
++#include <unistd.h>
++#include <fcntl.h>
+
+ #ifndef NO_OPEN_PIPES
+ /* Need to have a SIGCLD signal catcher. */
+@@ -260,7 +260,6 @@
+ int pipefd[2];
+ int i;
+ char *argv[4];
+- extern int errno;
+
+ /* Check args. */
+ if ( *mode != 'r' && *mode != 'w' )
+--- lib/rle_getcom.c
++++ lib/rle_getcom.c
+@@ -53,11 +53,12 @@
+ {
+ for ( ; *n != '\0' && *n != '=' && *n == *v; n++, v++ )
+ ;
+- if (*n == '\0' || *n == '=')
++ if (*n == '\0' || *n == '=') {
+ if ( *v == '\0' )
+ return v;
+ else if ( *v == '=' )
+ return ++v;
++ }
+
+ return NULL;
+ }
+--- lib/scanargs.c
++++ lib/scanargs.c
+@@ -128,10 +130,10 @@
+ va_list argl;
+ {
+
+- register check; /* check counter to be sure all argvs
++ int check; /* check counter to be sure all argvs
+ are processed */
+ register CONST_DECL char *cp;
+- register cnt;
++ int cnt;
+ int optarg = 0; /* where optional args start */
+ int nopt = 0;
+ char tmpflg, /* temp flag */
+@@ -375,11 +377,12 @@
+ if ( optarg > 0 ) /* end optional args? */
+ {
+ /* Eat the arg, too, if necessary */
+- if ( list_cnt == 0 )
++ if ( list_cnt == 0 ) {
+ if ( typchr == 's' )
+ (void)va_arg( argl, char * );
+ else
+ (void)va_arg( argl, ptr );
++ }
+ break;
+ }
+ else
+@@ -567,7 +570,7 @@
+ * Do conversion for n and N types
+ */
+ tmpflg = typchr;
+- if (typchr == 'n' || typchr == 'N' )
++ if (typchr == 'n' || typchr == 'N' ) {
+ if (*argp != '0')
+ tmpflg = 'd';
+ else if (*(argp+1) == 'x' ||
+@@ -578,6 +581,7 @@
+ }
+ else
+ tmpflg = 'o';
++ }
+ if (typchr == 'N')
+ tmpflg = toupper( tmpflg );
+
+--- lib/inv_cmap.c
++++ lib/inv_cmap.c
+@@ -42,7 +42,7 @@
+ static long cbinc, cginc, crinc;
+ static unsigned long *gdp, *rdp, *cdp;
+ static unsigned char *grgbp, *rrgbp, *crgbp;
+-static gstride, rstride;
++static long gstride, rstride;
+ static long x, xsqr, colormax;
+ static int cindex;
+ #ifdef INSTRUMENT_IT
+--- lib/rle_getrow.c
++++ lib/rle_getrow.c
+@@ -351,7 +351,7 @@
+ bzero( (char *)scanline[-1] + the_hdr->xmin,
+ the_hdr->xmax - the_hdr->xmin + 1 );
+ for ( nc = 0; nc < the_hdr->ncolors; nc++ )
+- if ( RLE_BIT( *the_hdr, nc ) )
++ if ( RLE_BIT( *the_hdr, nc ) ) {
+ /* Unless bg color given explicitly, use 0. */
+ if ( the_hdr->background != 2 || the_hdr->bg_color[nc] == 0 )
+ bzero( (char *)scanline[nc] + the_hdr->xmin,
+@@ -360,6 +360,7 @@
+ bfill( (char *)scanline[nc] + the_hdr->xmin,
+ the_hdr->xmax - the_hdr->xmin + 1,
+ the_hdr->bg_color[nc] );
++ }
+ }
+
+ /* If skipping, then just return */
+@@ -367,7 +368,7 @@
+ {
+ the_hdr->priv.get.vert_skip--;
+ the_hdr->priv.get.scan_y++;
+- if ( the_hdr->priv.get.vert_skip > 0 )
++ if ( the_hdr->priv.get.vert_skip > 0 ) {
+ if ( the_hdr->priv.get.scan_y >= the_hdr->ymax )
+ {
+ int y = the_hdr->priv.get.scan_y;
+@@ -377,6 +378,7 @@
+ }
+ else
+ return the_hdr->priv.get.scan_y;
++ }
+ }
+
+ /* If EOF has been encountered, return also */
+@@ -457,11 +459,12 @@
+ else
+ nc = DATUM(inst);
+ nc++;
+- if ( debug_f )
++ if ( debug_f ) {
+ if ( RLE_BIT( *the_hdr, channel ) )
+ fprintf( stderr, "Pixel data %d (to %d):", nc, scan_x+nc );
+ else
+ fprintf( stderr, "Pixel data %d (to %d)\n", nc, scan_x+nc);
++ }
+ if ( RLE_BIT( *the_hdr, channel ) )
+ {
+ /* Don't fill past end of scanline! */
+--- lib/rle_putcom.c
++++ lib/rle_putcom.c
+@@ -53,11 +53,12 @@
+ {
+ for ( ; *n != '\0' && *n != '=' && *n == *v; n++, v++ )
+ ;
+- if (*n == '\0' || *n == '=')
++ if (*n == '\0' || *n == '=') {
+ if ( *v == '\0' )
+ return v;
+ else if ( *v == '=' )
+ return ++v;
++ }
+
+ return NULL;
+ }
diff --git a/media-libs/urt/files/urt-3.1b-solaris.patch b/media-libs/urt/files/urt-3.1b-solaris.patch
new file mode 100644
index 000000000000..c1775d7e9783
--- /dev/null
+++ b/media-libs/urt/files/urt-3.1b-solaris.patch
@@ -0,0 +1,14 @@
+usage of errno requires errno.h
+
+Fabian Groffen <grobian@gentoo.org>
+
+--- get/getx11/x11_stuff.c
++++ get/getx11/x11_stuff.c
+@@ -42,6 +42,7 @@
+ #ifdef X_SHARED_MEMORY
+ #include <sys/errno.h>
+ #endif
++#include <errno.h>
+
+ #include "circle.bitmap"
+ #include "circle_mask.bitmap"
diff --git a/media-libs/urt/files/urt-3.1b-tempfile.patch b/media-libs/urt/files/urt-3.1b-tempfile.patch
new file mode 100644
index 000000000000..12acce151b5d
--- /dev/null
+++ b/media-libs/urt/files/urt-3.1b-tempfile.patch
@@ -0,0 +1,19 @@
+--- tools/rlecat.c
++++ tools/rlecat.c
+@@ -110,8 +110,14 @@
+ nflag = 0; /* Not really repeating! */
+ else
+ {
+- mktemp( temp ); /* Make a temporary file name */
+- tmpfile = rle_open_f( cmd_name( argv ), temp, "w+" );
++ /* we dont have to use rle_open_f() because all it does in
++ * this case is run fopen() ... we're creating a file so all
++ * the checks for opening an existing file aren't needed */
++ int fd = mkstemp(temp);
++ if (fd == -1 || (tmpfile = fdopen(fd, "w+")) == NULL) {
++ perror("Unable to open tempfile");
++ exit(-1);
++ }
+ }
+ }
+
diff --git a/media-libs/urt/metadata.xml b/media-libs/urt/metadata.xml
new file mode 100644
index 000000000000..e770d1bc9a96
--- /dev/null
+++ b/media-libs/urt/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>graphics</herd>
+</pkgmetadata>
diff --git a/media-libs/urt/urt-3.1b-r1.ebuild b/media-libs/urt/urt-3.1b-r1.ebuild
new file mode 100644
index 000000000000..cae6e3a231b7
--- /dev/null
+++ b/media-libs/urt/urt-3.1b-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="the Utah Raster Toolkit is a library for dealing with raster images"
+HOMEPAGE="http://www.cs.utah.edu/gdc/projects/urt/"
+SRC_URI="ftp://ftp.iastate.edu/pub/utah-raster/${P}.tar.Z"
+
+LICENSE="URT gif? ( free-noncomm )"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE="gif postscript tiff X"
+
+DEPEND="X? ( x11-libs/libXext
+ x11-proto/xextproto
+ )
+ gif? ( media-libs/giflib )
+ tiff? ( media-libs/tiff )
+ postscript? ( app-text/ghostscript-gpl )"
+
+S=${WORKDIR}
+
+urt_config() {
+ use $1 && echo "#define $2" || echo "##define $2"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ rm -f bin/README
+
+ epatch "${FILESDIR}"/${P}-rle-fixes.patch
+ epatch "${FILESDIR}"/${P}-compile-updates.patch
+ epatch "${FILESDIR}"/${P}-tempfile.patch
+ epatch "${FILESDIR}"/${P}-build-fixes.patch
+ epatch "${FILESDIR}/${P}-make.patch"
+ epatch "${FILESDIR}"/${P}-solaris.patch
+
+ # punt bogus manpage #109511
+ rm -f man/man1/template.1
+
+ # stupid OS X declares a stack_t type already #107428
+ sed -i -e 's:stack_t:_urt_stack:g' tools/clock/rleClock.c || die
+
+ sed -i -e '/^CFLAGS/s: -O : :' makefile.hdr
+ cp "${FILESDIR}"/gentoo-config config/gentoo
+ cat >> config/gentoo <<-EOF
+ $(urt_config X X11)
+ $(urt_config postscript POSTSCRIPT)
+ $(urt_config tiff TIFF)
+ ExtraCFLAGS = ${CFLAGS}
+ MFLAGS = ${MAKEOPTS}
+ # prevent circular depend #111455
+ $(has_version media-libs/giflib && urt_config gif GIF)
+ EOF
+}
+
+src_compile() {
+ ./Configure config/gentoo || die "config"
+ emake CC=$(tc-getCC) || die "emake"
+}
+
+src_install() {
+ mkdir -p man-dest/man{1,3,5}
+ # this just installs it into some local dirs
+ make install || die
+ dobin bin/* || die "dobin"
+ dolib.a lib/librle.a || die "dolib.a"
+ insinto /usr/include
+ doins include/rle*.h || die "doins include"
+ doman man-dest/man?/*.[135]
+ dodoc *-changes CHANGES* README blurb
+}