From e51d4a13bc9345554991cb4f97a8962e27af98d8 Mon Sep 17 00:00:00 2001 From: 4825764518 <100122841+4825764518@users.noreply.github.com> Date: Tue, 12 Apr 2022 23:46:12 -0400 Subject: [PATCH 1/2] quirc: 2020-04-16 -> 2021-10-08 --- pkgs/tools/graphics/quirc/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/graphics/quirc/default.nix b/pkgs/tools/graphics/quirc/default.nix index dec2a1020c89..1376b34a697c 100644 --- a/pkgs/tools/graphics/quirc/default.nix +++ b/pkgs/tools/graphics/quirc/default.nix @@ -1,20 +1,20 @@ { lib, stdenv, fetchFromGitHub -, SDL_gfx, SDL, libjpeg, libpng, pkg-config +, SDL_gfx, SDL, libjpeg, libpng, opencv, pkg-config }: stdenv.mkDerivation { pname = "quirc"; - version = "2020-04-16"; + version = "2021-10-08"; src = fetchFromGitHub { owner = "dlbeer"; repo = "quirc"; - rev = "ed455904f35270888bc902b9e8c0c9b3184a8302"; - sha256 = "1kqqvcnxcaxdgls9sibw5pqjz3g1gys2v64i4kfqp8wfcgd9771q"; + rev = "516d91a94d880ca1006fc1d57f318bdff8411f0d"; + sha256 = "0jkaz5frm6jr9bxyfympvzh180nczrfvvb3z3qhk21djlas6nr5f"; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ SDL SDL_gfx libjpeg libpng ]; + buildInputs = [ SDL SDL_gfx libjpeg libpng opencv ]; makeFlags = [ "PREFIX=$(out)" ]; NIX_CFLAGS_COMPILE = "-I${SDL.dev}/include/SDL -I${SDL_gfx}/include/SDL"; From 313e2a51240d632bb4fc1f1c891bcbbd564f9503 Mon Sep 17 00:00:00 2001 From: 4825764518 <100122841+4825764518@users.noreply.github.com> Date: Wed, 13 Apr 2022 00:15:29 -0400 Subject: [PATCH 2/2] quirc: fix darwin build Some linux-only samples prevented this package from building on x86_64 and aarch64 darwin systems. --- .../quirc/0001-dont-build-demos.patch | 29 +++++++++++++++++++ pkgs/tools/graphics/quirc/default.nix | 20 +++++++++---- 2 files changed, 44 insertions(+), 5 deletions(-) create mode 100644 pkgs/tools/graphics/quirc/0001-dont-build-demos.patch diff --git a/pkgs/tools/graphics/quirc/0001-dont-build-demos.patch b/pkgs/tools/graphics/quirc/0001-dont-build-demos.patch new file mode 100644 index 000000000000..9ecb6dda4e19 --- /dev/null +++ b/pkgs/tools/graphics/quirc/0001-dont-build-demos.patch @@ -0,0 +1,29 @@ +diff --git a/Makefile b/Makefile +index 2d5b745..ecef988 100644 +--- a/Makefile ++++ b/Makefile +@@ -37,7 +37,7 @@ DEMO_UTIL_OBJ = \ + + OPENCV_CFLAGS != pkg-config --cflags opencv4 + OPENCV_LIBS != pkg-config --libs opencv4 +-QUIRC_CXXFLAGS = $(QUIRC_CFLAGS) $(OPENCV_CFLAGS) --std=c++17 ++QUIRC_CXXFLAGS = $(QUIRC_CFLAGS) --std=c++17 + + .PHONY: all v4l sdl opencv install uninstall clean + +@@ -85,14 +85,11 @@ libquirc.so.$(LIB_VERSION): $(LIB_OBJ) + .cxx.o: + $(CXX) $(QUIRC_CXXFLAGS) -o $@ -c $< + +-install: libquirc.a libquirc.so.$(LIB_VERSION) quirc-demo quirc-scanner ++install: libquirc.a libquirc.so.$(LIB_VERSION) + install -o root -g root -m 0644 lib/quirc.h $(DESTDIR)$(PREFIX)/include + install -o root -g root -m 0644 libquirc.a $(DESTDIR)$(PREFIX)/lib + install -o root -g root -m 0755 libquirc.so.$(LIB_VERSION) \ + $(DESTDIR)$(PREFIX)/lib +- install -o root -g root -m 0755 quirc-demo $(DESTDIR)$(PREFIX)/bin +- # install -o root -g root -m 0755 quirc-demo-opencv $(DESTDIR)$(PREFIX)/bin +- install -o root -g root -m 0755 quirc-scanner $(DESTDIR)$(PREFIX)/bin + + uninstall: + rm -f $(DESTDIR)$(PREFIX)/include/quirc.h \ No newline at end of file diff --git a/pkgs/tools/graphics/quirc/default.nix b/pkgs/tools/graphics/quirc/default.nix index 1376b34a697c..6ad0262da3a1 100644 --- a/pkgs/tools/graphics/quirc/default.nix +++ b/pkgs/tools/graphics/quirc/default.nix @@ -1,6 +1,5 @@ -{ lib, stdenv, fetchFromGitHub -, SDL_gfx, SDL, libjpeg, libpng, opencv, pkg-config -}: +{ lib, stdenv, fetchFromGitHub, SDL_gfx, SDL, libjpeg, libpng, opencv +, pkg-config }: stdenv.mkDerivation { pname = "quirc"; @@ -19,6 +18,16 @@ stdenv.mkDerivation { makeFlags = [ "PREFIX=$(out)" ]; NIX_CFLAGS_COMPILE = "-I${SDL.dev}/include/SDL -I${SDL_gfx}/include/SDL"; + # Disable building of linux-only demos on darwin systems + patches = lib.optionals stdenv.isDarwin [ ./0001-dont-build-demos.patch ]; + + buildPhase = lib.optionalString stdenv.isDarwin '' + runHook preBuild + make libquirc.so + make qrtest + runHook postBuild + ''; + configurePhase = '' runHook preConfigure @@ -27,6 +36,7 @@ stdenv.mkDerivation { runHook postConfigure ''; + preInstall = '' mkdir -p "$out"/{bin,lib,include} @@ -37,7 +47,7 @@ stdenv.mkDerivation { meta = { description = "A small QR code decoding library"; license = lib.licenses.isc; - maintainers = [lib.maintainers.raskin]; - platforms = lib.platforms.linux; + maintainers = [ lib.maintainers.raskin ]; + platforms = lib.platforms.linux ++ [ "x86_64-darwin" "aarch64-darwin" ]; }; }