sci-electronics/klayout: Version bump, for ruby 2.4 and gcc 8
authorAndreas K. Huettel <dilfridge@gentoo.org>
Wed, 12 Dec 2018 21:27:01 +0000 (22:27 +0100)
committerAndreas K. Huettel <dilfridge@gentoo.org>
Wed, 12 Dec 2018 21:27:36 +0000 (22:27 +0100)
See https://github.com/klayoutmatthias/klayout/issues/127 for
the source of the patch.

Bug: https://bugs.gentoo.org/672986
Closes: https://bugs.gentoo.org/672990
Closes: https://bugs.gentoo.org/669340
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
sci-electronics/klayout/Manifest
sci-electronics/klayout/files/klayout-0.25.6-gcc8.patch [new file with mode: 0644]
sci-electronics/klayout/klayout-0.25.6.ebuild [new file with mode: 0644]
sci-electronics/klayout/klayout-9999.ebuild

index 9a6ef10503a4208d283aaaca3396e502cac41da1..34d25dd2f013b332331de870b5f61c3723ff951e 100644 (file)
@@ -1 +1,2 @@
+DIST klayout-0.25.6.tar.gz 21008915 BLAKE2B f5e06790b8eac682b61bf83dce167c4c9eb8767d6bfb040e203ed2ec43b39781e64203c8319bf58ed2f4b7b2349d958f24a7ad1957bc27befa583b00eeee650c SHA512 38d13bd6f0cef5685ef32ebf00edf07f588d445174e2a56320940a7036e65a3fbb11d1efab92af9f8abfce7e77c782df5f05460a7de4d98ade924c761396db5a
 DIST klayout-0.25.tar.gz 16461165 BLAKE2B 321d5c03b49b922b051407767f72135d0ff7e3fb0fe5dd237e27ce6c42d2b847f0bc4d96ae551c51b6581c0d39eb71f7053c8814dcb7afdfd027a24af9d553fd SHA512 0c05b0786e7e1dbf8035cbb3888eff776c0b96a4fcf2ebbc3065fe43340ae020b6713c2e1d2e7ab5caaf64d7ec84bea9d691ba6c0aea88e93c957530d3d4d114
diff --git a/sci-electronics/klayout/files/klayout-0.25.6-gcc8.patch b/sci-electronics/klayout/files/klayout-0.25.6-gcc8.patch
new file mode 100644 (file)
index 0000000..250290f
--- /dev/null
@@ -0,0 +1,18 @@
+Source: https://github.com/klayoutmatthias/klayout/issues/127
+
+diff -ruN klayout-0.25.6.orig/src/db/db/dbCellMapping.cc klayout-0.25.6/src/db/db/dbCellMapping.cc
+--- klayout-0.25.6.orig/src/db/db/dbCellMapping.cc     2018-11-26 18:53:43.000000000 +0100
++++ klayout-0.25.6/src/db/db/dbCellMapping.cc  2018-12-12 20:05:11.210171097 +0100
+@@ -75,6 +75,12 @@
+       return *this;
+   }
+ 
++  SortedCellIndexIterator &operator--()
++  {
++    --m_n;
++    return *this;
++  }
++
+   SortedCellIndexIterator &operator+=(size_t n) 
+   {
+     m_n += n;
diff --git a/sci-electronics/klayout/klayout-0.25.6.ebuild b/sci-electronics/klayout/klayout-0.25.6.ebuild
new file mode 100644 (file)
index 0000000..d5a9f0b
--- /dev/null
@@ -0,0 +1,87 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+RUBY_OPTIONAL=no
+USE_RUBY="ruby24"
+# note: define maximally ONE implementation here
+
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit toolchain-funcs python-single-r1 ruby-ng
+
+if [[ ${PV} = 9999* ]]; then
+       EGIT_REPO_URI="https://github.com/klayoutmatthias/${PN}.git"
+       inherit git-r3
+       EGIT_CHECKOUT_DIR=${WORKDIR}/all/${P}
+else
+       SRC_URI="https://www.klayout.org/downloads/source/${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Viewer and editor for GDS and OASIS integrated circuit layouts"
+HOMEPAGE="https://www.klayout.de/"
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+RDEPEND="
+       dev-qt/designer:5
+       dev-qt/qtcore:5
+       dev-qt/qtgui:5
+       dev-qt/qtmultimedia:5[widgets]
+       dev-qt/qtnetwork:5[ssl]
+       dev-qt/qtprintsupport:5
+       dev-qt/qtsql:5
+       dev-qt/qtsvg:5
+       dev-qt/qtwidgets:5
+       dev-qt/qtxml:5
+       dev-qt/qtxmlpatterns:5
+       sys-libs/zlib
+       ${PYTHON_DEPS}
+       $(ruby_implementations_depend)
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+       "${FILESDIR}/${P}-gcc8.patch"
+)
+
+pkg_setup() {
+       python-single-r1_pkg_setup
+       ruby-ng_pkg_setup
+}
+
+each_ruby_configure() {
+       tc-export CC CXX AR LD RANLIB
+       export CFLAGS CXXFLAGS
+       ./build.sh \
+               -expert \
+               -dry-run \
+               -qmake "/usr/$(get_libdir)/qt5/bin/qmake" \
+               -ruby "${RUBY}" \
+               -python "${PYTHON}" \
+               -build . \
+               -bin "${T}/bin" \
+               -rpath "/usr/$(get_libdir)/klayout" \
+               -option "${MAKEOPTS}" \
+               -with-qtbinding \
+               -without-64bit-coord \
+               -qt5 || die "Configuration failed"
+}
+
+each_ruby_compile() {
+       emake all
+}
+
+each_ruby_install() {
+       emake install
+
+       cd "${T}/bin" || die
+
+       dodir "/usr/$(get_libdir)/klayout"
+       mv lib* "${ED}/usr/$(get_libdir)/klayout/" || die
+
+       dobin *
+}
index 98b5a4200eddd1cdbcc879a3c51b06fa964923ce..941995116f57240a3a1477c4766e288240fe43ec 100644 (file)
@@ -1,10 +1,10 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
 
 RUBY_OPTIONAL=no
-USE_RUBY="ruby23"
+USE_RUBY="ruby24"
 # note: define maximally ONE implementation here
 
 PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )