diff --git a/dev-util/cmake/cmake-3.5.1.recipe b/dev-util/cmake/cmake-3.5.1.recipe new file mode 100644 index 000000000..8f227cd79 --- /dev/null +++ b/dev-util/cmake/cmake-3.5.1.recipe @@ -0,0 +1,68 @@ +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="http://www.cmake.org" +COPYRIGHT="2002-2014 Kitware, Inc., Insight Consortium" +LICENSE="CMake" +REVISION="1" +SOURCE_URI="http://www.cmake.org/files/v3.5/cmake-$portVersion.tar.gz" +CHECKSUM_SHA256="93d651a754bcf6f0124669646391dd5774c0fc4d407c384e3ae76ef9a60477e8" +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:cmake = $portVersion compat >= 3 + cmd:ccmake = $portVersion compat >= 3 + cmd:cpack = $portVersion compat >= 3 + cmd:ctest = $portVersion compat >= 3 + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libncurses$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libncurses$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + haiku_devel + cmd:gcc$secondaryArchSuffix + cmd:grep + cmd:ld$secondaryArchSuffix + cmd:libtool + cmd:make + cmd:sed + " + +BUILD() +{ + # not an autotools configure + ./configure --prefix=$prefix \ + --datadir=/$relativeDataDir/cmake \ + --docdir=/$relativeDocDir \ + --mandir=/$relativeManDir + 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.5.1.patchset b/dev-util/cmake/patches/cmake-3.5.1.patchset new file mode 100644 index 000000000..576cd7135 --- /dev/null +++ b/dev-util/cmake/patches/cmake-3.5.1.patchset @@ -0,0 +1,100 @@ +From 543646ad716146251a04905c0566a105a3192dbd Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Mon, 9 Jun 2014 22:30:55 +0200 +Subject: Fix OpenAL search path. + + +diff --git a/Modules/FindOpenAL.cmake b/Modules/FindOpenAL.cmake +index 8150ff2..e0276f8 100644 +--- a/Modules/FindOpenAL.cmake ++++ b/Modules/FindOpenAL.cmake +@@ -68,7 +68,7 @@ + find_path(OPENAL_INCLUDE_DIR al.h + HINTS + ENV OPENALDIR +- PATH_SUFFIXES include/AL include/OpenAL include ++ PATH_SUFFIXES include/AL include/OpenAL include AL OpenAL + PATHS + ~/Library/Frameworks + /Library/Frameworks +-- +2.7.0 + + +From 5a77a5b124ea2e429bf5aa6d2c6e05b49775985d 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 37dd328..c0b5d9e 100644 +--- a/Source/cmELF.cxx ++++ b/Source/cmELF.cxx +@@ -23,28 +23,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; +-# define ELFMAG0 0x7F +-# define ELFMAG1 'E' +-# define ELFMAG2 'L' +-# 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 ++# ifndef ELFMAG0 ++# define ELFMAG0 0x7F ++# endif ++# ifndef ELFMAG1 ++# define ELFMAG1 'E' ++# endif ++# ifndef ELFMAG2 ++# define ELFMAG2 'L' ++# endif ++# ifndef ELFMAG3 ++# define ELFMAG3 'F' ++# endif + #endif + #if defined(__sun) + # include // For dynamic section information +-- +2.7.0 + + +From 39878b19a2a282df2b5496b27bea1811d784b0b8 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Sat, 20 Feb 2016 15:52:03 +0000 +Subject: use libnetwork when it exists. + + +diff --git a/Utilities/cmcurl/CMakeLists.txt b/Utilities/cmcurl/CMakeLists.txt +index 39b70c0..e8dc1f9 100644 +--- a/Utilities/cmcurl/CMakeLists.txt ++++ b/Utilities/cmcurl/CMakeLists.txt +@@ -780,6 +780,8 @@ if(HAVE_LIBWS2_32) + set(CMAKE_REQUIRED_LIBRARIES ws2_32) + elseif(HAVE_LIBSOCKET) + set(CMAKE_REQUIRED_LIBRARIES socket) ++elseif(HAVE_LIBNETWORK) ++ set(CMAKE_REQUIRED_LIBRARIES network) + endif() + + check_symbol_exists(basename "${CURL_INCLUDES}" HAVE_BASENAME) +-- +2.7.0 +