From 4cbcc855382a06088e2f016f62cafdbcb7e40665 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 20 Mar 2022 00:40:44 +0000 Subject: gentoo resync : 20.03.2022 --- sci-mathematics/cadabra/Manifest | 4 + sci-mathematics/cadabra/cadabra-2.3.8.ebuild | 99 ++++++++++++++++++++++ sci-mathematics/cadabra/files/cadabra2-CMake.patch | 69 +++++++++++++++ sci-mathematics/cadabra/metadata.xml | 29 +++++++ 4 files changed, 201 insertions(+) create mode 100644 sci-mathematics/cadabra/Manifest create mode 100644 sci-mathematics/cadabra/cadabra-2.3.8.ebuild create mode 100644 sci-mathematics/cadabra/files/cadabra2-CMake.patch create mode 100644 sci-mathematics/cadabra/metadata.xml (limited to 'sci-mathematics/cadabra') diff --git a/sci-mathematics/cadabra/Manifest b/sci-mathematics/cadabra/Manifest new file mode 100644 index 000000000000..56df61f7e5f7 --- /dev/null +++ b/sci-mathematics/cadabra/Manifest @@ -0,0 +1,4 @@ +AUX cadabra2-CMake.patch 3184 BLAKE2B afa702834d5eb82a8056307b419fc20bbc2d45b0474994328b70fee383dff415ea37ef2e70c83e9cb7776e06f9295cf5cb9afddddaf857227f7a72f362b61726 SHA512 ddd6b451f81e465d4fef9401340808922bcb1074895173d83d699614e0c967024863848fabdd207f7124ff6396e8c2c75d2ed1425ba73d7bb6d5ac6fe56a87f1 +DIST cadabra-2.3.8.tar.gz 24647809 BLAKE2B 70858dab32c31b75b32b9eceaa60166accb0167cd8873c0058e6ef8ccfd3e3643da20b96fce3dde8be0e3fc5fdd42e1e6dac8e394643786163095a72239701d5 SHA512 06ebb148d911094dbdcc76747404cf7eb8f31e3bc458a81a37d4ed3bee3df97fedb9f11ed2251c133914aa6482db5b01d8848ef356ea1a0c83f59e686eebcfa5 +EBUILD cadabra-2.3.8.ebuild 2307 BLAKE2B 892a782c64c84f19b059818079c97a6ded3e008f8840df92c96fd93af647f8728b4e67e9115302159f1228df54f32c3ffa4f382bb4a5826a0bd347574d9db1c5 SHA512 c881a9cd78a1954335e07b1d760ef346bad90183a6d1aae33afd4627b36430df2e435e6ae383719ba7d1c70c9617dd58a33d7a5656c25d50cea15e11c061f792 +MISC metadata.xml 1342 BLAKE2B 2f34aae73fc01d4b8fd4326505b7b0785663c62593641d1d0a01f64adc12cbc8676271612ce91258927ac22957a8d5aba53dd2627130582c744bc32c28e0e207 SHA512 41dffbcfae16f8f0702df5a1837b225100761d48817a2d70fa03aca6246b9d3184d60989cf265282286b02a77a126ac82695c2d74c6de91da45e8f64fcb91811 diff --git a/sci-mathematics/cadabra/cadabra-2.3.8.ebuild b/sci-mathematics/cadabra/cadabra-2.3.8.ebuild new file mode 100644 index 000000000000..7748e23c0ce0 --- /dev/null +++ b/sci-mathematics/cadabra/cadabra-2.3.8.ebuild @@ -0,0 +1,99 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MAJOR=$(ver_cut 1) +CADABRA=${PN}${MAJOR} + +PYTHON_COMPAT=( python3_{8..10} ) + +inherit xdg-utils python-single-r1 cmake + +DESCRIPTION="Field-theory motivated approach to computer algebra" +HOMEPAGE="https://cadabra.science/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/kpeeters/${CADABRA}.git" +else + SRC_URI="https://github.com/kpeeters/${CADABRA}/archive/${PV}.tar.gz + -> ${P}.tar.gz" + S="${WORKDIR}"/${CADABRA}-${PV} + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-3" +SLOT="0/${MAJOR}" +IUSE="gtk +jupyter test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +RDEPEND=" + ${PYTHON_DEPS} + app-text/dvipng + dev-cpp/glibmm:2 + dev-db/sqlite:3= + dev-libs/boost:= + dev-libs/gmp:=[cxx] + dev-libs/jsoncpp:= + dev-libs/libsigc++:2 + dev-texlive/texlive-basic + $(python_gen_cond_dep ' + dev-python/gmpy:2[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + dev-python/sympy[${PYTHON_USEDEP}] + jupyter? ( dev-python/jupyter[${PYTHON_USEDEP}] ) + ') + gtk? ( dev-cpp/gtkmm:3.0 ) +" +DEPEND="${RDEPEND}" +BDEPEND="$(python_gen_cond_dep 'dev-python/pybind11[${PYTHON_USEDEP}]')" + +PATCHES=( "${FILESDIR}"/${CADABRA}-CMake.patch ) + +DOCS=( CODE_OF_CONDUCT.md CONTRIBUTING.md JUPYTER.rst README.rst) + +# Because we do not want to pull in "_XDG_DEPEND" dependencies with USE="-gtk" +xdg_update() { + if use gtk ; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} + +src_prepare() { + # Clean postinst script which calls libtool and icon-cache update + echo '#!/bin/sh' > "${S}"/config/postinst.in || die + + # Fix "PYTHON_EXECUTABLE" in Jupyter kernel + sed -i "s|@PYTHON_EXECUTABLE@|${EPYTHON}|" \ + "${S}"/jupyterkernel/kernelspec/kernel.json.in || die + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DENABLE_SYSTEM_JSONCPP=ON + -DPACKAGING_MODE=ON + -DUSE_PYTHON_3=ON + -DBUILD_AS_CPP_LIBRARY=OFF + -DENABLE_JUPYTER=OFF # special Xeus Jupyter kernel (uses xtl) + -DENABLE_MATHEMATICA=OFF + -DINSTALL_TARGETS_ONLY=OFF + -DBUILD_TESTS=$(usex test) + -DENABLE_FRONTEND=$(usex gtk) + -DENABLE_PY_JUPYTER=$(usex jupyter) + ) + cmake_src_configure +} + +pkg_postinst() { + xdg_update +} + +pkg_postrm() { + xdg_update +} diff --git a/sci-mathematics/cadabra/files/cadabra2-CMake.patch b/sci-mathematics/cadabra/files/cadabra2-CMake.patch new file mode 100644 index 000000000000..9000cd321db9 --- /dev/null +++ b/sci-mathematics/cadabra/files/cadabra2-CMake.patch @@ -0,0 +1,69 @@ +index 0f2ba31..7e6ace8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -166,7 +166,6 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) + message(FATAL_ERROR "GCC version must be at least 4.9 for regex support! See http://askubuntu.com/questions/428198/getting-installing-gcc-g-4-9-on-ubuntu and then set the environment variables CXX to g++-4.9 and CC to gcc-4.9. You may have to erase the build directory before re-running cmake.") + endif() + endif() +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O2 -Wall -fvisibility=hidden -Wno-unused-but-set-variable") + endif() + + # Clang +@@ -175,7 +174,6 @@ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5) + message(FATAL_ERROR "Clang version must be at least 3.5 to avoid known bugs.") + endif() +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O2 -fvisibility=hidden -Wall -Wextra -Wunused") + endif() + + # Visual Studio +index d21069e..69f4f52 100644 +--- a/c++lib/CMakeLists.txt ++++ b/c++lib/CMakeLists.txt +@@ -48,14 +48,6 @@ if(CMAKE_COMPILER_IS_GNUCXX) + add_definitions("-Wall -g -Wno-unused-but-set-variable") + endif() + +-if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") +-endif() +- +-if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") +-endif() +- + if(MSVC) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + set(MSVC_FLAGS +index b7869a9..91567ec 100644 +--- a/frontend/gtkmm/CMakeLists.txt ++++ b/frontend/gtkmm/CMakeLists.txt +@@ -160,9 +160,6 @@ if (NOT INSTALL_TARGETS_ONLY) + install(FILES ${CADABRA_IMAGES_DIR}/256x256/cadabra2-gtk.png DESTINATION ${ICON_PREFIX}/share/icons/hicolor/256x256/apps) + install(FILES ${CADABRA_IMAGES_DIR}/cadabra2-gtk.svg DESTINATION ${ICON_PREFIX}/share/icons/hicolor/scalable/apps) + install(FILES ${CADABRA_ROOT_DIR}/config/cadabra2-gtk.desktop DESTINATION ${ICON_PREFIX}/share/applications) +- install(CODE "execute_process(COMMAND touch ${ICON_PREFIX_WITH_DESTDIR}/share/icons/hicolor/icon-theme.cache)") +- install(CODE "execute_process(COMMAND gtk-update-icon-cache-3.0 {ICON_PREFIX_WITH_DESTDIR}/share/icons/hicolor)") +- install(CODE "execute_process(COMMAND chmod go+r ${ICON_PREFIX_WITH_DESTDIR}/share/icons/hicolor/icon-theme.cache)") + + # Install shared libraries on Windows. + # https://stackoverflow.com/questions/32662215/how-do-you-install-gtk-3-0-on-windows +index 071bf11..bdfde1c 100644 +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -404,15 +404,6 @@ add_subdirectory(packages) + # + # https://stackoverflow.com/questions/21198030/installfiles-cmake-cfg-intdir-abc-win-dll-destination-bin + +-if(NOT WIN32) +- # Remove any old cadabra2.so files in the global site-wide path which may have been +- # left there from a previous install. +- remove_file("${OLD_PYTHON_SITE_PATH}/cadabra2.${PYTHON_MOD_EXT}") +- remove_file("${OLD_PYTHON_SITE_PATH}/cadabra2_defaults.py") +- remove_file("${OLDER_PYTHON_SITE_PATH}/cadabra2.${PYTHON_MOD_EXT}") +- remove_file("${OLDER_PYTHON_SITE_PATH}/cadabra2_defaults.py") +-endif() +- + install_directory_permissions(${PYTHON_SITE_PATH}) + + if (MSVC) diff --git a/sci-mathematics/cadabra/metadata.xml b/sci-mathematics/cadabra/metadata.xml new file mode 100644 index 000000000000..372b6a2d1f8a --- /dev/null +++ b/sci-mathematics/cadabra/metadata.xml @@ -0,0 +1,29 @@ + + + + + + sci-mathematics@gentoo.org + Gentoo Mathematics Project + + + Cadabra is a symbolic computer algebra system (CAS) designed specifically + for the solution of problems encountered in field theory. It has extensive + functionality for tensor computer algebra, tensor polynomial simplification + including multi-term symmetries, fermions and anti-commuting variables, + Clifford algebras and Fierz transformations, component computations, + implicit coordinate dependence, multiple index types and many more. + The input format is a subset of TeX. + Both a command-line and a graphical notebook interface are available, and + you can also use Cadabra from Jupyter by using the Cadabra Jupyter kernel. + + + https://github.com/kpeeters/cadabra2/releases/ + https://github.com/kpeeters/cadabra2/issues/ + kpeeters/cadabra2 + https://cadabra.science/man.html + + + Build the Cadabra Jupyter kernel + + -- cgit v1.2.3