svn commit: r523614 - in head/graphics: . qr-code-generator qr-code-generator/files
Li-Wen Hsu
lwhsu at FreeBSD.org
Mon Jan 20 11:13:08 UTC 2020
Author: lwhsu
Date: Mon Jan 20 11:13:06 2020
New Revision: 523614
URL: https://svnweb.freebsd.org/changeset/ports/523614
Log:
Add graphics/qr-code-generator, high-quality QR Code generator library
Added:
head/graphics/qr-code-generator/
head/graphics/qr-code-generator/Makefile (contents, props changed)
head/graphics/qr-code-generator/distinfo (contents, props changed)
head/graphics/qr-code-generator/files/
head/graphics/qr-code-generator/files/Makefile (contents, props changed)
head/graphics/qr-code-generator/files/patch-c_Makefile (contents, props changed)
head/graphics/qr-code-generator/files/patch-cpp_Makefile (contents, props changed)
head/graphics/qr-code-generator/pkg-descr (contents, props changed)
head/graphics/qr-code-generator/pkg-plist (contents, props changed)
Modified:
head/graphics/Makefile
Modified: head/graphics/Makefile
==============================================================================
--- head/graphics/Makefile Mon Jan 20 11:07:29 2020 (r523613)
+++ head/graphics/Makefile Mon Jan 20 11:13:06 2020 (r523614)
@@ -891,6 +891,7 @@
SUBDIR += qgis
SUBDIR += qgis-ltr
SUBDIR += qiv
+ SUBDIR += qr-code-generator
SUBDIR += qt5-3d
SUBDIR += qt5-graphicaleffects
SUBDIR += qt5-imageformats
Added: head/graphics/qr-code-generator/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/graphics/qr-code-generator/Makefile Mon Jan 20 11:13:06 2020 (r523614)
@@ -0,0 +1,33 @@
+# $FreeBSD$
+
+PORTNAME= qr-code-generator
+PORTVERSION= 1.5.0
+DISTVERSIONPREFIX= v
+CATEGORIES= graphics
+
+MAINTAINER= lwhsu at FreeBSD.org
+COMMENT= High-quality QR Code generator library
+
+LICENSE= MIT
+
+USES= gmake
+
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= nayuki
+GH_PROJECT= QR-Code-generator
+GH_TAGNAME= 67c6246
+
+PLIST_SUB= VERSION=${PORTVERSION}
+
+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
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libqrcodegen.so.${PORTVERSION}
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libqrcodegencpp.so.${PORTVERSION}
+
+.include <bsd.port.mk>
Added: head/graphics/qr-code-generator/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/graphics/qr-code-generator/distinfo Mon Jan 20 11:13:06 2020 (r523614)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1578282971
+SHA256 (nayuki-QR-Code-generator-v1.5.0-67c6246_GH0.tar.gz) = a9b83deee76bbe35770bf36a669494358dfe1d8aec3b2e6f9e216c9e830457ac
+SIZE (nayuki-QR-Code-generator-v1.5.0-67c6246_GH0.tar.gz) = 136401
Added: head/graphics/qr-code-generator/files/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/graphics/qr-code-generator/files/Makefile Mon Jan 20 11:13:06 2020 (r523614)
@@ -0,0 +1,10 @@
+SUBDIRS= c cpp
+
+TARGETS= all clean install
+
+.PHONY: $(TARGETS) $(SUBDIRS)
+
+$(TARGETS): $(SUBDIRS)
+
+$(SUBDIRS):
+ $(MAKE) -C $@ $(MAKECMDGOALS)
Added: head/graphics/qr-code-generator/files/patch-c_Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/graphics/qr-code-generator/files/patch-c_Makefile Mon Jan 20 11:13:06 2020 (r523614)
@@ -0,0 +1,85 @@
+From https://github.com/nayuki/QR-Code-generator/pull/72
+--- c/Makefile.orig 2019-10-14 00:20:16 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 = 1.5.0
+
+ # ---- Controlling make ----
+
+@@ -51,18 +53,45 @@ CFLAGS += -std=c99 -O
+ # ---- Targets to build ----
+
+ 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 qrcodegen-worker
+
++# 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) -o $@ $< -L . -l $(LIB)
+@@ -72,12 +101,15 @@ qrcodegen-test: qrcodegen-test.c $(LIBOBJ:%.o=%.c)
+ $(CC) $(CFLAGS) -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:
Added: head/graphics/qr-code-generator/files/patch-cpp_Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/graphics/qr-code-generator/files/patch-cpp_Makefile Mon Jan 20 11:13:06 2020 (r523614)
@@ -0,0 +1,86 @@
+From https://github.com/nayuki/QR-Code-generator/pull/72
+--- cpp/Makefile.orig 2019-10-14 00:20:16 UTC
++++ cpp/Makefile
+@@ -29,11 +29,13 @@
+ # - 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 = 1.5.0
+
+ # ---- Controlling make ----
+
+@@ -50,30 +52,61 @@ CXXFLAGS += -std=c++11 -O
+
+ # ---- Targets to build ----
+
+-LIB = qrcodegen
+-LIBFILE = lib$(LIB).a
++LIB = qrcodegencpp
++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 = BitBuffer.hpp QrCode.hpp QrSegment.hpp
+ LIBOBJ = BitBuffer.o QrCode.o QrSegment.o
+ MAINS = QrCodeGeneratorDemo QrCodeGeneratorWorker
+
++# 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) -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:
Added: head/graphics/qr-code-generator/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/graphics/qr-code-generator/pkg-descr Mon Jan 20 11:13:06 2020 (r523614)
@@ -0,0 +1,6 @@
+This project aims to be the best, clearest QR Code generator library in
+multiple languages. The primary goals are flexible options and absolute
+correctness. Secondary goals are compact implementation size and good
+documentation comments.
+
+WWW: https://www.nayuki.io/page/qr-code-generator-library
Added: head/graphics/qr-code-generator/pkg-plist
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/graphics/qr-code-generator/pkg-plist Mon Jan 20 11:13:06 2020 (r523614)
@@ -0,0 +1,12 @@
+include/qrcodegen/BitBuffer.hpp
+include/qrcodegen/QrCode.hpp
+include/qrcodegen/QrSegment.hpp
+include/qrcodegen/qrcodegen.h
+lib/libqrcodegen.a
+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%%
More information about the svn-ports-all
mailing list