From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 17A03158089 for ; Wed, 1 Nov 2023 23:27:09 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0FE7F2BC0B1; Wed, 1 Nov 2023 23:27:08 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id C6A6E2BC0B1 for ; Wed, 1 Nov 2023 23:27:07 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 9E608335CCD for ; Wed, 1 Nov 2023 23:27:06 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 30F6C920 for ; Wed, 1 Nov 2023 23:27:05 +0000 (UTC) From: "Haelwenn Monnier" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Haelwenn Monnier" Message-ID: <1698783235.fa3a33cfcec26ec83b742c4bb4db6f5dcfdeae33.lanodan@gentoo> Subject: [gentoo-commits] repo/proj/guru:master commit in: dev-libs/qrcodegen/files/, dev-libs/qrcodegen/ X-VCS-Repository: repo/proj/guru X-VCS-Files: dev-libs/qrcodegen/Manifest dev-libs/qrcodegen/files/c_makefile_generate_libraries.patch dev-libs/qrcodegen/files/cpp_makefile_generate_libraries.patch dev-libs/qrcodegen/qrcodegen-1.8.0.ebuild X-VCS-Directories: dev-libs/qrcodegen/ dev-libs/qrcodegen/files/ X-VCS-Committer: lanodan X-VCS-Committer-Name: Haelwenn Monnier X-VCS-Revision: fa3a33cfcec26ec83b742c4bb4db6f5dcfdeae33 X-VCS-Branch: master Date: Wed, 1 Nov 2023 23:27:05 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 8649d7c8-17c7-4c9c-9ab7-2bc9a9a62582 X-Archives-Hash: 225c3e50eaaf5578f7da07d82fae715d commit: fa3a33cfcec26ec83b742c4bb4db6f5dcfdeae33 Author: Benoît Dufour mail com> AuthorDate: Tue Oct 31 20:12:59 2023 +0000 Commit: Haelwenn Monnier hacktivis me> CommitDate: Tue Oct 31 20:13:55 2023 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=fa3a33cf dev-libs/qrcodegen: new package, add 1.8.0 Signed-off-by: Benoît Dufour mail.com> dev-libs/qrcodegen/Manifest | 1 + .../files/c_makefile_generate_libraries.patch | 73 ++++++++++++++++++++++ .../files/cpp_makefile_generate_libraries.patch | 70 +++++++++++++++++++++ dev-libs/qrcodegen/qrcodegen-1.8.0.ebuild | 46 ++++++++++++++ 4 files changed, 190 insertions(+) diff --git a/dev-libs/qrcodegen/Manifest b/dev-libs/qrcodegen/Manifest new file mode 100644 index 0000000000..203ac5155d --- /dev/null +++ b/dev-libs/qrcodegen/Manifest @@ -0,0 +1 @@ +DIST qrcodegen-1.8.0.tar.gz 193288 BLAKE2B 2e511baf35fbfdb71ad5e2dc91c1400a113eb9bce51afa022c34b7ad7d3c9be4a862e2caaef89f517fbbf29879223fb078c88fdec27d6a876126c798ac6772c6 SHA512 0cdf0873e71aed124fc7357da86fb26f23fd26432f94c9752fa5a044085b26e5aece2115134d0e50213ff24be7c55818e7dec31205a68751065bc82ab0c2c6ac diff --git a/dev-libs/qrcodegen/files/c_makefile_generate_libraries.patch b/dev-libs/qrcodegen/files/c_makefile_generate_libraries.patch new file mode 100644 index 0000000000..b21b820f86 --- /dev/null +++ b/dev-libs/qrcodegen/files/c_makefile_generate_libraries.patch @@ -0,0 +1,73 @@ +diff --git a/c/Makefile b/c/Makefile +index 661b1f7..7a507b2 100644 +--- a/c/Makefile ++++ b/c/Makefile +@@ -51,18 +51,47 @@ CFLAGS += -std=c99 -O + # ---- Targets to build ---- + + LIB = qrcodegen +-LIBFILE = lib$(LIB).a ++LIBFILE = lib$(LIB).so ++LIBFILE = lib$(LIB).so ++ARFILE = lib$(LIB).a ++SO_NAME = $(LIBFILE).1 ++REAL_NAME = $(LIBFILE).$(VERSION) ++HEADERS = qrcodegen.h + LIBOBJ = qrcodegen.o + MAINS = qrcodegen-demo qrcodegen-test + ++MULTIARCH ?= $(shell $(CC) --print-multiarch) ++ ++INCLUDEDIR ?= $(DESTDIR)/usr/include/qrcodegen ++LIBDIR ?= $(DESTDIR)/usr/lib/$(MULTIARCH) ++ + # 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 procedure ++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/dev-libs/qrcodegen/files/cpp_makefile_generate_libraries.patch b/dev-libs/qrcodegen/files/cpp_makefile_generate_libraries.patch new file mode 100644 index 0000000000..56cb4b23cb --- /dev/null +++ b/dev-libs/qrcodegen/files/cpp_makefile_generate_libraries.patch @@ -0,0 +1,70 @@ +diff --git a/cpp/Makefile b/cpp/Makefile +index 57dc0bf..219f0b8 100644 +--- a/cpp/Makefile ++++ b/cpp/Makefile +@@ -51,29 +51,60 @@ CXXFLAGS += -std=c++11 -O + # ---- Targets to build ---- + + LIB = qrcodegencpp +-LIBFILE = lib$(LIB).a ++LIBFILE = lib$(LIB).so ++ARFILE = lib$(LIB).a ++SO_NAME = $(LIBFILE).1 ++REAL_NAME = $(LIBFILE).$(VERSION) ++HEADERS = qrcodegen.hpp + LIBOBJ = qrcodegen.o + MAINS = QrCodeGeneratorDemo + ++MULTIARCH ?= $(shell $(CC) --print-multiarch) ++ ++INCLUDEDIR ?= $(DESTDIR)/usr/include/qrcodegen ++LIBDIR ?= $(DESTDIR)/usr/lib/$(MULTIARCH) ++ + # 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 procedure ++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) ++ $(CXX) -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/dev-libs/qrcodegen/qrcodegen-1.8.0.ebuild b/dev-libs/qrcodegen/qrcodegen-1.8.0.ebuild new file mode 100644 index 0000000000..fd75a52bc7 --- /dev/null +++ b/dev-libs/qrcodegen/qrcodegen-1.8.0.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Forked from : https://github.com/gentoo-mirror/pg_overlay/blob/master/dev-libs/qrcodegen + +EAPI=8 + +DESCRIPTION="High-quality QR Code generator library in Java, TypeScript/JavaScript, Python, C++, C, Rust." +HOMEPAGE="https://www.nayuki.io/page/qr-code-generator-library" +SRC_URI="https://github.com/nayuki/QR-Code-generator/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +RDEPEND="" +DEPEND="${RDEPEND} + ${PYTHON_DEPS}" + +S=${WORKDIR}/QR-Code-generator-${PV} + +PATCHES=( "${FILESDIR}/c_makefile_generate_libraries.patch" ) +PATCHES+=( "${FILESDIR}/cpp_makefile_generate_libraries.patch" ) + +src_compile() { + pushd c + emake + popd + + pushd cpp + emake + popd +} + +src_install() { + pushd c + emake DESTDIR=${D} install-header + emake DESTDIR=${D} LIBDIR=${D}/usr/$(get_libdir) install-shared + popd + + pushd cpp + emake DESTDIR=${D} install-header + emake DESTDIR=${D} LIBDIR=${D}/usr/$(get_libdir) install-shared + popd +}