diff --git a/cad/klayout/Makefile b/cad/klayout/Makefile index dab3a001edc0..05005e50f073 100644 --- a/cad/klayout/Makefile +++ b/cad/klayout/Makefile @@ -1,81 +1,86 @@ PORTNAME= klayout -PORTVERSION= 0.28.12 +PORTVERSION= 0.28.17 DISTVERSIONPREFIX= v CATEGORIES= cad -MAINTAINER= hrs@FreeBSD.org +MAINTAINER= kevinz5000@gmail.com COMMENT= Qt-based chip mask layout viewing and editing tool WWW= http://www.klayout.de/index.html LICENSE= GPLv2 BROKEN_i386= type 'hash' does not provide a call operator BROKEN_powerpc= type 'hash' does not provide a call operator +BUILD_DEPENDS= bash:shells/bash + USES= compiler:c++0x gmake gl python ruby qt:5 USE_GITHUB= yes GH_ACCOUNT= KLayout USE_GL= gl USE_QT= core buildtools designer gui multimedia network printsupport \ qmake sql svg testlib uitools widgets xml xmlpatterns USE_LDCONFIG= yes 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 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} +CONFIGURE_SHELL= ${LOCALBASE}/bin/bash + do-configure: cd ${WRKSRC} && \ - ${SETENV} ${MAKE_ENV} ${SH} build.sh \ + ${SETENV} ${MAKE_ENV} ${CONFIGURE_SHELL} build.sh \ -with-qtbinding \ -rpath "${PREFIX}/lib/klayout" \ -prefix "${PREFIX}" \ -python ${PYTHON_CMD} \ -ruby ${RUBY} \ + -nolibgit2 \ -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 ${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 diff --git a/cad/klayout/distinfo b/cad/klayout/distinfo index 76215e931c68..9f4ee7d83159 100644 --- a/cad/klayout/distinfo +++ b/cad/klayout/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1732781073 -SHA256 (KLayout-klayout-v0.28.12_GH0.tar.gz) = 92353301dd87a556447b999b4cf452b6027ae65e40311cf3d8399e9df26d6343 -SIZE (KLayout-klayout-v0.28.12_GH0.tar.gz) = 88446237 +TIMESTAMP = 1740272300 +SHA256 (KLayout-klayout-v0.28.17_GH0.tar.gz) = 1cf2c46823e56c134b2936aa4536dbe3f0dccc95f117f0bd7a7d5b4ff4b619ec +SIZE (KLayout-klayout-v0.28.17_GH0.tar.gz) = 89415525 diff --git a/cad/klayout/files/patch-build.sh b/cad/klayout/files/patch-build.sh deleted file mode 100644 index 5b078d7ff5f1..000000000000 --- a/cad/klayout/files/patch-build.sh +++ /dev/null @@ -1,160 +0,0 @@ ---- build.sh.orig 2022-12-22 22:17:08 UTC -+++ build.sh -@@ -583,7 +583,7 @@ echo " RPATH=$RPATH" - mkdir -p $BUILD - - # source the version script --. $(dirname $(which $0))/version.sh -+. version.sh - - # qmake needs absolute paths, so we get them now: - # OSX does not have `readlink -f` command. Use equivalent Perl script. -@@ -596,11 +596,7 @@ else - fi - - if [ "$IS_MAC" = "no" ]; then -- if ( gmake -v >/dev/null 2>/dev/null ); then - MAKE_PRG=gmake -- else -- MAKE_PRG=make -- fi - else - MAKE_PRG=make - fi -@@ -625,83 +621,85 @@ $QMAKE -v - # Force a minimum rebuild because of version info - touch $CURR_DIR/src/version/version.h - --qmake_options=( -+qmake_options=" - -recursive -- CONFIG+="$CONFIG" -- RUBYLIBFILE="$RUBYLIBFILE" -- RUBYVERSIONCODE="$RUBYVERSIONCODE" -- HAVE_RUBY="$HAVE_RUBY" -- PYTHON="$PYTHON" -- PYTHONLIBFILE="$PYTHONLIBFILE" -- PYTHONINCLUDE="$PYTHONINCLUDE" -- PYTHONEXTSUFFIX="$PYTHONEXTSUFFIX" -- HAVE_PYTHON="$HAVE_PYTHON" -- HAVE_QTBINDINGS="$HAVE_QTBINDINGS" -- HAVE_QT_UITOOLS="$HAVE_QT_UITOOLS" -- HAVE_QT_NETWORK="$HAVE_QT_NETWORK" -- HAVE_QT_SQL="$HAVE_QT_SQL" -- HAVE_QT_SVG="$HAVE_QT_SVG" -- HAVE_QT_PRINTSUPPORT="$HAVE_QT_PRINTSUPPORT" -- HAVE_QT_MULTIMEDIA="$HAVE_QT_MULTIMEDIA" -- HAVE_QT_DESIGNER="$HAVE_QT_DESIGNER" -- HAVE_QT_XML="$HAVE_QT_XML" -- HAVE_64BIT_COORD="$HAVE_64BIT_COORD" -- HAVE_QT="$HAVE_QT" -- HAVE_CURL="$HAVE_CURL" -- HAVE_EXPAT="$HAVE_EXPAT" -- HAVE_PNG="$HAVE_PNG" -- PREFIX="$BIN" -- RPATH="$RPATH" -- KLAYOUT_VERSION="$KLAYOUT_VERSION" -- KLAYOUT_VERSION_DATE="$KLAYOUT_VERSION_DATE" -- KLAYOUT_VERSION_REV="$KLAYOUT_VERSION_REV" --) -+ CONFIG+=\"$CONFIG\" -+ RUBYLIBFILE=\"$RUBYLIBFILE\" -+ RUBYVERSIONCODE=\"$RUBYVERSIONCODE\" -+ HAVE_RUBY=\"$HAVE_RUBY\" -+ PYTHON=\"$PYTHON\" -+ PYTHONLIBFILE=\"$PYTHONLIBFILE\" -+ PYTHONINCLUDE=\"$PYTHONINCLUDE\" -+ PYTHONEXTSUFFIX=\"$PYTHONEXTSUFFIX\" -+ HAVE_PYTHON=\"$HAVE_PYTHON\" -+ HAVE_QTBINDINGS=\"$HAVE_QTBINDINGS\" -+ HAVE_QT_UITOOLS=\"$HAVE_QT_UITOOLS\" -+ HAVE_QT_NETWORK=\"$HAVE_QT_NETWORK\" -+ HAVE_QT_SQL=\"$HAVE_QT_SQL\" -+ HAVE_QT_SVG=\"$HAVE_QT_SVG\" -+ HAVE_QT_PRINTSUPPORT=\"$HAVE_QT_PRINTSUPPORT\" -+ HAVE_QT_MULTIMEDIA=\"$HAVE_QT_MULTIMEDIA\" -+ HAVE_QT_DESIGNER=\"$HAVE_QT_DESIGNER\" -+ HAVE_QT_XML=\"$HAVE_QT_XML\" -+ HAVE_64BIT_COORD=\"$HAVE_64BIT_COORD\" -+ HAVE_QT=\"$HAVE_QT\" -+ HAVE_CURL=\"$HAVE_CURL\" -+ HAVE_EXPAT=\"$HAVE_EXPAT\" -+ HAVE_PNG=\"$HAVE_PNG\" -+ PREFIX=\"$BIN\" -+ RPATH=\"$RPATH\" -+ KLAYOUT_VERSION=\"$KLAYOUT_VERSION\" -+ KLAYOUT_VERSION_DATE=\"$KLAYOUT_VERSION_DATE\" -+ KLAYOUT_VERSION_REV=\"$KLAYOUT_VERSION_REV\" -+" - - # NOTE: qmake does not like include paths which clash with paths built into the compiler - # hence we don't add RUBYINCLUDE or RUBYINCLUDE2 in this case (found on CentOS 8 where Ruby - # headers are installed in /usr/include) - if [ "$RUBYINCLUDE" != "/usr/include" ] && [ "$RUBYINCLUDE" != "/usr/local/include" ]; then -- qmake_options+=( RUBYINCLUDE="$RUBYINCLUDE" ) -+ qmake_options="$qmake_options RUBYINCLUDE=\"$RUBYINCLUDE\"" - fi - if [ "$RUBYINCLUDE2" != "/usr/include" ] && [ "$RUBYINCLUDE2" != "/usr/local/include" ]; then -- qmake_options+=( RUBYINCLUDE2="$RUBYINCLUDE2" ) -+ qmake_options="$qmake_options RUBYINCLUDE2=\"$RUBYINCLUDE2\"" - fi - - # This should speed up build time considerably - # https://ortogonal.github.io/ccache-and-qmake-qtcreator/ - if [ "$QMAKE_CCACHE" = 1 ]; then -- qmake_options+=( -- CONFIG+="ccache" -- ) -+ qmake_options="$qmake_options -+ CONFIG+=\"ccache\" -+ " - fi - - if [ $BUILD_EXPERT = 1 ]; then -- qmake_options+=( -- QMAKE_AR="$AR cqs" -- QMAKE_LINK_C="$CC" -- QMAKE_LINK_C_SHLIB="$CC" -- QMAKE_LINK="$CXX" -- QMAKE_LINK_SHLIB="$CXX" -- QMAKE_OBJCOPY="$OBJCOPY" -+ qmake_options=" -+ QMAKE_AR=\"$AR cqs\" -+ QMAKE_LINK_C=\"$CC\" -+ QMAKE_LINK_C_SHLIB=\"$CC\" -+ QMAKE_LINK=\"$CXX\" -+ QMAKE_LINK_SHLIB=\"$CXX\" -+ QMAKE_OBJCOPY=\"$OBJCOPY\" - QMAKE_RANLIB= - QMAKE_STRIP= -- QMAKE_CC="$CC" -- QMAKE_CXX="$CXX" -- QMAKE_CFLAGS="$CFLAGS" -+ QMAKE_CC=\"$CC\" -+ QMAKE_CXX=\"$CXX\" -+ QMAKE_CFLAGS=\"$CFLAGS\" - QMAKE_CFLAGS_RELEASE= - QMAKE_CFLAGS_DEBUG= -- QMAKE_CXXFLAGS="$CXXFLAGS" -+ QMAKE_CXXFLAGS=\"$CXXFLAGS\" - QMAKE_CXXFLAGS_RELEASE= - QMAKE_CXXFLAGS_DEBUG= -- QMAKE_LIBS="$LIBS" -- QMAKE_LFLAGS="$LDFLAGS" -+ QMAKE_LIBS=\"$LIBS\" -+ QMAKE_LFLAGS=\"$LDFLAGS\" - QMAKE_LFLAGS_RELEASE= - QMAKE_LFLAGS_DEBUG= -- ) -+ " - fi - --echo $QMAKE "$CURR_DIR/src/klayout.pro" "${qmake_options[@]}" --$QMAKE "$CURR_DIR/src/klayout.pro" "${qmake_options[@]}" -+echo $QMAKE "$CURR_DIR/src/klayout.pro" ${qmake_options} \ -+ QMAKE_CXXFLAGS="$CXXFLAGS" QMAKE_CFLAGS="$CFLAGS" QMAKE_LFLAGS="$LDFLAGS" -+$QMAKE "$CURR_DIR/src/klayout.pro" ${qmake_options} \ -+ QMAKE_CXXFLAGS="$CXXFLAGS" QMAKE_CFLAGS="$CFLAGS" QMAKE_LFLAGS="$LDFLAGS" - - cd $CURR_DIR - echo "" diff --git a/cad/klayout/files/patch-src-lib-lib-lib.pro b/cad/klayout/files/patch-src-lib-lib-lib.pro deleted file mode 100644 index 056cbc0144b6..000000000000 --- a/cad/klayout/files/patch-src-lib-lib-lib.pro +++ /dev/null @@ -1,9 +0,0 @@ ---- src/lib/lib/lib.pro.orig 2021-08-28 17:04:07 UTC -+++ src/lib/lib/lib.pro -@@ -36,5 +36,5 @@ RESOURCES = \ - - INCLUDEPATH += $$TL_INC $$GSI_INC $$DB_INC - DEPENDPATH += $$TL_INC $$GSI_INC $$DB_INC --LIBS += -L$$DESTDIR -lklayout_gsi -lklayout_tl -lklayout_db -+LIBS += $$DESTDIR/libklayout_gsi.so $$DESTDIR/libklayout_tl.so $$DESTDIR/libklayout_db.so -