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 + // - "/cmake" + // - "" +@@ -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 " +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 +}