Author: egorochkin
Date: Thu Oct 14 11:54:06 2010
New Revision: 24278
URL: https://svn.nixos.org/websvn/nix/?rev=24278&sc=1

Log:
URT library: packaged

Added:
   nixpkgs/trunk/pkgs/development/libraries/urt/
   nixpkgs/trunk/pkgs/development/libraries/urt/default.nix
   nixpkgs/trunk/pkgs/development/libraries/urt/gentoo-config
   nixpkgs/trunk/pkgs/development/libraries/urt/urt-3.1b-build-fixes.patch
   nixpkgs/trunk/pkgs/development/libraries/urt/urt-3.1b-compile-updates.patch
   nixpkgs/trunk/pkgs/development/libraries/urt/urt-3.1b-make.patch
   nixpkgs/trunk/pkgs/development/libraries/urt/urt-3.1b-rle-fixes.patch
   nixpkgs/trunk/pkgs/development/libraries/urt/urt-3.1b-tempfile.patch
Modified:
   nixpkgs/trunk/pkgs/top-level/all-packages.nix

Added: nixpkgs/trunk/pkgs/development/libraries/urt/default.nix
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/development/libraries/urt/default.nix    Thu Oct 14 
11:54:06 2010        (r24278)
@@ -0,0 +1,61 @@
+{stdenv, fetchurl, ncompress}:
+
+stdenv.mkDerivation rec {
+  name = "urt-${version}";
+  version = "3.1b";
+  
+  src = fetchurl {
+    url = ftp://ftp.iastate.edu/pub/utah-raster/urt-3.1b.tar.Z;
+    sha256 = "0hbb3avgvkfb2cksqn6cmmgcr0278nb2qd1srayqx0876pq6g2vd";
+  };
+
+  buildInputs = [ ncompress ];
+
+  unpackPhase = ''
+      mkdir urt
+      tar xvf "$src" -C urt
+  '';
+  patchFlags = "-p0 -d urt";
+  patches = [ ./urt-3.1b-build-fixes.patch ./urt-3.1b-compile-updates.patch
+              ./urt-3.1b-make.patch ./urt-3.1b-rle-fixes.patch 
./urt-3.1b-tempfile.patch ];
+  postPatch = ''
+      cd urt
+
+      rm bin/README
+      rm man/man1/template.1
+
+      # stupid OS X declares a stack_t type already 
+      sed -i -e 's:stack_t:_urt_stack:g' tools/clock/rleClock.c
+
+      sed -i -e '/^CFLAGS/s: -O : :' makefile.hdr
+
+      cp "${./gentoo-config}" config/gentoo
+  '';
+  configurePhase = ''
+      ./Configure config/gentoo
+  '';
+  postInstall = ''
+      mkdir -p $out/bin
+      cp bin/* $out/bin
+
+      mkdir -p $out/lib
+      cp lib/librle.a $out/lib
+
+      mkdir -p $out/include
+      cp include/rle*.h $out/include
+
+      mkdir -p $out/share/man/man1
+      cp man/man1/*.1 $out/share/man/man1
+
+      mkdir -p $out/share/man/man3
+      cp man/man3/*.3 $out/share/man/man3
+
+      mkdir -p $out/share/man/man5
+      cp man/man5/*.5 $out/share/man/man5
+  '';
+
+  meta = {
+    homepage = http://www.cs.utah.edu/gdc/projects/urt/;
+    description = "The Utah Raster Toolkit is a library for dealing with 
raster images";
+  };
+}
\ No newline at end of file

Added: nixpkgs/trunk/pkgs/development/libraries/urt/gentoo-config
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/development/libraries/urt/gentoo-config  Thu Oct 14 
11:54:06 2010        (r24278)
@@ -0,0 +1,52 @@
+#define ABEKASA60
+#define ABEKASA62
+#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 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)

Added: nixpkgs/trunk/pkgs/development/libraries/urt/urt-3.1b-build-fixes.patch
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/development/libraries/urt/urt-3.1b-build-fixes.patch     
Thu Oct 14 11:54:06 2010        (r24278)
@@ -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
+
+--- lib/makefile.src
++++ 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
+--- tools/clock/makefile.src
++++ 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
+--- tools/makefile.src
++++ 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:
+--- cnv/makefile.src
++++ 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.
+--- cnv/rletoabA62/makefile.src
++++ 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
+ 
+--- cnv/rletogif/makefile.src
++++ 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.

Added: 
nixpkgs/trunk/pkgs/development/libraries/urt/urt-3.1b-compile-updates.patch
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/development/libraries/urt/urt-3.1b-compile-updates.patch 
Thu Oct 14 11:54:06 2010        (r24278)
@@ -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:  [email protected]
+  */
+ 
++#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);
+       }

Added: nixpkgs/trunk/pkgs/development/libraries/urt/urt-3.1b-make.patch
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/development/libraries/urt/urt-3.1b-make.patch    Thu Oct 
14 11:54:06 2010        (r24278)
@@ -0,0 +1,75 @@
+Index: makefile.src
+===================================================================
+--- makefile.src
++++ 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: tools/makefile.src
+===================================================================
+--- tools/makefile.src
++++ 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: makefile.tlr
+===================================================================
+--- makefile.tlr
++++ 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; \

Added: nixpkgs/trunk/pkgs/development/libraries/urt/urt-3.1b-rle-fixes.patch
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/development/libraries/urt/urt-3.1b-rle-fixes.patch       
Thu Oct 14 11:54:06 2010        (r24278)
@@ -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;
+ }

Added: nixpkgs/trunk/pkgs/development/libraries/urt/urt-3.1b-tempfile.patch
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/development/libraries/urt/urt-3.1b-tempfile.patch        
Thu Oct 14 11:54:06 2010        (r24278)
@@ -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);
++          }
+       }
+     }
+ 

Modified: nixpkgs/trunk/pkgs/top-level/all-packages.nix
==============================================================================
--- nixpkgs/trunk/pkgs/top-level/all-packages.nix       Thu Oct 14 11:53:59 
2010        (r24277)
+++ nixpkgs/trunk/pkgs/top-level/all-packages.nix       Thu Oct 14 11:54:06 
2010        (r24278)
@@ -3845,6 +3845,8 @@
     inherit postgresql mysql sqlite;
   });
 
+  urt = callPackage ../development/libraries/urt { };
+
   vamp = callPackage ../development/libraries/audio/vamp { };
 
   vigra = callPackage ../development/libraries/vigra { };
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits

Reply via email to