- Update to 1.8.0+git17.856ba8a

https://github.com/nayuki/QR-Code-generator/compare/v1.8.0...856ba8a
- switch build to cmake files from
  https://github.com/EasyCoding/qrcodegen-cmake.git
  - This build also adds the pkgconfig and cmake files for easier
    integration with other projects ( like the upcoming obs-studio
    31.0.0)
  - drop patches:
    0002-Make-use-of-fPIC-parameter-when-building.patch
    0003-Generate-both-shared-and-static-libraries.patch
    0004-Create-install-targets-for-C-and-CPP.patch
- use %ldconfig_scriptlets
- add BR for pkgconfig to ensure we get the pkgconfig provides

OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/QR-Code-generator?expand=0&rev=10
This commit is contained in:
Fridrich Strba 2024-10-09 10:59:20 +00:00 committed by Git OBS Bridge
commit a51c6f460b
12 changed files with 492 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,39 @@
From 8b4866c98775680abc49e8c1c0c50daa25dea052 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tchvatal@suse.com>
Date: Tue, 3 Dec 2019 11:59:59 +0100
Subject: [PATCH 2/5] Make use of -fPIC parameter when building'
---
c/Makefile | 2 +-
cpp/Makefile | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/c/Makefile b/c/Makefile
index b27449c..bf79462 100644
--- a/c/Makefile
+++ b/c/Makefile
@@ -77,7 +77,7 @@ $(LIBFILE): $(LIBOBJ)
# 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/cpp/Makefile b/cpp/Makefile
index 62e03c5..deb8924 100644
--- a/cpp/Makefile
+++ b/cpp/Makefile
@@ -73,7 +73,7 @@ $(LIBFILE): $(LIBOBJ)
# 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:
--
2.24.0

View File

@ -0,0 +1,92 @@
From 16351a7ebaf318d21632bbaabf0675a70bb67dc7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tchvatal@suse.com>
Date: Tue, 3 Dec 2019 12:07:19 +0100
Subject: [PATCH 3/5] Generate both shared and static libraries
---
c/Makefile | 14 ++++++++++----
cpp/Makefile | 14 ++++++++++----
2 files changed, 20 insertions(+), 8 deletions(-)
Index: QR-Code-generator-1.8.0/c/Makefile
===================================================================
--- QR-Code-generator-1.8.0.orig/c/Makefile
+++ QR-Code-generator-1.8.0/c/Makefile
@@ -51,16 +51,19 @@ 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
LIBOBJ = qrcodegen.o
MAINS = qrcodegen-demo qrcodegen-test
# 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
# Executable files
@@ -72,9 +75,12 @@ qrcodegen-test: qrcodegen-test.c $(LIBOB
$(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) -fPIC -c -o $@ -MMD -MF .deps/$*.d $<
Index: QR-Code-generator-1.8.0/cpp/Makefile
===================================================================
--- QR-Code-generator-1.8.0.orig/cpp/Makefile
+++ QR-Code-generator-1.8.0/cpp/Makefile
@@ -51,16 +51,19 @@ 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
LIBOBJ = qrcodegen.o
MAINS = QrCodeGeneratorDemo
# Build all binaries
-all: $(LIBFILE) $(MAINS)
+all: $(LIBFILE) $(LIBFILE) $(MAINS)
# Delete build output
clean:
- rm -f -- $(LIBOBJ) $(LIBFILE) $(MAINS:=.o) $(MAINS)
+ rm -f -- $(LIBOBJ) $(ARFILE) $(LIBFILE) $(MAINS:=.o) $(MAINS)
rm -rf .deps
# Executable files
@@ -68,9 +71,12 @@ clean:
$(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) -fPIC -c -o $@ -MMD -MF .deps/$*.d $<

View File

@ -0,0 +1,118 @@
From 498d2a0cf6d6f01a3ffb87e358f63c3a64afeb9f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tchvatal@suse.com>
Date: Tue, 3 Dec 2019 12:45:34 +0100
Subject: [PATCH 4/5] Create install targets for C and CPP
---
c/Makefile | 26 ++++++++++++++++++++++++++
cpp/Makefile | 27 +++++++++++++++++++++++++++
2 files changed, 53 insertions(+)
Index: QR-Code-generator-1.8.0/c/Makefile
===================================================================
--- QR-Code-generator-1.8.0.orig/c/Makefile
+++ QR-Code-generator-1.8.0/c/Makefile
@@ -34,6 +34,8 @@ CFLAGS += -std=c99 -O
# Extra flags for diagnostics:
# CFLAGS += -g -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -fsanitize=undefined,address
+# Version information
+VERSION = 1.8.0
# ---- Controlling make ----
@@ -55,9 +57,15 @@ 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) $(ARFILE) $(MAINS)
@@ -66,6 +74,24 @@ clean:
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)
Index: QR-Code-generator-1.8.0/cpp/Makefile
===================================================================
--- QR-Code-generator-1.8.0.orig/cpp/Makefile
+++ QR-Code-generator-1.8.0/cpp/Makefile
@@ -34,6 +34,8 @@ CXXFLAGS += -std=c++11 -O
# Extra flags for diagnostics:
# CXXFLAGS += -g -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -fsanitize=undefined,address
+# Version information
+VERSION = 1.8.0
# ---- Controlling make ----
@@ -55,9 +57,15 @@ 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) $(LIBFILE) $(MAINS)
@@ -66,6 +74,24 @@ clean:
rm -f -- $(LIBOBJ) $(ARFILE) $(LIBFILE) $(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)

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c5ee7f007cd0cc5120cab5d249ac01e8d3d54eadbd78259da91d83f068a53a16
size 96347

