From 86e0deea100e435b6f78d5c6ec5adbd366b51f36 Mon Sep 17 00:00:00 2001 From: Fabian Posch Date: Thu, 13 Jun 2024 14:38:31 +0200 Subject: [PATCH] initial packaging of dflowmap --- .SRCINFO | 23 +++++++++++++++++++ PKGBUILD | 60 ++++++++++++++++++++++++++++++++++++++++++++++++ cmakelists.patch | 23 +++++++++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 .SRCINFO create mode 100644 PKGBUILD create mode 100644 cmakelists.patch diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 0000000..cae7ad2 --- /dev/null +++ b/.SRCINFO @@ -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 diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..74e788f --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,60 @@ +# Maintainer: Fabian Posch + +_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 + +} \ No newline at end of file diff --git a/cmakelists.patch b/cmakelists.patch new file mode 100644 index 0000000..898b19c --- /dev/null +++ b/cmakelists.patch @@ -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) +