From b7f7265fc25af6d156a85cdf4787c42818b5ae1d Mon Sep 17 00:00:00 2001
From: Nicolas Thill <nico@openwrt.org>
Date: Wed, 10 Aug 2005 21:24:37 +0000
Subject: [PATCH] Add libart package

SVN-Revision: 1602
---
 openwrt/package/Config.in                     |  1 +
 openwrt/package/Makefile                      |  1 +
 openwrt/package/libart/Config.in              | 13 +++
 openwrt/package/libart/Makefile               | 87 +++++++++++++++++++
 openwrt/package/libart/ipkg/libart.control    | 11 +++
 .../patches/100-cross_compile_fix.patch       | 15 ++++
 6 files changed, 128 insertions(+)
 create mode 100644 openwrt/package/libart/Config.in
 create mode 100644 openwrt/package/libart/Makefile
 create mode 100644 openwrt/package/libart/ipkg/libart.control
 create mode 100644 openwrt/package/libart/patches/100-cross_compile_fix.patch

diff --git a/openwrt/package/Config.in b/openwrt/package/Config.in
index fdec45a054..1717110b07 100644
--- a/openwrt/package/Config.in
+++ b/openwrt/package/Config.in
@@ -106,6 +106,7 @@ comment "Libraries"
 source "package/cgilib/Config.in"
 source "package/glib/Config.in"
 source "package/libamsel/Config.in"
+source "package/libart/Config.in"
 source "package/libdb/Config.in"
 source "package/libelf/Config.in"
 source "package/libevent/Config.in"
diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile
index 7ba30f9685..b528bf23eb 100644
--- a/openwrt/package/Makefile
+++ b/openwrt/package/Makefile
@@ -51,6 +51,7 @@ package-$(BR2_PACKAGE_L2TPD) += l2tpd
 package-$(BR2_PACKAGE_LCD4LINUX) += lcd4linux
 package-$(BR2_PACKAGE_LESS) += less
 package-$(BR2_PACKAGE_LIBAMSEL) += libamsel
+package-$(BR2_PACKAGE_LIBART) += libart
 package-$(BR2_PACKAGE_LIBDB) += libdb
 package-$(BR2_PACKAGE_LIBELF) += libelf
 package-$(BR2_PACKAGE_LIBEVENT) += libevent
