aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2024-04-05 15:05:50 +0100
committerfanquake <fanquake@gmail.com>2024-04-05 15:10:14 +0100
commiteb78ebc064b8d7fdd605e184efb6b45a53b2c6d5 (patch)
treeb504d827deaef08485bf4455b0f393614547bd56
parent5a5ab1d5446693ee2655860c2f2920bcc3389c83 (diff)
parent007ea322a6492d46f1565ef58a0c49f5b468ff20 (diff)
downloadbitcoin-eb78ebc064b8d7fdd605e184efb6b45a53b2c6d5.tar.xz
Merge bitcoin/bitcoin#29725: depends: build libqrencode with CMake
007ea322a6492d46f1565ef58a0c49f5b468ff20 depends: switch to building libqrencode with CMake (fanquake) 884330c0a57ce839d48606dc2de3928869b31b7d guix: make cmake-minimal a global requirement (fanquake) Pull request description: Switch to building libqrencode with CMake. Note that upstream (https://github.com/fukuchi/libqrencode) hasn't seen any activity for ~4 years, so the odds of getting anything upstream seems low, but I've made two minor changes to the source here, which I will PR in any case. From an initial look I couldn't find any significant difference between the Autotools and CMake produced libs. As part of this change we move cmake-minimal in Guix into the global package set. ACKs for top commit: TheCharlatan: ACK 007ea322a6492d46f1565ef58a0c49f5b468ff20 Tree-SHA512: c784f790ddea958082c8ae96d3744bdf99331a8799765f9d44f00861b8e2cfcab1a88a3d64af5b10e51a8d5938d55eb6a3d271790b565e50492a39d00dc0e30f
-rw-r--r--contrib/guix/manifest.scm2
-rw-r--r--depends/packages/qrencode.mk16
-rw-r--r--depends/patches/qrencode/cmake_fixups.patch23
3 files changed, 31 insertions, 10 deletions
diff --git a/contrib/guix/manifest.scm b/contrib/guix/manifest.scm
index 8f0147743d..87dcf49bcb 100644
--- a/contrib/guix/manifest.scm
+++ b/contrib/guix/manifest.scm
@@ -500,6 +500,7 @@ inspecting signatures in Mach-O binaries.")
gzip
xz
;; Build tools
+ cmake-minimal
gnu-make
libtool
autoconf-2.71
@@ -532,7 +533,6 @@ inspecting signatures in Mach-O binaries.")
gcc-toolchain-11
binutils
clang-toolchain-17
- cmake-minimal
python-signapple
zip))
(else '())))))
diff --git a/depends/packages/qrencode.mk b/depends/packages/qrencode.mk
index 9ebd2dd85a..4d852d833d 100644
--- a/depends/packages/qrencode.mk
+++ b/depends/packages/qrencode.mk
@@ -3,20 +3,22 @@ $(package)_version=4.1.1
$(package)_download_path=https://fukuchi.org/works/qrencode/
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
$(package)_sha256_hash=e455d9732f8041cf5b9c388e345a641fd15707860f928e94507b1961256a6923
+$(package)_patches=cmake_fixups.patch
define $(package)_set_vars
-$(package)_config_opts=--disable-shared --without-tools --without-tests --without-png
-$(package)_config_opts += --disable-gprof --disable-gcov --disable-mudflap
-$(package)_config_opts += --disable-dependency-tracking --enable-option-checking
+$(package)_config_opts := -DWITH_TOOLS=NO -DWITH_TESTS=NO -DGPROF=OFF -DCOVERAGE=OFF
+$(package)_config_opts += -DCMAKE_DISABLE_FIND_PACKAGE_PNG=TRUE -DWITHOUT_PNG=ON
+$(package)_config_opts += -DCMAKE_DISABLE_FIND_PACKAGE_ICONV=TRUE
$(package)_cflags += -Wno-int-conversion -Wno-implicit-function-declaration
endef
define $(package)_preprocess_cmds
- cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub use
+ patch -p1 < $($(package)_patch_dir)/cmake_fixups.patch
endef
+
define $(package)_config_cmds
- $($(package)_autoconf)
+ $($(package)_cmake) -S . -B .
endef
define $(package)_build_cmds
@@ -26,7 +28,3 @@ endef
define $(package)_stage_cmds
$(MAKE) DESTDIR=$($(package)_staging_dir) install
endef
-
-define $(package)_postprocess_cmds
- rm lib/*.la
-endef
diff --git a/depends/patches/qrencode/cmake_fixups.patch b/depends/patches/qrencode/cmake_fixups.patch
new file mode 100644
index 0000000000..7518d756cb
--- /dev/null
+++ b/depends/patches/qrencode/cmake_fixups.patch
@@ -0,0 +1,23 @@
+cmake: set minimum version to 3.5
+
+Correct some dev warning output.
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 773e037..a558145 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 3.1.0)
++cmake_minimum_required(VERSION 3.5)
+
+ project(QRencode VERSION 4.1.1 LANGUAGES C)
+
+@@ -20,7 +20,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+ set(CMAKE_THREAD_PREFER_PTHREAD ON)
+ find_package(Threads)
+ find_package(PNG)
+-find_package(Iconv)
++find_package(ICONV)
+
+ if(CMAKE_USE_PTHREADS_INIT)
+ add_definitions(-DHAVE_LIBPTHREAD=1)