summaryrefslogtreecommitdiff
path: root/sci-mathematics
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-12-24 14:11:38 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-12-24 14:11:38 +0000
commitde49812990871e1705b64051c35161d5e6400269 (patch)
tree5e1e8fcb0ff4579dbd22a1bfee28a6b97dc8aaeb /sci-mathematics
parent536c3711867ec947c1738f2c4b96f22e4863322d (diff)
gentoo resync : 24.12.2018
Diffstat (limited to 'sci-mathematics')
-rw-r--r--sci-mathematics/Manifest.gzbin15000 -> 15000 bytes
-rw-r--r--sci-mathematics/alt-ergo/Manifest2
-rw-r--r--sci-mathematics/alt-ergo/alt-ergo-1.30.ebuild4
-rw-r--r--sci-mathematics/pspp/Manifest2
-rw-r--r--sci-mathematics/pspp/pspp-1.2.0.ebuild79
-rw-r--r--sci-mathematics/rstudio/Manifest5
-rw-r--r--sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p1.patch680
-rw-r--r--sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p2.patch167
-rw-r--r--sci-mathematics/rstudio/files/rstudio-1.1.463-fix-ptr-int-compare.patch13
-rw-r--r--sci-mathematics/rstudio/rstudio-1.1.463.ebuild253
-rw-r--r--sci-mathematics/why3-for-spark/Manifest4
-rw-r--r--sci-mathematics/why3-for-spark/why3-for-spark-2017.ebuild4
-rw-r--r--sci-mathematics/why3-for-spark/why3-for-spark-2018.ebuild4
-rw-r--r--sci-mathematics/wxmaxima/Manifest2
-rw-r--r--sci-mathematics/wxmaxima/wxmaxima-18.11.4.ebuild52
-rw-r--r--sci-mathematics/z3/Manifest4
-rw-r--r--sci-mathematics/z3/metadata.xml3
-rw-r--r--sci-mathematics/z3/z3-4.8.3.ebuild108
18 files changed, 1376 insertions, 10 deletions
diff --git a/sci-mathematics/Manifest.gz b/sci-mathematics/Manifest.gz
index b6fc1110c26e..721551e502ba 100644
--- a/sci-mathematics/Manifest.gz
+++ b/sci-mathematics/Manifest.gz
Binary files differ
diff --git a/sci-mathematics/alt-ergo/Manifest b/sci-mathematics/alt-ergo/Manifest
index e288d953f615..bb9077b89f00 100644
--- a/sci-mathematics/alt-ergo/Manifest
+++ b/sci-mathematics/alt-ergo/Manifest
@@ -1,3 +1,3 @@
DIST alt-ergo-1.30.tar.gz 380329 BLAKE2B fab16757ed110474cf8f9d01ab53f76b6a300eb478b32bbfd6bb79d7603b1f5c2fc5c97bf44358eb138283f3487ef90febd23865723a4721b01bd870cfdd6507 SHA512 6ac6abdc6602b0ba89ee58eb96c66ac93e8195e0b4f75595381eded86365c2dd881251de2b77e2f1137684651ddc7fd94f922509de0be2964d81f52a6fb0f2f2
-EBUILD alt-ergo-1.30.ebuild 733 BLAKE2B 7d97a0a5ac57ba2c10c670906c2273a15f44ca993120b99675ccf5d0bdaee4ef77f5f4ee5517ac851675ec79b473b10679ea829e35159516f9179f7976a783b5 SHA512 9e171c46a0d4a5ff2de3de321cec8582d3dbec05d2d4f6fdd4c4429c7bf4078f625a380c7a7dd41e707922cb3209a3b5d7674808eb1628c50fb54e63658a7b94
+EBUILD alt-ergo-1.30.ebuild 729 BLAKE2B 0084ec01dae4d2721c5feefa73bc8fb0143be410769201db6d7b9672cdfb3fa623546f60da5bf1f235d35e264a6f4edae9dc21e04988acbf6a0fbdc8584661a2 SHA512 cc7669a3e7e44fd029b14faf7f912a45b8a5cf4a6570e3e116ace9a8fbd20bae20f00c75aa22129eb77b7f4efe3d1ad37f1a27beb67b6d9e3a6ec8f48ded5962
MISC metadata.xml 670 BLAKE2B 5f03c359cb298cc9a0fea6ef3a5deb092e5ccca7acfb2b7a5630303659bfd853fe86277ebbfb1fb7b6677d45dde2d5c68d55fffa8d3d8187acac3765f52df7c9 SHA512 9e514e4da2b92aa1e8e8e084450f478b51947172b689664dfe6c0fe0eb139e278e13689c8ba53825cb3bc32140cfd4cd7a68fede0d013cd065d5339d34931e8d
diff --git a/sci-mathematics/alt-ergo/alt-ergo-1.30.ebuild b/sci-mathematics/alt-ergo/alt-ergo-1.30.ebuild
index 8126e7e63d8e..e5229fc89224 100644
--- a/sci-mathematics/alt-ergo/alt-ergo-1.30.ebuild
+++ b/sci-mathematics/alt-ergo/alt-ergo-1.30.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -9,7 +9,7 @@ SRC_URI="https://alt-ergo.ocamlpro.com/http/${P}/${P}.tar.gz"
LICENSE="CeCILL-C"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="examples gtk +ocamlopt"
DEPEND=">=dev-lang/ocaml-3.12.1[ocamlopt?]
diff --git a/sci-mathematics/pspp/Manifest b/sci-mathematics/pspp/Manifest
index eb9a27b93097..3ddca98e110f 100644
--- a/sci-mathematics/pspp/Manifest
+++ b/sci-mathematics/pspp/Manifest
@@ -1,6 +1,8 @@
AUX 50pspp-gentoo.el 171 BLAKE2B 32091c8c9db265cb3c37cae7a718128df3d187e01b6c0685ff929e7dbe1bf92b8759f0920264c786ad250e9c72724fba6ec0b22ee1c39802fc3aaf3b51720665 SHA512 3e50a08018a0892df4beb400041ec682c94446b4e05ce7d5907ef20eace5426245e684160e85c8629650b8a911e92ef98200638dea1f12d0304fb4e1a8db5883
DIST pspp-0.10.1.tar.gz 7269109 BLAKE2B 5f488b1bbe9d4cf833d847cd035485827e7e518fb82f0e5df98418e919da54553475e91fd8529df8819ee71d853fb8bdd079e27a9b8587b40074701a7d71a8c2 SHA512 a7f4eec3858340743ff845e67028af76d79a58968ceaa19a87e0443751917b2d70251e53231ecce15c937c9640ac733e00603baa76b4266d693375ab70b870b5
DIST pspp-0.10.2.tar.gz 7316470 BLAKE2B 9bbccfc8151d83613f5c4f49f285959c6b9e74bdc99edb95dc719561fb05c01e54b10fc5b3a58b9e5beeae199235d0d936a6ee08277fe7c710c3e40ca6c389f7 SHA512 7d6656c03da46b088e87cba7a947d1e56031ff50d704be8201a38563515cf5cf324a05f1d4999ba8aec7b2269a8fdbd09374a11374c9c1b9dd6d78d34fda4b76
+DIST pspp-1.2.0.tar.gz 7213194 BLAKE2B f468c6e025f996c9f806fb03e94a4497f02b774c509457cc6295bbefe37abc7e2ecf10d2876c8cff9a979d7a4264c7c185e1cec5fd1d5f2f00f1c6eae4da775e SHA512 49eed2b55f10584abba18ff7d2020fd08691bbc1a3c2f332e6d283e32aa84e0abdae6092d17db9c1a539c63d85ecdfcc2dad40c94a06904b8893a1976e5e48d3
EBUILD pspp-0.10.1.ebuild 1661 BLAKE2B 62421db5cd1428a92bc6b5cb287fd83c1dd7f45bf89b8e802ea00feb951d77fcf466dc7136d2b9e24c40d247ab14de8476e9b1e9e8dad3a0b653198ebe6e6d27 SHA512 3d973985731036f3d9c4858cd5aa58cd1159c64a2f5f4f6f7ec48f00034c4340a9cbfe203a90228529d2a4677004b5da69c488a1a2683224e5450d3ed276dd29
EBUILD pspp-0.10.2.ebuild 1663 BLAKE2B e3c38277b867d5a942021fc6341e4b99955ffbf11f9374e295580bdabca64330c6a3fe3da4c86ef80d678c7c3f066f6670e27d771d0810147832707043171357 SHA512 0279462e9e548d042a50f92adf568aaccc8286c90146cc904a1ee2b962b320f229cf24d96fd23fb86fb2898781e7548586815266f16c94a868106db654f90b35
+EBUILD pspp-1.2.0.ebuild 1692 BLAKE2B d239fc728f345c66c800869ed66e2baf4610474a601c5b3d40b1e32721ac5b903bbea5f0637acb2a9c283776035eabb439e2229e07132131a96974bf91588379 SHA512 feb98a4be0ab341c433982d38a77e3c9bda8ff2f74b14f58c7d07e030af2d6fbb9cc496c3f4e217ba7b54883d5f5a487964b7be8754ef96165428f3623dbdfbb
MISC metadata.xml 712 BLAKE2B 6420e22ac8d854a6c30600eb061ea52787980f5bc9d4e7d9a6d4ec93d45949b1bcde5acbb46632dc2ce837455430760531e6ee1402565b2219f74d3112eb2492 SHA512 a94036498ca6905c251617d7a60c295e0deca5199a6e9003e4e5df66f8d156aa397ca8428e7bb066860423acd2a317a4286bf2bc3e9655e7d361861a6b4e8acc
diff --git a/sci-mathematics/pspp/pspp-1.2.0.ebuild b/sci-mathematics/pspp/pspp-1.2.0.ebuild
new file mode 100644
index 000000000000..85f03f048b0b
--- /dev/null
+++ b/sci-mathematics/pspp/pspp-1.2.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils elisp-common
+
+DESCRIPTION="Program for statistical analysis of sampled data"
+HOMEPAGE="https://www.gnu.org/software/pspp/pspp.html"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cairo doc emacs examples gtk ncurses nls perl postgres static-libs"
+
+RDEPEND="
+ dev-libs/libxml2:2=
+ sci-libs/gsl:0=
+ sys-devel/gettext:0=
+ sys-libs/readline:0=
+ sys-libs/zlib:0=
+ virtual/libiconv
+ cairo? ( x11-libs/cairo:0=[svg] )
+ emacs? ( virtual/emacs )
+ gtk? (
+ x11-libs/gtk+:3=
+ x11-libs/gtksourceview:3.0=
+ x11-libs/spread-sheet-widget )
+ ncurses? ( sys-libs/ncurses:0= )
+ postgres? ( dev-db/postgresql:=[server] )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( virtual/latex-base )"
+
+SITEFILE=50${PN}-gentoo.el
+
+src_configure() {
+ econf \
+ $(use_enable nls) \
+ $(use_enable static-libs static) \
+ $(use_with cairo) \
+ $(use_with gtk gui) \
+ $(use_with ncurses libncurses) \
+ $(use_with perl perl-module) \
+ $(use_with postgres libpq)
+}
+
+src_compile() {
+ default
+ use doc && emake html pdf
+ use emacs && elisp-compile *.el
+}
+
+src_install() {
+ default
+ if use doc; then
+ dodoc doc/pspp{,-dev}.pdf
+ insinto /usr/share/doc/${PF}/html
+ dodoc -r doc/pspp{,-dev}.html
+ fi
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+ if use emacs; then
+ elisp-install ${PN} *.el *.elc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+ prune_libtool_files --all
+}
+
+pkg_postinst () {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sci-mathematics/rstudio/Manifest b/sci-mathematics/rstudio/Manifest
index 5be238bfddb2..d8009dea58fb 100644
--- a/sci-mathematics/rstudio/Manifest
+++ b/sci-mathematics/rstudio/Manifest
@@ -7,6 +7,9 @@ AUX rstudio-1.0.44-systemd.patch 1147 BLAKE2B ca1b24c2544ff2cb6b9e7a91b4ce25eda7
AUX rstudio-1.1.357-clang-pandoc.patch 3240 BLAKE2B bc7f55d2f2cea64643d02af314afbbd0df1d986889d0d3a2bbf6878e9f8ec7d73710c7e631bf0cbf04b4ecf4142236ef7a1dc0a073d34958a8bd0828594f605d SHA512 3a2fc154f934b4bbd92df6359dc26c27bf2f4f06b2dde572faba3c083879c8e0e98ed776701282d9f3a5cb3f4ac2416e04e6a30beedf4ffa5cbeca3a7e72421b
AUX rstudio-1.1.453-boost-1.67.0.patch 1920 BLAKE2B d360259929a73ca6ed7b59997e34dfb2f40992ad6a25372fa2465d07c6df93838d62f5c9dd54b3b45850056bdcba24d20f84eda9480103e71feeac0b20df0a1b SHA512 250c16695c42b03d59ed690de8fc38494ac52047f5fe88b82df431082d524a396266c2b7e8c6afbf3b25e08102d99ef37b3892d62e7bc134f872718880660709
AUX rstudio-1.1.453-core.patch 5843 BLAKE2B 9634a1d619c7e32e672d64ce90c092a9451499ffb27104a5228b4665abeffe7618f92ac04c29b6a3278c2702fe1361be43ba9eb1616acef71c42d39c68df9e65 SHA512 64e50dc812fb60ce6d8b17c6ea0eb6cfa055faa3a235d12e84ecb2691fcc90ef457d4eddc6e8029145fc3e919336fb0c91c293767c2d2f27bd542508c1e458aa
+AUX rstudio-1.1.463-boost-1.69.0_p1.patch 27177 BLAKE2B 7d902104856cff7f6f3c2eef5f5712bd86112d5f4f7149d05bced5084d4e57f27b8c67975fc6ce6f40980e8b1544c528db440142d82d81775fe773189096d4cc SHA512 3b6d53afd9233400edce3dc7cfd18cd1b1804707c22a6efbf821527d19517d1c643272e947e5550be8735bd00829cf9be800dca84bc60f91e9dded747deebae3
+AUX rstudio-1.1.463-boost-1.69.0_p2.patch 7744 BLAKE2B dd8c4f40731e5cde1d277a29f7db9068db1e5da2e329558911afc5bffa8ee80e727e674383cc3c16e7b653e62895f06782aa9505ff102086e9e3bfdb822d9a5f SHA512 ef41803eea2efd4f5e309ede41c54e77115a358065fd3d4c3a2178e6bbaedc08a619517b28672d6003cc1c9062526e3f881645dd99cba57d1de1d13c643cd391
+AUX rstudio-1.1.463-fix-ptr-int-compare.patch 595 BLAKE2B 10b7320990869c07c02e8a8cd06d41f67d0ddcbb7351fbbd2b9044144733b0b68225bc53c2aa93a98ea6715031d31346209700fbcbcb4c48809d9e3537cce435 SHA512 27fc52d4ff2a96212863eefabf3d69f4d18db259da4e366a0020c2deb4126d03208c9bf3c4877f75ccadaf5cc59da070a07380968d44942622525b1f33db90e3
AUX rstudio-server.conf 1337 BLAKE2B a9a85c76a1c7c5f32f55606c6e3c9b72662dbd25e4b005f9702ed301afc21425906faf06fca91c18328524c53437aee7c9c4aee26cf293cdc72375e91ec7f701 SHA512 f166f1aa4bd370fcfcb44c5694d4e6af8bc64c5f43671e0c1def10c555d248bebf54199097f37d628a083c65913f522b7b44c3bd6a1227c011cf25eed1dba4a6
AUX rstudio-server.initd 377 BLAKE2B 4f49b9ae2a81cd60565f79f121d60f5531746febd1f6f68cc93863985bd9af28d4ef04f647bd1b492ca69273724c282bcaedcfb5d08b8f2ac237ddb6f5baa438 SHA512 828a485338088d129c57debec6557ad35db5b042c61489ae4341717ce2218bec59a873541c270f964bb9c708b75896f1a3e2e64a4245a1713979d3bd42c9d5c8
AUX rstudio-server.service.in 161 BLAKE2B 0be9cb83304063c9123c6fa13b7751b2f848adde282fc586acccfa4110f902e4de9962211ca0c871f66f3563319fe195c9f230daa4d4e429357ff74701e4d2d7 SHA512 bcf1f30e460dd5f0562b20489ca5544c6bcfbfb0ee1c636c4365df433e97e02e9e3b233e4159a0c71ad6d319f34f93c22b8fbf6b36463e29f22df2acd71da173
@@ -19,9 +22,11 @@ DIST rmarkdown-0.98.1000.tar.gz 1423820 BLAKE2B eac8c9cf438c9b44ddfe954602dd67a8
DIST rsconnect_0.4.1.4_fcac892a69817febd7b655b189bf57193260cda0.tar.gz 197051 BLAKE2B 1f3f9fe71d7b50ab5108dfdbd3cc0b882bcc935ee58e8a9145b07a18bb86c39bc45e321a13add24df99492bc30548df716775c339bcbf4efc2bfe158299ae55a SHA512 208dc349f4aa7613ecf94939aba60d22d3a06972344b526c9b6c951015571f5922927bca08db571a7b8a268e42609a4f558f01278c9685f6da2ffc66a1f95ade
DIST rstudio-1.1.383.tar.gz 20196702 BLAKE2B 5164230a92618e4252269ad0016b200294d1e7fa502cc49aa694486cda098ee7ffc65e6c74a87d891d0532f5cc15d1552aa86d04047d07b4f275cbc4d2758647 SHA512 3f637f9bce2c1ad1a4ed3e74287da722190a4e12b0cace6ffcca271977d49dcecca9365f2064366aad94e87851593cab83fa9361e9a9222a9f67fe9451f31ed2
DIST rstudio-1.1.453.tar.gz 20200360 BLAKE2B 560b89e53b04356ecf9a02dd8a7e72ad8d6c30bf406fbe7e22a82cc6d33d40e84bececf5ecda9cf086360b2bd2fa64d6b33c2dd675ef5f605f9e825d7ca2dc84 SHA512 f2be0866f645007a6f80959109928820c89480057c3660d23e790591797d4f4c371733f49290dae9c81bfc2715821528e2a105e7a66d4d9ffbfc7ee2a596976c
+DIST rstudio-1.1.463.tar.gz 20203779 BLAKE2B 97f879539cbb7051af362a8469795a47feb42d18ff46dbbdffe36e0685d1cd5704848b3bf5a5611d482a09567722e35288527302cd521b18e2a48b347c919e17 SHA512 987347563a9726363c28d866e1372eae8eb19a5cbd0e33c7ee0e0c8f90471c4b69de0f559c00410523841b6c090b584652e01496f5db33c015a4554d2f4e179b
DIST selenium-java-2.37.0.zip 24625928 BLAKE2B b369a805ae96f0d0913c4be42888d9c2a1e213ff982f9daefe73fadb705baa80ab0186ab50ed52609e83697cffaf8d617d06d75405cb8e1c3fe8e7c5b81dba25 SHA512 68624e82dbc751a25c50fad72702a98eb30d77fd4337d2a969f8e06bcc49e5f8c835cd27ec53772f3375014ddde1d5636936e966b75f3594a9f86aa18ba4e779
DIST selenium-server-standalone-2.37.0.jar 34730734 BLAKE2B 3899b1d4c5f9153c1f9f13bec66f7c1456ea2e0f34db7d8e54a1ce9063c33a05b3cf95216c2ae06bb40504f72f343a4b9ba6c8553fbbc340e7c18a5b612dde5c SHA512 b215446d42d2d1f69664349b6ae6dc53a532d3624c91254f0f4183d0ad764648792e5cc1126a55a1e60d9687d55200fed01d6d2f46cc3d853b1fa6ee38111018
DIST shinyapps-0.98.1000.tar.gz 910095 BLAKE2B 4f9364692348bb52cbd12cc6ee447841cb0c805327f2518b2a9545920b602b954a98dea68ccb3daf32d2c3bab6464fb15402844d93277193315f1ae7b3ca5190 SHA512 3162317c4c20cfc1497e952a8235867084d629ae88407e6c465b3e208adb1dc97abfe6b9922e0374ddf4c8e38a76e112942bd312c54a66f74e6f2a3fe4c0a07c
EBUILD rstudio-1.1.383-r1.ebuild 8339 BLAKE2B d6dd6efec40207a2a042827dffa99eb3bf9c820e385ee22dbe89ec0dabe60af523da054a8492ee97164eb4a2da47f3cb8848637a5d858111200767c2f689e53a SHA512 05cff959e87bf90125935b130544ae6d1ea4283069bae3d55f415037f97e44ca1ae032d595701157abd9d49d106e77bb8fd42085fa8a9167e7ff5ed981dcf86c
EBUILD rstudio-1.1.453.ebuild 8504 BLAKE2B ecf0e0da004695e5b5520801c4cb3954b4498b9bf2ac651b78ab4cfd82f1228a4fa92b70350ce72c0b36cb311e5cee8fe5026850262d78c51385022803b8429e SHA512 003a9ac1cbefe121d79e70d6a618ac67aee7b83d38ec94ef11f79c70caf10e0c4e312cf13958fd28649ab065939a8c3e8345c30d9e84638e84e3bd5e28b9e193
+EBUILD rstudio-1.1.463.ebuild 8661 BLAKE2B f263fc73b6d36c88066e1267afa3d6f842af1a39a7bbec9c7584464f720e61b2f421eded7bba83499595f6457f6b4be7995e23443eee17b707d87d08a6fd9fab SHA512 bd144a29cc8829cdfc7e067d651804c828315d9598da6aa67830df9407167386e672d1179528b40a1a780d4de1661344d68a8fb79fe170ef9d5e48cd72f64324
MISC metadata.xml 590 BLAKE2B 53dc62775e118c9c26ee05e20ee1da1ac31b6a6b74cf7dac410856fe4e0cce40fbb800c7a03e60f59e14442baf3aad866ad42616ad5fbb5724f7f6d8c1636eea SHA512 7111442aaa52da1e554c34f824113ec0e227798dd11b0ea9148b81e7a31c08b2a527b9995e3adb9363c7a4f2a8594f30cbd4a179545bf31d69f07d5558c20f52
diff --git a/sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p1.patch b/sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p1.patch
new file mode 100644
index 000000000000..aa3db25f3c01
--- /dev/null
+++ b/sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p1.patch
@@ -0,0 +1,680 @@
+--- /dev/null 2018-11-10 15:32:26.332997437 +1100
++++ rstudio-1.1.463/src/cpp/core/include/core/BoostSignals.hpp 2018-11-17 21:24:35.285976284 +1100
+@@ -0,0 +1,40 @@
++/*
++ * BoostSignals.hpp
++ *
++ * Copyright (C) 2009-18 by RStudio, Inc.
++ *
++ * Unless you have received this program directly from RStudio pursuant
++ * to the terms of a commercial license agreement with RStudio, then
++ * this program is licensed to you under the terms of version 3 of the
++ * GNU Affero General Public License. This program is distributed WITHOUT
++ * ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT,
++ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the
++ * AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details.
++ *
++ */
++
++#ifndef CORE_RSTUDIO_BOOST_SIGNALS_HPP
++#define CORE_RSTUDIO_BOOST_SIGNALS_HPP
++
++#if RSTUDIO_BOOST_SIGNALS_VERSION == 1
++
++# include <boost/signals.hpp>
++# define RSTUDIO_BOOST_SIGNAL boost::signal
++# define RSTUDIO_BOOST_CONNECTION boost::signals::connection
++# define RSTUDIO_BOOST_SCOPED_CONNECTION boost::signals::scoped_connection
++# define RSTUDIO_BOOST_LAST_VALUE boost::last_value
++
++#elif RSTUDIO_BOOST_SIGNALS_VERSION == 2
++
++# include <boost/signals2.hpp>
++# define RSTUDIO_BOOST_SIGNAL boost::signals2::signal
++# define RSTUDIO_BOOST_CONNECTION boost::signals2::connection
++# define RSTUDIO_BOOST_SCOPED_CONNECTION boost::signals2::scoped_connection
++# define RSTUDIO_BOOST_LAST_VALUE boost::signals2::last_value
++
++#else
++# error "Unrecognized RSTUDIO_BOOST_SIGNALS_VERSION"
++#endif
++
++#endif // CORE_RSTUDIO_BOOST_SIGNALS_HPP
++
+--- rstudio-1.1.463-orig/src/cpp/CMakeLists.txt 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/CMakeLists.txt 2018-11-17 21:24:35.285976284 +1100
+@@ -208,6 +208,18 @@
+ message(STATUS "Using RStudio-provided Boost ${BOOST_VERSION}")
+ endif()
+
++# allow opt-in to using Boost.Signals2
++# TODO: remove this in RStudio v1.3 and port to signals2
++if(NOT RSTUDIO_BOOST_SIGNALS_VERSION)
++ if (BOOST_VERSION VERSION_LESS 1.69.0)
++ set(RSTUDIO_BOOST_SIGNALS_VERSION 1)
++ else()
++ set(RSTUDIO_BOOST_SIGNALS_VERSION 2)
++ endif()
++endif()
++
++message(STATUS "Using Booost.Signals version ${RSTUDIO_BOOST_SIGNALS_VERSION}")
++add_definitions(-DRSTUDIO_BOOST_SIGNALS_VERSION=${RSTUDIO_BOOST_SIGNALS_VERSION})
+
+ # add boost as system include directory
+ include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
+--- rstudio-1.1.463-orig/src/cpp/r/include/r/session/RConsoleHistory.hpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/r/include/r/session/RConsoleHistory.hpp 2018-11-17 21:24:35.285976284 +1100
+@@ -20,8 +20,8 @@
+
+ #include <boost/utility.hpp>
+ #include <boost/circular_buffer.hpp>
+-#include <boost/signal.hpp>
+
++#include <core/BoostSignals.hpp>
+ #include <core/json/Json.hpp>
+
+ namespace rstudio {
+@@ -44,7 +44,7 @@
+ public:
+ typedef boost::circular_buffer<std::string>::value_type value_type;
+ typedef boost::circular_buffer<std::string>::const_iterator const_iterator;
+- typedef boost::signal<void (const std::string&)> AddSignal;
++ typedef RSTUDIO_BOOST_SIGNAL<void (const std::string&)> AddSignal;
+
+ private:
+ ConsoleHistory();
+@@ -86,8 +86,7 @@
+ core::Error loadFromFile(const core::FilePath& filePath, bool verifyFile);
+ core::Error saveToFile(const core::FilePath& filePath) const;
+
+- boost::signals::connection connectOnAdd(
+- const AddSignal::slot_function_type& slot)
++ RSTUDIO_BOOST_CONNECTION connectOnAdd(const AddSignal::slot_function_type& slot)
+ {
+ return onAdd_.connect(slot);
+ }
+--- rstudio-1.1.463-orig/src/cpp/r/include/r/session/RGraphics.hpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/r/include/r/session/RGraphics.hpp 2018-11-17 21:24:35.286976293 +1100
+@@ -19,6 +19,8 @@
+ #include <boost/system/error_code.hpp>
+ #include <boost/date_time/posix_time/ptime.hpp>
+
++#include <core/BoostSignals.hpp>
++
+ namespace rstudio {
+ namespace r {
+ namespace session {
+@@ -56,8 +58,8 @@
+ #include <vector>
+
+ #include <boost/function.hpp>
+-#include <boost/signal.hpp>
+
++#include <core/BoostSignals.hpp>
+ #include <core/Error.hpp>
+ #include <core/json/Json.hpp>
+
+@@ -162,7 +164,7 @@
+ virtual void clear() = 0;
+
+ // subscribe to showManipulator event
+- virtual boost::signal<void ()>& onShowManipulator() = 0;
++ virtual RSTUDIO_BOOST_SIGNAL<void ()>& onShowManipulator() = 0;
+
+ // set manipulator values
+ virtual void setPlotManipulatorValues(const core::json::Object& values) = 0;
+--- rstudio-1.1.463-orig/src/cpp/r/session/graphics/RGraphicsPlotManager.cpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/r/session/graphics/RGraphicsPlotManager.cpp 2018-11-17 21:24:35.286976293 +1100
+@@ -540,7 +540,7 @@
+
+
+
+-boost::signal<void ()>& PlotManager::onShowManipulator()
++RSTUDIO_BOOST_SIGNAL<void ()>& PlotManager::onShowManipulator()
+ {
+ return plotManipulatorManager().onShowManipulator();
+ }
+--- rstudio-1.1.463-orig/src/cpp/r/session/graphics/RGraphicsPlotManager.hpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/r/session/graphics/RGraphicsPlotManager.hpp 2018-11-17 21:24:35.287976303 +1100
+@@ -22,10 +22,10 @@
+ #include <boost/utility.hpp>
+ #include <boost/shared_ptr.hpp>
+ #include <boost/function.hpp>
+-#include <boost/signal.hpp>
+ #include <boost/regex.hpp>
+ #include <boost/circular_buffer.hpp>
+
++#include <core/BoostSignals.hpp>
+ #include <core/Error.hpp>
+ #include <core/FilePath.hpp>
+
+@@ -45,10 +45,10 @@
+
+ struct GraphicsDeviceEvents
+ {
+- boost::signal<void (SEXP)> onNewPage;
+- boost::signal<void ()> onDrawing;
+- boost::signal<void ()> onResized;
+- boost::signal<void ()> onClosed;
++ RSTUDIO_BOOST_SIGNAL<void (SEXP)> onNewPage;
++ RSTUDIO_BOOST_SIGNAL<void ()> onDrawing;
++ RSTUDIO_BOOST_SIGNAL<void ()> onResized;
++ RSTUDIO_BOOST_SIGNAL<void ()> onClosed;
+ };
+
+ class PlotManipulatorManager;
+@@ -110,7 +110,7 @@
+
+ virtual void clear();
+
+- virtual boost::signal<void ()>& onShowManipulator() ;
++ virtual RSTUDIO_BOOST_SIGNAL<void ()>& onShowManipulator() ;
+ virtual void setPlotManipulatorValues(const core::json::Object& values);
+ virtual void manipulatorPlotClicked(int x, int y);
+
+--- rstudio-1.1.463-orig/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.cpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.cpp 2018-11-17 21:24:35.287976303 +1100
+@@ -184,7 +184,7 @@
+ }
+
+
+-boost::signal<void ()>& PlotManipulatorManager::onShowManipulator()
++RSTUDIO_BOOST_SIGNAL<void ()>& PlotManipulatorManager::onShowManipulator()
+ {
+ return onShowManipulator_;
+ }
+--- rstudio-1.1.463-orig/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp 2018-11-17 21:24:35.287976303 +1100
+@@ -16,8 +16,7 @@
+ #ifndef R_SESSION_GRAPHICS_PLOT_MANIPULATOR_MANAGER_HPP
+ #define R_SESSION_GRAPHICS_PLOT_MANIPULATOR_MANAGER_HPP
+
+-#include <boost/signal.hpp>
+-
++#include <core/BoostSignals.hpp>
+ #include <core/Error.hpp>
+ #include <core/json/Json.hpp>
+
+@@ -53,7 +52,7 @@
+ public:
+ core::Error initialize(const UnitConversionFunctions& convert);
+
+- boost::signal<void ()>& onShowManipulator() ;
++ RSTUDIO_BOOST_SIGNAL<void ()>& onShowManipulator() ;
+ void setPlotManipulatorValues(const core::json::Object& values);
+ void manipulatorPlotClicked(int x, int y);
+
+@@ -85,7 +84,7 @@
+ bool replayingManipulator_;
+
+ // manipulator event hook
+- boost::signal<void ()> onShowManipulator_;
++ RSTUDIO_BOOST_SIGNAL<void ()> onShowManipulator_;
+
+ // unit conversion function
+ UnitConversionFunctions convert_;
+--- rstudio-1.1.463-orig/src/cpp/server/include/server/ServerSessionManager.hpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/server/include/server/ServerSessionManager.hpp 2018-11-17 21:27:05.255436316 +1100
+@@ -20,9 +20,9 @@
+ #include <vector>
+ #include <map>
+
+-#include <boost/signals.hpp>
+ #include <boost/asio/io_service.hpp>
+
++#include <core/BoostSignals.hpp>
+ #include <core/Thread.hpp>
+
+ #include <core/system/PosixSystem.hpp>
+--- rstudio-1.1.463-orig/src/cpp/session/SessionMain.cpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/SessionMain.cpp 2018-11-17 21:24:35.288976313 +1100
+@@ -33,12 +33,12 @@
+ #include <boost/lexical_cast.hpp>
+ #include <boost/format.hpp>
+
+-#include <boost/signals.hpp>
+ #include <boost/date_time/posix_time/posix_time.hpp>
+ #include <boost/algorithm/string/predicate.hpp>
+ #include <boost/algorithm/string/join.hpp>
+
+ #include <core/Error.hpp>
++#include <core/BoostSignals.hpp>
+ #include <core/BoostThread.hpp>
+ #include <core/ConfigUtils.hpp>
+ #include <core/FilePath.hpp>
+--- rstudio-1.1.463-orig/src/cpp/session/SessionModuleContext.cpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/SessionModuleContext.cpp 2018-11-17 21:24:35.289976322 +1100
+@@ -19,10 +19,10 @@
+
+ #include <boost/assert.hpp>
+ #include <boost/utility.hpp>
+-#include <boost/signal.hpp>
+ #include <boost/format.hpp>
+ #include <boost/numeric/conversion/cast.hpp>
+
++#include <core/BoostSignals.hpp>
+ #include <core/BoostThread.hpp>
+ #include <core/Error.hpp>
+ #include <core/FilePath.hpp>
+@@ -586,13 +586,13 @@
+
+ int nextGroup_;
+
+- boost::signal<void(const r::session::RSuspendOptions&,Settings*),
+- boost::last_value<void>,
++ RSTUDIO_BOOST_SIGNAL<void(const r::session::RSuspendOptions&,Settings*),
++ RSTUDIO_BOOST_LAST_VALUE<void>,
+ int,
+ std::less<int> > suspendSignal_;
+
+- boost::signal<void(const Settings&),
+- boost::last_value<void>,
++ RSTUDIO_BOOST_SIGNAL<void(const Settings&),
++ RSTUDIO_BOOST_LAST_VALUE<void>,
+ int,
+ std::greater<int> > resumeSignal_;
+ };
+--- rstudio-1.1.463-orig/src/cpp/session/include/session/SessionConsoleProcess.hpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/include/session/SessionConsoleProcess.hpp 2018-11-17 21:24:35.290976332 +1100
+@@ -20,10 +20,10 @@
+ #include <deque>
+
+ #include <boost/regex.hpp>
+-#include <boost/signals.hpp>
+ #include <boost/circular_buffer.hpp>
+ #include <boost/enable_shared_from_this.hpp>
+
++#include <core/BoostSignals.hpp>
+ #include <core/system/Process.hpp>
+ #include <core/terminal/PrivateCommand.hpp>
+
+@@ -146,7 +146,7 @@
+ void setPromptHandler(
+ const boost::function<bool(const std::string&, Input*)>& onPrompt);
+
+- boost::signal<void(int)>& onExit() { return onExit_; }
++ RSTUDIO_BOOST_SIGNAL<void(int)>& onExit() { return onExit_; }
+
+ std::string handle() const { return procInfo_->getHandle(); }
+ InteractionMode interactionMode() const { return procInfo_->getInteractionMode(); }
+@@ -264,7 +264,7 @@
+ boost::mutex inputOutputQueueMutex_;
+
+ boost::function<bool(const std::string&, Input*)> onPrompt_;
+- boost::signal<void(int)> onExit_;
++ RSTUDIO_BOOST_SIGNAL<void(int)> onExit_;
+
+ // regex for prompt detection
+ boost::regex controlCharsPattern_;
+--- rstudio-1.1.463-orig/src/cpp/session/include/session/SessionModuleContext.hpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/include/session/SessionModuleContext.hpp 2018-11-17 21:28:25.019212857 +1100
+@@ -21,9 +21,9 @@
+
+ #include <boost/utility.hpp>
+ #include <boost/function.hpp>
+-#include <boost/signals.hpp>
+ #include <boost/shared_ptr.hpp>
+
++#include <core/BoostSignals.hpp>
+ #include <core/HtmlUtils.hpp>
+ #include <core/system/System.hpp>
+ #include <core/system/ShellUtils.hpp>
+@@ -315,35 +315,35 @@
+ // session events
+ struct Events : boost::noncopyable
+ {
+- boost::signal<void (core::json::Object*)> onSessionInfo;
+- boost::signal<void ()> onClientInit;
+- boost::signal<void ()> onBeforeExecute;
+- boost::signal<void(const std::string&)> onConsolePrompt;
+- boost::signal<void(const std::string&)> onConsoleInput;
+- boost::signal<void(const std::string&, const std::string&)>
++ RSTUDIO_BOOST_SIGNAL<void (core::json::Object*)> onSessionInfo;
++ RSTUDIO_BOOST_SIGNAL<void ()> onClientInit;
++ RSTUDIO_BOOST_SIGNAL<void ()> onBeforeExecute;
++ RSTUDIO_BOOST_SIGNAL<void(const std::string&)> onConsolePrompt;
++ RSTUDIO_BOOST_SIGNAL<void(const std::string&)> onConsoleInput;
++ RSTUDIO_BOOST_SIGNAL<void(const std::string&, const std::string&)>
+ onActiveConsoleChanged;
+- boost::signal<void (ConsoleOutputType, const std::string&)>
++ RSTUDIO_BOOST_SIGNAL<void (ConsoleOutputType, const std::string&)>
+ onConsoleOutput;
+- boost::signal<void()> onUserInterrupt;
+- boost::signal<void (ChangeSource)> onDetectChanges;
+- boost::signal<void (core::FilePath)> onSourceEditorFileSaved;
+- boost::signal<void(bool)> onDeferredInit;
+- boost::signal<void(bool)> afterSessionInitHook;
+- boost::signal<void(bool)> onBackgroundProcessing;
+- boost::signal<void(bool)> onShutdown;
+- boost::signal<void ()> onQuit;
+- boost::signal<void ()> onDestroyed;
+- boost::signal<void (const std::vector<std::string>&)>
++ RSTUDIO_BOOST_SIGNAL<void()> onUserInterrupt;
++ RSTUDIO_BOOST_SIGNAL<void (ChangeSource)> onDetectChanges;
++ RSTUDIO_BOOST_SIGNAL<void (core::FilePath)> onSourceEditorFileSaved;
++ RSTUDIO_BOOST_SIGNAL<void(bool)> onDeferredInit;
++ RSTUDIO_BOOST_SIGNAL<void(bool)> afterSessionInitHook;
++ RSTUDIO_BOOST_SIGNAL<void(bool)> onBackgroundProcessing;
++ RSTUDIO_BOOST_SIGNAL<void(bool)> onShutdown;
++ RSTUDIO_BOOST_SIGNAL<void ()> onQuit;
++ RSTUDIO_BOOST_SIGNAL<void ()> onDestroyed;
++ RSTUDIO_BOOST_SIGNAL<void (const std::vector<std::string>&)>
+ onLibPathsChanged;
+- boost::signal<void (const std::string&)> onPackageLoaded;
+- boost::signal<void ()> onPackageLibraryMutated;
+- boost::signal<void ()> onPreferencesSaved;
+- boost::signal<void (const core::DistributedEvent&)>
++ RSTUDIO_BOOST_SIGNAL<void (const std::string&)> onPackageLoaded;
++ RSTUDIO_BOOST_SIGNAL<void ()> onPackageLibraryMutated;
++ RSTUDIO_BOOST_SIGNAL<void ()> onPreferencesSaved;
++ RSTUDIO_BOOST_SIGNAL<void (const core::DistributedEvent&)>
+ onDistributedEvent;
+- boost::signal<void (core::FilePath)> onPermissionsChanged;
++ RSTUDIO_BOOST_SIGNAL<void (core::FilePath)> onPermissionsChanged;
+
+ // signal for detecting extended type of documents
+- boost::signal<std::string(boost::shared_ptr<source_database::SourceDocument>),
++ RSTUDIO_BOOST_SIGNAL<std::string(boost::shared_ptr<source_database::SourceDocument>),
+ firstNonEmpty<std::string> > onDetectSourceExtendedType;
+ };
+
+--- rstudio-1.1.463-orig/src/cpp/session/include/session/SessionSourceDatabase.hpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/include/session/SessionSourceDatabase.hpp 2018-11-17 21:24:35.291976342 +1100
+@@ -21,8 +21,8 @@
+
+ #include <boost/utility.hpp>
+ #include <boost/shared_ptr.hpp>
+-#include <boost/signals.hpp>
+
++#include <core/BoostSignals.hpp>
+ #include <core/FilePath.hpp>
+ #include <core/json/Json.hpp>
+
+@@ -204,14 +204,14 @@
+ // source database events
+ struct Events : boost::noncopyable
+ {
+- boost::signal<void(boost::shared_ptr<SourceDocument>)> onDocUpdated;
+- boost::signal<void(const std::string&,
++ RSTUDIO_BOOST_SIGNAL<void(boost::shared_ptr<SourceDocument>)> onDocUpdated;
++ RSTUDIO_BOOST_SIGNAL<void(const std::string&,
+ boost::shared_ptr<SourceDocument>)> onDocRenamed;
+- boost::signal<void(const std::string&)> onDocAdded;
+- boost::signal<void(
++ RSTUDIO_BOOST_SIGNAL<void(const std::string&)> onDocAdded;
++ RSTUDIO_BOOST_SIGNAL<void(
+ boost::shared_ptr<source_database::SourceDocument>)> onDocPendingRemove;
+- boost::signal<void(const std::string&, const std::string&)> onDocRemoved;
+- boost::signal<void()> onRemoveAll;
++ RSTUDIO_BOOST_SIGNAL<void(const std::string&, const std::string&)> onDocRemoved;
++ RSTUDIO_BOOST_SIGNAL<void()> onRemoveAll;
+ };
+
+ Events& events();
+--- rstudio-1.1.463-orig/src/cpp/session/include/session/SessionUserSettings.hpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/include/session/SessionUserSettings.hpp 2018-11-17 21:24:35.291976342 +1100
+@@ -20,8 +20,8 @@
+
+ #include <boost/utility.hpp>
+ #include <boost/scoped_ptr.hpp>
+-#include <boost/signal.hpp>
+
++#include <core/BoostSignals.hpp>
+ #include <core/Settings.hpp>
+ #include <core/FilePath.hpp>
+ #include <core/StringUtils.hpp>
+@@ -62,7 +62,7 @@
+ friend UserSettings& userSettings();
+
+ public:
+- boost::signal<void()> onChanged;
++ RSTUDIO_BOOST_SIGNAL<void()> onChanged;
+
+ public:
+ // COPYING: boost::noncopyable
+--- rstudio-1.1.463-orig/src/cpp/session/include/session/projects/SessionProjects.hpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/include/session/projects/SessionProjects.hpp 2018-11-17 21:24:35.291976342 +1100
+@@ -22,8 +22,8 @@
+ #include <boost/utility.hpp>
+ #include <boost/shared_ptr.hpp>
+ #include <boost/foreach.hpp>
+-#include <boost/signals.hpp>
+
++#include <core/BoostSignals.hpp>
+ #include <core/FileInfo.hpp>
+ #include <core/FilePath.hpp>
+ #include <core/Settings.hpp>
+@@ -220,10 +220,10 @@
+
+ bool hasFileMonitor_;
+ std::vector<std::string> monitorSubscribers_;
+- boost::signal<void(const tree<core::FileInfo>&)> onMonitoringEnabled_;
+- boost::signal<void(const std::vector<core::system::FileChangeEvent>&)>
++ RSTUDIO_BOOST_SIGNAL<void(const tree<core::FileInfo>&)> onMonitoringEnabled_;
++ RSTUDIO_BOOST_SIGNAL<void(const std::vector<core::system::FileChangeEvent>&)>
+ onFilesChanged_;
+- boost::signal<void()> onMonitoringDisabled_;
++ RSTUDIO_BOOST_SIGNAL<void()> onMonitoringDisabled_;
+ };
+
+ ProjectContext& projectContext();
+--- rstudio-1.1.463-orig/src/cpp/session/modules/SessionPlots.hpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/modules/SessionPlots.hpp 2018-11-17 21:24:35.292976352 +1100
+@@ -16,7 +16,7 @@
+ #ifndef SESSION_PLOTS_HPP
+ #define SESSION_PLOTS_HPP
+
+-#include <boost/signals.hpp>
++#include <core/BoostSignals.hpp>
+
+ namespace rstudio {
+ namespace core {
+@@ -35,9 +35,9 @@
+
+ struct Events : boost::noncopyable
+ {
+- boost::signal<void()> onBeforeNewPlot;
+- boost::signal<void()> onBeforeNewGridPage;
+- boost::signal<void()> onNewPlot;
++ RSTUDIO_BOOST_SIGNAL<void()> onBeforeNewPlot;
++ RSTUDIO_BOOST_SIGNAL<void()> onBeforeNewGridPage;
++ RSTUDIO_BOOST_SIGNAL<void()> onNewPlot;
+ };
+
+ Events& events();
+--- rstudio-1.1.463-orig/src/cpp/session/modules/build/SessionSourceCpp.cpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/modules/build/SessionSourceCpp.cpp 2018-11-17 21:24:35.293976361 +1100
+@@ -15,11 +15,11 @@
+
+ #include "SessionSourceCpp.hpp"
+
+-#include <boost/signal.hpp>
+ #include <boost/algorithm/string/trim.hpp>
+ #include <boost/algorithm/string/predicate.hpp>
+ #include <boost/algorithm/string/join.hpp>
+
++#include <core/BoostSignals.hpp>
+ #include <core/Error.hpp>
+ #include <core/FilePath.hpp>
+ #include <core/StringUtils.hpp>
+--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/NotebookAlternateEngines.cpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/NotebookAlternateEngines.cpp 2018-11-17 21:24:35.294976371 +1100
+@@ -142,7 +142,7 @@
+ LOG_ERROR(error);
+
+ // capture console output, error
+- boost::signals::scoped_connection consoleHandler =
++ RSTUDIO_BOOST_SCOPED_CONNECTION consoleHandler =
+ module_context::events().onConsoleOutput.connect(
+ boost::bind(chunkConsoleOutputHandler,
+ _1,
+@@ -219,7 +219,7 @@
+ LOG_ERROR(error);
+
+ // capture console output, error
+- boost::signals::scoped_connection consoleHandler =
++ RSTUDIO_BOOST_SCOPED_CONNECTION consoleHandler =
+ module_context::events().onConsoleOutput.connect(
+ boost::bind(chunkConsoleOutputHandler,
+ _1,
+@@ -363,7 +363,7 @@
+ LOG_ERROR(error);
+
+ // capture console output, error
+- boost::signals::scoped_connection consoleHandler =
++ RSTUDIO_BOOST_SCOPED_CONNECTION consoleHandler =
+ module_context::events().onConsoleOutput.connect(
+ boost::bind(chunkConsoleOutputHandler,
+ _1,
+--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/NotebookCapture.cpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/NotebookCapture.cpp 2018-11-17 21:24:35.294976371 +1100
+@@ -16,6 +16,8 @@
+ #include "SessionRmdNotebook.hpp"
+ #include "NotebookCapture.hpp"
+
++#include <boost/make_shared.hpp>
++
+ namespace rstudio {
+ namespace session {
+ namespace modules {
+--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/NotebookExec.cpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/NotebookExec.cpp 2018-11-17 21:24:35.295976381 +1100
+@@ -441,7 +441,7 @@
+ }
+
+ // unhook all our event handlers
+- BOOST_FOREACH(const boost::signals::connection connection, connections_)
++ BOOST_FOREACH(const RSTUDIO_BOOST_CONNECTION connection, connections_)
+ {
+ connection.disconnect();
+ }
+--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/NotebookExec.hpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/NotebookExec.hpp 2018-11-17 21:24:35.295976381 +1100
+@@ -18,8 +18,7 @@
+
+ #include <session/SessionModuleContext.hpp>
+
+-#include <boost/signal.hpp>
+-
++#include <core/BoostSignals.hpp>
+ #include <core/json/Json.hpp>
+
+ #include <r/RSexp.hpp>
+@@ -99,7 +98,7 @@
+ bool hasErrors_;
+
+ std::vector<boost::shared_ptr<NotebookCapture> > captures_;
+- std::vector<boost::signals::connection> connections_;
++ std::vector<RSTUDIO_BOOST_CONNECTION> connections_;
+ };
+
+ } // namespace notebook
+--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/NotebookPlots.cpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/NotebookPlots.cpp 2018-11-17 21:24:35.295976381 +1100
+@@ -20,11 +20,12 @@
+
+ #include <boost/format.hpp>
+ #include <boost/foreach.hpp>
+-#include <boost/signals/connection.hpp>
+
+-#include <core/system/FileMonitor.hpp>
+-#include <core/StringUtils.hpp>
++#include <core/BoostSignals.hpp>
+ #include <core/Exec.hpp>
++#include <core/StringUtils.hpp>
++
++#include <core/system/FileMonitor.hpp>
+
+ #include <session/SessionModuleContext.hpp>
+
+--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/NotebookPlots.hpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/NotebookPlots.hpp 2018-11-17 21:24:35.296976391 +1100
+@@ -18,8 +18,10 @@
+ #define SESSION_NOTEBOOK_PLOTS_HPP
+
+ #include <boost/function.hpp>
+-#include <boost/signals/connection.hpp>
++
++#include <core/BoostSignals.hpp>
+ #include <core/FilePath.hpp>
++
+ #include <r/RSexp.hpp>
+
+ #include "NotebookCapture.hpp"
+@@ -80,9 +82,9 @@
+
+ unsigned lastOrdinal_;
+
+- boost::signals::connection onBeforeNewPlot_;
+- boost::signals::connection onBeforeNewGridPage_;
+- boost::signals::connection onNewPlot_;
++ RSTUDIO_BOOST_CONNECTION onBeforeNewPlot_;
++ RSTUDIO_BOOST_CONNECTION onBeforeNewGridPage_;
++ RSTUDIO_BOOST_CONNECTION onNewPlot_;
+
+ double width_;
+ double height_;
+--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/NotebookQueue.cpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/NotebookQueue.cpp 2018-11-17 21:24:35.296976391 +1100
+@@ -87,7 +87,7 @@
+ pInput_->enque(kThreadQuitCommand);
+
+ // unregister handlers
+- BOOST_FOREACH(boost::signals::connection connection, handlers_)
++ BOOST_FOREACH(RSTUDIO_BOOST_CONNECTION connection, handlers_)
+ {
+ connection.disconnect();
+ }
+@@ -651,7 +651,7 @@
+ boost::shared_ptr<ChunkExecContext> execContext_;
+
+ // registered signal handlers
+- std::vector<boost::signals::connection> handlers_;
++ std::vector<RSTUDIO_BOOST_CONNECTION> handlers_;
+
+ // the thread which submits console input, and the queue which feeds it
+ boost::thread console_;
+--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/SessionRmdNotebook.hpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/SessionRmdNotebook.hpp 2018-11-17 21:24:35.296976391 +1100
+@@ -18,7 +18,8 @@
+ #define SESSION_RMARKDOWN_NOTEBOOK_HPP
+
+ #include <ctime>
+-#include <boost/signals.hpp>
++
++#include <core/BoostSignals.hpp>
+ #include <core/json/Json.hpp>
+
+ #define kChunkLibDir "lib"
+@@ -76,24 +77,24 @@
+ struct Events : boost::noncopyable
+ {
+ // Document {0}, chunk {1} from context id {3} execution completed
+- boost::signal<void(const std::string&, const std::string&,
++ RSTUDIO_BOOST_SIGNAL<void(const std::string&, const std::string&,
+ const std::string&)>
+ onChunkExecCompleted;
+
+ // Document {0}, chunk {1} had console output of type {2} and text {3}
+- boost::signal<void(const std::string&, const std::string&, int,
++ RSTUDIO_BOOST_SIGNAL<void(const std::string&, const std::string&, int,
+ const std::string&)>
+ onChunkConsoleOutput;
+
+- boost::signal<void(const core::FilePath&, const core::FilePath&,
++ RSTUDIO_BOOST_SIGNAL<void(const core::FilePath&, const core::FilePath&,
+ const core::json::Value& metadata, unsigned ordinal)>
+ onPlotOutput;
+- boost::signal<void(const core::FilePath&, const core::FilePath&,
++ RSTUDIO_BOOST_SIGNAL<void(const core::FilePath&, const core::FilePath&,
+ const core::json::Value& metadata)> onHtmlOutput;
+- boost::signal<void(const core::json::Object&)> onErrorOutput;
+- boost::signal<void(const core::FilePath&, const core::FilePath&,
++ RSTUDIO_BOOST_SIGNAL<void(const core::json::Object&)> onErrorOutput;
++ RSTUDIO_BOOST_SIGNAL<void(const core::FilePath&, const core::FilePath&,
+ const core::json::Value& metadata)> onDataOutput;
+- boost::signal<void(Condition condition, const std::string& message)>
++ RSTUDIO_BOOST_SIGNAL<void(Condition condition, const std::string& message)>
+ onCondition;
+ };
+
diff --git a/sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p2.patch b/sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p2.patch
new file mode 100644
index 000000000000..961723fd224f
--- /dev/null
+++ b/sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p2.patch
@@ -0,0 +1,167 @@
+--- rstudio-1.1.463-orig/src/cpp/CMakeLists.txt 2018-11-17 21:24:35.285976284 +1100
++++ rstudio-1.1.463/src/cpp/CMakeLists.txt 2018-11-17 21:41:02.712507842 +1100
+@@ -175,6 +175,9 @@
+ set(Boost_USE_STATIC_LIBS ON)
+ set(BOOST_INCLUDEDIR ${RSTUDIO_TOOLS_BOOST}/include)
+ find_package(Boost ${BOOST_VERSION} REQUIRED)
++ if(NOT Boost_VERSION VERSION_LESS 1.69.0)
++ list(REMOVE_ITEM BOOST_LIBS signals)
++ endif()
+
+ # define library list manually (find_package doesn't always pick them up)
+ set(BOOST_LIB_DIR ${RSTUDIO_TOOLS_BOOST}/lib)
+@@ -184,11 +187,15 @@
+ message(STATUS "Using RStudio-provided Boost ${BOOST_VERSION}")
+ else()
+ add_definitions(-DRSTUDIO_BOOST_NAMESPACE=boost)
++ find_package(Boost ${BOOST_VERSION} REQUIRED)
++ if(NOT Boost_VERSION VERSION_LESS 1.69.0)
++ list(REMOVE_ITEM BOOST_LIBS signals)
++ endif()
+ find_package(Boost ${BOOST_VERSION} REQUIRED COMPONENTS ${BOOST_LIBS})
+ message(STATUS "Using system Boost ${BOOST_VERSION}")
+ endif()
+
+- # WIN32 BOOST
++# WIN32 BOOST
+ else()
+ # hard-code to our own prebuilt boost libs
+ add_definitions(-DRSTUDIO_BOOST_NAMESPACE=rstudio_boost)
+@@ -211,14 +218,14 @@
+ # allow opt-in to using Boost.Signals2
+ # TODO: remove this in RStudio v1.3 and port to signals2
+ if(NOT RSTUDIO_BOOST_SIGNALS_VERSION)
+- if (BOOST_VERSION VERSION_LESS 1.69.0)
++ if (Boost_VERSION VERSION_LESS 1.69.0)
+ set(RSTUDIO_BOOST_SIGNALS_VERSION 1)
+ else()
+ set(RSTUDIO_BOOST_SIGNALS_VERSION 2)
+ endif()
+ endif()
+
+-message(STATUS "Using Booost.Signals version ${RSTUDIO_BOOST_SIGNALS_VERSION}")
++message(STATUS "Using Boost.Signals version ${RSTUDIO_BOOST_SIGNALS_VERSION}")
+ add_definitions(-DRSTUDIO_BOOST_SIGNALS_VERSION=${RSTUDIO_BOOST_SIGNALS_VERSION})
+
+ # add boost as system include directory
+--- rstudio-1.1.463-orig/src/cpp/core/include/core/r_util/RFunctionInformation.hpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/core/include/core/r_util/RFunctionInformation.hpp 2018-11-17 21:41:02.713507852 +1100
+@@ -75,9 +75,9 @@
+ const std::string& name() const { return name_; }
+ const boost::optional<std::string>& defaultValue() const { return defaultValue_; }
+ boost::tribool hasDefault() const { return hasDefault_; }
+- bool isUsed() const { return isUsed_; }
++ bool isUsed() const { return bool(isUsed_); }
+ void setIsUsed(bool value) { isUsed_ = value; }
+- bool isMissingnessHandled() const { return isMissingnessHandled_; }
++ bool isMissingnessHandled() const { return bool(isMissingnessHandled_); }
+ void setMissingnessHandled(bool value) { isMissingnessHandled_ = value; }
+
+ private:
+@@ -130,7 +130,7 @@
+
+ bool isPrimitive()
+ {
+- return isPrimitive_ == true;
++ return bool(isPrimitive_);
+ }
+
+ void setIsPrimitive(bool isPrimitive)
+--- rstudio-1.1.463-orig/src/cpp/session/modules/SessionRParser.cpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/session/modules/SessionRParser.cpp 2018-11-17 21:41:02.714507862 +1100
+@@ -390,7 +390,7 @@
+ if (!failed)
+ {
+ DEBUG("--- Found function in pkgInfo index: " << *fnInfo.binding());
+- return fnInfo.performsNse();
++ return bool(fnInfo.performsNse());
+ }
+
+ // Handle some special cases first.
+--- rstudio-1.1.463-orig/src/tools/clang-ubsan-build 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/tools/clang-ubsan-build 2018-11-17 21:41:02.714507862 +1100
+@@ -10,19 +10,19 @@
+
+ : ${RSTUDIO_USE_LIBCXX="Yes"}
+ : ${RSTUDIO_USE_SYSTEM_BOOST="Yes"}
+-: ${RSTUDIO_BOOST_VERSION="1.56.0"}
++: ${RSTUDIO_BOOST_REQUESTED_VERSION="1.56.0"}
+
+ mkdir -p "${BUILD_DIR}"
+ cd "${BUILD_DIR}"
+-cmake ../cpp \
+- -DLIBR_HOME="${R_HOME}" \
+- -DCMAKE_C_COMPILER="${CC}" \
+- -DCMAKE_C_FLAGS="${ASANFLAGS} ${LDFLAGS}" \
+- -DCMAKE_CXX_COMPILER="${CXX}" \
+- -DCMAKE_CXX_FLAGS="${ASANFLAGS} ${LDFLAGS}" \
+- -DRSTUDIO_USE_LIBCXX="${RSTUDIO_USE_LIBCXX}" \
+- -DRSTUDIO_USE_SYSTEM_BOOST="${RSTUDIO_USE_SYSTEM_BOOST}" \
+- -DRSTUDIO_BOOST_VERSION="${RSTUDIO_BOOST_VERSION}" \
++cmake ../cpp \
++ -DLIBR_HOME="${R_HOME}" \
++ -DCMAKE_C_COMPILER="${CC}" \
++ -DCMAKE_C_FLAGS="${ASANFLAGS} ${LDFLAGS}" \
++ -DCMAKE_CXX_COMPILER="${CXX}" \
++ -DCMAKE_CXX_FLAGS="${ASANFLAGS} ${LDFLAGS}" \
++ -DRSTUDIO_USE_LIBCXX="${RSTUDIO_USE_LIBCXX}" \
++ -DRSTUDIO_USE_SYSTEM_BOOST="${RSTUDIO_USE_SYSTEM_BOOST}" \
++ -DRSTUDIO_BOOST_REQUESTED_VERSION="${RSTUDIO_BOOST_REQUESTED_VERSION}" \
+ "$@"
+ cd ..
+
+--- rstudio-1.1.463-orig/src/tools/gcc-ubsan-build 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/tools/gcc-ubsan-build 2018-11-17 21:41:02.715507871 +1100
+@@ -19,19 +19,19 @@
+ # NOTE: Boost 1.50.0 not compatible with gcc-6
+ : ${RSTUDIO_USE_LIBCXX="No"}
+ : ${RSTUDIO_USE_SYSTEM_BOOST="Yes"}
+-: ${RSTUDIO_BOOST_VERSION="1.54.0"}
++: ${RSTUDIO_BOOST_REQUESTED_VERSION="1.54.0"}
+
+ mkdir -p "${BUILD_DIR}"
+ cd "${BUILD_DIR}"
+-cmake ../cpp \
+- -DLIBR_HOME="${R_HOME}" \
+- -DCMAKE_C_COMPILER="${CC}" \
+- -DCMAKE_C_FLAGS="${ASANFLAGS} ${LDFLAGS}" \
+- -DCMAKE_CXX_COMPILER="${CXX}" \
+- -DCMAKE_CXX_FLAGS="${ASANFLAGS} ${LDFLAGS}" \
+- -DRSTUDIO_USE_LIBCXX="${RSTUDIO_USE_LIBCXX}" \
+- -DRSTUDIO_USE_SYSTEM_BOOST="${RSTUDIO_USE_SYSTEM_BOOST}" \
+- -DRSTUDIO_BOOST_VERSION="${RSTUDIO_BOOST_VERSION}" \
++cmake ../cpp \
++ -DLIBR_HOME="${R_HOME}" \
++ -DCMAKE_C_COMPILER="${CC}" \
++ -DCMAKE_C_FLAGS="${ASANFLAGS} ${LDFLAGS}" \
++ -DCMAKE_CXX_COMPILER="${CXX}" \
++ -DCMAKE_CXX_FLAGS="${ASANFLAGS} ${LDFLAGS}" \
++ -DRSTUDIO_USE_LIBCXX="${RSTUDIO_USE_LIBCXX}" \
++ -DRSTUDIO_USE_SYSTEM_BOOST="${RSTUDIO_USE_SYSTEM_BOOST}" \
++ -DRSTUDIO_BOOST_REQUESTED_VERSION="${RSTUDIO_BOOST_REQUESTED_VERSION}" \
+ "$@"
+ cd ..
+
+--- rstudio-1.1.463-orig/src/tools/xcode-ubsan-build 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/tools/xcode-ubsan-build 2018-11-17 21:41:02.715507871 +1100
+@@ -15,13 +15,13 @@
+ # sanitizers released with newer versions of clang)
+ mkdir -p "${BUILD_DIR}"
+ cd "${BUILD_DIR}"
+-cmake ../cpp -GXcode \
+- -DLIBR_HOME="${R_HOME}" \
+- -DLIBR_INCLUDE_DIRS="${R_INCL}" \
+- -DLIBR_DOC_DIR="${R_DOCS}" \
+- -DRSTUDIO_USE_LIBCXX="Yes" \
+- -DRSTUDIO_USE_SYSTEM_BOOST="Yes" \
+- -DRSTUDIO_BOOST_VERSION="1.56.0" \
++cmake ../cpp -GXcode \
++ -DLIBR_HOME="${R_HOME}" \
++ -DLIBR_INCLUDE_DIRS="${R_INCL}" \
++ -DLIBR_DOC_DIR="${R_DOCS}" \
++ -DRSTUDIO_USE_LIBCXX="Yes" \
++ -DRSTUDIO_USE_SYSTEM_BOOST="Yes" \
++ -DRSTUDIO_BOOST_REQUESTED_VERSION="1.56.0" \
+ "$@"
+ cmake ../cpp -DLIBR_LIBRARIES="${R_LIBS}/libR.dylib"
+ cd ..
diff --git a/sci-mathematics/rstudio/files/rstudio-1.1.463-fix-ptr-int-compare.patch b/sci-mathematics/rstudio/files/rstudio-1.1.463-fix-ptr-int-compare.patch
new file mode 100644
index 000000000000..914cd942e8f4
--- /dev/null
+++ b/sci-mathematics/rstudio/files/rstudio-1.1.463-fix-ptr-int-compare.patch
@@ -0,0 +1,13 @@
+--- rstudio-1.1.463-orig/src/cpp/server/ServerSecureKeyFile.cpp 2018-10-25 09:42:55.000000000 +1100
++++ rstudio-1.1.463/src/cpp/server/ServerSecureKeyFile.cpp 2018-11-17 22:17:18.110012955 +1100
+@@ -79,8 +79,8 @@
+ return error;
+
+ // change mode it so it is only readable and writeable by this user
+- if (changeFileMode(secureKeyPath,
+- core::system::UserReadWriteMode) < 0)
++ if (!!changeFileMode(secureKeyPath,
++ core::system::UserReadWriteMode))
+ {
+ return systemError(errno, ERROR_LOCATION);
+ }
diff --git a/sci-mathematics/rstudio/rstudio-1.1.463.ebuild b/sci-mathematics/rstudio/rstudio-1.1.463.ebuild
new file mode 100644
index 000000000000..f2d6cf5a20f7
--- /dev/null
+++ b/sci-mathematics/rstudio/rstudio-1.1.463.ebuild
@@ -0,0 +1,253 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils user cmake-utils gnome2-utils pam versionator xdg-utils java-pkg-2 pax-utils qmake-utils
+
+# TODO
+# * package gin and gwt
+# * use dict from tree, linguas
+# * do src_test (use junit from tree?)
+
+# update from scripts in dependencies/common
+# egrep '(GWT_SDK_VER=|GIN_VER=|SELENIUM_VER=|CHROMEDRIVER_VER=)' dependencies/common/install-gwt
+GWT_VER=2.7.0
+GIN_VER=1.5
+SELENIUM_VER=2.37.0
+CHROMEDRIVER_VER=2.7
+# grep 'PANDOC_VERSION=' dependencies/common/install-pandoc
+PANDOC_VER=1.19.2.1
+# ls dependencies/common/*.tar.gz
+PACKRAT_VER=0.98.1000
+RMARKDOWN_VER=0.98.1000
+SHINYAPPS_VER=0.98.1000
+RSCONNECT_VER=0.4.1.4_fcac892a69817febd7b655b189bf57193260cda0
+
+DESCRIPTION="IDE for the R language"
+HOMEPAGE="
+ http://www.rstudio.org
+ https://github.com/rstudio/rstudio/"
+SRC_URI="
+ https://github.com/rstudio/rstudio/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://s3.amazonaws.com/rstudio-buildtools/gin-${GIN_VER}.zip
+ https://s3.amazonaws.com/rstudio-buildtools/gwt-${GWT_VER}.zip
+ https://s3.amazonaws.com/rstudio-buildtools/selenium-java-${SELENIUM_VER}.zip
+ https://s3.amazonaws.com/rstudio-buildtools/selenium-server-standalone-${SELENIUM_VER}.jar
+ https://s3.amazonaws.com/rstudio-buildtools/chromedriver-linux
+ https://s3.amazonaws.com/rstudio-dictionaries/core-dictionaries.zip
+ https://dev.gentoo.org/~gienah/distfiles/packrat-${PACKRAT_VER}.tar.gz
+ https://dev.gentoo.org/~gienah/distfiles/rmarkdown-${RMARKDOWN_VER}.tar.gz
+ https://dev.gentoo.org/~gienah/distfiles/shinyapps-${SHINYAPPS_VER}.tar.gz
+ https://dev.gentoo.org/~gienah/distfiles/rsconnect_${RSCONNECT_VER}.tar.gz
+"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="dedicated libressl server"
+
+QT_VER=5.4
+QT_SLOT=5
+RDEPEND="
+ >=app-text/pandoc-${PANDOC_VER}
+ dev-haskell/pandoc-citeproc
+ >=dev-lang/R-2.11.1
+ >=dev-libs/boost-1.63:=
+ >=dev-libs/mathjax-2.7.4
+ sys-apps/util-linux
+ >=sys-devel/clang-3.5.0:*
+ sys-libs/zlib
+ >=virtual/jre-1.8:=
+ x11-libs/pango
+ !dedicated? (
+ >=dev-qt/qtcore-${QT_VER}:${QT_SLOT}
+ >=dev-qt/qtdeclarative-${QT_VER}:${QT_SLOT}
+ >=dev-qt/qtdbus-${QT_VER}:${QT_SLOT}
+ >=dev-qt/qtgui-${QT_VER}:${QT_SLOT}
+ >=dev-qt/qtnetwork-${QT_VER}:${QT_SLOT}
+ >=dev-qt/qtopengl-${QT_VER}:${QT_SLOT}
+ >=dev-qt/qtpositioning-${QT_VER}:${QT_SLOT}
+ >=dev-qt/qtprintsupport-${QT_VER}:${QT_SLOT}
+ >=dev-qt/qtsingleapplication-2.6.1_p20150629[X,qt5(+)]
+ >=dev-qt/qtsensors-${QT_VER}:${QT_SLOT}
+ >=dev-qt/qtsql-${QT_VER}:${QT_SLOT}
+ >=dev-qt/qtsvg-${QT_VER}:${QT_SLOT}
+ >=dev-qt/qtwebchannel-${QT_VER}:${QT_SLOT}
+ >=dev-qt/qtwebkit-${QT_VER}:${QT_SLOT}
+ >=dev-qt/qtwidgets-${QT_VER}:${QT_SLOT}
+ >=dev-qt/qtxml-${QT_VER}:${QT_SLOT}
+ >=dev-qt/qtxmlpatterns-${QT_VER}:${QT_SLOT}
+ server? ( virtual/pam )
+ )
+ dedicated? ( virtual/pam )
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl:0 )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-java/ant-core
+ >=virtual/jdk-1.8:=
+ virtual/pkgconfig"
+# test? ( dev-java/junit:4 )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.99.879-prefs.patch"
+ "${FILESDIR}/${PN}-1.0.44-paths.patch"
+ "${FILESDIR}/${PN}-1.1.357-clang-pandoc.patch"
+ "${FILESDIR}/${PN}-0.98.490-linker_flags.patch"
+ "${FILESDIR}/${PN}-0.99.473-qtsingleapplication.patch"
+ "${FILESDIR}/${PN}-1.0.44-systemd.patch"
+ "${FILESDIR}/${PN}-1.1.453-boost-1.67.0.patch"
+ "${FILESDIR}/${PN}-1.1.453-core.patch"
+ "${FILESDIR}/${PN}-1.1.463-boost-1.69.0_p1.patch"
+ "${FILESDIR}/${PN}-1.1.463-boost-1.69.0_p2.patch"
+ "${FILESDIR}/${PN}-1.1.463-fix-ptr-int-compare.patch"
+)
+
+src_unpack() {
+ unpack ${P}.tar.gz gwt-${GWT_VER}.zip
+ cd "${S}" || die
+ mkdir -p src/gwt/lib/{gin,gwt} \
+ dependencies/common/dictionaries \
+ src/gwt/lib/selenium/${SELENIUM_VER} \
+ src/gwt/lib/selenium/chromedriver/${CHROMEDRIVER_VER} || die
+ mv ../gwt-${GWT_VER} src/gwt/lib/gwt/${GWT_VER} || die
+ unzip -qd src/gwt/lib/gin/${GIN_VER} \
+ "${DISTDIR}"/gin-${GIN_VER}.zip || die
+ unzip -qd dependencies/common/dictionaries \
+ "${DISTDIR}"/core-dictionaries.zip || die
+ unzip -qd src/gwt/lib/selenium/${SELENIUM_VER} \
+ "${DISTDIR}"/selenium-java-${SELENIUM_VER}.zip || die
+ cp "${DISTDIR}"/selenium-server-standalone-${SELENIUM_VER}.jar \
+ src/gwt/lib/selenium/${SELENIUM_VER}/ || die
+ cp "${DISTDIR}"/chromedriver-linux \
+ src/gwt/lib/selenium/chromedriver/${CHROMEDRIVER_VER}/ || die
+ cd dependencies/common || die
+ unpack packrat-${PACKRAT_VER}.tar.gz
+ unpack rmarkdown-${RMARKDOWN_VER}.tar.gz
+ unpack shinyapps-${SHINYAPPS_VER}.tar.gz
+ unpack rsconnect_${RSCONNECT_VER}.tar.gz
+ cp "${DISTDIR}"/rmarkdown-${RMARKDOWN_VER}.tar.gz \
+ . || die
+ cp "${DISTDIR}"/packrat-${PACKRAT_VER}.tar.gz \
+ . || die
+ cp "${DISTDIR}"/shinyapps-${SHINYAPPS_VER}.tar.gz \
+ . || die
+ cp "${DISTDIR}"/rsconnect_${RSCONNECT_VER}.tar.gz \
+ . || die
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+ java-pkg-2_src_prepare
+ egit_clean
+
+ # Enable CMake to install our .service file for systemd usage
+ mkdir -vp "${S}/src/cpp/server/lib/systemd/system" || die
+ cp -v "${FILESDIR}/rstudio-server.service.in" "${S}/src/cpp/server/lib/systemd/system/" || die
+
+ # Adding -DDISTRO_SHARE=... to append-flags breaks cmake so using
+ # this sed hack for now. ~RMH
+ sed -i \
+ -e "s|DISTRO_SHARE|\"share/${PN}\"|g" \
+ src/cpp/server/ServerOptions.cpp \
+ src/cpp/session/SessionOptions.cpp || die
+
+ # use mathjax from system
+ ln -sf "${EPREFIX}"/usr/share/mathjax dependencies/common/mathjax-26 || die
+
+ # make sure icons and mime stuff are with prefix
+ sed -i \
+ -e "s:/usr:${EPREFIX}/usr:g" \
+ CMakeGlobals.txt src/cpp/desktop/CMakeLists.txt || die
+
+ # On Gentoo the rstudio-server configuration file is /etc/conf.d/rstudio-server.conf
+ sed -e "s@/etc/rstudio/rserver.conf@${EROOT}etc/conf.d/rstudio-server.conf@" \
+ -i src/cpp/server/ServerOptions.cpp \
+ || die
+
+ # Set the rsession.conf file location for Gentoo prefix
+ sed -e "s@/etc/rstudio/rsession.conf@${EROOT}etc/rstudio/rsession.conf@" \
+ -i src/cpp/session/SessionOptions.cpp \
+ || die
+
+ # dev-qt/qtsingleapplication-2.6.1_p20150629 does not provide a cmake module.
+ # It provides a library that has its version number appended to the end,
+ # which is difficult to handle in cmake, as find_library does not support
+ # searching for wildcard library names. So I find the library name from the
+ # qmake spec, and then sed this into the patched src/cpp/desktop/CMakeLists.txt.
+ rm -rf "${S}"/src/cpp/desktop/3rdparty || die
+ local s=$(grep '\-lQt$${QT_MAJOR_VERSION}Solutions_SingleApplication' \
+ $(qt5_get_mkspecsdir)/features/qtsingleapplication.prf \
+ | sed -e 's@\$\${QT_MAJOR_VERSION}@5@' \
+ -e 's@LIBS \*= -l@@')
+ sed -e "s@Qt5Solutions_SingleApplication-2.6@${s}@g" \
+ -i "${S}"/src/cpp/desktop/CMakeLists.txt \
+ || die
+
+ # The git commit for tag: git rev-list -n 1 v${PV}
+ sed -e 's@git ARGS rev-parse HEAD@echo ARGS 6871a99b32add885fe6fa3d50fe15f62346142e7@'\
+ -i "${S}"/CMakeLists.txt \
+ "${S}"/CMakeGlobals.txt \
+ || die
+}
+
+src_configure() {
+ export RSTUDIO_VERSION_MAJOR=$(get_version_component_range 1)
+ export RSTUDIO_VERSION_MINOR=$(get_version_component_range 2)
+ export RSTUDIO_VERSION_PATCH=$(get_version_component_range 3)
+
+ local mycmakeargs=(
+ -DDISTRO_SHARE=share/${PN}
+ -DRSTUDIO_INSTALL_FREEDESKTOP="$(usex !dedicated "ON" "OFF")"
+ -DRSTUDIO_TARGET=$(usex dedicated "Server" "$(usex server "Development" "Desktop")")
+ -DQT_QMAKE_EXECUTABLE=$(qt5_get_bindir)/qmake
+ -DRSTUDIO_VERIFY_R_VERSION=FALSE
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ # Avoid the rest of the oracle-jdk-bin-1.8.0.60 sandbox violations F: mkdir S: deny
+ # P: /root/.oracle_jre_usage.
+ export ANT_OPTS="-Duser.home=${T}"
+ cmake-utils_src_compile
+}
+
+src_install() {
+ export ANT_OPTS="-Duser.home=${T}"
+ cmake-utils_src_install
+ pax-mark m "${ED}usr/bin/rstudio"
+ doconfd "${FILESDIR}"/rstudio-server.conf
+ dodir /etc/rstudio
+ insinto /etc/rstudio
+ doins "${FILESDIR}"/rsession.conf
+ dosym "${ROOT}etc/conf.d/rstudio-server.conf" "${ROOT}etc/rstudio/rserver.conf"
+ if use dedicated || use server; then
+ dopamd src/cpp/server/extras/pam/rstudio
+ newinitd "${FILESDIR}"/rstudio-server.initd rstudio-server
+ fi
+}
+
+pkg_preinst() {
+ use dedicated || gnome2_icon_savelist
+ java-pkg-2_pkg_preinst
+}
+
+pkg_postinst() {
+ use dedicated || { xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ gnome2_icon_cache_update ;}
+
+ if use dedicated || use server; then
+ enewgroup rstudio-server
+ enewuser rstudio-server -1 -1 -1 rstudio-server
+ fi
+}
+
+pkg_postrm() {
+ use dedicated || { xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ gnome2_icon_cache_update ;}
+}
diff --git a/sci-mathematics/why3-for-spark/Manifest b/sci-mathematics/why3-for-spark/Manifest
index acf43503242f..2353adb7ecce 100644
--- a/sci-mathematics/why3-for-spark/Manifest
+++ b/sci-mathematics/why3-for-spark/Manifest
@@ -2,6 +2,6 @@ AUX why3-for-spark-2017-gentoo.patch 1300 BLAKE2B 616ed7cf1d5c8494a0b9f724ef1b01
AUX why3-for-spark-2018-gentoo.patch 1015 BLAKE2B 201846ae0ef17bc6d777b7c1a8baddd1f684e82b811b16d2cce447423189a899f3e599cbf5cbd01630e2b246f8257ba5a890b20aaf62b0c1bc24e46642a37600 SHA512 871534c90f4f7c680f07dcd0bcacc4ce75c43b3132e8570b73e66316fe4333c244b9c443998916af7ff8fd297c20f7079ec5e8bf4c97207d0b7537722cd010a6
DIST why3-for-spark-gpl-2017-src.tar.gz 9248235 BLAKE2B d9eb7201dfd5962c88ac8995e3cd800bf318f575a5e6ff7d0219941c0f0c9052e6b2c95c7c16fcd81b90cac647d503041bf16560bd44b58e7e0ced1ef2314bd2 SHA512 8f444402f6c1744cd7c565117732935791b1ae7996a94314c40a66d125eae8a81f2257314246c94fd29d3cd16abcff6a50a152a1191a4aae39a2c8a8d7c3b9e1
DIST why3-for-spark-gpl-2018-src.tar.gz 7682767 BLAKE2B 0b0272ca4d5519ca402990b234d0847378bcd2a0949fea78ea10e355233a16aebe79b938cdf8e4daadabb909171cab83b9d6ccacf9f2dc1c0b57bb6da6fd1fe0 SHA512 fc798acf343484fd8e70f470a318753c9a0e9967ff579f20ec185bf3c2a75e7a4a556388fc86a378610ce4a467f3e722c6f610da34d4c33bc3d6b10551731f07
-EBUILD why3-for-spark-2017.ebuild 1797 BLAKE2B 8ca7d6ea2787bbe271924d1cecb1807da5c26f7e6342cac62c53d3c9f451c21eb892b8528900ea61fc54aa00bf5fa503dc4a77c7a13fcfceb342c6344d7d3bdc SHA512 b033c9f507637dfd10b759f9f7ffe89a1e7516d43fba2b1ad5e2cf4769d61fce9c6c61c6743ef54f5277994e9aec1656c981eac540b777d085232bcb79d2bd37
-EBUILD why3-for-spark-2018.ebuild 1709 BLAKE2B ed0f018d0025ef7d7c01624eb21387fb2ba506d3a5c08012ad9ec01afd8cacc2f4e2525ba197dc2308584a9e7cc931a7286844459c299385aebeb6e1394327e9 SHA512 a61b98a07a0e939be7ef65266df80be84e898dda3342d51c2e135300a1f3030b6b660de71023b3007805adc1a5ab016c652c05787380ee4e25c3a4599db76339
+EBUILD why3-for-spark-2017.ebuild 1793 BLAKE2B 8764c9d48d7582654b5fed8d6e3e7c5bc49488887f56d299b2e97777c0e3f8cdb2f755d6b916a921c550e8aaf756212c1bbb4ba6bdbba40b647fa462e2bae6ee SHA512 2cf8b76eef6ca80e2f6639f7d28c7442eaff1bea156d699b6948600250ec0b31ee74b6f35ceb9d840a84fa032a9f3b8ec86d5829a446596b2831d94b736249d4
+EBUILD why3-for-spark-2018.ebuild 1705 BLAKE2B 8cbf0c541584efa8ed1f48fa82ae1ac0907ed3b745aa48254ba3df84ff19d4ad78f3bc6557f64456711a52e926c6d404db12c5367276f173430d20e54e81ea9e SHA512 e3740ebce7707fa46739add8d3671594b575e21ee0c8f5644d9b27f3c208b6c9656abff9753d74029de54add141959ee11980be46e48f7605128eda07e9ccf83
MISC metadata.xml 1363 BLAKE2B 820bfc974ca6984f78340f223f8f19d12f0313016118110a35cfe149129c2dc189d6f03f34bf3d30c9d3e5d9c9ab90bba33dca4320c034821a7a89f97b92a7f9 SHA512 ee8323cc37fdea800e355fc14ba67cac66c3ec3c41528d481a7e938b1d3e23859bdddfb06d3b6653725cdcfcc0d07e66ba1d3cc80b3637a781db7bab5f7dc677
diff --git a/sci-mathematics/why3-for-spark/why3-for-spark-2017.ebuild b/sci-mathematics/why3-for-spark/why3-for-spark-2017.ebuild
index f79b8ccbe05c..d7e68eab3720 100644
--- a/sci-mathematics/why3-for-spark/why3-for-spark-2017.ebuild
+++ b/sci-mathematics/why3-for-spark/why3-for-spark-2017.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -14,7 +14,7 @@ SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed055
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="coq doc emacs gtk html hypothesis-selection +ocamlopt profiling zarith zip"
RESTRICT=strip
diff --git a/sci-mathematics/why3-for-spark/why3-for-spark-2018.ebuild b/sci-mathematics/why3-for-spark/why3-for-spark-2018.ebuild
index e766cce4ade3..da20dbb96af0 100644
--- a/sci-mathematics/why3-for-spark/why3-for-spark-2018.ebuild
+++ b/sci-mathematics/why3-for-spark/why3-for-spark-2018.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -14,7 +14,7 @@ SRC_URI="http://mirrors.cdn.adacore.com/art/5b0819dec7a447df26c27a43
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="coq doc emacs gtk html hypothesis-selection +ocamlopt profiling zarith zip"
RESTRICT=strip
diff --git a/sci-mathematics/wxmaxima/Manifest b/sci-mathematics/wxmaxima/Manifest
index e4d4ff312216..47200bc4c362 100644
--- a/sci-mathematics/wxmaxima/Manifest
+++ b/sci-mathematics/wxmaxima/Manifest
@@ -2,8 +2,10 @@ DIST wxmaxima-15.08.2.tar.gz 5592673 BLAKE2B cacb508cbcb24e27a43998ba0079b141179
DIST wxmaxima-18.02.0.tar.gz 10131174 BLAKE2B d2137d4dfb23244c677a64578ea8cd132514d6e80b39ed1ed938a64952fcd9928459a64ceafccd34ef925fea6161a79112da9e8091de2ba8f93b4137f3240692 SHA512 e40a5fa701bd40c279de95bc16269a72678443ef0bdb14c3770c81feeaf33ddfff6c10f00b32239adcdf696f2a449c6d88d168b732d1273764c98c6ff807fd84
DIST wxmaxima-18.10.0.tar.gz 12144997 BLAKE2B 78cfe2cfa5532271cc07eb7bb106b0c9708df4ae3086c02a859f51affe87dd813b3ca28b7fb1137cfb2acbef4f2ce12d2464c30a6dd39d47c028cf4f6c6b030e SHA512 b8cc4288db6bd673a7de7e05d3ff9e3dec1660a78944c2fcd80422cbb6102eea81de33dbc19e7f66e31e0a044be9e935a7f7323b855a1dd3302c3763e5c98196
DIST wxmaxima-18.10.2.tar.gz 12146348 BLAKE2B 3c43e807cd8eb2a7e2a6ec1cab82427a6e6df37d4d786639168008672a5763d545dd6387e969d0ff4d6db77d8155b7350a7673b273f00cb02c1779b82d64c35c SHA512 96cabe17a1df4134d991c4a1104da76375429038da03df6a09729b8afaf279788cb0859d723bb1c9cf3e24782f63aeb198b9407515108e0e637c48c410b70a37
+DIST wxmaxima-18.11.4.tar.gz 12156776 BLAKE2B 75be0fb88402af011885616a646f7abcad25516ea9b0b375daf02edac5518b113188290262bc431e8bfb4836fc1f731982a1c41c62871818e4d2cc68c96ccb31 SHA512 964de93edc5c46e98de3de405b1873fa0ed594d54f1ddc030377b023110261cb1e6b0b08dbf210551888bf890e28d16e9b1698768c93dde413d5e1918cbd234e
EBUILD wxmaxima-15.08.2.ebuild 1653 BLAKE2B 1822797d2cf9afbd98b08d4ad3384c118c592e3bf0a40af159bcf9793ec1f18a9e4019e94a270908942101b90b53564ac7c135b8c8ed65a169f70cdfad29c3af SHA512 2cdc1c72257ffe6cbcb6c833f6c0c91b857e784d8df6abb595cf9f6172abc78dbbb558a8835e8781d0fd493f2b18358c6ee7260200c524796c2b61f607b597ae
EBUILD wxmaxima-18.02.0.ebuild 1306 BLAKE2B e9227ebb6a08432cc507718df27e090ce4bf222ae892fa6d431b6a7ff40cc10ea6f15a3671b658455ac2668392c45c405a400984e3acfbb621da6310dcff17d3 SHA512 031882d9d1dd0ce36c43420c4ac58ae6d8d57a6c4743f58d8ebbb1087ff0ac8b29697d8539aecc75fdc19696cec47c4fa11ec232783e8b033f58f281dded395d
EBUILD wxmaxima-18.10.0.ebuild 1330 BLAKE2B b722ebd5caddfce54a7b614c84585ef0a7da5e4f88cb9fa1d3b441fa10a640f08484c1ebeb9051c53e14402f3330f3bd8d18d5f6623dad2d8bcde39327b86cea SHA512 c296f4fca6e7c4e4d27681f3d5198c84e87fd671726a4dacd596a1ea3d2b7086308ec7465f3464698ee0a91c2b2db9816c59fe4575f0ecacc5876a4608b4ae75
EBUILD wxmaxima-18.10.2.ebuild 1330 BLAKE2B b722ebd5caddfce54a7b614c84585ef0a7da5e4f88cb9fa1d3b441fa10a640f08484c1ebeb9051c53e14402f3330f3bd8d18d5f6623dad2d8bcde39327b86cea SHA512 c296f4fca6e7c4e4d27681f3d5198c84e87fd671726a4dacd596a1ea3d2b7086308ec7465f3464698ee0a91c2b2db9816c59fe4575f0ecacc5876a4608b4ae75
+EBUILD wxmaxima-18.11.4.ebuild 1330 BLAKE2B b722ebd5caddfce54a7b614c84585ef0a7da5e4f88cb9fa1d3b441fa10a640f08484c1ebeb9051c53e14402f3330f3bd8d18d5f6623dad2d8bcde39327b86cea SHA512 c296f4fca6e7c4e4d27681f3d5198c84e87fd671726a4dacd596a1ea3d2b7086308ec7465f3464698ee0a91c2b2db9816c59fe4575f0ecacc5876a4608b4ae75
MISC metadata.xml 711 BLAKE2B 00c54141e803d86fb20dc4f058fe99f6bbc2fd067175af6d0a5f893dc5a0b523fdd9116341ba33f991b11538989869337e1ce36c2259cfdb284725fed1aeaf60 SHA512 30a578958cbc4813e2615d0c3d7c4a1349f408933f285d3a43a382bf90bdf5c985ef1b844c4f8391205be643961de0335536ee800e1be24bf358bb4ead736fe5
diff --git a/sci-mathematics/wxmaxima/wxmaxima-18.11.4.ebuild b/sci-mathematics/wxmaxima/wxmaxima-18.11.4.ebuild
new file mode 100644
index 000000000000..56c7b4a3e198
--- /dev/null
+++ b/sci-mathematics/wxmaxima/wxmaxima-18.11.4.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+WX_GTK_VER="3.0"
+PLOCALES="ca cs da de el es fi fr gl hu it ja kab nb pl pt_BR ru tr uk zh_CN zh_TW"
+inherit cmake-utils wxwidgets l10n xdg-utils gnome2-utils
+
+DESCRIPTION="Graphical frontend to Maxima, using the wxWidgets toolkit"
+HOMEPAGE="http://wxmaxima-developers.github.io/wxmaxima/"
+SRC_URI="https://github.com/wxMaxima-developers/wxmaxima/archive/Version-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+S="${WORKDIR}"/${PN}-Version-${PV}
+
+DEPEND="
+ dev-libs/libxml2:2
+ x11-libs/wxGTK:${WX_GTK_VER}"
+RDEPEND="${DEPEND}
+ media-fonts/jsmath
+ sci-visualization/gnuplot[wxwidgets]
+ sci-mathematics/maxima"
+
+src_prepare() {
+ setup-wxwidgets
+ cmake-utils_src_prepare
+
+ sed -e "s|share/doc/${PN}|share/doc/${PF}|g" -i "${S}"/info/CMakeLists.txt \
+ || die "sed info/CMakeLists.txt failed"
+
+ # locales
+ rm_po() {
+ rm "${S}"/locales/${1}.po || die "rm ${1}.po failed"
+ }
+ l10n_find_plocales_changes "${S}"/locales '' '.po'
+ l10n_for_each_disabled_locale_do rm_po
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ gnome2_icon_cache_update
+}
diff --git a/sci-mathematics/z3/Manifest b/sci-mathematics/z3/Manifest
index fe2bbfe3057d..96a21389b901 100644
--- a/sci-mathematics/z3/Manifest
+++ b/sci-mathematics/z3/Manifest
@@ -1,6 +1,8 @@
AUX z3-4.4.1-gcc-6.patch 668 BLAKE2B d6d87a3f8204f04359b2843e6988b9ac2c13df9fae5d15ad0309848d98d2b909599f41fb157cb60efa43ec1179952f157cf78f3d7b1c7b5491b640868af7b212 SHA512 2efd883026643f365141665f257a863c6b22ad30327db82ad03719d33abfd58bc681cf4c9db9145098584817e57e59f7b1fe90a5390e72a49bce66cd23481f7f
DIST z3-4.4.1.tar.gz 3347371 BLAKE2B 57f090b891618613c4647a89620d12f2ac05ea110268e63b343594f53fa2cc7aa347781001e2778ea7dc1ce475c964ddeced7a82c304b4be706ad164fd17a285 SHA512 76991a24f47f2b53ceb8d7a9a6be19913c57994ffb6cf6acfe30f61b2e73959cf02a99f656053594fccb5aaf4d1f44b3ae7e51f1c8953b213d738ceeeaea74f8
DIST z3-4.5.0.tar.gz 3573695 BLAKE2B 285cc4d1f998d61ddb0b854044b7c79c1bb4cccf51bbdcba7c4a45698d74d9591f84d0aa74c5ef7c8aea2c6539ac987f29e326b44037e954108df67644dff594 SHA512 1ebc2c908d90b6b879f1e819c864ff894613276af47a440f27cf94968c195656952434754c3eb20f4bdbdd8497d227d22e1b4821c0d320b11052b5648d9e2dc7
+DIST z3-4.8.3.tar.gz 4119116 BLAKE2B 02535832a28ba09bb5b5c9354c77941bdce29fe977fa88d59e2e757fd6242b7d9ffcb0bbc0f9462ac7fd58bc29020be848b27311cf3f51cd60e84f66713a05e1 SHA512 34a2dca0083ed469fdaf5ac062dda26248633245607ddd9ef90629c5f76ae30f87bfa4191c04ba9be7a617bf182a1bd00b59fd2274699e12ece69b86088c8044
EBUILD z3-4.4.1.ebuild 4306 BLAKE2B 7e81603d96667c8e5748467668615f07a9e2194be963b67ae94eb90b29252d7fb53be373df21efbbea007aa8671609f2199fcb8a5f866b1f284228ad0d6e9d00 SHA512 1a370b019b33e83d5984b6abf321b39ff25f3b633ca60b2c48ddf9e33b30252389b5cb6f2e34e0dc1103730c9e5bf60ac688d67914d9c5dae52cf5fc5354620c
EBUILD z3-4.5.0.ebuild 4721 BLAKE2B 8d0dab01c8c06bb07462bb51311520bb9f600b64ab43dd1ad5975c39554416d1a019665d30079535f5e20cefa5d65c6e6eb7140fd2ebc90cd2c363e9c732421c SHA512 e52d01917d884d10c24bf081303bdef7b1efa3b042f838ebc7de678a473fdd01d7738a216c9e14c4929b847fe7e5c3abe7a92bdafc827a1c1aa54b86abe46664
-MISC metadata.xml 780 BLAKE2B 650a71c6c499a43c632a5c3d2ef29abf61f34831ffe5b01c28de6efae816e4ede104b0376cf263eec9e6cbfa77b4f95799a1ab7ed91b4e83229f8a207aa823ef SHA512 0be5e944d18dad2cc18350eae6e736f1c5b3705e5a05115a6de8df8ec37322b240952784673e59a3daf51253a3fb91b952b50a3c14628747156b4ff12f09b624
+EBUILD z3-4.8.3.ebuild 2553 BLAKE2B 2da1ac99c690c15575fc93f71f4283ca3cd47adabad11131e96c8b8d56df9b91dda34f3a5691bc768eca49ba592c2781c204d25abfea60bbe032fabf43d06693 SHA512 9a108c53195e7a550e163f310a159496730d3b17a2ca582e321a12077f4d24bdc3b97d8b2e0d9ec7ceb82fdc957f6c44bf66d0c51208e1227a4bd51f2793f753
+MISC metadata.xml 862 BLAKE2B 1d219fcfb0772a48ec398a51b8916748db336730b91b66e336e8df0b8522b9a47df718d6303aff5f305b699e9297aaad9b352c69d529a93f66cf2a1b76c8f094 SHA512 2a5cc11ae87199a23c72ffb7366c65cbb33683bb6ad142d1df84a65b56bd69f50907bca69f066a1c860947254c241089521c026bac9ff92bd405038c266907ef
diff --git a/sci-mathematics/z3/metadata.xml b/sci-mathematics/z3/metadata.xml
index 350861622f3d..15735c68e920 100644
--- a/sci-mathematics/z3/metadata.xml
+++ b/sci-mathematics/z3/metadata.xml
@@ -4,6 +4,9 @@
<maintainer type="person">
<email>gienah@gentoo.org</email>
</maintainer>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ </maintainer>
<maintainer type="project">
<email>haskell@gentoo.org</email>
<name>Gentoo Haskell</name>
diff --git a/sci-mathematics/z3/z3-4.8.3.ebuild b/sci-mathematics/z3/z3-4.8.3.ebuild
new file mode 100644
index 000000000000..7c82aaa652f3
--- /dev/null
+++ b/sci-mathematics/z3/z3-4.8.3.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_{4,5,6,7}} )
+
+inherit cmake-utils python-single-r1 toolchain-funcs
+
+DESCRIPTION="An efficient theorem prover"
+HOMEPAGE="http://z3.codeplex.com/"
+SRC_URI="https://github.com/Z3Prover/z3/archive/${P}.tar.gz"
+
+SLOT="0/4.8"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples gmp isabelle java openmp python"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ gmp? ( dev-libs/gmp:0= )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ java? ( >=virtual/jdk-1.8 )"
+
+S=${WORKDIR}/${PN}-${P}
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+pkg_setup() {
+ python_setup
+
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if use openmp && ! tc-has-openmp; then
+ ewarn "Please use an openmp compatible compiler"
+ ewarn "like >gcc-4.2 with USE=openmp"
+ die "Openmp support missing in compiler"
+ fi
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${P}"
+ -DUSE_LIB_GMP=$(usex gmp)
+ -DUSE_OPENMP=$(usex openmp)
+ -DENABLE_EXAMPLE_TARGETS=OFF
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DBUILD_PYTHON_BINDINGS=$(usex python)
+ -DBUILD_JAVA_BINDINGS=$(usex java)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ cmake-utils_src_make test-z3
+ set -- "${BUILD_DIR}"/test-z3 /a
+ echo "${@}" >&2
+ "${@}" || die
+}
+
+src_install() {
+ local DOCS=( "README.md" "RELEASE_NOTES" )
+ cmake-utils_src_install
+
+ use examples && dodoc -r examples
+ use python && python_optimize
+
+ if use isabelle; then
+ insinto /usr/share/Isabelle/contrib/${P}/etc
+ newins - settings <<-EOF
+ Z3_COMPONENT="\$COMPONENT"
+ Z3_HOME="${EPREFIX}/usr/bin"
+ Z3_SOLVER="${EPREFIX}/usr/bin/z3"
+ Z3_REMOTE_SOLVER="z3"
+ Z3_VERSION="${PV}"
+ Z3_INSTALLED="yes"
+ Z3_NON_COMMERCIAL="yes"
+ EOF
+ fi
+}
+
+pkg_postinst() {
+ if use isabelle; then
+ if [[ -f ${ROOT%/}/etc/isabelle/components ]]; then
+ sed -e "/contrib\/${PN}-[0-9.]*/d" \
+ -i "${ROOT%/}/etc/isabelle/components" || die
+ cat <<-EOF >> "${ROOT%/}/etc/isabelle/components" || die
+ contrib/${P}
+ EOF
+ fi
+ fi
+}
+
+pkg_postrm() {
+ if use isabelle; then
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ if [[ -f "${ROOT%/}/etc/isabelle/components" ]]; then
+ # Note: this sed should only match the version of this ebuild
+ # Which is what we want as we do not want to remove the line
+ # of a new Isabelle component being installed during an upgrade.
+ sed -e "/contrib\/${P}/d" \
+ -i "${ROOT%/}/etc/isabelle/components" || die
+ fi
+ fi
+ fi
+}