57
QR-Code-generator.changes Normal file
View File

@ -0,0 +1,57 @@
-------------------------------------------------------------------
Wed Oct 9 10:51:51 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
- Update to 1.8.0+git17.856ba8a
https://github.com/nayuki/QR-Code-generator/compare/v1.8.0...856ba8a
- switch build to cmake files from
https://github.com/EasyCoding/qrcodegen-cmake.git
- This build also adds the pkgconfig and cmake files for easier
integration with other projects ( like the upcoming obs-studio
31.0.0)
- drop patches:
0002-Make-use-of-fPIC-parameter-when-building.patch
0003-Generate-both-shared-and-static-libraries.patch
0004-Create-install-targets-for-C-and-CPP.patch
- use %ldconfig_scriptlets
- add BR for pkgconfig to ensure we get the pkgconfig provides
-------------------------------------------------------------------
Sun Nov 12 12:17:20 UTC 2023 - ecsos <ecsos@opensuse.org>
- Update to 1.8.0
* https://github.com/nayuki/QR-Code-generator/compare/v1.6.0...v1.8.0
- Rebase 0003-Generate-both-shared-and-static-libraries.patch
- Rebase 0004-Create-install-targets-for-C-and-CPP.patch
- Drop 0005-Rename-cpp-library-to-qrcodegencpp-to-avoid-conflict.patch
- Add %{?sle15_python_module_pythons}
-------------------------------------------------------------------
Mon Mar 8 23:39:10 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 1.6.0:
* https://github.com/nayuki/QR-Code-generator/compare/v1.5.0...v1.6.0
- drop cflags.patch (upstream)
-------------------------------------------------------------------
Tue Jan 21 12:19:03 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Drop not really needed patch:
* 0001-Do-not-append-to-C-XX-FLAGS-but-just-set-them-if-not.patch
- Fix build on SLE12
-------------------------------------------------------------------
Tue Dec 3 12:01:27 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Add patches to make the stuff actually installable:
* 0001-Do-not-append-to-C-XX-FLAGS-but-just-set-them-if-not.patch
* 0002-Make-use-of-fPIC-parameter-when-building.patch
* 0003-Generate-both-shared-and-static-libraries.patch
* 0004-Create-install-targets-for-C-and-CPP.patch
* 0005-Rename-cpp-library-to-qrcodegencpp-to-avoid-conflict.patch
* cflags.patch
-------------------------------------------------------------------
Tue Dec 3 09:05:13 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Initial commit, needed by libreoffice 6.4

123
QR-Code-generator.spec Normal file
View File

