aboutsummaryrefslogtreecommitdiff
path: root/cad/klayout/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'cad/klayout/Makefile')
-rw-r--r--cad/klayout/Makefile68
1 files changed, 48 insertions, 20 deletions
diff --git a/cad/klayout/Makefile b/cad/klayout/Makefile
index 41de80bbe590..756749bcff01 100644
--- a/cad/klayout/Makefile
+++ b/cad/klayout/Makefile
@@ -1,53 +1,81 @@
PORTNAME= klayout
-PORTVERSION= 0.25.8
-PORTREVISION= 2
+PORTVERSION= 0.28.3
DISTVERSIONPREFIX= v
CATEGORIES= cad
MAINTAINER= hrs@FreeBSD.org
-COMMENT= Qt-based GDS2 Viewer
+COMMENT= Qt-based chip mask layout viewing and editing tool
+WWW= http://www.klayout.de/index.html
LICENSE= GPLv2
BROKEN_i386= type 'hash<long long>' does not provide a call operator
BROKEN_powerpc= type 'hash<long long>' does not provide a call operator
-BROKEN_sparc64= Does not compile on sparc64: gcc bug
-USES= compiler:c++0x gmake gl python qt:5
+USES= compiler:c++0x gmake gl python ruby qt:5
USE_GITHUB= yes
GH_ACCOUNT= KLayout
USE_GL= gl
-USE_RUBY= yes
USE_QT= core buildtools designer gui multimedia network printsupport \
- qmake sql svg testlib widgets xml xmlpatterns
+ qmake sql svg testlib uitools widgets xml xmlpatterns
USE_LDCONFIG= yes
-CXXFLAGS+= -fPIC -I${LOCALBASE}/include/qt5
-LDFLAGS+= ${LIBS} -L${LOCALBASE}/lib/qt5 -lpthread
+CXXFLAGS+= -fdeclspec -fPIC -I${LOCALBASE}/include/qt5 \
+ ${QT5MODULES:S,^,-I${LOCALBASE}/include/qt5/Qt,}
+LDFLAGS+= ${LIBS} ${QT5MODULES:S,^,-lQt5,} \
+ -L${LOCALBASE}/lib/qt5 -lpthread
QT5MODULES= Core Designer Gui Multimedia MultimediaWidgets \
Network PrintSupport Sql Svg Test Widgets Xml XmlPatterns
-.for M in ${QT5MODULES}
-CXXFLAGS+= -I${LOCALBASE}/include/qt5/Qt${M}
-LIBS+= -lQt5${M}
-.endfor
-MAKE_ENV= INSTALL_ROOT=${STAGEDIR}
+MAKE_ENV= INSTALLROOT=${STAGEDIR} \
+ PYTHON_SITELIBDIR=${PYTHON_SITELIBDIR}
BUILD_WRKSRC= ${WRKSRC}/build-release
INSTALL_WRKSRC= ${WRKSRC}/build-release
+TEST_WRKSRC= ${WRKSRC}/build-release
+PLIST_SUB= PORTVERSION=${PORTVERSION} PORTVERSION_R=${PORTVERSION:R}
do-configure:
cd ${WRKSRC} && \
${SETENV} ${MAKE_ENV} ${SH} build.sh \
-with-qtbinding \
- -qt5 \
- -rpath ${LOCALBASE}/lib \
- -prefix ${PREFIX} \
+ -rpath "${PREFIX}/lib/klayout" \
+ -prefix "${PREFIX}" \
-python ${PYTHON_CMD} \
-ruby ${RUBY} \
-dry-run
+post-configure:
+ ${ECHO_CMD} "#define PLUGINS_BASEDIR \"${PREFIX}/lib/klayout\"" \
+ > ${WRKSRC}/src/lay/lay/laySystemPathsDefaults.h
+
+pre-install:
+ for D in lib db tl rdb pya; do \
+ ${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/klayout/$${D}; \
+ done
+ for D in db_plugins lay_plugins; do \
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/klayout/$${D}; \
+ done
+
post-install:
- cd ${STAGEDIR}${PREFIX} && \
- ${MV} libklayout* ${STAGEDIR}${PREFIX}/lib && \
- ${MV} klayout strm* ${STAGEDIR}${PREFIX}/bin
+ cd ${INSTALL_WRKSRC} && \
+ ${STRIP_CMD} `${FIND} libklayout*so* -type f` && \
+ ${MV} libklayout*so* ${STAGEDIR}${PREFIX}/lib/klayout
+.for D in db_plugins lay_plugins
+ cd ${INSTALL_WRKSRC}/$D && \
+ ${STRIP_CMD} `${FIND} *so* -type f` && \
+ ${MV} *so* ${STAGEDIR}${PREFIX}/lib/klayout/$D
+.endfor
+ cd ${INSTALL_WRKSRC}/pymod && \
+ ${STRIP_CMD} `${FIND} lib*so* -type f` && \
+ ${MV} lib*so* ${STAGEDIR}${PREFIX}/lib/klayout
+ cd ${STAGEDIR}${PYTHON_SITELIBDIR}/klayout && \
+ ${STRIP_CMD} `${FIND} *.so -type f`
+ cd ${INSTALL_WRKSRC} && \
+ ${INSTALL_PROGRAM} klayout strm* ${STAGEDIR}${PREFIX}/bin
+
+do-test:
+ cd ${TEST_WRKSRC} && \
+ ${SETENV} QT_QPA_PLATFORM=offscreen TESTTMP=testtmp TESTSRC=.. \
+ LD_LIBRARY_PATH=${STAGEDIR}${PREFIX}/lib/klayout/db_plugins:${STAGEDIR}${PREFIX}/lib/klayout/lay_plugins \
+ ./ut_runner
.include <bsd.port.mk>