Add libart package
authornico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 10 Aug 2005 21:24:37 +0000 (21:24 +0000)
committernico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 10 Aug 2005 21:24:37 +0000 (21:24 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1602 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/Config.in
package/Makefile
package/libart/Config.in [new file with mode: 0644]
package/libart/Makefile [new file with mode: 0644]
package/libart/ipkg/libart.control [new file with mode: 0644]
package/libart/patches/100-cross_compile_fix.patch [new file with mode: 0644]

index fdec45a..1717110 100644 (file)
@@ -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"
index 7ba30f9..b528bf2 100644 (file)
@@ -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/package/libart/Config.in b/package/libart/Config.in
new file mode 100644 (file)
index 0000000..99a6a3f
--- /dev/null
@@ -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/package/libart/Makefile b/package/libart/Makefile
new file mode 100644 (file)
index 0000000..eb01c7a
--- /dev/null
@@ -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/package/libart/ipkg/libart.control b/package/libart/ipkg/libart.control
new file mode 100644 (file)
index 0000000..593d03c
--- /dev/null
@@ -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/package/libart/patches/100-cross_compile_fix.patch b/package/libart/patches/100-cross_compile_fix.patch
new file mode 100644 (file)
index 0000000..aae1acc
--- /dev/null
@@ -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)