initial packaging of dflowmap

This commit is contained in:
Fabian Posch 2024-06-13 14:38:31 +02:00
commit 86e0deea10
3 changed files with 106 additions and 0 deletions

23
.SRCINFO Normal file
View file

@ -0,0 +1,23 @@
pkgbase = act-dflowmap-git
pkgdesc = dflowmap is used to map ACT dataflow programs into production rule based circuit description.
pkgver = 0.1.r429.05c74e4
pkgrel = 1
url = https://github.com/asyncvlsi/dflowmap
arch = x86_64
license = GPL-2.0-only
makedepends = git
makedepends = make
makedepends = gcc
makedepends = cmake
depends = act-core
depends = glibc
depends = gcc-libs
optdepends = act-expropt: Logic optimization
provides = act-dflowmap
conflicts = act-dflowmap
source = git+https://github.com/asyncvlsi/dflowmap
source = cmakelists.patch
sha512sums = SKIP
sha512sums = a721916ae9b430b9acb84d4d1b4c2f7901355a73a2cf030d09e3653cf0af119af3097174144c17bbd4c1e52ddbbb2712d15db9fa11e8739b653f0fb9d479b7b7
pkgname = act-dflowmap-git

60
PKGBUILD Normal file
View file

@ -0,0 +1,60 @@
# Maintainer: Fabian Posch <aur@posch.tech>
_pkgname=dflowmap
pkgname=act-${_pkgname}-git
_basever=0
_patchlvl=1
_gitversion=r429.05c74e4
pkgver=${_basever}.${_patchlvl}.${_gitversion}
pkgrel=1
pkgdesc="dflowmap is used to map ACT dataflow programs into production rule based circuit description."
arch=('x86_64')
url="https://github.com/asyncvlsi/dflowmap"
license=('GPL-2.0-only')
depends=('act-core' 'glibc' 'gcc-libs')
optdepends=('act-expropt: Logic optimization')
makedepends=('git' 'make' 'gcc' 'cmake')
conflicts=("act-${_pkgname}")
provides=("act-${_pkgname}")
source=(
"git+${url}"
"cmakelists.patch"
)
sha512sums=(
"SKIP"
"a721916ae9b430b9acb84d4d1b4c2f7901355a73a2cf030d09e3653cf0af119af3097174144c17bbd4c1e52ddbbb2712d15db9fa11e8739b653f0fb9d479b7b7"
)
pkgver() {
cd ${_pkgname}
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
}
prepare() {
cd ${srcdir}/${_pkgname}
patch CMakeLists.txt < ${srcdir}/cmakelists.patch
}
build() {
cd ${srcdir}/${_pkgname}
./configure
mkdir -p build
cd build
export ACT_HOME="/opt/act-async"
# install prefix is forced to ACT_HOME in the CMake file; Override
# arch build environment by default activates -Werror=format-security, dflowmap has some issues there
cmake -DCMAKE_INSTALL_PREFIX="${pkgdir}/opt/act-async" -DCMAKE_C_FLAGS="-Wno-error=format-security" -DCMAKE_CXX_FLAGS="-Wno-error=format-security" ..
make -j
}
package() {
install -Dm644 ${srcdir}/${_pkgname}/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
cd ${srcdir}/${_pkgname}/build
make install
}

23
cmakelists.patch Normal file
View file

@ -0,0 +1,23 @@
--- CMakeLists.txt 2024-06-13 13:59:50.113982239 +0200
+++ CMakeLists_fix.txt 2024-06-13 14:23:12.702697862 +0200
@@ -51,7 +51,7 @@
add_library(ExprOpt SHARED IMPORTED)
set_target_properties(ExprOpt PROPERTIES IMPORTED_LOCATION $ENV{ACT_HOME}/lib/libexpropt_sh.so)
add_library(ABC SHARED IMPORTED)
- set_target_properties(ABC PROPERTIES IMPORTED_LOCATION $ENV{ACT_HOME}/lib/libabc.so)
+ set_target_properties(ABC PROPERTIES IMPORTED_LOCATION /usr/lib/libabc.so)
else ()
message(
"libexpropt_sh.so missing from $ENV{ACT_HOME}/lib. The tool cannot do logic optimizations or performance modeling for the customized function unit processes!")
@@ -69,7 +69,10 @@
# Set the output directory of executables
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin)
-set(CMAKE_INSTALL_PREFIX $ENV{ACT_HOME} CACHE PATH "installation path" FORCE)
+IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+ set(CMAKE_INSTALL_PREFIX $ENV{ACT_HOME} CACHE PATH "installation path" FORCE)
+ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+
add_subdirectory(src)