- add package lzma
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Tue, 29 Aug 2006 16:40:38 +0000 (16:40 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Tue, 29 Aug 2006 16:40:38 +0000 (16:40 -0000)
package/lzma/Config.in [new file with mode: 0644]
package/lzma/lzma.100-futimesat.patch [new file with mode: 0644]
package/lzma/lzma.mk [new file with mode: 0644]

diff --git a/package/lzma/Config.in b/package/lzma/Config.in
new file mode 100644 (file)
index 0000000..a977b32
--- /dev/null
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_LZMA
+       bool "lzma"
+       default n
+       help
+         Compression utility.
+
+         http://tukaani.org/lzma/
+
+config BR2_PACKAGE_LZMA_TARGET_HEADERS
+       bool "lzma headers in target"
+       default n
+       depends on BR2_PACKAGE_LZMA
+       help
+         Put headers files in the target.
diff --git a/package/lzma/lzma.100-futimesat.patch b/package/lzma/lzma.100-futimesat.patch
new file mode 100644 (file)
index 0000000..06dc89f
--- /dev/null
@@ -0,0 +1,14 @@
+--- lzma-4.32.0beta3.orig/src/lzma/lzmp.cpp    2006-07-06 23:58:46.000000000 +0200
++++ lzma-4.32.0beta3/src/lzma/lzmp.cpp 2006-08-29 20:21:22.000000000 +0200
+@@ -47,7 +47,11 @@ typedef vector<string> stringVector;
+ // For Solaris
+ #ifndef HAVE_FUTIMES
++#ifdef HAVE_FUTIMESAT
+ #define futimes(fd, tv) futimesat(fd, NULL, tv)
++#else
++#define futimes(fd, tv) 0 /* utimes(fd, NULL, tv)*/
++#endif
+ #endif
+ #if defined(_WIN32) || defined(OS2) || defined(MSDOS)
diff --git a/package/lzma/lzma.mk b/package/lzma/lzma.mk
new file mode 100644 (file)
index 0000000..a918eee
--- /dev/null
@@ -0,0 +1,81 @@
+#############################################################
+#
+# lzma
+#
+#############################################################
+LZMA_VER:=4.32.0beta3
+LZMA_SOURCE:=lzma-$(LZMA_VER).tar.gz
+LZMA_SITE:=http://tukaani.org/lzma/
+LZMA_DIR:=$(BUILD_DIR)/lzma-$(LZMA_VER)
+LZMA_CFLAGS:=$(TARGET_CFLAGS)
+ifeq ($(BR2_LARGEFILE),y)
+LZMA_CFLAGS+=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+LZMA_LARGEFILE="--enable-largefile"
+else
+LZMA_LARGEFILE="--disable-largefile"
+endif
+
+$(DL_DIR)/$(LZMA_SOURCE):
+       $(WGET) -P $(DL_DIR) $(LZMA_SITE)/$(LZMA_SOURCE)
+
+$(LZMA_DIR)/.source: $(DL_DIR)/$(LZMA_SOURCE)
+       zcat $(DL_DIR)/$(LZMA_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+       toolchain/patch-kernel.sh $(LZMA_DIR) package/lzma/ lzma\*.patch
+       touch $(LZMA_DIR)/.source
+
+$(LZMA_DIR)/.configured: $(LZMA_DIR)/.source
+       (cd $(LZMA_DIR); rm -f config.cache ;\
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(TARGET_CFLAGS) $(LZMA_CFLAGS)" \
+               ac_cv_func_malloc_0_nonnull=yes \
+               ./configure \
+               --target=$(GNU_TARGET_NAME) \
+               --host=$(GNU_TARGET_NAME) \
+               --build=$(GNU_HOST_NAME) \
+               --prefix=/usr \
+               --exec-prefix=$(STAGING_DIR)/usr/bin \
+               --libdir=$(STAGING_DIR)/lib \
+               --includedir=$(STAGING_DIR)/include \
+               --disable-debug \
+               $(DISABLE_NLS) \
+               $(LZMA_LARGEFILE) \
+       );
+       touch $(LZMA_DIR)/.configured;
+
+$(LZMA_DIR)/src/lzma/lzma: $(LZMA_DIR)/.configured
+       $(MAKE) -C $(LZMA_DIR) all
+       touch -c $@
+
+$(STAGING_DIR)/bin/lzma: $(LZMA_DIR)/src/lzma/lzma
+       -cp -dpf $(LZMA_DIR)/src/lzma/lzma $(STAGING_DIR)/bin/;
+       touch -c $(STAGING_DIR)/bin/lzma
+
+$(TARGET_DIR)/bin/lzma: $(STAGING_DIR)/bin/lzma
+       cp -dpf $(STAGING_DIR)/bin/lzma $(TARGET_DIR)/bin/;
+       -$(STRIP) --strip-unneeded $(TARGET_DIR)/bin/lzma
+       touch -c $(TARGET_DIR)/bin/lzma
+
+#lzma-headers: $(TARGET_DIR)/bin/lzma
+
+lzma: uclibc $(TARGET_DIR)/bin/lzma
+
+lzma-source: $(DL_DIR)/$(LZMA_SOURCE)
+
+lzma-clean:
+       rm -f $(TARGET_DIR)/bin/lzma
+       -$(MAKE) -C $(LZMA_DIR) clean
+
+lzma-dirclean:
+       rm -rf $(LZMA_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_LZMA)),y)
+TARGETS+=lzma
+endif
+#ifeq ($(strip $(BR2_PACKAGE_LZMA_TARGET_HEADERS)),y)
+#TARGETS+=lzma-headers
+#endif