git: f63b00b45298 - main - cad/klayout: Update to 0.28.2

From: Hiroki Sato <hrs_at_FreeBSD.org>
Date: Mon, 02 Jan 2023 16:09:55 UTC
The branch main has been updated by hrs:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f63b00b45298093c0392024031ed1eed51b87144

commit f63b00b45298093c0392024031ed1eed51b87144
Author:     Hiroki Sato <hrs@FreeBSD.org>
AuthorDate: 2023-01-02 16:07:48 +0000
Commit:     Hiroki Sato <hrs@FreeBSD.org>
CommitDate: 2023-01-02 16:08:41 +0000

    cad/klayout: Update to 0.28.2
---
 cad/klayout/Makefile                               |   3 +-
 cad/klayout/distinfo                               |   6 +-
 cad/klayout/files/patch-build.sh                   |  35 +--
 cad/klayout/files/patch-src-ant-ant-ant.pro        |  22 +-
 cad/klayout/files/patch-src-drc-drc-drc.pro        |   4 +-
 cad/klayout/files/patch-src-edt-edt-edt.pro        |  22 +-
 cad/klayout/files/patch-src-gsi-gsi-gsi.pro        |   4 +-
 cad/klayout/files/patch-src-img-img-img.pro        |  22 +-
 cad/klayout/files/patch-src-klayout.pri            |   4 +-
 ...-src-klayout_main-klayout_main-klayout_main.pro |  21 +-
 cad/klayout/files/patch-src-lay-lay-lay.pro        |  30 +--
 .../files/patch-src-lay-lay-laySystemPaths.cc      |   4 +-
 .../files/patch-src-lay-unit_tests-unit_tests.pro  |  10 +-
 .../files/patch-src-laybasic-laybasic-laybasic.pro |  15 +-
 .../patch-src-laybasic-unit_tests-unit_tests.pro   |   4 +-
 cad/klayout/files/patch-src-lvs-lvs-lvs.pro        |   4 +-
 cad/klayout/files/patch-src-lym-lym-lym.pro        |   4 +-
 cad/klayout/files/patch-src-plugins-lay_plugin.pri |  16 +-
 ...lugins-tools-view_25d-lay_plugin-lay_plugin.pro |  19 +-
 cad/klayout/files/patch-src-pya-pya-pya.pro        |   4 +-
 ...patch-src-pymod-bridge_sample-bridge_sample.pro |   4 +-
 cad/klayout/files/patch-src-pymod-db-db.pro        |   4 +-
 cad/klayout/files/patch-src-pymod-lay-lay.pro      |  19 +-
 cad/klayout/files/patch-src-pymod-lib-lib.pro      |   4 +-
 cad/klayout/files/patch-src-pymod-pymod.pri        |   4 +-
 cad/klayout/files/patch-src-pymod-rdb-rdb.pro      |   4 +-
 cad/klayout/files/patch-src-pymod-tl-tl.pro        |   6 +-
 .../files/patch-src-rba-unit_tests-unit_tests.pro  |   8 +-
 .../files/patch-src-tl-unit_tests-unit_tests.pro   |   4 +-
 .../files/patch-src-unit_tests-unit_tests.pro      |  15 +-
 cad/klayout/files/patch-src-with_all_libs.pri      |  40 ++-
 cad/klayout/pkg-descr                              |   4 +-
 cad/klayout/pkg-plist                              | 299 +++++++++++----------
 33 files changed, 369 insertions(+), 299 deletions(-)

diff --git a/cad/klayout/Makefile b/cad/klayout/Makefile
index ffb912acb8d1..42d88d2d181f 100644
--- a/cad/klayout/Makefile
+++ b/cad/klayout/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	klayout
-PORTVERSION=	0.27.9
+PORTVERSION=	0.28.2
 DISTVERSIONPREFIX=	v
 CATEGORIES=	cad
 
@@ -38,7 +38,6 @@ do-configure:
 	cd ${WRKSRC} && \
 	    ${SETENV} ${MAKE_ENV} ${SH} build.sh \
 		-with-qtbinding \
-		-qt5 \
 		-rpath "${PREFIX}/lib/klayout" \
 		-prefix "${PREFIX}" \
 		-python ${PYTHON_CMD} \
diff --git a/cad/klayout/distinfo b/cad/klayout/distinfo
index 5aadd8a09da6..8b7dc6ae306e 100644
--- a/cad/klayout/distinfo
+++ b/cad/klayout/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1651843460
-SHA256 (KLayout-klayout-v0.27.9_GH0.tar.gz) = e51fffb0df0f3756d395ae1a9ecc5211dec703bb3187861874177fd3d01218ec
-SIZE (KLayout-klayout-v0.27.9_GH0.tar.gz) = 57400341
+TIMESTAMP = 1672646439
+SHA256 (KLayout-klayout-v0.28.2_GH0.tar.gz) = 07244dcaa37f85e3098fa141d84d61a2cbc968a085cb160a9c90128ff8104568
+SIZE (KLayout-klayout-v0.28.2_GH0.tar.gz) = 62443267
diff --git a/cad/klayout/files/patch-build.sh b/cad/klayout/files/patch-build.sh
index d899e68e1a71..5b078d7ff5f1 100644
--- a/cad/klayout/files/patch-build.sh
+++ b/cad/klayout/files/patch-build.sh
@@ -1,6 +1,6 @@
---- build.sh.orig	2021-07-23 08:00:26 UTC
+--- build.sh.orig	2022-12-22 22:17:08 UTC
 +++ build.sh
-@@ -576,7 +576,7 @@ echo "    Build directory: $BUILD"
+@@ -583,7 +583,7 @@ echo "      RPATH=$RPATH"
  mkdir -p $BUILD
  
  # source the version script
@@ -9,7 +9,7 @@
  
  # qmake needs absolute paths, so we get them now:
  #   OSX does not have `readlink -f` command. Use equivalent Perl script.
-@@ -589,11 +589,7 @@ else
+@@ -596,11 +596,7 @@ else
  fi
  
  if [ "$IS_MAC" = "no" ]; then
@@ -21,25 +21,11 @@
  else
    MAKE_PRG=make
  fi
