p7zip: new package

Only enabled on a subset of known-working architectures.
It fails to build on some archs, like blackfin.

Signed-off-by: André Hentschel <nerv@dawncrow.de>
[Thomas:
 - Add comment about the Blackfin exception.
 - Propagate the Blackfin exception to the Config.in comment.
 - Fix the license, it is the LGPLv2.1+ *with* the unRAR restriction.
 - Use $(INSTALL) -D -m 0755 to install the binary instead of cp.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
André Hentschel 2016-05-31 23:57:51 +02:00 committed by Thomas Petazzoni
parent f223c19f93
commit 9bc2ba2169
4 changed files with 49 additions and 0 deletions

View File

@ -60,6 +60,7 @@ endif
source "package/lz4/Config.in"
source "package/lzip/Config.in"
source "package/lzop/Config.in"
source "package/p7zip/Config.in"
source "package/unrar/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/unzip/Config.in"

18
package/p7zip/Config.in Normal file
View File

@ -0,0 +1,18 @@
config BR2_PACKAGE_P7ZIP
bool "p7zip"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_WCHAR
# missing endianness definitions
depends on !BR2_bfin
help
p7zip is a quick port of the command line version of 7-zip for Unix.
(see http://www.7-zip.org)
7-Zip is a file archiver with highest compression ratio.
http://sourceforge.net/projects/p7zip
comment "p7zip needs a toolchain w/ threads, wchar, C++"
depends on !BR2_bfin
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP

3
package/p7zip/p7zip.hash Normal file
View File

@ -0,0 +1,3 @@
# From https://sourceforge.net/projects/p7zip/files/p7zip/
md5 92cca093312b5a71a7be7dc7d1d32509 p7zip_15.14.1_src_all.tar.bz2
sha1 9b15a79f94230fab9b9d4f9f532c723117145c7a p7zip_15.14.1_src_all.tar.bz2

27
package/p7zip/p7zip.mk Normal file
View File

@ -0,0 +1,27 @@
################################################################################
#
# p7zip
#
################################################################################
P7ZIP_VERSION = 15.14.1
P7ZIP_SOURCE = p7zip_$(P7ZIP_VERSION)_src_all.tar.bz2
P7ZIP_SITE = http://downloads.sourceforge.net/project/p7zip/p7zip/$(P7ZIP_VERSION)
P7ZIP_LICENSE = LGPLv2.1+ with unRAR restriction
P7ZIP_LICENSE_FILES = DOC/License.txt
# p7zip buildsystem is a mess: it plays dirty tricks with CFLAGS and
# CXXFLAGS, so we can't pass them. Instead, it accepts ALLFLAGS_C
# and ALLFLAGS_CPP as variables to pass the CFLAGS and CXXFLAGS.
define P7ZIP_BUILD_CMDS
$(MAKE) CC="$(TARGET_CC)" ALLFLAGS_C="$(TARGET_CFLAGS)" \
CXX="$(TARGET_CXX)" ALLFLAGS_CPP="$(TARGET_CXXFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
-C $(@D) 7zr
endef
define P7ZIP_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/bin/7zr $(TARGET_DIR)/usr/bin/7zr
endef
$(eval $(generic-package))