* Re: [PR REVIEW] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
@ 2020-10-20 15:16 ` pullmoll
2020-10-20 15:18 ` pullmoll
` (32 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: pullmoll @ 2020-10-20 15:16 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 231 bytes --]
New review comment by pullmoll on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#discussion_r508597748
Comment:
Hmm.. depending on `chroot-cmake` if `$CHROOT_READY` seems the wrong way round, no?
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
2020-10-20 15:16 ` [PR REVIEW] " pullmoll
@ 2020-10-20 15:18 ` pullmoll
2020-10-20 15:21 ` [PR PATCH] [Updated] " sgn
` (31 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: pullmoll @ 2020-10-20 15:18 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 257 bytes --]
New comment by pullmoll on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#issuecomment-712928982
Comment:
I like your approach. If we don't need more than what a `cmake bootstrap` supplies that would be very space saving.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR PATCH] [Updated] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
2020-10-20 15:16 ` [PR REVIEW] " pullmoll
2020-10-20 15:18 ` pullmoll
@ 2020-10-20 15:21 ` sgn
2020-10-20 15:23 ` [PR REVIEW] " sgn
` (30 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-20 15:21 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 429 bytes --]
There is an updated pull request by sgn against master on the void-packages repository
https://github.com/sgn/void-packages chroot-cmake-and-ccache
https://github.com/void-linux/void-packages/pull/25753
ccache: update to 4.0 (alternative approach for chroot-cmake)
Alternative for https://github.com/void-linux/void-packages/pull/25724
A patch file from https://github.com/void-linux/void-packages/pull/25753.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chroot-cmake-and-ccache-25753.patch --]
[-- Type: text/x-diff, Size: 11341 bytes --]
From 2685abae1ffae3da8d59716a27a5eadb086b756e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Sun, 18 Oct 2020 22:01:57 +0200
Subject: [PATCH 1/4] ccache: update to 4.0
This release changes from using autoconf to cmake.
---
srcpkgs/ccache/template | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/ccache/template b/srcpkgs/ccache/template
index 481c4466199..8cab61f8740 100644
--- a/srcpkgs/ccache/template
+++ b/srcpkgs/ccache/template
@@ -1,11 +1,10 @@
# Template file for 'ccache'
pkgname=ccache
-version=3.7.12
+version=4.0
revision=1
bootstrap=yes
-build_style=gnu-configure
-make_check_args="CC=gcc"
-makedepends="zlib-devel"
+build_style=cmake
+makedepends="libzstd-devel zlib-devel"
checkdepends="perl"
short_desc="Fast C/C++ Compiler Cache"
maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -13,7 +12,11 @@ license="GPL-3.0-or-later"
homepage="https://ccache.samba.org/"
changelog="https://ccache.dev/releasenotes.html"
distfiles="https://github.com/ccache/ccache/releases/download/v${version}/${pkgname}-${version}.tar.xz"
-checksum=a02f4e8360dc6618bc494ca35b0ae21cea080f804a4898eab1ad3fcd108eb400
+checksum=ac1b82fe0a5e39905945c4d68fcb24bd0f32344869faf647a1b8d31e544dcb88
+
+if [ "$CHROOT_READY" ]; then
+ hostmakedepends="chroot-cmake"
+fi
post_install() {
vmkdir usr/lib/ccache/bin
From 27eb4fea240d2d25103df03169504697b56f9f41 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Tue, 20 Oct 2020 13:35:22 +0200
Subject: [PATCH 2/4] build-style cmake: depend only if $CHROOT_READY
---
common/environment/build-style/cmake.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/common/environment/build-style/cmake.sh b/common/environment/build-style/cmake.sh
index 41f758a69a6..8347814c616 100644
--- a/common/environment/build-style/cmake.sh
+++ b/common/environment/build-style/cmake.sh
@@ -1 +1,5 @@
-hostmakedepends+=" cmake"
+if [ "$CHROOT_READY" ]; then
+ if [[ "$hostmakedepends" != *"chroot-cmake"* ]]; then
+ hostmakedepends+=" cmake"
+ fi
+fi
From ae699ed67a8ccf5954a740d98ec8025e90abefef Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 20 Oct 2020 21:32:03 +0700
Subject: [PATCH 3/4] New package: chroot-cmake-3.18.2
---
.../patches/only-want-half-baked-cmake.patch | 122 ++++++++++++++++++
srcpkgs/chroot-cmake/template | 53 ++++++++
srcpkgs/chroot-cmake/update | 1 +
3 files changed, 176 insertions(+)
create mode 100644 srcpkgs/chroot-cmake/patches/only-want-half-baked-cmake.patch
create mode 100644 srcpkgs/chroot-cmake/template
create mode 100644 srcpkgs/chroot-cmake/update
diff --git a/srcpkgs/chroot-cmake/patches/only-want-half-baked-cmake.patch b/srcpkgs/chroot-cmake/patches/only-want-half-baked-cmake.patch
new file mode 100644
index 00000000000..1074b068c8d
--- /dev/null
+++ b/srcpkgs/chroot-cmake/patches/only-want-half-baked-cmake.patch
@@ -0,0 +1,122 @@
+diff --git Source/cmSystemTools.cxx Source/cmSystemTools.cxx
+index 1e78d36..0713bab 100644
+--- Source/cmSystemTools.cxx
++++ Source/cmSystemTools.cxx
+@@ -1988,7 +1988,7 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ #ifdef CMAKE_BOOTSTRAP
+ // The bootstrap cmake does not provide the other tools,
+ // so use the directory where they are about to be built.
+- exe_dir = CMAKE_BOOTSTRAP_BINARY_DIR "/bin";
++ exe_dir = "/usr/bin";
+ #endif
+ cmSystemToolsCTestCommand =
+ cmStrCat(exe_dir, "/ctest", cmSystemTools::GetExecutableExtension());
+@@ -2010,7 +2010,6 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ cmSystemToolsCMClDepsCommand.clear();
+ }
+
+-#ifndef CMAKE_BOOTSTRAP
+ // Install tree has
+ // - "<prefix><CMAKE_BIN_DIR>/cmake"
+ // - "<prefix><CMAKE_DATA_DIR>"
+@@ -2041,10 +2040,6 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ }
+ }
+ }
+-#else
+- // Bootstrap build knows its source.
+- cmSystemToolsCMakeRoot = CMAKE_BOOTSTRAP_SOURCE_DIR;
+-#endif
+ }
+
+ std::string const& cmSystemTools::GetCMakeCommand()
+diff --git bootstrap bootstrap
+index 04067dc..832a7ab 100755
+--- bootstrap
++++ bootstrap
+@@ -812,14 +812,6 @@ cmake_try_run ()
+ echo "Test failed to produce executable"
+ return 2
+ fi
+- ./${TMPFILE}
+- RES=$?
+- rm -f "${TMPFILE}"
+- if test "${RES}" -ne "0"; then
+- echo "Test produced non-zero return code"
+- return 3
+- fi
+- echo "Test succeeded"
+ return 0
+ }
+
+@@ -839,13 +831,6 @@ cmake_try_make ()
+ echo "${COMPILER} does not produce output"
+ return 2
+ fi
+- ./test
+- RES=$?
+- rm -f "test"
+- if test "${RES}" -ne "0"; then
+- echo "${MAKE_PROC} produces strange executable"
+- return 3
+- fi
+ echo "${MAKE_PROC} works"
+ return 0
+ }
+@@ -1444,8 +1429,8 @@ cmake_report cmVersionConfig.h${_tmp} "#define CMake_VERSION \"${cmake_version}\
+ cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_SOURCE_DIR \"${CMAKE_BOOTSTRAP_SOURCE_DIR}\""
+ cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_BINARY_DIR \"${CMAKE_BOOTSTRAP_BINARY_DIR}\""
+ cmake_report cmConfigure.h${_tmp} "#define CMake_DEFAULT_RECURSION_LIMIT 400"
+-cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"/bootstrap-not-insalled\""
+-cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"/bootstrap-not-insalled\""
++cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"$cmake_bin_dir\""
++cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"$cmake_data_dir\""
+ cmake_report cmConfigure.h${_tmp} "#define CM_FALLTHROUGH"
+
+ if ${cmake_system_mingw}; then
+@@ -1691,45 +1676,3 @@ if test -f "${cmake_init_file}"; then
+ cat "${cmake_init_file}" >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake"
+ fi
+ )
+-
+-echo "---------------------------------------------"
+-
+-# Run make to build bootstrap cmake
+-if test "x${cmake_parallel_make}" != "x"; then
+- ${cmake_make_processor} ${cmake_make_flags}
+-else
+- ${cmake_make_processor}
+-fi
+-RES=$?
+-if test "${RES}" -ne "0"; then
+- cmake_error 9 "Problem while running ${cmake_make_processor}"
+-fi
+-cd "${cmake_binary_dir}"
+-
+-# Set C, CXX, and MAKE environment variables, so that real real cmake will be
+-# build with same compiler and make
+-CC="${cmake_c_compiler}"
+-CXX="${cmake_cxx_compiler}"
+-MAKE="${cmake_make_processor}"
+-export CC
+-export CXX
+-export MAKE
+-export CFLAGS
+-export CXXFLAGS
+-export LDFLAGS
+-
+-# Run bootstrap CMake to configure real CMake
+-cmake_options="-DCMAKE_BOOTSTRAP=1"
+-if test -n "${cmake_verbose}"; then
+- cmake_options="${cmake_options} -DCMAKE_VERBOSE_MAKEFILE=1"
+-fi
+-"${cmake_bootstrap_dir}/cmake" "${cmake_source_dir}" "-C${cmake_bootstrap_dir}/InitialCacheFlags.cmake" "-G${cmake_bootstrap_generator}" ${cmake_options} ${cmake_bootstrap_system_libs} "$@"
+-RES=$?
+-if test "${RES}" -ne "0"; then
+- cmake_error 11 "Problem while running initial CMake"
+-fi
+-
+-echo "---------------------------------------------"
+-
+-# And we are done. Now just run make
+-echo "CMake has bootstrapped. Now run ${cmake_make_processor}."
diff --git a/srcpkgs/chroot-cmake/template b/srcpkgs/chroot-cmake/template
new file mode 100644
index 00000000000..f457de28902
--- /dev/null
+++ b/srcpkgs/chroot-cmake/template
@@ -0,0 +1,53 @@
+# Template file for 'chroot-cmake'
+pkgname=chroot-cmake
+version=3.18.2
+revision=1
+wrksrc=cmake-$version
+bootstrap=yes
+build_style=configure
+configure_args="--prefix=/usr --datadir=share/chroot-cmake --bindir=bin
+ --system-libs --no-system-curl --no-system-jsoncpp --no-system-nghttp2
+ --no-system-librhash --no-system-libuv --no-system-expat --no-qt-gui
+ ${XBPS_MAKEJOBS:+--parallel=$XBPS_MAKEJOBS}"
+make_build_args="-C Bootstrap.cmk"
+makedepends="libarchive-devel"
+short_desc="Cross MAKE (bootstrapping version for chroot)"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="LGPL-2.1-or-later, BSD-3-Clause"
+homepage="https://www.cmake.org"
+distfiles="https://www.cmake.org/files/v${version%.*}/cmake-${version}.tar.gz"
+checksum=5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e
+provides="cmake-0_1"
+replaces="cmake>=0"
+
+CFLAGS="-DCMAKE_USE_SYSTEM_ZLIB -DCMAKE_USE_SYSTEM_LIBARCHIVE"
+CXXFLAGS="$CFLAGS"
+
+post_patch() {
+ rm -rf Utilities/cmbzip2
+ rm -rf Utilities/cmcurl
+ rm -rf Utilities/cmexpat
+ # rm -rf Utilities/cmjsoncpp
+ rm -rf Utilities/cmlibarchive
+ rm -rf Utilities/cmliblzma
+ rm -rf Utilities/cmlibrhash
+ rm -rf Utilities/cmnghttp2
+ rm -rf Utilities/cmzlib
+ rm -rf Utilities/cmzstd
+}
+
+do_check() {
+ : "real cmake is never built"
+}
+
+do_install() {
+ vbin Bootstrap.cmk/cmake
+ vmkdir usr/share/chroot-cmake
+ vcopy Modules usr/share/chroot-cmake
+ vcopy Templates usr/share/chroot-cmake
+
+ vlicense Copyright.txt
+ vlicense Utilities/KWIML/Copyright.txt KWIML-Copyright.txt
+ vlicense Utilities/cmlibuv/LICENSE libuv-LICENSE
+ vlicense Utilities/cmjsoncpp/LICENSE jsoncpp-LICENSE
+}
diff --git a/srcpkgs/chroot-cmake/update b/srcpkgs/chroot-cmake/update
new file mode 100644
index 00000000000..4671bfbb185
--- /dev/null
+++ b/srcpkgs/chroot-cmake/update
@@ -0,0 +1 @@
+site='https://cmake.org/download/'
From b3880cbe52b1f309c82421d77b8862f6a5b21033 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 20 Oct 2020 22:20:24 +0700
Subject: [PATCH 4/4] cmake: built with chroot-cmake, use system libuv, rhash
on cross
---
srcpkgs/cmake/template | 24 +++++++++---------------
1 file changed, 9 insertions(+), 15 deletions(-)
diff --git a/srcpkgs/cmake/template b/srcpkgs/cmake/template
index 808d69caec6..9461a598c0b 100644
--- a/srcpkgs/cmake/template
+++ b/srcpkgs/cmake/template
@@ -1,10 +1,15 @@
# Template file for 'cmake'
pkgname=cmake
version=3.18.2
-revision=1
-build_style=configure
-configure_args="--prefix=/usr --mandir=/share/man --docdir=/share/doc/cmake
- --system-libs --no-system-jsoncpp ${XBPS_MAKEJOBS:+--parallel=$XBPS_MAKEJOBS}"
+revision=2
+build_style=cmake
+hostmakedepends="chroot-cmake gcc-fortran"
+configure_args="-DCMAKE_DOC_DIR=/share/doc/cmake
+ -DCMAKE_USE_SYSTEM_LIBARCHIVE=1
+ -DCMAKE_USE_SYSTEM_CURL=1 -DCMAKE_USE_SYSTEM_ZLIB=1
+ -DCMAKE_USE_SYSTEM_EXPAT=1 -DCMAKE_USE_SYSTEM_BZIP2=1
+ -DCMAKE_USE_SYSTEM_LIBUV=1 -DCMAKE_USE_SYSTEM_LIBRHASH=1
+ -DCMAKE_USE_SYSTEM_LIBLZMA=1 -DKWSYS_LFS_WORKS=1"
make_check_target=test
makedepends="expat-devel libarchive-devel libcurl-devel libuv-devel
ncurses-devel rhash-devel"
@@ -16,17 +21,6 @@ homepage="https://www.cmake.org"
distfiles="https://www.cmake.org/files/v${version%.*}/${pkgname}-${version}.tar.gz"
checksum=5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e
-if [ "$CROSS_BUILD" ]; then
- # XXX ugly :-)
- build_style=cmake
- hostmakedepends="cmake gcc-fortran"
- configure_args=" -DCMAKE_DOC_DIR=/share/doc/cmake
- -DCMAKE_USE_SYSTEM_LIBARCHIVE=1
- -DCMAKE_USE_SYSTEM_CURL=1 -DCMAKE_USE_SYSTEM_ZLIB=1
- -DCMAKE_USE_SYSTEM_EXPAT=1 -DCMAKE_USE_SYSTEM_BZIP2=1
- -DCMAKE_USE_SYSTEM_LIBLZMA=1 -DKWSYS_LFS_WORKS=1"
-fi
-
post_install() {
rm -rf ${DESTDIR}/usr/share/doc/cmake
vlicense Copyright.txt
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR REVIEW] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (2 preceding siblings ...)
2020-10-20 15:21 ` [PR PATCH] [Updated] " sgn
@ 2020-10-20 15:23 ` sgn
2020-10-20 15:29 ` pullmoll
` (29 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-20 15:23 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 315 bytes --]
New review comment by sgn on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#discussion_r508603892
Comment:
I was thinking about `stage1` and `stage2`.
Either put inside `chroot_ready` or set it unconditionally. I don't really know. I haven't put much thought into that. :shrug:
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR REVIEW] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (3 preceding siblings ...)
2020-10-20 15:23 ` [PR REVIEW] " sgn
@ 2020-10-20 15:29 ` pullmoll
2020-10-20 15:36 ` sgn
` (28 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: pullmoll @ 2020-10-20 15:29 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 472 bytes --]
New review comment by pullmoll on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#discussion_r508611551
Comment:
As a rule of thumb you usually do not depend on anything `chroot-...` because it is, well, in the chroot anyway.
That's why I thought that perhaps you meant
```
if [ "$CHROOT_READY" -a "$CROSS_BUILD" ]; then
hostmakedepends+=" cmake"
fi
```
We need to test that anyway... I'll close my PR, your's is better.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR REVIEW] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (4 preceding siblings ...)
2020-10-20 15:29 ` pullmoll
@ 2020-10-20 15:36 ` sgn
2020-10-20 16:17 ` pullmoll
` (27 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-20 15:36 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 430 bytes --]
New review comment by sgn on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#discussion_r508620174
Comment:
This `chroot-cmake` is very basic `cmake`, it lacks a lot of `cmake` functionality (but enough to build `ccache` and real `cmake`).
I think we should treat it the same with `pkgconf` and `pkg-config`. IOW, don't add it into `base-chroot` but let's package add it into `hostmakedepends`.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR REVIEW] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (5 preceding siblings ...)
2020-10-20 15:36 ` sgn
@ 2020-10-20 16:17 ` pullmoll
2020-10-20 16:18 ` pullmoll
` (26 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: pullmoll @ 2020-10-20 16:17 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 278 bytes --]
New review comment by pullmoll on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#discussion_r508664706
Comment:
Ok, I see, then this makes sense.
Let's hope that ccache doesn't become too fancy with its cmake scripts in the next updates :)
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR REVIEW] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (6 preceding siblings ...)
2020-10-20 16:17 ` pullmoll
@ 2020-10-20 16:18 ` pullmoll
2020-10-20 23:43 ` [PR PATCH] [Updated] " sgn
` (25 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: pullmoll @ 2020-10-20 16:18 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 271 bytes --]
New review comment by pullmoll on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#discussion_r508665428
Comment:
If we don't add it to `base-chroot` then a better name then would be something like `cmake-minimal` or `cmake-bootstrap`.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR PATCH] [Updated] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (7 preceding siblings ...)
2020-10-20 16:18 ` pullmoll
@ 2020-10-20 23:43 ` sgn
2020-10-20 23:43 ` [PR REVIEW] " sgn
` (24 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-20 23:43 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 429 bytes --]
There is an updated pull request by sgn against master on the void-packages repository
https://github.com/sgn/void-packages chroot-cmake-and-ccache
https://github.com/void-linux/void-packages/pull/25753
ccache: update to 4.0 (alternative approach for chroot-cmake)
Alternative for https://github.com/void-linux/void-packages/pull/25724
A patch file from https://github.com/void-linux/void-packages/pull/25753.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chroot-cmake-and-ccache-25753.patch --]
[-- Type: text/x-diff, Size: 11028 bytes --]
From 54899aebfab98109291a8704ac2d5af710e2d4b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 20 Oct 2020 21:32:03 +0700
Subject: [PATCH 1/4] New package: cmake-bootstrap-3.18.2
---
.../patches/only-want-half-baked-cmake.patch | 122 ++++++++++++++++++
srcpkgs/cmake-bootstrap/template | 52 ++++++++
2 files changed, 174 insertions(+)
create mode 100644 srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch
create mode 100644 srcpkgs/cmake-bootstrap/template
diff --git a/srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch b/srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch
new file mode 100644
index 00000000000..1074b068c8d
--- /dev/null
+++ b/srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch
@@ -0,0 +1,122 @@
+diff --git Source/cmSystemTools.cxx Source/cmSystemTools.cxx
+index 1e78d36..0713bab 100644
+--- Source/cmSystemTools.cxx
++++ Source/cmSystemTools.cxx
+@@ -1988,7 +1988,7 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ #ifdef CMAKE_BOOTSTRAP
+ // The bootstrap cmake does not provide the other tools,
+ // so use the directory where they are about to be built.
+- exe_dir = CMAKE_BOOTSTRAP_BINARY_DIR "/bin";
++ exe_dir = "/usr/bin";
+ #endif
+ cmSystemToolsCTestCommand =
+ cmStrCat(exe_dir, "/ctest", cmSystemTools::GetExecutableExtension());
+@@ -2010,7 +2010,6 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ cmSystemToolsCMClDepsCommand.clear();
+ }
+
+-#ifndef CMAKE_BOOTSTRAP
+ // Install tree has
+ // - "<prefix><CMAKE_BIN_DIR>/cmake"
+ // - "<prefix><CMAKE_DATA_DIR>"
+@@ -2041,10 +2040,6 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ }
+ }
+ }
+-#else
+- // Bootstrap build knows its source.
+- cmSystemToolsCMakeRoot = CMAKE_BOOTSTRAP_SOURCE_DIR;
+-#endif
+ }
+
+ std::string const& cmSystemTools::GetCMakeCommand()
+diff --git bootstrap bootstrap
+index 04067dc..832a7ab 100755
+--- bootstrap
++++ bootstrap
+@@ -812,14 +812,6 @@ cmake_try_run ()
+ echo "Test failed to produce executable"
+ return 2
+ fi
+- ./${TMPFILE}
+- RES=$?
+- rm -f "${TMPFILE}"
+- if test "${RES}" -ne "0"; then
+- echo "Test produced non-zero return code"
+- return 3
+- fi
+- echo "Test succeeded"
+ return 0
+ }
+
+@@ -839,13 +831,6 @@ cmake_try_make ()
+ echo "${COMPILER} does not produce output"
+ return 2
+ fi
+- ./test
+- RES=$?
+- rm -f "test"
+- if test "${RES}" -ne "0"; then
+- echo "${MAKE_PROC} produces strange executable"
+- return 3
+- fi
+ echo "${MAKE_PROC} works"
+ return 0
+ }
+@@ -1444,8 +1429,8 @@ cmake_report cmVersionConfig.h${_tmp} "#define CMake_VERSION \"${cmake_version}\
+ cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_SOURCE_DIR \"${CMAKE_BOOTSTRAP_SOURCE_DIR}\""
+ cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_BINARY_DIR \"${CMAKE_BOOTSTRAP_BINARY_DIR}\""
+ cmake_report cmConfigure.h${_tmp} "#define CMake_DEFAULT_RECURSION_LIMIT 400"
+-cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"/bootstrap-not-insalled\""
+-cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"/bootstrap-not-insalled\""
++cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"$cmake_bin_dir\""
++cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"$cmake_data_dir\""
+ cmake_report cmConfigure.h${_tmp} "#define CM_FALLTHROUGH"
+
+ if ${cmake_system_mingw}; then
+@@ -1691,45 +1676,3 @@ if test -f "${cmake_init_file}"; then
+ cat "${cmake_init_file}" >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake"
+ fi
+ )
+-
+-echo "---------------------------------------------"
+-
+-# Run make to build bootstrap cmake
+-if test "x${cmake_parallel_make}" != "x"; then
+- ${cmake_make_processor} ${cmake_make_flags}
+-else
+- ${cmake_make_processor}
+-fi
+-RES=$?
+-if test "${RES}" -ne "0"; then
+- cmake_error 9 "Problem while running ${cmake_make_processor}"
+-fi
+-cd "${cmake_binary_dir}"
+-
+-# Set C, CXX, and MAKE environment variables, so that real real cmake will be
+-# build with same compiler and make
+-CC="${cmake_c_compiler}"
+-CXX="${cmake_cxx_compiler}"
+-MAKE="${cmake_make_processor}"
+-export CC
+-export CXX
+-export MAKE
+-export CFLAGS
+-export CXXFLAGS
+-export LDFLAGS
+-
+-# Run bootstrap CMake to configure real CMake
+-cmake_options="-DCMAKE_BOOTSTRAP=1"
+-if test -n "${cmake_verbose}"; then
+- cmake_options="${cmake_options} -DCMAKE_VERBOSE_MAKEFILE=1"
+-fi
+-"${cmake_bootstrap_dir}/cmake" "${cmake_source_dir}" "-C${cmake_bootstrap_dir}/InitialCacheFlags.cmake" "-G${cmake_bootstrap_generator}" ${cmake_options} ${cmake_bootstrap_system_libs} "$@"
+-RES=$?
+-if test "${RES}" -ne "0"; then
+- cmake_error 11 "Problem while running initial CMake"
+-fi
+-
+-echo "---------------------------------------------"
+-
+-# And we are done. Now just run make
+-echo "CMake has bootstrapped. Now run ${cmake_make_processor}."
diff --git a/srcpkgs/cmake-bootstrap/template b/srcpkgs/cmake-bootstrap/template
new file mode 100644
index 00000000000..ce28a5c5a29
--- /dev/null
+++ b/srcpkgs/cmake-bootstrap/template
@@ -0,0 +1,52 @@
+# Template file for 'cmake-bootstrap'
+pkgname=cmake-bootstrap
+version=3.18.2
+revision=1
+wrksrc=cmake-$version
+bootstrap=yes
+build_style=configure
+configure_args="--prefix=/usr --datadir=share/chroot-cmake --bindir=bin
+ --system-libs --no-system-curl --no-system-jsoncpp --no-system-nghttp2
+ --no-system-librhash --no-system-libuv --no-system-expat --no-qt-gui
+ ${XBPS_MAKEJOBS:+--parallel=$XBPS_MAKEJOBS}"
+make_build_args="-C Bootstrap.cmk"
+makedepends="libarchive-devel"
+short_desc="Cross MAKE (bootstrapping version for chroot)"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="LGPL-2.1-or-later, BSD-3-Clause"
+homepage="https://www.cmake.org"
+distfiles="https://www.cmake.org/files/v${version%.*}/cmake-${version}.tar.gz"
+checksum=5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e
+conflicts="cmake>=0"
+
+CFLAGS="-DCMAKE_USE_SYSTEM_ZLIB -DCMAKE_USE_SYSTEM_LIBARCHIVE"
+CXXFLAGS="$CFLAGS"
+
+post_patch() {
+ rm -rf Utilities/cmbzip2
+ rm -rf Utilities/cmcurl
+ rm -rf Utilities/cmexpat
+ # rm -rf Utilities/cmjsoncpp
+ rm -rf Utilities/cmlibarchive
+ rm -rf Utilities/cmliblzma
+ rm -rf Utilities/cmlibrhash
+ rm -rf Utilities/cmnghttp2
+ rm -rf Utilities/cmzlib
+ rm -rf Utilities/cmzstd
+}
+
+do_check() {
+ : "real cmake is never built"
+}
+
+do_install() {
+ vbin Bootstrap.cmk/cmake
+ vmkdir usr/share/chroot-cmake
+ vcopy Modules usr/share/chroot-cmake
+ vcopy Templates usr/share/chroot-cmake
+
+ vlicense Copyright.txt
+ vlicense Utilities/KWIML/Copyright.txt KWIML-Copyright.txt
+ vlicense Utilities/cmlibuv/LICENSE libuv-LICENSE
+ vlicense Utilities/cmjsoncpp/LICENSE jsoncpp-LICENSE
+}
From ff4fdc3aade79e3add03342e737263ce5513fb6f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Tue, 20 Oct 2020 13:35:22 +0200
Subject: [PATCH 2/4] build-style cmake: depend only if $CHROOT_READY
---
common/environment/build-style/cmake.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/common/environment/build-style/cmake.sh b/common/environment/build-style/cmake.sh
index 41f758a69a6..25bd8a388ec 100644
--- a/common/environment/build-style/cmake.sh
+++ b/common/environment/build-style/cmake.sh
@@ -1 +1,5 @@
-hostmakedepends+=" cmake"
+if [ "$CHROOT_READY" ]; then
+ if [[ "$hostmakedepends" != *"cmake-bootstrap"* ]]; then
+ hostmakedepends+=" cmake"
+ fi
+fi
From 82922d2353c2d31174954f92992722e681922d99 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 20 Oct 2020 22:20:24 +0700
Subject: [PATCH 3/4] cmake: built with chroot-cmake, use system libuv, rhash
on cross
---
srcpkgs/cmake/template | 24 +++++++++---------------
1 file changed, 9 insertions(+), 15 deletions(-)
diff --git a/srcpkgs/cmake/template b/srcpkgs/cmake/template
index 808d69caec6..63da2329132 100644
--- a/srcpkgs/cmake/template
+++ b/srcpkgs/cmake/template
@@ -1,11 +1,16 @@
# Template file for 'cmake'
pkgname=cmake
version=3.18.2
-revision=1
-build_style=configure
-configure_args="--prefix=/usr --mandir=/share/man --docdir=/share/doc/cmake
- --system-libs --no-system-jsoncpp ${XBPS_MAKEJOBS:+--parallel=$XBPS_MAKEJOBS}"
+revision=2
+build_style=cmake
+configure_args="-DCMAKE_DOC_DIR=/share/doc/cmake
+ -DCMAKE_USE_SYSTEM_LIBARCHIVE=1
+ -DCMAKE_USE_SYSTEM_CURL=1 -DCMAKE_USE_SYSTEM_ZLIB=1
+ -DCMAKE_USE_SYSTEM_EXPAT=1 -DCMAKE_USE_SYSTEM_BZIP2=1
+ -DCMAKE_USE_SYSTEM_LIBUV=1 -DCMAKE_USE_SYSTEM_LIBRHASH=1
+ -DCMAKE_USE_SYSTEM_LIBLZMA=1 -DKWSYS_LFS_WORKS=1"
make_check_target=test
+hostmakedepends="cmake-bootstrap gcc-fortran"
makedepends="expat-devel libarchive-devel libcurl-devel libuv-devel
ncurses-devel rhash-devel"
checkdepends="pax pkg-config"
@@ -16,17 +21,6 @@ homepage="https://www.cmake.org"
distfiles="https://www.cmake.org/files/v${version%.*}/${pkgname}-${version}.tar.gz"
checksum=5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e
-if [ "$CROSS_BUILD" ]; then
- # XXX ugly :-)
- build_style=cmake
- hostmakedepends="cmake gcc-fortran"
- configure_args=" -DCMAKE_DOC_DIR=/share/doc/cmake
- -DCMAKE_USE_SYSTEM_LIBARCHIVE=1
- -DCMAKE_USE_SYSTEM_CURL=1 -DCMAKE_USE_SYSTEM_ZLIB=1
- -DCMAKE_USE_SYSTEM_EXPAT=1 -DCMAKE_USE_SYSTEM_BZIP2=1
- -DCMAKE_USE_SYSTEM_LIBLZMA=1 -DKWSYS_LFS_WORKS=1"
-fi
-
post_install() {
rm -rf ${DESTDIR}/usr/share/doc/cmake
vlicense Copyright.txt
From fadb1cf24ba6de46cf0395d686e715bff024fd9c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Sun, 18 Oct 2020 22:01:57 +0200
Subject: [PATCH 4/4] ccache: update to 4.0
This release changes from using autoconf to cmake.
---
srcpkgs/ccache/template | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/ccache/template b/srcpkgs/ccache/template
index 481c4466199..117e9d82a1f 100644
--- a/srcpkgs/ccache/template
+++ b/srcpkgs/ccache/template
@@ -1,11 +1,11 @@
# Template file for 'ccache'
pkgname=ccache
-version=3.7.12
+version=4.0
revision=1
bootstrap=yes
-build_style=gnu-configure
-make_check_args="CC=gcc"
-makedepends="zlib-devel"
+build_style=cmake
+hostmakedepends="cmake-bootstrap"
+makedepends="libzstd-devel zlib-devel"
checkdepends="perl"
short_desc="Fast C/C++ Compiler Cache"
maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -13,7 +13,7 @@ license="GPL-3.0-or-later"
homepage="https://ccache.samba.org/"
changelog="https://ccache.dev/releasenotes.html"
distfiles="https://github.com/ccache/ccache/releases/download/v${version}/${pkgname}-${version}.tar.xz"
-checksum=a02f4e8360dc6618bc494ca35b0ae21cea080f804a4898eab1ad3fcd108eb400
+checksum=ac1b82fe0a5e39905945c4d68fcb24bd0f32344869faf647a1b8d31e544dcb88
post_install() {
vmkdir usr/lib/ccache/bin
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR REVIEW] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (8 preceding siblings ...)
2020-10-20 23:43 ` [PR PATCH] [Updated] " sgn
@ 2020-10-20 23:43 ` sgn
2020-10-20 23:52 ` [PR PATCH] [Updated] " sgn
` (23 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-20 23:43 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 184 bytes --]
New review comment by sgn on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#discussion_r508903229
Comment:
OK, I'll change it into `cmake-bootstrap`
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR PATCH] [Updated] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (9 preceding siblings ...)
2020-10-20 23:43 ` [PR REVIEW] " sgn
@ 2020-10-20 23:52 ` sgn
2020-10-20 23:58 ` [PR REVIEW] " sgn
` (22 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-20 23:52 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 429 bytes --]
There is an updated pull request by sgn against master on the void-packages repository
https://github.com/sgn/void-packages chroot-cmake-and-ccache
https://github.com/void-linux/void-packages/pull/25753
ccache: update to 4.0 (alternative approach for chroot-cmake)
Alternative for https://github.com/void-linux/void-packages/pull/25724
A patch file from https://github.com/void-linux/void-packages/pull/25753.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chroot-cmake-and-ccache-25753.patch --]
[-- Type: text/x-diff, Size: 11001 bytes --]
From e79732d310623ac88f83660f73175018a2b61414 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 20 Oct 2020 21:32:03 +0700
Subject: [PATCH 1/4] New package: cmake-bootstrap-3.18.2
---
.../patches/only-want-half-baked-cmake.patch | 122 ++++++++++++++++++
srcpkgs/cmake-bootstrap/template | 52 ++++++++
2 files changed, 174 insertions(+)
create mode 100644 srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch
create mode 100644 srcpkgs/cmake-bootstrap/template
diff --git a/srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch b/srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch
new file mode 100644
index 00000000000..1074b068c8d
--- /dev/null
+++ b/srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch
@@ -0,0 +1,122 @@
+diff --git Source/cmSystemTools.cxx Source/cmSystemTools.cxx
+index 1e78d36..0713bab 100644
+--- Source/cmSystemTools.cxx
++++ Source/cmSystemTools.cxx
+@@ -1988,7 +1988,7 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ #ifdef CMAKE_BOOTSTRAP
+ // The bootstrap cmake does not provide the other tools,
+ // so use the directory where they are about to be built.
+- exe_dir = CMAKE_BOOTSTRAP_BINARY_DIR "/bin";
++ exe_dir = "/usr/bin";
+ #endif
+ cmSystemToolsCTestCommand =
+ cmStrCat(exe_dir, "/ctest", cmSystemTools::GetExecutableExtension());
+@@ -2010,7 +2010,6 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ cmSystemToolsCMClDepsCommand.clear();
+ }
+
+-#ifndef CMAKE_BOOTSTRAP
+ // Install tree has
+ // - "<prefix><CMAKE_BIN_DIR>/cmake"
+ // - "<prefix><CMAKE_DATA_DIR>"
+@@ -2041,10 +2040,6 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ }
+ }
+ }
+-#else
+- // Bootstrap build knows its source.
+- cmSystemToolsCMakeRoot = CMAKE_BOOTSTRAP_SOURCE_DIR;
+-#endif
+ }
+
+ std::string const& cmSystemTools::GetCMakeCommand()
+diff --git bootstrap bootstrap
+index 04067dc..832a7ab 100755
+--- bootstrap
++++ bootstrap
+@@ -812,14 +812,6 @@ cmake_try_run ()
+ echo "Test failed to produce executable"
+ return 2
+ fi
+- ./${TMPFILE}
+- RES=$?
+- rm -f "${TMPFILE}"
+- if test "${RES}" -ne "0"; then
+- echo "Test produced non-zero return code"
+- return 3
+- fi
+- echo "Test succeeded"
+ return 0
+ }
+
+@@ -839,13 +831,6 @@ cmake_try_make ()
+ echo "${COMPILER} does not produce output"
+ return 2
+ fi
+- ./test
+- RES=$?
+- rm -f "test"
+- if test "${RES}" -ne "0"; then
+- echo "${MAKE_PROC} produces strange executable"
+- return 3
+- fi
+ echo "${MAKE_PROC} works"
+ return 0
+ }
+@@ -1444,8 +1429,8 @@ cmake_report cmVersionConfig.h${_tmp} "#define CMake_VERSION \"${cmake_version}\
+ cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_SOURCE_DIR \"${CMAKE_BOOTSTRAP_SOURCE_DIR}\""
+ cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_BINARY_DIR \"${CMAKE_BOOTSTRAP_BINARY_DIR}\""
+ cmake_report cmConfigure.h${_tmp} "#define CMake_DEFAULT_RECURSION_LIMIT 400"
+-cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"/bootstrap-not-insalled\""
+-cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"/bootstrap-not-insalled\""
++cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"$cmake_bin_dir\""
++cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"$cmake_data_dir\""
+ cmake_report cmConfigure.h${_tmp} "#define CM_FALLTHROUGH"
+
+ if ${cmake_system_mingw}; then
+@@ -1691,45 +1676,3 @@ if test -f "${cmake_init_file}"; then
+ cat "${cmake_init_file}" >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake"
+ fi
+ )
+-
+-echo "---------------------------------------------"
+-
+-# Run make to build bootstrap cmake
+-if test "x${cmake_parallel_make}" != "x"; then
+- ${cmake_make_processor} ${cmake_make_flags}
+-else
+- ${cmake_make_processor}
+-fi
+-RES=$?
+-if test "${RES}" -ne "0"; then
+- cmake_error 9 "Problem while running ${cmake_make_processor}"
+-fi
+-cd "${cmake_binary_dir}"
+-
+-# Set C, CXX, and MAKE environment variables, so that real real cmake will be
+-# build with same compiler and make
+-CC="${cmake_c_compiler}"
+-CXX="${cmake_cxx_compiler}"
+-MAKE="${cmake_make_processor}"
+-export CC
+-export CXX
+-export MAKE
+-export CFLAGS
+-export CXXFLAGS
+-export LDFLAGS
+-
+-# Run bootstrap CMake to configure real CMake
+-cmake_options="-DCMAKE_BOOTSTRAP=1"
+-if test -n "${cmake_verbose}"; then
+- cmake_options="${cmake_options} -DCMAKE_VERBOSE_MAKEFILE=1"
+-fi
+-"${cmake_bootstrap_dir}/cmake" "${cmake_source_dir}" "-C${cmake_bootstrap_dir}/InitialCacheFlags.cmake" "-G${cmake_bootstrap_generator}" ${cmake_options} ${cmake_bootstrap_system_libs} "$@"
+-RES=$?
+-if test "${RES}" -ne "0"; then
+- cmake_error 11 "Problem while running initial CMake"
+-fi
+-
+-echo "---------------------------------------------"
+-
+-# And we are done. Now just run make
+-echo "CMake has bootstrapped. Now run ${cmake_make_processor}."
diff --git a/srcpkgs/cmake-bootstrap/template b/srcpkgs/cmake-bootstrap/template
new file mode 100644
index 00000000000..005dd22c7f0
--- /dev/null
+++ b/srcpkgs/cmake-bootstrap/template
@@ -0,0 +1,52 @@
+# Template file for 'cmake-bootstrap'
+pkgname=cmake-bootstrap
+version=3.18.2
+revision=1
+wrksrc=cmake-$version
+bootstrap=yes
+build_style=configure
+configure_args="--prefix=/usr --datadir=share/$pkgname --bindir=bin
+ --system-libs --no-system-curl --no-system-jsoncpp --no-system-nghttp2
+ --no-system-librhash --no-system-libuv --no-system-expat --no-qt-gui
+ ${XBPS_MAKEJOBS:+--parallel=$XBPS_MAKEJOBS}"
+make_build_args="-C Bootstrap.cmk"
+makedepends="libarchive-devel"
+short_desc="Cross MAKE (bootstrapping version)"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="LGPL-2.1-or-later, BSD-3-Clause"
+homepage="https://www.cmake.org"
+distfiles="https://www.cmake.org/files/v${version%.*}/cmake-${version}.tar.gz"
+checksum=5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e
+conflicts="cmake>=0"
+
+CFLAGS="-DCMAKE_USE_SYSTEM_ZLIB -DCMAKE_USE_SYSTEM_LIBARCHIVE"
+CXXFLAGS="$CFLAGS"
+
+post_patch() {
+ rm -rf Utilities/cmbzip2
+ rm -rf Utilities/cmcurl
+ rm -rf Utilities/cmexpat
+ # rm -rf Utilities/cmjsoncpp
+ rm -rf Utilities/cmlibarchive
+ rm -rf Utilities/cmliblzma
+ rm -rf Utilities/cmlibrhash
+ rm -rf Utilities/cmnghttp2
+ rm -rf Utilities/cmzlib
+ rm -rf Utilities/cmzstd
+}
+
+do_check() {
+ : "real cmake is never built"
+}
+
+do_install() {
+ vbin Bootstrap.cmk/cmake
+ vmkdir usr/share/$pkgname
+ vcopy Modules usr/share/$pkgname
+ vcopy Templates usr/share/$pkgname
+
+ vlicense Copyright.txt
+ vlicense Utilities/KWIML/Copyright.txt KWIML-Copyright.txt
+ vlicense Utilities/cmlibuv/LICENSE libuv-LICENSE
+ vlicense Utilities/cmjsoncpp/LICENSE jsoncpp-LICENSE
+}
From e1ec23a42d1ec8011bbcba77b6309312faf6c56d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Tue, 20 Oct 2020 13:35:22 +0200
Subject: [PATCH 2/4] build-style cmake: depend only if $CHROOT_READY
---
common/environment/build-style/cmake.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/common/environment/build-style/cmake.sh b/common/environment/build-style/cmake.sh
index 41f758a69a6..25bd8a388ec 100644
--- a/common/environment/build-style/cmake.sh
+++ b/common/environment/build-style/cmake.sh
@@ -1 +1,5 @@
-hostmakedepends+=" cmake"
+if [ "$CHROOT_READY" ]; then
+ if [[ "$hostmakedepends" != *"cmake-bootstrap"* ]]; then
+ hostmakedepends+=" cmake"
+ fi
+fi
From 95e4712213e67381c6a778e01c1aeb27dafca1ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Sun, 18 Oct 2020 22:01:57 +0200
Subject: [PATCH 3/4] ccache: update to 4.0
This release changes from using autoconf to cmake.
---
srcpkgs/ccache/template | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/ccache/template b/srcpkgs/ccache/template
index 481c4466199..117e9d82a1f 100644
--- a/srcpkgs/ccache/template
+++ b/srcpkgs/ccache/template
@@ -1,11 +1,11 @@
# Template file for 'ccache'
pkgname=ccache
-version=3.7.12
+version=4.0
revision=1
bootstrap=yes
-build_style=gnu-configure
-make_check_args="CC=gcc"
-makedepends="zlib-devel"
+build_style=cmake
+hostmakedepends="cmake-bootstrap"
+makedepends="libzstd-devel zlib-devel"
checkdepends="perl"
short_desc="Fast C/C++ Compiler Cache"
maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -13,7 +13,7 @@ license="GPL-3.0-or-later"
homepage="https://ccache.samba.org/"
changelog="https://ccache.dev/releasenotes.html"
distfiles="https://github.com/ccache/ccache/releases/download/v${version}/${pkgname}-${version}.tar.xz"
-checksum=a02f4e8360dc6618bc494ca35b0ae21cea080f804a4898eab1ad3fcd108eb400
+checksum=ac1b82fe0a5e39905945c4d68fcb24bd0f32344869faf647a1b8d31e544dcb88
post_install() {
vmkdir usr/lib/ccache/bin
From 5d9f19e4ab7d768b738a6b0bf0c56ae7f6c7ef0f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 20 Oct 2020 22:20:24 +0700
Subject: [PATCH 4/4] cmake: built with chroot-cmake, use system libuv, rhash
on cross
---
srcpkgs/cmake/template | 24 +++++++++---------------
1 file changed, 9 insertions(+), 15 deletions(-)
diff --git a/srcpkgs/cmake/template b/srcpkgs/cmake/template
index 808d69caec6..63da2329132 100644
--- a/srcpkgs/cmake/template
+++ b/srcpkgs/cmake/template
@@ -1,11 +1,16 @@
# Template file for 'cmake'
pkgname=cmake
version=3.18.2
-revision=1
-build_style=configure
-configure_args="--prefix=/usr --mandir=/share/man --docdir=/share/doc/cmake
- --system-libs --no-system-jsoncpp ${XBPS_MAKEJOBS:+--parallel=$XBPS_MAKEJOBS}"
+revision=2
+build_style=cmake
+configure_args="-DCMAKE_DOC_DIR=/share/doc/cmake
+ -DCMAKE_USE_SYSTEM_LIBARCHIVE=1
+ -DCMAKE_USE_SYSTEM_CURL=1 -DCMAKE_USE_SYSTEM_ZLIB=1
+ -DCMAKE_USE_SYSTEM_EXPAT=1 -DCMAKE_USE_SYSTEM_BZIP2=1
+ -DCMAKE_USE_SYSTEM_LIBUV=1 -DCMAKE_USE_SYSTEM_LIBRHASH=1
+ -DCMAKE_USE_SYSTEM_LIBLZMA=1 -DKWSYS_LFS_WORKS=1"
make_check_target=test
+hostmakedepends="cmake-bootstrap gcc-fortran"
makedepends="expat-devel libarchive-devel libcurl-devel libuv-devel
ncurses-devel rhash-devel"
checkdepends="pax pkg-config"
@@ -16,17 +21,6 @@ homepage="https://www.cmake.org"
distfiles="https://www.cmake.org/files/v${version%.*}/${pkgname}-${version}.tar.gz"
checksum=5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e
-if [ "$CROSS_BUILD" ]; then
- # XXX ugly :-)
- build_style=cmake
- hostmakedepends="cmake gcc-fortran"
- configure_args=" -DCMAKE_DOC_DIR=/share/doc/cmake
- -DCMAKE_USE_SYSTEM_LIBARCHIVE=1
- -DCMAKE_USE_SYSTEM_CURL=1 -DCMAKE_USE_SYSTEM_ZLIB=1
- -DCMAKE_USE_SYSTEM_EXPAT=1 -DCMAKE_USE_SYSTEM_BZIP2=1
- -DCMAKE_USE_SYSTEM_LIBLZMA=1 -DKWSYS_LFS_WORKS=1"
-fi
-
post_install() {
rm -rf ${DESTDIR}/usr/share/doc/cmake
vlicense Copyright.txt
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR REVIEW] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (10 preceding siblings ...)
2020-10-20 23:52 ` [PR PATCH] [Updated] " sgn
@ 2020-10-20 23:58 ` sgn
2020-10-21 0:57 ` pullmoll
` (21 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-20 23:58 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 392 bytes --]
New review comment by sgn on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#discussion_r508910513
Comment:
Looking around, I think if `ccache` don't use those fancy `ExternalProject`, we should be fine.
The whole `curl`, `libarchive`, `rhash`, `expat` and `nghttp2` was added for fetching tarball from external resource, verify checksum and build them.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (11 preceding siblings ...)
2020-10-20 23:58 ` [PR REVIEW] " sgn
@ 2020-10-21 0:57 ` pullmoll
2020-10-21 0:59 ` pullmoll
` (20 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: pullmoll @ 2020-10-21 0:57 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 369 bytes --]
New comment by pullmoll on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#issuecomment-713224606
Comment:
Running `./xbps-src bootstrap` now behaves odd.
It seems to enter an endless loop trying to build `ncurses`.
When I break with `^C` and redo the command it succeeds.
Not sure what kind of dependency loop (?) is causing this.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (12 preceding siblings ...)
2020-10-21 0:57 ` pullmoll
@ 2020-10-21 0:59 ` pullmoll
2020-10-21 1:11 ` pullmoll
` (19 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: pullmoll @ 2020-10-21 0:59 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 399 bytes --]
New comment by pullmoll on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#issuecomment-713224606
Comment:
Running `./xbps-src bootstrap` now behaves odd.
It seems to enter an endless loop trying to build `ncurses`.
When I break with `^C` and redo the command it succeeds.
Not sure what kind of dependency loop (?) is causing this.
Did you try a `bootstrap`?
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (13 preceding siblings ...)
2020-10-21 0:59 ` pullmoll
@ 2020-10-21 1:11 ` pullmoll
2020-10-21 1:24 ` [PR REVIEW] " q66
` (18 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: pullmoll @ 2020-10-21 1:11 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 536 bytes --]
New comment by pullmoll on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#issuecomment-713228636
Comment:
In `srcpkgs/ccache/template` add the following lines to fix cross builds:
```
if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
makedepends+=" libatomic-devel"
fi
pre_configure() {
if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
vsed -i src/CMakeLists.txt \
-e "/add_library/a target_link_libraries(ccache_lib PRIVATE atomic)"
fi
}
```
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR REVIEW] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (14 preceding siblings ...)
2020-10-21 1:11 ` pullmoll
@ 2020-10-21 1:24 ` q66
2020-10-21 2:26 ` pullmoll
` (17 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: q66 @ 2020-10-21 1:24 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 210 bytes --]
New review comment by q66 on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#discussion_r508933956
Comment:
bad short_desc, cmake is not a "cross make" or anything of the sort
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (15 preceding siblings ...)
2020-10-21 1:24 ` [PR REVIEW] " q66
@ 2020-10-21 2:26 ` pullmoll
2020-10-21 11:16 ` [PR PATCH] [Updated] " sgn
` (16 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: pullmoll @ 2020-10-21 2:26 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 279 bytes --]
New comment by pullmoll on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#issuecomment-713251623
Comment:
On a 2nd try the `./xbps-src zap` and `./xbps-src bootstrap` succeeded to build stage0. No idea what was causing the loop in the 1st try.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR PATCH] [Updated] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (16 preceding siblings ...)
2020-10-21 2:26 ` pullmoll
@ 2020-10-21 11:16 ` sgn
2020-10-21 14:18 ` [PR REVIEW] " sgn
` (15 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-21 11:16 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 429 bytes --]
There is an updated pull request by sgn against master on the void-packages repository
https://github.com/sgn/void-packages chroot-cmake-and-ccache
https://github.com/void-linux/void-packages/pull/25753
ccache: update to 4.0 (alternative approach for chroot-cmake)
Alternative for https://github.com/void-linux/void-packages/pull/25724
A patch file from https://github.com/void-linux/void-packages/pull/25753.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chroot-cmake-and-ccache-25753.patch --]
[-- Type: text/x-diff, Size: 11173 bytes --]
From 47afc507a04983283ca4c9ce2878e72fbf0f269b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 20 Oct 2020 21:32:03 +0700
Subject: [PATCH 1/4] New package: cmake-bootstrap-3.18.2
---
.../patches/only-want-half-baked-cmake.patch | 122 ++++++++++++++++++
srcpkgs/cmake-bootstrap/template | 52 ++++++++
2 files changed, 174 insertions(+)
create mode 100644 srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch
create mode 100644 srcpkgs/cmake-bootstrap/template
diff --git a/srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch b/srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch
new file mode 100644
index 00000000000..1074b068c8d
--- /dev/null
+++ b/srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch
@@ -0,0 +1,122 @@
+diff --git Source/cmSystemTools.cxx Source/cmSystemTools.cxx
+index 1e78d36..0713bab 100644
+--- Source/cmSystemTools.cxx
++++ Source/cmSystemTools.cxx
+@@ -1988,7 +1988,7 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ #ifdef CMAKE_BOOTSTRAP
+ // The bootstrap cmake does not provide the other tools,
+ // so use the directory where they are about to be built.
+- exe_dir = CMAKE_BOOTSTRAP_BINARY_DIR "/bin";
++ exe_dir = "/usr/bin";
+ #endif
+ cmSystemToolsCTestCommand =
+ cmStrCat(exe_dir, "/ctest", cmSystemTools::GetExecutableExtension());
+@@ -2010,7 +2010,6 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ cmSystemToolsCMClDepsCommand.clear();
+ }
+
+-#ifndef CMAKE_BOOTSTRAP
+ // Install tree has
+ // - "<prefix><CMAKE_BIN_DIR>/cmake"
+ // - "<prefix><CMAKE_DATA_DIR>"
+@@ -2041,10 +2040,6 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ }
+ }
+ }
+-#else
+- // Bootstrap build knows its source.
+- cmSystemToolsCMakeRoot = CMAKE_BOOTSTRAP_SOURCE_DIR;
+-#endif
+ }
+
+ std::string const& cmSystemTools::GetCMakeCommand()
+diff --git bootstrap bootstrap
+index 04067dc..832a7ab 100755
+--- bootstrap
++++ bootstrap
+@@ -812,14 +812,6 @@ cmake_try_run ()
+ echo "Test failed to produce executable"
+ return 2
+ fi
+- ./${TMPFILE}
+- RES=$?
+- rm -f "${TMPFILE}"
+- if test "${RES}" -ne "0"; then
+- echo "Test produced non-zero return code"
+- return 3
+- fi
+- echo "Test succeeded"
+ return 0
+ }
+
+@@ -839,13 +831,6 @@ cmake_try_make ()
+ echo "${COMPILER} does not produce output"
+ return 2
+ fi
+- ./test
+- RES=$?
+- rm -f "test"
+- if test "${RES}" -ne "0"; then
+- echo "${MAKE_PROC} produces strange executable"
+- return 3
+- fi
+ echo "${MAKE_PROC} works"
+ return 0
+ }
+@@ -1444,8 +1429,8 @@ cmake_report cmVersionConfig.h${_tmp} "#define CMake_VERSION \"${cmake_version}\
+ cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_SOURCE_DIR \"${CMAKE_BOOTSTRAP_SOURCE_DIR}\""
+ cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_BINARY_DIR \"${CMAKE_BOOTSTRAP_BINARY_DIR}\""
+ cmake_report cmConfigure.h${_tmp} "#define CMake_DEFAULT_RECURSION_LIMIT 400"
+-cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"/bootstrap-not-insalled\""
+-cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"/bootstrap-not-insalled\""
++cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"$cmake_bin_dir\""
++cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"$cmake_data_dir\""
+ cmake_report cmConfigure.h${_tmp} "#define CM_FALLTHROUGH"
+
+ if ${cmake_system_mingw}; then
+@@ -1691,45 +1676,3 @@ if test -f "${cmake_init_file}"; then
+ cat "${cmake_init_file}" >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake"
+ fi
+ )
+-
+-echo "---------------------------------------------"
+-
+-# Run make to build bootstrap cmake
+-if test "x${cmake_parallel_make}" != "x"; then
+- ${cmake_make_processor} ${cmake_make_flags}
+-else
+- ${cmake_make_processor}
+-fi
+-RES=$?
+-if test "${RES}" -ne "0"; then
+- cmake_error 9 "Problem while running ${cmake_make_processor}"
+-fi
+-cd "${cmake_binary_dir}"
+-
+-# Set C, CXX, and MAKE environment variables, so that real real cmake will be
+-# build with same compiler and make
+-CC="${cmake_c_compiler}"
+-CXX="${cmake_cxx_compiler}"
+-MAKE="${cmake_make_processor}"
+-export CC
+-export CXX
+-export MAKE
+-export CFLAGS
+-export CXXFLAGS
+-export LDFLAGS
+-
+-# Run bootstrap CMake to configure real CMake
+-cmake_options="-DCMAKE_BOOTSTRAP=1"
+-if test -n "${cmake_verbose}"; then
+- cmake_options="${cmake_options} -DCMAKE_VERBOSE_MAKEFILE=1"
+-fi
+-"${cmake_bootstrap_dir}/cmake" "${cmake_source_dir}" "-C${cmake_bootstrap_dir}/InitialCacheFlags.cmake" "-G${cmake_bootstrap_generator}" ${cmake_options} ${cmake_bootstrap_system_libs} "$@"
+-RES=$?
+-if test "${RES}" -ne "0"; then
+- cmake_error 11 "Problem while running initial CMake"
+-fi
+-
+-echo "---------------------------------------------"
+-
+-# And we are done. Now just run make
+-echo "CMake has bootstrapped. Now run ${cmake_make_processor}."
diff --git a/srcpkgs/cmake-bootstrap/template b/srcpkgs/cmake-bootstrap/template
new file mode 100644
index 00000000000..563435fa5a6
--- /dev/null
+++ b/srcpkgs/cmake-bootstrap/template
@@ -0,0 +1,52 @@
+# Template file for 'cmake-bootstrap'
+pkgname=cmake-bootstrap
+version=3.18.2
+revision=1
+wrksrc=cmake-$version
+bootstrap=yes
+build_style=configure
+configure_args="--prefix=/usr --datadir=share/$pkgname --bindir=bin
+ --system-libs --no-system-curl --no-system-jsoncpp --no-system-nghttp2
+ --no-system-librhash --no-system-libuv --no-system-expat --no-qt-gui
+ ${XBPS_MAKEJOBS:+--parallel=$XBPS_MAKEJOBS}"
+make_build_args="-C Bootstrap.cmk"
+makedepends="libarchive-devel"
+short_desc="CMake (bootstrapping version)"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="LGPL-2.1-or-later, BSD-3-Clause"
+homepage="https://www.cmake.org"
+distfiles="https://www.cmake.org/files/v${version%.*}/cmake-${version}.tar.gz"
+checksum=5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e
+conflicts="cmake>=0"
+
+CFLAGS="-DCMAKE_USE_SYSTEM_ZLIB -DCMAKE_USE_SYSTEM_LIBARCHIVE"
+CXXFLAGS="$CFLAGS"
+
+post_patch() {
+ rm -rf Utilities/cmbzip2
+ rm -rf Utilities/cmcurl
+ rm -rf Utilities/cmexpat
+ # rm -rf Utilities/cmjsoncpp
+ rm -rf Utilities/cmlibarchive
+ rm -rf Utilities/cmliblzma
+ rm -rf Utilities/cmlibrhash
+ rm -rf Utilities/cmnghttp2
+ rm -rf Utilities/cmzlib
+ rm -rf Utilities/cmzstd
+}
+
+do_check() {
+ : "real cmake is never built"
+}
+
+do_install() {
+ vbin Bootstrap.cmk/cmake
+ vmkdir usr/share/$pkgname
+ vcopy Modules usr/share/$pkgname
+ vcopy Templates usr/share/$pkgname
+
+ vlicense Copyright.txt
+ vlicense Utilities/KWIML/Copyright.txt KWIML-Copyright.txt
+ vlicense Utilities/cmlibuv/LICENSE libuv-LICENSE
+ vlicense Utilities/cmjsoncpp/LICENSE jsoncpp-LICENSE
+}
From fbb4627c529c4fe268ec6206c4da24ce5efe15b7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Tue, 20 Oct 2020 13:35:22 +0200
Subject: [PATCH 2/4] build-style cmake: depend only if $CHROOT_READY
---
common/environment/build-style/cmake.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/common/environment/build-style/cmake.sh b/common/environment/build-style/cmake.sh
index 41f758a69a6..25bd8a388ec 100644
--- a/common/environment/build-style/cmake.sh
+++ b/common/environment/build-style/cmake.sh
@@ -1 +1,5 @@
-hostmakedepends+=" cmake"
+if [ "$CHROOT_READY" ]; then
+ if [[ "$hostmakedepends" != *"cmake-bootstrap"* ]]; then
+ hostmakedepends+=" cmake"
+ fi
+fi
From 2b4b929a928884cda59ad696316d35d9e2595320 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Sun, 18 Oct 2020 22:01:57 +0200
Subject: [PATCH 3/4] ccache: update to 4.0
This release changes from using autoconf to cmake.
---
srcpkgs/ccache/template | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/ccache/template b/srcpkgs/ccache/template
index 481c4466199..e8d8b35e76b 100644
--- a/srcpkgs/ccache/template
+++ b/srcpkgs/ccache/template
@@ -1,11 +1,11 @@
# Template file for 'ccache'
pkgname=ccache
-version=3.7.12
+version=4.0
revision=1
bootstrap=yes
-build_style=gnu-configure
-make_check_args="CC=gcc"
-makedepends="zlib-devel"
+build_style=cmake
+hostmakedepends="cmake-bootstrap"
+makedepends="libzstd-devel zlib-devel"
checkdepends="perl"
short_desc="Fast C/C++ Compiler Cache"
maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -13,7 +13,12 @@ license="GPL-3.0-or-later"
homepage="https://ccache.samba.org/"
changelog="https://ccache.dev/releasenotes.html"
distfiles="https://github.com/ccache/ccache/releases/download/v${version}/${pkgname}-${version}.tar.xz"
-checksum=a02f4e8360dc6618bc494ca35b0ae21cea080f804a4898eab1ad3fcd108eb400
+checksum=ac1b82fe0a5e39905945c4d68fcb24bd0f32344869faf647a1b8d31e544dcb88
+
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+ makedepends+=" libatomic-devel"
+ configure_args="-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
+fi
post_install() {
vmkdir usr/lib/ccache/bin
From fd03a01ea14217b4f4d7ec66bc1ee8441f2c422d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 20 Oct 2020 22:20:24 +0700
Subject: [PATCH 4/4] cmake: build with cmake-bootstrap, use system libuv,
rhash on cross
---
srcpkgs/cmake/template | 25 ++++++++++---------------
1 file changed, 10 insertions(+), 15 deletions(-)
diff --git a/srcpkgs/cmake/template b/srcpkgs/cmake/template
index 808d69caec6..a3fc64c83a2 100644
--- a/srcpkgs/cmake/template
+++ b/srcpkgs/cmake/template
@@ -1,11 +1,17 @@
# Template file for 'cmake'
pkgname=cmake
version=3.18.2
-revision=1
-build_style=configure
-configure_args="--prefix=/usr --mandir=/share/man --docdir=/share/doc/cmake
- --system-libs --no-system-jsoncpp ${XBPS_MAKEJOBS:+--parallel=$XBPS_MAKEJOBS}"
+revision=2
+build_style=cmake
+configure_args="-DCMAKE_DOC_DIR=/share/doc/cmake
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_USE_SYSTEM_LIBARCHIVE=1
+ -DCMAKE_USE_SYSTEM_CURL=1 -DCMAKE_USE_SYSTEM_ZLIB=1
+ -DCMAKE_USE_SYSTEM_EXPAT=1 -DCMAKE_USE_SYSTEM_BZIP2=1
+ -DCMAKE_USE_SYSTEM_LIBUV=1 -DCMAKE_USE_SYSTEM_LIBRHASH=1
+ -DCMAKE_USE_SYSTEM_LIBLZMA=1 -DKWSYS_LFS_WORKS=1"
make_check_target=test
+hostmakedepends="cmake-bootstrap gcc-fortran"
makedepends="expat-devel libarchive-devel libcurl-devel libuv-devel
ncurses-devel rhash-devel"
checkdepends="pax pkg-config"
@@ -16,17 +22,6 @@ homepage="https://www.cmake.org"
distfiles="https://www.cmake.org/files/v${version%.*}/${pkgname}-${version}.tar.gz"
checksum=5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e
-if [ "$CROSS_BUILD" ]; then
- # XXX ugly :-)
- build_style=cmake
- hostmakedepends="cmake gcc-fortran"
- configure_args=" -DCMAKE_DOC_DIR=/share/doc/cmake
- -DCMAKE_USE_SYSTEM_LIBARCHIVE=1
- -DCMAKE_USE_SYSTEM_CURL=1 -DCMAKE_USE_SYSTEM_ZLIB=1
- -DCMAKE_USE_SYSTEM_EXPAT=1 -DCMAKE_USE_SYSTEM_BZIP2=1
- -DCMAKE_USE_SYSTEM_LIBLZMA=1 -DKWSYS_LFS_WORKS=1"
-fi
-
post_install() {
rm -rf ${DESTDIR}/usr/share/doc/cmake
vlicense Copyright.txt
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR REVIEW] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (17 preceding siblings ...)
2020-10-21 11:16 ` [PR PATCH] [Updated] " sgn
@ 2020-10-21 14:18 ` sgn
2020-10-21 14:18 ` sgn
` (14 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-21 14:18 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 243 bytes --]
New review comment by sgn on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#discussion_r509327376
Comment:
Heh, they self-claimed "cross-platform make" and I was lazy. I'll be more lazy to just write "CMake"
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (18 preceding siblings ...)
2020-10-21 14:18 ` [PR REVIEW] " sgn
@ 2020-10-21 14:18 ` sgn
2020-10-21 14:42 ` pullmoll
` (13 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-21 14:18 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 508 bytes --]
New comment by sgn on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#issuecomment-713611534
Comment:
> Running `./xbps-src bootstrap` now behaves odd.
> It seems to enter an endless loop trying to build `ncurses`.
> When I break with `^C` and redo the command it succeeds.
> Not sure what kind of dependency loop (?) is causing this.
>
> Did you try a `bootstrap`?
Still running, my main machine is going down, so I need to `bootstrap` on real crappy machine now.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (19 preceding siblings ...)
2020-10-21 14:18 ` sgn
@ 2020-10-21 14:42 ` pullmoll
2020-10-21 15:13 ` sgn
` (12 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: pullmoll @ 2020-10-21 14:42 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 387 bytes --]
New comment by pullmoll on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#issuecomment-713627744
Comment:
I've been testing it and already successfully built [x86_64 bootstrap stage0 + stage1, cross base-chroot for i686 and x86_64-musl, and several thousand x86_64 packages](https://repo.voidlinux.de) without issues so far. IMO this PR can be merged.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (20 preceding siblings ...)
2020-10-21 14:42 ` pullmoll
@ 2020-10-21 15:13 ` sgn
2020-10-21 15:14 ` sgn
` (11 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-21 15:13 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 221 bytes --]
New comment by sgn on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#issuecomment-713649500
Comment:
I'll let someone else press the merge button. I've received enough blame those days.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (21 preceding siblings ...)
2020-10-21 15:13 ` sgn
@ 2020-10-21 15:14 ` sgn
2020-10-21 18:35 ` [PR REVIEW] " ericonr
` (10 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-21 15:14 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 182 bytes --]
New comment by sgn on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#issuecomment-713649500
Comment:
I'll let someone else press the merge button.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR REVIEW] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (22 preceding siblings ...)
2020-10-21 15:14 ` sgn
@ 2020-10-21 18:35 ` ericonr
2020-10-21 18:35 ` ericonr
` (9 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: ericonr @ 2020-10-21 18:35 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 226 bytes --]
New review comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#discussion_r509552571
Comment:
shouldn't this be "full cmake" ? It's still real in that it can build packages.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR REVIEW] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (23 preceding siblings ...)
2020-10-21 18:35 ` [PR REVIEW] " ericonr
@ 2020-10-21 18:35 ` ericonr
2020-10-21 22:51 ` sgn
` (8 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: ericonr @ 2020-10-21 18:35 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 169 bytes --]
New review comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#discussion_r509552259
Comment:
why is this commented?
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR REVIEW] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (24 preceding siblings ...)
2020-10-21 18:35 ` ericonr
@ 2020-10-21 22:51 ` sgn
2020-10-21 22:55 ` sgn
` (7 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-21 22:51 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 296 bytes --]
New review comment by sgn on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#discussion_r509778604
Comment:
Originally, I wanted to remove all 3rd party libraries except `libuv` since I know that `libuv` is required. I found out `jsoncpp` was required later on.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR REVIEW] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (25 preceding siblings ...)
2020-10-21 22:51 ` sgn
@ 2020-10-21 22:55 ` sgn
2020-10-21 22:58 ` [PR PATCH] [Updated] " sgn
` (6 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-21 22:55 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 268 bytes --]
New review comment by sgn on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#discussion_r509781627
Comment:
I used that because CMake uses `real real cmake` to talk about `cmake`, I'll change description to "this is half baked cmake"
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR PATCH] [Updated] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (26 preceding siblings ...)
2020-10-21 22:55 ` sgn
@ 2020-10-21 22:58 ` sgn
2020-10-22 11:00 ` sgn
` (5 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-21 22:58 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 429 bytes --]
There is an updated pull request by sgn against master on the void-packages repository
https://github.com/sgn/void-packages chroot-cmake-and-ccache
https://github.com/void-linux/void-packages/pull/25753
ccache: update to 4.0 (alternative approach for chroot-cmake)
Alternative for https://github.com/void-linux/void-packages/pull/25724
A patch file from https://github.com/void-linux/void-packages/pull/25753.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chroot-cmake-and-ccache-25753.patch --]
[-- Type: text/x-diff, Size: 11164 bytes --]
From f2758d30c9b66efca88681c773d0d677ac2c4130 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 20 Oct 2020 21:32:03 +0700
Subject: [PATCH 1/4] New package: cmake-bootstrap-3.18.2
---
.../patches/only-want-half-baked-cmake.patch | 122 ++++++++++++++++++
srcpkgs/cmake-bootstrap/template | 51 ++++++++
2 files changed, 173 insertions(+)
create mode 100644 srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch
create mode 100644 srcpkgs/cmake-bootstrap/template
diff --git a/srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch b/srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch
new file mode 100644
index 00000000000..1074b068c8d
--- /dev/null
+++ b/srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch
@@ -0,0 +1,122 @@
+diff --git Source/cmSystemTools.cxx Source/cmSystemTools.cxx
+index 1e78d36..0713bab 100644
+--- Source/cmSystemTools.cxx
++++ Source/cmSystemTools.cxx
+@@ -1988,7 +1988,7 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ #ifdef CMAKE_BOOTSTRAP
+ // The bootstrap cmake does not provide the other tools,
+ // so use the directory where they are about to be built.
+- exe_dir = CMAKE_BOOTSTRAP_BINARY_DIR "/bin";
++ exe_dir = "/usr/bin";
+ #endif
+ cmSystemToolsCTestCommand =
+ cmStrCat(exe_dir, "/ctest", cmSystemTools::GetExecutableExtension());
+@@ -2010,7 +2010,6 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ cmSystemToolsCMClDepsCommand.clear();
+ }
+
+-#ifndef CMAKE_BOOTSTRAP
+ // Install tree has
+ // - "<prefix><CMAKE_BIN_DIR>/cmake"
+ // - "<prefix><CMAKE_DATA_DIR>"
+@@ -2041,10 +2040,6 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ }
+ }
+ }
+-#else
+- // Bootstrap build knows its source.
+- cmSystemToolsCMakeRoot = CMAKE_BOOTSTRAP_SOURCE_DIR;
+-#endif
+ }
+
+ std::string const& cmSystemTools::GetCMakeCommand()
+diff --git bootstrap bootstrap
+index 04067dc..832a7ab 100755
+--- bootstrap
++++ bootstrap
+@@ -812,14 +812,6 @@ cmake_try_run ()
+ echo "Test failed to produce executable"
+ return 2
+ fi
+- ./${TMPFILE}
+- RES=$?
+- rm -f "${TMPFILE}"
+- if test "${RES}" -ne "0"; then
+- echo "Test produced non-zero return code"
+- return 3
+- fi
+- echo "Test succeeded"
+ return 0
+ }
+
+@@ -839,13 +831,6 @@ cmake_try_make ()
+ echo "${COMPILER} does not produce output"
+ return 2
+ fi
+- ./test
+- RES=$?
+- rm -f "test"
+- if test "${RES}" -ne "0"; then
+- echo "${MAKE_PROC} produces strange executable"
+- return 3
+- fi
+ echo "${MAKE_PROC} works"
+ return 0
+ }
+@@ -1444,8 +1429,8 @@ cmake_report cmVersionConfig.h${_tmp} "#define CMake_VERSION \"${cmake_version}\
+ cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_SOURCE_DIR \"${CMAKE_BOOTSTRAP_SOURCE_DIR}\""
+ cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_BINARY_DIR \"${CMAKE_BOOTSTRAP_BINARY_DIR}\""
+ cmake_report cmConfigure.h${_tmp} "#define CMake_DEFAULT_RECURSION_LIMIT 400"
+-cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"/bootstrap-not-insalled\""
+-cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"/bootstrap-not-insalled\""
++cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"$cmake_bin_dir\""
++cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"$cmake_data_dir\""
+ cmake_report cmConfigure.h${_tmp} "#define CM_FALLTHROUGH"
+
+ if ${cmake_system_mingw}; then
+@@ -1691,45 +1676,3 @@ if test -f "${cmake_init_file}"; then
+ cat "${cmake_init_file}" >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake"
+ fi
+ )
+-
+-echo "---------------------------------------------"
+-
+-# Run make to build bootstrap cmake
+-if test "x${cmake_parallel_make}" != "x"; then
+- ${cmake_make_processor} ${cmake_make_flags}
+-else
+- ${cmake_make_processor}
+-fi
+-RES=$?
+-if test "${RES}" -ne "0"; then
+- cmake_error 9 "Problem while running ${cmake_make_processor}"
+-fi
+-cd "${cmake_binary_dir}"
+-
+-# Set C, CXX, and MAKE environment variables, so that real real cmake will be
+-# build with same compiler and make
+-CC="${cmake_c_compiler}"
+-CXX="${cmake_cxx_compiler}"
+-MAKE="${cmake_make_processor}"
+-export CC
+-export CXX
+-export MAKE
+-export CFLAGS
+-export CXXFLAGS
+-export LDFLAGS
+-
+-# Run bootstrap CMake to configure real CMake
+-cmake_options="-DCMAKE_BOOTSTRAP=1"
+-if test -n "${cmake_verbose}"; then
+- cmake_options="${cmake_options} -DCMAKE_VERBOSE_MAKEFILE=1"
+-fi
+-"${cmake_bootstrap_dir}/cmake" "${cmake_source_dir}" "-C${cmake_bootstrap_dir}/InitialCacheFlags.cmake" "-G${cmake_bootstrap_generator}" ${cmake_options} ${cmake_bootstrap_system_libs} "$@"
+-RES=$?
+-if test "${RES}" -ne "0"; then
+- cmake_error 11 "Problem while running initial CMake"
+-fi
+-
+-echo "---------------------------------------------"
+-
+-# And we are done. Now just run make
+-echo "CMake has bootstrapped. Now run ${cmake_make_processor}."
diff --git a/srcpkgs/cmake-bootstrap/template b/srcpkgs/cmake-bootstrap/template
new file mode 100644
index 00000000000..8ae4e76dce5
--- /dev/null
+++ b/srcpkgs/cmake-bootstrap/template
@@ -0,0 +1,51 @@
+# Template file for 'cmake-bootstrap'
+pkgname=cmake-bootstrap
+version=3.18.2
+revision=1
+wrksrc=cmake-$version
+bootstrap=yes
+build_style=configure
+configure_args="--prefix=/usr --datadir=share/$pkgname --bindir=bin
+ --system-libs --no-system-curl --no-system-jsoncpp --no-system-nghttp2
+ --no-system-librhash --no-system-libuv --no-system-expat --no-qt-gui
+ ${XBPS_MAKEJOBS:+--parallel=$XBPS_MAKEJOBS}"
+make_build_args="-C Bootstrap.cmk"
+makedepends="libarchive-devel"
+short_desc="CMake (for bootstrapping only, not for normal usage)"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="LGPL-2.1-or-later, BSD-3-Clause"
+homepage="https://www.cmake.org"
+distfiles="https://www.cmake.org/files/v${version%.*}/cmake-${version}.tar.gz"
+checksum=5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e
+conflicts="cmake>=0"
+
+CFLAGS="-DCMAKE_USE_SYSTEM_ZLIB -DCMAKE_USE_SYSTEM_LIBARCHIVE"
+CXXFLAGS="$CFLAGS"
+
+post_patch() {
+ rm -rf Utilities/cmbzip2
+ rm -rf Utilities/cmcurl
+ rm -rf Utilities/cmexpat
+ rm -rf Utilities/cmlibarchive
+ rm -rf Utilities/cmliblzma
+ rm -rf Utilities/cmlibrhash
+ rm -rf Utilities/cmnghttp2
+ rm -rf Utilities/cmzlib
+ rm -rf Utilities/cmzstd
+}
+
+do_check() {
+ : "this is half baked cmake"
+}
+
+do_install() {
+ vbin Bootstrap.cmk/cmake
+ vmkdir usr/share/$pkgname
+ vcopy Modules usr/share/$pkgname
+ vcopy Templates usr/share/$pkgname
+
+ vlicense Copyright.txt
+ vlicense Utilities/KWIML/Copyright.txt KWIML-Copyright.txt
+ vlicense Utilities/cmlibuv/LICENSE libuv-LICENSE
+ vlicense Utilities/cmjsoncpp/LICENSE jsoncpp-LICENSE
+}
From 85f5c5ef67556b91a780a0b546fc3c88171ba706 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Tue, 20 Oct 2020 13:35:22 +0200
Subject: [PATCH 2/4] build-style cmake: depend only if $CHROOT_READY
---
common/environment/build-style/cmake.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/common/environment/build-style/cmake.sh b/common/environment/build-style/cmake.sh
index 41f758a69a6..25bd8a388ec 100644
--- a/common/environment/build-style/cmake.sh
+++ b/common/environment/build-style/cmake.sh
@@ -1 +1,5 @@
-hostmakedepends+=" cmake"
+if [ "$CHROOT_READY" ]; then
+ if [[ "$hostmakedepends" != *"cmake-bootstrap"* ]]; then
+ hostmakedepends+=" cmake"
+ fi
+fi
From cf48e2b492b294ac536c444dd10124d5fd27b90c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Sun, 18 Oct 2020 22:01:57 +0200
Subject: [PATCH 3/4] ccache: update to 4.0
This release changes from using autoconf to cmake.
---
srcpkgs/ccache/template | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/ccache/template b/srcpkgs/ccache/template
index 481c4466199..e8d8b35e76b 100644
--- a/srcpkgs/ccache/template
+++ b/srcpkgs/ccache/template
@@ -1,11 +1,11 @@
# Template file for 'ccache'
pkgname=ccache
-version=3.7.12
+version=4.0
revision=1
bootstrap=yes
-build_style=gnu-configure
-make_check_args="CC=gcc"
-makedepends="zlib-devel"
+build_style=cmake
+hostmakedepends="cmake-bootstrap"
+makedepends="libzstd-devel zlib-devel"
checkdepends="perl"
short_desc="Fast C/C++ Compiler Cache"
maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -13,7 +13,12 @@ license="GPL-3.0-or-later"
homepage="https://ccache.samba.org/"
changelog="https://ccache.dev/releasenotes.html"
distfiles="https://github.com/ccache/ccache/releases/download/v${version}/${pkgname}-${version}.tar.xz"
-checksum=a02f4e8360dc6618bc494ca35b0ae21cea080f804a4898eab1ad3fcd108eb400
+checksum=ac1b82fe0a5e39905945c4d68fcb24bd0f32344869faf647a1b8d31e544dcb88
+
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+ makedepends+=" libatomic-devel"
+ configure_args="-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
+fi
post_install() {
vmkdir usr/lib/ccache/bin
From da8a6ca2c13888c8a6cb3b0f2d99e1a5a0ff2402 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 20 Oct 2020 22:20:24 +0700
Subject: [PATCH 4/4] cmake: build with cmake-bootstrap, use system libuv,
rhash on cross
---
srcpkgs/cmake/template | 25 ++++++++++---------------
1 file changed, 10 insertions(+), 15 deletions(-)
diff --git a/srcpkgs/cmake/template b/srcpkgs/cmake/template
index 808d69caec6..a3fc64c83a2 100644
--- a/srcpkgs/cmake/template
+++ b/srcpkgs/cmake/template
@@ -1,11 +1,17 @@
# Template file for 'cmake'
pkgname=cmake
version=3.18.2
-revision=1
-build_style=configure
-configure_args="--prefix=/usr --mandir=/share/man --docdir=/share/doc/cmake
- --system-libs --no-system-jsoncpp ${XBPS_MAKEJOBS:+--parallel=$XBPS_MAKEJOBS}"
+revision=2
+build_style=cmake
+configure_args="-DCMAKE_DOC_DIR=/share/doc/cmake
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_USE_SYSTEM_LIBARCHIVE=1
+ -DCMAKE_USE_SYSTEM_CURL=1 -DCMAKE_USE_SYSTEM_ZLIB=1
+ -DCMAKE_USE_SYSTEM_EXPAT=1 -DCMAKE_USE_SYSTEM_BZIP2=1
+ -DCMAKE_USE_SYSTEM_LIBUV=1 -DCMAKE_USE_SYSTEM_LIBRHASH=1
+ -DCMAKE_USE_SYSTEM_LIBLZMA=1 -DKWSYS_LFS_WORKS=1"
make_check_target=test
+hostmakedepends="cmake-bootstrap gcc-fortran"
makedepends="expat-devel libarchive-devel libcurl-devel libuv-devel
ncurses-devel rhash-devel"
checkdepends="pax pkg-config"
@@ -16,17 +22,6 @@ homepage="https://www.cmake.org"
distfiles="https://www.cmake.org/files/v${version%.*}/${pkgname}-${version}.tar.gz"
checksum=5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e
-if [ "$CROSS_BUILD" ]; then
- # XXX ugly :-)
- build_style=cmake
- hostmakedepends="cmake gcc-fortran"
- configure_args=" -DCMAKE_DOC_DIR=/share/doc/cmake
- -DCMAKE_USE_SYSTEM_LIBARCHIVE=1
- -DCMAKE_USE_SYSTEM_CURL=1 -DCMAKE_USE_SYSTEM_ZLIB=1
- -DCMAKE_USE_SYSTEM_EXPAT=1 -DCMAKE_USE_SYSTEM_BZIP2=1
- -DCMAKE_USE_SYSTEM_LIBLZMA=1 -DKWSYS_LFS_WORKS=1"
-fi
-
post_install() {
rm -rf ${DESTDIR}/usr/share/doc/cmake
vlicense Copyright.txt
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR PATCH] [Updated] ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (27 preceding siblings ...)
2020-10-21 22:58 ` [PR PATCH] [Updated] " sgn
@ 2020-10-22 11:00 ` sgn
2020-10-22 14:07 ` sgn
` (4 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-22 11:00 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 429 bytes --]
There is an updated pull request by sgn against master on the void-packages repository
https://github.com/sgn/void-packages chroot-cmake-and-ccache
https://github.com/void-linux/void-packages/pull/25753
ccache: update to 4.0 (alternative approach for chroot-cmake)
Alternative for https://github.com/void-linux/void-packages/pull/25724
A patch file from https://github.com/void-linux/void-packages/pull/25753.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chroot-cmake-and-ccache-25753.patch --]
[-- Type: text/x-diff, Size: 11194 bytes --]
From 7c19b7615a264c0bf105bc94ee4ee51e08334f0d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 20 Oct 2020 21:32:03 +0700
Subject: [PATCH 1/4] New package: cmake-bootstrap-3.18.2
---
.../patches/only-want-half-baked-cmake.patch | 122 ++++++++++++++++++
srcpkgs/cmake-bootstrap/template | 51 ++++++++
2 files changed, 173 insertions(+)
create mode 100644 srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch
create mode 100644 srcpkgs/cmake-bootstrap/template
diff --git a/srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch b/srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch
new file mode 100644
index 00000000000..07279cf6887
--- /dev/null
+++ b/srcpkgs/cmake-bootstrap/patches/only-want-half-baked-cmake.patch
@@ -0,0 +1,122 @@
+diff --git Source/cmSystemTools.cxx Source/cmSystemTools.cxx
+index 1e78d36..a678122 100644
+--- Source/cmSystemTools.cxx
++++ Source/cmSystemTools.cxx
+@@ -1988,7 +1988,7 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ #ifdef CMAKE_BOOTSTRAP
+ // The bootstrap cmake does not provide the other tools,
+ // so use the directory where they are about to be built.
+- exe_dir = CMAKE_BOOTSTRAP_BINARY_DIR "/bin";
++ // this cmake will be installed to system directory
+ #endif
+ cmSystemToolsCTestCommand =
+ cmStrCat(exe_dir, "/ctest", cmSystemTools::GetExecutableExtension());
+@@ -2010,7 +2010,6 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ cmSystemToolsCMClDepsCommand.clear();
+ }
+
+-#ifndef CMAKE_BOOTSTRAP
+ // Install tree has
+ // - "<prefix><CMAKE_BIN_DIR>/cmake"
+ // - "<prefix><CMAKE_DATA_DIR>"
+@@ -2041,10 +2040,6 @@ void cmSystemTools::FindCMakeResources(const char* argv0)
+ }
+ }
+ }
+-#else
+- // Bootstrap build knows its source.
+- cmSystemToolsCMakeRoot = CMAKE_BOOTSTRAP_SOURCE_DIR;
+-#endif
+ }
+
+ std::string const& cmSystemTools::GetCMakeCommand()
+diff --git bootstrap bootstrap
+index 04067dc..832a7ab 100755
+--- bootstrap
++++ bootstrap
+@@ -812,14 +812,6 @@ cmake_try_run ()
+ echo "Test failed to produce executable"
+ return 2
+ fi
+- ./${TMPFILE}
+- RES=$?
+- rm -f "${TMPFILE}"
+- if test "${RES}" -ne "0"; then
+- echo "Test produced non-zero return code"
+- return 3
+- fi
+- echo "Test succeeded"
+ return 0
+ }
+
+@@ -839,13 +831,6 @@ cmake_try_make ()
+ echo "${COMPILER} does not produce output"
+ return 2
+ fi
+- ./test
+- RES=$?
+- rm -f "test"
+- if test "${RES}" -ne "0"; then
+- echo "${MAKE_PROC} produces strange executable"
+- return 3
+- fi
+ echo "${MAKE_PROC} works"
+ return 0
+ }
+@@ -1444,8 +1429,8 @@ cmake_report cmVersionConfig.h${_tmp} "#define CMake_VERSION \"${cmake_version}\
+ cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_SOURCE_DIR \"${CMAKE_BOOTSTRAP_SOURCE_DIR}\""
+ cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_BINARY_DIR \"${CMAKE_BOOTSTRAP_BINARY_DIR}\""
+ cmake_report cmConfigure.h${_tmp} "#define CMake_DEFAULT_RECURSION_LIMIT 400"
+-cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"/bootstrap-not-insalled\""
+-cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"/bootstrap-not-insalled\""
++cmake_report cmConfigure.h${_tmp} "#define CMAKE_BIN_DIR \"$cmake_bin_dir\""
++cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"$cmake_data_dir\""
+ cmake_report cmConfigure.h${_tmp} "#define CM_FALLTHROUGH"
+
+ if ${cmake_system_mingw}; then
+@@ -1691,45 +1676,3 @@ if test -f "${cmake_init_file}"; then
+ cat "${cmake_init_file}" >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake"
+ fi
+ )
+-
+-echo "---------------------------------------------"
+-
+-# Run make to build bootstrap cmake
+-if test "x${cmake_parallel_make}" != "x"; then
+- ${cmake_make_processor} ${cmake_make_flags}
+-else
+- ${cmake_make_processor}
+-fi
+-RES=$?
+-if test "${RES}" -ne "0"; then
+- cmake_error 9 "Problem while running ${cmake_make_processor}"
+-fi
+-cd "${cmake_binary_dir}"
+-
+-# Set C, CXX, and MAKE environment variables, so that real real cmake will be
+-# build with same compiler and make
+-CC="${cmake_c_compiler}"
+-CXX="${cmake_cxx_compiler}"
+-MAKE="${cmake_make_processor}"
+-export CC
+-export CXX
+-export MAKE
+-export CFLAGS
+-export CXXFLAGS
+-export LDFLAGS
+-
+-# Run bootstrap CMake to configure real CMake
+-cmake_options="-DCMAKE_BOOTSTRAP=1"
+-if test -n "${cmake_verbose}"; then
+- cmake_options="${cmake_options} -DCMAKE_VERBOSE_MAKEFILE=1"
+-fi
+-"${cmake_bootstrap_dir}/cmake" "${cmake_source_dir}" "-C${cmake_bootstrap_dir}/InitialCacheFlags.cmake" "-G${cmake_bootstrap_generator}" ${cmake_options} ${cmake_bootstrap_system_libs} "$@"
+-RES=$?
+-if test "${RES}" -ne "0"; then
+- cmake_error 11 "Problem while running initial CMake"
+-fi
+-
+-echo "---------------------------------------------"
+-
+-# And we are done. Now just run make
+-echo "CMake has bootstrapped. Now run ${cmake_make_processor}."
diff --git a/srcpkgs/cmake-bootstrap/template b/srcpkgs/cmake-bootstrap/template
new file mode 100644
index 00000000000..8ae4e76dce5
--- /dev/null
+++ b/srcpkgs/cmake-bootstrap/template
@@ -0,0 +1,51 @@
+# Template file for 'cmake-bootstrap'
+pkgname=cmake-bootstrap
+version=3.18.2
+revision=1
+wrksrc=cmake-$version
+bootstrap=yes
+build_style=configure
+configure_args="--prefix=/usr --datadir=share/$pkgname --bindir=bin
+ --system-libs --no-system-curl --no-system-jsoncpp --no-system-nghttp2
+ --no-system-librhash --no-system-libuv --no-system-expat --no-qt-gui
+ ${XBPS_MAKEJOBS:+--parallel=$XBPS_MAKEJOBS}"
+make_build_args="-C Bootstrap.cmk"
+makedepends="libarchive-devel"
+short_desc="CMake (for bootstrapping only, not for normal usage)"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="LGPL-2.1-or-later, BSD-3-Clause"
+homepage="https://www.cmake.org"
+distfiles="https://www.cmake.org/files/v${version%.*}/cmake-${version}.tar.gz"
+checksum=5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e
+conflicts="cmake>=0"
+
+CFLAGS="-DCMAKE_USE_SYSTEM_ZLIB -DCMAKE_USE_SYSTEM_LIBARCHIVE"
+CXXFLAGS="$CFLAGS"
+
+post_patch() {
+ rm -rf Utilities/cmbzip2
+ rm -rf Utilities/cmcurl
+ rm -rf Utilities/cmexpat
+ rm -rf Utilities/cmlibarchive
+ rm -rf Utilities/cmliblzma
+ rm -rf Utilities/cmlibrhash
+ rm -rf Utilities/cmnghttp2
+ rm -rf Utilities/cmzlib
+ rm -rf Utilities/cmzstd
+}
+
+do_check() {
+ : "this is half baked cmake"
+}
+
+do_install() {
+ vbin Bootstrap.cmk/cmake
+ vmkdir usr/share/$pkgname
+ vcopy Modules usr/share/$pkgname
+ vcopy Templates usr/share/$pkgname
+
+ vlicense Copyright.txt
+ vlicense Utilities/KWIML/Copyright.txt KWIML-Copyright.txt
+ vlicense Utilities/cmlibuv/LICENSE libuv-LICENSE
+ vlicense Utilities/cmjsoncpp/LICENSE jsoncpp-LICENSE
+}
From 2a9d7282e36aa682b96ce5adb531fb307d2ff91f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Tue, 20 Oct 2020 13:35:22 +0200
Subject: [PATCH 2/4] build-style cmake: depend only if $CHROOT_READY
---
common/environment/build-style/cmake.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/common/environment/build-style/cmake.sh b/common/environment/build-style/cmake.sh
index 41f758a69a6..25bd8a388ec 100644
--- a/common/environment/build-style/cmake.sh
+++ b/common/environment/build-style/cmake.sh
@@ -1 +1,5 @@
-hostmakedepends+=" cmake"
+if [ "$CHROOT_READY" ]; then
+ if [[ "$hostmakedepends" != *"cmake-bootstrap"* ]]; then
+ hostmakedepends+=" cmake"
+ fi
+fi
From 28a465eca09a36a6b2ef8da44bc86427bd3a2cb4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Sun, 18 Oct 2020 22:01:57 +0200
Subject: [PATCH 3/4] ccache: update to 4.0
This release changes from using autoconf to cmake.
---
srcpkgs/ccache/template | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/ccache/template b/srcpkgs/ccache/template
index 481c4466199..e8d8b35e76b 100644
--- a/srcpkgs/ccache/template
+++ b/srcpkgs/ccache/template
@@ -1,11 +1,11 @@
# Template file for 'ccache'
pkgname=ccache
-version=3.7.12
+version=4.0
revision=1
bootstrap=yes
-build_style=gnu-configure
-make_check_args="CC=gcc"
-makedepends="zlib-devel"
+build_style=cmake
+hostmakedepends="cmake-bootstrap"
+makedepends="libzstd-devel zlib-devel"
checkdepends="perl"
short_desc="Fast C/C++ Compiler Cache"
maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -13,7 +13,12 @@ license="GPL-3.0-or-later"
homepage="https://ccache.samba.org/"
changelog="https://ccache.dev/releasenotes.html"
distfiles="https://github.com/ccache/ccache/releases/download/v${version}/${pkgname}-${version}.tar.xz"
-checksum=a02f4e8360dc6618bc494ca35b0ae21cea080f804a4898eab1ad3fcd108eb400
+checksum=ac1b82fe0a5e39905945c4d68fcb24bd0f32344869faf647a1b8d31e544dcb88
+
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+ makedepends+=" libatomic-devel"
+ configure_args="-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
+fi
post_install() {
vmkdir usr/lib/ccache/bin
From 978d7165ae664fd594457a80e798d108bafc0f10 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 20 Oct 2020 22:20:24 +0700
Subject: [PATCH 4/4] cmake: build with cmake-bootstrap, use system libuv,
rhash on cross
---
srcpkgs/cmake/template | 25 ++++++++++---------------
1 file changed, 10 insertions(+), 15 deletions(-)
diff --git a/srcpkgs/cmake/template b/srcpkgs/cmake/template
index 808d69caec6..a3fc64c83a2 100644
--- a/srcpkgs/cmake/template
+++ b/srcpkgs/cmake/template
@@ -1,11 +1,17 @@
# Template file for 'cmake'
pkgname=cmake
version=3.18.2
-revision=1
-build_style=configure
-configure_args="--prefix=/usr --mandir=/share/man --docdir=/share/doc/cmake
- --system-libs --no-system-jsoncpp ${XBPS_MAKEJOBS:+--parallel=$XBPS_MAKEJOBS}"
+revision=2
+build_style=cmake
+configure_args="-DCMAKE_DOC_DIR=/share/doc/cmake
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_USE_SYSTEM_LIBARCHIVE=1
+ -DCMAKE_USE_SYSTEM_CURL=1 -DCMAKE_USE_SYSTEM_ZLIB=1
+ -DCMAKE_USE_SYSTEM_EXPAT=1 -DCMAKE_USE_SYSTEM_BZIP2=1
+ -DCMAKE_USE_SYSTEM_LIBUV=1 -DCMAKE_USE_SYSTEM_LIBRHASH=1
+ -DCMAKE_USE_SYSTEM_LIBLZMA=1 -DKWSYS_LFS_WORKS=1"
make_check_target=test
+hostmakedepends="cmake-bootstrap gcc-fortran"
makedepends="expat-devel libarchive-devel libcurl-devel libuv-devel
ncurses-devel rhash-devel"
checkdepends="pax pkg-config"
@@ -16,17 +22,6 @@ homepage="https://www.cmake.org"
distfiles="https://www.cmake.org/files/v${version%.*}/${pkgname}-${version}.tar.gz"
checksum=5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e
-if [ "$CROSS_BUILD" ]; then
- # XXX ugly :-)
- build_style=cmake
- hostmakedepends="cmake gcc-fortran"
- configure_args=" -DCMAKE_DOC_DIR=/share/doc/cmake
- -DCMAKE_USE_SYSTEM_LIBARCHIVE=1
- -DCMAKE_USE_SYSTEM_CURL=1 -DCMAKE_USE_SYSTEM_ZLIB=1
- -DCMAKE_USE_SYSTEM_EXPAT=1 -DCMAKE_USE_SYSTEM_BZIP2=1
- -DCMAKE_USE_SYSTEM_LIBLZMA=1 -DKWSYS_LFS_WORKS=1"
-fi
-
post_install() {
rm -rf ${DESTDIR}/usr/share/doc/cmake
vlicense Copyright.txt
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (28 preceding siblings ...)
2020-10-22 11:00 ` sgn
@ 2020-10-22 14:07 ` sgn
2020-10-23 9:51 ` [PR PATCH] [Merged]: " pullmoll
` (3 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-10-22 14:07 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 154 bytes --]
New comment by sgn on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#issuecomment-714519267
Comment:
Ready again, now!
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PR PATCH] [Merged]: ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (29 preceding siblings ...)
2020-10-22 14:07 ` sgn
@ 2020-10-23 9:51 ` pullmoll
2020-11-01 0:33 ` Piraty
` (2 subsequent siblings)
33 siblings, 0 replies; 35+ messages in thread
From: pullmoll @ 2020-10-23 9:51 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 265 bytes --]
There's a merged pull request on the void-packages repository
ccache: update to 4.0 (alternative approach for chroot-cmake)
https://github.com/void-linux/void-packages/pull/25753
Description:
Alternative for https://github.com/void-linux/void-packages/pull/25724
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (30 preceding siblings ...)
2020-10-23 9:51 ` [PR PATCH] [Merged]: " pullmoll
@ 2020-11-01 0:33 ` Piraty
2020-11-01 0:34 ` Piraty
2020-11-01 0:55 ` sgn
33 siblings, 0 replies; 35+ messages in thread
From: Piraty @ 2020-11-01 0:33 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 502 bytes --]
New comment by Piraty on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#issuecomment-720007446
Comment:
why all the pain?
why not remove ccache from bootstrap packages, i don't see the necessity to have it that early really.
With ccache being `bootstrap=yes` we can't make it build its manpages, as they need [asciidoc](https://github.com/ccache/ccache/blob/v4.0/doc/CMakeLists.txt#L4) and [perl](https://github.com/ccache/ccache/blob/v4.0/doc/CMakeLists.txt#L52).
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (31 preceding siblings ...)
2020-11-01 0:33 ` Piraty
@ 2020-11-01 0:34 ` Piraty
2020-11-01 0:55 ` sgn
33 siblings, 0 replies; 35+ messages in thread
From: Piraty @ 2020-11-01 0:34 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 607 bytes --]
New comment by Piraty on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#issuecomment-720007446
Comment:
why all the pain?
why not remove ccache from bootstrap packages, i don't see the necessity to have it that early really.
With ccache being `bootstrap=yes` we can't
1. make it build its manpages, as they need [asciidoc](https://github.com/ccache/ccache/blob/v4.0/doc/CMakeLists.txt#L4) and [perl](https://github.com/ccache/ccache/blob/v4.0/doc/CMakeLists.txt#L52).
2. run tests with `do_check()` as it requires ctest which is part of cmake, but not cmake-bootstrap
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: ccache: update to 4.0 (alternative approach for chroot-cmake)
2020-10-20 15:10 [PR PATCH] ccache: update to 4.0 (alternative approach for chroot-cmake) sgn
` (32 preceding siblings ...)
2020-11-01 0:34 ` Piraty
@ 2020-11-01 0:55 ` sgn
33 siblings, 0 replies; 35+ messages in thread
From: sgn @ 2020-11-01 0:55 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 187 bytes --]
New comment by sgn on void-packages repository
https://github.com/void-linux/void-packages/pull/25753#issuecomment-720009507
Comment:
For future reference, the discussion is on #26034
^ permalink raw reply [flat|nested] 35+ messages in thread