diff options
author | Xiretza | 2021-12-05 18:20:27 +0100 |
---|---|---|
committer | Xiretza | 2021-12-05 20:28:17 +0100 |
commit | ef55f490107e4db017b34bbbde761d334b843983 (patch) | |
tree | 5a47ffb5ceae180c8ed83f216500365f0754e988 | |
download | aur-ef55f490107e4db017b34bbbde761d334b843983.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 29 | ||||
-rw-r--r-- | 0001-Remove-unnecessary-submodules.patch | 85 | ||||
-rw-r--r-- | 0002-Don-t-try-to-_FORTIFY_SOURCE-unoptimized-files.patch | 33 | ||||
-rw-r--r-- | 0003-Install-libuhdm.so-to-usr-lib.patch | 24 | ||||
-rw-r--r-- | 0004-Install-capnp-file-to-usr-share.patch | 22 | ||||
-rw-r--r-- | 0005-Make-shared-instead-of-static-library.patch | 25 | ||||
-rw-r--r-- | PKGBUILD | 57 |
7 files changed, 275 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..5ab4d9753dd9 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,29 @@ +pkgbase = uhdm-git + pkgdesc = A complete modeling of the IEEE SystemVerilog Object Model + pkgver = r1173.d6edfd8 + pkgrel = 1 + url = https://github.com/chipsalliance/UHDM + arch = x86_64 + license = Apache + makedepends = git + makedepends = cmake + makedepends = python + makedepends = tcl + makedepends = gtest + depends = capnproto + provides = uhdm=r1173.d6edfd8 + conflicts = uhdm + source = git+https://github.com/chipsalliance/UHDM + source = 0001-Remove-unnecessary-submodules.patch + source = 0002-Don-t-try-to-_FORTIFY_SOURCE-unoptimized-files.patch + source = 0003-Install-libuhdm.so-to-usr-lib.patch + source = 0004-Install-capnp-file-to-usr-share.patch + source = 0005-Make-shared-instead-of-static-library.patch + sha256sums = SKIP + sha256sums = 844cd92b591369a08ef951367fb99eeacac43d1306989067984045be7b02c3fc + sha256sums = 7e6e15e7a8455bfa2c08516a620d006f0dbd643a4a8e4b1705749aaad3466666 + sha256sums = 6f2fbfcc1b263847558266e7c3f99d08354846fe8fb8ccb2fb049f16ed19b772 + sha256sums = 37add34d362a454630d202485400f59994e05886838efe3ef61a4b661073b0e0 + sha256sums = 7e40c7ea12d1c276c923bd28d5074352e7720d4072e2a57df1f85f5c1d624cd3 + +pkgname = uhdm-git diff --git a/0001-Remove-unnecessary-submodules.patch b/0001-Remove-unnecessary-submodules.patch new file mode 100644 index 000000000000..179806cdded8 --- /dev/null +++ b/0001-Remove-unnecessary-submodules.patch @@ -0,0 +1,85 @@ +From 0c4272a8d8de1779be8fe704e681c258bc749466 Mon Sep 17 00:00:00 2001 +From: Xiretza <xiretza@xiretza.xyz> +Date: Mon, 8 Nov 2021 19:56:58 +0100 +Subject: [PATCH 1/5] Remove unnecessary submodules + +--- + CMakeLists.txt | 20 +++++--------------- + 1 file changed, 5 insertions(+), 15 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c040f9f..009ca61 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,7 +34,7 @@ find_package(Python3 REQUIRED COMPONENTS Interpreter) + message(STATUS "Python3_EXECUTABLE = ${Python3_EXECUTABLE}") + + set(BUILD_TESTING OFF CACHE BOOL "Don't build capnproto tests") +-add_subdirectory(third_party/capnproto EXCLUDE_FROM_ALL) ++find_package(CapnProto) + + set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) +@@ -135,12 +135,10 @@ foreach(header_file ${model-GENERATED_SRC}) + set_source_files_properties(${header_file} PROPERTIES GENERATED TRUE) + endforeach(header_file ${model-GENERATED_SRC}) + +-set(CAPNP_DIR ${CMAKE_CURRENT_BINARY_DIR}/third_party/capnproto/c++/src/capnp) +- + add_custom_command( + OUTPUT ${model-GENERATED_SRC} +- COMMAND ${CAPNP_DIR}/capnp compile -o${CAPNP_DIR}/capnpc-c++ ${model-GENERATED_UHDM} +- DEPENDS capnpc capnpc_cpp ${model-GENERATED_UHDM}) ++ COMMAND capnp compile -o c++ ${model-GENERATED_UHDM} ++ DEPENDS ${model-GENERATED_UHDM}) + add_custom_target(GenerateCode DEPENDS ${model-GENERATED_SRC}) + + if (WITH_PYTHON_GENERATOR) +@@ -234,13 +232,10 @@ endif() + target_include_directories(uhdm SYSTEM PUBLIC + $<BUILD_INTERFACE:${GENDIR}> + $<INSTALL_INTERFACE:include>) +-target_include_directories(uhdm PRIVATE +- ${PROJECT_SOURCE_DIR}/third_party/capnproto/c++/src +- ${PROJECT_SOURCE_DIR}/third_party/UHDM/src) + target_compile_definitions(uhdm + PUBLIC PLI_DLLISPEC= + PUBLIC PLI_DLLESPEC=) +-target_link_libraries(uhdm PUBLIC capnp) ++target_link_libraries(uhdm PUBLIC kj capnp) + + if(APPLE) + target_link_libraries(uhdm +@@ -258,10 +253,8 @@ elseif(UNIX) + endif() + + add_dependencies(uhdm GenerateCode) +-add_dependencies(GenerateCode capnpc capnp_tool capnpc_cpp) + + if (UHDM_BUILD_TESTS) +- add_subdirectory(third_party/googletest EXCLUDE_FROM_ALL) + enable_testing() + include(GoogleTest) + # All unit-tests are registered with this custom target as dependency, so +@@ -275,9 +268,6 @@ if (UHDM_BUILD_TESTS) + get_filename_component(test_prefix ${test_cc_file} DIRECTORY) + + add_executable(${test_bin} ${PROJECT_SOURCE_DIR}/${test_cc_file}) +- target_include_directories(${test_bin} PRIVATE +- third_party/googletest/googletest/include +- third_party/googletest/googlemock/include) + target_link_libraries(${test_bin} PRIVATE uhdm gtest gmock gtest_main) + add_test( + NAME ${test_prefix}/${test_bin} COMMAND ${test_bin} +@@ -336,7 +326,7 @@ target_link_libraries(test_inst PRIVATE + + # Installation target + install( +- TARGETS uhdm capnp kj uhdm-dump uhdm-hier ++ TARGETS uhdm uhdm-dump uhdm-hier + ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/uhdm + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_PREFIX}/include/uhdm) + install(DIRECTORY ${GENDIR}/uhdm/ +-- +2.34.1 + diff --git a/0002-Don-t-try-to-_FORTIFY_SOURCE-unoptimized-files.patch b/0002-Don-t-try-to-_FORTIFY_SOURCE-unoptimized-files.patch new file mode 100644 index 000000000000..0199e3cd3720 --- /dev/null +++ b/0002-Don-t-try-to-_FORTIFY_SOURCE-unoptimized-files.patch @@ -0,0 +1,33 @@ +From cae5ae02e218a6852f86dd17015a114c7456a215 Mon Sep 17 00:00:00 2001 +From: Xiretza <xiretza@xiretza.xyz> +Date: Mon, 8 Nov 2021 20:15:52 +0100 +Subject: [PATCH 2/5] Don't try to _FORTIFY_SOURCE unoptimized files + +/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp] + 397 | # warning _FORTIFY_SOURCE requires compiling with optimization (-O) + | ^~~~~~~ +In file included from /usr/include/c++/11.1.0/x86_64-pc-linux-gnu/bits/os_defines.h:39, + from /usr/include/c++/11.1.0/x86_64-pc-linux-gnu/bits/c++config.h:571, + from /usr/include/c++/11.1.0/string:38, + from /build/uhdm-git/src/build/generated/uhdm/Serializer.h:30, + from /build/uhdm-git/src/build/generated/src/Serializer_restore.cpp:25: +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 009ca61..8d6096f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -89,7 +89,7 @@ else() + set_property(SOURCE + ${GENDIR}/src/Serializer_save.cpp + ${GENDIR}/src/Serializer_restore.cpp +- PROPERTY COMPILE_FLAGS -O0 ++ APPEND PROPERTY COMPILE_OPTIONS -O0 -Wp,-U_FORTIFY_SOURCE + ) + endif() + endif() +-- +2.34.1 + diff --git a/0003-Install-libuhdm.so-to-usr-lib.patch b/0003-Install-libuhdm.so-to-usr-lib.patch new file mode 100644 index 000000000000..2e1ec549c364 --- /dev/null +++ b/0003-Install-libuhdm.so-to-usr-lib.patch @@ -0,0 +1,24 @@ +From 1da4db630bb5ffc481d37f8816a01f69703375ab Mon Sep 17 00:00:00 2001 +From: Xiretza <xiretza@xiretza.xyz> +Date: Sun, 5 Dec 2021 17:16:57 +0100 +Subject: [PATCH 3/5] Install libuhdm.so to /usr/lib + +--- + CMakeLists.txt | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8d6096f..fa086c5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -327,7 +327,6 @@ target_link_libraries(test_inst PRIVATE + # Installation target + install( + TARGETS uhdm uhdm-dump uhdm-hier +- ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/uhdm + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_PREFIX}/include/uhdm) + install(DIRECTORY ${GENDIR}/uhdm/ + DESTINATION ${CMAKE_INSTALL_PREFIX}/include/uhdm/) +-- +2.34.1 + diff --git a/0004-Install-capnp-file-to-usr-share.patch b/0004-Install-capnp-file-to-usr-share.patch new file mode 100644 index 000000000000..40fe96eaf179 --- /dev/null +++ b/0004-Install-capnp-file-to-usr-share.patch @@ -0,0 +1,22 @@ +From e7b9c5ff37fe7f088a10b63f555952519b3aa3f4 Mon Sep 17 00:00:00 2001 +From: Xiretza <xiretza@xiretza.xyz> +Date: Sun, 5 Dec 2021 17:23:28 +0100 +Subject: [PATCH 4/5] Install capnp file to /usr/share + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fa086c5..3e2e508 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -331,4 +331,4 @@ install( + install(DIRECTORY ${GENDIR}/uhdm/ + DESTINATION ${CMAKE_INSTALL_PREFIX}/include/uhdm/) + install(FILES ${GENDIR}/src/UHDM.capnp +- DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/uhdm) ++ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/uhdm) +-- +2.34.1 + diff --git a/0005-Make-shared-instead-of-static-library.patch b/0005-Make-shared-instead-of-static-library.patch new file mode 100644 index 000000000000..366ebd4c3a28 --- /dev/null +++ b/0005-Make-shared-instead-of-static-library.patch @@ -0,0 +1,25 @@ +From f7f5ead4ab4936e40bdf724658aa0a3f5ce23aa9 Mon Sep 17 00:00:00 2001 +From: Xiretza <xiretza@xiretza.xyz> +Date: Sun, 5 Dec 2021 18:19:07 +0100 +Subject: [PATCH 5/5] Make shared instead of static library + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3e2e508..9cde6d2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -219,7 +219,7 @@ foreach(src_file ${uhdm-GENERATED_SRC}) + set_source_files_properties(${src_file} PROPERTIES GENERATED TRUE) + endforeach(src_file ${uhdm-GENERATED_SRC}) + +-add_library(uhdm STATIC ${uhdm-GENERATED_SRC}) ++add_library(uhdm SHARED ${uhdm-GENERATED_SRC}) + set_target_properties(uhdm PROPERTIES PUBLIC_HEADER ${GENDIR}/uhdm/uhdm.h) + + if(WITH_PYTHON_GENERATOR) +-- +2.34.1 + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..823e63cb66ae --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,57 @@ +_pkgname=UHDM +pkgname=${_pkgname,,}-git +pkgver=r1173.d6edfd8 +pkgrel=1 +pkgdesc="A complete modeling of the IEEE SystemVerilog Object Model" +arch=(x86_64) +url="https://github.com/chipsalliance/UHDM" +license=('Apache') +depends=('capnproto') +makedepends=('git' 'cmake' 'python' 'tcl' 'gtest') +provides=("${_pkgname,,}=$pkgver") +conflicts=("${_pkgname,,}") +source=( + "git+$url" + "0001-Remove-unnecessary-submodules.patch" + "0002-Don-t-try-to-_FORTIFY_SOURCE-unoptimized-files.patch" + "0003-Install-libuhdm.so-to-usr-lib.patch" + "0004-Install-capnp-file-to-usr-share.patch" + "0005-Make-shared-instead-of-static-library.patch" +) +sha256sums=('SKIP' + '844cd92b591369a08ef951367fb99eeacac43d1306989067984045be7b02c3fc' + '7e6e15e7a8455bfa2c08516a620d006f0dbd643a4a8e4b1705749aaad3466666' + '6f2fbfcc1b263847558266e7c3f99d08354846fe8fb8ccb2fb049f16ed19b772' + '37add34d362a454630d202485400f59994e05886838efe3ef61a4b661073b0e0' + '7e40c7ea12d1c276c923bd28d5074352e7720d4072e2a57df1f85f5c1d624cd3') + +pkgver() { + cd "$srcdir/$_pkgname" + + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +prepare() { + cd "$srcdir/$_pkgname" + + patch -p1 < "$srcdir/0001-Remove-unnecessary-submodules.patch" + patch -p1 < "$srcdir/0002-Don-t-try-to-_FORTIFY_SOURCE-unoptimized-files.patch" + patch -p1 < "$srcdir/0003-Install-libuhdm.so-to-usr-lib.patch" + patch -p1 < "$srcdir/0004-Install-capnp-file-to-usr-share.patch" + patch -p1 < "$srcdir/0005-Make-shared-instead-of-static-library.patch" +} + +build() { + cmake -B build -S "$_pkgname" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=None + make -C build +} + +check() { + make -C build -k test +} + +package() { + make -C build DESTDIR="$pkgdir/" install +} |