summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-mathematics/yacas/Manifest1
-rw-r--r--sci-mathematics/yacas/files/yacas-1.7.0-gnuinstalldirs.patch219
-rw-r--r--sci-mathematics/yacas/yacas-1.7.0.ebuild53
3 files changed, 273 insertions, 0 deletions
diff --git a/sci-mathematics/yacas/Manifest b/sci-mathematics/yacas/Manifest
index 4d5fa4f19284..c07d8d25b25e 100644
--- a/sci-mathematics/yacas/Manifest
+++ b/sci-mathematics/yacas/Manifest
@@ -1 +1,2 @@
DIST yacas-1.6.1.tar.gz 2611119 BLAKE2B df627e162c3498e1866f3874c63736ba7ce447c451617df7d4f5dc8974a393362f8ed77315e5a3b05b024ef32219170ce1cf93c2de0567d3dfaf71a72bb76a43 SHA512 fffd15f76fef15aa8502053deefa6fee2a4f8b25414fa1209579351e36131b8117135e5f7009986ac8bb6af575d2e500a0d61c4996a8a50c767a5fa80ac1eff2
+DIST yacas-1.7.0.tar.gz 2610016 BLAKE2B 62400d8aaba192a088bb48e0e12ff79e7e2d24af4825b2d53aeffa7aace011beb728118d56e5a9dd9e7dedba545706bbf77cb9ef27b5075e555fc5cc1983dc5e SHA512 6da7d454b3a74638d743c5e8168b27b9a8a71e2c41fe3f35bcb397fb80e866277ddb5b4e15167e2c0d11dd6033491ca72b560440fe2db6dc34b91b2ad047ca1d
diff --git a/sci-mathematics/yacas/files/yacas-1.7.0-gnuinstalldirs.patch b/sci-mathematics/yacas/files/yacas-1.7.0-gnuinstalldirs.patch
new file mode 100644
index 000000000000..88e61dccbc53
--- /dev/null
+++ b/sci-mathematics/yacas/files/yacas-1.7.0-gnuinstalldirs.patch
@@ -0,0 +1,219 @@
+From f1665438b617e312d96fbe771603424cbebeee4e Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Tue, 16 Jul 2019 23:25:12 +0200
+Subject: [PATCH] Use GNUInstallDirs
+
+---
+ CMakeLists.txt | 5 +--
+ cyacas/libyacas/CMakeLists.txt | 8 +++--
+ cyacas/libyacas_mp/CMakeLists.txt | 8 +++--
+ cyacas/yacas-gui/CMakeLists.txt | 4 +--
+ cyacas/yacas-gui/resources/CMakeLists.txt | 40 +++++++++++------------
+ cyacas/yacas-kernel/CMakeLists.txt | 2 +-
+ cyacas/yacas/CMakeLists.txt | 2 +-
+ docs/CMakeLists.txt | 2 +-
+ tests/CMakeLists.txt | 4 +--
+ 9 files changed, 40 insertions(+), 35 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9982f519..596cec3c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -30,12 +30,13 @@ if (ENABLE_JYACAS)
+ set (LANGUAGES ${LANGUAGES} Java)
+ endif ()
+
+-project (YACAS VERSION 1.7.0 LANGUAGES ${LANGUAGES})
++project (yacas VERSION 1.7.0 LANGUAGES ${LANGUAGES})
+
+ set (CMAKE_CXX_STANDARD 17)
+ set (CMAKE_CXX_STANDARD_REQUIRED ON)
+ set (CMAKE_CXX_EXTENSIONS OFF)
+
++include (GNUInstallDirs)
+ include (CTest)
+
+ set (YACAS_SCRIPTS
+@@ -251,7 +252,7 @@ set (YACAS_SCRIPTS
+ scripts/yacasinit.ys)
+
+ if (ENABLE_CYACAS)
+- install (DIRECTORY scripts/ DESTINATION share/yacas/scripts COMPONENT app)
++ install (DIRECTORY scripts/ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/scripts COMPONENT app)
+ endif ()
+
+ if (ENABLE_DOCS)
+diff --git a/cyacas/libyacas/CMakeLists.txt b/cyacas/libyacas/CMakeLists.txt
+index 14841f60..6839bb0a 100644
+--- a/cyacas/libyacas/CMakeLists.txt
++++ b/cyacas/libyacas/CMakeLists.txt
+@@ -94,9 +94,11 @@ set_target_properties (libyacas PROPERTIES OUTPUT_NAME "yacas")
+ target_include_directories (libyacas PUBLIC include "${CMAKE_CURRENT_BINARY_DIR}/config")
+ target_link_libraries (libyacas libyacas_mp)
+
+-install (TARGETS libyacas LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin COMPONENT app)
+-install (DIRECTORY include/ DESTINATION include COMPONENT dev)
+-install (FILES "${CMAKE_CURRENT_BINARY_DIR}/config/yacas/yacas_version.h" DESTINATION include/yacas COMPONENT dev)
++install (TARGETS libyacas LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT app)
++install (DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT dev)
++install (FILES "${CMAKE_CURRENT_BINARY_DIR}/config/yacas/yacas_version.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/yacas COMPONENT dev)
+
+ # if (APPLE)
+ # add_library (libyacas_framework SHARED ${SOURCES} ${HEADERS})
+diff --git a/cyacas/libyacas_mp/CMakeLists.txt b/cyacas/libyacas_mp/CMakeLists.txt
+index 06a3fc9d..3ebabfe6 100644
+--- a/cyacas/libyacas_mp/CMakeLists.txt
++++ b/cyacas/libyacas_mp/CMakeLists.txt
+@@ -29,8 +29,10 @@ add_library (libyacas_mp ${SOURCES} ${HEADERS})
+ set_target_properties (libyacas_mp PROPERTIES OUTPUT_NAME "yacas_mp")
+ target_include_directories (libyacas_mp PUBLIC include)
+
+-install (TARGETS libyacas_mp LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin COMPONENT app)
+-install (DIRECTORY include/ DESTINATION include COMPONENT dev)
++install (TARGETS libyacas_mp LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT app)
++install (DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT dev)
+
+ # if (APPLE)
+ # add_library (libyacas_mp_framework SHARED ${SOURCES} ${HEADERS})
+@@ -48,4 +50,4 @@ endif ()
+
+ if (ENABLE_CYACAS_UNIT_TESTS)
+ add_subdirectory (test)
+-endif ()
+\ No newline at end of file
++endif ()
+diff --git a/cyacas/yacas-gui/CMakeLists.txt b/cyacas/yacas-gui/CMakeLists.txt
+index 981de305..ed5550b7 100644
+--- a/cyacas/yacas-gui/CMakeLists.txt
++++ b/cyacas/yacas-gui/CMakeLists.txt
+@@ -121,11 +121,11 @@ add_subdirectory (resources)
+ if (APPLE)
+ install (TARGETS yacas-gui BUNDLE DESTINATION ${CMAKE_INSTALL_BUNDLE_PREFIX})
+ else ()
+- install (TARGETS yacas-gui DESTINATION bin)
++ install (TARGETS yacas-gui DESTINATION ${CMAKE_INSTALL_BINDIR})
+ endif ()
+
+ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+- install (PROGRAMS yacas-gui.desktop PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ DESTINATION share/applications)
++ install (PROGRAMS yacas-gui.desktop PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
+ endif ()
+
+ if (WIN32)
+diff --git a/cyacas/yacas-gui/resources/CMakeLists.txt b/cyacas/yacas-gui/resources/CMakeLists.txt
+index dbdedcfa..a7d8d305 100644
+--- a/cyacas/yacas-gui/resources/CMakeLists.txt
++++ b/cyacas/yacas-gui/resources/CMakeLists.txt
+@@ -42,24 +42,24 @@ ExternalProject_Add (yacas-gui_delanuay
+ BUILD_COMMAND ""
+ INSTALL_COMMAND "")
+
+-install (FILES ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_delanuay/delaunay.js DESTINATION share/yacas/resources/plot3d)
++install (FILES ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_delanuay/delaunay.js DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/plot3d)
+
+ if (NOT APPLE)
+- install (FILES plot3d/plot3d.js DESTINATION share/yacas/resources/plot3d)
+- install (DIRECTORY jquery DESTINATION share/yacas/resources)
+- install (DIRECTORY webchannel DESTINATION share/yacas/resources)
+- install (DIRECTORY mathbar DESTINATION share/yacas/resources)
+- install (DIRECTORY yacas_gui DESTINATION share/yacas/resources)
+- install (FILES yacas_gui.html DESTINATION share/yacas/resources)
+- install (DIRECTORY pixmaps DESTINATION share)
+- install (DIRECTORY icons DESTINATION share)
++ install (FILES plot3d/plot3d.js DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources/plot3d)
++ install (DIRECTORY jquery DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources)
++ install (DIRECTORY webchannel DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources)
++ install (DIRECTORY mathbar DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources)
++ install (DIRECTORY yacas_gui DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources)
++ install (FILES yacas_gui.html DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/resources)
++ 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 share/yacas/resources/codemirror)
+- install (DIRECTORY ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_codemirror/mode/yacas DESTINATION share/yacas/resources/codemirror/mode)
+- install (DIRECTORY ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_codemirror/addon/edit DESTINATION share/yacas/resources/codemirror/addon)
+- install (DIRECTORY ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_codemirror/addon/hint DESTINATION share/yacas/resources/codemirror/addon)
++ 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 (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 share/yacas/resources/flot)
++ 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
+ ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_three/build/three.min.js
+@@ -68,12 +68,12 @@ if (NOT APPLE)
+ ${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
+- DESTINATION share/yacas/resources/three)
++ 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 share/yacas/resources/vis)
++ 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 (DIRECTORY ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_mathjax/fonts/HTML-CSS/STIX-Web/otf DESTINATION share/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 share/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 share/yacas/resources/mathjax/fonts/HTML-CSS/TeX)
+- install (DIRECTORY ${CMAKE_BINARY_DIR}/cyacas/yacas-gui/resources/external_packages/src/yacas-gui_mathjax/unpacked DESTINATION share/yacas/resources/mathjax)
++ 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)
+ endif ()
+diff --git a/cyacas/yacas-kernel/CMakeLists.txt b/cyacas/yacas-kernel/CMakeLists.txt
+index ae2c7298..1e6c4cf1 100644
+--- a/cyacas/yacas-kernel/CMakeLists.txt
++++ b/cyacas/yacas-kernel/CMakeLists.txt
+@@ -33,4 +33,4 @@ include_directories (include)
+ add_executable (yacas-kernel src/main.cpp src/yacas_kernel.cpp src/yacas_engine.cpp src/hmac_sha256.cpp)
+ target_link_libraries (yacas-kernel libyacas ${ZMQPP_LIBRARY} ${ZEROMQ_LIBRARY} ${JSONCPP_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY} ${Boost_LIBRARIES} pthread)
+
+-install (TARGETS yacas-kernel DESTINATION bin)
+\ No newline at end of file
++install (TARGETS yacas-kernel DESTINATION ${CMAKE_INSTALL_BINDIR})
+diff --git a/cyacas/yacas/CMakeLists.txt b/cyacas/yacas/CMakeLists.txt
+index 3bdc3563..5e97c0af 100644
+--- a/cyacas/yacas/CMakeLists.txt
++++ b/cyacas/yacas/CMakeLists.txt
+@@ -36,4 +36,4 @@ if (WIN32)
+ target_link_libraries (yacas wsock32 ws2_32 shlwapi)
+ endif()
+
+-install (TARGETS yacas RUNTIME DESTINATION bin COMPONENT app)
++install (TARGETS yacas RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT app)
+diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
+index 869cd57c..f69d9740 100644
+--- a/docs/CMakeLists.txt
++++ b/docs/CMakeLists.txt
+@@ -38,6 +38,6 @@ add_custom_target(yacas_docs ALL
+ COMMENT "Building HTML documentation with Sphinx")
+
+ install (DIRECTORY "${SPHINX_SINGLEHTML_DIR}"
+- DESTINATION share/yacas/documentation
++ DESTINATION ${CMAKE_INSTALL_DOCDIR}
+ COMPONENT doc
+ PATTERN ".buildinfo" EXCLUDE)
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 55ba67ef..9bb9c0e2 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -55,8 +55,8 @@ set (YACAS_TESTS
+ transforms.yts)
+
+
+-install (FILES ${YACAS_TESTS} DESTINATION share/yacas/tests COMPONENT app)
+-install (PROGRAMS ${TEST_YACAS_CMD} DESTINATION share/yacas/tests COMPONENT app)
++install (FILES ${YACAS_TESTS} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/tests COMPONENT app)
++install (PROGRAMS ${TEST_YACAS_CMD} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/yacas/tests COMPONENT app)
+
+ if (ENABLE_CYACAS_CONSOLE)
+ foreach (_test ${YACAS_TESTS})
+--
+2.22.0
+
diff --git a/sci-mathematics/yacas/yacas-1.7.0.ebuild b/sci-mathematics/yacas/yacas-1.7.0.ebuild
new file mode 100644
index 000000000000..4e3f18521f97
--- /dev/null
+++ b/sci-mathematics/yacas/yacas-1.7.0.ebuild
@@ -0,0 +1,53 @@
+# 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"
+
+LICENSE="GPL-2"
+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" )
+
+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
+}