diff options
Diffstat (limited to 'sci-mathematics')
-rw-r--r-- | sci-mathematics/Manifest.gz | bin | 15839 -> 15842 bytes | |||
-rw-r--r-- | sci-mathematics/petsc/Manifest | 3 | ||||
-rw-r--r-- | sci-mathematics/petsc/metadata.xml | 7 | ||||
-rw-r--r-- | sci-mathematics/petsc/petsc-3.15.0-r1.ebuild | 194 | ||||
-rw-r--r-- | sci-mathematics/rkward/Manifest | 7 | ||||
-rw-r--r-- | sci-mathematics/rkward/files/rkward-0.7.2-fix-crash-w-R-4.1.0.patch | 99 | ||||
-rw-r--r-- | sci-mathematics/rkward/files/rkward-0.7.2-fix-dark-themes.patch | 172 | ||||
-rw-r--r-- | sci-mathematics/rkward/files/rkward-0.7.2-fix-eop-tag-in-html.patch | 32 | ||||
-rw-r--r-- | sci-mathematics/rkward/files/rkward-0.7.2-fix-hang-on-exit.patch | 28 | ||||
-rw-r--r-- | sci-mathematics/rkward/files/rkward-0.7.2-fix-hidpi.patch | 25 | ||||
-rw-r--r-- | sci-mathematics/rkward/rkward-0.7.2-r1.ebuild (renamed from sci-mathematics/rkward/rkward-0.7.2.ebuild) | 20 |
11 files changed, 577 insertions, 10 deletions
diff --git a/sci-mathematics/Manifest.gz b/sci-mathematics/Manifest.gz Binary files differindex dc597ba6ae4a..6a9d8d754519 100644 --- a/sci-mathematics/Manifest.gz +++ b/sci-mathematics/Manifest.gz diff --git a/sci-mathematics/petsc/Manifest b/sci-mathematics/petsc/Manifest index d38317e053f3..a3ef98efd069 100644 --- a/sci-mathematics/petsc/Manifest +++ b/sci-mathematics/petsc/Manifest @@ -10,6 +10,7 @@ DIST petsc-3.16.0-fftw-without-mpi.patch.bz2 5824 BLAKE2B 59615b1bbaf8ca1da92d7d DIST petsc-3.16.0.tar.gz 16748960 BLAKE2B 87f9fdb79a9c44e5f476fa4746ad0cbe72f3eda9f6039f2e4743105626701d7c8d6c010fdb9d89becf8619288d0b7a60c8bc4e2fc0793eac5b39030b02c04fd9 SHA512 5280032fb4ec4d058733788bb0ae674e7400565e204133bd10ed88a2965230ec7adeaca2d498267ce661377ca7e6f9d948992206b1d679587606cb422c004655 EBUILD petsc-3.13.1.ebuild 5477 BLAKE2B e9a396d53021669d05fab78e68b4ee29430b544eb3f3999f39d38c2e266bf487bc33375057cccd61cc693e5689cdac90ce656a0463df9426b84398dc69997203 SHA512 406f1d98dcfbed81df31f4f0bee38af47b35668f2982d7cbe97ebe4616754731c3a74bec5f823c3a89daa859f4d41d1cbef2da74ba8b5ffa260d16b2ce1139c4 EBUILD petsc-3.14.6.ebuild 5369 BLAKE2B a76974285807ac4b8375099e1ca771e5a7f9c1fb8d14d369572a4d650a16a04f1bf2d074d144667c2c5b65e9bbd49fa2543bdbf97bc09d734326d37d194a12bb SHA512 408deb64b90ebe17671c8f2b75eac0c5d4ed27964acb92c09028200647016083ac01e323faf4e163c269b611e5952e79e223022bc81d557eadf690d83933f949 +EBUILD petsc-3.15.0-r1.ebuild 5577 BLAKE2B 5b4cc59ba4c239f9990d3944c2b92c940c8b1f5bdd6e21d426c21d049c8b6a05ac42a1e7ac023d75d8d0ce5fac4c6a905224e7a55137fa9d8c9124537a15ef2d SHA512 9ae481f8b2d5860a4346d4c62f07b3a7a0c89b17849983680aa5c728ad5ceaaaafa647495c7e4d4658b2a69b36d6795f1c14b46d3af8967b1d0238c79f812754 EBUILD petsc-3.15.0.ebuild 5291 BLAKE2B 54b3b5e1dd217cde21729e55fc82b0879de9d79976c8b2c3d32aefd8c18303b91073abe50226aeffe65e8cedb78dcd21bc7a267e3959941706b144c37fcf2c16 SHA512 4639f9551500799f835c47fd8f1bc521ab624db664de50ce70436d85827c0cd11d2d01556e1238484a769af1e913c773996aa06c3824050947f1a5292e3fb8aa EBUILD petsc-3.16.0.ebuild 5425 BLAKE2B 1eac71bf09d22ef0b5b5d88d6215a08fb125e27e30823fe414e3cfa743d7b21b87b11ac9863df81db0fd9354c5ef4024f72b2f632a96f079423ef76951cc4f92 SHA512 4924b6cb7013d2ca25e86111a5c7263c682bd78ea25386f76f89a81127d45139317536beecfabbc52c1b71a93f2a9c19a4f3873eaeed188f9dd939870fe7dd31 -MISC metadata.xml 1132 BLAKE2B 97f06bc09680f9133b4c693b4d564dcf0e45a839114be1d49bda6a2adc5521b7b4236af50fab81603212456a428406a7eb78f9266be1f28367f032ce6f526cb1 SHA512 1ea1407782022a64ee166b9cb1b9408ca1c30f13fc94c3da1f2484a8ea3ae79ebe109f4c3cacaef3152360fd8eb8a2e6d9383d307b35d0e36dd193f5ec10478d +MISC metadata.xml 1179 BLAKE2B 90cac3d6419ed0cdec7da36616a778e13c6a4ada73f21fece52451fef33e42385a36017235dac0a03d48502064e52ad9f1c8155ee379feb9ac1176318020796d SHA512 4f24c102b8e0b088475e00af33255540986501d16fb0eb4a0dc67a334237c1cde964370eeed1b6e27e8c5433bc64079bfcdc80ecc9d19b71b36148f7689764d4 diff --git a/sci-mathematics/petsc/metadata.xml b/sci-mathematics/petsc/metadata.xml index 0e7b7486eb3a..f6072e8edac1 100644 --- a/sci-mathematics/petsc/metadata.xml +++ b/sci-mathematics/petsc/metadata.xml @@ -12,12 +12,13 @@ <use> <flag name="afterimage">Use Afterstep image library (media-libs/libafterimage)</flag> <flag name="boost">Use boost (dev-libs/boost)</flag> - <flag name="hypre">Use HYPRE (sci-mathematics/hypre) and for preconditioning</flag> <flag name="complex-scalars">Make scalars complex</flag> + <flag name="hypre">Use HYPRE (sci-mathematics/hypre) and for preconditioning</flag> + <flag name="int64">Use 64 bit indexes</flag> <flag name="metis">Add support for metis (<pkg>sci-libs/parmetis</pkg>)</flag> - <flag name="sparse">Use suitesparse (sci-libs/suitesparse) including cholmod (sci-libs/cholmod) for sparse factorization</flag> - <flag name="superlu">Use superlu (sci-libs/superlu) for preconditioning</flag> <flag name="mumps">Add support for mumps (<pkg>sci-libs/mumps</pkg>)</flag> <flag name="scotch">Add support for scotch (<pkg>sci-libs/scotch</pkg>)</flag> + <flag name="sparse">Use suitesparse (sci-libs/suitesparse) including cholmod (sci-libs/cholmod) for sparse factorization</flag> + <flag name="superlu">Use superlu (sci-libs/superlu) for preconditioning</flag> </use> </pkgmetadata> diff --git a/sci-mathematics/petsc/petsc-3.15.0-r1.ebuild b/sci-mathematics/petsc/petsc-3.15.0-r1.ebuild new file mode 100644 index 000000000000..5da94f15ff16 --- /dev/null +++ b/sci-mathematics/petsc/petsc-3.15.0-r1.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} pypy3 ) + +inherit flag-o-matic fortran-2 python-any-r1 toolchain-funcs + +DESCRIPTION="Portable, Extensible Toolkit for Scientific Computation" +HOMEPAGE="https://www.mcs.anl.gov/petsc" +SRC_URI="http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="afterimage boost complex-scalars cxx debug fftw +fortran hdf5 hypre int64 mpi metis mumps scotch superlu threads X" + +# readd sparse when suitesparse-5.6.0 is in tree +# sparse? ( >=sci-libs/suitesparse-5.6.0 >=sci-libs/cholmod-1.7.0 ) +# $(use_with sparse suitesparse) \ +RDEPEND=" + virtual/blas + virtual/lapack + + afterimage? ( media-libs/libafterimage ) + boost? ( dev-libs/boost ) + fftw? ( sci-libs/fftw:3.0[mpi?] ) + hdf5? ( sci-libs/hdf5[mpi?] ) + hypre? ( >=sci-libs/hypre-2.18.0[int64?,mpi?] ) + metis? ( >=sci-libs/parmetis-4 ) + mpi? ( virtual/mpi[cxx?,fortran?] ) + mumps? ( sci-libs/mumps[mpi?] sci-libs/scalapack ) + scotch? ( sci-libs/scotch[int64?,mpi?] ) + superlu? ( >=sci-libs/superlu-5 ) + X? ( x11-libs/libX11 ) +" +DEPEND=" + ${RDEPEND} + ${PYTHON_DEPS} +" +BDEPEND=" + dev-util/cmake + sys-apps/which + virtual/pkgconfig +" + +# hypre and superlu curretly exclude each other due to missing linking to hypre +# if both are enabled +REQUIRED_USE=" + afterimage? ( X ) + complex-scalars? ( !hypre !superlu ) + hdf5? ( mpi ) + hypre? ( cxx mpi !superlu ) + mumps? ( mpi scotch ) + scotch? ( mpi ) + superlu? ( !hypre ) +" +PATCHES=( + "${FILESDIR}/${PN}-3.7.0-disable-rpath.patch" + "${FILESDIR}/${PN}-3.13.0-fix_sandbox_violation.patch" +) + +# petsc uses --with-blah=1 and --with-blah=0 to en/disable options +petsc_enable() { + use "$1" && echo "--with-${2:-$1}=1" || echo "--with-${2:-$1}=0" +} +# add external library: +# petsc_with use_flag libname libdir +# petsc_with use_flag libname include linking_libs +petsc_with() { + local myuse p=${2:-${1}} + if use ${1}; then + myuse="--with-${p}=1" + if [[ $# -ge 4 ]]; then + myuse="${myuse} --with-${p}-include=${EPREFIX}${3}" + shift 3 + myuse="${myuse} --with-${p}-lib=$@" + else + myuse="${myuse} --with-${p}-dir=${EPREFIX}${3:-/usr}" + fi + else + myuse="--with-${p}=0" + fi + echo ${myuse} +} + +# select between configure options depending on use flag +petsc_select() { + use "$1" && echo "--with-$2=$3" || echo "--with-$2=$4" +} + +src_configure() { + # bug 548498 + # PETSc runs mpi processes during configure that result in a sandbox + # violation by trying to open /proc/mtrr rw. This is not easy to + # mitigate because it happens in libpciaccess.so called by libhwloc.so, + # which is used by libmpi.so. + addpredict /proc/mtrr + # if mpi is built with knem support it needs /dev/knem too + addpredict /dev/knem + + # configureMPITypes with openmpi-2* insists on accessing the scaling + # governor rw. + addpredict /sys/devices/system/cpu/ + + # bug 771711 + # configureMPIEXEC and configureMPITypes access /dev/nvidiactl + addpredict /dev/nvidiactl + + # bug 810841 + addpredict /dev/kfd + + local mylang + local myopt + + use cxx && mylang="cxx" || mylang="c" + use debug && myopt="debug" || myopt="opt" + + # environmental variables expected by petsc during build + + export PETSC_DIR="${S}" + export PETSC_ARCH="linux-gnu-${mylang}-${myopt}" + + if use debug; then + strip-flags + filter-flags -O* + fi + + tc-export AR RANLIB + + # C Support on CXX builds is enabled if possible i.e. when not using + # complex scalars (no complex type for both available at the same time) + + econf \ + scrollOutput=1 \ + AR="${AR}" \ + CFLAGS="${CFLAGS} -fPIC" \ + CPPFLAGS="${CPPFLAGS}" \ + CXXFLAGS="${CXXFLAGS} -fPIC" \ + CXXOPTFLAGS="${CXXFLAGS} -fPIC" \ + FCFLAGS="${FCFLAGS} -fPIC" \ + FFLAGS="${FFLAGS} -fPIC" \ + LDFLAGS="${LDFLAGS}" \ + MAKEFLAGS="${MAKEFLAGS}" \ + RANLIB="${RANLIB}" \ + --prefix="${EPREFIX}/usr/$(get_libdir)/petsc" \ + --with-blas-lapack-lib="$($(tc-getPKG_CONFIG) --libs blas lapack)" \ + --with-clanguage="${mylang}" \ + --with-cmake:BOOL=1 \ + --with-gnu-compilers \ + --with-imagemagick=0 \ + --with-matlab=0 \ + --with-petsc-arch="${PETSC_ARCH}" \ + --with-precision=double \ + --with-python=0 \ + --with-shared-libraries \ + --with-single-library \ + --with-windows-graphics=0 \ + $(petsc_enable debug debugging) \ + $(petsc_enable fortran) \ + $(petsc_enable mpi) \ + $(petsc_enable mpi mpi-compilers) \ + $(petsc_enable threads pthread) \ + $(petsc_select complex-scalars scalar-type complex real) \ + $(petsc_select mpi cc mpicc $(tc-getCC)) \ + $(petsc_select mpi cxx mpicxx $(tc-getCXX)) \ + $(petsc_with afterimage afterimage /usr/include/libAfterImage -lAfterImage) \ + $(petsc_with hypre hypre /usr/include/hypre -lHYPRE) \ + $(petsc_with superlu superlu /usr/include/superlu -lsuperlu) \ + $(petsc_with scotch ptscotch /usr/include/scotch [-lptesmumps,-lptscotch,-lptscotcherr,-lscotch,-lscotcherr]) \ + $(petsc_with mumps scalapack /usr/include/scalapack -lscalapack) \ + $(use cxx && ! use complex-scalars && echo "--with-c-support=1") \ + $(use fortran && echo "$(petsc_select mpi fc mpif77 $(tc-getF77))") \ + $(use int64 && echo "--with-index-size=64") \ + $(use_with boost) \ + $(use_with fftw) \ + $(use_with hdf5) \ + $(use_with mumps mumps /usr/include [-lcmumps,-ldmumps,-lsmumps,-lzmumps,-lmumps_common,-lpord]) \ + $(use_with X x) \ + $(use_with X x11) +} + +src_install() { + emake DESTDIR="${ED}" install + + # add PETSC_DIR to environmental variables + cat >> 99petsc <<- EOF + PETSC_DIR=${EPREFIX}/usr/$(get_libdir)/petsc + LDPATH=${EPREFIX}/usr/$(get_libdir)/petsc/lib + EOF + doenvd 99petsc +} diff --git a/sci-mathematics/rkward/Manifest b/sci-mathematics/rkward/Manifest index d5fff1a396c3..1bcb6366b515 100644 --- a/sci-mathematics/rkward/Manifest +++ b/sci-mathematics/rkward/Manifest @@ -1,3 +1,8 @@ +AUX rkward-0.7.2-fix-crash-w-R-4.1.0.patch 3018 BLAKE2B a9d62357819b3c6f0a81f217bb9153483b9524946b0aa38fe4110be6b05c008fc67c68610969c5b4c9aff4e35f3062cc8f5c5452f789d1d29ba01adc80dd43ae SHA512 510bd191a6c9f4ffe2c30fac6af58889fe8fdeb08db37fadd6c20d61f268a6fa412b6248d569b8baaecb095f9a6d330cf2619e2fb22e01d2111a85edeb1b2c78 +AUX rkward-0.7.2-fix-dark-themes.patch 6435 BLAKE2B 9a1ee63898e04cb7147b178c2aedb7fcc0b035dd622197ade838e711aba7d19e9894377c624d4b330b15b010c161271d47fc22ebd660ad42ae053215be3f6031 SHA512 a093deab26f2f2d5284069940b89cd2744c7b9d3b8c4b8eddd9ad2cda1cd5f221db08c30c3bde84f024b3d551307e45ad7383fe597582350b6e1230faea26208 +AUX rkward-0.7.2-fix-eop-tag-in-html.patch 1937 BLAKE2B 3fe2bdd853d370aaa3a52c4cb3f8edb2a93788f932c4af0232e9c9b14b5acf42e8f157f673a4a776fa2b807ee261e2bae4c4751db4a03ec7099a8704bf5ae4da SHA512 9f9cf1377e52009d586869caab1d556998007da6a529d8207e40c62597b6053ca3e98b852d3bfa0e1ede271367ab4811a73a56f4651a551fde4d84b29d3105ff +AUX rkward-0.7.2-fix-hang-on-exit.patch 1405 BLAKE2B 66655ba68e1f2b09e35b179817f74f6a26aff7e153a9bd9a3beff2bc48ccaf70793a15f96616f38101b6d103103787d723f18b22d6b300f4a46b01dc501efbb4 SHA512 af893064c7999e10e3672818e5803740b345d0e8bfb396306eb29ac04a8a44879e8a90ecfab22a51b807a00d0975c420651e6654b0b86dae9bd35e9f66bd03bf +AUX rkward-0.7.2-fix-hidpi.patch 809 BLAKE2B f855f8de2e4fcf0ff70676a3f0b0684c2d1d4a5a85a9946824522c9b40afb8d3c233fc9d0c65a5b50a3969b4984bd314024e525464ae0fa67bb2a8c2c9975958 SHA512 4d856bae8ab9397f9efaf5ce581466ef5a6735d67b5348114f12a3446f09148e966c4562e657b872d37a0d4d1d35cd402d91372731bfc20266ef5d84fc8d5d0e DIST rkward-0.7.2.tar.gz 6307769 BLAKE2B df72d5d03ecbb57cb08787cc27e66cfacca517a08ca10190c1bb0d627f991dab6b79e9399b0b6c38a545d370d0ecdc8fc5796c1e046a0aac20c0485405a2d72c SHA512 af872b59dea8535eb6ddc0b3db56c45114fc64b0b657e5c8373eb2f7b3a63aa13f9e3c8f6050ff3eff0126df595ed30e1d1e66b91c19b7ba950838613798cb6d -EBUILD rkward-0.7.2.ebuild 1184 BLAKE2B 3f8e94de58512407bdb4ae8f5ad805e0fb45f60a9919df1d7aacf8330c731bb7aedd67b6a02a34298830dae81c342d88c38acc7296cb0741d9ff6e7d6c65317f SHA512 c3f8bc8b541e6c6cdf5f8cfa93b14d1c035ae7d3d6ce4659b1c378aa61fadba2e704d7d78d9bf1f6c52cff75d60e202f1b881ce22ce8e12f9400b60d2903e029 +EBUILD rkward-0.7.2-r1.ebuild 1668 BLAKE2B f0167baabfa4c85bec0f1057eba552577a7e6ce8b3a03f9ca40a8cc21587892a7094c19c103ebd7af03c30ac3ddff5cf63c5b92cb6fad11d2164929a4ef66f76 SHA512 aa9a0e5627ac4b7cd3af3935d9988a6a4b93c6ea2572d442ecd01b367262fd519cb6dec9fa02d7bf8bb1d663810e59acb4a51afe76b0c0b40bc9b8e499d1f995 MISC metadata.xml 448 BLAKE2B c43701b135281f800da40813b11df123d5088bfa0beb3e0700ba354e991ec18aac267dc0a0f3d206bdd06eef5d50f78378a107f05d1f01d17b0d409e632066de SHA512 b9b3c376714fc5c81008caed25794d262d2d60cafbd3fcdccfeccdf9666b16dbb09f1d06025526c8304c640e150492b685df95f200002e8ef41aed609b0893a8 diff --git a/sci-mathematics/rkward/files/rkward-0.7.2-fix-crash-w-R-4.1.0.patch b/sci-mathematics/rkward/files/rkward-0.7.2-fix-crash-w-R-4.1.0.patch new file mode 100644 index 000000000000..2cc50575672b --- /dev/null +++ b/sci-mathematics/rkward/files/rkward-0.7.2-fix-crash-w-R-4.1.0.patch @@ -0,0 +1,99 @@ +From 157207b915647cd8600c616cf6dfed8f83ecff30 Mon Sep 17 00:00:00 2001 +From: Thomas Friedrichsmeier <thomas.friedrichsmeier@kdemail.net> +Date: Sat, 26 Jun 2021 22:16:22 +0200 +Subject: [PATCH] Add dummies for the new R graphics functions to avoid crash. + +This is not a proper implementation, yet. + +CCBUG: https://bugs.kde.org/show_bug.cgi?id=438993 +--- + ChangeLog | 3 ++ + .../rkwarddevice/rkgraphicsdevice_setup.cpp | 15 +++++++- + .../rkwarddevice/rkgraphicsdevice_stubs.cpp | 36 +++++++++++++++++++ + 3 files changed, 53 insertions(+), 1 deletion(-) + +diff --git a/ChangeLog b/ChangeLog +index 0210df6e..ae17bc62 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,6 @@ ++--- Version 0.7.2b - UNRELEASED ++- Fixed: Crash when attempting to use new graphics features in R 4.1.0 (esp. plotting using ggplot2) ++ + --- Version 0.7.2 - Oct-16-2020 + - Script preview keeps vertical scroll position when updating + - Python development scripts have been ported to python3 +diff --git a/rkward/rbackend/rkwarddevice/rkgraphicsdevice_setup.cpp b/rkward/rbackend/rkwarddevice/rkgraphicsdevice_setup.cpp +index 9909639f..e215c090 100644 +--- a/rkward/rbackend/rkwarddevice/rkgraphicsdevice_setup.cpp ++++ b/rkward/rbackend/rkwarddevice/rkgraphicsdevice_setup.cpp +@@ -216,6 +216,19 @@ bool RKGraphicsDeviceDesc::init (pDevDesc dev, double pointsize, const QStringLi + #endif + dev->newFrameConfirm = RKD_NewFrameConfirm; + ++#if R_VERSION >= R_Version (2, 14, 0) ++ dev->holdflush = RKD_HoldFlush; ++#endif ++ ++#if R_VERSION >= R_Version (4, 1, 0) ++ dev->setPattern = RKD_SetPattern; ++ dev->releasePattern = RKD_ReleasePattern; ++ dev->setClipPath = RKD_SetClipPath; ++ dev->releaseClipPath = RKD_ReleaseClipPath; ++ dev->setMask = RKD_SetMask; ++ dev->releaseMask = RKD_ReleaseMask; ++ dev->deviceVersion = 14; ++ dev->deviceClip = FALSE; // for now ++#endif + return true; + } +- +diff --git a/rkward/rbackend/rkwarddevice/rkgraphicsdevice_stubs.cpp b/rkward/rbackend/rkwarddevice/rkgraphicsdevice_stubs.cpp +index 716a9511..b7be1609 100644 +--- a/rkward/rbackend/rkwarddevice/rkgraphicsdevice_stubs.cpp ++++ b/rkward/rbackend/rkwarddevice/rkgraphicsdevice_stubs.cpp +@@ -579,5 +579,41 @@ void RKD_onExit (pDevDesc dev) { + } + dev->gettingEvent = (Rboolean) false; + } ++#endif ++ ++#if R_VERSION >= R_Version (2, 14, 0) ++int RKD_HoldFlush (pDevDesc dev, int level) { ++#warning implement me ++ return 0; ++} ++#endif ++ ++#if R_VERSION >= R_Version (4, 1, 0) ++SEXP RKD_SetPattern (SEXP pattern, pDevDesc dd) { ++#warning implement me ++ return R_NilValue; ++} ++ ++void RKD_ReleasePattern (SEXP ref, pDevDesc dd) { ++#warning implement me ++} ++ ++SEXP RKD_SetClipPath (SEXP path, SEXP ref, pDevDesc dd) { ++#warning implement me ++ return R_NilValue; ++} ++ ++void RKD_ReleaseClipPath (SEXP ref, pDevDesc dd) { ++#warning implement me ++} ++ ++SEXP RKD_SetMask (SEXP path, SEXP ref, pDevDesc dd) { ++#warning implement me ++ return R_NilValue; ++} ++ ++void RKD_ReleaseMask (SEXP ref, pDevDesc dd) { ++#warning implement me ++} + + #endif +-- +GitLab + diff --git a/sci-mathematics/rkward/files/rkward-0.7.2-fix-dark-themes.patch b/sci-mathematics/rkward/files/rkward-0.7.2-fix-dark-themes.patch new file mode 100644 index 000000000000..005285e281bf --- /dev/null +++ b/sci-mathematics/rkward/files/rkward-0.7.2-fix-dark-themes.patch @@ -0,0 +1,172 @@ +From 5d64b6d23f19f4307fca2d79838bb6e1e38c7f36 Mon Sep 17 00:00:00 2001 +From: Nick Panayioto <npanayioto3@gmail.com> +Date: Thu, 28 Oct 2021 05:31:00 -0400 +Subject: [PATCH] Change plugin widgets that set their colors to use + setStyleSheet, then clear the style sheet to restore the default color. + +This looks the same on light themes and makes dark themes not use white text on white background. + +BUG: 389914 +--- + rkward/misc/getfilenamewidget.cpp | 8 ++------ + rkward/misc/getfilenamewidget.h | 2 +- + rkward/misc/rksaveobjectchooser.cpp | 6 ++---- + rkward/misc/rksaveobjectchooser.h | 2 +- + rkward/plugin/rkinput.cpp | 8 +++----- + rkward/plugin/rkpluginbrowser.cpp | 8 ++++---- + rkward/plugin/rkpluginsaveobject.cpp | 4 ++-- + rkward/plugin/rkvarslot.cpp | 7 +++---- + 8 files changed, 18 insertions(+), 27 deletions(-) + +diff --git a/rkward/misc/getfilenamewidget.cpp b/rkward/misc/getfilenamewidget.cpp +index 6b7f1d26..a439b8a4 100644 +--- a/rkward/misc/getfilenamewidget.cpp ++++ b/rkward/misc/getfilenamewidget.cpp +@@ -137,11 +137,7 @@ QString GetFileNameWidget::getLocation () { + return (edit->url ().url ()); + } + +-void GetFileNameWidget::setBackgroundColor (const QColor & color) { ++void GetFileNameWidget::setStyleSheet (const QString & style) { + RK_TRACE (MISC); +- +- QPalette palette = edit->lineEdit ()->palette (); +- palette.setColor (edit->lineEdit ()->backgroundRole (), color); +- edit->lineEdit ()->setPalette (palette); ++ edit->setStyleSheet(style); + } +- +diff --git a/rkward/misc/getfilenamewidget.h b/rkward/misc/getfilenamewidget.h +index ecbf1364..71390667 100644 +--- a/rkward/misc/getfilenamewidget.h ++++ b/rkward/misc/getfilenamewidget.h +@@ -41,7 +41,7 @@ public: + /** set the filename/location from outside */ + void setLocation (const QString &new_location); + +- void setBackgroundColor (const QColor & color); ++ void setStyleSheet (const QString &style); + + /** retrieves the current location */ + QString getLocation (); +diff --git a/rkward/misc/rksaveobjectchooser.cpp b/rkward/misc/rksaveobjectchooser.cpp +index 5d53111d..157f6940 100644 +--- a/rkward/misc/rksaveobjectchooser.cpp ++++ b/rkward/misc/rksaveobjectchooser.cpp +@@ -194,12 +194,10 @@ void RKSaveObjectChooser::updateState () { + } + } + +-void RKSaveObjectChooser::setBackgroundColor (const QColor &color) { ++void RKSaveObjectChooser::setStyleSheet (const QString &style) { + RK_TRACE (MISC); + +- QPalette palette = name_edit->palette (); +- palette.setColor (name_edit->backgroundRole (), color); +- name_edit->setPalette (palette); ++ name_edit->setStyleSheet(style); + } + + QString RKSaveObjectChooser::currentBaseName () const { +diff --git a/rkward/misc/rksaveobjectchooser.h b/rkward/misc/rksaveobjectchooser.h +index c5da85c8..3cc56a85 100644 +--- a/rkward/misc/rksaveobjectchooser.h ++++ b/rkward/misc/rksaveobjectchooser.h +@@ -37,7 +37,7 @@ public: + QString currentBaseName () const; + bool isOk () const; + void setBaseName (const QString &name); +- void setBackgroundColor (const QColor &color); ++ void setStyleSheet (const QString &style); + RObject* rootObject () const { return root_object; }; + void setRootObject (RObject* new_root); + private slots: +diff --git a/rkward/plugin/rkinput.cpp b/rkward/plugin/rkinput.cpp +index fdbab36a..a1a03ebd 100644 +--- a/rkward/plugin/rkinput.cpp ++++ b/rkward/plugin/rkinput.cpp +@@ -96,17 +96,15 @@ void RKInput::updateColor () { + if (!widget) widget = textedit; + RK_ASSERT (widget); + +- QPalette palette = widget->palette (); + if (isEnabled ()) { + if (isSatisfied ()) { +- palette.setColor (widget->backgroundRole (), QColor (255, 255, 255)); ++ widget->setStyleSheet(""); + } else { +- palette.setColor (widget->backgroundRole (), QColor (255, 0, 0)); ++ widget->setStyleSheet("background: red; color: black"); + } + } else { +- palette.setColor (widget->backgroundRole (), QColor (200, 200, 200)); ++ widget->setStyleSheet("background: rgb(200, 200, 200); color: black"); + } +- widget->setPalette (palette); + } + + void RKInput::requirednessChanged (RKComponentPropertyBase *) { +diff --git a/rkward/plugin/rkpluginbrowser.cpp b/rkward/plugin/rkpluginbrowser.cpp +index 9612acb5..ff862d16 100644 +--- a/rkward/plugin/rkpluginbrowser.cpp ++++ b/rkward/plugin/rkpluginbrowser.cpp +@@ -184,14 +184,14 @@ void RKPluginBrowser::updateColor () { + + if (isEnabled ()) { + if (status == RKComponentBase::Satisfied) { +- selector->setBackgroundColor (QColor (255, 255, 255)); ++ selector->setStyleSheet (QString ("")); + } else if (status == RKComponentBase::Processing) { +- selector->setBackgroundColor (QColor (255, 255, 0)); ++ selector->setStyleSheet (QString ("background: yellow; color: black")); + } else { +- selector->setBackgroundColor (QColor (255, 0, 0)); ++ selector->setStyleSheet (QString ("background: red; color: black")); + } + } else { +- selector->setBackgroundColor (QColor (200, 200, 200)); ++ selector->setStyleSheet (QString ("background: rgb(200, 200, 200); color: black")); + } + } + +diff --git a/rkward/plugin/rkpluginsaveobject.cpp b/rkward/plugin/rkpluginsaveobject.cpp +index 7c084a99..52b9d867 100644 +--- a/rkward/plugin/rkpluginsaveobject.cpp ++++ b/rkward/plugin/rkpluginsaveobject.cpp +@@ -82,8 +82,8 @@ RKPluginSaveObject::~RKPluginSaveObject () { + void RKPluginSaveObject::update () { + RK_TRACE (PLUGIN); + +- if (isSatisfied ()) selector->setBackgroundColor (QColor (255, 255, 255)); +- else selector->setBackgroundColor (QColor (255, 0, 0)); ++ if (isSatisfied ()) selector->setStyleSheet(QString("")); ++ else selector->setStyleSheet(QString("background: red; color: black")); + changed (); + } + +diff --git a/rkward/plugin/rkvarslot.cpp b/rkward/plugin/rkvarslot.cpp +index bc250b25..6a2ae601 100644 +--- a/rkward/plugin/rkvarslot.cpp ++++ b/rkward/plugin/rkvarslot.cpp +@@ -183,15 +183,14 @@ void RKVarSlot::updateLook () { + + QPalette palette = list->palette (); + if (!isSatisfied ()) { // implies that it is enabled +- palette.setColor (QPalette::Base, QColor (255, 0, 0)); ++ list->setStyleSheet(QString("background: red; color: black")); + } else { + if (isEnabled ()) { +- palette.setColor (QPalette::Base, QColor (255, 255, 255)); ++ list->setStyleSheet(QString("")); + } else { +- palette.setColor (QPalette::Base, QColor (200, 200, 200)); ++ list->setStyleSheet(QString("background: rgb(200, 200, 200); color: black")); + } + } +- list->setPalette(palette); + } + + void RKVarSlot::changeEvent (QEvent* event) { +-- +GitLab + diff --git a/sci-mathematics/rkward/files/rkward-0.7.2-fix-eop-tag-in-html.patch b/sci-mathematics/rkward/files/rkward-0.7.2-fix-eop-tag-in-html.patch new file mode 100644 index 000000000000..bd95490cbe4c --- /dev/null +++ b/sci-mathematics/rkward/files/rkward-0.7.2-fix-eop-tag-in-html.patch @@ -0,0 +1,32 @@ +From 5f8fb9cd211f0e12ef40a0fc34a42c31f2a24475 Mon Sep 17 00:00:00 2001 +From: Johnny Jazeix <jazeix@gmail.com> +Date: Tue, 7 Dec 2021 19:03:19 +0100 +Subject: [PATCH] fix end of paragraph tag in html for the rksetupwizard + +--- + rkward/dialogs/rksetupwizard.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/rkward/dialogs/rksetupwizard.cpp b/rkward/dialogs/rksetupwizard.cpp +index b14e06ec..e4787793 100644 +--- a/rkward/dialogs/rksetupwizard.cpp ++++ b/rkward/dialogs/rksetupwizard.cpp +@@ -130,12 +130,12 @@ RKSetupWizard::RKSetupWizard(QWidget* parent, InvokationReason reason, const QLi + auto l = new QVBoxLayout(firstpage); + QString intro = i18n("<p>This dialog will guide you through a quick check of the basic setup of the required (or recommended) components.</p>"); + if (reason == NewVersionRKWard) { +- intro += i18n("<p>The setup assistant has been invoked, automatically, because a new version of RKWard has been detected.</p"); ++ intro += i18n("<p>The setup assistant has been invoked, automatically, because a new version of RKWard has been detected.</p>"); + } else if (reason == NewVersionR) { + // TODO: invoke this! +- intro += i18n("<p>The setup assistant has been invoked, automatically, because a new version of R has been detected.</p"); ++ intro += i18n("<p>The setup assistant has been invoked, automatically, because a new version of R has been detected.</p>"); + } else if (reason == ProblemsDetected) { +- intro += i18n("<p>The setup assistant has been invoked, automatically, because a problem has been detected in your setup.</p"); ++ intro += i18n("<p>The setup assistant has been invoked, automatically, because a problem has been detected in your setup.</p>"); + } + l->addWidget(RKCommonFunctions::wordWrappedLabel(intro)); + auto waiting_to_start_label = RKCommonFunctions::wordWrappedLabel(i18n("<b>Waiting for R backend...</b>") + "<p> </p><p> </p>"); +-- +GitLab + diff --git a/sci-mathematics/rkward/files/rkward-0.7.2-fix-hang-on-exit.patch b/sci-mathematics/rkward/files/rkward-0.7.2-fix-hang-on-exit.patch new file mode 100644 index 000000000000..1ce37d11ffeb --- /dev/null +++ b/sci-mathematics/rkward/files/rkward-0.7.2-fix-hang-on-exit.patch @@ -0,0 +1,28 @@ +From 4f17155eae5b81246e8172a80b9421ec0ad22bed Mon Sep 17 00:00:00 2001 +From: Thomas Friedrichsmeier <thomas.friedrichsmeier@kdemail.net> +Date: Tue, 12 Jan 2021 09:21:29 +0100 +Subject: [PATCH] Fix hang on exit. + +(Not sure, whether there are other potential hang conditions on exit, but this is one.) + +BUG: 430680 +--- + rkward/rbackend/rkrbackendprotocol_frontend.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rkward/rbackend/rkrbackendprotocol_frontend.cpp b/rkward/rbackend/rkrbackendprotocol_frontend.cpp +index c46ed5de..e5cf5d68 100644 +--- a/rkward/rbackend/rkrbackendprotocol_frontend.cpp ++++ b/rkward/rbackend/rkrbackendprotocol_frontend.cpp +@@ -42,7 +42,7 @@ RKRBackendProtocolFrontend::~RKRBackendProtocolFrontend () { + RKFrontendTransmitter::instance ()->wait(1000); // Wait for thread to catch the backend's exit request, and exit() + RKFrontendTransmitter::instance ()->quit(); // Tell it to quit, otherwise + RKFrontendTransmitter::instance ()->wait(3000); // Wait for thread to quit and clean up. +- qApp->processEvents(); // Not strictly needed, but avoids some mem leaks on exit by handling all posted BackendExit events ++ qApp->processEvents(QEventLoop::AllEvents, 500); // Not strictly needed, but avoids some mem leaks on exit by handling all posted BackendExit events + delete RKFrontendTransmitter::instance (); + } + +-- +GitLab + diff --git a/sci-mathematics/rkward/files/rkward-0.7.2-fix-hidpi.patch b/sci-mathematics/rkward/files/rkward-0.7.2-fix-hidpi.patch new file mode 100644 index 000000000000..cff7b60f1951 --- /dev/null +++ b/sci-mathematics/rkward/files/rkward-0.7.2-fix-hidpi.patch @@ -0,0 +1,25 @@ +From f34cb38798e8a7d3f9a39f26be4ecab3013ea57c Mon Sep 17 00:00:00 2001 +From: Nicolas Fella <nicolas.fella@gmx.de> +Date: Tue, 5 Oct 2021 22:36:30 +0200 +Subject: [PATCH] Enable highdpi pixmaps + +This fixes icons being pixelated on highdpi screens +--- + rkward/main.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/rkward/main.cpp b/rkward/main.cpp +index 8eafd25c..7dcb34a5 100644 +--- a/rkward/main.cpp ++++ b/rkward/main.cpp +@@ -239,6 +239,7 @@ QString resolveRSpecOrFail (QString input, QString message) { + + int main (int argc, char *argv[]) { + RK_Debug::RK_Debug_Level = DL_WARNING; ++ QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); + #ifndef NO_QT_WEBENGINE + // annoyingly, QWebEngineUrlSchemes have to be registered before creating the app. + QWebEngineUrlScheme scheme("help"); +-- +GitLab + diff --git a/sci-mathematics/rkward/rkward-0.7.2.ebuild b/sci-mathematics/rkward/rkward-0.7.2-r1.ebuild index e6b9d0f01284..80ead3401703 100644 --- a/sci-mathematics/rkward/rkward-0.7.2.ebuild +++ b/sci-mathematics/rkward/rkward-0.7.2-r1.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 ECM_HANDBOOK="forceoptional" inherit ecm kde.org optfeature @@ -18,9 +18,6 @@ LICENSE="GPL-2+ LGPL-2" SLOT="5" IUSE="" -BDEPEND=" - sys-devel/gettext -" DEPEND=" dev-lang/R dev-qt/qtgui:5 @@ -47,8 +44,21 @@ DEPEND=" kde-frameworks/kxmlgui:5 " RDEPEND="${DEPEND}" +BDEPEND="sys-devel/gettext" + +PATCHES=( + "${FILESDIR}"/${P}-fix-crash-w-R-4.1.0.patch # KDE-bug 438993 + "${FILESDIR}"/${P}-fix-hang-on-exit.patch # KDE-bug 430680 + "${FILESDIR}"/${P}-fix-dark-themes.patch # KDE-bug 389914 + "${FILESDIR}"/${P}-fix-eop-tag-in-html.patch + "${FILESDIR}"/${P}-fix-hidpi.patch +) pkg_postinst() { - optfeature "kate plugins support" kde-apps/kate:${SLOT} + if [[ -z "${REPLACING_VERSIONS}" ]]; then + optfeature "kate plugins support" "kde-apps/kate:${SLOT}" + optfeature "prendering (or previewing) R markdown (.Rmd) files" "app-text/pandoc" + optfeature "managing citations while writing articles" "app-text/kbibtex" + fi ecm_pkg_postinst } |