summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorXiretza2021-12-05 18:20:27 +0100
committerXiretza2021-12-05 20:28:17 +0100
commitef55f490107e4db017b34bbbde761d334b843983 (patch)
tree5a47ffb5ceae180c8ed83f216500365f0754e988
downloadaur-ef55f490107e4db017b34bbbde761d334b843983.tar.gz
Initial commit
-rw-r--r--.SRCINFO29
-rw-r--r--0001-Remove-unnecessary-submodules.patch85
-rw-r--r--0002-Don-t-try-to-_FORTIFY_SOURCE-unoptimized-files.patch33
-rw-r--r--0003-Install-libuhdm.so-to-usr-lib.patch24
-rw-r--r--0004-Install-capnp-file-to-usr-share.patch22
-rw-r--r--0005-Make-shared-instead-of-static-library.patch25
-rw-r--r--PKGBUILD57
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
+}