~ruther/guix-local

222b461878179dbe3b5fdce8cb59cf6841579df7 — Maxim Cournoyer 4 years ago 33b28e9
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.
2 files changed, 52 insertions(+), 43 deletions(-)

M gnu/packages/aidc.scm
M gnu/packages/gstreamer.scm
M gnu/packages/aidc.scm => gnu/packages/aidc.scm +45 -41
@@ 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

M gnu/packages/gstreamer.scm => gnu/packages/gstreamer.scm +7 -2
@@ 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