diff --git a/openwrt/package/libart/Config.in b/openwrt/package/libart/Config.in
new file mode 100644
index 0000000000..99a6a3f65a
--- /dev/null
+++ b/openwrt/package/libart/Config.in
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_LIBART
+	tristate "libart - An high-performance 2D graphics library"
+#	default m if CONFIG_DEVEL
+	default n
+	help
+	  A library of functions for 2D graphics supporting a superset of the
+	  PostScript imaging model, designed to be integrated with graphics, artwork,
+	  and illustration programs. It is written in optimized C, and is fully
+	  compatible with C++. With a small footprint of 10,000 lines of code, it is
+	  especially suitable for embedded applications.
+	  
+	  http://www.levien.com/libart/
+	  
diff --git a/openwrt/package/libart/Makefile b/openwrt/package/libart/Makefile
new file mode 100644
index 0000000000..eb01c7ad49
--- /dev/null
+++ b/openwrt/package/libart/Makefile
@@ -0,0 +1,87 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libart
+PKG_VERSION:=2.3.17
+PKG_RELEASE:=1
+PKG_MD5SUM:=f1f6b3e5490f382535dccb288f5d8b14
+
+PKG_SOURCE_URL:=http://ftp.gnome.org/pub/gnome/sources/libart_lgpl/2.3
+PKG_SOURCE:=$(PKG_NAME)_lgpl-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)_lgpl-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,LIBART,libart,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
+	(cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
+		CFLAGS="$(TARGET_CFLAGS)" \
+		CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+		LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
+		$(TARGET_CONFIGURE_OPTS) \
+		./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 \
+			--sbindir=/usr/sbin \
+			--libexecdir=/usr/lib \
+			--sysconfdir=/etc \
+			--datadir=/usr/share \
+			--localstatedir=/var \
+			--mandir=/usr/man \
+			--infodir=/usr/info \
+			$(DISABLE_NLS) \
+			$(DISABLE_LARGEFILE) \
+			--enable-shared=yes \
+			--enable-static=yes \
+			--disable-rpath \
+	);
+	touch $@
+
+$(PKG_BUILD_DIR)/.built:
+	rm -rf $(PKG_INSTALL_DIR)
+	mkdir -p $(PKG_INSTALL_DIR)
+	$(MAKE) -C $(PKG_BUILD_DIR) \
+		HOSTCC="$(HOSTCC)" \
+		DESTDIR="$(PKG_INSTALL_DIR)" \
+		all install
+	touch $@
+
+$(IPKG_LIBART):
+	install -d -m0755 $(IDIR_LIBART)/usr/lib
+	cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libart_lgpl_2.so.* $(IDIR_LIBART)/usr/lib/
+	$(RSTRIP) $(IDIR_LIBART)
+	$(IPKG_BUILD) $(IDIR_LIBART) $(PACKAGE_DIR)
+
+$(STAGING_DIR)/usr/lib/libart_lgpl_2.so: $(PKG_BUILD_DIR)/.built
+	mkdir -p $(STAGING_DIR)/usr/bin
+	cp -fpR $(PKG_INSTALL_DIR)/usr/bin/libart2-config $(STAGING_DIR)/usr/bin/
+	mkdir -p $(STAGING_DIR)/usr/include
+	cp -fpR $(PKG_INSTALL_DIR)/usr/include/libart-2.0 $(STAGING_DIR)/usr/include/
+	mkdir -p $(STAGING_DIR)/usr/lib
+	cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libart_lgpl_2.{a,so*} $(STAGING_DIR)/usr/lib/
+	mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig
+	cp -fpR $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libart-2.0.pc $(STAGING_DIR)/usr/lib/pkgconfig/
+	touch $@
+
+install-dev: $(STAGING_DIR)/usr/lib/libart_lgpl_2.so
+
+uninstall-dev:
+	rm -rf \
+		$(STAGING_DIR)/usr/bin/libart2-config \
+		$(STAGING_DIR)/usr/include/libart-2.0 \
+		$(STAGING_DIR)/usr/lib/libart_lgpl_2.{a,so*} \
+		$(STAGING_DIR)/usr/lib/pkgconfig/libart-2.0.pc \
+
+compile: install-dev
+clean: uninstall-dev
diff --git a/openwrt/package/libart/ipkg/libart.control b/openwrt/package/libart/ipkg/libart.control
new file mode 100644
index 0000000000..593d03ceec
--- /dev/null
+++ b/openwrt/package/libart/ipkg/libart.control
@@ -0,0 +1,11 @@
+Package: libart
+Priority: optional
+Section: libs
+Maintainer: Oliver Ertl <oliver@ertl-net.net>, OpenWrt Developers <bugs@openwrt.org>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/libart/
+Description: An high-performance 2D graphics library. 
+ A library of functions for 2D graphics supporting a superset of the
+ PostScript imaging model, designed to be integrated with graphics, artwork,
+ and illustration programs. It is written in optimized C, and is fully
+ compatible with C++. With a small footprint of 10,000 lines of code, it is
+ especially suitable for embedded applications.     
diff --git a/openwrt/package/libart/patches/100-cross_compile_fix.patch b/openwrt/package/libart/patches/100-cross_compile_fix.patch
new file mode 100644
index 0000000000..aae1acccfa
--- /dev/null
+++ b/openwrt/package/libart/patches/100-cross_compile_fix.patch
@@ -0,0 +1,15 @@
+diff -urN libart.old/Makefile.in libart.dev/Makefile.in
+--- libart.old/Makefile.in	2005-01-21 10:52:11.000000000 +0100
++++ libart.dev/Makefile.in	2005-07-17 19:31:05.000000000 +0200
+@@ -440,9 +440,9 @@
+ 	@rm -f testuta$(EXEEXT)
+ 	$(LINK) $(testuta_LDFLAGS) $(testuta_OBJECTS) $(testuta_LDADD) $(LIBS)
+ 
+-gen_art_config$(EXEEXT): $(gen_art_config_OBJECTS) $(gen_art_config_DEPENDENCIES)
++gen_art_config$(EXEEXT):
+ 	@rm -f gen_art_config$(EXEEXT)
+-	$(LINK) $(gen_art_config_LDFLAGS) $(gen_art_config_OBJECTS) $(gen_art_config_LDADD) $(LIBS)
++	$(HOSTCC) -I. -DLIBART_COMPILATION -DHAVE_CONFIG_H -o $@ gen_art_config.c
+ 
+ install-binSCRIPTS: $(bin_SCRIPTS)
+ 	@$(NORMAL_INSTALL)
-- 
2.30.2