summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin19337 -> 19348 bytes
-rw-r--r--dev-lang/qu-prolog/Manifest2
-rw-r--r--dev-lang/qu-prolog/files/qu-prolog-10.0-qt5.patch35
-rw-r--r--dev-lang/qu-prolog/qu-prolog-10.0-r1.ebuild101
-rw-r--r--dev-lang/rust/Manifest4
-rw-r--r--dev-lang/rust/files/1.23.0-separate-libdir.patch180
-rw-r--r--dev-lang/rust/metadata.xml2
-rw-r--r--dev-lang/rust/rust-1.23.0-r1.ebuild172
-rw-r--r--dev-lang/swi-prolog/Manifest4
-rw-r--r--dev-lang/swi-prolog/swi-prolog-7.6.4.ebuild146
-rw-r--r--dev-lang/swi-prolog/swi-prolog-7.7.8.ebuild146
-rw-r--r--dev-lang/vala/Manifest2
-rw-r--r--dev-lang/vala/vala-0.36.7.ebuild2
13 files changed, 793 insertions, 3 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 54583606263d..c9727f83905d 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/qu-prolog/Manifest b/dev-lang/qu-prolog/Manifest
index 58ea3f0df856..408f0488d1ca 100644
--- a/dev-lang/qu-prolog/Manifest
+++ b/dev-lang/qu-prolog/Manifest
@@ -1,6 +1,8 @@
AUX qu-prolog-10.0-associated-item.patch 335 BLAKE2B f80af03e270ca823452a8fe88e83d915d394d9ba7d043d3afdee5bdb7bfdce1bdb1b268a13b65c024f75005b78126f1f0ae04c6eda7aba234acc47fd51a64298 SHA512 3b4cefaecacb1e1fb8df8804f198563e99ee69b2ffbdc421e56fb34faeb5ed1a87809b4acf917999ac5e25982e522c8b08775cf9bcf1c01675a77521d372913f
AUX qu-prolog-10.0-configure.patch 518 BLAKE2B f63f876b8b3048e74092bf398df89f951e976019e548e3563506c20aa69e9a08bd7d21a8a13240c7416a0b5edd592c8d86b43e13586acaa2366770729cf578b7 SHA512 85e484b8086054166740dd757b95547179afa5c199c240b43dcef531aeedd812f4fcb35003a888708c90db5d7bb1ffd22cf9bef1fd31f339ec0894ddde365cd9
AUX qu-prolog-10.0-gcc6.patch 906 BLAKE2B 5d1e1b7632faa993c2a0bfc087cce0d73ed33e65997615aec0c053dbf2905e58506fbeed3934a4944ad0309bfbffc748285a75095ef5483703e33250cb617cc1 SHA512 bbf5a1d5749964bc5c0e8e530de3729bf1666e541f908ddc66debc696a6b6b4dc55373ef788348f02e33aa58afa5a350f7be866bfb1e4c31c917f334e9dc9ca6
+AUX qu-prolog-10.0-qt5.patch 1037 BLAKE2B d66f62aee4ad43eb400d33895c5222b6ccaa407dbb33d44326f7d29375b57ee846d90d48708915a31a9586481f354e65c93b2f7da06ccd2e49ab984850ec74e7 SHA512 8c82d180adfc290885273dd4dafbbb7cdcca3c2854854401f1123dd562699490c8fd77a54a5707425c852871091074ed4bbefa96b53782dbb06b6c1c57dfce53
DIST qp10.0.tar.gz 1521469 BLAKE2B ab293e5b14529c3714ba123c5f37f7fe2ac4f6238ebaca00fa7781407ccf7df67515b1b6b3c80a358fae5988c799bf16b8f02eb52a9b3a690b155a150ac90063 SHA512 491ef9cc01f0d34163d47163b3103dcbd52cc5672f64057b898c2d234384ac2e3b64b4e59a1795765ff92de4c97ebdb11a82d394213685c387e4dd7d598c5c60
+EBUILD qu-prolog-10.0-r1.ebuild 2063 BLAKE2B e686b14f280fd667722380b9be0b911db3fc1abb6181483039c79ed2f180e362dc7481f00f20ee54683e127a3af9a76153fe9a86238205a6cef048de0325e8ca SHA512 48bde9e0be2710e5242484df5b47362253e63e3a5b6cd4e616e42c88d247cbc3d7e2e269296c4ffc90b3b061930e061b38191e4ee34741b6fdbca6ce1eb06608
EBUILD qu-prolog-10.0.ebuild 1998 BLAKE2B 44c493fba0a005cbb8ba8c6fab3fb1678f684a8da8ac7d828828193c685b315d217adacc292bc1bb692253a2d087efe057f27c1b4c9ec57aad7b7bf7f2d4cedf SHA512 0df66e1f943662396070621cac0adbf8cd2f6e9109b5e1c231281708eead667da180e04a022dc8329bae408ec4862fa7a239c3478c0120d75d4dab66c59cd2cf
MISC metadata.xml 347 BLAKE2B d0d2ead501a46ff84953eceee649d58e406ebf5a83e7b7862b9501b2e665ad71b5c9c31f4790161074debb7b86ce7e53ff8d0904c39c37ddcac6250668685aca SHA512 7a7bb3ccaa42fa120c3702d963719d5fdfcf0a413685cad98bd34a515a4cc83a213a71e7f3b6b0ce67947fa347229caecf699879192f0d930c9c6577e0ce59cc
diff --git a/dev-lang/qu-prolog/files/qu-prolog-10.0-qt5.patch b/dev-lang/qu-prolog/files/qu-prolog-10.0-qt5.patch
new file mode 100644
index 000000000000..d82e78cada16
--- /dev/null
+++ b/dev-lang/qu-prolog/files/qu-prolog-10.0-qt5.patch
@@ -0,0 +1,35 @@
+diff -ur qp10.0.orig/src/xqp/term.cc qp10.0/src/xqp/term.cc
+--- qp10.0.orig/src/xqp/term.cc 2008-07-09 07:32:37.000000000 +0200
++++ qp10.0/src/xqp/term.cc 2018-01-27 14:06:54.101545854 +0100
+@@ -38,7 +38,7 @@
+
+ bool graphic_char(QChar c)
+ {
+- switch (c.toAscii())
++ switch (c.toLatin1())
+ {
+ case '-':
+ case '/':
+diff -ur qp10.0.orig/src/xqp/xqp.cc qp10.0/src/xqp/xqp.cc
+--- qp10.0.orig/src/xqp/xqp.cc 2011-07-14 01:08:42.000000000 +0200
++++ qp10.0/src/xqp/xqp.cc 2018-01-27 14:07:53.902543353 +0100
+@@ -167,7 +167,7 @@
+
+ void Xqp::send_cmd_to_qp(QString cmd)
+ {
+- write(qp_stdin, cmd.toAscii(), cmd.length());
++ write(qp_stdin, cmd.toLatin1(), cmd.length());
+ }
+
+
+diff -ur qp10.0.orig/src/xqp/xqp.pro qp10.0/src/xqp/xqp.pro
+--- qp10.0.orig/src/xqp/xqp.pro 2008-07-09 07:32:37.000000000 +0200
++++ qp10.0/src/xqp/xqp.pro 2018-01-27 14:01:24.764559627 +0100
+@@ -4,6 +4,7 @@
+
+ TEMPLATE = app
+ INCLUDEPATH += .
++QT += widgets
+
+ # Input
+ HEADERS += interact.h qpconfig.h qthelp.h term.h xqp.h xqpqueries.h
diff --git a/dev-lang/qu-prolog/qu-prolog-10.0-r1.ebuild b/dev-lang/qu-prolog/qu-prolog-10.0-r1.ebuild
new file mode 100644
index 000000000000..bb5af2782e14
--- /dev/null
+++ b/dev-lang/qu-prolog/qu-prolog-10.0-r1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils multilib qmake-utils
+
+MY_P=qp${PV}
+
+DESCRIPTION="Extended Prolog supporting quantifiers, object-variables and substitutions"
+HOMEPAGE="http://www.itee.uq.edu.au/~pjr/HomePages/QuPrologHome.html"
+SRC_URI="http://www.itee.uq.edu.au/~pjr/HomePages/QPFiles/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug doc examples pedro qt5 readline threads"
+
+RDEPEND="
+ !dev-util/mpatch
+ !dev-util/rej
+ !games-rpg/kqlives
+ qt5? (
+ dev-qt/qtwidgets:5
+ dev-qt/qtgui:5
+ )
+ pedro? ( net-misc/pedro )
+ readline? ( app-misc/rlwrap )"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+S="${WORKDIR}"/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-configure.patch
+ epatch "${FILESDIR}"/${P}-associated-item.patch
+ epatch "${FILESDIR}"/${P}-gcc6.patch
+ epatch "${FILESDIR}"/${P}-qt5.patch
+}
+
+src_configure() {
+ econf \
+ --libdir=/usr/$(get_libdir) \
+ $(use_enable debug) \
+ $(use_enable threads multiple-threads)
+
+ if use qt5; then
+ cd "${S}"/src/xqp || die
+ eqmake5 xqp.pro
+ fi
+}
+
+src_compile() {
+ emake OPTIMISATION="${CXXFLAGS}"
+
+ if use qt5; then
+ cd "${S}"/src/xqp || die
+ emake
+ fi
+}
+
+src_install() {
+ sed \
+ -e "s|${S}|/usr/$(get_libdir)/qu-prolog|g" \
+ -i bin/qc bin/qc1.qup bin/qecat bin/qg bin/qp || die
+
+ dobin bin/{qc,qecat,qp,kq}
+
+ use qt5 && dobin src/xqp/xqp
+
+ into /usr/$(get_libdir)/${PN}
+ dobin bin/{qa,qc1.qup,qdeal,qem,qg,ql,qppp}
+
+ insinto /usr/$(get_libdir)/${PN}/bin
+ doins bin/rl_commands
+ doins bin/{qc1.qup,qecat,qg,qp}.qx
+
+ insinto /usr/$(get_libdir)/${PN}/library
+ doins prolog/library/*.qo
+
+ insinto /usr/$(get_libdir)/${PN}/compiler
+ doins prolog/compiler/*.qo
+
+ doman doc/man/man1/*.1
+
+ dodoc README
+
+ if use doc ; then
+ docinto reference-manual
+ dodoc doc/manual/*.html
+ docinto user-guide
+ dodoc doc/user/main.pdf
+ fi
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.ql
+ docinto examples
+ newdoc examples/README README.examples
+ fi
+}
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index 687e38caa169..af03111d09c4 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -1,3 +1,4 @@
+AUX 1.23.0-separate-libdir.patch 7268 BLAKE2B 9bd685bb53a98329826da86335bc9524c8969b8bc529eb98c14889d42edc32fd7ac85446f5a6dc68c4262461c32d01f11d093945833714a93376c5acab9000c0 SHA512 7bb0975706f6b6e47a3145bee895bd3ef648c2478f265e82dfccb745d968277dc499ec480ccf29d99093f395d48cd86d55dd15fe613fb73a062c5f3836893634
DIST cargo-0.19.0-i686-unknown-linux-gnu.tar.gz 5068212 BLAKE2B 4fd16e33b220ae496603cd5a16055557d96cbbf04943040c36f6121eb3b7e53d5644a6e0cd8794d3485bb323f0a719e921be8a944f466cd4dc317d82b1b8deea SHA512 bfe5df682eb566c91995b8c00b5e8edb5d2c3410d1baa5be2ede2e39260b653d34b7723c6c3e8f07d8102ffab50b13e62f9f2d816dad8fba9f39b7bec984181e
DIST cargo-0.19.0-x86_64-unknown-linux-gnu.tar.gz 5133993 BLAKE2B 39eed4905b06a9f28340b1ca0362dd9d592b5ab6a11ceb8a749069827b65b25c34b8020ca434b3174733dcdda2c38b460c7c0d9b877ff2fed1a790f5f70d9c5a SHA512 6fedb8f83d70dc4fb93a29d400577a5578ceed1448f4e85e8a9509b98b037a125532ebfb6a7e6bc9411501ea74774d2c47ac7e2bcb7ac82baeb925abc46609e8
DIST rust-1.22.0-i686-unknown-linux-gnu.tar.gz 151889962 BLAKE2B cf2f30fdc01cbcf45de427b5a5a226b8482f3fc13e122cc4f021a75f648678b23a789706b54b6425346bdba57224898809102d97bfee8b143f90763ea985b6c3 SHA512 b46eb37f918833f1dbf3700fe156f26eff19dc90534434add5aa2d86b8ccc02aef273cba6a8291deaa89d27d2bd4af1529655b6463f44736a9f521a67cccc4f0
@@ -17,5 +18,6 @@ DIST rustc-1.23.0-src.tar.gz 60010149 BLAKE2B 64bba97fd1a16d3162b65b0d8dd2024ca0
EBUILD rust-1.15.1.ebuild 3984 BLAKE2B 282c07c0a78dcac9e862dc2c8788c3231d93a64e6276569ef4a609b155e30917d0412b9603a245fa818807d1726941a11ee335e15f17fbfe1e8f1d94e8d0d8de SHA512 a6b14e295a562308f5d9bfa2e5087c5ede31c93a99cc41b37fcabca42042ed958384660e51486372127d2262feb1071e3ffd386c974d86ad7647eb9c0ef8648d
EBUILD rust-1.16.0.ebuild 3840 BLAKE2B 163ebba85b39e44406fd8b7dc9e5c1f9e929702a167f8ccb00605dd7e97f3e57101bc04ceb13887c3bfe1a79bd80f52f26f9f98727b1b2ceddb7a69bfd0c7924 SHA512 8c661074f6a53f6d8397d712c8236dfc34f18c386e699a1ab1db9a9eceba9e776c09c733ad615a1897916f1268c46e58a56c5f80cd2efe787fca5f8fdc8591e4
EBUILD rust-1.19.0.ebuild 4145 BLAKE2B 0a8abe73955900466c432df65d77d18bc7d01fa570f5b3c7876f4cf465f2c1cc5821d554352343a62fd0e1330cb97735665821ed8cc8223d98667292e05a00d0 SHA512 0da72a60a704d7215a3dea336e780c81473253ea3ccbfc41c1cef4cf2b2f86a791a41f42356a8958088d6522e6c3a917cfa196d14556feef5f56667b92012739
+EBUILD rust-1.23.0-r1.ebuild 4433 BLAKE2B 486915352c87a05677f58b9b0a87a8ec3cf956176db7cb34adbff4c86d9548bbf0d6a95e2ab5e7bf75f715ca1f307496e83bc07773a0e27a9cfc8a7386f052c9 SHA512 3d7db4d28f5fa66e8909be2d5deda2a09e45d97f4ef5d318e3b35650e0a768b278115a0c2624cfaff9b8e86504f9d3db5dc31633884736dbbfb444e591bda4e9
EBUILD rust-1.23.0.ebuild 4494 BLAKE2B 10bb2d2bf83471ef0e78887265ec8fed165decf68034a1760d8ae6400dc93c8eb02d7e5cd36c096e1b11ee63eeca672fe4d609f49941fe42e4e8a72e0a549b8e SHA512 07dddcee213e0c655e4308f7702b9e8f447ae91fa9dfc5e2ecbaa0cd5c9dc2ebe9ec8406d553f33940ad09fb7bc7a122e385916e273e25b170ce6a11e419fb0c
-MISC metadata.xml 681 BLAKE2B 7d0307b56ec14694217b342794496b44a8b74cde85b710c7dddaa157d6553764b46d1c090921d25a62fc45adac8ee20042d423e24a575ac5771d695e6db5cec3 SHA512 c9afbd24ea1d2f1d68ef15d7fa1443b71bc396691bcd3e724ef74a84bb346145d236e7021e9beb9df512c859cae9bf741bfd6e7582b0a7df273ba05a8774d999
+MISC metadata.xml 793 BLAKE2B fbeeb3bb440bfb25a146d8bfc6de612acfec8400b911d444b1f70a161bee6c8cbbe66ccfa161421dfa03c7f1697e9658a3b592ca79647e3cc891fab8bcd60666 SHA512 fc98caa78085b3d35c5ccb31c339e893e422cc9a9c7a2e4d50c9c88d7670311db4125420cd483e7c468179a11962700ad9038ebd054039fce74adb4c8ab058c0
diff --git a/dev-lang/rust/files/1.23.0-separate-libdir.patch b/dev-lang/rust/files/1.23.0-separate-libdir.patch
new file mode 100644
index 000000000000..dcf1762d2fa5
--- /dev/null
+++ b/dev-lang/rust/files/1.23.0-separate-libdir.patch
@@ -0,0 +1,180 @@
+From c520b2dd277f13dc09e8e72c486e5c58fb97017d Mon Sep 17 00:00:00 2001
+From: O01eg <o01eg@yandex.ru>
+Date: Wed, 29 Nov 2017 12:32:03 +0300
+Subject: [PATCH] Fix #45345.
+
+Re-implement
+
+```bash
+CFG_LIBDIR_RELATIVE=`echo ${CFG_LIBDIR} | cut -c$((${#CFG_PREFIX}+${CAT_INC}))-`
+```
+
+from old `configure` script.
+
+Accept verbosity in rustdoc.
+
+Stage 1 and later use relative libdir.
+
+Build all stages with relative libdirs.
+
+Add library path for real rustdoc with `RUSTDOC_LIBDIR` environment variable.
+
+Remove unused argument `rustc_cargo`.
+
+Remove unused configuration parameter `libdir_relative`.
+---
+ src/bootstrap/bin/rustdoc.rs | 13 ++++++++++++-
+ src/bootstrap/builder.rs | 9 ++++++---
+ src/bootstrap/check.rs | 2 +-
+ src/bootstrap/compile.rs | 13 ++++---------
+ src/bootstrap/config.rs | 1 -
+ src/bootstrap/doc.rs | 2 +-
+ 6 files changed, 24 insertions(+), 16 deletions(-)
+
+diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs
+index 4e975adc97..24312b50ec 100644
+--- a/src/bootstrap/bin/rustdoc.rs
++++ b/src/bootstrap/bin/rustdoc.rs
+@@ -23,10 +23,17 @@ use std::path::PathBuf;
+ fn main() {
+ let args = env::args_os().skip(1).collect::<Vec<_>>();
+ let rustdoc = env::var_os("RUSTDOC_REAL").expect("RUSTDOC_REAL was not set");
+- let libdir = env::var_os("RUSTC_LIBDIR").expect("RUSTC_LIBDIR was not set");
++ let libdir = env::var_os("RUSTDOC_LIBDIR").expect("RUSTDOC_LIBDIR was not set");
+ let stage = env::var("RUSTC_STAGE").expect("RUSTC_STAGE was not set");
+ let sysroot = env::var_os("RUSTC_SYSROOT").expect("RUSTC_SYSROOT was not set");
+
++ use std::str::FromStr;
++
++ let verbose = match env::var("RUSTC_VERBOSE") {
++ Ok(s) => usize::from_str(&s).expect("RUSTC_VERBOSE should be an integer"),
++ Err(_) => 0,
++ };
++
+ let mut dylib_path = bootstrap::util::dylib_path();
+ dylib_path.insert(0, PathBuf::from(libdir));
+
+@@ -59,6 +66,10 @@ fn main() {
+ .arg("--crate-version").arg(version);
+ }
+
++ if verbose > 1 {
++ eprintln!("rustdoc command: {:?}", cmd);
++ }
++
+ std::process::exit(match cmd.status() {
+ Ok(s) => s.code().unwrap_or(1),
+ Err(e) => panic!("\n\nfailed to run {:?}: {}\n\n", cmd, e),
+diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
+index c76900882b..1927a604c5 100644
+--- a/src/bootstrap/builder.rs
++++ b/src/bootstrap/builder.rs
+@@ -357,8 +357,8 @@ impl<'a> Builder<'a> {
+
+ fn run(self, builder: &Builder) -> Interned<PathBuf> {
+ let compiler = self.compiler;
+- let lib = if compiler.stage >= 2 && builder.build.config.libdir_relative.is_some() {
+- builder.build.config.libdir_relative.clone().unwrap()
++ let lib = if compiler.stage >= 1 && builder.build.config.libdir.is_some() {
++ builder.build.config.libdir.clone().unwrap()
+ } else {
+ PathBuf::from("lib")
+ };
+@@ -416,7 +416,7 @@ impl<'a> Builder<'a> {
+ let compiler = self.compiler(self.top_stage, host);
+ cmd.env("RUSTC_STAGE", compiler.stage.to_string())
+ .env("RUSTC_SYSROOT", self.sysroot(compiler))
+- .env("RUSTC_LIBDIR", self.sysroot_libdir(compiler, self.build.build))
++ .env("RUSTDOC_LIBDIR", self.sysroot_libdir(compiler, self.build.build))
+ .env("CFG_RELEASE_CHANNEL", &self.build.config.channel)
+ .env("RUSTDOC_REAL", self.rustdoc(host))
+ .env("RUSTDOC_CRATE_VERSION", self.build.rust_version())
+@@ -496,6 +496,9 @@ impl<'a> Builder<'a> {
+ if let Some(target_linker) = self.build.linker(target) {
+ cargo.env("RUSTC_TARGET_LINKER", target_linker);
+ }
++ if cmd != "build" {
++ cargo.env("RUSTDOC_LIBDIR", self.rustc_libdir(self.compiler(2, self.build.build)));
++ }
+
+ if mode != Mode::Tool {
+ // Tools don't get debuginfo right now, e.g. cargo and rls don't
+diff --git a/src/bootstrap/check.rs b/src/bootstrap/check.rs
+index 4d69b19c73..d926c2b901 100644
+--- a/src/bootstrap/check.rs
++++ b/src/bootstrap/check.rs
+@@ -1171,7 +1171,7 @@ impl Step for Crate {
+ }
+ Mode::Librustc => {
+ builder.ensure(compile::Rustc { compiler, target });
+- compile::rustc_cargo(build, &compiler, target, &mut cargo);
++ compile::rustc_cargo(build, target, &mut cargo);
+ ("librustc", "rustc-main")
+ }
+ _ => panic!("can only test libraries"),
+diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
+index db013691bb..d60feb1aff 100644
+--- a/src/bootstrap/compile.rs
++++ b/src/bootstrap/compile.rs
+@@ -485,7 +485,7 @@ impl Step for Rustc {
+ build.clear_if_dirty(&stage_out, &libtest_stamp(build, compiler, target));
+
+ let mut cargo = builder.cargo(compiler, Mode::Librustc, target, "build");
+- rustc_cargo(build, &compiler, target, &mut cargo);
++ rustc_cargo(build, target, &mut cargo);
+ run_cargo(build,
+ &mut cargo,
+ &librustc_stamp(build, compiler, target));
+@@ -500,7 +500,6 @@ impl Step for Rustc {
+
+ /// Same as `std_cargo`, but for libtest
+ pub fn rustc_cargo(build: &Build,
+- compiler: &Compiler,
+ target: Interned<String>,
+ cargo: &mut Command) {
+ cargo.arg("--features").arg(build.rustc_features())
+@@ -514,13 +513,9 @@ pub fn rustc_cargo(build: &Build,
+ .env("CFG_VERSION", build.rust_version())
+ .env("CFG_PREFIX", build.config.prefix.clone().unwrap_or_default());
+
+- if compiler.stage == 0 {
+- cargo.env("CFG_LIBDIR_RELATIVE", "lib");
+- } else {
+- let libdir_relative =
+- build.config.libdir_relative.clone().unwrap_or(PathBuf::from("lib"));
+- cargo.env("CFG_LIBDIR_RELATIVE", libdir_relative);
+- }
++ let libdir_relative =
++ build.config.libdir.clone().unwrap_or(PathBuf::from("lib"));
++ cargo.env("CFG_LIBDIR_RELATIVE", libdir_relative);
+
+ // If we're not building a compiler with debugging information then remove
+ // these two env vars which would be set otherwise.
+diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
+index 35e62f17f2..1ca19187cf 100644
+--- a/src/bootstrap/config.rs
++++ b/src/bootstrap/config.rs
+@@ -119,7 +119,6 @@ pub struct Config {
+ pub docdir: Option<PathBuf>,
+ pub bindir: Option<PathBuf>,
+ pub libdir: Option<PathBuf>,
+- pub libdir_relative: Option<PathBuf>,
+ pub mandir: Option<PathBuf>,
+ pub codegen_tests: bool,
+ pub nodejs: Option<PathBuf>,
+diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs
+index 3c12cfc4c7..1314d967d8 100644
+--- a/src/bootstrap/doc.rs
++++ b/src/bootstrap/doc.rs
+@@ -616,7 +616,7 @@ impl Step for Rustc {
+ t!(symlink_dir_force(&my_out, &out_dir));
+
+ let mut cargo = builder.cargo(compiler, Mode::Librustc, target, "doc");
+- compile::rustc_cargo(build, &compiler, target, &mut cargo);
++ compile::rustc_cargo(build, target, &mut cargo);
+
+ if build.config.compiler_docs {
+ // src/rustc/Cargo.toml contains a bin crate called rustc which
+--
+2.13.6
+
diff --git a/dev-lang/rust/metadata.xml b/dev-lang/rust/metadata.xml
index 050e235f7195..c1882e581cf9 100644
--- a/dev-lang/rust/metadata.xml
+++ b/dev-lang/rust/metadata.xml
@@ -7,6 +7,8 @@
</maintainer>
<use>
<flag name="clang">Use <pkg>sys-devel/clang</pkg> for building</flag>
+ <flag name="extended">Build and install rls, rustfmt and cargo
+ alongside the compiler and stdlib</flag>
<flag name="libcxx">Use <pkg>sys-libs/libcxx</pkg> as standard
library when building with <pkg>sys-devel/clang</pkg></flag>
<flag name="system-llvm">Use system <pkg>sys-devel/llvm</pkg> in
diff --git a/dev-lang/rust/rust-1.23.0-r1.ebuild b/dev-lang/rust/rust-1.23.0-r1.ebuild
new file mode 100644
index 000000000000..0f20423bb664
--- /dev/null
+++ b/dev-lang/rust/rust-1.23.0-r1.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-any-r1 versionator toolchain-funcs
+
+if [[ ${PV} = *beta* ]]; then
+ betaver=${PV//*beta}
+ BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
+ MY_P="rustc-beta"
+ SLOT="beta/${PV}"
+ SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.gz"
+ KEYWORDS=""
+else
+ ABI_VER="$(get_version_component_range 1-2)"
+ SLOT="stable/${ABI_VER}"
+ MY_P="rustc-${PV}"
+ SRC="${MY_P}-src.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+CHOST_amd64=x86_64-unknown-linux-gnu
+CHOST_x86=i686-unknown-linux-gnu
+
+RUST_STAGE0_VERSION="1.$(($(get_version_component_range 2) - 1)).0"
+RUST_STAGE0_amd64="rust-${RUST_STAGE0_VERSION}-${CHOST_amd64}"
+RUST_STAGE0_x86="rust-${RUST_STAGE0_VERSION}-${CHOST_x86}"
+
+CARGO_DEPEND_VERSION="0.$(($(get_version_component_range 2) + 1)).0"
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="http://www.rust-lang.org/"
+
+SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.gz
+ amd64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_amd64}.tar.gz )
+ x86? ( https://static.rust-lang.org/dist/${RUST_STAGE0_x86}.tar.gz )
+"
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+
+IUSE="debug doc extended +jemalloc"
+
+RDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425
+ jemalloc? ( dev-libs/jemalloc )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ || (
+ >=sys-devel/gcc-4.7
+ >=sys-devel/clang-3.5
+ )
+ dev-util/cmake
+"
+PDEPEND="!extended? ( >=dev-util/cargo-${CARGO_DEPEND_VERSION} )"
+
+PATCHES=( "${FILESDIR}/1.23.0-separate-libdir.patch" )
+
+S="${WORKDIR}/${MY_P}-src"
+
+toml_usex() {
+ usex "$1" true false
+}
+
+src_prepare() {
+ local rust_stage0_root="${WORKDIR}"/rust-stage0
+
+ local rust_stage0_name="RUST_STAGE0_${ARCH}"
+ local rust_stage0="${!rust_stage0_name}"
+
+ "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die
+
+ default
+}
+
+src_configure() {
+ local rust_stage0_root="${WORKDIR}"/rust-stage0
+
+ local rust_target_name="CHOST_${ARCH}"
+ local rust_target="${!rust_target_name}"
+
+ cat <<- EOF > "${S}"/config.toml
+ [llvm]
+ optimize = $(toml_usex !debug)
+ release-debuginfo = $(toml_usex debug)
+ assertions = $(toml_usex debug)
+ [build]
+ build = "${rust_target}"
+ host = ["${rust_target}"]
+ target = ["${rust_target}"]
+ cargo = "${rust_stage0_root}/bin/cargo"
+ rustc = "${rust_stage0_root}/bin/rustc"
+ docs = $(toml_usex doc)
+ submodules = false
+ python = "${EPYTHON}"
+ locked-deps = true
+ vendor = true
+ verbose = 2
+ extended = $(toml_usex extended)
+ [install]
+ prefix = "${EPREFIX}/usr"
+ libdir = "$(get_libdir)"
+ docdir = "share/doc/${P}"
+ mandir = "share/${P}/man"
+ [rust]
+ optimize = $(toml_usex !debug)
+ debuginfo = $(toml_usex debug)
+ debug-assertions = $(toml_usex debug)
+ use-jemalloc = $(toml_usex jemalloc)
+ default-linker = "$(tc-getCC)"
+ rpath = false
+ [target.${rust_target}]
+ cc = "$(tc-getBUILD_CC)"
+ cxx = "$(tc-getBUILD_CXX)"
+ linker = "$(tc-getCC)"
+ ar = "$(tc-getAR)"
+ EOF
+}
+
+src_compile() {
+ ./x.py build --verbose --config="${S}"/config.toml || die
+}
+
+src_install() {
+ env DESTDIR="${D}" ./x.py install || die
+
+ mv "${D}/usr/bin/rustc" "${D}/usr/bin/rustc-${PV}" || die
+ mv "${D}/usr/bin/rustdoc" "${D}/usr/bin/rustdoc-${PV}" || die
+ mv "${D}/usr/bin/rust-gdb" "${D}/usr/bin/rust-gdb-${PV}" || die
+ mv "${D}/usr/bin/rust-lldb" "${D}/usr/bin/rust-lldb-${PV}" || die
+
+ dodoc COPYRIGHT
+
+ cat <<-EOF > "${T}"/50${P}
+ LDPATH="/usr/$(get_libdir)/${P}"
+ MANPATH="/usr/share/${P}/man"
+ EOF
+ doenvd "${T}"/50${P}
+
+ cat <<-EOF > "${T}/provider-${P}"
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-lldb
+ EOF
+ dodir /etc/env.d/rust
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${P}"
+}
+
+pkg_postinst() {
+ eselect rust update --if-unset
+
+ elog "Rust installs a helper script for calling GDB and LLDB,"
+ elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
+
+ if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then
+ elog "install app-emacs/rust-mode to get emacs support for rust."
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ elog "install app-vim/rust-vim to get vim support for rust."
+ fi
+
+ if has_version 'app-shells/zsh'; then
+ elog "install app-shells/rust-zshcomp to get zsh completion for rust."
+ fi
+}
+
+pkg_postrm() {
+ eselect rust unset --if-invalid
+}
diff --git a/dev-lang/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest
index d7aea25643a8..4796e4c9a589 100644
--- a/dev-lang/swi-prolog/Manifest
+++ b/dev-lang/swi-prolog/Manifest
@@ -9,8 +9,10 @@ DIST swipl-7.6.0.tar.gz 16763479 BLAKE2B 6262f213a918bea1f2ea250df791db4b0675b08
DIST swipl-7.6.1.tar.gz 16764536 BLAKE2B a493b103d9d6206db5a6c895ec1ff6237a122dd611a79803218a46e5611812fcdcf794b887018d4f7bea4d03315581234f99e8cb1a57d11ca502454666b418c4 SHA512 60b6f37b7449941b31ea1ca20372dadcd27585611c8040bb9155fd0c2e3802c554039135e3a084ed56ff9b20842ee607dcaa425afe55421bba00ee1c6cd169a4
DIST swipl-7.6.2.tar.gz 16765119 BLAKE2B 242d093d7525aa9beeab28ca5cd10080490a93ecc18b62ff945b9d59266aa8bc31a66065b1742b76f336ee5af33994a3c41b0009665f2e29d83efa03fc5d3041 SHA512 9d93cdf44bbb9628cee42eae562ee945202ed0d454f9e433247a0b9b49eee070d3a76f7ceff002c4d13d15720e40e6860adc19581906b8b8ecaac3094192ab5a
DIST swipl-7.6.3.tar.gz 16772590 BLAKE2B 644be801e290ec9d949a9b7462256a35e11cf9afd62d0b62c315e3620a3943809f58698a23f279454e00299f7b7f7b91e8d9694a139e8c424cb2f83a4efc7a52 SHA512 d84af1a565935af9934c6b75192bb2dd87388ee8fe793ade35d5549a95ec5eb83da6b10508766e795f88393fededea4ec7a3a0c2f0f685d96ab615e171d7d1f4
+DIST swipl-7.6.4.tar.gz 16777875 BLAKE2B 94409966362e649f4748b94b4ec25415bb827c7742aa39453d8e37db4ce992a65ad2d054ded4e651f2a9abe3a9438285bc9c9c895437c087ae6cf88f4afae9ca SHA512 f0ed16e4f1436115651c38a0bb37008d0dadad5a19b0f09894fcfc51dd3d429f86488e89cce00788c3c36cc2f0cd2957f92df47d5441133a6f8ea9d91ca5470f
DIST swipl-7.7.6.tar.gz 16788781 BLAKE2B 2c6547bcf5b12909bb51d968677635e711612eb41363c637d60ca58bc85a3a24e9486b4aee1c7c727765076615d0f914351ef6bd6bee1fb138d4be32436c34af SHA512 578145b5cd5d64817e5376703b34f3d2d6a53b93de7dea7e9afa32ed075b3913d6610745a80b338cdcddc4580133c73333f60ee9738c61c128e06bd5db0dc7bb
DIST swipl-7.7.7.tar.gz 16790338 BLAKE2B d91a11c4c33a47d1bcdf40e7df77fe22b2b7dc3029208fc988f4a63c2f304ada059bc0aaf27d879b4406a7ae0f512faf73c837edff9beee60c54ec2006c2e3bb SHA512 225c4b83070dee4bb8d9646ed2be2955f08e1fdd5693c5e842882706698d3dc7c848cd970b3064ea3ad15e58badabe715cb693409b46d1cd9620ad0007c19c76
+DIST swipl-7.7.8.tar.gz 16791278 BLAKE2B 6a2f27c02c5f2a4247b44961eb438e579be901a8badac3cf238adb63fdd1b13bf2400993bac1af1e509476b40b158a0aa6d66e4e0440eb67f745a33580266b47 SHA512 007b683d56d1ee3d5f5637819879141bae9d5a8738a613ed93a3a62a7a43674de39d0e1a3c1f6112fd6f9ab998e5f4bfed8b1abba7d95ceec16eaba73a627dee
EBUILD swi-prolog-6.6.6.ebuild 2799 BLAKE2B 47c0d56dae0ce19be9efd09122ef8e6e3655abd3459cd25a9a0cf4734fbb132b8725c79775942da8cb2c5eb40bc35f4c0b5a39064a5e41387d4480379fd71435 SHA512 1d30fcb84653a0cdf7cf4f5a78898d5fb29f939095d19a21324a9587ee6ca98543ae16d564ff8880cdf99c6d5a091c2f0e5dc79074ceadc5a7cd3fe340609d22
EBUILD swi-prolog-7.2.3-r1.ebuild 3170 BLAKE2B ca7604653a23dbc9158e96e54684482fd1c82e6bea8f9753e73c91d46df95a105d70114c0aae8c86e8b9ef45debf97116755b4fc48ecdae95680045ae60035ba SHA512 fe35661ef51094ddf0aff61659f33de5be0252216b94f45e658215146dd53379881f7077c20ace1ef67b70ad9d7128ccd26e122392a1100ab8db195c9324867a
EBUILD swi-prolog-7.4.1.ebuild 3337 BLAKE2B 6ec047c27c5f76f8cf1fe29e6c8f45d051f1b7d565217af160a022d0b3b45ecd4c18506348ec2d1d19d498953185b22941814a05559b7fa20b3666f48ede932c SHA512 d3b2fb20a92a39d5b4927cc4e2056a1ba3c66978467050817e84cfe46d795989d7d64721bb3b64a8b632dfa359e308d60db7b2c83efc2298c8318ef6314f08e9
@@ -19,6 +21,8 @@ EBUILD swi-prolog-7.6.0.ebuild 3392 BLAKE2B 77fca0aec35200f39f2dd60fccd13c9d6fbe
EBUILD swi-prolog-7.6.1.ebuild 3392 BLAKE2B 77fca0aec35200f39f2dd60fccd13c9d6fbe78f14c03c0f57a5d42e9b280285b497e612d364352eb763850b38bc7af626172e76752211f195f2fa54f5d8157e9 SHA512 486bc74f0e77862452cf7bc63687cb1ba1395b9d10a2bb50dcb6334ad986d09153595a325703dc9413a2b22675aa838c66c94b5fe4ca582e1418701a31da002a
EBUILD swi-prolog-7.6.2.ebuild 3392 BLAKE2B 77fca0aec35200f39f2dd60fccd13c9d6fbe78f14c03c0f57a5d42e9b280285b497e612d364352eb763850b38bc7af626172e76752211f195f2fa54f5d8157e9 SHA512 486bc74f0e77862452cf7bc63687cb1ba1395b9d10a2bb50dcb6334ad986d09153595a325703dc9413a2b22675aa838c66c94b5fe4ca582e1418701a31da002a
EBUILD swi-prolog-7.6.3.ebuild 3392 BLAKE2B 77fca0aec35200f39f2dd60fccd13c9d6fbe78f14c03c0f57a5d42e9b280285b497e612d364352eb763850b38bc7af626172e76752211f195f2fa54f5d8157e9 SHA512 486bc74f0e77862452cf7bc63687cb1ba1395b9d10a2bb50dcb6334ad986d09153595a325703dc9413a2b22675aa838c66c94b5fe4ca582e1418701a31da002a
+EBUILD swi-prolog-7.6.4.ebuild 3392 BLAKE2B 1754139d8ff2862994d2908e2ce845c3c197b74c14522e971ad91b3199ed84f42daf83280287ac51eb03bb53408f1cabfc955bfeb5146918ae51ea4efadca070 SHA512 038d4077bf8733bb57fe8cda0dac04a194f6aac809b30adc21d0b2010750faba4e1db368aff83a766cad6b76853e772b426b9bd76a71ef846964777e90a90c10
EBUILD swi-prolog-7.7.6.ebuild 3391 BLAKE2B 0593fc8bdac10ee84400ed3e3504e28ac352134adff0344047c5244b11caab0cf04f53e091566c4ba107abb2095d4696966403e2b2427bde48f41e54ee4ea986 SHA512 00971bbad1e54e00f995bbf76839463dfb38e72ec9daa8c16701c47ceacda7a0760d31b8086a14f9c4e52c258f454ab1b1ce9af68bb3cf95f133f8a5cbdce997
EBUILD swi-prolog-7.7.7.ebuild 3391 BLAKE2B 0593fc8bdac10ee84400ed3e3504e28ac352134adff0344047c5244b11caab0cf04f53e091566c4ba107abb2095d4696966403e2b2427bde48f41e54ee4ea986 SHA512 00971bbad1e54e00f995bbf76839463dfb38e72ec9daa8c16701c47ceacda7a0760d31b8086a14f9c4e52c258f454ab1b1ce9af68bb3cf95f133f8a5cbdce997
+EBUILD swi-prolog-7.7.8.ebuild 3391 BLAKE2B 0593fc8bdac10ee84400ed3e3504e28ac352134adff0344047c5244b11caab0cf04f53e091566c4ba107abb2095d4696966403e2b2427bde48f41e54ee4ea986 SHA512 00971bbad1e54e00f995bbf76839463dfb38e72ec9daa8c16701c47ceacda7a0760d31b8086a14f9c4e52c258f454ab1b1ce9af68bb3cf95f133f8a5cbdce997
MISC metadata.xml 367 BLAKE2B 07c7ff161f07b547325566650cd882c90dbe98ac5afc0015d68bc0338cebd678ac82c3a45edd3e4f7e613d5d493324899dc8e3b4ca448f447744f439e60458fd SHA512 bacbb17fc3518d3bf845d097d17dba772a745fd7343ab6e8c751a417a540c8c003f29b86c66374bee538d7a5d96ab95e67b1c619d47f80d0e332482daabee74a
diff --git a/dev-lang/swi-prolog/swi-prolog-7.6.4.ebuild b/dev-lang/swi-prolog/swi-prolog-7.6.4.ebuild
new file mode 100644
index 000000000000..c714e15e3b0a
--- /dev/null
+++ b/dev-lang/swi-prolog/swi-prolog-7.6.4.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils flag-o-matic java-pkg-opt-2 multilib
+
+PATCHSET_VER="0"
+
+DESCRIPTION="free, small, and standard compliant Prolog compiler"
+HOMEPAGE="http://www.swi-prolog.org/"
+SRC_URI="http://www.swi-prolog.org/download/stable/src/swipl-${PV}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="archive berkdb debug doc +gmp hardened java +libedit libressl minimal odbc pcre readline ssl static-libs test uuid zlib X"
+
+RDEPEND="sys-libs/ncurses:=
+ archive? ( app-arch/libarchive )
+ berkdb? ( >=sys-libs/db-4:= )
+ zlib? ( sys-libs/zlib )
+ odbc? ( dev-db/unixODBC )
+ pcre? ( dev-libs/libpcre )
+ readline? ( sys-libs/readline:= )
+ libedit? ( dev-libs/libedit )
+ gmp? ( dev-libs/gmp:0 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ )
+ java? ( >=virtual/jdk-1.7:= )
+ uuid? ( dev-libs/ossp-uuid )
+ X? (
+ virtual/jpeg:0
+ x11-libs/libX11
+ x11-libs/libXft
+ x11-libs/libXpm
+ x11-libs/libXt
+ x11-libs/libICE
+ x11-libs/libSM )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-proto/xproto )
+ java? ( test? ( =dev-java/junit-3.8* ) )"
+
+S="${WORKDIR}/swipl-${PV}"
+
+src_prepare() {
+ EPATCH_FORCE=yes
+ EPATCH_SUFFIX=patch
+ if [[ -d "${WORKDIR}"/${PV} ]] ; then
+ epatch "${WORKDIR}"/${PV}
+ fi
+
+ if ! use uuid; then
+ mv packages/clib/uuid.pl packages/clib/uuid.pl.unused || die
+ fi
+
+ # OSX/Intel ld doesn't like an archive without table of contents
+ sed -i -e 's/-cru/-scru/' packages/nlp/libstemmer_c/Makefile.pl || die
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ use ppc && append-flags -mno-altivec
+ use hardened && append-flags -fno-unit-at-a-time
+ use debug && append-flags -DO_DEBUG
+
+ # ARCH is used in the configure script to figure out host and target
+ # specific stuff
+ export ARCH=${CHOST}
+
+ export CC_FOR_BUILD=$(tc-getBUILD_CC)
+
+ cd "${S}"/src || die
+ econf \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ $(use_enable gmp) \
+ $(use_enable static-libs static) \
+ --enable-shared \
+ --enable-custom-flags COFLAGS="${CFLAGS}"
+
+ if ! use minimal ; then
+ local jpltestconf
+ if use java && use test ; then
+ jpltestconf="--with-junit=$(java-config --classpath junit)"
+ fi
+
+ cd "${S}/packages" || die
+ econf \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ $(use_with archive) \
+ $(use_with berkdb bdb ) \
+ $(use_with java jpl) \
+ ${jpltestconf} \
+ $(use_with libedit) \
+ $(use_with pcre) \
+ $(use_with odbc) \
+ $(use_with readline) \
+ $(use_with ssl) \
+ $(use_with X xpce) \
+ $(use_with zlib) \
+ COFLAGS='"${CFLAGS}"'
+ fi
+}
+
+src_compile() {
+ cd "${S}"/src || die
+ emake
+
+ if ! use minimal ; then
+ cd "${S}/packages" || die
+ emake
+ ./report-failed || die "Cannot report failed packages"
+ fi
+}
+
+src_test() {
+ cd "${S}/src" || die
+ emake check
+
+ if ! use minimal ; then
+ unset DISPLAY
+ cd "${S}/packages" || die
+ emake \
+ USE_PUBLIC_NETWORK_TESTS=false \
+ USE_ODBC_TESTS=false \
+ check
+ ./report-failed || die
+ fi
+}
+
+src_install() {
+ emake -C src DESTDIR="${D}" install
+
+ if ! use minimal ; then
+ emake -C packages DESTDIR="${D}" install
+ if use doc ; then
+ emake -C packages DESTDIR="${D}" html-install
+ fi
+ ./packages/report-failed || die "Cannot report failed packages"
+ fi
+
+ dodoc ReleaseNotes/relnotes-5.10 INSTALL README.md VERSION
+}
diff --git a/dev-lang/swi-prolog/swi-prolog-7.7.8.ebuild b/dev-lang/swi-prolog/swi-prolog-7.7.8.ebuild
new file mode 100644
index 000000000000..b3c8e67bc2e8
--- /dev/null
+++ b/dev-lang/swi-prolog/swi-prolog-7.7.8.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils flag-o-matic java-pkg-opt-2 multilib
+
+PATCHSET_VER="0"
+
+DESCRIPTION="free, small, and standard compliant Prolog compiler"
+HOMEPAGE="http://www.swi-prolog.org/"
+SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="archive berkdb debug doc +gmp hardened java +libedit libressl minimal odbc pcre readline ssl static-libs test uuid zlib X"
+
+RDEPEND="sys-libs/ncurses:=
+ archive? ( app-arch/libarchive )
+ berkdb? ( >=sys-libs/db-4:= )
+ zlib? ( sys-libs/zlib )
+ odbc? ( dev-db/unixODBC )
+ pcre? ( dev-libs/libpcre )
+ readline? ( sys-libs/readline:= )
+ libedit? ( dev-libs/libedit )
+ gmp? ( dev-libs/gmp:0 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ )
+ java? ( >=virtual/jdk-1.7:= )
+ uuid? ( dev-libs/ossp-uuid )
+ X? (
+ virtual/jpeg:0
+ x11-libs/libX11
+ x11-libs/libXft
+ x11-libs/libXpm
+ x11-libs/libXt
+ x11-libs/libICE
+ x11-libs/libSM )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-proto/xproto )
+ java? ( test? ( =dev-java/junit-3.8* ) )"
+
+S="${WORKDIR}/swipl-${PV}"
+
+src_prepare() {
+ EPATCH_FORCE=yes
+ EPATCH_SUFFIX=patch
+ if [[ -d "${WORKDIR}"/${PV} ]] ; then
+ epatch "${WORKDIR}"/${PV}
+ fi
+
+ if ! use uuid; then
+ mv packages/clib/uuid.pl packages/clib/uuid.pl.unused || die
+ fi
+
+ # OSX/Intel ld doesn't like an archive without table of contents
+ sed -i -e 's/-cru/-scru/' packages/nlp/libstemmer_c/Makefile.pl || die
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ use ppc && append-flags -mno-altivec
+ use hardened && append-flags -fno-unit-at-a-time
+ use debug && append-flags -DO_DEBUG
+
+ # ARCH is used in the configure script to figure out host and target
+ # specific stuff
+ export ARCH=${CHOST}
+
+ export CC_FOR_BUILD=$(tc-getBUILD_CC)
+
+ cd "${S}"/src || die
+ econf \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ $(use_enable gmp) \
+ $(use_enable static-libs static) \
+ --enable-shared \
+ --enable-custom-flags COFLAGS="${CFLAGS}"
+
+ if ! use minimal ; then
+ local jpltestconf
+ if use java && use test ; then
+ jpltestconf="--with-junit=$(java-config --classpath junit)"
+ fi
+
+ cd "${S}/packages" || die
+ econf \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ $(use_with archive) \
+ $(use_with berkdb bdb ) \
+ $(use_with java jpl) \
+ ${jpltestconf} \
+ $(use_with libedit) \
+ $(use_with pcre) \
+ $(use_with odbc) \
+ $(use_with readline) \
+ $(use_with ssl) \
+ $(use_with X xpce) \
+ $(use_with zlib) \
+ COFLAGS='"${CFLAGS}"'
+ fi
+}
+
+src_compile() {
+ cd "${S}"/src || die
+ emake
+
+ if ! use minimal ; then
+ cd "${S}/packages" || die
+ emake
+ ./report-failed || die "Cannot report failed packages"
+ fi
+}
+
+src_test() {
+ cd "${S}/src" || die
+ emake check
+
+ if ! use minimal ; then
+ unset DISPLAY
+ cd "${S}/packages" || die
+ emake \
+ USE_PUBLIC_NETWORK_TESTS=false \
+ USE_ODBC_TESTS=false \
+ check
+ ./report-failed || die
+ fi
+}
+
+src_install() {
+ emake -C src DESTDIR="${D}" install
+
+ if ! use minimal ; then
+ emake -C packages DESTDIR="${D}" install
+ if use doc ; then
+ emake -C packages DESTDIR="${D}" html-install
+ fi
+ ./packages/report-failed || die "Cannot report failed packages"
+ fi
+
+ dodoc ReleaseNotes/relnotes-5.10 INSTALL README.md VERSION
+}
diff --git a/dev-lang/vala/Manifest b/dev-lang/vala/Manifest
index 4ecd6d7c9bca..087141f57006 100644
--- a/dev-lang/vala/Manifest
+++ b/dev-lang/vala/Manifest
@@ -3,5 +3,5 @@ DIST vala-0.34.9.tar.xz 2783952 BLAKE2B e90728075ac546e8abc125886182abd5fc357be5
DIST vala-0.36.7.tar.xz 2854668 BLAKE2B 2fcb528b26a56ee9f9d362ec1891c873ee26580132c052554a3d021fea32c0cee6dc6e8c6419f88798f5066a70d54084757893b2d46e3b286b441a51a4169c92 SHA512 7a6daac5be72240ae998b2c26e240a8b6bbc44c8bb6a036357fc0419cd7b40e14ea76c8125eb49a8d252627425613512410ba7868eb579b13d299e2ff0f4082b
EBUILD vala-0.32.1.ebuild 730 BLAKE2B 9450d1f91714a86dedd803aafcfbb5aa744416e3c65792b566975b654cd96c9537be76c72c40ce041c38c01a4733abd4859274f0f56c5895efb37297c168aff3 SHA512 398bbcbedcce2e1dabd2c86d0c770f78bd380833e117d07196872e732a7763213747996ef5a44a68d4bac52f0a30de6f4361620acfaf3e87b1278771d02cfbbd
EBUILD vala-0.34.9.ebuild 730 BLAKE2B 4103e7fb4100c296d33f2d101a9abde439f055937a6198517626f2f2c2c1acf73dc4b495f23d71b4130ae561c1b1a5930b87aa3abd99f1d95b1c3d0ef02754ca SHA512 c8b77206bb700f239dd7900b2dcba92be66a817292945f5e4c497e60eff6560ab12236f5ade4ffa4d868f9292b709e782de16d3ee7b890d8fe4ce3ceafd062b8
-EBUILD vala-0.36.7.ebuild 820 BLAKE2B 9ab3732e1b538016dd5534a717ee896c159c3176919147c05091311074fd84555288f91756ff3a22dd08390c02c71cdd061ffa7e0a8d1232dc13b3f2ef7bada4 SHA512 72696c145af836c45675953123f1b945ed0716d1ef94a280750e3ac8257640e4c9c03980964fca16a2386dae550f40ff364a9dcae57de6b1c29f98cbc02e8004
+EBUILD vala-0.36.7.ebuild 819 BLAKE2B d358dcaca2a9571bec84b2c6364b4f66a7bb8372dad53bc78c85cf6f3cd9a4f48c9d7d9d2514c433a48207fc1ccea9c0c7d2709f86977fd2b1243867f5f9b0fc SHA512 12d78ef0ed12c1609728a1f2dbf5ff1d6c52593ab480e214fd286f5d28ef0e899500bf744072ea08614117f4decee804310b3e42e120659b8ba03b4b943ecc2f
MISC metadata.xml 255 BLAKE2B 51dc9e0030d68ac68f075bb4a7b4c5f42122c16f354e10463d7338e652b272b26fa1eb12a144ed4a00d29a020af4df19029d909b4591162347184b1684402c94 SHA512 1970039db79f50391650a9fea933485c6102d1165946ab8efe9395403a02f49d4b17c2942795282469ac7c0306e7353002dcbaa797fb1060982b31ea3540b98b
diff --git a/dev-lang/vala/vala-0.36.7.ebuild b/dev-lang/vala/vala-0.36.7.ebuild
index 34f8a833715a..391db3d48641 100644
--- a/dev-lang/vala/vala-0.36.7.ebuild
+++ b/dev-lang/vala/vala-0.36.7.ebuild
@@ -9,7 +9,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
LICENSE="LGPL-2.1"
SLOT="0.36"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc ~x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
IUSE="test"
RDEPEND="