blob: 0d845aa78320900cad2514b930bbf56ba0c18639 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
PORTNAME= openroad
DISTVERSION= 2021_03_09
DISTVERSIONSUFFIX= _stable
CATEGORIES= cad
MAINTAINER= yuri@FreeBSD.org
COMMENT= ASIC physical design tool
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BROKEN_i386= C++ issue on i386, should be resolved in the next update
BUILD_DEPENDS= base64:converters/base64 \
boost-libs>0:devel/boost-libs \
coin-or-lemon>0:math/lemon \
swig:devel/swig
LIB_DEPENDS= libcudd.so:math/cudd \
libfmt.so:devel/libfmt \
libspdlog.so:devel/spdlog
USES= bison compiler:c++17-lang cmake eigen:3 qt:5 localbase:ldflags tcl:86 # the code asks for tcl-87, but build fails: https://github.com/The-OpenROAD-Project/OpenROAD/issues/508
USE_QT= core gui widgets buildtools_build qmake_build
USE_GITHUB= yes
GH_ACCOUNT= The-OpenROAD-Project
GH_PROJECT= OpenROAD
GH_TUPLE= The-OpenROAD-Project:OpenSTA:181a9f2:The_OpenROAD_Project_OpenSTA/src/sta
CMAKE_OFF= BUILD_PYTHON FREEBSD_BUILD_TESTS
CMAKE_ON= BUILD_TCL
CMAKE_ARGS= -DFREEBSD_TCL_VER=${TCL_VER:S/.//} -DFREEBSD_TCL_INCLUDEDIR=${TCL_INCLUDEDIR}
CXXFLAGS+= -I${LOCALBASE}/include/eigen3
BINARY_ALIAS= tclsh=${TCLSH}
PLIST_FILES= bin/openroad \
bin/sta
post-patch: # override the TCL version to be the same as USES=tcl sets
@${FIND} ${WRKSRC} -name FindTCL.cmake \
| ${XARGS} ${REINPLACE_CMD} -e ' \
s|set(TCL_POSSIBLE_NAMES |set(TCL_POSSIBLE_NAMES tcl$${FREEBSD_TCL_VER} |; \
s|PATHS $${TCL_LIB_PARENT1}|PATHS $${FREEBSD_TCL_INCLUDEDIR} $${TCL_LIB_PARENT1}|'
post-install: # unnecessarily installs bundled OpenSTA project: https://github.com/The-OpenROAD-Project/OpenROAD/issues/597
${RM} -r ${STAGEDIR}${PREFIX}/include/sta ${STAGEDIR}${PREFIX}/lib/libOpenSTA.a
do-test: # some tests are known to fail
@${MKDIR} ${WRKSRC}/build/src
@[ -f ${WRKSRC}/build/src/openroad ] || ${LN} ${STAGEDIR}${PREFIX}/bin/openroad ${WRKSRC}/build/src/openroad
@${ECHO} "==> Unit tests"
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} test/regression
@${ECHO} "==> Flow tests"
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} test/regression flow
.include <bsd.port.mk>
|