port libpng to buildroot-ng
authorNicolas Thill <nico@openwrt.org>
Sat, 22 Jul 2006 22:29:01 +0000 (22:29 +0000)
committerNicolas Thill <nico@openwrt.org>
Sat, 22 Jul 2006 22:29:01 +0000 (22:29 +0000)
SVN-Revision: 4220

libs/libpng/Makefile [new file with mode: 0644]
libs/libpng/patches/100-config_fix.patch [new file with mode: 0644]
libs/libpng/patches/101-pkgconfig-install.patch [new file with mode: 0644]

diff --git a/libs/libpng/Makefile b/libs/libpng/Makefile
new file mode 100644 (file)
index 0000000..47cbf57
--- /dev/null
@@ -0,0 +1,101 @@
+# 
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libpng
+PKG_VERSION:=1.2.8
+PKG_RELEASE:=1
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-config
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-config.tar.gz
+PKG_SOURCE_URL:=@SF/libpng
+PKG_MD5SUM:=e5a39003eed16103cbbd3b6a8bc6b1f9
+PKG_CAT:=zcat
+
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/libpng
+  SECTION:=libs
+  CATEGORY:=Libraries
+  DEPENDS:=+zlib
+  TITLE:=A PNG format files handling library
+  DESCRIPTION:=A PNG (Portable Network Graphics) format files handling library.
+  URL:=http://www.libpng.org/pub/png/libpng.html
+endef
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR); rm -f config.cache; \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(TARGET_CFLAGS)" \
+               CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
+               LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
+               ./configure \
+                       --target=$(GNU_TARGET_NAME) \
+                       --host=$(GNU_TARGET_NAME) \
+                       --build=$(GNU_HOST_NAME) \
+                       --program-prefix="" \
+                       --program-suffix="" \
+                       --prefix=/usr \
+                       --exec-prefix=/usr \
+                       --bindir=/usr/bin \
+                       --datadir=/usr/share \
+                       --includedir=/usr/include \
+                       --infodir=/usr/share/info \
+                       --libdir=/usr/lib \
+                       --libexecdir=/usr/lib \
+                       --localstatedir=/var \
+                       --mandir=/usr/share/man \
+                       --sbindir=/usr/sbin \
+                       --sysconfdir=/etc \
+                       $(DISABLE_LARGEFILE) \
+                       $(DISABLE_NLS) \
+                       --enable-shared \
+                       --enable-static \
+                       --with-zlib=$(STAGING_DIR)/usr/ \
+       );
+endef
+
+define Build/Compile
+       rm -rf $(PKG_INSTALL_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               DESTDIR="$(PKG_INSTALL_DIR)" \
+               all install
+endef
+
+define Package/libpng/install
+       install -d -m0755 $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpng{,12}.so.* $(1)/usr/lib/
+endef
+
+define Build/InstallDev
+       mkdir -p $(STAGING_DIR)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/libpng{,12}-config $(STAGING_DIR)/usr/bin/
+       mkdir -p $(STAGING_DIR)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/png{,conf}.h $(STAGING_DIR)/usr/include/
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/libpng $(STAGING_DIR)/usr/include/
+       mkdir -p $(STAGING_DIR)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpng{,12}.{a,so*} $(STAGING_DIR)/usr/lib/
+       mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libpng{,12}.pc $(STAGING_DIR)/usr/lib/pkgconfig/
+       $(SED) 's,^[ILR]_opts=".\+",,g' $(STAGING_DIR)/usr/bin/libpng*-config
+endef
+
+define Build/UninstallDev
+       rm -rf \
+               $(STAGING_DIR)/usr/bin/libpng{,12}-config \
+               $(STAGING_DIR)/usr/include/png{,conf}.h \
+               $(STAGING_DIR)/usr/include/libpng \
+               $(STAGING_DIR)/usr/lib/libpng{,12}.{a,so*} \
+               $(STAGING_DIR)/usr/lib/pkgconfig/libpng{,12}.pc
+endef
+
+$(eval $(call BuildPackage,libpng))
diff --git a/libs/libpng/patches/100-config_fix.patch b/libs/libpng/patches/100-config_fix.patch
new file mode 100644 (file)
index 0000000..453d271
--- /dev/null
@@ -0,0 +1,19 @@
+--- libpng3-1.2.5.0.orig/scripts/libpng-config-body.in
++++ libpng3-1.2.5.0/scripts/libpng-config-body.in
+@@ -83,6 +83,7 @@
+
+     --static)
+         R_opts=""
++        libs=${all_libs}
+         ;;
+
+     *)
+--- libpng3-1.2.5.0.orig/scripts/libpng.pc.in
++++ libpng3-1.2.5.0/scripts/libpng.pc.in
+@@ -7,5 +7,5 @@
+ Name: libpng12
+ Description: Loads and saves PNG files
+ Version: 1.2.8
+-Libs: -L${libdir} -lpng12 -lz -lm
++Libs: -lpng12
+ Cflags: -I${includedir}/libpng12
diff --git a/libs/libpng/patches/101-pkgconfig-install.patch b/libs/libpng/patches/101-pkgconfig-install.patch
new file mode 100644 (file)
index 0000000..7f362fb
--- /dev/null
@@ -0,0 +1,21 @@
+--- libpng-1.2.8-config/Makefile.in.orig       2004-12-03 01:14:51.000000000 +0100
++++ libpng-1.2.8-config/Makefile.in    2005-05-18 14:17:31.000000000 +0200
+@@ -874,13 +874,13 @@
+       cp libpng.pc libpng12.pc
+ install-data-local: libpng.pc libpng12.pc
+-      @INSTALL@ -d @PKGCONFIGDIR@
+-      @INSTALL_DATA@ libpng.pc @PKGCONFIGDIR@
+-      @INSTALL_DATA@ libpng12.pc @PKGCONFIGDIR@
++      @INSTALL@ -d $(DESTDIR)@PKGCONFIGDIR@
++      @INSTALL_DATA@ libpng.pc $(DESTDIR)@PKGCONFIGDIR@
++      @INSTALL_DATA@ libpng12.pc $(DESTDIR)@PKGCONFIGDIR@
+ uninstall-local:
+-      rm -f @PKGCONFIGDIR@/libpng.pc
+-      rm -f @PKGCONFIGDIR@/libpng12.pc
++      rm -f $(DESTDIR)@PKGCONFIGDIR@/libpng.pc
++      rm -f $(DESTDIR)@PKGCONFIGDIR@/libpng12.pc
+ libpng-config:
+       ( cat ${srcdir}/scripts/libpng-config-head.in; \