@ -0,0 +1,123 @@
#
# spec file for package QR-Code-generator
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define libcname libqrcodegen1
%define libcppname libqrcodegencpp1
%global cmake_code_version 1.8.0.cmake3
%{?sle15_python_module_pythons}
Name: QR-Code-generator
Version: 1.8.0+git17.856ba8a
Release: 0
Summary: QR Code generator library
License: MIT
URL: https://github.com/nayuki/QR-Code-generator
Source0: %{name}-%{version}.tar.zst
Source1: qrcodegen-cmake-%cmake_code_version.tar.zst
BuildRequires: %{python_module setuptools}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkgconfig
BuildRequires: python-rpm-macros
BuildRequires: zstd
%python_subpackages
%description
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.
%if 0%{?suse_version} < 1500
# this is hack to make rpm happy as %python_subpackage does not work
%package -n python-%{name}
Summary: QR Code generator python bindings
%description -n python-%{name}
QR Code generator python2 bindings
%endif
%package devel
Summary: Development files for QR code generator
Requires: %{libcname}
Requires: %{libcppname}
Provides: qrcodegen-devel
%description devel
Development files, headers/libs for QR code generator
%package -n %{libcname}
Summary: QR Code generator library
%description -n %{libcname}
C QR Code generator library
%package -n %{libcppname}
Summary: QR Code generator library
%description -n %{libcppname}
C++ QR Code generator library
%prep
%autosetup -p1 -a1
ln -s qrcodegen-cmake-%cmake_code_version/{CMakeLists.txt,cmake} .
cp qrcodegen-cmake-%cmake_code_version/{README.md,LICENSE} .
%build
%cmake
pushd ../python
%python_build
popd
%install
%cmake_install
pushd python
%python_install
popd
%ldconfig_scriptlets -n %{libcname}
%ldconfig_scriptlets -n %{libcppname}
%files %{python_files}
%license Readme.markdown
%{python_sitelib}/*
%files -n QR-Code-generator-devel
%license LICENSE Readme.markdown
%doc README.md Readme.markdown
%{_libdir}/cmake/qrcodegencpp/
%{_libdir}/cmake/qrcodegen/
%{_libdir}/libqrcodegen.so
%{_libdir}/libqrcodegencpp.so
%{_includedir}/qrcodegen/
%{_includedir}/qrcodegencpp/
%{_libdir}/pkgconfig/qrcodegencpp.pc
%{_libdir}/pkgconfig/qrcodegen.pc
%files -n %{libcname}
%license Readme.markdown
%{_libdir}/libqrcodegen.so.*
%files -n %{libcppname}
%license Readme.markdown
%{_libdir}/libqrcodegencpp.so.*
%changelog

24
_service Normal file
View File

@ -0,0 +1,24 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="versionformat">@PARENT_TAG@+git@TAG_OFFSET@.%h</param>
<param name="revision">master</param>
<param name="url">https://github.com/nayuki/QR-Code-generator.git</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="versionrewrite-replacement">\1</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
</service>
<service name="tar_scm" mode="disabled">
<param name="versionformat">@PARENT_TAG@</param>
<param name="revision">v1.8.0-cmake3</param>
<param name="url">https://github.com/EasyCoding/qrcodegen-cmake.git</param>
<param name="versionrewrite-pattern">v([\.\d]+)-([a-z].*)</param>
<param name="versionrewrite-replacement">\1.\2</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
</service>
<service name="recompress" mode="disabled">
<param name="compression">zst</param>
<param name="file">*.tar</param>
</service>
</services>

6
_servicedata Normal file
View File

@ -0,0 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/nayuki/QR-Code-generator.git</param>
<param name="changesrevision">856ba8a74b48a6b3b32dd86f13b66b61b8579fcd</param></service><service name="tar_scm">
<param name="url">https://github.com/EasyCoding/qrcodegen-cmake.git</param>
<param name="changesrevision">0bc38a5c3ce8bc700a7e1b3082a55b82e292530e</param></service></servicedata>

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:70d4d664d342dca89d2acc04c59120581a673c60b2df97d0426b374b25b7f043
size 5551

3
v1.8.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2ec0a4d33d6f521c942eeaf473d42d5fe139abcfa57d2beffe10c5cf7d34ae60
size 193288