diff options
author | 2023-11-12 09:57:40 +0700 | |
---|---|---|
committer | 2023-11-12 13:40:31 +0700 | |
commit | d25a8c355bfa103ea3dd54885df13adc1c4c8300 (patch) | |
tree | c31bfeb1c512e3d9773ef816dca63e85dc354b07 /libraries/zxing-cpp | |
parent | 4c3bb304ceeb53bac78bffaf93d68f00924bd275 (diff) | |
download | slackbuilds-d25a8c355bfa103ea3dd54885df13adc1c4c8300.tar.gz slackbuilds-d25a8c355bfa103ea3dd54885df13adc1c4c8300.tar.xz |
libraries/zxing-cpp: Moved to libraries and build offline.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'libraries/zxing-cpp')
-rw-r--r-- | libraries/zxing-cpp/README | 20 | ||||
-rw-r--r-- | libraries/zxing-cpp/slack-desc | 19 | ||||
-rw-r--r-- | libraries/zxing-cpp/zxing-cpp.SlackBuild | 114 | ||||
-rw-r--r-- | libraries/zxing-cpp/zxing-cpp.info | 10 | ||||
-rw-r--r-- | libraries/zxing-cpp/zxing.cmake.patch | 15 |
5 files changed, 178 insertions, 0 deletions
diff --git a/libraries/zxing-cpp/README b/libraries/zxing-cpp/README new file mode 100644 index 0000000000..7e7c2ad1d0 --- /dev/null +++ b/libraries/zxing-cpp/README @@ -0,0 +1,20 @@ +ZXing-C++ ("zebra crossing") is an open-source, multi-format +linear/matrix barcode image processing library implemented in C++. + +It was originally ported from the Java ZXing Library but has been +developed further and now includes many improvements in terms of +runtime and detection performance. It can both read and write +barcodes in a number of formats. + +Features: + * Written in pure C++17 (/C++20), no third-party dependencies + (for the library itself) + * Thread safe + * Wrappers/Bindings for: + - Android + - C + - iOS + - Python + - WebAssembly + - WinRT + - Flutter (external project) diff --git a/libraries/zxing-cpp/slack-desc b/libraries/zxing-cpp/slack-desc new file mode 100644 index 0000000000..2211be0a13 --- /dev/null +++ b/libraries/zxing-cpp/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +zxing-cpp: zxing-cpp (barcode image processing library) +zxing-cpp: +zxing-cpp: ZXing-C++ ("zebra crossing") is an open-source, multi-format +zxing-cpp: linear/matrix barcode image processing library implemented in C++. +zxing-cpp: It can both read and write barcodes in a number of formats. +zxing-cpp: +zxing-cpp: Homepage: https://github.com/zxing-cpp/zxing-cpp +zxing-cpp: +zxing-cpp: +zxing-cpp: +zxing-cpp: diff --git a/libraries/zxing-cpp/zxing-cpp.SlackBuild b/libraries/zxing-cpp/zxing-cpp.SlackBuild new file mode 100644 index 0000000000..fd404d7ae7 --- /dev/null +++ b/libraries/zxing-cpp/zxing-cpp.SlackBuild @@ -0,0 +1,114 @@ +#!/bin/bash + +# Slackware build script for zxing-cpp + +# Copyright 2023 Bloyburt +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=zxing-cpp +VERSION=${VERSION:-2.1.0} +BUILD=${BUILD:-2} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} +STBVER=${STBVER:-beebb24b945efdea3b9bba23affb8eb3ba8982e7} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "aarch64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION + +# Use a local version of the stb image library +patch zxing.cmake $CWD/zxing.cmake.patch +cp -a $CWD/stb-$STBVER.tar.gz . +tar xvf stb-$STBVER.tar.gz +mv stb-$STBVER stb-src + +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +mkdir -p build +cd build + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_SUFFIX="$LIBDIRSUFFIX" \ + -DMAN_INSTALL_DIR=/usr/man \ + -DCMAKE_BUILD_TYPE=Release .. + make + make install/strip DESTDIR=$PKG +cd .. + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/libraries/zxing-cpp/zxing-cpp.info b/libraries/zxing-cpp/zxing-cpp.info new file mode 100644 index 0000000000..8aa3111738 --- /dev/null +++ b/libraries/zxing-cpp/zxing-cpp.info @@ -0,0 +1,10 @@ +PRGNAM="zxing-cpp" +VERSION="2.1.0" +HOMEPAGE="https://github.com/zxing-cpp/zxing-cpp" +DOWNLOAD="https://github.com/zxing-cpp/zxing-cpp/archive/v2.1.0/zxing-cpp-2.1.0.tar.gz https://github.com/nothings/stb/archive/beebb24/stb-beebb24b945efdea3b9bba23affb8eb3ba8982e7.tar.gz" +MD5SUM="17289e8cd489cda9d72b30f05e6f007d 7621601c97e2f200d027c2ee86431da7" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="Bloyburt" +EMAIL="alexpen@startmail.com" diff --git a/libraries/zxing-cpp/zxing.cmake.patch b/libraries/zxing-cpp/zxing.cmake.patch new file mode 100644 index 0000000000..c7fc316223 --- /dev/null +++ b/libraries/zxing-cpp/zxing.cmake.patch @@ -0,0 +1,15 @@ +--- zxing.cmake.orig 2023-11-10 19:38:55.601450169 +0000 ++++ zxing.cmake 2023-11-10 19:39:15.889449494 +0000 +@@ -12,11 +12,8 @@ + + if (NOT STB_FOUND) + include(FetchContent) +- FetchContent_Declare (stb +- GIT_REPOSITORY https://github.com/nothings/stb.git) +- FetchContent_MakeAvailable (stb) + add_library(stb::stb INTERFACE IMPORTED) +- target_include_directories(stb::stb INTERFACE ${stb_SOURCE_DIR}) ++ target_include_directories(stb::stb INTERFACE ../stb-src) + else() + add_library(stb::stb ALIAS PkgConfig::STB) + endif() |