package/libb64: new package

This patch adds libb64, a library of ANSI C routines for fast
encoding/decoding data into and from a base64-encoded format.

The package contains a static library, headers, and an executable.
The latter, however, requires C++ and offers no advantages over busybox
or coreutils base64, so it is not installed. Therefore, nothing is
installed to target.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
[Arnout:
- properly wrap Config.in
- move from Crypto to Other menu
- don't install to target
- don't make headers executable
- don't add -D to install with multiple source files
- extend commit log]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Angelo Compagnucci 2017-08-11 18:00:47 +02:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 7f854b2141
commit 69911ee1e0
4 changed files with 48 additions and 0 deletions

View File

@ -1413,6 +1413,7 @@ menu "Other"
source "package/lapack/Config.in"
source "package/libargtable2/Config.in"
source "package/libatomic_ops/Config.in"
source "package/libb64/Config.in"
source "package/libbsd/Config.in"
source "package/libcap/Config.in"
source "package/libcap-ng/Config.in"

14
package/libb64/Config.in Normal file
View File

@ -0,0 +1,14 @@
config BR2_PACKAGE_LIBB64
bool "libb64"
help
libb64 is a library of ANSI C routines for fast encoding
and decoding of data into and from a base64-encoded format.
C++ wrappers are included, as well as the source code for
standalone encoding and decoding executables.
Base64 uses a subset of displayable ASCII characters, and is
therefore a useful encoding for storing binary data in a text
file, such as XML, or sending binary data over text-only
email.
http://libb64.sourceforge.net

View File

@ -0,0 +1,3 @@
# sha1 from sourceforge, sha256 locally computed
sha1 04b3e21b8c951d27f02fe91249ca3474554af0b9 libb64-1.2.1.zip
sha256 20106f0ba95cfd9c35a13c71206643e3fb3e46512df3e2efb2fdbf87116314b2 libb64-1.2.1.zip

30
package/libb64/libb64.mk Normal file
View File

@ -0,0 +1,30 @@
################################################################################
#
# libb64
#
################################################################################
LIBB64_VERSION = 1.2.1
LIBB64_SOURCE = libb64-$(LIBB64_VERSION).zip
LIBB64_SITE = https://downloads.sourceforge.net/project/libb64/libb64/libb64
LIBB64_LICENSE = Public Domain
LIBB64_LICENSE_FILES = LICENSE
LIBB64_INSTALL_STAGING = YES
# Only static lib and headers
LIBB64_INSTALL_TARGET = NO
define LIBB64_EXTRACT_CMDS
unzip $(DL_DIR)/$(LIBB64_SOURCE) -d $(BUILD_DIR)
endef
define LIBB64_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" CCFLAGS="$(TARGET_CFLAGS)" -C $(@D) all_src
endef
define LIBB64_INSTALL_STAGING_CMDS
$(INSTALL) -d -m 0755 $(STAGING_DIR)/usr/include/b64
$(INSTALL) -m 0644 $(@D)/include/b64/* $(STAGING_DIR)/usr/include/b64
$(INSTALL) -D -m 0755 $(@D)/src/libb64.a $(STAGING_DIR)/usr/lib
endef
$(eval $(generic-package))