diff --git a/graphics/qr-code-generator/Makefile b/graphics/qr-code-generator/Makefile index 2ca7af89be1b..ea13277908ec 100644 --- a/graphics/qr-code-generator/Makefile +++ b/graphics/qr-code-generator/Makefile @@ -1,6 +1,7 @@ PORTNAME= qr-code-generator -PORTVERSION= 1.8.0 DISTVERSIONPREFIX= v +DISTVERSION= 1.8.0 +PORTREVISION= 1 CATEGORIES= graphics MAINTAINER= lwhsu@FreeBSD.org @@ -9,25 +10,21 @@ WWW= https://www.nayuki.io/page/qr-code-generator-library LICENSE= MIT -USES= compiler:c++11-lang gmake +USES= cmake compiler:c++11-lang USE_LDCONFIG= yes USE_GITHUB= yes GH_ACCOUNT= nayuki GH_PROJECT= QR-Code-generator +GH_TUPLE= EasyCoding:qrcodegen-cmake:v1.8.0-cmake2:qrcodegen_cmake/qrcodegen-cmake -PLIST_SUB= VERSION=${PORTVERSION} +CMAKE_ON= BUILD_SHARED_LIBS -post-patch: - ${CP} ${FILESDIR}/Makefile ${WRKSRC} - ${REINPLACE_CMD} -e 's,$$(DESTDIR)/usr,${STAGEDIR}${PREFIX},' ${WRKSRC}/c/Makefile - ${REINPLACE_CMD} -e 's,$$(DESTDIR)/usr,${STAGEDIR}${PREFIX},' ${WRKSRC}/cpp/Makefile - ${REINPLACE_CMD} -e 's,%%VERSION%%,${PORTVERSION},' ${WRKSRC}/c/Makefile - ${REINPLACE_CMD} -e 's,%%VERSION%%,${PORTVERSION},' ${WRKSRC}/cpp/Makefile +PLIST_SUB= VERSION=${PORTVERSION} -post-install: - ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libqrcodegen.so.${PORTVERSION} - ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libqrcodegencpp.so.${PORTVERSION} +post-extract: + @${LN} -s ${WRKSRC}/qrcodegen-cmake/cmake ${WRKSRC} + @${LN} -s ${WRKSRC}/qrcodegen-cmake/CMakeLists.txt ${WRKSRC} .include diff --git a/graphics/qr-code-generator/distinfo b/graphics/qr-code-generator/distinfo index e280ef7073df..ee837ad475f2 100644 --- a/graphics/qr-code-generator/distinfo +++ b/graphics/qr-code-generator/distinfo @@ -1,3 +1,5 @@ -TIMESTAMP = 1673860287 +TIMESTAMP = 1699771472 SHA256 (nayuki-QR-Code-generator-v1.8.0_GH0.tar.gz) = 2ec0a4d33d6f521c942eeaf473d42d5fe139abcfa57d2beffe10c5cf7d34ae60 SIZE (nayuki-QR-Code-generator-v1.8.0_GH0.tar.gz) = 193288 +SHA256 (EasyCoding-qrcodegen-cmake-v1.8.0-cmake2_GH0.tar.gz) = 04e0dc2d7b19457928172e338b5b22216ad23a9dee8d26be4fb05fc39ea59904 +SIZE (EasyCoding-qrcodegen-cmake-v1.8.0-cmake2_GH0.tar.gz) = 5573 diff --git a/graphics/qr-code-generator/files/Makefile b/graphics/qr-code-generator/files/Makefile deleted file mode 100644 index 90d0a03d67c7..000000000000 --- a/graphics/qr-code-generator/files/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -SUBDIRS= c cpp - -TARGETS= all clean install - -.PHONY: $(TARGETS) $(SUBDIRS) - -$(TARGETS): $(SUBDIRS) - -$(SUBDIRS): - $(MAKE) -C $@ $(MAKECMDGOALS) diff --git a/graphics/qr-code-generator/files/patch-c_Makefile b/graphics/qr-code-generator/files/patch-c_Makefile deleted file mode 100644 index 4462f4adee50..000000000000 --- a/graphics/qr-code-generator/files/patch-c_Makefile +++ /dev/null @@ -1,84 +0,0 @@ -Based on https://github.com/nayuki/QR-Code-generator/pull/72 ---- c/Makefile.orig 2023-01-16 09:13:33 UTC -+++ c/Makefile -@@ -29,11 +29,13 @@ - # - CFLAGS: Any extra user-specified compiler flags (can be blank). - - # Recommended compiler flags: --CFLAGS += -std=c99 -O -+CFLAGS ?= -std=c99 -O - - # Extra flags for diagnostics: - # CFLAGS += -g -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -fsanitize=undefined,address - -+# Version information -+VERSION = %%VERSION%% - - # ---- Controlling make ---- - -@@ -52,17 +54,44 @@ CFLAGS += -std=c99 -O - - LIB = qrcodegen --LIBFILE = lib$(LIB).a -+ARFILE = lib$(LIB).a -+LIBFILE = lib$(LIB).so -+# Bump the soname number when the ABI changes and gets incompatible -+SO_NAME = $(LIBFILE).1 -+REAL_NAME = $(LIBFILE).$(VERSION) -+HEADERS = qrcodegen.h - LIBOBJ = qrcodegen.o - MAINS = qrcodegen-demo qrcodegen-test - -+# define paths to install -+INCLUDEDIR ?= $(DESTDIR)/usr/include/qrcodegen -+LIBDIR ?= $(DESTDIR)/usr/lib -+ - # Build all binaries --all: $(LIBFILE) $(MAINS) -+all: $(LIBFILE) $(ARFILE) $(MAINS) - - # Delete build output - clean: -- rm -f -- $(LIBOBJ) $(LIBFILE) $(MAINS:=.o) $(MAINS) -+ rm -f -- $(LIBOBJ) $(LIBFILE) $(ARFILE) $(MAINS:=.o) $(MAINS) - rm -rf .deps - -+install-shared: $(LIBFILE) -+ install -d $(LIBDIR) || true -+ install -m 0644 $(LIBFILE) $(LIBDIR)/$(REAL_NAME) -+ rm -f $(LIBDIR)/$(SO_NAME) -+ ln -s $(REAL_NAME) $(LIBDIR)/$(SO_NAME) -+ rm -f $(LIBDIR)/$(LIBFILE) -+ ln -s $(SO_NAME) $(LIBDIR)/$(LIBFILE) -+ -+install-static: $(ARFILE) -+ install -d $(LIBDIR) || true -+ install -m 0644 $(ARFILE) $(LIBDIR)/$(ARFILE) -+ -+install-header: $(HEADERS) -+ install -d $(INCLUDEDIR) || true -+ install -m 0644 $(HEADERS) $(INCLUDEDIR)/ -+ -+install: install-shared install-static install-header -+ - # Executable files - %: %.o $(LIBFILE) - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -L . -l $(LIB) -@@ -72,12 +101,15 @@ qrcodegen-test: qrcodegen-test.c $(LIBOBJ:%.o=%.c) - $(CC) $(CFLAGS) $(LDFLAGS) -DQRCODEGEN_TEST -o $@ $^ - - # The library --$(LIBFILE): $(LIBOBJ) -+$(ARFILE): $(LIBOBJ) - $(AR) -crs $@ -- $^ - -+$(LIBFILE): $(LIBOBJ) -+ $(CC) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) -o $@ $^ -+ - # Object files - %.o: %.c .deps/timestamp -- $(CC) $(CFLAGS) -c -o $@ -MMD -MF .deps/$*.d $< -+ $(CC) $(CFLAGS) -fPIC -c -o $@ -MMD -MF .deps/$*.d $< - - # Have a place to store header dependencies automatically generated by compiler - .deps/timestamp: diff --git a/graphics/qr-code-generator/files/patch-cpp_Makefile b/graphics/qr-code-generator/files/patch-cpp_Makefile deleted file mode 100644 index 23aa5c040db7..000000000000 --- a/graphics/qr-code-generator/files/patch-cpp_Makefile +++ /dev/null @@ -1,85 +0,0 @@ -Based on https://github.com/nayuki/QR-Code-generator/pull/72 ---- cpp/Makefile.orig 2023-01-16 09:17:10 UTC -+++ cpp/Makefile -@@ -29,12 +29,14 @@ - # - CXXFLAGS: Any extra user-specified compiler flags (can be blank). - - # Recommended compiler flags: --CXXFLAGS += -std=c++11 -O -+CXXFLAGS ?= -std=c++11 -O - - # Extra flags for diagnostics: - # CXXFLAGS += -g -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -fsanitize=undefined,address - -- -+# Version information -+VERSION = %%VERSION%% -+ - # ---- Controlling make ---- - - # Clear default suffix rules -@@ -51,29 +53,59 @@ CXXFLAGS += -std=c++11 -O - # ---- Targets to build ---- - - LIB = qrcodegencpp --LIBFILE = lib$(LIB).a -+ARFILE = lib$(LIB).a -+LIBFILE = lib$(LIB).so -+# Bump the soname number when the ABI changes and gets incompatible -+SO_NAME = $(LIBFILE).1 -+REAL_NAME = $(LIBFILE).$(VERSION) -+HEADERS = qrcodegen.hpp - LIBOBJ = qrcodegen.o - MAINS = QrCodeGeneratorDemo - -+# define paths to install -+INCLUDEDIR ?= $(DESTDIR)/usr/include/qrcodegen -+LIBDIR ?= $(DESTDIR)/usr/lib -+ - # Build all binaries --all: $(LIBFILE) $(MAINS) -+all: $(LIBFILE) $(ARFILE) $(MAINS) - - # Delete build output - clean: -- rm -f -- $(LIBOBJ) $(LIBFILE) $(MAINS:=.o) $(MAINS) -+ rm -f -- $(LIBOBJ) $(LIBFILE) $(ARFILE) $(MAINS:=.o) $(MAINS) - rm -rf .deps - -+install-shared: $(LIBFILE) -+ install -d $(LIBDIR) || true -+ install -m 0644 $(LIBFILE) $(LIBDIR)/$(REAL_NAME) -+ rm -f $(LIBDIR)/$(SO_NAME) -+ ln -s $(REAL_NAME) $(LIBDIR)/$(SO_NAME) -+ rm -f $(LIBDIR)/$(LIBFILE) -+ ln -s $(SO_NAME) $(LIBDIR)/$(LIBFILE) -+ -+install-static: $(ARFILE) -+ install -d $(LIBDIR) || true -+ install -m 0644 $(ARFILE) $(LIBDIR)/$(ARFILE) -+ -+install-header: $(HEADERS) -+ install -d $(INCLUDEDIR) || true -+ install -m 0644 $(HEADERS) $(INCLUDEDIR)/ -+ -+install: install-shared install-static install-header -+ - # Executable files - %: %.o $(LIBFILE) - $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $< -L . -l $(LIB) - - # The library --$(LIBFILE): $(LIBOBJ) -+$(ARFILE): $(LIBOBJ) - $(AR) -crs $@ -- $^ - -+$(LIBFILE): $(LIBOBJ) -+ $(CC) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) -o $@ $^ -+ - # Object files - %.o: %.cpp .deps/timestamp -- $(CXX) $(CXXFLAGS) -c -o $@ -MMD -MF .deps/$*.d $< -+ $(CXX) $(CXXFLAGS) -fPIC -c -o $@ -MMD -MF .deps/$*.d $< - - # Have a place to store header dependencies automatically generated by compiler - .deps/timestamp: diff --git a/graphics/qr-code-generator/pkg-plist b/graphics/qr-code-generator/pkg-plist index 669bcd448aac..6902f9208f87 100644 --- a/graphics/qr-code-generator/pkg-plist +++ b/graphics/qr-code-generator/pkg-plist @@ -1,10 +1,18 @@ include/qrcodegen/qrcodegen.h -include/qrcodegen/qrcodegen.hpp -lib/libqrcodegen.a +include/qrcodegencpp/qrcodegen.hpp +lib/cmake/qrcodegen/qrcodegen-config-version.cmake +lib/cmake/qrcodegen/qrcodegen-config.cmake +lib/cmake/qrcodegen/qrcodegen-targets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/qrcodegen/qrcodegen-targets.cmake +lib/cmake/qrcodegencpp/qrcodegencpp-config-version.cmake +lib/cmake/qrcodegencpp/qrcodegencpp-config.cmake +lib/cmake/qrcodegencpp/qrcodegencpp-targets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/qrcodegencpp/qrcodegencpp-targets.cmake lib/libqrcodegen.so lib/libqrcodegen.so.1 lib/libqrcodegen.so.%%VERSION%% -lib/libqrcodegencpp.a lib/libqrcodegencpp.so lib/libqrcodegencpp.so.1 lib/libqrcodegencpp.so.%%VERSION%% +libdata/pkgconfig/qrcodegen.pc +libdata/pkgconfig/qrcodegencpp.pc