sci-mathematics/yacas: Disable cmake external downloads, use bundled
authorAndreas Sturmlechner <asturm@gentoo.org>
Wed, 24 Jul 2019 08:01:35 +0000 (10:01 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Wed, 24 Jul 2019 08:11:53 +0000 (10:11 +0200)
Closes: https://bugs.gentoo.org/690534
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
sci-mathematics/yacas/Manifest
sci-mathematics/yacas/files/yacas-1.7.0-use-bundled-not-external.patch [new file with mode: 0644]
sci-mathematics/yacas/yacas-1.7.0-r1.ebuild [new file with mode: 0644]

index d55969a0d6379a2f4c5fade23ab23d8ce3375ac2..ea8473edce247aa99a611a8faeae7c02a06f5c89 100644 (file)
@@ -1 +1,2 @@
 DIST yacas-1.7.0.tar.gz 2610016 BLAKE2B 62400d8aaba192a088bb48e0e12ff79e7e2d24af4825b2d53aeffa7aace011beb728118d56e5a9dd9e7dedba545706bbf77cb9ef27b5075e555fc5cc1983dc5e SHA512 6da7d454b3a74638d743c5e8168b27b9a8a71e2c41fe3f35bcb397fb80e866277ddb5b4e15167e2c0d11dd6033491ca72b560440fe2db6dc34b91b2ad047ca1d
+DIST yacas-bundled-1.7.0.tar.xz 4940180 BLAKE2B e191f3806df0c15149df053c47b1f11a5113ee3b55cbc9a78bfaec058fb5d783e4157687bf4ee9a953bcd23a4e3e49a59e6743e4471e31209a9e24e03ddc8ff5 SHA512 a9c519d0721df69ec81998a3ec17043b59230f5b0650fc2fd6555eccb5503460f387433c019ae15bbd0fd3ff11e697d6da56a3d08aac5fadf4ff023ca5d8691c
diff --git a/sci-mathematics/yacas/files/yacas-1.7.0-use-bundled-not-external.patch b/sci-mathematics/yacas/files/yacas-1.7.0-use-bundled-not-external.patch
new file mode 100644 (file)
index 0000000..f66a629
--- /dev/null
@@ -0,0 +1,112 @@
+From deda267cd182e48c8af657c0d26dbeeb04879d6f Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Wed, 24 Jul 2019 09:58:58 +0200
+Subject: [PATCH] Install bundled files from repacked tarball, disable external
+ downloads
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ cyacas/yacas-gui/resources/CMakeLists.txt | 77 +++++------------------
+ 1 file changed, 17 insertions(+), 60 deletions(-)
+
+diff --git a/cyacas/yacas-gui/resources/CMakeLists.txt b/cyacas/yacas-gui/resources/CMakeLists.txt
+index ca3bf32..bae7076 100644
+--- a/cyacas/yacas-gui/resources/CMakeLists.txt
++++ b/cyacas/yacas-gui/resources/CMakeLists.txt
+@@ -1,49 +1,6 @@
+ include (ExternalProject)
+-ExternalProject_Add (yacas-gui_codemirror
+-    PREFIX external_packages
+-    URL https://github.com/codemirror/CodeMirror/archive/5.35.0.zip
+-    CONFIGURE_COMMAND npm install --no-progress
+-    BUILD_IN_SOURCE 1
+-    BUILD_COMMAND npm run-script build
+-    INSTALL_COMMAND "")
+-
+-ExternalProject_Add (yacas-gui_flot
+-    PREFIX external_packages
+-    URL https://github.com/flot/flot/archive/v0.8.3.zip
+-    CONFIGURE_COMMAND ""
+-    BUILD_COMMAND ""
+-    INSTALL_COMMAND "")
+-
+-ExternalProject_Add (yacas-gui_three
+-    PREFIX external_packages
+-    URL https://github.com/mrdoob/three.js/archive/r90.zip
+-    CONFIGURE_COMMAND ""
+-    BUILD_COMMAND ""
+-    INSTALL_COMMAND "")
+-
+-ExternalProject_Add (yacas-gui_vis
+-    PREFIX external_packages
+-    URL https://github.com/almende/vis/archive/v4.21.0.zip
+-    CONFIGURE_COMMAND ""
+-    BUILD_COMMAND ""
+-    INSTALL_COMMAND "")
+-
+-ExternalProject_Add (yacas-gui_mathjax
+-    PREFIX external_packages
+-    URL https://github.com/mathjax/MathJax/archive/2.7.3.zip
+-    CONFIGURE_COMMAND ""
+-    BUILD_COMMAND ""
+-    INSTALL_COMMAND "")
+-
+-ExternalProject_Add (yacas-gui_delanuay
+-    PREFIX external_packages
+-    URL https://github.com/ironwallaby/delaunay/archive/1.0.1.zip
+-    CONFIGURE_COMMAND ""
+-    BUILD_COMMAND ""
+-    INSTALL_COMMAND "")
+-
+-install (FILES ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_delanuay/delaunay.js DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/plot3d)
++install (FILES yacas-gui_delanuay/delaunay.js DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/plot3d)
+ if (NOT APPLE)
+     install (FILES plot3d/plot3d.js DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/plot3d)
+@@ -55,26 +12,26 @@ if (NOT APPLE)
+     install (DIRECTORY pixmaps DESTINATION ${CMAKE_INSTALL_DATAROOTDIR})
+     install (DIRECTORY icons DESTINATION ${CMAKE_INSTALL_DATAROOTDIR})
+-    install (DIRECTORY ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_codemirror/lib DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/codemirror)
+-    install (DIRECTORY ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_codemirror/mode/yacas DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/codemirror/mode)
+-    install (DIRECTORY ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_codemirror/addon/edit DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/codemirror/addon)
+-    install (DIRECTORY ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_codemirror/addon/hint DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/codemirror/addon)
++    install (DIRECTORY yacas-gui_codemirror/lib DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/codemirror)
++    install (DIRECTORY yacas-gui_codemirror/mode/yacas DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/codemirror/mode)
++    install (DIRECTORY yacas-gui_codemirror/addon/edit DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/codemirror/addon)
++    install (DIRECTORY yacas-gui_codemirror/addon/hint DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/codemirror/addon)
+-    install (FILES ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_flot/jquery.flot.js ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_flot/jquery.flot.resize.js DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/flot)
++    install (FILES yacas-gui_flot/jquery.flot.js yacas-gui_flot/jquery.flot.resize.js DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/flot)
+     install (FILES
+-            ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_three/build/three.min.js
+-            ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_three/examples/js/Detector.js
+-            ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_three/examples/js/controls/TrackballControls.js
+-            ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_three/examples/js/renderers/CanvasRenderer.js
+-            ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_three/examples/js/renderers/Projector.js
+-            ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_three/examples/js/utils/SceneUtils.js
++            yacas-gui_three/build/three.min.js
++            yacas-gui_three/examples/js/Detector.js
++            yacas-gui_three/examples/js/controls/TrackballControls.js
++            yacas-gui_three/examples/js/renderers/CanvasRenderer.js
++            yacas-gui_three/examples/js/renderers/Projector.js
++            yacas-gui_three/examples/js/utils/SceneUtils.js
+             DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/three)
+-    install (FILES ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_vis/dist/vis.min.css ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_vis/dist/vis.min.js DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/vis)
++    install (FILES yacas-gui_vis/dist/vis.min.css yacas-gui_vis/dist/vis.min.js DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/vis)
+-    install (DIRECTORY ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_mathjax/fonts/HTML-CSS/STIX-Web/otf DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/mathjax/fonts/HTML-CSS/STIX-Web)
+-    install (DIRECTORY ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_mathjax/fonts/HTML-CSS/STIX-Web/woff DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/mathjax/fonts/HTML-CSS/STIX-Web)
+-    install (DIRECTORY ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_mathjax/fonts/HTML-CSS/TeX/otf DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/mathjax/fonts/HTML-CSS/TeX)
+-    install (DIRECTORY ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_mathjax/unpacked DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/mathjax)
++    install (DIRECTORY yacas-gui_mathjax/fonts/HTML-CSS/STIX-Web/otf DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/mathjax/fonts/HTML-CSS/STIX-Web)
++    install (DIRECTORY yacas-gui_mathjax/fonts/HTML-CSS/STIX-Web/woff DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/mathjax/fonts/HTML-CSS/STIX-Web)
++    install (DIRECTORY yacas-gui_mathjax/fonts/HTML-CSS/TeX/otf DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/mathjax/fonts/HTML-CSS/TeX)
++    install (DIRECTORY yacas-gui_mathjax/unpacked DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/mathjax)
+ endif ()
+-- 
+2.22.0
+
diff --git a/sci-mathematics/yacas/yacas-1.7.0-r1.ebuild b/sci-mathematics/yacas/yacas-1.7.0-r1.ebuild
new file mode 100644 (file)
index 0000000..99da4e3
--- /dev/null
@@ -0,0 +1,57 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+DESCRIPTION="General purpose computer algebra system"
+HOMEPAGE="http://www.yacas.org/"
+SRC_URI="https://codeload.github.com/grzegorzmazur/${PN}/tar.gz/v${PV} -> ${P}.tar.gz
+gui? ( https://dev.gentoo.org/~asturm/distfiles/${PN}-bundled-${PV}.tar.xz )"
+
+LICENSE="GPL-2 gui? ( MIT Apache-2.0 OFL-1.1 )"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86"
+IUSE="gui +jupyter static-libs test"
+
+DEPEND="
+       gui? (
+               dev-qt/qtcore:5[icu]
+               dev-qt/qtgui:5
+               dev-qt/qtmultimedia:5
+               dev-qt/qtnetwork:5
+               dev-qt/qtopengl:5
+               dev-qt/qtprintsupport:5
+               dev-qt/qtsql:5
+               dev-qt/qtsvg:5
+               dev-qt/qtwebengine:5[widgets]
+               dev-qt/qtwidgets:5
+       )
+       jupyter? (
+               dev-libs/boost:=
+               dev-libs/jsoncpp:=
+               dev-libs/openssl:0=
+               dev-python/jupyter
+               net-libs/zeromq
+               >=net-libs/zmqpp-4.1.2
+       )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+       "${FILESDIR}/${P}-gnuinstalldirs.patch"
+       "${FILESDIR}/${P}-use-bundled-not-external.patch" # bug 690534
+)
+
+src_configure() {
+       local mycmakeargs=(
+               -DENABLE_CYACAS_BENCHMARKS=OFF
+               -DENABLE_DOCS=OFF # requires sphinxcontrib-bibtex
+               -DENABLE_JYACAS=OFF # requires manual install
+               -DENABLE_CYACAS_GUI=$(usex gui)
+               -DENABLE_CYACAS_KERNEL=$(usex jupyter)
+               -DENABLE_CYACAS_UNIT_TESTS=$(usex test)
+       )
+       cmake-utils_src_configure
+}