diff options
Diffstat (limited to 'source/l/netpbm')
-rw-r--r-- | source/l/netpbm/Makefile.config | 649 | ||||
-rwxr-xr-x | source/l/netpbm/netpbm.SlackBuild | 122 | ||||
-rw-r--r-- | source/l/netpbm/slack-desc | 19 | ||||
-rwxr-xr-x | source/l/netpbm/svn-checkout-stable.sh | 1 |
4 files changed, 791 insertions, 0 deletions
diff --git a/source/l/netpbm/Makefile.config b/source/l/netpbm/Makefile.config new file mode 100644 index 00000000..d9bf909d --- /dev/null +++ b/source/l/netpbm/Makefile.config @@ -0,0 +1,649 @@ +####This file was automatically created by 'configure.' +####Many variables are set twice -- a generic setting, then +####a system-specific override at the bottom of the file. +#### +# This is a make file inclusion, to be included in all the Netpbm make +# files. + +# This file is meant to contain variable settings that customize the +# build for a particular target system configuration. + +# The distribution contains the file Makefile.config.in. You edit +# Makefile.config.in in ways relevant to your particular environment +# to create Makefile.config. The "configure" program will do this +# for you in simple cases. + +# Some of the variables that the including make file must set for this +# file to work: +# +# SRCDIR: The directory at the top of the Netpbm source tree. Note that +# this is typically a relative directory, and it must be relative to the +# make file that includes this file. + +DEFAULT_TARGET = nonmerge +#DEFAULT_TARGET = merge + +# Fiasco has some special requirements that make it fail to compile on +# some systems, and since it isn't very important, just set this to "N" +# and skip it on those systems unless you want to debug it and fix it. +# OpenBSD: +#BUILD_FIASCO = N +BUILD_FIASCO = Y + +# The following are commands for the build process to use. These values +# do not get built into anything. + +# The C compiler (including macro preprocessor) +#CC = gcc +# Note that 'cc' is usually an alias for whatever is the main compiler +# on a system, e.g. the GNU Compiler on Linux. +CC = cc + +# The linker. +LD = $(CC) +#LD = ld +#Tru64: +#LD = cc +#LD = gcc + +#If the linker identified above is a compiler that invokes a linker +#(as in 'cc foo.o -o foo'), set LINKERISCOMPILER. The main difference is +#that we expect a compiler to take linker options in the '-Wl,-opt1,val1' +#syntax whereas the actual linker would take '-opt1 val1'. +LINKERISCOMPILER=Y +#If $(LD) is 'ld': +#LINKERISCOMPILER=N + +#LINKER_CAN_DO_EXPLICIT_LIBRARY means the linker specified above can +#take a library as just another link object argument, as in 'ld +#pnmtojpeg.o /usr/local/lib/libjpeg.so ...' as opposed to requiring a +#-l option as in 'ld pnmtojpeg.o -L/usr/local/lib -l jpeg'. +#This variable controls how 'libopt' gets built. Note that with some +#linkers, you can specify a shared library explicitly, but then it has +#to live in that exact place at run time. That's not good enough for us. + +LINKER_CAN_DO_EXPLICIT_LIBRARY=N +#GNU: +#LINKER_CAN_DO_EXPLICIT_LIBRARY=Y + +# This is the name of the header file that declares the types +# uint32_t, etc. This name is used as #include $(INTTYPES_H) . +# Set to null if the types come automatically without including anything. + +# We have a report (2005.09.17) that on IRIX 5.3 with the native IDO +# cc, inttypes.h and sys/types.h conflict (and Netpbm programs include +# sys/types for other things), so for that environment, <inttypes.h> +# won't work, but "inttypes_netpbm.h" might. + +INTTYPES_H = <inttypes.h> +# Linux libc5: +#INTTYPES_H = <types.h> +# Solaris: +# Solaris has <sys/inttypes.h>, but it doesn't define int_fast2_t, etc. +#INTTYPES_H = "inttypes_netpbm.h" +# Others: +#INTTYPES_H = <sys/stdint.h> +#INTTYPES_H = <sys/types.h> +# The automatically generated Netpbm version: +#INTTYPES_H = "inttypes_netpbm.h" + +# HAVE_INT64 tells whether, assuming you include the header indicated by +# INTTYPES_H, you have the int64_t type and related stuff. (If you don't +# the build will omit certain code that does 64 bit computations). +HAVE_INT64 = Y +#HAVE_INT64 = N + +# CC and LD are for building the Netpbm programs, which are not necessarily +# intended to run on the same system on which Make is running. But when we +# build a build tool such as Libopt, it is meant to run only on the same +# system on which the Make is running. The variables below define programs +# to use to compile and link build tools. +CC_FOR_BUILD = $(CC) +LD_FOR_BUILD = $(LD) +CFLAGS_FOR_BUILD = $(CFLAGS) + +# MAKE is set automatically by Make to what was used to invoke Make. + +INSTALL = $(SRCDIR)/buildtools/install.sh +#Solaris: +#INSTALL = /usr/ucb/install +#Tru64: +#INSTALL = installbsd +#OSF1: +#INSTALL = $(SRCDIR)/buildtools/installosf +#Red Hat Linux: +#INSTALL = install + +# STRIPFLAG is the option you pass to the above install program to make it +# strip unnecessary information out of binaries. +STRIPFLAG = -s +# If you don't want to strip the binaries, just leave it null: +#STRIPFLAG = + +SYMLINK = ln -s +# At least some Windows environments don't have any concept of symbolic +# links, but direct copies are usually a passable alternative. +#SYMLINK = cp + +#MANPAGE_FORMAT is "nroff" or "cat". It determines in what format the +#pointer man pages are installed (ready to nroff, or ready to cat). +#A pointer man pages is just a single-paragraph pages that tells you there is +#no man page for the program, to look at the HTML documentation instead. +MANPAGE_FORMAT = nroff +#MANPAGE_FORMAT = cat + +AR = ar +RANLIB = ranlib +# IRIX, SCO don't have Ranlib: +#RANLIB = true + +# LEX is the beginning of a shell command that runs a Lex-like +# pattern matcher generator. Null string means there isn't any such +# command. That means the build will skip parts that need one. + +LEX = flex +# Solaris: +# LEX = flex -e +# Windows Mingw: +# LEX = +# +# LEX = lex + +# C compiler options + +# gcc: +# -ansi and -Werror should work too, but are not included +# by default because there's no point in daring the build to fail. +# -pedantic isn't a problem because it causes at worst a warning. +#CFLAGS = -O3 -ffast-math -pedantic -fno-common \ +# -Wall -Wno-uninitialized -Wmissing-declarations -Wimplicit \ +# -Wwrite-string -Wmissing-prototypes -Wundef +# The merged programs have a main_XXX subroutine instead of main(), +# which would cause a warning with -Wmissing-declarations or +# -Wmissing-prototypes. +#CFLAGS_MERGE = -Wno-missing-declarations -Wno-missing-prototypes +# A user of DEC Tru64 4.0F in May 2000 needed -DLONG_32 for ppmtompeg, +# but word size-sensitive code was removed from parallel.c in September 2004. +# A user of Tru64 5.1A in July 2003 needed NOT to have -DLONG_32. In +# theory, you need this if on your system, long is 32 bits and int is not. +# But it may be completely irrelevant today. +#Tru64: +#CFLAGS = -O2 -std1 -DLONG_32 +#CFLAGS = -O2 -std1 +#AIX: +#CFLAGS= -O3 +#HP-UX: +#CFLAGS= -O3 -fPIC +#IRIX: +#CFLAGS= -n32 -O3 +#Amiga with GNU compiler: +#CFLAGS= -m68020-60 -ffast-math -mstackextend +# You can add -noixemul for Amiga and successfully compile most of the +# programs. (Of the remaining ones, if you can supply your own strtod() +# function, most of them will build with -noixemul). So try building +# with 'make --keep-going CADD=-noixemul' first, then just 'make' to build +# everything that failed for lack of the ixemul library in the first step. +# That way, the parts that don't required the ixemul library won't indicate +# a dependency on it. +#OpenBSD: +#CFLAGS = -I/usr/local/include + +# EXE is a suffix that the linker puts on any executable it generates. +# In cygwin, this is .exe and most programs deal with its existence without +# us having to know about it. Some don't though, so set this: + +EXE = +#Cygwin, DJGPP/Windows: +#EXE = .exe + +# linker options. + +# LDFLAGS is often set as an environment variable; A setting here overrides +# it. So either make sure you want to override it, or do a "LDFLAGS +=" here. + +# LDFLAGS is usually not the right place for a -L option, because we put +# LDFLAGS _before_ our own -L options, so it would cancel out our +# specific selection of libraries. For example, if you say +# LDFLAGS=/usr/local/lib and an old copy of the libnetpbm is in +# /usr/local/lib, then you'd be linking against that old copy instead of +# the copy you just built, which is located by a -L option later on the +# link command. LIBS is the right variable for adding -L options. LIBS +# goes after any of our make files' own -L options. + +# Eunice users may want to use -noshare so that the executables can +# run standalone: +#LDFLAGS += -noshare +#Tru64: +# Russ Allberry says on 2001.06.09 that -oldstyle_liblookup may be necessary +# to keep from finding an ancient system libjpeg.so that isn't compatible with +# NetPBM. Michael Long found that /usr/local/lib is not in the default +# search path, or not soon enough, and he was getting an old libjpeg that +# caused all the jpeg symbol references to be unresolved. He had installed +# a new libjpeg in /usr/local/lib. +#LDFLAGS += -call_shared -oldstyle_liblookup -L/usr/local/lib +#AIX: +#LDFLAGS += -L /usr/pubsw/lib +#HP-UX: +#LDFLAGS += -Wl,+b,/usr/pubsw/lib +#IRIX: +#LDFLAGS += -n32 + +# Linker options for created Netpbm shared libraries. + +# Here, $(SONAME) resolves to the soname for the shared library being created. +# The following are gcc options. This works on GNU libc systems. +LDSHLIB = -shared -Wl,-soname,$(SONAME) +# You need -nostart instead of -shared on BeOS. Though the BeOS compiler is +# ostensibly gcc, it has the -nostart option, which is not mentioned in gcc +# documentation and doesn't exist in at least one non-BeOS installation. +# BeOS doesn't have sonames built in. +#LDSHLIB = -nostart +#LDSHLIB = -G +# Solaris, SunOS with GNU Ld, SCO: +# These systems have no soname option. +#LDSHLIB = -shared +# Solaris with Sun Ld: +#LDSHLIB = -Wl,-Bdynamic,-G,-h,$(SONAME) +#Tru64: +#LDSHLIB = -shared -expect_unresolved "*" +#IRIX: +#LDSHLIB = -shared -n32 +#AIX GNU compiler/linker: +#LDSHLIB = -shared +#AIX Visual Age C: +#LDSHLIB = -qmkshrobj + +# LDRELOC is the command to combine two .o files (relocateable object files) +# into a single .o file that can later be linked into something else. NONE +# means no such command is available. + +LDRELOC = NONE +# GNU Ld: +# Older GNU Ld misspells the option as --relocateable. Newer GNU Ld +# correctly spells it --relocatable. The abbreviation --reloc works on +# both. +#LDRELOC = ld --reloc +#LDRELOC = ld -r + + +# On older systems, you have to make shared libraries out of position +# independent code, so you need -fpic or fPIC here. (The rule is: if +# -fpic works, use it. If it bombs, go to fPIC). On newer systems, +# it isn't necessary, but can save real memory at the expense of +# execution speed. Without position independent code, the library +# loader may have to patch addresses into the executable text. On an +# older system, this would cause a program crash because the loader +# would be writing into read-only shared memory. But on newer +# systems, the system silently creates a private mapping of the page +# or segment being modified (the "copy on write" phenomenon). So it +# needs its own private real page frame. In one experiment, A second +# copy of Pbmtext used 16K less real memory when built with -fpic than +# when built without. 2001.06.02. + +# We have seen -fPIC required on IA64 and AMD64 machines (GNU +# compiler/linker). Build-time linking fails without it. I don't +# know why -- history seems to be repeating itself. 2005.02.23. + +CFLAGS_SHLIB = +# Solaris or SunOS with gcc, and NetBSD: +#CFLAGS_SHLIB = -fpic +#CFLAGS_SHLIB = -fPIC +# Sun compiler: +#CFLAGS_SHLIB = -Kpic +#CFLAGS_SHLIB = -KPIC + +# SHLIB_CLIB is the link option to include the C library in a shared library, +# normally "-lc". On typical systems, this serves no purpose. On some, +# though, it causes information about which C library to use to be recorded +# in the shared library and thus choose the correct library among several or +# avoid using an incompatible one. But on some systems, the link fails. +# On 2002.09.30, "John H. DuBois III" <spcecdt@armory.com> reports that on +# SCO OpenServer, he gets the following error message with -lc: +# +# -lc; relocations referenced ; from file(s) /usr/ccs/lib/libc.so(random.o); +# fatal error: relocations remain against allocatable but non-writable +# section: ; .text + +SHLIB_CLIB = -lc +# SCO: +SHLIB_CLIB = + +# On some systems you have to build into an executable the list of +# directories where its dynamically linked libraries can be found at +# run time. This is typically done with a -R or -rpath linker +# option. Even on systems that don't require it, you might prefer to do +# that rather than set up environment variables or configuration files +# to tell the system where the libraries are. A "Y" here means to put +# the directory information in the executable at link time. + +NEED_RUNTIME_PATH = N +# Solaris, SunOS, NetBSD, AIX: +#NEED_RUNTIME_PATH = Y + +# RPATHOPTNAME is the option you use on the link command to specify +# a runtime search path for a shared library. It is meaningless unless +# NEED_RUNTIME_PATH is Y. +RPATHOPTNAME = -rpath + +# The following variables tell where your various libraries on which +# Netpbm depends live. The LIBxxx variable is a full file +# specification of the link library (not necessarily the library used +# at run time). e.g. "/usr/local/lib/graphics/libjpeg.so". It usually +# doesn't matter if the library prefix and suffix are right -- you can +# use "lib" and ".so" or ".a" regardless of what your system actually +# uses because these just turn into "-L" and "-l" linker options +# anyway. ".a" implies a static library for some purposes, though. +# If you don't have the library in question, use a value of NONE for +# LIBxxx and the build will simply skip the programs that require that +# library. If the library is in your linker's (or the Netpbm build's) +# default search path, leave off the directory part, e.g. "libjpeg.so". + +# The xxxHDR_DIR variable is the directory in which the interface +# headers for the library live (e.g. /usr/include). If they are in your +# compiler's default search path, set this variable to null. + +# This is where the Netpbm shared libraries will reside when Netpbm is +# fully installed. In some configurations, the Netpbm builder builds +# this information into the Netpbm executables. This does NOT affect +# where the Netpbm installer installs the libraries. A null value +# means the libraries are in a default search path used by the runtime +# library loader. +NETPBMLIB_RUNTIME_PATH = +#NETPBMLIB_RUNTIME_PATH = /usr/lib/netpbm + +# The TIFF library. See above. If you want to build the tiff +# converters, you must have the tiff library already installed. + +TIFFLIB = NONE +TIFFHDR_DIR = + +#TIFFLIB = libtiff.so +#TIFFHDR_DIR = /usr/include/libtiff +#NetBSD: +#TIFFLIB = $(LOCALBASE)/lib/libtiff.so +#TIFFHDR_DIR = $(LOCALBASE)/include +# OSF, Tru64: +#TIFFLIB = /usr/local1/DEC/lib/libtiff.so +#TIFFHDR_DIR = /usr/local1/DEC/include + +# Some TIFF libraries do Jpeg and/or Z (flate) compression and thus any +# program linked with the TIFF library needs a Jpeg and/or Z library. +# Some TIFF libraries have such library statically linked in, but others +# need it to be dynamically linked at program load time. +# Make this 'N' if youf TIFF library doesn't need such dynamic linking. +# As of 2005.01, the most usual build of the TIFF library appears to require +# both. +TIFFLIB_NEEDS_JPEG = Y +TIFFLIB_NEEDS_Z = Y + +# The JPEG library. See above. If you want to build the jpeg +# converters you must have the jpeg library already installed. + +# Tiff files can use JPEG compression, so the Tiff library can reference +# the JPEG library. If your Tiff library references a dynamic JPEG +# library, you must specify at least JPEGLIB here, or the Tiff +# converters will not build. Note that your Tiff library may have the +# JPEG stuff statically linked in, in which case you won't need +# JPEGLIB in order to build the Tiff converters. + +JPEGLIB = NONE +JPEGHDR_DIR = +#JPEGLIB = libjpeg.so +#JPEGHDR_DIR = /usr/include/jpeg +# Netbsd: +#JPEGLIB = ${LOCALBASE}/lib/libjpeg.so +#JPEGHDR_DIR = ${LOCALBASE}/include +# OSF, Tru64: +#JPEGLIB = /usr/local1/DEC/libjpeg.so +#JPEGHDR_DIR = /usr/local1/DEC/include +# Typical: +#JPEGLIB = /usr/local/lib/libjpeg.so +#JPEGHDR_DIR = /usr/local/include +# Don't build JPEG stuff: +#JPEGLIB = NONE + + +# The PNG library. See above. If you want to build the PNG +# converters you must have the PNG library already installed. + +# The PNG library, by convention starting around April 2002, gets installed +# with names that include a version number, such as libpng10.a and header +# files in /usr/include/libpng10. But there is conventionally an unnumbered +# alias (e.g. libpng.a, /usr/include/libpng) for the preferred version. +# +# Recent versions of the library (since some time in the 2002-2006 period) +# have an associated 'libpng-config' that tells how to link it. The make +# files will use that program if it exists (must be in the PATH). In that +# case, PNGLIB and PNGHDR_DIR are irrelevant, but PNGVER is still meaningful, +# because the make file runs 'libpng$(PNGVER)-config'. + +PNGLIB = NONE +PNGHDR_DIR = +PNGVER = +#PNGLIB = libpng$(PNGVER).so +#PNGHDR_DIR = /usr/include/libpng$(PNGVER) +# NetBSD: +#PNGLIB = $(LOCALBASE)/lib/libpng$(PNGVER).so +#PNGHDR_DIR = $(LOCALBASE)/include +# OSF/Tru64: +#PNGLIB = /usr/local1/DEC/lib/libpng$(PNGVER).so +#PNGHDR_DIR = /usr/local1/DEC/include + +# The zlib compression library. See above. You need it to build +# anything that needs the PNG library (see above). If you selected +# NONE for the PNG library, it doesn't matter what you specify here -- +# it won't get used. +# +# If you have 'libpng-config' (see above), these are irrelevant. + +ZLIB = NONE +ZHDR_DIR = +#ZLIB = libz.so + +# The JBIG lossless image compression library (aka JBIG-KIT): + +JBIGLIB = $(BUILDDIR)/converter/other/jbig/libjbig.a +JBIGHDR_DIR = $(SRCDIR)/converter/other/jbig + +# The Jasper JPEG-2000 image compression library (aka JasPer): +JASPERLIB = $(INTERNAL_JASPERLIB) +JASPERHDR_DIR = $(INTERNAL_JASPERHDR_DIR) +# JASPERDEPLIBS is the libraries (-l options or file names) on which +# The Jasper library depends -- i.e. what you have to link into any +# executable that links in the Jasper library. +JASPERDEPLIBS = +#JASPERDEPLIBS = -ljpeg + +# And the Utah Raster Toolkit (aka URT aka RLE) library: + +URTLIB = $(BUILDDIR)/urt/librle.a +URTHDR_DIR = $(SRCDIR)/urt + +# The X11 library has facilities for talking to an X Window System +# server. It is required by Pamx. + +X11LIB = NONE +X11HDR_DIR = + +#X11LIB = /usr/lib/libX11.so +#X11HDR_DIR = + +# The Linux SVGA library (Svgalib) is a facility for displaying graphics +# on the Linux console. It is required by Ppmsvgalib. + +LINUXSVGALIB = NONE +LINUXSVGAHDR_DIR = + +#LINUXSVGALIB = /usr/lib/libvga.so +#LINUXSVGAHDR_DIR = /usr/include/vgalib + +# If you don't want any network functions, set OMIT_NETWORK to "y". +# The only thing that requires network functions is the option in +# ppmtompeg to run it on multiple computers simultaneously. On some +# systems network functions don't work or we haven't figured out how to +# make them work, or they just aren't worth the effort. +OMIT_NETWORK = +#DJGPP/Windows, Tru64: +# (there's some minor header problem that prevents network functions from +# building on Tru64 2000.10.06) +#OMIT_NETWORK = y + +# These are -l options to link in the network libraries. Often, these are +# built into the standard C library, so this can be null. This is irrelevant +# if OMIT_NETWORK is "y". + +NETWORKLD = +# Solaris, SunOS: +#NETWORKLD = -lsocket -lnsl +# SCO: +#NETWORKLD = -lsocket, -lresolv + +VMS = +#VMS: +#VMS = yes + +# DONT_HAVE_PROCESS_MGMT is Y if this system doesn't have the usual +# Unix process management stuff - fork, wait, etc. N for a regular Unix +# system. +DONT_HAVE_PROCESS_MGMT = N + +# The following variables are used only by 'make install' (and the +# variants of it). Paths here don't, for example, get built into any +# programs. + +# This is where everything goes when you do 'make package', unless you +# override it by setting 'pkgdir' on the Make command line. +PKGDIR_DEFAULT = /tmp/netpbm + +# Subdirectory of the package directory ($(pkgdir)) in which man pages +# go. +PKGMANDIR = man + +# File permissions for installed files. +# Note that on some systems (e.g. Solaris), 'install' can't use the +# mnemonic permissions - you have to use octal. + +# binaries (pbmmake, etc) +INSTALL_PERM_BIN = 755 # u=rwx,go=rx +# shared libraries (libpbm.so, etc) +INSTALL_PERM_LIBD = 755 # u=rwx,go=rx +# static libraries (libpbm.a, etc) +INSTALL_PERM_LIBS = 644 # u=rw,go=r +# header files (pbm.h, etc) +INSTALL_PERM_HDR = 644 # u=rw,go=r +# man pages (pbmmake.1, etc) +INSTALL_PERM_MAN = 644 # u=rw,go=r +# data files (pnmtopalm color maps, etc) +INSTALL_PERM_DATA = 644 # u=rw,go=r + +# Specify the suffix that want the man pages to have. + +SUFFIXMANUALS1 = 1 +SUFFIXMANUALS3 = 3 +SUFFIXMANUALS5 = 5 + +#NETPBMLIBTYPE tells the kind of libraries that will get built to hold the +#Netpbm library functions. The value is used only in make file tests. +# "unixshared" means a unix-style shared library, typically named like +# libxyz.so.2.3 +NETPBMLIBTYPE = unixshared +# "unixstatic" means a unix-style static library, (like libxyz.a) +#NETPBMLIBTYPE = unixstatic +# "dll" means a Windows DLL shared library +#NETPBMLIBTYPE = dll +# "dylib" means a Darwin/Mac OS shared library +#NETPBMLIBTYPE = dylib + +#NETPBMLIBSUFFIX is the suffix used on whatever kind of library is +#selected above. All this is used for is to construct library names. +#The make files never examine the actual value. +NETPBMLIBSUFFIX = so + +# "a" is the suffix for unix-style static libraries. It is also +# traditionally used for shared libraries on AIX. The Visual Age C +# manual says sometimes .so works on AIX, and GNU software for AIX +# 5.1.0 does indeed use it. In our experiments, it works fine if you +# name the library file explicitly on the link, but isn't in the -l +# search order. If you name the library explicitly on the link, the +# library must live in exactly the same position at run time, so we +# can't use that. Therefore, you cannot build both static and shared +# libraries with AIX. You have to choose. +#NETPBMLIBSUFFIX = a +# For HP-UX shared libraries: +#NETPBMLIBSUFFIX = sl +# Darwin/Mac OS shared library: +#NETPBMLIBSUFFIX = dylib +# Windows shared library: +#NETPBMLIBSUFFIX = dll + +#STATICLIB_TOO is "y" to signify that you want a static library built +#and installed in addition to whatever library type you specified by +#NETPBMLIBTYPE. If NETPBMLIBTYPE specified a static library, +#STATICLIB_TOO simply has no effect. +STATICLIB_TOO = y +#STATICLIB_TOO = n + +#STATICLIBSUFFIX is the suffix that static libraries have. It's +#meaningless if you aren't building static libraries. +STATICLIBSUFFIX = a + +#SHLIBPREFIXLIST is a blank-delimited list of prefixes that a filename +#of a shared library may have on this system. Traditionally, it's +#just "lib", as in libc or libnetpbm. On Windows, though, varying +#prefixes are used when multiple alternative forms of a library are +#available. The first prefix in this list is what we use to name the +#Netpbm shared libraries. +# +# This variable controls how 'libopt' gets built. +# +SHLIBPREFIXLIST = lib +#Cygwin: +#SHLIBPREFIXLIST = cyg lib + +NETPBMSHLIBPREFIX = $(firstword $(SHLIBPREFIXLIST)) + +#DLLVER is used to version the DLLs built on cygwin or other +#windowsish platforms. We can't add this to LIBROOT, or we'd +#version the static libs (which is bad). We can't add this +#at the end of the name (like unix does with so numbers) because +#windows will only load dlls whose name ends in "dll". So, +#we have this variable, which becomes the end of the library "root" name +#for DLLs only. +# +# This variable controls how 'libopt' gets built. +# +DLLVER = +#Cygwin +#DLLVER = $(NETPBM_MAJOR_RELEASE) + +#NETPBM_DOCURL is the URL of the main documentation page for Netpbm. +#This is a directory which contains a file for each Netpbm program, +#library, and file type. E.g. The documentation for jpegtopnm might be in +#http://netpbm.sourceforge.net/doc/jpegtopnm.html . This value gets +#installed in the man pages (which say no more than to read the webpage) +#and in the Webman netpbm.url file. +NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/ +#For a system with no web access, but a local copy of the doc: +#NETPBM_DOCURL = file:/usr/doc/netpbm/ + + + + + +####Lines above were copied from Makefile.config.in by 'configure'. +####Lines below were added by 'configure' based on the GNU platform. +DEFAULT_TARGET = nonmerge +NETPBMLIBTYPE=unixshared +NETPBMLIBSUFFIX=so +STATICLIB_TOO=n +CFLAGS = -O3 -ffast-math -pedantic -fno-common -Wall -Wno-uninitialized -Wmissing-declarations -Wimplicit -Wwrite-strings -Wmissing-prototypes -Wundef +CFLAGS_MERGE = -Wno-missing-declarations -Wno-missing-prototypes +LDRELOC = ld --reloc +LINKER_CAN_DO_EXPLICIT_LIBRARY=Y +LINKERISCOMPILER = Y +TIFFLIB = libtiff.so +JPEGLIB = libjpeg.so +ZLIB = libz.so +X11LIB = libX11.so +LINUXSVGALIB = libvga.so +NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/ diff --git a/source/l/netpbm/netpbm.SlackBuild b/source/l/netpbm/netpbm.SlackBuild new file mode 100755 index 00000000..0b6685c1 --- /dev/null +++ b/source/l/netpbm/netpbm.SlackBuild @@ -0,0 +1,122 @@ +#!/bin/sh + +# Copyright 2006, 2007, 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=netpbm +VERSION=${VERSION:-10.35.22} +ARCH=${ARCH:-x86_64} +BUILD=${BUILD:-2} + + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-${PKGNAM} +rm -rf $PKG +mkdir -p $TMP # Do not create $PKG or 'make package' fails + +cd $TMP +rm -rf ${PKGNAM}-${VERSION} +tar xvf $CWD/${PKGNAM}-$VERSION.tar.bz2 || exit 1 +cd ${PKGNAM}-$VERSION + +# Make sure ownerships and permissions are sane: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Configure: +if [ "$ARCH" = "x86_64" ]; then + zcat $CWD/Makefile.config.gz \ + | sed -e '/^CFLAGS/s/^CFLAGS = .*/& -fPIC/' > Makefile.config +else + zcat $CWD/Makefile.config.gz > Makefile.config +fi + +# Build and install (does not like parallel build): +make || exit 1 +make package pkgdir=$PKG || exit 1 + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Put things in proper directories: +( cd $PKG + rm README + mkdir -p usr + mv * usr + cd usr + mkdir -p doc/netpbm-$VERSION + mv VERSION bin/doc.url doc/netpbm-$VERSION + ( cd lib ; ln -sf libnetpbm.so.10 libnetpbm.so ) + mv lib lib${LIBDIRSUFFIX} + rm -rf config_template link misc pkginfo man/man1/manweb.1 man/web +) + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.* + ) + done + ) +fi + +# Even out-of-date manpages are better than nothing. IMHO. +( cd $PKG/usr + tar xjf $CWD/netpbm-manpages.tar.bz2 +) + +# Add a documentation directory: +( cd doc + cp -a \ + COPYRIGHT.PATENT GPL_LICENSE.txt HISTORY INSTALL Netpbm.programming \ + README* USERDOC copyright_summary lgpl_v21.txt \ + $PKG/usr/doc/${PKGNAM}-$VERSION +) + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz + diff --git a/source/l/netpbm/slack-desc b/source/l/netpbm/slack-desc new file mode 100644 index 00000000..e4265bef --- /dev/null +++ b/source/l/netpbm/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +netpbm: netpbm (graphics conversion utilities) +netpbm: +netpbm: The netpbm package contains a library and tools for converting between +netpbm: many different graphics formats. +netpbm: +netpbm: +netpbm: +netpbm: +netpbm: +netpbm: +netpbm: diff --git a/source/l/netpbm/svn-checkout-stable.sh b/source/l/netpbm/svn-checkout-stable.sh new file mode 100755 index 00000000..2b2feb21 --- /dev/null +++ b/source/l/netpbm/svn-checkout-stable.sh @@ -0,0 +1 @@ +svn checkout https://netpbm.svn.sourceforge.net/svnroot/netpbm/stable netpbm |