-@@ -615,9 +611,9 @@ cd $BUILD
- 
- # chose the right qmake
- if [ $HAVE_QT5 = 0 ]; then
--  export QT_SELECT=4
-+  export QT_SELECT=qt4
- else
--  export QT_SELECT=5
-+  export QT_SELECT=qt5
- fi
- 
- $QMAKE -v
-@@ -625,82 +621,85 @@ $QMAKE -v
+@@ -625,83 +621,85 @@ $QMAKE -v
  # Force a minimum rebuild because of version info
  touch $CURR_DIR/src/version/version.h
  
 -qmake_options=(
-+# XXX
-+#  CONFIG=\"$CONFIG\"
 +qmake_options="
    -recursive
 -  CONFIG+="$CONFIG"
@@ -62,15 +48,16 @@
 -  HAVE_QT_XML="$HAVE_QT_XML"
 -  HAVE_64BIT_COORD="$HAVE_64BIT_COORD"
 -  HAVE_QT="$HAVE_QT"
--  HAVE_QT5="$HAVE_QT5"
 -  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\"
@@ -90,9 +77,9 @@
 +  HAVE_QT_XML=\"$HAVE_QT_XML\"
 +  HAVE_64BIT_COORD=\"$HAVE_64BIT_COORD\"
 +  HAVE_QT=\"$HAVE_QT\"
-+  HAVE_QT5=\"$HAVE_QT5\"
 +  HAVE_CURL=\"$HAVE_CURL\"
 +  HAVE_EXPAT=\"$HAVE_EXPAT\"
++  HAVE_PNG=\"$HAVE_PNG\"
 +  PREFIX=\"$BIN\"
 +  RPATH=\"$RPATH\"
 +  KLAYOUT_VERSION=\"$KLAYOUT_VERSION\"
@@ -131,7 +118,7 @@
 -    QMAKE_LINK="$CXX"
 -    QMAKE_LINK_SHLIB="$CXX"
 -    QMAKE_OBJCOPY="$OBJCOPY"
-+  qmake_options="$qmake_options
++  qmake_options="
 +    QMAKE_AR=\"$AR cqs\"
 +    QMAKE_LINK_C=\"$CC\"
 +    QMAKE_LINK_C_SHLIB=\"$CC\"
@@ -152,7 +139,9 @@
 +    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=
@@ -163,9 +152,9 @@
 -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_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"
++    QMAKE_CXXFLAGS="$CXXFLAGS" QMAKE_CFLAGS="$CFLAGS" QMAKE_LFLAGS="$LDFLAGS"
  
  cd $CURR_DIR
  echo ""
diff --git a/cad/klayout/files/patch-src-ant-ant-ant.pro b/cad/klayout/files/patch-src-ant-ant-ant.pro
index 5b49f9566830..efea9a87dbc9 100644
--- a/cad/klayout/files/patch-src-ant-ant-ant.pro
+++ b/cad/klayout/files/patch-src-ant-ant-ant.pro
@@ -1,9 +1,19 @@
---- src/ant/ant/ant.pro.orig	2021-08-28 17:19:48 UTC
+--- src/ant/ant/ant.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/ant/ant/ant.pro
-@@ -37,5 +37,5 @@ SOURCES = \
+@@ -49,14 +49,14 @@ SOURCES += \
  
- INCLUDEPATH += $$TL_INC $$GSI_INC $$LAYBASIC_INC $$DB_INC
- DEPENDPATH += $$TL_INC $$GSI_INC $$LAYBASIC_INC $$DB_INC
--LIBS += -L$$DESTDIR -lklayout_tl -lklayout_gsi -lklayout_laybasic -lklayout_db
-+LIBS += $$DESTDIR/libklayout_tl.so $$DESTDIR/libklayout_gsi.so $$DESTDIR/libklayout_laybasic.so $$DESTDIR/libklayout_db.so
+ INCLUDEPATH += $$TL_INC $$GSI_INC $$LAYBASIC_INC $$LAYVIEW_INC $$DB_INC
+ DEPENDPATH += $$TL_INC $$GSI_INC $$LAYBASIC_INC $$LAYVIEW_INC $$DB_INC
+-LIBS += -L$$DESTDIR -lklayout_tl -lklayout_gsi -lklayout_laybasic -lklayout_layview -lklayout_db
++LIBS += $$DESTDIR/libklayout_tl.so $$DESTDIR/libklayout_gsi.so $$DESTDIR/libklayout_laybasic.so $$DESTDIR/libklayout_layview.so $$DESTDIR/libklayout_db.so
+ 
+ !equals(HAVE_QT, "0") {
+ 
+   INCLUDEPATH += $$LAYUI_INC
+   DEPENDPATH += $$LAYUI_INC
+ 
+-  LIBS += -lklayout_layui
++  LIBS += $$DESTDIR/libklayout_layui.so
+ 
+ }
  
diff --git a/cad/klayout/files/patch-src-drc-drc-drc.pro b/cad/klayout/files/patch-src-drc-drc-drc.pro
index da35391f9019..8aff66474378 100644
--- a/cad/klayout/files/patch-src-drc-drc-drc.pro
+++ b/cad/klayout/files/patch-src-drc-drc-drc.pro
@@ -1,6 +1,6 @@
---- src/drc/drc/drc.pro.orig	2021-08-28 17:01:48 UTC
+--- src/drc/drc/drc.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/drc/drc/drc.pro
-@@ -18,5 +18,5 @@ RESOURCES = \
+@@ -20,5 +20,5 @@ HEADERS = \
  
  INCLUDEPATH += $$TL_INC $$DB_INC $$GSI_INC $$LYM_INC $$RDB_INC
  DEPENDPATH += $$TL_INC $$DB_INC $$GSI_INC $$LYM_INC $$RDB_INC
diff --git a/cad/klayout/files/patch-src-edt-edt-edt.pro b/cad/klayout/files/patch-src-edt-edt-edt.pro
index 0060a03db527..9fafc8e01046 100644
--- a/cad/klayout/files/patch-src-edt-edt-edt.pro
+++ b/cad/klayout/files/patch-src-edt-edt-edt.pro
@@ -1,9 +1,19 @@
---- src/edt/edt/edt.pro.orig	2021-08-28 16:59:48 UTC
+--- src/edt/edt/edt.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/edt/edt/edt.pro
-@@ -71,5 +71,5 @@ DEPENDPATH += $$TL_INC $$GSI_INC $$LAYBASIC_INC $$DB_I
- INCLUDEPATH += $$DESTDIR/laybasic/laybasic
- DEPENDPATH += $$DESTDIR/laybasic/laybasic
+@@ -81,14 +81,14 @@ SOURCES += \
+ INCLUDEPATH += $$TL_INC $$GSI_INC $$LAYBASIC_INC $$LAYVIEW_INC $$DB_INC
+ DEPENDPATH += $$TL_INC $$GSI_INC $$LAYBASIC_INC $$LAYVIEW_INC $$DB_INC
  
--LIBS += -L$$DESTDIR -lklayout_tl -lklayout_gsi -lklayout_laybasic -lklayout_db
-+LIBS += $$DESTDIR/libklayout_tl.so $$DESTDIR/libklayout_gsi.so $$DESTDIR/libklayout_laybasic.so $$DESTDIR/libklayout_db.so
+-LIBS += -L$$DESTDIR -lklayout_tl -lklayout_gsi -lklayout_laybasic -lklayout_layview -lklayout_db
++LIBS += $$DESTDIR/libklayout_tl.so $$DESTDIR/libklayout_gsi.so $$DESTDIR/libklayout_laybasic.so $$DESTDIR/libklayout_layview.so $$DESTDIR/libklayout_db.so
+ 
+ !equals(HAVE_QT, "0") {
+ 
+   INCLUDEPATH += $$LAYUI_INC
+   DEPENDPATH += $$LAYUI_INC
+ 
+-  LIBS += -lklayout_layui
++  LIBS += $$DESTDIR/libklayout_layui.so
+ 
+ }
  
diff --git a/cad/klayout/files/patch-src-gsi-gsi-gsi.pro b/cad/klayout/files/patch-src-gsi-gsi-gsi.pro
index d08d24f9a5ae..77c8a9a86b2f 100644
--- a/cad/klayout/files/patch-src-gsi-gsi-gsi.pro
+++ b/cad/klayout/files/patch-src-gsi-gsi-gsi.pro
@@ -1,6 +1,6 @@
---- src/gsi/gsi/gsi.pro.orig	2021-08-28 17:25:20 UTC
+--- src/gsi/gsi/gsi.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/gsi/gsi/gsi.pro
-@@ -51,5 +51,5 @@ SOURCES += gsiDeclTl.cc 
+@@ -53,5 +53,5 @@ SOURCES += \
  
  INCLUDEPATH += $$TL_INC
  DEPENDPATH += $$TL_INC
diff --git a/cad/klayout/files/patch-src-img-img-img.pro b/cad/klayout/files/patch-src-img-img-img.pro
index f6ddbec1570b..5b6aa2a34b22 100644
--- a/cad/klayout/files/patch-src-img-img-img.pro
+++ b/cad/klayout/files/patch-src-img-img-img.pro
@@ -1,9 +1,19 @@
---- src/img/img/img.pro.orig	2021-08-28 16:50:46 UTC
+--- src/img/img/img.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/img/img/img.pro
-@@ -37,5 +37,5 @@ SOURCES = \
+@@ -49,13 +49,13 @@ SOURCES += \
  
- INCLUDEPATH += $$TL_INC $$DB_INC $$GSI_INC $$LAYBASIC_INC $$DB_INC
- DEPENDPATH += $$TL_INC $$DB_INC $$GSI_INC $$LAYBASIC_INC $$DB_INC
--LIBS += -L$$DESTDIR -lklayout_tl -lklayout_db -lklayout_gsi -lklayout_laybasic -lklayout_db
-+LIBS += $$DESTDIR/libklayout_tl.so $$DESTDIR/libklayout_db.so $$DESTDIR/libklayout_gsi.so $$DESTDIR/libklayout_laybasic.so $$DESTDIR/libklayout_db.so
+ INCLUDEPATH += $$TL_INC $$DB_INC $$GSI_INC $$LAYBASIC_INC $$LAYVIEW_INC $$DB_INC
+ DEPENDPATH += $$TL_INC $$DB_INC $$GSI_INC $$LAYBASIC_INC $$LAYVIEW_INC $$DB_INC
+-LIBS += -L$$DESTDIR -lklayout_tl -lklayout_db -lklayout_gsi -lklayout_laybasic -lklayout_layview -lklayout_db
+-
++LIBS += $$DESTDIR/libklayout_tl.so $$DESTDIR/libklayout_db.so $$DESTDIR/libklayout_gsi.so $$DESTDIR/libklayout_laybasic.so $$DESTDIR/libklayout_layview.so $$DESTDIR/libklayout_db.so
++ 
+ !equals(HAVE_QT, "0") {
  
+   INCLUDEPATH += $$LAYUI_INC
+   DEPENDPATH += $$LAYUI_INC
+ 
+-  LIBS += -lklayout_layui
++  LIBS += $$DESTDIR/libklayout_layui.so
+ 
+ }
diff --git a/cad/klayout/files/patch-src-klayout.pri b/cad/klayout/files/patch-src-klayout.pri
index 7cb9ed62df1b..78a86e4b2ab5 100644
--- a/cad/klayout/files/patch-src-klayout.pri
+++ b/cad/klayout/files/patch-src-klayout.pri
@@ -1,6 +1,6 @@
---- src/klayout.pri.orig	2021-07-23 08:00:26 UTC
+--- src/klayout.pri.orig	2022-12-22 22:17:08 UTC
 +++ src/klayout.pri
-@@ -100,7 +100,9 @@ equals(HAVE_RUBY, "1") {
+@@ -113,7 +113,9 @@ equals(HAVE_RUBY, "1") {
  }
  
  !isEmpty(RPATH) {
diff --git a/cad/klayout/files/patch-src-klayout_main-klayout_main-klayout_main.pro b/cad/klayout/files/patch-src-klayout_main-klayout_main-klayout_main.pro
index 3906e5c84808..996140da86d3 100644
--- a/cad/klayout/files/patch-src-klayout_main-klayout_main-klayout_main.pro
+++ b/cad/klayout/files/patch-src-klayout_main-klayout_main-klayout_main.pro
@@ -1,6 +1,11 @@
---- src/klayout_main/klayout_main/klayout_main.pro.orig	2022-04-24 08:12:38 UTC
+--- src/klayout_main/klayout_main/klayout_main.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/klayout_main/klayout_main/klayout_main.pro
-@@ -27,39 +27,39 @@ DEPENDPATH += $$QTBASIC_INC
+@@ -24,52 +24,52 @@ win32 {
+ INCLUDEPATH += $$DOC_INC $$ICONS_INC $$QTBASIC_INC
+ DEPENDPATH += $$DOC_INC $$ICONS_INC $$QTBASIC_INC
+ 
+-LIBS += -lklayout_doc -lklayout_icons
++LIBS += $$DESTDIR/libklayout_doc.so $$DESTDIR/libklayout_icons.so
  
  equals(HAVE_QTBINDINGS, "1") {
  
@@ -51,3 +56,15 @@
      }
  
    }
+ 
+   greaterThan(QT_MAJOR_VERSION, 5) {
+ 
+-    LIBS += -lklayout_QtCore5Compat
+-    LIBS -= -lklayout_QtXmlPatterns
+-    LIBS -= -lklayout_QtDesigner
++    LIBS += $$DESTDIR/libklayout_QtCore5Compat.so
++    LIBS -= $$DESTDIR/libklayout_QtXmlPatterns.so
++    LIBS -= $$DESTDIR/libklayout_QtDesigner.so
+ 
+   }
+ 
diff --git a/cad/klayout/files/patch-src-lay-lay-lay.pro b/cad/klayout/files/patch-src-lay-lay-lay.pro
index 326ebc49cc33..58308d2b11ed 100644
--- a/cad/klayout/files/patch-src-lay-lay-lay.pro
+++ b/cad/klayout/files/patch-src-lay-lay-lay.pro
@@ -1,22 +1,14 @@
---- src/lay/lay/lay.pro.orig	2022-04-24 08:12:38 UTC
+--- src/lay/lay/lay.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/lay/lay/lay.pro
-@@ -181,13 +181,13 @@ RESOURCES = layBuildInMacros.qrc \
- 
- INCLUDEPATH += $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC $$LAYBASIC_INC $$ANT_INC $$IMG_INC $$EDT_INC $$LYM_INC
- DEPENDPATH += $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC $$LAYBASIC_INC $$ANT_INC $$IMG_INC $$EDT_INC $$LYM_INC
--LIBS += -L$$DESTDIR -lklayout_tl -lklayout_gsi -lklayout_db -lklayout_rdb -lklayout_lym -lklayout_laybasic -lklayout_ant -lklayout_img -lklayout_edt
-+LIBS += $$DESTDIR/libklayout_tl.so $$DESTDIR/libklayout_gsi.so $$DESTDIR/libklayout_db.so $$DESTDIR/libklayout_rdb.so $$DESTDIR/libklayout_lym.so $$DESTDIR/libklayout_laybasic.so $$DESTDIR/libklayout_ant.so $$DESTDIR/libklayout_img.so $$DESTDIR/libklayout_edt.so
- 
- win32 {
-   # for stack trace support:
-   # lpsapi for GetModuleFileName and others
-   # dbghelp for SymFromAddr and other
--  LIBS += -lpsapi -ldbghelp
-+  LIBS += $$DESTDIR/libpsapi.so $$DESTDIR/libdbghelp.so
- }
- 
- *bsd* {
-@@ -203,12 +203,12 @@ INCLUDEPATH += $$QTBASIC_INC
+@@ -182,18 +182,18 @@ RESOURCES = layBuildInMacros.qrc \
+ 
+ INCLUDEPATH += $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC $$LAYBASIC_INC $$LAYUI_INC $$LAYVIEW_INC $$ANT_INC $$IMG_INC $$EDT_INC $$LYM_INC
+ DEPENDPATH += $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC $$LAYBASIC_INC $$LAYUI_INC $$LAYVIEW_INC $$ANT_INC $$IMG_INC $$EDT_INC $$LYM_INC
+-LIBS += -L$$DESTDIR -lklayout_tl -lklayout_gsi -lklayout_db -lklayout_rdb -lklayout_lym -lklayout_laybasic -lklayout_layview -lklayout_layui -lklayout_ant -lklayout_img -lklayout_edt
+-
++LIBS += $$DESTDIR/libklayout_tl.so $$DESTDIR/libklayout_gsi.so $$DESTDIR/libklayout_db.so $$DESTDIR/libklayout_rdb.so $$DESTDIR/libklayout_lym.so $$DESTDIR/libklayout_laybasic.so $$DESTDIR/libklayout_layview.so $$DESTDIR/libklayout_layui.so $$DESTDIR/libklayout_ant.so $$DESTDIR/libklayout_img.so $$DESTDIR/libklayout_edt.so
++ 
+ INCLUDEPATH += $$QTBASIC_INC
  DEPENDPATH += $$QTBASIC_INC
  
  equals(HAVE_QTBINDINGS, "1") {
@@ -32,7 +24,7 @@
    }
  }
  
-@@ -216,16 +216,16 @@ INCLUDEPATH += $$RBA_INC
+@@ -201,16 +201,16 @@ INCLUDEPATH += $$RBA_INC
  DEPENDPATH += $$RBA_INC
  
  equals(HAVE_RUBY, "1") {
diff --git a/cad/klayout/files/patch-src-lay-lay-laySystemPaths.cc b/cad/klayout/files/patch-src-lay-lay-laySystemPaths.cc
index c384b67442d0..34e2fca71057 100644
--- a/cad/klayout/files/patch-src-lay-lay-laySystemPaths.cc
+++ b/cad/klayout/files/patch-src-lay-lay-laySystemPaths.cc
@@ -1,4 +1,4 @@
---- src/lay/lay/laySystemPaths.cc.orig	2021-08-28 18:02:22 UTC
+--- src/lay/lay/laySystemPaths.cc.orig	2022-12-22 22:17:08 UTC
 +++ src/lay/lay/laySystemPaths.cc
 @@ -26,6 +26,8 @@
  #include "tlString.h"
@@ -9,7 +9,7 @@
  #include <QDir>
  #include <QFileInfo>
  #include <QCoreApplication>
-@@ -109,6 +111,7 @@ get_klayout_path ()
+@@ -121,6 +123,7 @@ get_klayout_path ()
      } else {
        klayout_path.push_back (tl::get_inst_path ());
      }
diff --git a/cad/klayout/files/patch-src-lay-unit_tests-unit_tests.pro b/cad/klayout/files/patch-src-lay-unit_tests-unit_tests.pro
index 147575b042fd..988c88e89e16 100644
--- a/cad/klayout/files/patch-src-lay-unit_tests-unit_tests.pro
+++ b/cad/klayout/files/patch-src-lay-unit_tests-unit_tests.pro
@@ -1,9 +1,9 @@
---- src/lay/unit_tests/unit_tests.pro.orig	2021-08-28 17:29:41 UTC
+--- src/lay/unit_tests/unit_tests.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/lay/unit_tests/unit_tests.pro
-@@ -13,5 +13,5 @@ SOURCES = \
- INCLUDEPATH += $$LAY_INC $$TL_INC $$LAYBASIC_INC $$DB_INC $$GSI_INC $$ANT_INC $$IMG_INC $$RDB_INC
- DEPENDPATH += $$LAY_INC $$TL_INC $$LAYBASIC_INC $$DB_INC $$GSI_INC $$ANT_INC $$IMG_INC $$RDB_INC
+@@ -14,5 +14,5 @@ SOURCES = \
+ INCLUDEPATH += $$LAY_INC $$TL_INC $$LAYBASIC_INC $$LAYUI_INC $$LAYVIEW_INC $$DB_INC $$GSI_INC $$ANT_INC $$IMG_INC $$RDB_INC
+ DEPENDPATH += $$LAY_INC $$TL_INC $$LAYBASIC_INC $$LAYUI_INC $$LAYVIEW_INC $$DB_INC $$GSI_INC $$ANT_INC $$IMG_INC $$RDB_INC
  
--LIBS += -L$$DESTDIR_UT -lklayout_lay -lklayout_laybasic -lklayout_db -lklayout_tl -lklayout_gsi -lklayout_ant -lklayout_img -lklayout_rdb
+-LIBS += -L$$DESTDIR_UT -lklayout_lay -lklayout_laybasic -lklayout_layui -lklayout_layview -lklayout_db -lklayout_tl -lklayout_gsi -lklayout_ant -lklayout_img -lklayout_rdb
 +LIBS += $$DESTDIR_UT/libklayout_lay.so $$DESTDIR_UT/libklayout_laybasic.so $$DESTDIR_UT/libklayout_db.so $$DESTDIR_UT/libklayout_tl.so $$DESTDIR_UT/libklayout_gsi.so $$DESTDIR_UT/libklayout_ant.so $$DESTDIR_UT/libklayout_img.so $$DESTDIR_UT/libklayout_rdb.so
  
diff --git a/cad/klayout/files/patch-src-laybasic-laybasic-laybasic.pro b/cad/klayout/files/patch-src-laybasic-laybasic-laybasic.pro
index f356bfbdb840..30cc128d4d8d 100644
--- a/cad/klayout/files/patch-src-laybasic-laybasic-laybasic.pro
+++ b/cad/klayout/files/patch-src-laybasic-laybasic-laybasic.pro
@@ -1,12 +1,13 @@
---- src/laybasic/laybasic/laybasic.pro.orig	2022-04-24 08:12:38 UTC
+--- src/laybasic/laybasic/laybasic.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/laybasic/laybasic/laybasic.pro
-@@ -305,15 +305,15 @@ HEADERS = \
- 
- INCLUDEPATH += $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC $$LYM_INC
- DEPENDPATH += $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC $$LYM_INC
--LIBS += -L$$DESTDIR -lklayout_tl -lklayout_gsi -lklayout_db -lklayout_rdb -lklayout_lym
-+LIBS += $$DESTDIR/libklayout_tl.so $$DESTDIR/libklayout_gsi.so $$DESTDIR/libklayout_db.so $$DESTDIR/libklayout_rdb.so $$DESTDIR/libklayout_lym.so
+@@ -139,15 +139,15 @@ HEADERS += \
  
+ INCLUDEPATH += $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC
+ DEPENDPATH += $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC
+-LIBS += -L$$DESTDIR -lklayout_tl -lklayout_gsi -lklayout_db -lklayout_rdb 
+-
++LIBS += $$DESTDIR/libklayout_tl.so $$DESTDIR/libklayout_gsi.so $$DESTDIR/libklayout_db.so $$DESTDIR/libklayout_rdb.so
++ 
  INCLUDEPATH += $$QTBASIC_INC
  DEPENDPATH += $$QTBASIC_INC
  
diff --git a/cad/klayout/files/patch-src-laybasic-unit_tests-unit_tests.pro b/cad/klayout/files/patch-src-laybasic-unit_tests-unit_tests.pro
index 17a936216de6..506160007f2f 100644
--- a/cad/klayout/files/patch-src-laybasic-unit_tests-unit_tests.pro
+++ b/cad/klayout/files/patch-src-laybasic-unit_tests-unit_tests.pro
@@ -1,6 +1,6 @@
---- src/laybasic/unit_tests/unit_tests.pro.orig	2021-08-28 16:14:42 UTC
+--- src/laybasic/unit_tests/unit_tests.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/laybasic/unit_tests/unit_tests.pro
-@@ -21,5 +21,5 @@ SOURCES = \
+@@ -19,5 +19,5 @@ SOURCES = \
  INCLUDEPATH += $$TL_INC $$LAYBASIC_INC $$DB_INC $$GSI_INC $$OUT_PWD/../laybasic
  DEPENDPATH += $$TL_INC $$LAYBASIC_INC $$DB_INC $$GSI_INC $$OUT_PWD/../laybasic
  
diff --git a/cad/klayout/files/patch-src-lvs-lvs-lvs.pro b/cad/klayout/files/patch-src-lvs-lvs-lvs.pro
index 81d8527fdc4e..d3f2bf95b795 100644
--- a/cad/klayout/files/patch-src-lvs-lvs-lvs.pro
+++ b/cad/klayout/files/patch-src-lvs-lvs-lvs.pro
@@ -1,6 +1,6 @@
---- src/lvs/lvs/lvs.pro.orig	2021-08-28 16:57:38 UTC
+--- src/lvs/lvs/lvs.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/lvs/lvs/lvs.pro
-@@ -18,5 +18,5 @@ RESOURCES = \
+@@ -20,5 +20,5 @@ HEADERS = \
  
  INCLUDEPATH += $$TL_INC $$DB_INC $$GSI_INC $$LYM_INC $$RDB_INC
  DEPENDPATH += $$TL_INC $$DB_INC $$GSI_INC $$LYM_INC $$RDB_INC
diff --git a/cad/klayout/files/patch-src-lym-lym-lym.pro b/cad/klayout/files/patch-src-lym-lym-lym.pro
index 65ec2c48f2bc..ee39fcb108b0 100644
--- a/cad/klayout/files/patch-src-lym-lym-lym.pro
+++ b/cad/klayout/files/patch-src-lym-lym-lym.pro
@@ -1,6 +1,6 @@
---- src/lym/lym/lym.pro.orig	2021-08-28 16:46:14 UTC
+--- src/lym/lym/lym.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/lym/lym/lym.pro
-@@ -20,22 +20,22 @@ HEADERS = \
+@@ -23,22 +23,22 @@ HEADERS = \
  INCLUDEPATH += $$TL_INC $$GSI_INC
  DEPENDPATH += $$TL_INC $$GSI_INC
  
diff --git a/cad/klayout/files/patch-src-plugins-lay_plugin.pri b/cad/klayout/files/patch-src-plugins-lay_plugin.pri
index 1dc4392035b2..e9163f2f525f 100644
--- a/cad/klayout/files/patch-src-plugins-lay_plugin.pri
+++ b/cad/klayout/files/patch-src-plugins-lay_plugin.pri
@@ -1,15 +1,17 @@
---- src/plugins/lay_plugin.pri.orig	2021-07-23 08:00:26 UTC
+--- src/plugins/lay_plugin.pri.orig	2022-12-22 22:17:08 UTC
 +++ src/plugins/lay_plugin.pri
-@@ -5,7 +5,7 @@ TEMPLATE = lib
+@@ -5,8 +5,9 @@ TEMPLATE = lib
  
- INCLUDEPATH += $$DB_INC $$TL_INC $$GSI_INC $$LAYBASIC_INC $$LAY_INC $$PWD/common
- DEPENDPATH += $$DB_INC $$TL_INC $$GSI_INC $$LAYBASIC_INC $$LAY_INC $$PWD/common
--LIBS += -L$$DESTDIR/.. -lklayout_db -lklayout_tl -lklayout_gsi -lklayout_laybasic -lklayout_lay
-+LIBS += $$DESTDIR/../libklayout_db.so $$DESTDIR/../libklayout_tl.so $$DESTDIR/../libklayout_gsi.so $$DESTDIR/../libklayout_laybasic.so $$DESTDIR/../libklayout_lay.so
+ INCLUDEPATH += $$DB_INC $$TL_INC $$GSI_INC $$LAYBASIC_INC $$LAYUI_INC $$LAYVIEW_INC $$LAYUI_INC $$LAY_INC $$PWD/common
+ DEPENDPATH += $$DB_INC $$TL_INC $$GSI_INC $$LAYBASIC_INC $$LAYUI_INC $$LAYVIEW_INC $$LAYUI_INC $$LAY_INC $$PWD/common
+-LIBS += -L$$DESTDIR/.. -lklayout_db -lklayout_tl -lklayout_gsi -lklayout_laybasic -lklayout_layui -lklayout_layview -lklayout_lay -lklayout_lay
  
++LIBS += $$DESTDIR/../libklayout_db.so $$DESTDIR/../libklayout_tl.so $$DESTDIR/../libklayout_gsi.so $$DESTDIR/../libklayout_laybasic.so $$DESTDIR/../libklayout_layui.so $$DESTDIR/../libklayout_layview.so $$DESTDIR/../libklayout_lay.so
++ 
  DEFINES += MAKE_LAY_PLUGIN_LIBRARY
  
-@@ -14,13 +14,13 @@ win32 {
+ win32 {
+@@ -14,13 +15,13 @@ win32 {
    dlltarget.path = $$PREFIX/lay_plugins
    INSTALLS += dlltarget
  
diff --git a/cad/klayout/files/patch-src-plugins-tools-view_25d-lay_plugin-lay_plugin.pro b/cad/klayout/files/patch-src-plugins-tools-view_25d-lay_plugin-lay_plugin.pro
index 3063c73daa29..fccb22be48e1 100644
--- a/cad/klayout/files/patch-src-plugins-tools-view_25d-lay_plugin-lay_plugin.pro
+++ b/cad/klayout/files/patch-src-plugins-tools-view_25d-lay_plugin-lay_plugin.pro
@@ -1,11 +1,18 @@
---- src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro.orig	2021-08-28 17:16:57 UTC
+--- src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro
-@@ -6,7 +6,7 @@ include($$PWD/../../../lay_plugin.pri)
+@@ -7,11 +7,12 @@ include($$PWD/../../../lay_plugin.pri)
+ INCLUDEPATH += $$RDB_INC $$ANT_INC $$QTBASIC_INC
+ DEPENDPATH += $$RDB_INC $$ANT_INC $$QTBASIC_INC
  
- INCLUDEPATH += $$RDB_INC $$ANT_INC
- DEPENDPATH += $$RDB_INC $$ANT_INC
 -LIBS += -L$$DESTDIR/.. -lklayout_rdb -lklayout_ant
 +LIBS += $$DESTDIR/../libklayout_rdb.so $$DESTDIR/../libklayout_ant.so
++
+ equals(HAVE_QTBINDINGS, "1") {
+-  LIBS += -lklayout_qtbasic -lklayout_QtGui -lklayout_QtCore
++  LIBS += $$DESTDIR/../libklayout_qtbasic.so $$DESTDIR/../libklayout_QtGui.so $$DESTDIR/../libklayout_QtCore.so
+   greaterThan(QT_MAJOR_VERSION, 4) {
+-    LIBS += -lklayout_QtWidgets
++    LIBS += $$DESTDIR/../libklayout_QtWidgets.so
+   }
+ }
  
- HEADERS = \
-   layD25View.h \
diff --git a/cad/klayout/files/patch-src-pya-pya-pya.pro b/cad/klayout/files/patch-src-pya-pya-pya.pro
index c0e4de65c1c0..32dc8fdd5ba0 100644
--- a/cad/klayout/files/patch-src-pya-pya-pya.pro
+++ b/cad/klayout/files/patch-src-pya-pya-pya.pro
@@ -1,6 +1,6 @@
---- src/pya/pya/pya.pro.orig	2021-08-28 17:01:08 UTC
+--- src/pya/pya/pya.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/pya/pya/pya.pro
-@@ -35,7 +35,7 @@ HEADERS += \
+@@ -40,7 +40,7 @@ HEADERS += \
  
  INCLUDEPATH += "$$PYTHONINCLUDE" $$TL_INC $$GSI_INC
  DEPENDPATH += "$$PYTHONINCLUDE" $$TL_INC $$GSI_INC
diff --git a/cad/klayout/files/patch-src-pymod-bridge_sample-bridge_sample.pro b/cad/klayout/files/patch-src-pymod-bridge_sample-bridge_sample.pro
index f5602f68888f..037cfe3bb8ad 100644
--- a/cad/klayout/files/patch-src-pymod-bridge_sample-bridge_sample.pro
+++ b/cad/klayout/files/patch-src-pymod-bridge_sample-bridge_sample.pro
@@ -1,6 +1,6 @@
---- src/pymod/bridge_sample/bridge_sample.pro.orig	2021-08-28 20:02:06 UTC
+--- src/pymod/bridge_sample/bridge_sample.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/pymod/bridge_sample/bridge_sample.pro
-@@ -62,12 +62,12 @@ equals(HAVE_QT, "0") {
+@@ -65,12 +65,12 @@ equals(HAVE_QT, "0") {
  }
  INCLUDEPATH += "$$PYTHONINCLUDE" $$INC/tl/tl $$INC/pya/pya $$INC/gsi/gsi
  DEPENDPATH += "$$PYTHONINCLUDE" $$INC/tl/tl $$INC/pya/pya $$INC/gsi/gsi
diff --git a/cad/klayout/files/patch-src-pymod-db-db.pro b/cad/klayout/files/patch-src-pymod-db-db.pro
index 309a5f5fc6d0..77bdce27a758 100644
--- a/cad/klayout/files/patch-src-pymod-db-db.pro
+++ b/cad/klayout/files/patch-src-pymod-db-db.pro
@@ -1,6 +1,6 @@
---- src/pymod/db/db.pro.orig	2021-08-28 20:04:23 UTC
+--- src/pymod/db/db.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/pymod/db/db.pro
-@@ -9,5 +9,5 @@ SOURCES = \
+@@ -10,5 +10,5 @@ SOURCES = \
  
  HEADERS += \
  
diff --git a/cad/klayout/files/patch-src-pymod-lay-lay.pro b/cad/klayout/files/patch-src-pymod-lay-lay.pro
index 75dc4cb0d5de..d5a7541602c6 100644
--- a/cad/klayout/files/patch-src-pymod-lay-lay.pro
+++ b/cad/klayout/files/patch-src-pymod-lay-lay.pro
@@ -1,9 +1,20 @@
---- src/pymod/lay/lay.pro.orig	2021-08-28 20:04:46 UTC
+--- src/pymod/lay/lay.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/pymod/lay/lay.pro
-@@ -8,5 +8,5 @@ SOURCES = \
+@@ -10,13 +10,13 @@ SOURCES = \
  
  HEADERS += \
  
--LIBS += -lklayout_lay
-+LIBS += $$LIBDIR/libklayout_lay.so
+-LIBS += -lklayout_layview
++LIBS += $$LIBDIR/libklayout_layview.so
+ 
+ !equals(HAVE_QT, "0") {
+-  LIBS += -lklayout_layui
+-  LIBS += -lklayout_lay
++  LIBS += $$LIBDIR/libklayout_layui.so
++  LIBS += $$LIBDIR/libklayout_lay.so
+ }
+ 
+ # hard linked as they contribute GSI classes to "lay" module:
+-LIBS += -lklayout_laybasic -lklayout_img -lklayout_edt -lklayout_ant -lklayout_lym
++LIBS += $$LIBDIR/libklayout_laybasic.so $$LIBDIR/libklayout_img.so $$LIBDIR/libklayout_edt.so $$LIBDIR/libklayout_ant.so $$LIBDIR/libklayout_lym.so
  
diff --git a/cad/klayout/files/patch-src-pymod-lib-lib.pro b/cad/klayout/files/patch-src-pymod-lib-lib.pro
index 065a4d45f0e5..6b4bb479906b 100644
--- a/cad/klayout/files/patch-src-pymod-lib-lib.pro
+++ b/cad/klayout/files/patch-src-pymod-lib-lib.pro
@@ -1,6 +1,6 @@
---- src/pymod/lib/lib.pro.orig	2022-04-24 08:12:38 UTC
+--- src/pymod/lib/lib.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/pymod/lib/lib.pro
-@@ -9,5 +9,5 @@ SOURCES = \
+@@ -10,5 +10,5 @@ SOURCES = \
  
  HEADERS += \
  
diff --git a/cad/klayout/files/patch-src-pymod-pymod.pri b/cad/klayout/files/patch-src-pymod-pymod.pri
index 3c0614680505..210250c01440 100644
--- a/cad/klayout/files/patch-src-pymod-pymod.pri
+++ b/cad/klayout/files/patch-src-pymod-pymod.pri
@@ -1,4 +1,4 @@
---- src/pymod/pymod.pri.orig	2021-07-23 08:00:26 UTC
+--- src/pymod/pymod.pri.orig	2022-12-22 22:17:08 UTC
 +++ src/pymod/pymod.pri
 @@ -9,7 +9,7 @@ include($$PWD/../klayout.pri)
  
@@ -26,7 +26,7 @@
  }
  INSTALLS = lib_target
  
-@@ -58,14 +58,14 @@ INSTALLS = lib_target
+@@ -70,14 +70,14 @@ INSTALLS = lib_target
    }
  
    # INSTALLS needs to be inside a lib or app templates.
diff --git a/cad/klayout/files/patch-src-pymod-rdb-rdb.pro b/cad/klayout/files/patch-src-pymod-rdb-rdb.pro
index b311b65662a3..c3dcb7086998 100644
--- a/cad/klayout/files/patch-src-pymod-rdb-rdb.pro
+++ b/cad/klayout/files/patch-src-pymod-rdb-rdb.pro
@@ -1,6 +1,6 @@
---- src/pymod/rdb/rdb.pro.orig	2021-08-28 20:05:07 UTC
+--- src/pymod/rdb/rdb.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/pymod/rdb/rdb.pro
-@@ -9,4 +9,4 @@ SOURCES = \
+@@ -10,4 +10,4 @@ SOURCES = \
  
  HEADERS += \
  
diff --git a/cad/klayout/files/patch-src-pymod-tl-tl.pro b/cad/klayout/files/patch-src-pymod-tl-tl.pro
index 626f54bad7d8..8c77a4bc95b8 100644
--- a/cad/klayout/files/patch-src-pymod-tl-tl.pro
+++ b/cad/klayout/files/patch-src-pymod-tl-tl.pro
@@ -1,6 +1,6 @@
---- src/pymod/tl/tl.pro.orig	2021-07-23 08:00:26 UTC
+--- src/pymod/tl/tl.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/pymod/tl/tl.pro
-@@ -32,14 +32,14 @@ msvc {
+@@ -33,14 +33,14 @@ msvc {
  }
  
  # INSTALLS needs to be inside a lib or app templates.
@@ -17,7 +17,7 @@
  }
  INSTALLS += init_target
  
-@@ -52,13 +52,13 @@ msvc {
+@@ -53,13 +53,13 @@ msvc {
  }
  
  # INSTALLS needs to be inside a lib or app templates.
diff --git a/cad/klayout/files/patch-src-rba-unit_tests-unit_tests.pro b/cad/klayout/files/patch-src-rba-unit_tests-unit_tests.pro
index a5acb1bc557f..3ae9cfb26859 100644
--- a/cad/klayout/files/patch-src-rba-unit_tests-unit_tests.pro
+++ b/cad/klayout/files/patch-src-rba-unit_tests-unit_tests.pro
@@ -1,11 +1,11 @@
---- src/rba/unit_tests/unit_tests.pro.orig	2021-07-23 08:00:26 UTC
+--- src/rba/unit_tests/unit_tests.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/rba/unit_tests/unit_tests.pro
-@@ -12,6 +12,6 @@ SOURCES = \
+@@ -12,7 +12,7 @@ SOURCES = \
  INCLUDEPATH += $$RBA_INC $$TL_INC $$DB_INC $$GSI_INC
  DEPENDPATH += $$RBA_INC $$TL_INC $$DB_INC $$GSI_INC
  
 -LIBS += -L$$DESTDIR_UT -lklayout_rba -lklayout_tl -lklayout_db -lklayout_gsi
 +LIBS += $$DESTDIR_UT/libklayout_rba.so $$DESTDIR_UT/libklayout_tl.so $$DESTDIR_UT/libklayout_db.so $$DESTDIR_UT/libklayout_gsi.so
  
--RESOURCES = unit_tests.qrc \
-+RESOURCES = unit_tests.qrc
+ !equals(HAVE_QT, "0") || !equals(HAVE_PYTHON, "0") {
+   RESOURCES = \
diff --git a/cad/klayout/files/patch-src-tl-unit_tests-unit_tests.pro b/cad/klayout/files/patch-src-tl-unit_tests-unit_tests.pro
index b96af3780da7..7ff4636baba6 100644
--- a/cad/klayout/files/patch-src-tl-unit_tests-unit_tests.pro
+++ b/cad/klayout/files/patch-src-tl-unit_tests-unit_tests.pro
@@ -1,6 +1,6 @@
---- src/tl/unit_tests/unit_tests.pro.orig	2021-08-28 16:09:42 UTC
+--- src/tl/unit_tests/unit_tests.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/tl/unit_tests/unit_tests.pro
-@@ -54,5 +54,5 @@ SOURCES = \
+@@ -58,5 +58,5 @@ SOURCES = \
  INCLUDEPATH += $$TL_INC
  DEPENDPATH += $$TL_INC
  
diff --git a/cad/klayout/files/patch-src-unit_tests-unit_tests.pro b/cad/klayout/files/patch-src-unit_tests-unit_tests.pro
index 21a39647354b..d16363b53b12 100644
--- a/cad/klayout/files/patch-src-unit_tests-unit_tests.pro
+++ b/cad/klayout/files/patch-src-unit_tests-unit_tests.pro
@@ -1,6 +1,15 @@
---- src/unit_tests/unit_tests.pro.orig	2022-04-24 08:12:38 UTC
+--- src/unit_tests/unit_tests.pro.orig	2022-12-22 22:17:08 UTC
 +++ src/unit_tests/unit_tests.pro
-@@ -23,10 +23,10 @@ HEADERS += \
+@@ -11,7 +11,7 @@ include($$PWD/../with_all_libs.pri)
+   INCLUDEPATH += $$DOC_INC $$ICONS_INC
+   DEPENDPATH += $$DOC_INC $$ICONS_INC
+ 
+-  LIBS += -lklayout_doc -lklayout_icons
++  LIBS += $$DESTDIR/libklayout_doc.so $$DESTDIR/libklayout_icons.so
+ 
+ }
+ 
+@@ -34,10 +34,10 @@ HEADERS += \
  !win32 {
    LIBS += -ldl
  } else {
@@ -13,7 +22,7 @@
  
  !equals(HAVE_QT, "0") {
  
-@@ -35,10 +35,10 @@ LIBS += -lklayout_gsi_test
+@@ -46,10 +46,10 @@ LIBS += -lklayout_gsi_test
  
    equals(HAVE_QTBINDINGS, "1") {
      !equals(HAVE_QT_XML, "0") {
diff --git a/cad/klayout/files/patch-src-with_all_libs.pri b/cad/klayout/files/patch-src-with_all_libs.pri
index 93b34f5ca064..b7ae27de1cf6 100644
--- a/cad/klayout/files/patch-src-with_all_libs.pri
+++ b/cad/klayout/files/patch-src-with_all_libs.pri
@@ -1,24 +1,19 @@
---- src/with_all_libs.pri.orig	2021-07-23 08:00:26 UTC
+--- src/with_all_libs.pri.orig	2022-12-22 22:17:08 UTC
 +++ src/with_all_libs.pri
-@@ -2,14 +2,14 @@
- INCLUDEPATH += $$RBA_INC $$PYA_INC $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC $$LYM_INC $$LAYBASIC_INC $$LAY_INC $$ANT_INC $$IMG_INC $$EDT_INC $$LIB_INC $$VERSION_INC
- DEPENDPATH += $$RBA_INC $$PYA_INC $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC $$LYM_INC $$LAYBASIC_INC $$LAY_INC $$ANT_INC $$IMG_INC $$EDT_INC $$LIB_INC $$VERSION_INC
+@@ -2,38 +2,38 @@
+ INCLUDEPATH += $$RBA_INC $$PYA_INC $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC $$LYM_INC $$LAYBASIC_INC $$LAYVIEW_INC $$ANT_INC $$IMG_INC $$EDT_INC $$LIB_INC $$VERSION_INC
+ DEPENDPATH += $$RBA_INC $$PYA_INC $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC $$LYM_INC $$LAYBASIC_INC $$LAYVIEW_INC $$ANT_INC $$IMG_INC $$EDT_INC $$LIB_INC $$VERSION_INC
  
--LIBS += "$$PYTHONLIBFILE" "$$RUBYLIBFILE" -L$$DESTDIR -lklayout_tl -lklayout_gsi -lklayout_db -lklayout_rdb -lklayout_lib
-+LIBS += "$$PYTHONLIBFILE" "$$RUBYLIBFILE" $$DESTDIR/libklayout_tl.so $$DESTDIR/libklayout_gsi.so $$DESTDIR/libklayout_db.so $$DESTDIR/libklayout_rdb.so $$DESTDIR/libklayout_lib.so
+-LIBS += "$$PYTHONLIBFILE" "$$RUBYLIBFILE" -L$$DESTDIR -lklayout_tl -lklayout_gsi -lklayout_db -lklayout_rdb -lklayout_lym -lklayout_laybasic -lklayout_layview -lklayout_ant -lklayout_img -lklayout_edt -lklayout_lib
++LIBS += "$$PYTHONLIBFILE" "$$RUBYLIBFILE" $$DESTDIR/libklayout_tl.so $$DESTDIR/libklayout_gsi.so $$DESTDIR/libklayout_db.so $$DESTDIR/libklayout_rdb.so $$DESTDIR/libklayout_lym.so $$DESTDIR/libklayout_laybasic.so $$DESTDIR/libklayout_layview.so $$DESTDIR/libklayout_ant.so $$DESTDIR/libklayout_img.so $$DESTDIR/libklayout_edt.so $$DESTDIR/libklayout_lib.so
  
  !equals(HAVE_QT, "0") {
  
-   INCLUDEPATH += $$LYM_INC $$LAYBASIC_INC $$LAY_INC $$ANT_INC $$IMG_INC $$EDT_INC
-   DEPENDPATH += $$LYM_INC $$LAYBASIC_INC $$LAY_INC $$ANT_INC $$IMG_INC $$EDT_INC
+   INCLUDEPATH += $$LAYUI_INC $$LAY_INC
+   DEPENDPATH += $$LAYUI_INC $$LAY_INC
  
--  LIBS += -L$$DESTDIR -lklayout_lym -lklayout_laybasic -lklayout_lay -lklayout_ant -lklayout_img -lklayout_edt
-+  LIBS += $$DESTDIR/libklayout_lym.so $$DESTDIR/libklayout_laybasic.so $$DESTDIR/libklayout_lay.so $$DESTDIR/libklayout_ant.so $$DESTDIR/libklayout_img.so $$DESTDIR/libklayout_edt.so
- 
-   # Note: this accounts for UI-generated headers placed into the output folders in
-   # shadow builds:
-@@ -17,21 +17,21 @@ LIBS += "$$PYTHONLIBFILE" "$$RUBYLIBFILE" -L$$DESTDIR 
-   DEPENDPATH += $$DESTDIR/laybasic $$DESTDIR/lay $$DESTDIR/ext
+-  LIBS += -L$$DESTDIR -lklayout_layui -lklayout_lay
++  LIBS += $$DESTDIR/libklayout_layui.so $$DESTDIR/libklayout_lay.so
  
    equals(HAVE_QTBINDINGS, "1") {
 -    LIBS += -lklayout_qtbasic -lklayout_QtGui -lklayout_QtCore
@@ -43,13 +38,12 @@
 +  LIBS += $$DESTDIR/libklayout_pyastub.so
  }
  
- !equals(HAVE_QT, "0") {
-@@ -39,7 +39,7 @@ equals(HAVE_PYTHON, "1") {
-     # DRC is only available with Ruby
-     INCLUDEPATH += $$DRC_INC $$LVS_INC
-     DEPENDPATH += $$DRC_INC $$LVS_INC
--    LIBS += -lklayout_drc -lklayout_lvs
-+    LIBS += $$DESTDIR/libklayout_drc.so $$DESTDIR/libklayout_lvs.so
-   }
+ equals(HAVE_RUBY, "1") {
+   # DRC is only available with Ruby
+   INCLUDEPATH += $$DRC_INC $$LVS_INC
+   DEPENDPATH += $$DRC_INC $$LVS_INC
+-  LIBS += -lklayout_drc -lklayout_lvs
++  LIBS += $$DESTDIR/libklayout_drc.so $$DESTDIR/libklayout_lvs.so
  }
  
+ msvc {
diff --git a/cad/klayout/pkg-descr b/cad/klayout/pkg-descr
index 27c95162c998..5b39e6f87673 100644
--- a/cad/klayout/pkg-descr
+++ b/cad/klayout/pkg-descr
@@ -1 +1,3 @@
-KLayout is a viewer for GDS2 files.
+KLayout is a viewing and editing tool for GDS and OASIS files.  It supports
+parametrized cells, and Ruby or Python-based scripting environment to
+automate various tasks of the chip design engineers.
diff --git a/cad/klayout/pkg-plist b/cad/klayout/pkg-plist
index fb4d2f36a479..f65f5697a8e1 100644
--- a/cad/klayout/pkg-plist
+++ b/cad/klayout/pkg-plist
@@ -12,284 +12,300 @@ bin/strmrun
 bin/strmxor
 lib/klayout/db_plugins/libcif.so
 lib/klayout/db_plugins/libcif.so.0
-lib/klayout/db_plugins/libcif.so.0.27
-lib/klayout/db_plugins/libcif.so.0.27.9
+lib/klayout/db_plugins/libcif.so.0.28
+lib/klayout/db_plugins/libcif.so.0.28.2
 lib/klayout/db_plugins/libdxf.so
 lib/klayout/db_plugins/libdxf.so.0
-lib/klayout/db_plugins/libdxf.so.0.27
-lib/klayout/db_plugins/libdxf.so.0.27.9
+lib/klayout/db_plugins/libdxf.so.0.28
+lib/klayout/db_plugins/libdxf.so.0.28.2
 lib/klayout/db_plugins/libgds2.so
 lib/klayout/db_plugins/libgds2.so.0
-lib/klayout/db_plugins/libgds2.so.0.27
-lib/klayout/db_plugins/libgds2.so.0.27.9
+lib/klayout/db_plugins/libgds2.so.0.28
+lib/klayout/db_plugins/libgds2.so.0.28.2
 lib/klayout/db_plugins/liblefdef.so
 lib/klayout/db_plugins/liblefdef.so.0
-lib/klayout/db_plugins/liblefdef.so.0.27
-lib/klayout/db_plugins/liblefdef.so.0.27.9
+lib/klayout/db_plugins/liblefdef.so.0.28
+lib/klayout/db_plugins/liblefdef.so.0.28.2
 lib/klayout/db_plugins/libmag.so
 lib/klayout/db_plugins/libmag.so.0
-lib/klayout/db_plugins/libmag.so.0.27
-lib/klayout/db_plugins/libmag.so.0.27.9
+lib/klayout/db_plugins/libmag.so.0.28
+lib/klayout/db_plugins/libmag.so.0.28.2
 lib/klayout/db_plugins/libnet_tracer.so
 lib/klayout/db_plugins/libnet_tracer.so.0
-lib/klayout/db_plugins/libnet_tracer.so.0.27
-lib/klayout/db_plugins/libnet_tracer.so.0.27.9
+lib/klayout/db_plugins/libnet_tracer.so.0.28
+lib/klayout/db_plugins/libnet_tracer.so.0.28.2
 lib/klayout/db_plugins/liboasis.so
 lib/klayout/db_plugins/liboasis.so.0
-lib/klayout/db_plugins/liboasis.so.0.27
-lib/klayout/db_plugins/liboasis.so.0.27.9
+lib/klayout/db_plugins/liboasis.so.0.28
+lib/klayout/db_plugins/liboasis.so.0.28.2
 lib/klayout/db_plugins/libpcb.so
 lib/klayout/db_plugins/libpcb.so.0
-lib/klayout/db_plugins/libpcb.so.0.27
-lib/klayout/db_plugins/libpcb.so.0.27.9
+lib/klayout/db_plugins/libpcb.so.0.28
+lib/klayout/db_plugins/libpcb.so.0.28.2
 lib/klayout/lay_plugins/libbool_ui.so
 lib/klayout/lay_plugins/libbool_ui.so.0
-lib/klayout/lay_plugins/libbool_ui.so.0.27
-lib/klayout/lay_plugins/libbool_ui.so.0.27.9
+lib/klayout/lay_plugins/libbool_ui.so.0.28
+lib/klayout/lay_plugins/libbool_ui.so.0.28.2
 lib/klayout/lay_plugins/libcif_ui.so
 lib/klayout/lay_plugins/libcif_ui.so.0
-lib/klayout/lay_plugins/libcif_ui.so.0.27
-lib/klayout/lay_plugins/libcif_ui.so.0.27.9
+lib/klayout/lay_plugins/libcif_ui.so.0.28
+lib/klayout/lay_plugins/libcif_ui.so.0.28.2
 lib/klayout/lay_plugins/libcommon_ui.so
 lib/klayout/lay_plugins/libcommon_ui.so.0
-lib/klayout/lay_plugins/libcommon_ui.so.0.27
-lib/klayout/lay_plugins/libcommon_ui.so.0.27.9
+lib/klayout/lay_plugins/libcommon_ui.so.0.28
+lib/klayout/lay_plugins/libcommon_ui.so.0.28.2
 lib/klayout/lay_plugins/libd25_ui.so
 lib/klayout/lay_plugins/libd25_ui.so.0
-lib/klayout/lay_plugins/libd25_ui.so.0.27
-lib/klayout/lay_plugins/libd25_ui.so.0.27.9
+lib/klayout/lay_plugins/libd25_ui.so.0.28
+lib/klayout/lay_plugins/libd25_ui.so.0.28.2
 lib/klayout/lay_plugins/libdiff_ui.so
 lib/klayout/lay_plugins/libdiff_ui.so.0
-lib/klayout/lay_plugins/libdiff_ui.so.0.27
-lib/klayout/lay_plugins/libdiff_ui.so.0.27.9
+lib/klayout/lay_plugins/libdiff_ui.so.0.28
+lib/klayout/lay_plugins/libdiff_ui.so.0.28.2
 lib/klayout/lay_plugins/libdxf_ui.so
 lib/klayout/lay_plugins/libdxf_ui.so.0
-lib/klayout/lay_plugins/libdxf_ui.so.0.27
-lib/klayout/lay_plugins/libdxf_ui.so.0.27.9
+lib/klayout/lay_plugins/libdxf_ui.so.0.28
+lib/klayout/lay_plugins/libdxf_ui.so.0.28.2
 lib/klayout/lay_plugins/libgds2_ui.so
 lib/klayout/lay_plugins/libgds2_ui.so.0
-lib/klayout/lay_plugins/libgds2_ui.so.0.27
-lib/klayout/lay_plugins/libgds2_ui.so.0.27.9
+lib/klayout/lay_plugins/libgds2_ui.so.0.28
+lib/klayout/lay_plugins/libgds2_ui.so.0.28.2
 lib/klayout/lay_plugins/libimport_ui.so
 lib/klayout/lay_plugins/libimport_ui.so.0
-lib/klayout/lay_plugins/libimport_ui.so.0.27
-lib/klayout/lay_plugins/libimport_ui.so.0.27.9
+lib/klayout/lay_plugins/libimport_ui.so.0.28
+lib/klayout/lay_plugins/libimport_ui.so.0.28.2
 lib/klayout/lay_plugins/liblefdef_ui.so
 lib/klayout/lay_plugins/liblefdef_ui.so.0
-lib/klayout/lay_plugins/liblefdef_ui.so.0.27
-lib/klayout/lay_plugins/liblefdef_ui.so.0.27.9
+lib/klayout/lay_plugins/liblefdef_ui.so.0.28
+lib/klayout/lay_plugins/liblefdef_ui.so.0.28.2
 lib/klayout/lay_plugins/libmag_ui.so
 lib/klayout/lay_plugins/libmag_ui.so.0
-lib/klayout/lay_plugins/libmag_ui.so.0.27
-lib/klayout/lay_plugins/libmag_ui.so.0.27.9
+lib/klayout/lay_plugins/libmag_ui.so.0.28
+lib/klayout/lay_plugins/libmag_ui.so.0.28.2
 lib/klayout/lay_plugins/libnet_tracer_ui.so
 lib/klayout/lay_plugins/libnet_tracer_ui.so.0
-lib/klayout/lay_plugins/libnet_tracer_ui.so.0.27
-lib/klayout/lay_plugins/libnet_tracer_ui.so.0.27.9
+lib/klayout/lay_plugins/libnet_tracer_ui.so.0.28
+lib/klayout/lay_plugins/libnet_tracer_ui.so.0.28.2
 lib/klayout/lay_plugins/liboasis_ui.so
 lib/klayout/lay_plugins/liboasis_ui.so.0
-lib/klayout/lay_plugins/liboasis_ui.so.0.27
-lib/klayout/lay_plugins/liboasis_ui.so.0.27.9
+lib/klayout/lay_plugins/liboasis_ui.so.0.28
+lib/klayout/lay_plugins/liboasis_ui.so.0.28.2
 lib/klayout/lay_plugins/libpcb_ui.so
 lib/klayout/lay_plugins/libpcb_ui.so.0
-lib/klayout/lay_plugins/libpcb_ui.so.0.27
-lib/klayout/lay_plugins/libpcb_ui.so.0.27.9
+lib/klayout/lay_plugins/libpcb_ui.so.0.28
+lib/klayout/lay_plugins/libpcb_ui.so.0.28.2
 lib/klayout/lay_plugins/libxor_ui.so
 lib/klayout/lay_plugins/libxor_ui.so.0
-lib/klayout/lay_plugins/libxor_ui.so.0.27
-lib/klayout/lay_plugins/libxor_ui.so.0.27.9
+lib/klayout/lay_plugins/libxor_ui.so.0.28
+lib/klayout/lay_plugins/libxor_ui.so.0.28.2
 lib/klayout/libQtCore.so
 lib/klayout/libQtCore.so.0
-lib/klayout/libQtCore.so.0.27
-lib/klayout/libQtCore.so.0.27.9
+lib/klayout/libQtCore.so.0.28
+lib/klayout/libQtCore.so.0.28.2
 lib/klayout/libQtDesigner.so
 lib/klayout/libQtDesigner.so.0
-lib/klayout/libQtDesigner.so.0.27
-lib/klayout/libQtDesigner.so.0.27.9
+lib/klayout/libQtDesigner.so.0.28
+lib/klayout/libQtDesigner.so.0.28.2
 lib/klayout/libQtGui.so
 lib/klayout/libQtGui.so.0
-lib/klayout/libQtGui.so.0.27
-lib/klayout/libQtGui.so.0.27.9
+lib/klayout/libQtGui.so.0.28
+lib/klayout/libQtGui.so.0.28.2
 lib/klayout/libQtMultimedia.so
 lib/klayout/libQtMultimedia.so.0
-lib/klayout/libQtMultimedia.so.0.27
-lib/klayout/libQtMultimedia.so.0.27.9
+lib/klayout/libQtMultimedia.so.0.28
+lib/klayout/libQtMultimedia.so.0.28.2
 lib/klayout/libQtNetwork.so
 lib/klayout/libQtNetwork.so.0
*** 291 LINES SKIPPED ***