From 587d9efa554d0283933b4d6c0b1135ad3f936a28 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Sat, 7 Sep 2019 23:07:30 +0200 Subject: [PATCH] cmake: add recipe for version 3.15.3. --- dev-util/cmake/cmake-3.15.3.recipe | 81 ++++++++++++ dev-util/cmake/patches/cmake-3.15.3.patchset | 131 +++++++++++++++++++ 2 files changed, 212 insertions(+) create mode 100644 dev-util/cmake/cmake-3.15.3.recipe create mode 100644 dev-util/cmake/patches/cmake-3.15.3.patchset diff --git a/dev-util/cmake/cmake-3.15.3.recipe b/dev-util/cmake/cmake-3.15.3.recipe new file mode 100644 index 000000000..e31845043 --- /dev/null +++ b/dev-util/cmake/cmake-3.15.3.recipe @@ -0,0 +1,81 @@ +SUMMARY="A cross-platform build system" +DESCRIPTION="CMake is a family of tools designed to build, test and package \ +software. It is used to control the software compilation process using \ +simple platform and compiler independent configuration files. CMake generates \ +native makefiles and workspaces that can be used in the compiler environment \ +of your choice." +HOMEPAGE="https://cmake.org/" +COPYRIGHT="2002-2019 Kitware, Inc., Insight Consortium" +LICENSE="CMake" +REVISION="1" +SOURCE_URI="https://cmake.org/files/v3.15/cmake-$portVersion.tar.gz" +CHECKSUM_SHA256="13958243a01365b05652fa01b21d40fa834f70a9e30efa69c02604e64f58b8f5" +SOURCE_DIR="cmake-$portVersion" +PATCHES="cmake-$portVersion.patchset" + +ARCHITECTURES="!x86_gcc2 ?x86 x86_64 ?arm" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + cmake$secondaryArchSuffix = $portVersion compat >= 3 + cmd:ccmake = $portVersion compat >= 3 + cmd:cmake = $portVersion compat >= 3 + cmd:cpack = $portVersion compat >= 3 + cmd:ctest = $portVersion compat >= 3 + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libcurl$secondaryArchSuffix + lib:libncurses$secondaryArchSuffix + lib:librhash$secondaryArchSuffix + lib:libuv$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libcurl$secondaryArchSuffix + devel:libncurses$secondaryArchSuffix + devel:librhash$secondaryArchSuffix + devel:libuv$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:grep + cmd:ld$secondaryArchSuffix + cmd:libtoolize$secondaryArchSuffix + cmd:make + cmd:sed + " + +BUILD() +{ + # not an autotools configure + ./configure --prefix=$prefix \ + --datadir=/$relativeDataDir/cmake \ + --docdir=/$relativeDocDir \ + --mandir=/$relativeManDir \ + --no-system-libs \ + --system-curl \ + --system-librhash \ + --system-libuv \ + --parallel=${jobArgs#-j} + + make $jobArgs +} + +INSTALL() +{ + make install + + # No way to tell this to configure... + mv $prefix/share/aclocal $dataDir + rmdir $prefix/share +} + +TEST() +{ + cp bin/ctest Bootstrap.cmk/ + make test VERBOSE=1 +} diff --git a/dev-util/cmake/patches/cmake-3.15.3.patchset b/dev-util/cmake/patches/cmake-3.15.3.patchset new file mode 100644 index 000000000..c61759458 --- /dev/null +++ b/dev-util/cmake/patches/cmake-3.15.3.patchset @@ -0,0 +1,131 @@ +From c572e6e07f1531701a2e8575842e484714cbc436 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Sat, 21 Nov 2015 22:02:38 +0000 +Subject: Haiku provides elf.h now. + + +diff --git a/Source/cmELF.cxx b/Source/cmELF.cxx +index 2226463..bce4aba 100644 +--- a/Source/cmELF.cxx ++++ b/Source/cmELF.cxx +@@ -16,28 +16,20 @@ + #if defined(__OpenBSD__) + # include + # include +-#elif defined(__HAIKU__) +-# include +-# include +-typedef struct Elf32_Ehdr Elf32_Ehdr; +-typedef struct Elf32_Shdr Elf32_Shdr; +-typedef struct Elf32_Sym Elf32_Sym; +-typedef struct Elf32_Rel Elf32_Rel; +-typedef struct Elf32_Rela Elf32_Rela; ++#else ++# include ++# ifndef ELFMAG0 + # define ELFMAG0 0x7F ++# endif ++# ifndef ELFMAG1 + # define ELFMAG1 'E' ++# endif ++# ifndef ELFMAG2 + # define ELFMAG2 'L' ++# endif ++# ifndef ELFMAG3 + # define ELFMAG3 'F' +-# define ET_NONE 0 +-# define ET_REL 1 +-# define ET_EXEC 2 +-# define ET_DYN 3 +-# define ET_CORE 4 +-# define EM_386 3 +-# define EM_SPARC 2 +-# define EM_PPC 20 +-#else +-# include ++# endif + #endif + #if defined(__sun) + # include // For dynamic section information +-- +2.21.0 + + +From 1c3b9dd08728747a8c8f91b48430509c91b4f869 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Sat, 24 Mar 2018 14:19:43 +0100 +Subject: Fix search path for Lua headers. + + +diff --git a/Modules/FindLua51.cmake b/Modules/FindLua51.cmake +index 283a3eb..8fd73f2 100644 +--- a/Modules/FindLua51.cmake ++++ b/Modules/FindLua51.cmake +@@ -38,7 +38,7 @@ locations other than lua/ + find_path(LUA_INCLUDE_DIR lua.h + HINTS + ENV LUA_DIR +- PATH_SUFFIXES include/lua51 include/lua5.1 include/lua-5.1 include/lua include ++ PATH_SUFFIXES include/lua51 include/lua5.1 include/lua-5.1 include/lua include lua5.1 + PATHS + ~/Library/Frameworks + /Library/Frameworks +-- +2.21.0 + + +From 080db38bb96b8583220d4e3c8bea1e2233e8eece Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Sat, 7 Sep 2019 17:04:46 +0200 +Subject: unsupported features. + + +diff --git a/Utilities/cmlibuv/src/unix/core.c b/Utilities/cmlibuv/src/unix/core.c +index a8d6adb..5cb3ad0 100644 +--- a/Utilities/cmlibuv/src/unix/core.c ++++ b/Utilities/cmlibuv/src/unix/core.c +@@ -562,7 +562,7 @@ int uv__nonblock_ioctl(int fd, int set) { + } + + +-#if !defined(__CYGWIN__) && !defined(__MSYS__) ++#if !defined(__CYGWIN__) && !defined(__MSYS__) && !defined(__HAIKU__) + int uv__cloexec_ioctl(int fd, int set) { + int r; + +@@ -929,7 +929,7 @@ int uv_getrusage(uv_rusage_t* rusage) { + rusage->ru_stime.tv_sec = usage.ru_stime.tv_sec; + rusage->ru_stime.tv_usec = usage.ru_stime.tv_usec; + +-#if !defined(__MVS__) ++#if !defined(__MVS__) && !defined(__HAIKU__) + rusage->ru_maxrss = usage.ru_maxrss; + rusage->ru_ixrss = usage.ru_ixrss; + rusage->ru_idrss = usage.ru_idrss; +-- +2.21.0 + + +From 3704f28d614593f068e2cdc31455794ee0803baf Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Sat, 7 Sep 2019 17:29:56 +0200 +Subject: links against libnetwork + + +diff --git a/bootstrap b/bootstrap +index 38fa32b..3754c2f 100755 +--- a/bootstrap ++++ b/bootstrap +@@ -1397,6 +1397,9 @@ else + uv_c_flags="${uv_c_flags} -D__EXTENSIONS__ -D_XOPEN_SOURCE=600" + libs="${libs} -lkstat -lnsl -lsendfile -lsocket -lrt" + ;; ++ *Haiku*) ++ libs="${libs} -lnetwork" ++ ;; + esac + fi + uv_c_flags="${uv_c_flags} `cmake_escape "-I${cmake_source_dir}/Utilities/cmlibuv/include"`" +-- +2.21.0 +