Accepting request 1206501 from LibreOffice:Factory

OBS-URL: https://build.opensuse.org/request/show/1206501
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/QR-Code-generator?expand=0&rev=5
This commit is contained in:
Ana Guerrero 2024-10-09 20:13:09 +00:00 committed by Git OBS Bridge
commit 7f9b1ec233
10 changed files with 84 additions and 282 deletions

View File

@ -1,39 +0,0 @@
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

@ -1,92 +0,0 @@
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

@ -1,118 +0,0 @@
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

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
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>

View File

@ -1,7 +1,7 @@
#
# spec file for package QR-Code-generator
#
# Copyright (c) 2023 SUSE LLC
# 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
@ -18,20 +18,25 @@
%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
Version: 1.8.0+git17.856ba8a
Release: 0
Summary: QR Code generator library
License: MIT
URL: https://github.com/nayuki/QR-Code-generator
Source: https://github.com/nayuki/QR-Code-generator/archive/v%{version}.tar.gz
Patch2: 0002-Make-use-of-fPIC-parameter-when-building.patch
Patch3: 0003-Generate-both-shared-and-static-libraries.patch
Patch4: 0004-Create-install-targets-for-C-and-CPP.patch
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
@ -70,46 +75,42 @@ Summary: QR Code generator library
C++ QR Code generator library
%prep
%setup -q
%autopatch -p1
%autosetup -p1 -a1
ln -s qrcodegen-cmake-%cmake_code_version/{CMakeLists.txt,cmake} .
cp qrcodegen-cmake-%cmake_code_version/{README.md,LICENSE} .
%build
export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"
pushd c
make -j1
popd
pushd cpp
make -j1
popd
pushd python
%cmake
pushd ../python
%python_build
popd
%install
pushd c
%make_install LIBDIR=%{buildroot}%{_libdir}
popd
pushd cpp
%make_install LIBDIR=%{buildroot}%{_libdir}
popd
%cmake_install
pushd python
%python_install
popd
rm -rf %{buildroot}%{_libdir}/*.a
%post -n %{libcname} -p /sbin/ldconfig
%postun -n %{libcname} -p /sbin/ldconfig
%post -n %{libcppname} -p /sbin/ldconfig
%postun -n %{libcppname} -p /sbin/ldconfig
%ldconfig_scriptlets -n %{libcname}
%ldconfig_scriptlets -n %{libcppname}
%files %{python_files}
%license Readme.markdown
%{python_sitelib}/*
%files -n QR-Code-generator-devel
%{_includedir}/*
%{_libdir}/*.so
%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

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

View File

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