New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ccache: update to 4.0 (alternative approach for chroot-cmake) #25753
Conversation
srcpkgs/ccache/template
Outdated
checksum=a02f4e8360dc6618bc494ca35b0ae21cea080f804a4898eab1ad3fcd108eb400 | ||
checksum=ac1b82fe0a5e39905945c4d68fcb24bd0f32344869faf647a1b8d31e544dcb88 | ||
|
||
if [ "$CHROOT_READY" ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm.. depending on chroot-cmake
if $CHROOT_READY
seems the wrong way round, no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. 🤷
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we don't add it to base-chroot
then a better name then would be something like cmake-minimal
or cmake-bootstrap
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I'll change it into cmake-bootstrap
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
I like your approach. If we don't need more than what a |
fadb1cf
to
5d9f19e
Compare
Running Did you try a |
In
|
srcpkgs/cmake-bootstrap/template
Outdated
${XBPS_MAKEJOBS:+--parallel=$XBPS_MAKEJOBS}" | ||
make_build_args="-C Bootstrap.cmk" | ||
makedepends="libarchive-devel" | ||
short_desc="Cross MAKE (bootstrapping version)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bad short_desc, cmake is not a "cross make" or anything of the sort
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Heh, they self-claimed "cross-platform make" and I was lazy. I'll be more lazy to just write "CMake"
On a 2nd try the |
5d9f19e
to
fd03a01
Compare
Still running, my main machine is going down, so I need to |
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 without issues so far. IMO this PR can be merged. |
I'll let someone else press the merge button. |
srcpkgs/cmake-bootstrap/template
Outdated
rm -rf Utilities/cmbzip2 | ||
rm -rf Utilities/cmcurl | ||
rm -rf Utilities/cmexpat | ||
# rm -rf Utilities/cmjsoncpp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is this commented?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
srcpkgs/cmake-bootstrap/template
Outdated
} | ||
|
||
do_check() { | ||
: "real cmake is never built" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't this be "full cmake" ? It's still real in that it can build packages.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I used that because CMake uses real real cmake
to talk about cmake
, I'll change description to "this is half baked cmake"
fd03a01
to
da8a6ca
Compare
This release changes from using autoconf to cmake.
da8a6ca
to
978d716
Compare
Ready again, now! |
why all the pain? |
For future reference, the discussion is on #26034 |
Alternative for #25724