aboutsummaryrefslogtreecommitdiff
path: root/cad
diff options
context:
space:
mode:
authorHiroki Sato <hrs@FreeBSD.org>2019-03-19 10:44:39 +0000
committerHiroki Sato <hrs@FreeBSD.org>2019-03-19 10:44:39 +0000
commita072a2df85aaf7e0412d69db9d9978971a12c8c6 (patch)
treeffeb081d5a4db556a6e6032d4ffac8cc03f8a974 /cad
parent7550ebebd07a05592a82c4c2512e7524842ab703 (diff)
downloadports-a072a2df85aaf7e0412d69db9d9978971a12c8c6.tar.gz
ports-a072a2df85aaf7e0412d69db9d9978971a12c8c6.zip
Resurrect cad/klayout and update to 0.25.8.
Notes
Notes: svn path=/head/; revision=496255
Diffstat (limited to 'cad')
-rw-r--r--cad/Makefile1
-rw-r--r--cad/klayout/Makefile52
-rw-r--r--cad/klayout/distinfo3
-rw-r--r--cad/klayout/files/patch-build.sh126
-rw-r--r--cad/klayout/files/patch-src-klayout.pri21
-rw-r--r--cad/klayout/files/patch-src-lay-lay-laySignalHandler.cc11
-rw-r--r--cad/klayout/files/patch-src-laybasic-laybasic-layBrowserDialog.h10
-rw-r--r--cad/klayout/files/patch-src-laybasic-laybasic-laybasic.pro20
-rw-r--r--cad/klayout/files/patch-src-tl-tl-tlStream.cc20
-rw-r--r--cad/klayout/pkg-descr3
-rw-r--r--cad/klayout/pkg-plist79
11 files changed, 346 insertions, 0 deletions
diff --git a/cad/Makefile b/cad/Makefile
index 655dc4b2cbb3..cb202afe618d 100644
--- a/cad/Makefile
+++ b/cad/Makefile
@@ -54,6 +54,7 @@
SUBDIR += kicad-library-symbols-devel
SUBDIR += kicad-library-templates
SUBDIR += kicad-library-templates-devel
+ SUBDIR += klayout
SUBDIR += ldraw
SUBDIR += lepton-eda
SUBDIR += libopencad
diff --git a/cad/klayout/Makefile b/cad/klayout/Makefile
new file mode 100644
index 000000000000..1cc56750c5a9
--- /dev/null
+++ b/cad/klayout/Makefile
@@ -0,0 +1,52 @@
+# $FreeBSD$
+
+PORTNAME= klayout
+PORTVERSION= 0.25.8
+DISTVERSIONPREFIX= v
+CATEGORIES= cad
+
+MAINTAINER= hrs@FreeBSD.org
+COMMENT= Qt-based GDS2 Viewer
+
+LICENSE= GPLv2
+
+USES= compiler:c++0x gmake gl python 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
+USE_LDCONFIG= yes
+
+CXXFLAGS+= -fPIC -I${LOCALBASE}/include/qt5
+LDFLAGS+= ${LIBS} -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}
+BUILD_WRKSRC= ${WRKSRC}/build-release
+INSTALL_WRKSRC= ${WRKSRC}/build-release
+
+BROKEN_sparc64= Does not compile on sparc64: gcc bug
+
+do-configure:
+ cd ${WRKSRC} && \
+ ${SETENV} ${MAKE_ENV} ${SH} build.sh \
+ -with-qtbinding \
+ -qt5 \
+ -rpath ${LOCALBASE}/lib \
+ -prefix ${PREFIX} \
+ -python ${PYTHON_CMD} \
+ -ruby ${RUBY} \
+ -dry-run
+
+post-install:
+ cd ${STAGEDIR}${PREFIX} && \
+ ${MV} libklayout* ${STAGEDIR}${PREFIX}/lib && \
+ ${MV} klayout strm* ${STAGEDIR}${PREFIX}/bin
+
+.include <bsd.port.mk>
diff --git a/cad/klayout/distinfo b/cad/klayout/distinfo
new file mode 100644
index 000000000000..3acbfd113ca4
--- /dev/null
+++ b/cad/klayout/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1552658839
+SHA256 (KLayout-klayout-v0.25.8_GH0.tar.gz) = 63372bda3ed825552e01f505a3c979431f0485300183c38ebceb864451c24cbe
+SIZE (KLayout-klayout-v0.25.8_GH0.tar.gz) = 21009736
diff --git a/cad/klayout/files/patch-build.sh b/cad/klayout/files/patch-build.sh
new file mode 100644
index 000000000000..8979b3f04bfc
--- /dev/null
+++ b/cad/klayout/files/patch-build.sh
@@ -0,0 +1,126 @@
+--- build.sh.orig 2019-02-23 17:34:47 UTC
++++ build.sh
+@@ -482,7 +482,7 @@ echo " Build directory: $BUILD"
+ 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.
+@@ -495,11 +495,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
+@@ -521,9 +517,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
+@@ -531,54 +527,55 @@ $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"
+- RUBYLIBFILE="$RUBYLIBFILE"
+- RUBYINCLUDE="$RUBYINCLUDE"
+- RUBYINCLUDE2="$RUBYINCLUDE2"
+- RUBYVERSIONCODE="$RUBYVERSIONCODE"
+- HAVE_RUBY="$HAVE_RUBY"
+- PYTHONLIBFILE="$PYTHONLIBFILE"
+- PYTHONINCLUDE="$PYTHONINCLUDE"
+- HAVE_PYTHON="$HAVE_PYTHON"
+- HAVE_QTBINDINGS="$HAVE_QTBINDINGS"
+- HAVE_64BIT_COORD="$HAVE_64BIT_COORD"
+- HAVE_QT5="$HAVE_QT5"
+- HAVE_CURL="$HAVE_CURL"
+- PREFIX="$BIN"
+- RPATH="$RPATH"
+- KLAYOUT_VERSION="$KLAYOUT_VERSION"
+- KLAYOUT_VERSION_DATE="$KLAYOUT_VERSION_DATE"
+- KLAYOUT_VERSION_REV="$KLAYOUT_VERSION_REV"
+-)
++ RUBYLIBFILE=\"$RUBYLIBFILE\"
++ RUBYINCLUDE=\"$RUBYINCLUDE\"
++ RUBYINCLUDE2=\"$RUBYINCLUDE2\"
++ RUBYVERSIONCODE=\"$RUBYVERSIONCODE\"
++ HAVE_RUBY=\"$HAVE_RUBY\"
++ PYTHONLIBFILE=\"$PYTHONLIBFILE\"
++ PYTHONINCLUDE=\"$PYTHONINCLUDE\"
++ HAVE_PYTHON=\"$HAVE_PYTHON\"
++ HAVE_QTBINDINGS=\"$HAVE_QTBINDINGS\"
++ HAVE_64BIT_COORD=\"$HAVE_64BIT_COORD\"
++ HAVE_QT5=\"$HAVE_QT5\"
++ HAVE_CURL=\"$HAVE_CURL\"
++ PREFIX=\"$BIN\"
++ RPATH=\"$RPATH\"
++ KLAYOUT_VERSION=\"$KLAYOUT_VERSION\"
++ KLAYOUT_VERSION_DATE=\"$KLAYOUT_VERSION_DATE\"
++ KLAYOUT_VERSION_REV=\"$KLAYOUT_VERSION_REV\"
++"
+
+ 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_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_LFLAGS="$LDFLAGS"
++ 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_CFLAGS="$CFLAGS"
++$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-klayout.pri b/cad/klayout/files/patch-src-klayout.pri
new file mode 100644
index 000000000000..2268a4ae92ca
--- /dev/null
+++ b/cad/klayout/files/patch-src-klayout.pri
@@ -0,0 +1,21 @@
+--- src/klayout.pri.orig 2019-02-23 17:34:47 UTC
++++ src/klayout.pri
+@@ -68,7 +68,8 @@ QMAKE_CXXFLAGS_WARN_ON += \
+ -Wno-deprecated-declarations \
+ -Wno-reserved-user-defined-literal \
+
+-QT += network xml sql
++QT += network xml sql widgets
++INCLUDEPATH += .
+
+ equals(HAVE_QT5, "1") {
+ QT += designer printsupport
+@@ -84,7 +85,7 @@ equals(HAVE_QT5, "1") {
+ win32 {
+ QMAKE_LFLAGS += -Wl,--exclude-all-symbols
+ } else {
+- QMAKE_CXXFLAGS += -fvisibility=hidden
++# QMAKE_CXXFLAGS += -fvisibility=hidden
+ }
+
+ VERSION_STRING = $$KLAYOUT_VERSION
diff --git a/cad/klayout/files/patch-src-lay-lay-laySignalHandler.cc b/cad/klayout/files/patch-src-lay-lay-laySignalHandler.cc
new file mode 100644
index 000000000000..c359c33c9a10
--- /dev/null
+++ b/cad/klayout/files/patch-src-lay-lay-laySignalHandler.cc
@@ -0,0 +1,11 @@
+--- src/lay/lay/laySignalHandler.cc.orig 2019-02-23 17:34:47 UTC
++++ src/lay/lay/laySignalHandler.cc
+@@ -450,7 +450,7 @@ void install_signal_handlers ()
+ act.sa_sigaction = signal_handler;
+ sigemptyset (&act.sa_mask);
+ act.sa_flags = SA_SIGINFO;
+-#if !defined(__APPLE__)
++#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__DrafonFly__)
+ act.sa_restorer = 0;
+ #endif
+
diff --git a/cad/klayout/files/patch-src-laybasic-laybasic-layBrowserDialog.h b/cad/klayout/files/patch-src-laybasic-laybasic-layBrowserDialog.h
new file mode 100644
index 000000000000..48713b4f5d4c
--- /dev/null
+++ b/cad/klayout/files/patch-src-laybasic-laybasic-layBrowserDialog.h
@@ -0,0 +1,10 @@
+--- src/laybasic/laybasic/layBrowserDialog.h.orig 2019-02-23 17:34:47 UTC
++++ src/laybasic/laybasic/layBrowserDialog.h
+@@ -26,6 +26,7 @@
+
+ #include "tlTypeTraits.h"
+
++#include "laybasicCommon.h"
+ #include "ui_BrowserDialog.h"
+
+ #include "gsi.h"
diff --git a/cad/klayout/files/patch-src-laybasic-laybasic-laybasic.pro b/cad/klayout/files/patch-src-laybasic-laybasic-laybasic.pro
new file mode 100644
index 000000000000..afba8f16b594
--- /dev/null
+++ b/cad/klayout/files/patch-src-laybasic-laybasic-laybasic.pro
@@ -0,0 +1,20 @@
+--- src/laybasic/laybasic/laybasic.pro.orig 2019-02-23 17:34:47 UTC
++++ src/laybasic/laybasic/laybasic.pro
+@@ -6,6 +6,8 @@ include($$PWD/../../lib.pri)
+
+ DEFINES += MAKE_LAYBASIC_LIBRARY
+
++QT += widgets gui
++
+ FORMS = \
+ AlignCellOptionsDialog.ui \
+ BookmarkManagementForm.ui \
+@@ -273,7 +275,7 @@ HEADERS = \
+ laybasicConfig.h \
+ layBackgroundAwareTreeStyle.h
+
+-INCLUDEPATH += $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC
++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
+
diff --git a/cad/klayout/files/patch-src-tl-tl-tlStream.cc b/cad/klayout/files/patch-src-tl-tl-tlStream.cc
new file mode 100644
index 000000000000..c5d9b81f9b36
--- /dev/null
+++ b/cad/klayout/files/patch-src-tl-tl-tlStream.cc
@@ -0,0 +1,20 @@
+--- src/tl/tl/tlStream.cc.orig 2019-02-23 17:34:47 UTC
++++ src/tl/tl/tlStream.cc
+@@ -30,6 +30,8 @@
+ #include <errno.h>
+ #ifdef _WIN32
+ # include <io.h>
++#else
++# include <unistd.h>
+ #endif
+
+ #include "tlStream.h"
+@@ -1089,7 +1091,7 @@ OutputFile::~OutputFile ()
+ #if defined(_WIN32)
+ _close (m_fd);
+ #else
+- close (m_fd);
++ ::close (m_fd);
+ #endif
+ m_fd = -1;
+ }
diff --git a/cad/klayout/pkg-descr b/cad/klayout/pkg-descr
new file mode 100644
index 000000000000..f397bbdd2224
--- /dev/null
+++ b/cad/klayout/pkg-descr
@@ -0,0 +1,3 @@
+KLayout is a viewer for GDS2 files.
+
+WWW: http://www.klayout.de/index.html
diff --git a/cad/klayout/pkg-plist b/cad/klayout/pkg-plist
new file mode 100644
index 000000000000..27ec862549f5
--- /dev/null
+++ b/cad/klayout/pkg-plist
@@ -0,0 +1,79 @@
+bin/klayout
+bin/strm2cif
+bin/strm2dxf
+bin/strm2gds
+bin/strm2gdstxt
+bin/strm2oas
+bin/strm2txt
+bin/strmclip
+bin/strmcmp
+bin/strmrun
+bin/strmxor
+lib/libklayout_ant.so
+lib/libklayout_ant.so.0
+lib/libklayout_ant.so.0.25
+lib/libklayout_ant.so.0.25.8
+lib/libklayout_bd.so
+lib/libklayout_bd.so.0
+lib/libklayout_bd.so.0.25
+lib/libklayout_bd.so.0.25.8
+lib/libklayout_db.so
+lib/libklayout_db.so.0
+lib/libklayout_db.so.0.25
+lib/libklayout_db.so.0.25.8
+lib/libklayout_drc.so
+lib/libklayout_drc.so.0
+lib/libklayout_drc.so.0.25
+lib/libklayout_drc.so.0.25.8
+lib/libklayout_edt.so
+lib/libklayout_edt.so.0
+lib/libklayout_edt.so.0.25
+lib/libklayout_edt.so.0.25.8
+lib/libklayout_ext.so
+lib/libklayout_ext.so.0
+lib/libklayout_ext.so.0.25
+lib/libklayout_ext.so.0.25.8
+lib/libklayout_gsi.so
+lib/libklayout_gsi.so.0
+lib/libklayout_gsi.so.0.25
+lib/libklayout_gsi.so.0.25.8
+lib/libklayout_gsiqt.so
+lib/libklayout_gsiqt.so.0
+lib/libklayout_gsiqt.so.0.25
+lib/libklayout_gsiqt.so.0.25.8
+lib/libklayout_img.so
+lib/libklayout_img.so.0
+lib/libklayout_img.so.0.25
+lib/libklayout_img.so.0.25.8
+lib/libklayout_lay.so
+lib/libklayout_lay.so.0
+lib/libklayout_lay.so.0.25
+lib/libklayout_lay.so.0.25.8
+lib/libklayout_laybasic.so
+lib/libklayout_laybasic.so.0
+lib/libklayout_laybasic.so.0.25
+lib/libklayout_laybasic.so.0.25.8
+lib/libklayout_lib.so
+lib/libklayout_lib.so.0
+lib/libklayout_lib.so.0.25
+lib/libklayout_lib.so.0.25.8
+lib/libklayout_lym.so
+lib/libklayout_lym.so.0
+lib/libklayout_lym.so.0.25
+lib/libklayout_lym.so.0.25.8
+lib/libklayout_pya.so
+lib/libklayout_pya.so.0
+lib/libklayout_pya.so.0.25
+lib/libklayout_pya.so.0.25.8
+lib/libklayout_rba.so
+lib/libklayout_rba.so.0
+lib/libklayout_rba.so.0.25
+lib/libklayout_rba.so.0.25.8
+lib/libklayout_rdb.so
+lib/libklayout_rdb.so.0
+lib/libklayout_rdb.so.0.25
+lib/libklayout_rdb.so.0.25.8
+lib/libklayout_tl.so
+lib/libklayout_tl.so.0
+lib/libklayout_tl.so.0.25
+lib/libklayout_tl.so.0.25.8