diff options
author | sL1pKn07 | 2020-03-13 21:59:40 +0100 |
---|---|---|
committer | sL1pKn07 | 2020-03-13 22:00:21 +0100 |
commit | 74de94505d3ec0f27da2fcd2033d6d4f3f0deeef (patch) | |
tree | 1ddbaca592f4db20d8693c4b401fb907265261eb | |
parent | b597341682ca745f6eeb9f84a1c3f76711eefb92 (diff) | |
download | aur-74de94505d3ec0f27da2fcd2033d6d4f3f0deeef.tar.gz |
bump
-rw-r--r-- | .SRCINFO | 2 | ||||
-rw-r--r-- | 47.diff | 265 | ||||
-rw-r--r-- | PKGBUILD | 28 |
3 files changed, 290 insertions, 5 deletions
@@ -11,8 +11,10 @@ pkgbase = opencl-headers-git conflicts = opencl-headers source = git+https://github.com/KhronosGroup/OpenCL-Headers.git source = git+https://github.com/KhronosGroup/OpenCL-CLHPP.git + source = 47.diff sha256sums = SKIP sha256sums = SKIP + sha256sums = d6e1dc689579cdb4508a3d40bab03eeb5d5c122a6fa615fcf25204ba9b0fb991 pkgname = opencl-headers-git diff --git a/47.diff b/47.diff new file mode 100644 index 000000000000..2955cbbce10c --- /dev/null +++ b/47.diff @@ -0,0 +1,265 @@ +diff --git a/.travis/install.sh b/.travis/install.sh +new file mode 100644 +index 0000000..5ee7683 +--- /dev/null ++++ b/.travis/install.sh +@@ -0,0 +1,25 @@ ++#!/bin/bash ++ ++set -e ++set -x ++ ++if [[ "$(uname -s)" == 'Darwin' ]]; then ++ brew update || brew update ++ brew outdated pyenv || brew upgrade pyenv ++ brew install pyenv-virtualenv ++ brew install cmake || brew upgrade cmake || true ++ ++ if which pyenv > /dev/null; then ++ eval "$(pyenv init -)" ++ fi ++ ++ pyenv install 3.7.1 ++ pyenv virtualenv 3.7.1 conan ++ pyenv rehash ++ pyenv activate conan ++fi ++ ++pip install conan --upgrade ++pip install conan_package_tools ++ ++conan user +\ No newline at end of file +diff --git a/.travis/run.sh b/.travis/run.sh +new file mode 100644 +index 0000000..0a3488e +--- /dev/null ++++ b/.travis/run.sh +@@ -0,0 +1,13 @@ ++#!/bin/bash ++ ++set -e ++set -x ++ ++if [[ "$(uname -s)" == 'Darwin' ]]; then ++ if which pyenv > /dev/null; then ++ eval "$(pyenv init -)" ++ fi ++ pyenv activate conan ++fi ++ ++python build.py +diff --git a/CMakeLists.txt b/CMakeLists.txt +new file mode 100644 +index 0000000..512e536 +--- /dev/null ++++ b/CMakeLists.txt +@@ -0,0 +1,43 @@ ++cmake_minimum_required(VERSION 3.0) ++project(OpenCLHeaders VERSION 2.2 LANGUAGES NONE) ++ ++add_library(OpenCLHeaders INTERFACE) ++add_library(OpenCL::OpenCLHeaders ALIAS OpenCLHeaders) ++target_include_directories(OpenCLHeaders INTERFACE ++ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> ++ $<INSTALL_INTERFACE:include> ++) ++ ++install(TARGETS OpenCLHeaders EXPORT OpenCLHeadersTargets) ++install(DIRECTORY "CL" DESTINATION include) ++ ++export(EXPORT OpenCLHeadersTargets ++ FILE "${PROJECT_BINARY_DIR}/OpenCLHeaders/OpenCLHeadersTargets.cmake" ++ NAMESPACE OpenCL:: ++) ++file(WRITE "${PROJECT_BINARY_DIR}/OpenCLHeaders/OpenCLHeadersConfig.cmake" ++ "include(\"\${CMAKE_CURRENT_LIST_DIR}/OpenCLHeadersTargets.cmake\")" ++) ++ ++set(config_package_location lib/cmake/OpenCLHeaders) ++install(EXPORT OpenCLHeadersTargets ++ FILE OpenCLHeadersTargets.cmake ++ NAMESPACE OpenCL:: ++ DESTINATION ${config_package_location} ++) ++install( ++ FILES ${CMAKE_CURRENT_BINARY_DIR}/OpenCLHeaders/OpenCLHeadersConfig.cmake ++ DESTINATION ${config_package_location} ++) ++ ++unset(CMAKE_SIZEOF_VOID_P) ++include(CMakePackageConfigHelpers) ++write_basic_package_version_file( ++ "${CMAKE_CURRENT_BINARY_DIR}/OpenCLHeaders/OpenCLHeadersConfigVersion.cmake" ++ VERSION ${PROJECT_VERSION} ++ COMPATIBILITY AnyNewerVersion ++) ++install( ++ FILES "${CMAKE_CURRENT_BINARY_DIR}/OpenCLHeaders/OpenCLHeadersConfigVersion.cmake" ++ DESTINATION ${config_package_location} ++) +diff --git a/README.md b/README.md +index 757e56e..a88843b 100644 +--- a/README.md ++++ b/README.md +@@ -9,6 +9,27 @@ https://github.com/KhronosGroup/OpenCL-Headers + Issues, proposed fixes for issues, and other suggested changes should be + created using Github. + ++## CMake Package ++While the headers may just be copied as-is, this repository also contains a ++CMake script with an install rule to allow for packaging the headers. ++ ++```bash ++cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/path/to/desired/prefix ++cmake --build build --target install ++``` ++ ++To consume the package: ++ ++```bash ++cmake path/to/opencl/app -DOpenCLHeaders_ROOT=/chosen/install/prefix ++``` ++ ++```cmake ++add_executable(app main.cpp) ++find_package(OpenCLHeaders REQUIRED) ++target_link_libraries(app PRIVATE OpenCL::OpenCLHeaders) ++``` ++ + ## Branch Structure + + The OpenCL API headers in this repository are Unified headers and are designed +@@ -28,7 +49,7 @@ the OpenCL API version. + For example, to enforce usage of no more than the OpenCL 1.2 APIs, you may + include the OpenCL API headers as follows: + +-``` ++```c + #define CL_TARGET_OPENCL_VERSION 120 + #include <CL/opencl.h> + ``` +diff --git a/appveyor.yml b/appveyor.yml +new file mode 100644 +index 0000000..560f9fc +--- /dev/null ++++ b/appveyor.yml +@@ -0,0 +1,17 @@ ++build: false ++ ++environment: ++ PYTHON: "C:\\Python37" ++ ++ matrix: ++ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 ++ CONAN_VISUAL_VERSIONS: 12 ++ ++install: ++ - set PATH=%PYTHON_HOME%;%PYTHON_HOME%/Scripts/;%PATH% ++ - pip.exe install conan --upgrade ++ - pip.exe install conan_package_tools ++ - conan user # It creates the conan data directory ++ ++test_script: ++ - python build.py +diff --git a/build.py b/build.py +new file mode 100644 +index 0000000..d535b23 +--- /dev/null ++++ b/build.py +@@ -0,0 +1,11 @@ ++from cpt.packager import ConanMultiPackager ++import datetime ++ ++if __name__ == "__main__": ++ builder = ConanMultiPackager( ++ username="khronos", ++ login_username="khronos", ++ channel="stable" ++ ) ++ builder.add_common_builds() ++ builder.run() +diff --git a/conanfile.py b/conanfile.py +new file mode 100644 +index 0000000..345e060 +--- /dev/null ++++ b/conanfile.py +@@ -0,0 +1,23 @@ ++from conans import ConanFile, tools, CMake ++import os ++ ++ ++class OpenCLHeadersConan(ConanFile): ++ name = "opencl-headers" ++ version = "20190502" ++ license = "Apache-2.0" ++ author = "Khronos Group <webmaster@khronos.org>" ++ url = "https://github.com/KhronosGroup/OpenCL-ICD-Loader" ++ description = "Khronos OpenCL Headers" ++ topics = ("khronos", "opencl", "headers") ++ exports_sources = "CMakeLists.txt", "CL/*" ++ no_copy_source = True ++ ++ def build(self): ++ cmake = CMake(self) ++ cmake.configure() ++ cmake.build() ++ cmake.install() ++ ++ def package_id(self): ++ self.info.header_only() +\ No newline at end of file +diff --git a/test_package/CMakeLists.txt b/test_package/CMakeLists.txt +new file mode 100644 +index 0000000..5418842 +--- /dev/null ++++ b/test_package/CMakeLists.txt +@@ -0,0 +1,10 @@ ++cmake_minimum_required(VERSION 3.0) ++project(PackageTest C) ++ ++include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) ++conan_basic_setup() ++ ++find_package(OpenCLHeaders REQUIRED) ++ ++add_executable(example example.c) ++target_link_libraries(example OpenCL::OpenCLHeaders) +diff --git a/test_package/conanfile.py b/test_package/conanfile.py +new file mode 100644 +index 0000000..c3341f9 +--- /dev/null ++++ b/test_package/conanfile.py +@@ -0,0 +1,17 @@ ++import os ++from conans import ConanFile, CMake, tools ++ ++ ++class OpenCLHeadersTestConan(ConanFile): ++ settings = "os", "compiler", "build_type", "arch" ++ generators = "cmake" ++ ++ def build(self): ++ cmake = CMake(self) ++ cmake.configure() ++ cmake.build() ++ ++ def test(self): ++ if not tools.cross_building(self.settings): ++ os.chdir("bin") ++ self.run(".%sexample" % os.sep) +diff --git a/test_package/example.c b/test_package/example.c +new file mode 100644 +index 0000000..56d0c7a +--- /dev/null ++++ b/test_package/example.c +@@ -0,0 +1,9 @@ ++#define CL_TARGET_OPENCL_VERSION 220 ++#include <CL/cl.h> ++ ++int main(void) { ++ cl_platform_id id; ++ cl_int result; ++ result = 0; ++ return result; ++} @@ -12,9 +12,13 @@ provides=('opencl-headers') conflicts=('opencl-headers') source=('git+https://github.com/KhronosGroup/OpenCL-Headers.git' 'git+https://github.com/KhronosGroup/OpenCL-CLHPP.git' + '47.diff' +# 'https://patch-diff.githubusercontent.com/raw/KhronosGroup/OpenCL-Headers/pull/47.diff' ) sha256sums=('SKIP' 'SKIP' + 'd6e1dc689579cdb4508a3d40bab03eeb5d5c122a6fa615fcf25204ba9b0fb991' +# '2c30d8d34ae8f7583bca45cb829dc45f31a73c9d8ef9a4755d4e9c316250324b' ) pkgver() { @@ -22,14 +26,28 @@ pkgver() { echo "$(git describe --long --tags | tr - .)" } +prepare() { + mkdir -p build + + cd OpenCL-Headers + patch -p1 -i "${srcdir}/47.diff" +} + +build() { + cd build + + cmake ../OpenCL-Headers \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr + + make +} + package() { - cd "${srcdir}/OpenCL-Headers" - install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + make -C build DESTDIR="${pkgdir}" install - for i in $(find CL -type f); do - install -Dm644 ${i} "${pkgdir}/usr/include/${i}" - done + install -D -m644 OpenCL-Headers/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" # remove useless headers rm "${pkgdir}/usr/include/CL/"{cl_d3d,cl_dx9}*.h |