testing/prjtrellis: new aport

https://github.com/YosysHQ/prjtrellis
Documentation of the Lattice ECP5 bit-stream format
This commit is contained in:
Marian Buschsieweke 2024-01-10 10:33:57 +01:00 committed by omni
parent cd0ab62034
commit e2a8daaf20
2 changed files with 127 additions and 0 deletions

View File

@ -0,0 +1,86 @@
Install libraries to /usr/lib, not to /usr/lib/trellis/.
This fixes tracing dependencies:
>>> prjtrellis*: Tracing dependencies...
>>> ERROR: prjtrellis*: libtrellis.so: path not found
so:libboost_filesystem.so.1.82.0
so:libboost_program_options.so.1.82.0
so:libboost_thread.so.1.82.0
so:libc.musl-x86_64.so.1
so:libgcc_s.so.1
so:libpython3.11.so.1.0
so:libstdc++.so.6
--- a/libtrellis/CMakeLists.txt 2023-05-08 09:55:05.000000000 +0200
+++ b/libtrellis/CMakeLists.txt 2024-01-10 10:31:42.455914809 +0100
@@ -100,20 +100,6 @@ include(GNUInstallDirs)
file(RELATIVE_PATH TRELLIS_RPATH_LIBDIR /${CMAKE_INSTALL_BINDIR} /${CMAKE_INSTALL_LIBDIR})
file(RELATIVE_PATH TRELLIS_RPATH_DATADIR /${CMAKE_INSTALL_BINDIR} /${CMAKE_INSTALL_DATADIR})
-function(setup_rpath name)
- if(APPLE)
- set_target_properties(${name} PROPERTIES
- BUILD_WITH_INSTALL_RPATH ON
- INSTALL_RPATH "@loader_path/${TRELLIS_RPATH_LIBDIR}/${PROGRAM_PREFIX}trellis"
- INSTALL_NAME_DIR "@rpath")
- elseif(UNIX)
- set_target_properties(${name} PROPERTIES
- BUILD_WITH_INSTALL_RPATH ON
- INSTALL_RPATH "\$ORIGIN/${TRELLIS_RPATH_LIBDIR}/${PROGRAM_PREFIX}trellis")
- endif()
-endfunction()
-
-
# Avoid perturbing build if git version hasn't changed
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/generated")
set(LAST_GIT_VERSION "")
@@ -137,7 +123,6 @@ if (BUILD_ECPBRAM)
target_include_directories(${PROGRAM_PREFIX}ecpbram PRIVATE tools)
target_compile_definitions(${PROGRAM_PREFIX}ecpbram PRIVATE TRELLIS_RPATH_DATADIR="${TRELLIS_RPATH_DATADIR}" TRELLIS_PREFIX="${CMAKE_INSTALL_PREFIX}" TRELLIS_PROGRAM_PREFIX="${PROGRAM_PREFIX}")
target_link_libraries(${PROGRAM_PREFIX}ecpbram trellis ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ${link_param})
- setup_rpath(${PROGRAM_PREFIX}ecpbram)
if (WASI)
set_property(TARGET ${PROGRAM_PREFIX}ecpbram PROPERTY SUFFIX ".wasm")
endif()
@@ -149,7 +134,6 @@ if (BUILD_ECPPACK)
target_include_directories(${PROGRAM_PREFIX}ecppack PRIVATE tools)
target_compile_definitions(${PROGRAM_PREFIX}ecppack PRIVATE TRELLIS_RPATH_DATADIR="${TRELLIS_RPATH_DATADIR}" TRELLIS_PREFIX="${CMAKE_INSTALL_PREFIX}" TRELLIS_PROGRAM_PREFIX="${PROGRAM_PREFIX}")
target_link_libraries(${PROGRAM_PREFIX}ecppack trellis ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ${link_param})
- setup_rpath(${PROGRAM_PREFIX}ecppack)
if (WASI)
set_property(TARGET ${PROGRAM_PREFIX}ecppack PROPERTY SUFFIX ".wasm")
endif()
@@ -161,7 +145,6 @@ if (BUILD_ECPUNPACK)
target_include_directories(${PROGRAM_PREFIX}ecpunpack PRIVATE tools)
target_compile_definitions(${PROGRAM_PREFIX}ecpunpack PRIVATE TRELLIS_RPATH_DATADIR="${TRELLIS_RPATH_DATADIR}" TRELLIS_PREFIX="${CMAKE_INSTALL_PREFIX}" TRELLIS_PROGRAM_PREFIX="${PROGRAM_PREFIX}")
target_link_libraries(${PROGRAM_PREFIX}ecpunpack trellis ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ${link_param})
- setup_rpath(${PROGRAM_PREFIX}ecpunpack)
if (WASI)
set_property(TARGET ${PROGRAM_PREFIX}ecpunpack PROPERTY SUFFIX ".wasm")
endif()
@@ -173,7 +156,6 @@ if (BUILD_ECPPLL)
target_include_directories(${PROGRAM_PREFIX}ecppll PRIVATE tools)
target_compile_definitions(${PROGRAM_PREFIX}ecppll PRIVATE TRELLIS_RPATH_DATADIR="${TRELLIS_RPATH_DATADIR}" TRELLIS_PREFIX="${CMAKE_INSTALL_PREFIX}" TRELLIS_PROGRAM_PREFIX="${PROGRAM_PREFIX}")
target_link_libraries(${PROGRAM_PREFIX}ecppll trellis ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ${link_param})
- setup_rpath(${PROGRAM_PREFIX}ecppll)
if (WASI)
set_property(TARGET ${PROGRAM_PREFIX}ecppll PROPERTY SUFFIX ".wasm")
endif()
@@ -185,7 +167,6 @@ if (BUILD_ECPMULTI)
target_include_directories(${PROGRAM_PREFIX}ecpmulti PRIVATE tools)
target_compile_definitions(${PROGRAM_PREFIX}ecpmulti PRIVATE TRELLIS_RPATH_DATADIR="${TRELLIS_RPATH_DATADIR}" TRELLIS_PREFIX="${CMAKE_INSTALL_PREFIX}" TRELLIS_PROGRAM_PREFIX="${PROGRAM_PREFIX}")
target_link_libraries(${PROGRAM_PREFIX}ecpmulti trellis ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ${link_param})
- setup_rpath(${PROGRAM_PREFIX}ecpmulti)
if (WASI)
set_property(TARGET ${PROGRAM_PREFIX}ecpmulti PROPERTY SUFFIX ".wasm")
endif()
@@ -194,7 +175,7 @@ endif()
if (BUILD_SHARED)
- install(TARGETS trellis ${PythonInstallTarget} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROGRAM_PREFIX}trellis)
+ install(TARGETS trellis ${PythonInstallTarget} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
install(DIRECTORY ../database DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROGRAM_PREFIX}trellis PATTERN ".git" EXCLUDE)

