zxing-cpp: new package, replacing zxing
ZXing was hosted on Google Code, which is a closing. The current link was already redirecting to the github repo. But upstream is no longer supporting the cpp bindings, it's now a Java library/application. A fork has been created from the latest cpp source of the original upstream. So this commit creates a new package, zxing-cpp, and adds Config.in.legacy handling for the old zxing pakcage that is removed. [Thomas: - add a patch that improves the CMakeLists.txt file to add installation rules. This allows to remove the manual installation logic from zxing-cpp.mk. - make libiconv a normal optional dependency. No need to involve BR2_ENABLE_LOCALE in the condition, since libiconv can only be enabled when !BR2_ENABLE_LOCALE. - bump to the latest upstream version. - add hash file.] Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
0611258aea
commit
7e5ddbcb06
@ -107,6 +107,14 @@ endif
|
||||
###############################################################################
|
||||
comment "Legacy options removed in 2015.11"
|
||||
|
||||
config BR2_PACKAGE_ZXING
|
||||
bool "zxing option has been renamed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_ZXING_CPP
|
||||
help
|
||||
ZXing no longer provides the cpp bindings, it has been renamed to
|
||||
BR2_PACKAGE_ZXING_CPP which uses a new upstream.
|
||||
|
||||
# Since FreeRDP has new dependencies, protect this legacy to avoid the
|
||||
# infamous "unmet direct dependencies" kconfig error.
|
||||
config BR2_PACKAGE_FREERDP_CLIENT
|
||||
|
@ -851,7 +851,7 @@ menu "Graphics"
|
||||
source "package/webkit/Config.in"
|
||||
source "package/webkitgtk24/Config.in"
|
||||
source "package/webp/Config.in"
|
||||
source "package/zxing/Config.in"
|
||||
source "package/zxing-cpp/Config.in"
|
||||
endmenu
|
||||
|
||||
menu "Hardware handling"
|
||||
|
@ -0,0 +1,33 @@
|
||||
From 2bc58a87dd629cef4cd2c62c5132c319bede61fa Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Sun, 4 Oct 2015 11:49:52 +0100
|
||||
Subject: [PATCH] CMakeLists: add rules for installation
|
||||
|
||||
This commit adds some CMake rules that allow to do a "make install" to
|
||||
install the zxing binary, its library and corresponding header files.
|
||||
|
||||
Submitted upstream: https://github.com/glassechidna/zxing-cpp/pull/31
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
CMakeLists.txt | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index f49b28d..7151d90 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -68,6 +68,10 @@ file(GLOB_RECURSE ZXING_FILES
|
||||
)
|
||||
add_executable(zxing ${ZXING_FILES})
|
||||
target_link_libraries(zxing libzxing)
|
||||
+install(TARGETS zxing libzxing
|
||||
+ LIBRARY DESTINATION lib
|
||||
+ RUNTIME DESTINATION bin)
|
||||
+install(DIRECTORY core/src/zxing/ DESTINATION include/zxing FILES_MATCHING PATTERN "*.h")
|
||||
|
||||
# Add testrunner executable.
|
||||
find_package(CPPUNIT)
|
||||
--
|
||||
2.6.0
|
||||
|
@ -1,13 +1,13 @@
|
||||
comment "zxing needs a toolchain w/ C++"
|
||||
comment "zxing-cpp needs a toolchain w/ C++"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP
|
||||
|
||||
config BR2_PACKAGE_ZXING
|
||||
bool "zxing"
|
||||
config BR2_PACKAGE_ZXING_CPP
|
||||
bool "zxing-cpp"
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
help
|
||||
ZXing (pronounced "zebra crossing") is an open-source,
|
||||
ZXing-cpp (pronounced "zebra crossing") is an open-source,
|
||||
multi-format 1D/2D barcode image processing library
|
||||
implemented in Java, with ports to other languages. This
|
||||
compiles the C++ port.
|
||||
|
||||
http://code.google.com/p/zxing/
|
||||
https://github.com/glassechidna/zxing-cpp
|
2
package/zxing-cpp/zxing-cpp.hash
Normal file
2
package/zxing-cpp/zxing-cpp.hash
Normal file
@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 c3934e9e59b7496c9a4db7ad4d8eb43668da4b321ec705feebaf085b185b2d08 zxing-cpp-4abdbb62c9939014eca3e43ac7dfa30daa344536.tar.gz
|
18
package/zxing-cpp/zxing-cpp.mk
Normal file
18
package/zxing-cpp/zxing-cpp.mk
Normal file
@ -0,0 +1,18 @@
|
||||
################################################################################
|
||||
#
|
||||
# zxing-cpp
|
||||
#
|
||||
################################################################################
|
||||
|
||||
ZXING_CPP_VERSION = 4abdbb62c9939014eca3e43ac7dfa30daa344536
|
||||
ZXING_CPP_SITE = $(call github,glassechidna,zxing-cpp,$(ZXING_CPP_VERSION))
|
||||
ZXING_CPP_LICENSE = Apache-2.0
|
||||
ZXING_CPP_LICENSE_FILES = COPYING
|
||||
ZXING_CPP_INSTALL_STAGING = YES
|
||||
ZXING_CPP_SUPPORTS_IN_SOURCE_BUILD = NO
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBICONV),y)
|
||||
ZXING_CPP_DEPENDENCIES += libiconv
|
||||
endif
|
||||
|
||||
$(eval $(cmake-package))
|
@ -1,30 +0,0 @@
|
||||
[PATCH] add Makefile
|
||||
|
||||
The scons based build system doesn't handle cross compilation, special
|
||||
compiler flags or (un)installation, so add a simple makefile instead
|
||||
which does.
|
||||
|
||||
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
|
||||
---
|
||||
cpp/core/src/Makefile | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
Index: zxing-2.0/cpp/core/src/Makefile
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ zxing-2.0/cpp/core/src/Makefile
|
||||
@@ -0,0 +1,14 @@
|
||||
+override CXXFLAGS += -I.
|
||||
+SRCS := $(shell find -name '*.cpp')
|
||||
+
|
||||
+libzxing.a: $(SRCS:.cpp=.o)
|
||||
+ $(AR) $(ARFLAGS) $@ $^
|
||||
+
|
||||
+install: libzxing.a
|
||||
+ install -D -m 0644 $^ $(DESTDIR)/usr/lib/$^
|
||||
+ find -name '*.h' -exec install -m 0644 -D "{}" \
|
||||
+ "$(DESTDIR)/usr/include/{}" ";"
|
||||
+
|
||||
+uninstall:
|
||||
+ rm -f $(DESTDIR)/usr/lib/libzxing.a
|
||||
+ rm -rf $(DESTDIR)/usr/include/zxing
|
@ -1,40 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# zxing
|
||||
#
|
||||
################################################################################
|
||||
|
||||
ZXING_VERSION = 2.3.0
|
||||
ZXING_SITE = http://zxing.googlecode.com/files
|
||||
ZXING_SOURCE = ZXing-$(ZXING_VERSION).zip
|
||||
ZXING_LICENSE = Apache-2.0
|
||||
ZXING_LICENSE_FILES = COPYING
|
||||
ZXING_INSTALL_STAGING = YES
|
||||
|
||||
ifneq ($(BR2_ENABLE_LOCALE),y)
|
||||
ifeq ($(BR2_PACKAGE_LIBICONV),y)
|
||||
ZXING_DEPENDENCIES += libiconv
|
||||
else
|
||||
# There is no locale support in the toolchain and libiconv
|
||||
# is not available so disable iconv support in zxing
|
||||
ZING_MAKE_OPTS = CXXFLAGS+="-DNO_ICONV"
|
||||
endif
|
||||
endif
|
||||
|
||||
define ZXING_EXTRACT_CMDS
|
||||
$(UNZIP) -d $(BUILD_DIR) $(DL_DIR)/$(ZXING_SOURCE)
|
||||
endef
|
||||
|
||||
define ZXING_BUILD_CMDS
|
||||
$(MAKE) -C $(@D)/cpp/core/src $(TARGET_CONFIGURE_OPTS) $(ZING_MAKE_OPTS)
|
||||
endef
|
||||
|
||||
define ZXING_INSTALL_STAGING_CMDS
|
||||
$(MAKE) -C $(@D)/cpp/core/src DESTDIR=$(STAGING_DIR) install
|
||||
endef
|
||||
|
||||
define ZXING_INSTALL_TARGET_CMDS
|
||||
$(MAKE) -C $(@D)/cpp/core/src DESTDIR=$(TARGET_DIR) install
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
Loading…
Reference in New Issue
Block a user