unzip: new package
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Cc: Romain Naour <romain.naour@openwide.fr> Cc: Jan Pedersen <jp@jp-embedded.com> Cc: Arnout Vandecappelle <arnout@mind.be> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
8f239e783f
commit
8a536fef7f
@ -55,6 +55,9 @@ endif
|
||||
source "package/lz4/Config.in"
|
||||
source "package/lzip/Config.in"
|
||||
source "package/lzop/Config.in"
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/unzip/Config.in"
|
||||
endif
|
||||
source "package/xz/Config.in"
|
||||
source "package/zip/Config.in"
|
||||
endmenu
|
||||
|
@ -0,0 +1,53 @@
|
||||
From 992a497e9c5c421d3931e02a01e9d7c159f27135 Mon Sep 17 00:00:00 2001
|
||||
From: Luca Ceresoli <luca@lucaceresoli.net>
|
||||
Date: Thu, 26 Nov 2015 12:49:10 +0100
|
||||
Subject: [PATCH] Add a CMakeFile.txt to ease cross-compilation
|
||||
|
||||
Info-ZIP's UnZip 6.0 has a complex, hand-crafted Makefile with a
|
||||
companion configure script which try to support an extremely wide
|
||||
range of UNIX-like operating systems. The result is an overly complex
|
||||
mass of code that does not support cross-compilation in several ways.
|
||||
|
||||
Zip 3.0 has a similar build system, and has as many as 6 patches in
|
||||
Buildroot to cross-compile [0]. UnZip fails at building even with
|
||||
these patches adapted and a few more on top of them.
|
||||
|
||||
Instead of tweaking and fixing a huge and complex build system, skip
|
||||
it entirely and add a pretty simple CMakeLists.txt that cross-compiles
|
||||
smoothly using CMake. It also preserves all of the Buildroot-provided
|
||||
build options and flags as the original Makefile does.
|
||||
|
||||
[0] http://git.buildroot.net/buildroot/tree/package/infozip?id=2015.11-rc3
|
||||
|
||||
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
|
||||
---
|
||||
CMakeLists.txt | 17 +++++++++++++++++
|
||||
1 file changed, 17 insertions(+)
|
||||
create mode 100644 CMakeLists.txt
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
new file mode 100644
|
||||
index 0000000..27951b4
|
||||
--- /dev/null
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -0,0 +1,17 @@
|
||||
+cmake_minimum_required(VERSION 2.8)
|
||||
+INCLUDE(CheckFunctionExists)
|
||||
+
|
||||
+project(unzip C)
|
||||
+
|
||||
+CHECK_FUNCTION_EXISTS(lchmod HAVE_LCHMOD)
|
||||
+if(NOT HAVE_LCHMOD)
|
||||
+add_definitions("-DNO_LCHMOD")
|
||||
+endif()
|
||||
+
|
||||
+set(UNZIP_SOURCES unzip.c crc32.c crypt.c envargs.c explode.c
|
||||
+ extract.c fileio.c globals.c inflate.c list.c match.c process.c
|
||||
+ ttyio.c ubz2err.c unreduce.c unshrink.c zipinfo.c unix/unix.c)
|
||||
+
|
||||
+include_directories(.)
|
||||
+add_executable(unzip ${UNZIP_SOURCES})
|
||||
+install(TARGETS unzip DESTINATION bin)
|
||||
--
|
||||
1.9.1
|
||||
|
11
package/unzip/Config.in
Normal file
11
package/unzip/Config.in
Normal file
@ -0,0 +1,11 @@
|
||||
config BR2_PACKAGE_UNZIP
|
||||
bool "unzip"
|
||||
help
|
||||
UnZip is an extraction utility for archives compressed in
|
||||
.zip format (also called "zipfiles"). Although highly
|
||||
compatible both with PKWARE's PKZIP and PKUNZIP utilities
|
||||
for MS-DOS and with Info-ZIP's own Zip program, our primary
|
||||
objectives have been portability and non-MSDOS
|
||||
functionality.
|
||||
|
||||
http://www.info-zip.org/UnZip.html
|
2
package/unzip/unzip.hash
Normal file
2
package/unzip/unzip.hash
Normal file
@ -0,0 +1,2 @@
|
||||
# Locally computed:
|
||||
sha256 036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37 unzip60.tgz
|
15
package/unzip/unzip.mk
Normal file
15
package/unzip/unzip.mk
Normal file
@ -0,0 +1,15 @@
|
||||
################################################################################
|
||||
#
|
||||
# unzip
|
||||
#
|
||||
################################################################################
|
||||
|
||||
UNZIP_VERSION = 60
|
||||
UNZIP_SOURCE = unzip$(UNZIP_VERSION).tgz
|
||||
UNZIP_SITE = ftp://ftp.info-zip.org/pub/infozip/src
|
||||
# take precedence over busybox implementation
|
||||
UNZIP_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox)
|
||||
UNZIP_LICENSE = Info-ZIP
|
||||
UNZIP_LICENSE_FILES = LICENSE
|
||||
|
||||
$(eval $(cmake-package))
|
Loading…
Reference in New Issue
Block a user