View File

@ -0,0 +1,41 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
pkgname=prjtrellis
pkgver=1.4
pkgrel=0
pkgdesc="Documentation of the Lattice ECP5 bit-stream format"
url="https://github.com/YosysHQ/prjtrellis"
arch="all"
license="ISC AND MIT"
makedepends="
cmake
ninja
python3
python3-dev
boost-dev
"
source="
$pkgname-$pkgver.tar.gz::https://github.com/YosysHQ/prjtrellis/archive/refs/tags/$pkgver.tar.gz
0001-library-install-path.patch
"
options="!check" # no unit tests provided
build() {
cmake -B build -G Ninja -S libtrellis \
-DBUILD_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCURRENT_GIT_VERSION=$pkgver \
#
cmake --build build
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
3fd8bf533da98f3cdf6a0fe92ee4b2cb5d58fcc568e3365a1927fae392a4aaeec80b1f53e26ccd6c7afd7efb17b749cd8bac6d3ec2d17f9ad2c33da592a213d9 prjtrellis-1.4.tar.gz
f6cee3e14a05a5ad8845f11ad3b6102cdbacb43b906eaa3f3892b7418193a4652bf3ff1a3ce42496a39adeecea5fe55bf32a470cf7b3a23b653e052b22c68a3f 0001-library-install-path.patch
"