add vulkan-headers and vulkan-loader to pkgsrc-wip
vulkan is a 3d graphics api from the khronos group.
This commit is contained in:
parent
3c793f0bc1
commit
f8b1b40548
2
Makefile
2
Makefile
|
@ -4889,6 +4889,8 @@ SUBDIR+= vpr
|
|||
SUBDIR+= vreng
|
||||
SUBDIR+= vsearch
|
||||
SUBDIR+= vte
|
||||
SUBDIR+= vulkan-headers
|
||||
SUBDIR+= vulkan-loader
|
||||
SUBDIR+= wackamole
|
||||
SUBDIR+= waffle
|
||||
SUBDIR+= wanderer
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Headers for the Vulkan graphics API.
|
|
@ -0,0 +1,22 @@
|
|||
# $NetBSD$
|
||||
|
||||
GITHUB_PROJECT= Vulkan-Headers
|
||||
DISTNAME= sdk-1.1.126.0
|
||||
PKGNAME= ${GITHUB_PROJECT:tl}-${DISTNAME:S/sdk-//}
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= ${MASTER_SITE_GITHUB:=KhronosGroup/}
|
||||
DIST_SUBDIR= ${GITHUB_PROJECT}
|
||||
GITHUB_TAG= ${DISTNAME}
|
||||
EXTRACT_USING= bsdtar
|
||||
|
||||
MAINTAINER= nros@NetBSD.org
|
||||
HOMEPAGE= https://github.com/KhronosGroup/Vulkan-Headers/
|
||||
COMMENT= Headers for Vulkan Graphics API
|
||||
LICENSE= apache-2.0
|
||||
|
||||
USE_CMAKE= yes
|
||||
|
||||
REPLACE_PYTHON= registry/*.py
|
||||
|
||||
.include "../../lang/python/application.mk"
|
||||
.include "../../mk/bsd.pkg.mk"
|
|
@ -0,0 +1,29 @@
|
|||
@comment $NetBSD$
|
||||
include/vulkan/vk_icd.h
|
||||
include/vulkan/vk_layer.h
|
||||
include/vulkan/vk_platform.h
|
||||
include/vulkan/vk_sdk_platform.h
|
||||
include/vulkan/vulkan.h
|
||||
include/vulkan/vulkan.hpp
|
||||
include/vulkan/vulkan_android.h
|
||||
include/vulkan/vulkan_core.h
|
||||
include/vulkan/vulkan_fuchsia.h
|
||||
include/vulkan/vulkan_ggp.h
|
||||
include/vulkan/vulkan_ios.h
|
||||
include/vulkan/vulkan_macos.h
|
||||
include/vulkan/vulkan_metal.h
|
||||
include/vulkan/vulkan_vi.h
|
||||
include/vulkan/vulkan_wayland.h
|
||||
include/vulkan/vulkan_win32.h
|
||||
include/vulkan/vulkan_xcb.h
|
||||
include/vulkan/vulkan_xlib.h
|
||||
include/vulkan/vulkan_xlib_xrandr.h
|
||||
share/vulkan/registry/cgenerator.py
|
||||
share/vulkan/registry/conventions.py
|
||||
share/vulkan/registry/generator.py
|
||||
share/vulkan/registry/genvk.py
|
||||
share/vulkan/registry/reg.py
|
||||
share/vulkan/registry/spec_tools/util.py
|
||||
share/vulkan/registry/validusage.json
|
||||
share/vulkan/registry/vk.xml
|
||||
share/vulkan/registry/vkconventions.py
|
|
@ -0,0 +1,17 @@
|
|||
# $NetBSD$
|
||||
|
||||
BUILDLINK_TREE+= vulkan-headers
|
||||
|
||||
.if !defined(VULKAN_HEADERS_BUILDLINK3_MK)
|
||||
VULKAN_HEADERS_BUILDLINK3_MK:=
|
||||
|
||||
BUILDLINK_API_DEPENDS.vulkan-headers+= vulkan-headers>=1.1.126.0
|
||||
BUILDLINK_PKGSRCDIR.vulkan-headers= ../../wip/vulkan-headers
|
||||
BUILDLINK_DEPMETHOD.vulkan-headers?= build
|
||||
.endif # VULKAN_HEADERS_BUILDLINK3_MK
|
||||
|
||||
.include "../../x11/liboldXrandr/buildlink3.mk"
|
||||
.include "../../x11/libX11/buildlink3.mk"
|
||||
.include "../../x11/libxcb/buildlink3.mk"
|
||||
|
||||
BUILDLINK_TREE+= -vulkan-headers
|
|
@ -0,0 +1,8 @@
|
|||
$NetBSD$
|
||||
|
||||
SHA1 (Vulkan-Headers/sdk-1.1.126.0.tar.gz) = a68e99a5eb1f6c4de97877718dba0fbeeccb07ff
|
||||
RMD160 (Vulkan-Headers/sdk-1.1.126.0.tar.gz) = 9656c621304750488da54a1dd8ebc4953d35023c
|
||||
SHA512 (Vulkan-Headers/sdk-1.1.126.0.tar.gz) = b050e0d17ad7b143c59a401a4a75ef97afdbc94f1cbfd4571ce1b83380927879cb05b7b62b81c7da8b501ebe0fbe70dc3acacaab3656da465b4bc06559266d3f
|
||||
Size (Vulkan-Headers/sdk-1.1.126.0.tar.gz) = 665900 bytes
|
||||
SHA1 (patch-CMakeLists.txt) = b5b2b302c55bd1998a15ee7416da2037bf04a52f
|
||||
SHA1 (patch-include_vulkan_vulkan.hpp) = 70ba7f6bde7793be8dbe4fb1a9b0dbe738498c8d
|
|
@ -0,0 +1,15 @@
|
|||
$NetBSD$
|
||||
* don't install pkgsrc generated files
|
||||
--- CMakeLists.txt.orig 2019-12-02 18:11:46.793667657 +0000
|
||||
+++ CMakeLists.txt
|
||||
@@ -45,8 +45,8 @@ add_library(Vulkan-Registry INTERFACE)
|
||||
target_include_directories(Vulkan-Registry INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/registry")
|
||||
add_library(Vulkan::Registry ALIAS Vulkan-Registry)
|
||||
|
||||
-install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/vulkan" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
-install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/registry" DESTINATION ${CMAKE_INSTALL_DATADIR}/vulkan)
|
||||
+install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/vulkan" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PATTERN "*.orig" EXCLUDE)
|
||||
+install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/registry" DESTINATION ${CMAKE_INSTALL_DATADIR}/vulkan PATTERN "*.orig" EXCLUDE)
|
||||
|
||||
# uninstall target
|
||||
if(NOT TARGET uninstall)
|
|
@ -0,0 +1,13 @@
|
|||
$NetBSD$
|
||||
* add NetBSD support
|
||||
--- include/vulkan/vulkan.hpp.orig 2019-12-02 17:52:14.520273368 +0000
|
||||
+++ include/vulkan/vulkan.hpp
|
||||
@@ -56,7 +56,7 @@
|
||||
# define VULKAN_HPP_ASSERT assert
|
||||
#endif
|
||||
|
||||
-#if defined(__linux__) || defined(__APPLE__)
|
||||
+#if defined(__linux__) || defined(__APPLE__) || defined(__NetBSD__)
|
||||
# include <dlfcn.h>
|
||||
#endif
|
||||
|
|
@ -0,0 +1 @@
|
|||
Loader for Vulkan graphics api.
|
|
@ -0,0 +1,36 @@
|
|||
# $NetBSD$
|
||||
|
||||
GITHUB_PROJECT= Vulkan-Loader
|
||||
DISTNAME= sdk-1.1.126.0
|
||||
PKGNAME= ${GITHUB_PROJECT:tl}-${DISTNAME:S/sdk-//}
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= ${MASTER_SITE_GITHUB:=KhronosGroup/}
|
||||
DIST_SUBDIR= ${GITHUB_PROJECT}
|
||||
GITHUB_TAG= ${DISTNAME}
|
||||
EXTRACT_USING= bsdtar
|
||||
|
||||
MAINTAINER= nros@NetBSD.org
|
||||
HOMEPAGE= https://github.com/KhronosGroup/Vulkan-Loader/
|
||||
COMMENT= Loader for Vulkan Graphics API
|
||||
LICENSE= apache-2.0
|
||||
|
||||
USE_TOOLS+= pkg-config
|
||||
USE_CMAKE= yes
|
||||
USE_LANGUAGES= c c++
|
||||
|
||||
# wayland support missing in pkgsrc
|
||||
CMAKE_ARGS+= -DBUILD_WSI_WAYLAND_SUPPORT=OFF
|
||||
CMAKE_ARGS+= -DBUILD_TESTS=ON
|
||||
|
||||
PKGCONFIG_OVERRIDE+=loader/vulkan.pc.in
|
||||
|
||||
.include "../../devel/googletest/buildlink3.mk"
|
||||
.include "../../lang/python/tool.mk"
|
||||
.include "../../sysutils/libpciaccess/buildlink3.mk"
|
||||
.include "../../wip/vulkan-headers/buildlink3.mk"
|
||||
.include "../../x11/libX11/buildlink3.mk"
|
||||
.include "../../x11/libxcb/buildlink3.mk"
|
||||
.include "../../x11/libXext/buildlink3.mk"
|
||||
.include "../../mk/dlopen.buildlink3.mk"
|
||||
.include "../../mk/pthread.buildlink3.mk"
|
||||
.include "../../mk/bsd.pkg.mk"
|
|
@ -0,0 +1,5 @@
|
|||
@comment $NetBSD$
|
||||
lib/libvulkan.so
|
||||
lib/libvulkan.so.1
|
||||
lib/libvulkan.so.1.1.126
|
||||
lib/pkgconfig/vulkan.pc
|
|
@ -0,0 +1,23 @@
|
|||
# $NetBSD$
|
||||
#
|
||||
|
||||
BUILDLINK_TREE+= vulkan-loader
|
||||
|
||||
.if !defined(VULKAN_LOADER_BUILDLINK3_MK)
|
||||
VULKAN_LOADER_BUILDLINK3_MK:=
|
||||
|
||||
BUILDLINK_API_DEPENDS.vulkan-loader+= vulkan-loader>=1.1.126.0
|
||||
BUILDLINK_PKGSRCDIR.vulkan-loader?= ../../wip/vulkan-loader
|
||||
|
||||
# XXX
|
||||
# XXX Uncomment and keep only the buildlink3 lines below which are directly
|
||||
# XXX needed for dependencies to compile, link, and run. If this package
|
||||
# XXX provides a wrappered API or otherwise does not expose the APIs of the
|
||||
# XXX buildlink3 lines below to dependencies, remove them.
|
||||
# XXX
|
||||
.include "../../wip/vulkan-headers/buildlink3.mk"
|
||||
.include "../../x11/libX11/buildlink3.mk"
|
||||
.include "../../x11/libxcb/buildlink3.mk"
|
||||
.endif # VULKAN_LOADER_BUILDLINK3_MK
|
||||
|
||||
BUILDLINK_TREE+= -vulkan-loader
|
|
@ -0,0 +1,11 @@
|
|||
$NetBSD$
|
||||
|
||||
SHA1 (Vulkan-Loader/sdk-1.1.126.0.tar.gz) = 899a419aa4330f2093366e8a10ddba4ae325afa9
|
||||
RMD160 (Vulkan-Loader/sdk-1.1.126.0.tar.gz) = 7e6f4aa16996f7f4c4901101888c3f3fccbe591d
|
||||
SHA512 (Vulkan-Loader/sdk-1.1.126.0.tar.gz) = 8712542b722f786e818f0bf7ded45a1a5153f31d64e8481816032a332b654b29fc198dd3c2a4845b0b51c9e5dccb99fdf2d9e4d068972277109f007174f72c3d
|
||||
Size (Vulkan-Loader/sdk-1.1.126.0.tar.gz) = 1399019 bytes
|
||||
SHA1 (patch-CMakeLists.txt) = b7d2ca7074327dbebe99d6b6d1fad4805c564858
|
||||
SHA1 (patch-loader_CMakeLists.txt) = f61a39ee9b97858931474f20ec1b05d33ef0d231
|
||||
SHA1 (patch-loader_loader.c) = 1b5a4d1c9591690944b0e23076c06dba92d36773
|
||||
SHA1 (patch-loader_vk__loader__platform.h) = 4f71c25fc8b9b1a5ce622a402549874907f58fe3
|
||||
SHA1 (patch-tests_test__common.h) = 8a1a730027929791b7bbc9ffc0172f0fc8aafb73
|
|
@ -0,0 +1,37 @@
|
|||
$NetBSD$
|
||||
* Use cmakes way of setting language standards.
|
||||
--- CMakeLists.txt.orig 2019-10-28 17:29:17.000000000 +0000
|
||||
+++ CMakeLists.txt
|
||||
@@ -132,6 +132,12 @@ else()
|
||||
option(BUILD_TESTS "Build Tests" OFF)
|
||||
endif()
|
||||
|
||||
+set(CMAKE_C_STANDARD 99)
|
||||
+set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
+
|
||||
+set(CMAKE_CXX_STANDARD 11)
|
||||
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
+
|
||||
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
set(COMMON_COMPILE_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers")
|
||||
set(COMMON_COMPILE_FLAGS "${COMMON_COMPILE_FLAGS} -fno-strict-aliasing -fno-builtin-memcmp")
|
||||
@@ -153,8 +159,8 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_CO
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Xclang -std=c++11 -fno-rtti")
|
||||
# clang (not clang-cl) or gcc
|
||||
else()
|
||||
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 ${COMMON_COMPILE_FLAGS}")
|
||||
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti")
|
||||
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_COMPILE_FLAGS}")
|
||||
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_COMPILE_FLAGS}")
|
||||
@@ -216,7 +222,7 @@ if(BUILD_LOADER)
|
||||
add_subdirectory(loader)
|
||||
endif()
|
||||
|
||||
-add_subdirectory(external)
|
||||
+#add_subdirectory(external)
|
||||
if(BUILD_TESTS)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
|
@ -0,0 +1,58 @@
|
|||
$NetBSD$
|
||||
* use CMake findthreads instead of hardcoding -lpthread
|
||||
* install pkg-config file on mac
|
||||
* set the right libs in Libs.private
|
||||
--- loader/CMakeLists.txt.orig 2019-10-28 17:29:17.000000000 +0000
|
||||
+++ loader/CMakeLists.txt
|
||||
@@ -21,6 +21,10 @@ include_directories(${CMAKE_CURRENT_SOUR
|
||||
include(CheckFunctionExists)
|
||||
include(CheckIncludeFile)
|
||||
|
||||
+set(CMAKE_THREAD_PREFER_PTHREAD ON)
|
||||
+set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
+find_package(Threads REQUIRED)
|
||||
+
|
||||
check_function_exists(secure_getenv HAVE_SECURE_GETENV)
|
||||
check_function_exists(__secure_getenv HAVE___SECURE_GETENV)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/loader_cmake_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/loader_cmake_config.h)
|
||||
@@ -236,7 +240,7 @@ else()
|
||||
"1"
|
||||
VERSION
|
||||
"${VulkanHeaders_VERSION_MAJOR}.${VulkanHeaders_VERSION_MINOR}.${VulkanHeaders_VERSION_PATCH}")
|
||||
- target_link_libraries(vulkan ${CMAKE_DL_LIBS} pthread m)
|
||||
+ target_link_libraries(vulkan ${CMAKE_DL_LIBS} Threads::Threads m)
|
||||
target_link_libraries(vulkan Vulkan::Headers)
|
||||
|
||||
if(APPLE)
|
||||
@@ -264,7 +268,7 @@ else()
|
||||
add_library(vulkan-framework SHARED ${NORMAL_LOADER_SRCS} ${OPT_LOADER_SRCS} ${FRAMEWORK_HEADERS})
|
||||
add_dependencies(vulkan-framework loader_asm_gen_files)
|
||||
target_compile_definitions(vulkan-framework PUBLIC LOADER_DYNAMIC_LIB)
|
||||
- target_link_libraries(vulkan-framework -ldl -lpthread -lm "-framework CoreFoundation")
|
||||
+ target_link_libraries(vulkan-framework -ldl Threads::Threads -lm "-framework CoreFoundation")
|
||||
target_link_libraries(vulkan-framework Vulkan::Headers)
|
||||
|
||||
# The FRAMEWORK_VERSION needs to be "A" here so that Xcode code-signing works when a user adds their framework to an Xcode
|
||||
@@ -289,17 +293,18 @@ else()
|
||||
# cmake-format: on
|
||||
endif()
|
||||
|
||||
- if(NOT APPLE)
|
||||
# Generate pkg-config file.
|
||||
include(FindPkgConfig QUIET)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
set(VK_API_VERSION "${VulkanHeaders_VERSION_MAJOR}.${VulkanHeaders_VERSION_MINOR}.${VulkanHeaders_VERSION_PATCH}")
|
||||
- foreach(LIB ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES} ${PLATFORM_LIBS})
|
||||
- set(PRIVATE_LIBS "${PRIVATE_LIBS} -l${LIB}")
|
||||
+ foreach(LIB ${CMAKE_C_IMPLICIT_LINK_LIBRARIES} ${PLATFORM_LIBS} ${CMAKE_DL_LIBS} m)
|
||||
+ list(APPEND PRIVATE_LIBS_LIST "-l${LIB}")
|
||||
endforeach()
|
||||
+ list(APPEND PRIVATE_LIBS_LIST "${CMAKE_THREAD_LIBS_INIT}")
|
||||
+ list(REMOVE_DUPLICATES PRIVATE_LIBS_LIST)
|
||||
+ list(JOIN PRIVATE_LIBS_LIST " " PRIVATE_LIBS)
|
||||
configure_file("vulkan.pc.in" "vulkan.pc" @ONLY)
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/vulkan.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
|
||||
- endif()
|
||||
endif()
|
||||
endif()
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
$NetBSD$
|
||||
* add netbsd support
|
||||
--- loader/loader.c.orig 2019-09-11 17:39:09.000000000 +0000
|
||||
+++ loader/loader.c
|
||||
@@ -44,6 +44,8 @@
|
||||
|
||||
#if defined(__APPLE__)
|
||||
#include <CoreFoundation/CoreFoundation.h>
|
||||
+#endif
|
||||
+#if defined(__APPLE__) || defined(__NetBSD__)
|
||||
#include <sys/param.h>
|
||||
#endif
|
||||
|
||||
@@ -241,7 +243,7 @@ void *loader_device_heap_realloc(const s
|
||||
}
|
||||
|
||||
// Environment variables
|
||||
-#if defined(__linux__) || defined(__APPLE__)
|
||||
+#if defined(__linux__) || defined(__APPLE__) || defined(__NetBSD__)
|
||||
|
||||
static inline bool IsHighIntegrity() {
|
||||
return geteuid() != getuid() || getegid() != getgid();
|
||||
@@ -255,7 +257,7 @@ static inline char *loader_getenv(const
|
||||
}
|
||||
|
||||
static inline char *loader_secure_getenv(const char *name, const struct loader_instance *inst) {
|
||||
-#if defined(__APPLE__)
|
||||
+#if defined(__APPLE__) || defined(__NetBSD__)
|
||||
// Apple does not appear to have a secure getenv implementation.
|
||||
// The main difference between secure getenv and getenv is that secure getenv
|
||||
// returns NULL if the process is being run with elevated privileges by a normal user.
|
|
@ -0,0 +1,13 @@
|
|||
$NetBSD$
|
||||
* add netbsd support
|
||||
--- loader/vk_loader_platform.h.orig 2019-09-18 15:49:42.194132122 +0000
|
||||
+++ loader/vk_loader_platform.h
|
||||
@@ -31,7 +31,7 @@
|
||||
#include "vulkan/vk_platform.h"
|
||||
#include "vulkan/vk_sdk_platform.h"
|
||||
|
||||
-#if defined(__linux__) || defined(__APPLE__)
|
||||
+#if defined(__linux__) || defined(__APPLE__) || defined(__NetBSD__)
|
||||
/* Linux-specific common code: */
|
||||
|
||||
// Headers:
|
|
@ -0,0 +1,13 @@
|
|||
$NetBSD$
|
||||
* add netbsd support
|
||||
--- tests/test_common.h.orig 2019-09-18 21:32:16.041186928 +0000
|
||||
+++ tests/test_common.h
|
||||
@@ -105,7 +105,7 @@ static inline void test_error_callback(c
|
||||
ADD_FAILURE_AT(file, line) << "Assertion: `" << expr << "'";
|
||||
}
|
||||
|
||||
-#if defined(__linux__) || defined(__APPLE__)
|
||||
+#if defined(__linux__) || defined(__APPLE__) || defined(__NetBSD__)
|
||||
/* Linux-specific common code: */
|
||||
|
||||
#include <pthread.h>
|
Loading…
Reference in New Issue