From 222b461878179dbe3b5fdce8cb59cf6841579df7 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 27 Oct 2021 22:44:58 -0400 Subject: gnu: zxing-cpp: Update to 1.2.0-0.00783db. * gnu/packages/aidc.scm (zxing-cpp): Update to 1.2.0-0.00783db. [version]: Use git-version. [source]: Adjust accordingly. [native-inputs]: Replace googletest-source by the regular googletest package. Add fmt. [arguments]: Remove field. (zxing-cpp-1.2): New variable. * gnu/packages/gstreamer.scm (gst-plugins-bad): Skip failing test. [inputs]: Use zxing-cpp-1.2. --- gnu/packages/aidc.scm | 86 ++++++++++++++++++++++++---------------------- gnu/packages/gstreamer.scm | 9 +++-- 2 files changed, 52 insertions(+), 43 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm index 21fc1957a2..ac85dca4b0 100644 --- a/gnu/packages/aidc.scm +++ b/gnu/packages/aidc.scm @@ -38,54 +38,58 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages pretty-print) #:use-module (gnu packages qt) #:use-module (gnu packages video) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu)) (define-public zxing-cpp - (package + ;; Use the master branch as it includes unreleased build system improvements + ;; allowing to use system libraries (instead of attempting to fetch them + ;; from the Internet). + (let ((revision "0") + (commit "00783db7aa3bcf8620a301854ac71c0ceaaca0c1")) + (package + (name "zxing-cpp") + (version (git-version "1.2.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nu-book/zxing-cpp") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1yl2cpaqiv1g4nq9v0xfj1vd5faz55k4541vz6hsffvcxgn9nmc5")))) + (build-system cmake-build-system) + (native-inputs + `(("fmt" ,fmt) + ("googletest" ,googletest))) + (synopsis "C++ port of ZXing") + (description "ZXing-CPP is a barcode scanning library.") + (home-page "https://github.com/nu-book/zxing-cpp") + (license license:asl2.0)))) + +;;; This older variant is kept for gst-plugins-bad (see: +;;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1684). +(define-public zxing-cpp-1.2 + (package/inherit zxing-cpp (name "zxing-cpp") - (version "1.0.8") - (source - (origin - (method git-fetch) - (uri - (git-reference - (url "https://github.com/nu-book/zxing-cpp") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "011sq8wcjfxbnd8sj6bf2fgkamlp8gj6q835g61c952npvwsnl71")))) - (native-inputs - `(("googletest-source" ,(package-source googletest)))) - (build-system cmake-build-system) - (arguments - `(#:out-of-source? #f - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-googletest - ;; Copy the googletest sources to where the CMake build expects them. - (lambda* (#:key inputs #:allow-other-keys) - (let ((source (assoc-ref inputs "googletest-source")) - (target "test/unit/googletest-src")) - (mkdir-p target) - (copy-recursively source target) - ;; Disable downloading via ExternalProject. - (substitute* "test/unit/CMakeLists.txt.in" - (("ExternalProject_Add\\(") "message(")) - #t))) - (replace 'check - (lambda _ - (with-directory-excursion "test/unit" - (invoke "cmake" ".") - (invoke "make") - (invoke "./ZXingUnitTest")) - #t))))) - (synopsis "C++ port of ZXing") - (description "ZXing-CPP is a barcode scanning library.") - (home-page "https://github.com/nu-book/zxing-cpp") - (license license:asl2.0))) + (version "1.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nu-book/zxing-cpp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gjj9c7h634rrmmgzbc7cxjqsxdq0paj6113k02ncjm1s9abk7ik")))) + ;; Disable tests to avoid bundled dependencies. + (arguments '(#:tests? #f + #:configure-flags '("-DBUILD_BLACKBOX_TESTS=OFF"))) + (native-inputs '()))) (define-public barcode (package diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 2ee9fdcea8..a4c7967c4c 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -775,7 +775,12 @@ model to base your own plug-in on, here it is.") ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/932 ((".*elements/curlhttpsrc\\.c.*") "") ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412 - ((".*elements/dtls\\.c.*") ""))))) + ((".*elements/dtls\\.c.*") "")) + (substitute* "tests/check/elements/zxing.c" + ;; zxing 1.2.0 seemingly changed the type representation of + ;; the EAN_13 structure; disable it. + ((".*\"EAN_13\".*") + ""))))) (add-before 'check 'pre-check (lambda _ ;; Tests require a running X server. @@ -898,7 +903,7 @@ model to base your own plug-in on, here it is.") ("wpebackend-fdo" ,wpebackend-fdo) ;; ("wpewebkit" ,wpewebkit) ("zbar" ,zbar) - ("zxing" ,zxing-cpp))) + ("zxing" ,zxing-cpp-1.2))) (home-page "https://gstreamer.freedesktop.org/") (synopsis "Plugins for the GStreamer multimedia library") (description -- cgit v1.2.3