From a89a43a693fd41aa725ac62d01a9e9fa6e7765bf Mon Sep 17 00:00:00 2001 From: Nicolas Thill Date: Sat, 22 Jul 2006 22:29:01 +0000 Subject: [PATCH] port libpng to buildroot-ng SVN-Revision: 4220 --- libs/libpng/Makefile | 101 ++++++++++++++++++ libs/libpng/patches/100-config_fix.patch | 19 ++++ .../patches/101-pkgconfig-install.patch | 21 ++++ 3 files changed, 141 insertions(+) create mode 100644 libs/libpng/Makefile create mode 100644 libs/libpng/patches/100-config_fix.patch create mode 100644 libs/libpng/patches/101-pkgconfig-install.patch diff --git a/libs/libpng/Makefile b/libs/libpng/Makefile new file mode 100644 index 000000000..47cbf579d --- /dev/null +++ b/libs/libpng/Makefile @@ -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 index 000000000..453d27109 --- /dev/null +++ b/libs/libpng/patches/100-config_fix.patch @@ -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 index 000000000..7f362fbc3 --- /dev/null +++ b/libs/libpng/patches/101-pkgconfig-install.patch @@ -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; \ -- 2.30.2