diff --git a/openwrt/package/Config.in b/openwrt/package/Config.in index 98a59f3495..972291657a 100644 --- a/openwrt/package/Config.in +++ b/openwrt/package/Config.in @@ -81,6 +81,7 @@ source "package/postgresql/Config.in" source "package/fuse/Config.in" source "package/speex/Config.in" source "package/libusb/Config.in" +source "package/libpng/Config.in" comment "Extra stuff" source "package/sdk/Config.in" diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile index 4566bfb13e..40ccb38004 100644 --- a/openwrt/package/Makefile +++ b/openwrt/package/Makefile @@ -75,9 +75,10 @@ package-$(BR2_PACKAGE_DHCPFWD) += dhcp-forwarder package-$(BR2_PACKAGE_LIBNET) += libnet package-$(BR2_PACKAGE_LIBMYSQLCLIENT) += mysql package-$(BR2_PACKAGE_LIBPCAP) += libpcap +package-$(BR2_PACKAGE_LIBPNG) += libpng package-$(BR2_PACKAGE_LIBPQ) += postgresql -DEV_LIBS:=tcp_wrappers glib ncurses openssl pcre popt zlib libnet libpcap mysql postgresql iptables matrixssl lzo gmp fuse portmap libelf uclibc++ speex +DEV_LIBS:=tcp_wrappers glib ncurses openssl pcre popt zlib libnet libpcap mysql postgresql iptables matrixssl lzo gmp fuse portmap libelf uclibc++ speex libpng DEV_LIBS_COMPILE:=$(patsubst %,%-compile,$(DEV_LIBS)) SDK_DEFAULT_PACKAGES:=busybox dnsmasq iptables wireless-tools dropbear bridge ipkg SDK_DEFAULT_COMPILE:=$(patsubst %,%-compile,$(SDK_DEFAULT_PACKAGES)) diff --git a/openwrt/package/libpng/Config.in b/openwrt/package/libpng/Config.in new file mode 100644 index 0000000000..4972ec46a6 --- /dev/null +++ b/openwrt/package/libpng/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LIBPNG + tristate "libpng" + default m if CONFIG_DEVEL + select BR2_PACKAGE_ZLIB + help + A library for reading/writing PNG files diff --git a/openwrt/package/libpng/Makefile b/openwrt/package/libpng/Makefile new file mode 100644 index 0000000000..a4971ddd54 --- /dev/null +++ b/openwrt/package/libpng/Makefile @@ -0,0 +1,82 @@ +# $Id$ + +include $(TOPDIR)/rules.mk + +PKG_NAME := libpng +PKG_VERSION := 1.2.8 +PKG_RELEASE := 1 +PKG_MD5SUM := e5a39003eed16103cbbd3b6a8bc6b1f9 + +PKG_SOURCE_SITE := @SF/libpng +PKG_SOURCE_FILE := $(PKG_NAME)-$(PKG_VERSION)-config.tar.gz +PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION)-config +PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR) +PKG_IPK := $(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk +PKG_CAT := zcat +PKG_IPK_DIR := $(PKG_BUILD_DIR)/ipkg + +$(DL_DIR)/$(PKG_SOURCE_FILE): + $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE_FILE) $(PKG_MD5SUM) $(PKG_SOURCE_SITE) + +$(PKG_BUILD_DIR)/.prepared: $(DL_DIR)/$(PKG_SOURCE_FILE) + $(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + $(PATCH) $(PKG_BUILD_DIR) ./patches + touch $(PKG_BUILD_DIR)/.prepared + +$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared + (cd $(PKG_BUILD_DIR); \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \ + LDFLAGS="-L$(STAGING_DIR)/usr/lib" \ + ./configure \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --prefix=/usr \ + --exec-prefix=/usr \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --libexecdir=/usr/lib \ + --datadir=/usr/share \ + --infodir=/usr/share/info \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --with-zlib=$(STAGING_DIR)/usr/ \ + $(DISABLE_NLS) \ + ) + touch $(PKG_BUILD_DIR)/.configured + +$(PKG_BUILD_DIR)/.libs/libpng.so: $(PKG_BUILD_DIR)/.configured + $(MAKE) -C $(PKG_BUILD_DIR) \ + CC=$(TARGET_CC) \ + CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include -L$(STAGING_DIR)/usr/lib" \ + all + +$(STAGING_DIR)/usr/lib/libpng.so: $(PKG_BUILD_DIR)/.libs/libpng.so + $(MAKE) -C $(PKG_BUILD_DIR) \ + DESTDIR="$(STAGING_DIR)" \ + install-libLTLIBRARIES install-includeHEADERS install-binSCRIPTS + +$(PKG_IPK): $(PKG_BUILD_DIR)/.libs/libpng.so + $(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH) + mkdir -p $(PKG_IPK_DIR)/usr/lib + cp -a $(PKG_BUILD_DIR)/.libs/*.so* $(PKG_IPK_DIR)/usr/lib/ + $(STRIP) $(PKG_IPK_DIR)/usr/lib/* + find $(PKG_IPK_DIR) -name CVS | xargs rm -rf + mkdir -p $(PACKAGE_DIR) + $(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR) + +$(IPKG_STATE_DIR)/info/libpng.list: $(PKG_IPK) + $(IPKG) install $(PKG_IPK) + +source: $(DL_DIR)/$(PKG_SOURCE) +prepare: $(PKG_BUILD_DIR)/.prepared +compile: $(STAGING_DIR)/usr/lib/libpng.so $(PKG_IPK) +install: $(IPKG_STATE_DIR)/info/libpng.list + +clean: + rm -rf $(PKG_BUILD_DIR) + rm -f $(STAGING_DIR)/usr/bin/libpng* + rm -f $(STAGING_DIR)/usr/lib/libpng* + rm -f $(PKG_IPK) diff --git a/openwrt/package/libpng/libpng.control b/openwrt/package/libpng/libpng.control new file mode 100644 index 0000000000..4413bb6fb0 --- /dev/null +++ b/openwrt/package/libpng/libpng.control @@ -0,0 +1,7 @@ +Package: libpng +Priority: optional +Section: libs +Maintainer: Felix Fietkau +Source: buildroot internal +Depends: zlib +Description: A library for reading/writing PNG images diff --git a/openwrt/package/libpng/patches/100-config_fix.patch b/openwrt/package/libpng/patches/100-config_fix.patch new file mode 100644 index 0000000000..453d271096 --- /dev/null +++ b/openwrt/package/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