Patchwork [1/1] added infozip package

login
register
mail settings
Submitter Jan Pedersen
Date Jan. 8, 2013, 1:38 p.m.
Message ID <1357652308-20027-1-git-send-email-jp@jp-embedded.com>
Download mbox | patch
Permalink /patch/210385/
State Superseded
Headers show

Comments

Jan Pedersen - Jan. 8, 2013, 1:38 p.m.
Signed-off-by: Jan Pedersen <jp@jp-embedded.com>
---
 package/Config.in          |    1 +
 package/infozip/Config.in  |   10 ++++++++++
 package/infozip/infozip.mk |   43 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 54 insertions(+)
 create mode 100644 package/infozip/Config.in
 create mode 100644 package/infozip/infozip.mk
Thomas Petazzoni - Jan. 8, 2013, 2:38 p.m.
Dear Jan Pedersen,

Thanks for contributing this package!

On Tue,  8 Jan 2013 14:38:28 +0100, Jan Pedersen wrote:

> diff --git a/package/infozip/infozip.mk b/package/infozip/infozip.mk
> new file mode 100644
> index 0000000..996a709
> --- /dev/null
> +++ b/package/infozip/infozip.mk
> @@ -0,0 +1,43 @@
> +#############################################################
> +#
> +# infozip
> +#
> +#############################################################
> +INFOZIP_VERSION:=30
> +INFOZIP_SOURCE:=zip$(INFOZIP_VERSION).tgz
> +INFOZIP_SITE:=ftp://ftp.info-zip.org/pub/infozip/src/

Please use = instead of :=. So, something like:

INFOZIP_VERSION = 30
INFOZIP_SOURCE = zip$(INFOZIP_VERSION).tgz
INFOZIP_SITE = ftp://ftp.info-zip.org/pub/infozip/src/

Also, please add the INFOZIP_LICENSE and INFOZIP_LICENSE_FILES fields
(see the Buildroot manual for details).

> +INFOZIP_DIR = $(BUILD_DIR)/zip$(INFOZIP_VERSION)
> +
> +$(DL_DIR)/$(INFOZIP_SOURCE):
> +	$(call DOWNLOAD,$(INFOZIP_SITE)/$(INFOZIP_SOURCE))
> +
> +$(INFOZIP_DIR)/.source: $(DL_DIR)/$(INFOZIP_SOURCE)
> +	$(ZCAT) $(DL_DIR)/$(INFOZIP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
> +	touch $@

[...]

Snip. Arggh, this is a manual .mk file. This is something we have
deprecated since a long time. Please use the generic-package
infrastructure instead.

See
http://buildroot.org/downloads/manual/manual.html#_infrastructure_for_packages_with_specific_build_systems
for details on how to use this infrastructure, and the many examples
available in Buildroot.

Could you rework this package to use the generic-package infrastructure?

Thanks!

Thomas

Patch

diff --git a/package/Config.in b/package/Config.in
index 49db380..9cf29f4 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -14,6 +14,7 @@  endif
 source "package/lzop/Config.in"
 source "package/lzma/Config.in"
 source "package/xz/Config.in"
+source "package/infozip/Config.in"
 endmenu
 
 menu "Debugging, profiling and benchmark"
diff --git a/package/infozip/Config.in b/package/infozip/Config.in
new file mode 100644
index 0000000..1a4b756
--- /dev/null
+++ b/package/infozip/Config.in
@@ -0,0 +1,10 @@ 
+config BR2_PACKAGE_INFOZIP
+	bool "infozip"
+	help
+	  Zip is a compression and file packaging/archive utility. 
+	  Although highly compatible both with PKWARE's PKZIP and 
+	  PKUNZIP utilities for MS-DOS and with Info-ZIP's own UnZip, 
+ 	  our primary objectives have been portability and other-than-MSDOS 
+	  functionality. 
+
+	  http://infozip.sourceforge.net/Zip.html
diff --git a/package/infozip/infozip.mk b/package/infozip/infozip.mk
new file mode 100644
index 0000000..996a709
--- /dev/null
+++ b/package/infozip/infozip.mk
@@ -0,0 +1,43 @@ 
+#############################################################
+#
+# infozip
+#
+#############################################################
+INFOZIP_VERSION:=30
+INFOZIP_SOURCE:=zip$(INFOZIP_VERSION).tgz
+INFOZIP_SITE:=ftp://ftp.info-zip.org/pub/infozip/src/
+INFOZIP_DIR = $(BUILD_DIR)/zip$(INFOZIP_VERSION)
+
+$(DL_DIR)/$(INFOZIP_SOURCE):
+	$(call DOWNLOAD,$(INFOZIP_SITE)/$(INFOZIP_SOURCE))
+
+$(INFOZIP_DIR)/.source: $(DL_DIR)/$(INFOZIP_SOURCE)
+	$(ZCAT) $(DL_DIR)/$(INFOZIP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+	touch $@
+
+$(INFOZIP_DIR)/.build: $(INFOZIP_DIR)/.source
+	make -C $(INFOZIP_DIR) -f unix/Makefile generic CC=$(TARGET_CC)
+	touch $@
+
+$(INFOZIP_DIR)/.install: $(INFOZIP_DIR)/.build
+	make -C $(INFOZIP_DIR) -f unix/Makefile install prefix=$(TARGET_DIR)/usr CC=$(TARGET_CC)
+	touch $@
+
+infozip: $(INFOZIP_DIR)/.install
+
+infozip-source: $(DL_DIR)/$(INFOZIP_SOURCE)
+
+infozip-clean:
+	rm -rf $(INFOZIP_DIR)
+
+infozip-dirclean:
+	rm -rf $(INFOZIP_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(BR2_PACKAGE_INFOZIP),y)
+TARGETS += infozip
+endif