This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ITP: netpbm


Charles Wilson wrote:

> As promised, take a look:
>   http://www.neuro.gatech.edu/users/cwilson/cygutils/testing/
> The -src package contains ---  a patch, which does the following three 
> things:


If you go back to
   http://www.neuro.gatech.edu/users/cwilson/cygutils/testing/
you'll see I've updated "my" version to netpbm-9.25, and split the 
binary package into two different packages:
   netpbm-9.25-1
   libnetpbm9-9.25-1 (contains the DLLs alone).
There is no separate -devel package, because without further work, you 
can't have two versions coexist side-by-side: the static libs, import 
libs, and header files are not themselves versioned, and they live right 
in <prefix>/lib & <prefix>/include, and not in subdirectories.

I also significantly enlarged patch so that on windows/cygwin, the DLLs 
are created with the major version number -- at least that way, later we 
CAN have multiple version of the DLLs coexist, if there is a major 
interface change.  (This is more important than the 
implib/statlib/header issue mentioned above).
    /usr/local/bin/cygpbm-9.dll
    /usr/local/bin/cygpgm-9.dll
    /usr/local/bin/cygppm-9.dll
    /usr/local/bin/cygpnm-9.dll

I've split that patch into two separate patches:

   netpbm-submit.patch  (the versioning changes, which should have no 
effect on non-windows platforms.  Also, takes into account the recent
official libpng policy change for versions -- see png-implement mailing 
list)
   netpbm-9.25-1-cygwin.patch  (the updated version of my 9.24 patch; 
contains shtool, the cygwin-specific readme, and the ready-made 
Makefile.config file)

Both are available at the /testing/ location above.  I'll be submitting 
the netpbm-submit patch upstream.

--Chuck

P.S. Jan, to use "my" stuff, you'll probably want to change the 
following things:
   <srcdir>Makefile.config :
     INSTALL_PREFIX = /usr  (line 518)
     INSTALLBINARIES = $(INSTALL_PREFIX)/bin  (line 523)
   <srcdir>/CYGWIN-PATCHES/netpbm.README
     you'll need to fixup the pathnames I specified in the
     "This package contains..." section.
   netpbm-9.25-1.sh:
     remove line 120 -- I explicitly move the dlls from
       <prefix>/bin/netpbm into <prefix>/bin.  You won't need
       that.



> 1) creates a ready-made Makefile.config to implement the "policy" I 
> described:
>   INSTALL_PREFIX = /usr/local (line 469)
>     - you'll want to change that to /usr
>   PNGHDR_DIR = /usr/include (line 466)
>     - you'll want to make that /usr/include/libpngXX if
>       you use libpng-1.0.13 or libpng-1.2.2
>   LDSHLIB = -shared -Wl,--enable-auto-image-base  (line 460)
>     - you'll wnat to change that to  -shared -Wl,--export-all
>       since (1) auto-image-base is no longer recommended, and
>       (2) export-all so you can take advantage of binutils' auto-export
>       fucntionality
>   INSTALLBINARIES = $(INSTALL_PREFIX)/bin/netpbm   (line 474)
>     - this is the big controversy
> 
> 2) creates a CYGWIN-PATCHES/netpbm.README files which describes how to 
> build [merged|normal][shared|static], and some analysis I did about 
> which version is the most space efficient.
> 
> 3) creates CYGWIN-PATCHES/shtool :  netpbm is one of those packages that 
> won't build outside of its own source tree, which complicates the 
> script-driven build procedure.  As mentioned here: 
> http://www.cygwin.com/setup.html, I used GNU shtool's 'mkshadow' 
> function to replicate the whole source tree inside the .build directory 
> via symlinks.
> 
> -src also contains: the build script, and the "pristine" tarball.  But, 
> this is all based on 9.24, not 9.25, so it would take some adaptation to 
> use it, and merge my stuff with yours -- if you want it.
> 
> Hope it's helpful.
> 
> --Chuck
> 
> 
> Charles Wilson wrote:
> 
>> Wonderful, please do.
>>
>> BTW, I have had a private version of netpbm, packaged in a 
>> 'setup-compatible' way, for some time now.  When I get home, I'll put 
>> my version somewhere that you can access; you may want to expropriate 
>> some of my patches...
>>
>> Also, which png have you linked against?  1.0.12, or 1.0.13?  (Also, I 
>> have libpng-1.2.2 ready for upload to sourceware, but I'm waiting for 
>> the ripples from the massive 1.0.13 packaging changes to settle out...)
>>
>> --Chuck
>>
> 
> 



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]