Difference between revisions of "Libmng"

From CBLFS
Jump to navigationJump to search
(I added a new patch and updated the instructions to take advantage of it.)
Line 1: Line 1:
 
{| style="text-align: left; background-color: AliceBlue;"
 
{| style="text-align: left; background-color: AliceBlue;"
 
|-valign="top"
 
|-valign="top"
!Download Source:
+
! Download Source:
| http://prdownloads.sourceforge.net/libmng/libmng-{{Libmng-Version}}.tar.gz  
+
| http://prdownloads.sourceforge.net/libmng/libmng-{{Libmng-Version}}.tar.gz
 +
|-
 +
! Download Patch:
 +
| http://svn.cross-lfs.org/svn/repos/patches/libmng/libmng-{{Libmng-Version}}-libdir-1.patch
 
|}
 
|}
  
Line 16: Line 19:
 
*[[libjpeg]]
 
*[[libjpeg]]
 
*[[little cms]]
 
*[[little cms]]
 +
 +
== Additional Configuration Options ==
 +
 +
'''Note to DESTDIR fans:''' You will need to alter the installation of the documentation to:
 +
 +
  install -dv -m755 <DESTDIR>/usr/share/man/man{3,5}
 +
  install -v -m644 doc/man/*.3 <DESTDIR>/usr/share/man/man3
 +
  install -v -m644 doc/man/*.5 <DESTDIR>/usr/share/man/man5
 +
  install -dv -m755 <DESTDIR>/usr/share/doc/libmng-{{Libmng-Version}}
 +
  install -v -m644 doc/*.{png,txt} <DESTDIR>/usr/share/doc/libmng-{{Libmng-Version}}
 +
 +
Other than that - thanks to the patch - DESTDIR should work as it normally does.
 +
  
 
== Non-Multilib ==
 
== Non-Multilib ==
Line 22: Line 38:
  
 
  cp makefiles/makefile.linux Makefile &&
 
  cp makefiles/makefile.linux Makefile &&
 +
patch -Np1 -i ../libmng-{{Libmng-Version}}-libdir-1.patch &&
 
  make
 
  make
  
 
Install the package
 
Install the package
  
  make prefix=/usr install &&
+
  make install &&
 
  install -v -m644 doc/man/*.3 /usr/share/man/man3 &&
 
  install -v -m644 doc/man/*.3 /usr/share/man/man3 &&
 
  install -v -m644 doc/man/*.5 /usr/share/man/man5 &&
 
  install -v -m644 doc/man/*.5 /usr/share/man/man5 &&
  install -v -m755 -d /usr/share/doc/libmng-{{Libmng-Version}} &&
+
  install -dv -m755 /usr/share/doc/libmng-{{Libmng-Version}} &&
 
  install -v -m644 doc/*.{png,txt} /usr/share/doc/libmng-{{Libmng-Version}}
 
  install -v -m644 doc/*.{png,txt} /usr/share/doc/libmng-{{Libmng-Version}}
  
 
=== Command Explanations ===
 
=== Command Explanations ===
  
'''cp makefiles/makefile.linux Makefile''': There are no autotools shipped with this package. The Linux Makefile is copied to the root of the source tree, facilitating the installation.
+
'''cp makefiles/makefile.linux Makefile''': There are no autotools shipped with this package. We copy the appropriate Makefile to the base directory so that we can use it.
 +
 
 +
'''patch -Np1 -i ../libmng-{{Libmng-Version}}-libdir-1.patch''': This patch makes it more sane to build libmng. Basically it makes the default prefix /usr and makes it so that all you have to do to change the library directory is pass ''libdir=/usr/lib64'' (or the equivalent) to '''make''' and '''make install'''. It also adds DESTDIR to the Makefile for those that want it.
  
'''install ...''': The documentation files are not installed by the installation procedure, so they are copied manually.
+
'''install ...''': The documentation files are not installed by the installation procedure, so we copy them manually.
  
 
== Multilib ==
 
== Multilib ==
Line 44: Line 63:
 
Compile the package:
 
Compile the package:
  
  sed "/OBJSDLL/s/\.0/.o/" makefiles/makefile.linux > Makefile
+
  cp makefiles/makefile.linux Makefile
 +
patch -Np1 -i ../libmng-{{Libmng-Version}}-libdir-1.patch
 
  make CC="gcc ${BUILD32}"
 
  make CC="gcc ${BUILD32}"
  
 
Install the package
 
Install the package
  
  make prefix=/usr install
+
  make install
  
 
=== N32 ===
 
=== N32 ===
Line 55: Line 75:
 
Compile the package
 
Compile the package
  
  sed "/OBJSDLL/s/\.0/.o/" makefiles/makefile.linux > Makefile
+
  cp makefiles/makefile.linux Makefile
  make CC="gcc ${BUILDN32}" prefix=/usr LIBPATH=/usr/lib32 ZLIBLIB=/usr/lib32 \
+
patch -Np1 -i ../libmng-{{Libmng-Version}}-libdir-1.patch
    JPEGLIB=/usr/lib32 LCMSLIB=/usr/lib32
+
  make CC="gcc ${BUILDN32}" libdir=/usr/lib32
  
 
Install the package
 
Install the package
 
   
 
   
  make prefix=/usr LIBPATH=/usr/lib32 install
+
  make libdir=/usr/lib32 install
  
 
=== 64Bit ===
 
=== 64Bit ===
Line 67: Line 87:
 
Compile the package
 
Compile the package
  
  sed "/OBJSDLL/s/\.0/.o/" makefiles/makefile.linux > Makefile
+
  cp makefiles/makefile.linux Makefile
  make CC="gcc ${BUILD64}" prefix=/usr LIBPATH=/usr/lib64 \
+
patch -Np1 -i ../libmng-{{Libmng-Version}}-libdir-1.patch
    ZLIBLIB=/usr/lib64 JPEGLIB=/usr/lib64 LCMSLIB=/usr/lib64
+
  make CC="gcc ${BUILD64}" libdir=/usr/lib64
  
 
Install the package
 
Install the package
 
   
 
   
  make prefix=/usr LIBPATH=/usr/lib64 install
+
  make libdir=/usr/lib64 install
 
  install -v -m644 doc/man/*.3 /usr/share/man/man3 &&
 
  install -v -m644 doc/man/*.3 /usr/share/man/man3 &&
 
  install -v -m644 doc/man/*.5 /usr/share/man/man5 &&
 
  install -v -m644 doc/man/*.5 /usr/share/man/man5 &&

Revision as of 00:19, 5 January 2007

Download Source: http://prdownloads.sourceforge.net/libmng/libmng-1.0.10.tar.gz
Download Patch: http://svn.cross-lfs.org/svn/repos/patches/libmng/libmng-1.0.10-libdir-1.patch

Introduction to libmng

The libmng libraries are used by programs wanting to read and write Multiple-image Network Graphics (MNG) files which are the animation equivalents to PNG files.

Dependencies

Required

Additional Configuration Options

Note to DESTDIR fans: You will need to alter the installation of the documentation to:

 install -dv -m755 <DESTDIR>/usr/share/man/man{3,5}
 install -v -m644 doc/man/*.3 <DESTDIR>/usr/share/man/man3
 install -v -m644 doc/man/*.5 <DESTDIR>/usr/share/man/man5
 install -dv -m755 <DESTDIR>/usr/share/doc/libmng-1.0.10
 install -v -m644 doc/*.{png,txt} <DESTDIR>/usr/share/doc/libmng-1.0.10

Other than that - thanks to the patch - DESTDIR should work as it normally does.


Non-Multilib

Compile the package:

cp makefiles/makefile.linux Makefile &&
patch -Np1 -i ../libmng-1.0.10-libdir-1.patch &&
make

Install the package

make install &&
install -v -m644 doc/man/*.3 /usr/share/man/man3 &&
install -v -m644 doc/man/*.5 /usr/share/man/man5 &&
install -dv -m755 /usr/share/doc/libmng-1.0.10 &&
install -v -m644 doc/*.{png,txt} /usr/share/doc/libmng-1.0.10

Command Explanations

cp makefiles/makefile.linux Makefile: There are no autotools shipped with this package. We copy the appropriate Makefile to the base directory so that we can use it.

patch -Np1 -i ../libmng-1.0.10-libdir-1.patch: This patch makes it more sane to build libmng. Basically it makes the default prefix /usr and makes it so that all you have to do to change the library directory is pass libdir=/usr/lib64 (or the equivalent) to make and make install. It also adds DESTDIR to the Makefile for those that want it.

install ...: The documentation files are not installed by the installation procedure, so we copy them manually.

Multilib

32Bit

Compile the package:

cp makefiles/makefile.linux Makefile
patch -Np1 -i ../libmng-1.0.10-libdir-1.patch
make CC="gcc ${BUILD32}"

Install the package

make install

N32

Compile the package

cp makefiles/makefile.linux Makefile
patch -Np1 -i ../libmng-1.0.10-libdir-1.patch
make CC="gcc ${BUILDN32}" libdir=/usr/lib32

Install the package

make libdir=/usr/lib32 install

64Bit

Compile the package

cp makefiles/makefile.linux Makefile
patch -Np1 -i ../libmng-1.0.10-libdir-1.patch
make CC="gcc ${BUILD64}" libdir=/usr/lib64

Install the package

make libdir=/usr/lib64 install
install -v -m644 doc/man/*.3 /usr/share/man/man3 &&
install -v -m644 doc/man/*.5 /usr/share/man/man5 &&
install -v -m755 -d /usr/share/doc/libmng-1.0.10 &&
install -v -m644 doc/*.{png,txt} /usr/share/doc/libmng-1.0.10

Contents

Installed Programs: None
Installed Libraries: libmng.{so,a}
Installed Directories: /usr/share/doc/libmng-1.0.10

Short Descriptions

libmng.{so,a} provides functions for programs wishing to read and write MNG files which are animation files without the patent problems associated with certain other formats.