Merge pull request #732 from dm0-/eclass

Sync profiles and eclasses
This commit is contained in:
David Michael 2019-05-31 00:01:39 -04:00 committed by GitHub
commit 8d618c6ea6
1704 changed files with 8883 additions and 14935 deletions

View File

@ -1 +1 @@
DIST bzip2-1.0.6.tar.gz 782025 SHA256 a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd SHA512 00ace5438cfa0c577e5f578d8a808613187eff5217c35164ffe044fbafdfec9e98f4192c02a7d67e01e5a5ccced630583ad1003c37697219b0f147343a3fdd12 WHIRLPOOL 8e92c24f77c3711f5103a26d6fefbe61fe49a7d1e46879d259d46347c606ca956b7228ab011aa88007db771f86a500d4954057c7f9c70bd8380ca6c9430bd81e
DIST bzip2-1.0.6.tar.gz 782025 BLAKE2B b31533af7c71d715e6600874bb0a11b9b3aebbb08af0414a6d88bd5a2ad879a482ad408338159cb6c241815da8f48798d2ea7789ea971431d0be42ee827b0a7e SHA512 00ace5438cfa0c577e5f578d8a808613187eff5217c35164ffe044fbafdfec9e98f4192c02a7d67e01e5a5ccced630583ad1003c37697219b0f147343a3fdd12

View File

@ -1,20 +1,20 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# XXX: atm, libbz2.a is always PIC :(, so it is always built quickly
# (since we're building shared libs) ...
EAPI=5
EAPI=6
inherit eutils toolchain-funcs multilib multilib-minimal
inherit toolchain-funcs multilib-minimal
DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux"
HOMEPAGE="http://www.bzip.org/"
SRC_URI="http://www.bzip.org/${PV}/${P}.tar.gz"
HOMEPAGE="https://sourceware.org/bzip2/"
SRC_URI="mirror://gentoo/${P}.tar.gz"
LICENSE="BZIP2"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
SLOT="0/1" # subslot = SONAME
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
IUSE="static static-libs"
PATCHES=(
@ -27,10 +27,15 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.0.6-mingw.patch #393573
"${FILESDIR}"/${PN}-1.0.6-out-of-tree-build.patch
"${FILESDIR}"/${PN}-1.0.6-CVE-2016-3189.patch #620466
"${FILESDIR}"/${PN}-1.0.6-ubsan-error.patch
"${FILESDIR}"/${PN}-1.0.6-nselectors-upper-bound-check.patch
)
DOCS=( CHANGES README{,.COMPILATION.PROBLEMS,.XML.STUFF} manual.pdf )
HTML_DOCS=( manual.html )
src_prepare() {
epatch "${PATCHES[@]}"
default
# - Use right man path
# - Generate symlinks instead of hardlinks
@ -54,7 +59,7 @@ bemake() {
multilib_src_compile() {
bemake -f "${S}"/Makefile-libbz2_so all
# Make sure we link against the shared lib #504648
ln -sf libbz2.so.${PV} libbz2.so
ln -s libbz2.so.${PV} libbz2.so || die
bemake -f "${S}"/Makefile all LDFLAGS="${LDFLAGS} $(usex static -static '')"
}
@ -105,8 +110,7 @@ multilib_src_install_all() {
dosym bzgrep.1 /usr/share/man/man1/${x}.1
done
dodoc README* CHANGES manual.pdf
dohtml manual.html
einstalldocs
# move "important" bzip2 binaries to /bin and use the shared libbz2.so
dosym bzip2 /bin/bzcat

View File

@ -1,114 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# XXX: atm, libbz2.a is always PIC :(, so it is always built quickly
# (since we're building shared libs) ...
EAPI=4
inherit eutils toolchain-funcs multilib multilib-minimal
DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux"
HOMEPAGE="http://www.bzip.org/"
SRC_URI="http://www.bzip.org/${PV}/${P}.tar.gz"
LICENSE="BZIP2"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="static static-libs"
RDEPEND="abi_x86_32? (
!<=app-emulation/emul-linux-x86-baselibs-20130224
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
)"
src_prepare() {
epatch "${FILESDIR}"/${PN}-1.0.4-makefile-CFLAGS.patch
epatch "${FILESDIR}"/${PN}-1.0.6-saneso.patch
epatch "${FILESDIR}"/${PN}-1.0.4-man-links.patch #172986
epatch "${FILESDIR}"/${PN}-1.0.6-progress.patch
epatch "${FILESDIR}"/${PN}-1.0.3-no-test.patch
epatch "${FILESDIR}"/${PN}-1.0.4-POSIX-shell.patch #193365
epatch "${FILESDIR}"/${PN}-1.0.6-mingw.patch #393573
epatch "${FILESDIR}"/${PN}-1.0.6-out-of-tree-build.patch
# - Use right man path
# - Generate symlinks instead of hardlinks
# - pass custom variables to control libdir
sed -i \
-e 's:\$(PREFIX)/man:\$(PREFIX)/share/man:g' \
-e 's:ln -s -f $(PREFIX)/bin/:ln -s -f :' \
-e 's:$(PREFIX)/lib:$(PREFIX)/$(LIBDIR):g' \
Makefile || die
}
bemake() {
emake \
VPATH="${S}" \
CC="$(tc-getCC)" \
AR="$(tc-getAR)" \
RANLIB="$(tc-getRANLIB)" \
"$@"
}
multilib_src_compile() {
bemake -f "${S}"/Makefile-libbz2_so all
# Make sure we link against the shared lib #504648
ln -sf libbz2.so.${PV} libbz2.so
bemake -f "${S}"/Makefile all LDFLAGS="${LDFLAGS} $(usex static -static '')"
}
multilib_src_install() {
into /usr
# Install the shared lib manually. We install:
# .x.x.x - standard shared lib behavior
# .x.x - SONAME some distros use #338321
# .x - SONAME Gentoo uses
dolib.so libbz2.so.${PV}
local v
for v in libbz2.so{,.{${PV%%.*},${PV%.*}}} ; do
dosym libbz2.so.${PV} /usr/$(get_libdir)/${v}
done
use static-libs && dolib.a libbz2.a
if multilib_is_native_abi ; then
gen_usr_ldscript -a bz2
dobin bzip2recover
into /
dobin bzip2
fi
}
multilib_src_install_all() {
# `make install` doesn't cope with out-of-tree builds, nor with
# installing just non-binaries, so handle things ourselves.
insinto /usr/include
doins bzlib.h
into /usr
dobin bz{diff,grep,more}
doman *.1
dosym bzdiff /usr/bin/bzcmp
dosym bzdiff.1 /usr/share/man/man1/bzcmp.1
dosym bzmore /usr/bin/bzless
dosym bzmore.1 /usr/share/man/man1/bzless.1
local x
for x in bunzip2 bzcat bzip2recover ; do
dosym bzip2.1 /usr/share/man/man1/${x}.1
done
for x in bz{e,f}grep ; do
dosym bzgrep /usr/bin/${x}
dosym bzgrep.1 /usr/share/man/man1/${x}.1
done
dodoc README* CHANGES manual.pdf
dohtml manual.html
# move "important" bzip2 binaries to /bin and use the shared libbz2.so
dosym bzip2 /bin/bzcat
dosym bzip2 /bin/bunzip2
}

View File

@ -1,5 +1,5 @@
--- Makefile
+++ Makefile
--- a/Makefile
+++ b/Makefile
@@ -23,5 +23,5 @@
bzlib.o

View File

@ -3,8 +3,8 @@ with calls to sed so POSIX shells work
http://bugs.gentoo.org/193365
--- bzgrep
+++ bzgrep
--- a/bzgrep
+++ b/bzgrep
@@ -63,10 +63,9 @@
bzip2 -cdfq "$i" | $grep $opt "$pat"
r=$?

View File

@ -1,5 +1,5 @@
--- Makefile
+++ Makefile
--- a/Makefile
+++ b/Makefile
@@ -18,10 +18,9 @@
CC=gcc
AR=ar
@ -12,8 +12,8 @@
# Where you want it installed when you do 'make install'
PREFIX=/usr/local
--- Makefile-libbz2_so
+++ Makefile-libbz2_so
--- a/Makefile-libbz2_so
+++ b/Makefile-libbz2_so
@@ -24,7 +24,7 @@
SHELL=/bin/sh
CC=gcc

View File

@ -1,7 +1,7 @@
http://bugs.gentoo.org/172986
--- bzip2-1.0.4/Makefile
+++ bzip2-1.0.4/Makefile
--- a/Makefile
+++ b/Makefile
@@ -85,4 +85,7 @@
cp -f bzip2.1 $(PREFIX)/share/man/man1
chmod a+r $(PREFIX)/share/man/man1/bzip2.1

View File

@ -6,8 +6,8 @@ Signed-off-by: Armin Kuster <akuster@mvista.com>
Index: bzip2-1.0.6/bzip2recover.c
===================================================================
--- bzip2-1.0.6.orig/bzip2recover.c
+++ bzip2-1.0.6/bzip2recover.c
--- a/bzip2recover.c
+++ b/bzip2recover.c
@@ -457,6 +457,7 @@ Int32 main ( Int32 argc, Char** argv )
bsPutUChar ( bsWr, 0x50 ); bsPutUChar ( bsWr, 0x90 );
bsPutUInt32 ( bsWr, blockCRC );

View File

@ -0,0 +1,30 @@
From 13ca8fee0c897121ae79ae644a212418398dfea7 Mon Sep 17 00:00:00 2001
From: Amin Hassani <ahassani@chromium.org>
Date: Fri, 8 Mar 2019 09:58:20 -0800
Subject: [PATCH] Check for upper bounds of nselectors.
Currently there is no check for the upper bounds of the
nselectors. Hence, a corrupt input can cause a segfault.
This issue was discovered by one of our fuzzers. The actual error was:
../bzip2-1.0.6/decompress.c:299:10: runtime error: index 18002 out of bounds for type 'UChar [18002]'
---
decompress.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/decompress.c b/decompress.c
index 311f566..391552d 100644
--- a/decompress.c
+++ b/decompress.c
@@ -288,6 +288,7 @@ Int32 BZ2_decompress ( DState* s )
if (nGroups < 2 || nGroups > 6) RETURN(BZ_DATA_ERROR);
GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15);
if (nSelectors < 1) RETURN(BZ_DATA_ERROR);
+ if (nSelectors > BZ_MAX_SELECTORS) RETURN(BZ_DATA_ERROR);
for (i = 0; i < nSelectors; i++) {
j = 0;
while (True) {
--
2.21.0.360.g471c308f928-goog

View File

@ -2,8 +2,8 @@ Ripped from Mandrake
http://bugs.gentoo.org/82192
--- bzip2-1.0.6/bzip2.1
+++ bzip2-1.0.6/bzip2.1
--- a/bzip2.1
+++ b/bzip2.1
@@ -235,6 +235,10 @@
Suppress non-essential warning messages. Messages pertaining to
I/O errors and other critical events will not be suppressed.
@ -15,8 +15,8 @@ http://bugs.gentoo.org/82192
.B \-v --verbose
Verbose mode -- show the compression ratio for each file processed.
Further \-v's increase the verbosity level, spewing out lots of
--- bzip2-1.0.6/bzip2.c
+++ bzip2-1.0.6/bzip2.c
--- a/bzip2.c
+++ b/bzip2.c
@@ -145,6 +145,7 @@
#include <signal.h>
#include <math.h>

View File

@ -1,5 +1,5 @@
--- Makefile-libbz2_so
+++ Makefile-libbz2_so
--- a/Makefile-libbz2_so
+++ b/Makefile-libbz2_so
@@ -35,8 +35,8 @@
bzlib.o

View File

@ -0,0 +1,24 @@
Author: Manoj Gupta <manojgupta@google.com>
Use unsigned 1 for shifting instead of signed 1.
This fixed an issue with shift caught by undefined behavior
sanitizer in clang.
bzip2-1.0.6/blocksort.c:255:7
runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
--- a/blocksort.c
+++ b/blocksort.c
@@ -202,9 +202,9 @@ void fallbackQSort3 ( UInt32* fmap,
bhtab [ 0 .. 2+(nblock/32) ] destroyed
*/
-#define SET_BH(zz) bhtab[(zz) >> 5] |= (1 << ((zz) & 31))
-#define CLEAR_BH(zz) bhtab[(zz) >> 5] &= ~(1 << ((zz) & 31))
-#define ISSET_BH(zz) (bhtab[(zz) >> 5] & (1 << ((zz) & 31)))
+#define SET_BH(zz) bhtab[(zz) >> 5] |= (1u << ((zz) & 31))
+#define CLEAR_BH(zz) bhtab[(zz) >> 5] &= ~(1u << ((zz) & 31))
+#define ISSET_BH(zz) (bhtab[(zz) >> 5] & (1u << ((zz) & 31)))
#define WORD_BH(zz) bhtab[(zz) >> 5]
#define UNALIGNED_BH(zz) ((zz) & 0x01f)

View File

@ -1,111 +0,0 @@
# ChangeLog for app-arch/gzip
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
# (auto-generated from git log)
*gzip-1.6 (09 Aug 2015)
*gzip-1.5 (09 Aug 2015)
*gzip-1.4 (09 Aug 2015)
09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org>
+files/gzip-1.3.8-install-symlinks.patch, +files/gzip-1.4-asmv.patch,
+files/gzip-1.4-assembler.patch, +files/gzip-1.4-no-gets.patch,
+gzip-1.4.ebuild, +gzip-1.5.ebuild, +gzip-1.6.ebuild, +metadata.xml:
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration
tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this
project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo
developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve
cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014
work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on
the bikeshed
24 Aug 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
Use https by default
Convert all URLs for sites supporting encrypted connections from http to
https
Signed-off-by: Justin Lecher <jlec@gentoo.org>
24 Aug 2015; Justin Lecher <jlec@gentoo.org> gzip-1.4.ebuild,
gzip-1.5.ebuild, gzip-1.6.ebuild:
Use https for most gnu.org URLs
Signed-off-by: Justin Lecher <jlec@gentoo.org>
24 Aug 2015; Mike Gilbert <floppym@gentoo.org> metadata.xml:
Revert DOCTYPE SYSTEM https changes in metadata.xml
repoman does not yet accept the https version.
This partially reverts eaaface92ee81f30a6ac66fe7acbcc42c00dc450.
Bug: https://bugs.gentoo.org/552720
24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
Unify quoting in metadata.xml files for machine processing
Force unified quoting in all metadata.xml files since lxml does not
preserve original use of single and double quotes. Ensuring unified
quoting before the process allows distinguishing the GLEP 67-related
metadata.xml changes from unrelated quoting changes.
24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
Replace all herds with appropriate projects (GLEP 67)
Replace all uses of herd with appropriate project maintainers, or no
maintainers in case of herds requested to be disbanded.
24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
Set appropriate maintainer types in metadata.xml (GLEP 67)
*gzip-1.7 (28 Mar 2016)
28 Mar 2016; Lars Wendler <polynomial-c@gentoo.org> +gzip-1.7.ebuild:
Bump to version 1.7
Package-Manager: portage-2.2.28
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
28 Mar 2016; Lars Wendler <polynomial-c@gentoo.org> -gzip-1.4.ebuild,
-gzip-1.5.ebuild:
Removed old.
Package-Manager: portage-2.2.28
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
*gzip-1.8 (27 Apr 2016)
27 Apr 2016; Lars Wendler <polynomial-c@gentoo.org> +gzip-1.8.ebuild:
Bump to version 1.8
Package-Manager: portage-2.2.28
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
04 May 2016; Mike Gilbert <floppym@gentoo.org> gzip-1.8.ebuild:
re-order SRC_URI to put the valid mirror first
Package-Manager: portage-2.2.28_p97

View File

@ -1,549 +0,0 @@
# ChangeLog for app-arch/gzip
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-arch/gzip/ChangeLog,v 1.135 2015/04/04 21:28:12 vapier Exp $
04 Apr 2015; Mike Frysinger <vapier@gentoo.org> gzip-1.6.ebuild:
Mark arm64/m68k/s390/sh stable.
28 Feb 2015; Agostino Sarubbo <ago@gentoo.org> gzip-1.6.ebuild:
Stable for ia64, wrt bug #534810
27 Feb 2015; Agostino Sarubbo <ago@gentoo.org> gzip-1.6.ebuild:
Stable for sparc, wrt bug #534810
22 Feb 2015; Matt Turner <mattst88@gentoo.org> gzip-1.6.ebuild:
Stable on alpha, bug 534810.
26 Jan 2015; Agostino Sarubbo <ago@gentoo.org> gzip-1.6.ebuild:
Stable for x86, wrt bug #534810
18 Jan 2015; Agostino Sarubbo <ago@gentoo.org> gzip-1.6.ebuild:
Stable for ppc64, wrt bug #534810
17 Jan 2015; Agostino Sarubbo <ago@gentoo.org> gzip-1.6.ebuild:
Stable for ppc, wrt bug #534810
09 Jan 2015; Agostino Sarubbo <ago@gentoo.org> gzip-1.6.ebuild:
Stable for amd64, wrt bug #534810
08 Jan 2015; Jeroen Roovers <jer@gentoo.org> gzip-1.6.ebuild:
Stable for HPPA (bug #534810).
08 Jan 2015; Markus Meier <maekke@gentoo.org> gzip-1.6.ebuild:
arm stable, bug #534810
31 Dec 2014; Christoph Junghans <ottxor@gentoo.org>
+files/gzip-1.4-asmv.patch, gzip-1.6.ebuild:
added prefix support (bug #534032)
18 Jan 2014; Mike Frysinger <vapier@gentoo.org> gzip-1.5.ebuild,
gzip-1.6.ebuild:
Add arm64 love.
*gzip-1.6 (11 Jun 2013)
11 Jun 2013; Mike Frysinger <vapier@gentoo.org> +gzip-1.6.ebuild:
Version bump.
11 Jun 2013; Mike Frysinger <vapier@gentoo.org> metadata.xml:
Add upstream CPE tag (security info) from ChromiumOS.
09 Sep 2012; Raúl Porcel <armin76@gentoo.org> gzip-1.5.ebuild:
alpha/ia64/m68k/s390/sh/sparc stable wrt #431844
20 Aug 2012; Anthony G. Basile <blueness@gentoo.org> gzip-1.5.ebuild:
Stable arm, bug #431844
20 Aug 2012; Anthony G. Basile <blueness@gentoo.org> gzip-1.5.ebuild:
Stable ppc ppc64, bug #431844
20 Aug 2012; Jeroen Roovers <jer@gentoo.org> gzip-1.5.ebuild:
Stable for HPPA (bug #431844).
19 Aug 2012; Johannes Huber <johu@gentoo.org> gzip-1.5.ebuild:
Stable for x86, wrt bug #431844
19 Aug 2012; Agostino Sarubbo <ago@gentoo.org> gzip-1.5.ebuild:
Stable for amd64, wrt bug #431844
06 Jul 2012; Mike Frysinger <vapier@gentoo.org> gzip-1.4.ebuild,
gzip-1.5.ebuild:
Change license to GPLv3 #425072 by Nanouck.
*gzip-1.5 (17 Jun 2012)
17 Jun 2012; Mike Frysinger <vapier@gentoo.org> +gzip-1.5.ebuild:
Version bump.
22 May 2012; Mike Frysinger <vapier@gentoo.org> +files/gzip-1.4-no-gets.patch,
gzip-1.4.ebuild:
Fix building with glibc-2.16+.
26 Apr 2012; Alexis Ballier <aballier@gentoo.org> gzip-1.4.ebuild:
keyword ~amd64-fbsd
24 Apr 2012; Michał Górny <mgorny@gentoo.org> gzip-1.4.ebuild:
Update to use mirror://.
03 Apr 2011; Ulrich Mueller <ulm@gentoo.org> gzip-1.4.ebuild:
Don't provide virtual/gzip, bug 358829.
31 Jul 2010; Mike Frysinger <vapier@gentoo.org> gzip-1.4.ebuild,
+files/gzip-1.4-assembler.patch:
Add fix from upstream for USE=-pic building on x86 #309079.
11 Feb 2010; Raúl Porcel <armin76@gentoo.org> gzip-1.4.ebuild:
alpha/ia64/m68k/s390/sh stable wrt #300943
11 Feb 2010; Tiago Cunha <tcunha@gentoo.org> gzip-1.4.ebuild:
stable sparc, security bug 300943
10 Feb 2010; Markus Meier <maekke@gentoo.org> gzip-1.4.ebuild:
amd64/arm/x86 stable, bug #300943
10 Feb 2010; Jeroen Roovers <jer@gentoo.org> gzip-1.4.ebuild:
Stable for HPPA (bug #300943).
10 Feb 2010; Joseph Jezak <josejx@gentoo.org> gzip-1.4.ebuild:
Marked ppc/ppc64 stable for bug #300943.
*gzip-1.4 (21 Jan 2010)
21 Jan 2010; Mike Frysinger <vapier@gentoo.org> +gzip-1.4.ebuild:
Version bump.
*gzip-1.3.14 (05 Nov 2009)
05 Nov 2009; Mike Frysinger <vapier@gentoo.org> +gzip-1.3.14.ebuild:
Version bump.
*gzip-1.3.13 (06 Oct 2009)
06 Oct 2009; Mike Frysinger <vapier@gentoo.org> +gzip-1.3.13.ebuild:
Version bump.
29 Mar 2008; Santiago M. Mola <coldwind@gentoo.org> gzip-1.3.12-r1.ebuild:
amd64 stable wrt bug #214963
28 Mar 2008; nixnut <nixnut@gentoo.org> gzip-1.3.12-r1.ebuild:
Stable on ppc wrt bug 214963
28 Mar 2008; Jeroen Roovers <jer@gentoo.org> gzip-1.3.12-r1.ebuild:
Stable for HPPA (bug #214963).
27 Mar 2008; Markus Rothe <corsair@gentoo.org> gzip-1.3.12-r1.ebuild:
Stable on ppc64; bug #214963
27 Mar 2008; Raúl Porcel <armin76@gentoo.org> gzip-1.3.12-r1.ebuild:
alpha/ia64/sparc/x86 stable wrt #214963
*gzip-1.3.12-r1 (20 Feb 2008)
20 Feb 2008; Doug Klima <cardoe@gentoo.org> +gzip-1.3.12-r1.ebuild:
fix PATH in gunzip. bug #210871
20 Jul 2007; Roy Marples <uberlord@gentoo.org> gzip-1.3.12.ebuild:
Keyworded ~sparc-fbsd.
06 Jul 2007; Mike Frysinger <vapier@gentoo.org>
+files/gnulib-futimens-rename.patch, gzip-1.3.12.ebuild:
Fix from upstream gnulib for futimens handling with newer glibc #180764.
03 Jul 2007; Tom Gall <tgall@gentoo.org> gzip-1.3.12.ebuild:
stable on ppc64, bug #183829
02 Jul 2007; Christoph Mende <angelos@gentoo.org> gzip-1.3.12.ebuild:
Stable on amd64 wrt bug #183829
02 Jul 2007; Jeroen Roovers <jer@gentoo.org> gzip-1.3.12.ebuild:
Stable for HPPA (bug #183829).
01 Jul 2007; Raúl Porcel <armin76@gentoo.org> gzip-1.3.12.ebuild:
alpha stable wrt #183829
01 Jul 2007; Joshua Kinard <kumba@gentoo.org> gzip-1.3.12.ebuild:
Stable on mips, per #174882.
01 Jul 2007; Lars Weiler <pylon@gentoo.org> gzip-1.3.12.ebuild:
Stable opn ppc; bug #183829.
12 Jun 2007; Gustavo Zacarias <gustavoz@gentoo.org> gzip-1.3.12.ebuild:
Stable on sparc
11 Jun 2007; Raúl Porcel <armin76@gentoo.org> gzip-1.3.12.ebuild:
ia64/x86 stable
18 May 2007; Fernando J. Pereda <ferdy@gentoo.org> gzip-1.3.11.ebuild:
Stable on alpha as per bug #171666
*gzip-1.3.12 (14 Apr 2007)
14 Apr 2007; Mike Frysinger <vapier@gentoo.org> +gzip-1.3.12.ebuild:
Version bump.
27 Mar 2007; Peter Weller <welp@gentoo.org> gzip-1.3.11.ebuild:
Stable on amd64 wrt bug 171666
24 Mar 2007; Joseph Jezak <josejx@gentoo.org> gzip-1.3.11.ebuild:
Marked ppc stable for bug #171666.
24 Mar 2007; Markus Rothe <corsair@gentoo.org> gzip-1.3.11.ebuild:
Stable on ppc64; bug #171666
22 Mar 2007; Jeroen Roovers <jer@gentoo.org> gzip-1.3.11.ebuild:
Stable for HPPA (bug #171666).
22 Mar 2007; Gustavo Zacarias <gustavoz@gentoo.org> gzip-1.3.11.ebuild:
Stable on sparc wrt #171666
20 Mar 2007; Raúl Porcel <armin76@gentoo.org> gzip-1.3.11.ebuild:
x86 stable
06 Feb 2007; Mike Frysinger <vapier@gentoo.org> gzip-1.3.11.ebuild:
Move uncompress to /bin so we dont conflict with app-arch/ncompress #165608
by barthek.
*gzip-1.3.11 (06 Feb 2007)
06 Feb 2007; Mike Frysinger <vapier@gentoo.org> +gzip-1.3.11.ebuild:
Version bump.
*gzip-1.3.10 (31 Dec 2006)
31 Dec 2006; Mike Frysinger <vapier@gentoo.org> +gzip-1.3.10.ebuild:
Version bump.
*gzip-1.3.9 (16 Dec 2006)
16 Dec 2006; Mike Frysinger <vapier@gentoo.org> +gzip-1.3.9.ebuild:
Version bump.
*gzip-1.3.8 (09 Dec 2006)
09 Dec 2006; Mike Frysinger <vapier@gentoo.org>
+files/gzip-1.3.8-install-symlinks.patch, +gzip-1.3.8.ebuild:
Version bump.
*gzip-1.3.7 (07 Dec 2006)
07 Dec 2006; Mike Frysinger <vapier@gentoo.org>
+files/gzip-1.3.7-CVE-2006-4334-8.2.patch,
+files/gzip-1.3.7-asm-execstack.patch,
+files/gzip-1.3.7-install-symlinks.patch, +gzip-1.3.7.ebuild:
Version bump.
11 Nov 2006; Mike Frysinger <vapier@gentoo.org> gzip-1.3.5-r9.ebuild,
gzip-1.3.5-r10.ebuild:
Stabilize to fix security team screwup #154757.
17 Oct 2006; Roy Marples <uberlord@gentoo.org> gzip-1.3.5-r10.ebuild:
Added ~sparc-fbsd keyword.
*gzip-1.3.5-r10 (27 Sep 2006)
27 Sep 2006; Tavis Ormandy <taviso@gentoo.org>
+files/gzip-1.3.5-CVE-2006-4334-8.2.patch, +gzip-1.3.5-r10.ebuild:
Correct unlzh security patch, thanks to Haruhiko Okumura.
22 Sep 2006; Bryan Østergaard <kloeri@gentoo.org> gzip-1.3.5-r9.ebuild:
Stable on alpha + ia64, bug 145511.
21 Sep 2006; Tobias Scherbaum <dertobi123@gentoo.org>
gzip-1.3.5-r9.ebuild:
hppa stable, bug #145511
21 Sep 2006; <blubb@gentoo.org> gzip-1.3.5-r9.ebuild:
stable on amd64
21 Sep 2006; Jason Wever <weeve@gentoo.org> gzip-1.3.5-r9.ebuild:
Stable on SPARC wrt security bug #145511.
20 Sep 2006; Markus Rothe <corsair@gentoo.org> gzip-1.3.5-r9.ebuild:
Stable on ppc64; bug #145511
20 Sep 2006; Torsten Veller <tove@gentoo.org> gzip-1.3.5-r9.ebuild:
Stable on x86 (#145511)
20 Sep 2006; Tobias Scherbaum <dertobi123@gentoo.org> ChangeLog:
ppc stable, bug #145511
*gzip-1.3.5-r9 (20 Sep 2006)
20 Sep 2006; Christian Hartmann <ian@gentoo.org>
+files/gzip-1.3.5-CVE-2006-4334-8.patch, +gzip-1.3.5-r9.ebuild:
Revbump for bug #145511 - commit approved by DerCorny.
27 Apr 2006; Alec Warner <antarus@gentoo.org> files/digest-gzip-1.3.5-r8,
Manifest:
Fixing duff SHA256 digests: Bug # 131293
30 Mar 2006; Diego Pettenò <flameeyes@gentoo.org> gzip-1.3.5-r8.ebuild:
Add ~x86-fbsd keyword.
*gzip-1.3.5-r8 (02 Jul 2005)
02 Jul 2005; Mike Frysinger <vapier@gentoo.org>
+files/gzip-1.3.5-huft-build-return-fix.patch, +gzip-1.3.5-r8.ebuild:
Fix crash on bad input #94584 by Tavis Ormandy.
*gzip-1.3.5-r7 (31 May 2005)
31 May 2005; Mike Frysinger <vapier@gentoo.org>
+files/gzip-1.3.5-alpha.patch, +gzip-1.3.5-r7.ebuild:
Fix segfault on alpha/xorg with a patch from Debian #92232.
06 May 2005; Stephen Bennett <spb@gentoo.org> gzip-1.3.5-r6.ebuild:
Mips stable for #89946.
04 May 2005; Bryan Østergaard <kloeri@gentoo.org> gzip-1.3.5-r6.ebuild:
Stable on alpha + ia64, bug 89946.
03 May 2005; Michael Hanselmann <hansmi@gentoo.org> gzip-1.3.5-r6.ebuild:
Stable on ppc and hppa.
03 May 2005; Olivier Crête <tester@gentoo.org> gzip-1.3.5-r6.ebuild:
Stable on x86 per security bug #89946
03 May 2005; Omkhar Arasaratnam <omkhar@gentoo.org> gzip-1.3.5-r6.ebuild:
Stable on ppc64 wrt #89946
03 May 2005; Gustavo Zacarias <gustavoz@gentoo.org> gzip-1.3.5-r6.ebuild:
Stable on sparc wrt #89946
03 May 2005; Jan Brinkmann <luckyduck@gentoo.org> gzip-1.3.5-r6.ebuild:
stable on amd64 wrt #89946
*gzip-1.3.5-r6 (02 May 2005)
02 May 2005; Mike Frysinger <vapier@gentoo.org>
+files/gzip-1.3.5-asm-execstack.patch, +files/gzip-1.3.5-debian.patch,
+files/gzip-1.3.5-gunzip-dir.patch, +files/gzip-1.3.5-gzip-perm.patch,
+files/gzip-1.3.5-infodir.patch, +files/gzip-1.3.5-rsync.patch,
+files/gzip-1.3.5-zgrep-sed.patch, -files/gzip-1.3.5-znew-tempfile.patch,
+gzip-1.3.5-r6.ebuild:
Add a bunch of patches from Redhat, break up the Debian patch we used, and
add fixes for security #89946 and #90626.
*gzip-1.3.5-r5 (04 Jan 2005)
04 Jan 2005; Mike Frysinger <vapier@gentoo.org>
-files/gzip-1.3.5-zdiff-tempfile-2.patch,
-files/gzip-1.3.5-zdiff-tempfile.patch, -gzip-1.3.5-r3.ebuild,
-gzip-1.3.5-r4.ebuild, +gzip-1.3.5-r5.ebuild:
Remove zdiff patch since it isnt actually needed (zdiff utilizes the
noclobber feature of bash to protect against symlink attacks). Fixes zdiff
breakage #70277.
29 Dec 2004; Hardave Riar <hardave@gentoo.org> gzip-1.3.5-r4.ebuild:
Stable on mips, bug #70825.
14 Dec 2004; Bryan Østergaard <kloeri@gentoo.org> gzip-1.3.5-r4.ebuild:
Stable on alpha, bug 70825.
14 Dec 2004; Markus Rothe <corsair@gentoo.org> gzip-1.3.5-r4.ebuild:
Stable on ppc64
14 Dec 2004; Guy Martin <gmsoft@gentoo.org> gzip-1.3.5-r4.ebuild:
Stable on hppa.
13 Dec 2004; Mike Doty <kingtaco@gentoo.org> gzip-1.3.5-r4.ebuild:
stable on amd64. bug #70825
13 Dec 2004; Gustavo Zacarias <gustavoz@gentoo.org> gzip-1.3.5-r4.ebuild:
Stable on sparc
13 Dec 2004; Daniel Black <dragonheart@gentoo.org> gzip-1.3.5-r4.ebuild:
ppc stable as per bug #70825.
*gzip-1.3.5-r4 (12 Dec 2004)
12 Dec 2004; Mike Frysinger <vapier@gentoo.org>
+files/gzip-1.3.5-zdiff-tempfile-2.patch,
+files/gzip-1.3.5-znew-tempfile-2.patch, +gzip-1.3.5-r4.ebuild:
Fix the zdiff patch so it works #70277 by Michael Moen. Update the znew
patch with the mandrake version #70825.
24 Nov 2004; Guy Martin <gmsoft@gentoo.org> gzip-1.3.5-r3.ebuild:
Stable on hppa.
18 Nov 2004; Aron Griffis <agriffis@gentoo.org> gzip-1.3.5-r3.ebuild:
stable on ia64
18 Nov 2004; Bryan Østergaard <kloeri@gentoo.org> gzip-1.3.5-r3.ebuild:
Stable on alpha, bug 70825.
18 Nov 2004; Karol Wojtaszek <sekretarz@gentoo.org> gzip-1.3.5-r3.ebuild:
Stable on amd64, bug #70825
18 Nov 2004; Markus Rothe <corsair@gentoo.org> gzip-1.3.5-r3.ebuild:
Stable on ppc64; bug #70825
18 Nov 2004; Hardave Riar <hardave@gentoo.org> gzip-1.3.5-r3.ebuild:
Stable on mips, bug #70825
18 Nov 2004; Olivier Crete <tester@gentoo.org> gzip-1.3.5-r3.ebuild:
Stable in x86 wrt 70825
18 Nov 2004; Luca Barbato <lu_zero@gentoo.org> gzip-1.3.5-r3.ebuild:
Marked ppc
18 Nov 2004; Gustavo Zacarias <gustavoz@gentoo.org> gzip-1.3.5-r3.ebuild:
Stable on sparc wrt #70825
*gzip-1.3.5-r3 (17 Nov 2004)
17 Nov 2004; <solar@gentoo.org> +files/gzip-1.3.5-znew-tempfile.patch,
+gzip-1.3.5-r3.ebuild:
security bump. znew tmpfile handling.
30 Oct 2004; Tom Gall <tgall@gentoo.org> gzip-1.3.5-r2.ebuild:
stable on ppc64, bug #68405
27 Oct 2004; Seemant Kulleen <seemant@gentoo.org> gzip-1.3.5-r2.ebuild:
stable on x86, bug 68405
27 Oct 2004; Hardave Riar <hardave@gentoo.org> gzip-1.3.5-r2.ebuild:
Stable on mips, bug #68405.
27 Oct 2004; Bryan Østergaard <kloeri@gentoo.org> gzip-1.3.5-r2.ebuild:
Stable on alpha, bug 68405.
27 Oct 2004; Joseph Jezak <josejx@gentoo.org> gzip-1.3.5-r2.ebuild:
Tested and marked ppc
26 Oct 2004; Travis Tilley <lv@gentoo.org> gzip-1.3.5-r2.ebuild:
stable on amd64
26 Oct 2004; Gustavo Zacarias <gustavoz@gentoo.org> gzip-1.3.5-r2.ebuild:
Stable on sparc wrt #68405
*gzip-1.3.5-r2 (26 Oct 2004)
26 Oct 2004; <solar@gentoo.org> +files/gzip-1.3.5-zdiff-tempfile.patch,
+gzip-1.3.5-r2.ebuild:
security bump. insecure tmpfile handling bug 68405
13 Oct 2004; Travis Tilley <lv@gentoo.org> gzip-1.3.5-r1.ebuild:
stable on amd64
05 Oct 2004; Pieter Van den Abeele <pvdabeel@gentoo.org>
gzip-1.3.5-r1.ebuild:
Masked gzip-1.3.5-r1.ebuild stable for ppc
19 Sep 2004; Joshua Kinard <kumba@gentoo.org> gzip-1.3.5-r1.ebuild:
Marked stable on mips.
09 Sep 2004; Gustavo Zacarias <gustavoz@gentoo.org> gzip-1.3.5-r1.ebuild:
Stable on sparc
08 Sep 2004; Mike Frysinger <vapier@gentoo.org> gzip-1.3.5-r1.ebuild:
Trim out useless stuff from the debian patch #55450 by Tyler Montbriand.
28 Jun 2004; <solar@gentoo.org> gzip-1.3.5-r1.ebuild:
added the pic USE= flag to allow gzip to be built without inline assembler
code to avoid text relocations
*gzip-1.3.3-r4 (23 Jun 2004)
*gzip-1.3.5-r1 (23 Jun 2004)
23 Jun 2004; Aron Griffis <agriffis@gentoo.org>
files/gzip-1.3.3-security.patch, files/gzip-1.3.5-security.patch,
-gzip-1.3.3-r3.ebuild, +gzip-1.3.3-r4.ebuild, +gzip-1.3.5-r1.ebuild,
-gzip-1.3.5.ebuild:
More security fixes: Use set -C to protect against more tempfile
problems in gzexe. Use tail -n in all cases since current GNU version
doesn't support tail +number at all.
*gzip-1.3.5 (23 Jun 2004)
23 Jun 2004; Aron Griffis <agriffis@gentoo.org> +metadata.xml,
files/gzip-1.3.3-security.patch, +files/gzip-1.3.5-security.patch,
-gzip-1.3.3-r2.ebuild, +gzip-1.3.5.ebuild:
Check exit status of tempfile command #54890
Update to 1.3.5 plus Debian patches to fix segfault on alpha #53641
06 May 2004; Daniel Black <dragonheart@gentoo.org>
-files/gzip-1.2.4a-r5-gentoo.diff, -files/gzip-1.2.4a-r6-gentoo.diff,
-files/gzip-1.3.2-gentoo.diff, -files/gzip-1.3.3-gentoo.diff:
Old file cleanout
28 Mar 2004; Mike Frysinger <vapier@gentoo.org> :
Add USE=static support #45055 by Sascha Silbe.
02 Mar 2004; Brian Jackson <iggy@gentoo.org> gzip-1.3.3-r2.ebuild:
adding initial s390 support
21 Feb 2004; Michael Sterrett <mr_bones_@gentoo.org> gzip-1.3.3-r2.ebuild:
header fix; arm needs deps first; tidy
*gzip-1.3.2 (14 Nov 2003)
14 Nov 2003; Seemant Kulleen <seemant@gentoo.org> gzip-1.2.4a-r6.ebuild,
gzip-1.3.2.ebuild, gzip-1.3.3-r1.ebuild, gzip-1.3.3-r2.ebuild,
gzip-1.3.3.ebuild, files/gzip-1.2.4a-r5-gentoo.diff,
files/gzip-1.2.4a-r6-gentoo.diff, files/gzip-1.3.2-gentoo.diff,
files/gzip-1.3.3-gentoo.diff, files/gzip-1.3.3-security.patch:
moved from sys-apps to app-arch, and PROVIDES virtual/gzip
*gzip-1.3.3-r2 (09 Jun 2003)
15 Jun 2003; Joshua Kinard <kumba@gentoo.org> :
Fixed b0rked digests, added ChangeLog to Manifest
09 Jun 2003; Daniel Ahlberg <aliz@gentoo.org> :
Security update. Added Debian patches for znew and gzexe.
20 Feb 2003; Zach Welch <zwelch@gentoo.org> :
Added arm to keywords.
*gzip-1.3.3-r1 (20 Jan 2003)
16 Apr 2003; Guy Martin <gmsoft@gentoo.org> gzip-1.3.3-r1.ebuild :
Marked stable on hppa.
02 Apr 2003; Christian Birchinger <joker@gentoo.org> gzip-1.3.3-r1.ebuild:
Added stable sparc keyword
24 Feb 2003; Nicholas Wourms <dragon@gentoo.org> gzip-1.3.3-r1.ebuild :
Mark as stable for mips.
20 Jan 2003; Martin Schlemmer <azarah@gentoo.org> gzip-1.3.3-r1.ebuild :
Do install gzcat, gunzip, etc as symlinks. Closing bug #7600. Also
added z?grep and zcmp to the list from #7600.
10 Dec 2002; Martin Schlemmer <azarah@gentoo.org> gzip-1.3.3.ebuild :
Mark stable.
06 Dec 2002; Rodney Rees <manson@gentoo.org>:
Changed sparc ~sparc keywords
19 Oct 2002; Michael Cohen <mjc@gentoo.org> gzip-1.3.3.ebuild :
Changed KEYWORDS to "~x86 ~ppc ~sparc ~sparc64 ~alpha".
*gzip-1.3.3 (19 Oct 2002)
09 Feb 2003; Guy Martin <gmsoft@gentoo.org> gzip-1.3.3.ebuild :
Added hppa to keywords.
19 Oct 2002; Michael Cohen <mjc@gentoo.org> : New version.
*gzip-1.2.4a-r6 (14 July 2002)
14 Jul 2002; phoen][x <phoenix@gentoo.org> gzip-1.2.4a-r6.ebuild :
Added KEYWORDS, SLOT.
*gzip-1.3.2 (1 Feb 2002)
18 Jan 2003; Jan Seidel <tuxus@gentoo.org> :
Added mips to keywords
14 Jul 2002; phoen][x <phoenix@gentoo.org> gzip-1.3.2.ebuild :
Added KEYWORDS, SLOT.
1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog :
Added initial ChangeLog which should be updated whenever the package is
updated in any way. This changelog is targetted to users. This means that the
comments should well explained and written in clean English. The details about
writing correct changelogs are explained in the skel.ChangeLog file which you
can find in the root directory of the portage repository.

View File

@ -1,5 +1,2 @@
DIST gzip-1.4.tar.gz 907411 SHA256 d166cfd3da380da1bd535633e8890bfb5664f9e68870a611d1dc01a3e9f711ee SHA512 9ba6d11f0469b80433a5da25f834f7652db109c235e2a849f4249adae3929fda9ebef98a181cc928a5dfc2b0d35df8b220afba130cd4a596a4dbddbf3fe8d2bc WHIRLPOOL 3d8552d2dc660953714f49674e8af2319eade0fd33c705ee253c2ea215cf4e5c3e6b7088c7087060ea7751508c74769b5b64d9e88bc22ea1d7ad0e8680a616e5
DIST gzip-1.5.tar.xz 720956 SHA256 9ac20a3841a1246a8bedd800ea1fb93ef76521535d89cb59397d267026b6a173 SHA512 27b1b9c1ab75331b5368abb54541f3f251009a3bc6e49e42cda13bc088673d9f8c89c55caa63da60c1ea70fac2e6de24203b7aeaaaad4bc54302edbe275f46ea WHIRLPOOL c718e5e4e0e6f29de285380c25564997615b7213fa32604922436c3c6221bb9531d01518a6cc4e0a80b4694bb040768654d4bf07bb48290f90e61f13962e96ab
DIST gzip-1.6.tar.xz 725084 SHA256 37dfed1a485d53212c43b3fa2a7c7952f09bf5cd86e37121c222341ee1b27847 SHA512 06da599fc38b459d7e9a3f43fdd06d1a0d7b29ad14cb7b6552176bab584a1135bb47ba37a4eb377e6c42c4934d557079ace1e289a252ae192ee154079a62ed01 WHIRLPOOL 7c639d9a57d5f9a820972275c7813ccd76df7a87ad68b00668696aec251b84fd7efb1129205e8a7cd51e40706b718ce3ce71dc9aa6626acf074bcea6f0fe5c39
DIST gzip-1.7.tar.xz 764056 SHA256 fb31c57e7ce7703596ef57329be7cc5c5fd741b4a0f659fea7ee6a54706b41ab SHA512 e28f23738f0d2936773d9b50ea9e46c59945e227a90ca7d8e953fb5a774b8692a3341b744320e924da2d5825117dab730affce506f6fc8e65f0af372f3082539 WHIRLPOOL 5b9b3ce8cae2ec46d9114faf3fcaff03e6ffa1c32a21ba6dc0c58ed2e22191207b484ebba3a407624d6337f47ac2e11110430a703d163f1c7c6378c4fe0ad005
DIST gzip-1.8.tar.xz 728116 SHA256 ff1767ec444f71e5daf8972f6f8bf68cfcca1d2f76c248eb18e8741fc91dbbd3 SHA512 efd3e2439476054badeb127d9156e24e9252129111219f13fd939596c057b2a96291630b2717181984b391abf249ac8699488bbd01ceeb8a70b121c500b10c55 WHIRLPOOL 490a1f0c157c880a68758a60cc460df525145d6a3bd7567666f194759b471001a29bf409e1628eb86c8d8e598d0c2a0bdd713ed31e5bd17719511aef93361605
DIST gzip-1.10.tar.xz 775144 BLAKE2B 431dc0fd11061eabd9db86594777b86510b124b124fd74799eacd67334631af60f638be2638413bee0153a9da35528d0aecc5b5083152c395223705400c9103b SHA512 e6ba9e3906cdb6a6235b213515093d02afa1722686f73eddacbacae628542b586b449829783b6a1701e9b9e0c4d4dfa6845904d3b6b010f5cf21aec4997c9299
DIST gzip-1.9.tar.xz 762516 BLAKE2B 4001fc7a770634916d52b026dab1b621fc96275bfb61ec2df2d0e7d7ec1c81414270d3c866034e6ef758870f38e9d4396a25832abe558915a7ded1f1511eb4b0 SHA512 c0852e7f7662141e79d14bc36e50f1940dba3e804feff3b0b8fa084ffec720ac245352282d2f1db117fadc95758424dd418d192b94621dac4367834ccf101fad

View File

@ -1,5 +1,5 @@
--- Makefile.in
+++ Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
@@ -926,7 +926,7 @@
rm -f "$$dest" && \
case $@ in \

View File

@ -1,30 +0,0 @@
http://bugs.gentoo.org/show_bug.cgi?id=302773
--- tailor.h.old 2010-01-29 11:13:02.000000000 +0000
+++ tailor.h 2010-01-29 13:18:15.000000000 +0000
@@ -69,9 +69,6 @@
# include <io.h>
# define OS_CODE 0x00
# define SET_BINARY_MODE(fd) setmode(fd, O_BINARY)
-# if !defined(NO_ASM) && !defined(ASMV)
-# define ASMV
-# endif
#else
# define near
#endif
@@ -182,7 +179,6 @@
# define PATH_SEP2 ':'
# define STDC_HEADERS
# define OS_CODE 0x01
-# define ASMV
# ifdef __GNUC__
# define HAVE_DIRENT_H
# define HAVE_FCNTL_H
@@ -201,7 +197,6 @@
#endif
#if defined(ATARI) || defined(atarist)
-# define ASMV
# define OS_CODE 0x05
# ifdef TOSFS
# define PATH_SEP2 '\\'

View File

@ -1,52 +0,0 @@
http://bugs.gentoo.org/309079
http://lists.gnu.org/archive/html/bug-gzip/2010-02/msg00032.html
From 61af16213a488af3a8e994399ebd0859d390edb6 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering@redhat.com>
Date: Sat, 20 Mar 2010 13:05:58 +0100
Subject: [PATCH] use assembly code matcher when possible
* configure.ac (ASCPPPOST): Backslash-escape "#" in AC_SUBST'd
variable, to keep make from seeing it as a comment-introducer.
Based on a patch by Petr Pisar.
* lib/Makefile.am (match.$(OBJEXT)): Use AM_V_GEN and AM_V_at.
* lib/match.c: Don't include <config.h>.
It would impede configure-time assembler test.
* .x-sc_require_config_h: Exempt lib/match.c from syntax-check.
* .x-sc_require_config_h_first: Likewise.
---
.x-sc_require_config_h | 1 +
.x-sc_require_config_h_first | 1 +
THANKS | 1 +
configure.ac | 2 +-
lib/Makefile.am | 12 ++++++------
lib/match.c | 2 --
6 files changed, 10 insertions(+), 9 deletions(-)
create mode 100644 .x-sc_require_config_h
create mode 100644 .x-sc_require_config_h_first
--- a/configure
+++ b/configure
@@ -22588,5 +22588,5 @@
# cc -E produces incorrect asm files on SVR4, so postprocess it.
-ASCPPPOST="sed '/^ *#/d; s,//.*,,; s/% /%/g; s/\\. /./g'"
+ASCPPPOST="sed '/^ *\\#/d; s,//.*,,; s/% /%/g; s/\\. /./g'"
diff --git a/lib/match.c b/lib/match.c
index 4ef6128..5dd8d64 100644
--- a/lib/match.c
+++ b/lib/match.c
@@ -28,8 +28,6 @@
* David Mosberger-Tang <davidm@hpl.hp.com>.
*/
-#include <config.h>
-
/* Preprocess with -DNO_UNDERLINE if your C compiler does not prefix
* external symbols with an underline character '_'.
*/
--
1.7.1.1

View File

@ -1,22 +0,0 @@
hack until gzip pulls a newer gnulib version
From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001
From: Eric Blake <eblake@redhat.com>
Date: Thu, 29 Mar 2012 13:30:41 -0600
Subject: [PATCH] stdio: don't assume gets any more
Gnulib intentionally does not have a gets module, and now that C11
and glibc have dropped it, we should be more proactive about warning
any user on a platform that still has a declaration of this dangerous
interface.
--- a/lib/stdio.in.h
+++ b/lib/stdio.in.h
@@ -125,7 +125,6 @@
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@

View File

@ -0,0 +1,134 @@
fix build failure against glibc-2.28
https://bugs.gentoo.org/663928
Adopted gnulib's upstream patch:
From 4af4a4a71827c0bc5e0ec67af23edef4f15cee8e Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 5 Mar 2018 10:56:29 -0800
Subject: [PATCH] fflush: adjust to glibc 2.28 libio.h removal
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Problem reported by Daniel P. Berrangé in:
https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
* lib/fflush.c (clear_ungetc_buffer_preserving_position)
(disable_seek_optimization, rpl_fflush):
* lib/fpurge.c (fpurge):
* lib/freadahead.c (freadahead):
* lib/freading.c (freading):
* lib/fseeko.c (fseeko):
* lib/fseterr.c (fseterr):
Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
Define if not already defined.
---
lib/fflush.c | 6 +++---
lib/fpurge.c | 2 +-
lib/freading.c | 2 +-
lib/fseeko.c | 4 ++--
lib/fseterr.c | 2 +-
lib/stdio-impl.h | 6 ++++++
--- a/lib/fflush.c
+++ b/lib/fflush.c
@@ -33,7 +33,7 @@
#undef fflush
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
/* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
static void
@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp)
#endif
-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
# if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream)
if (stream == NULL || ! freading (stream))
return fflush (stream);
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
clear_ungetc_buffer_preserving_position (stream);
--- a/lib/fpurge.c
+++ b/lib/fpurge.c
@@ -62,7 +62,7 @@ fpurge (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
fp->_IO_read_end = fp->_IO_read_ptr;
fp->_IO_write_ptr = fp->_IO_write_base;
/* Avoid memory leak when there is an active ungetc buffer. */
--- a/lib/freading.c
+++ b/lib/freading.c
@@ -31,7 +31,7 @@ freading (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
return ((fp->_flags & _IO_NO_WRITES) != 0
|| ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
&& fp->_IO_read_base != NULL));
--- a/lib/fseeko.c
+++ b/lib/fseeko.c
@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int whence)
#endif
/* These tests are based on fpurge.c. */
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
if (fp->_IO_read_end == fp->_IO_read_ptr
&& fp->_IO_write_ptr == fp->_IO_write_base
&& fp->_IO_save_base == NULL)
@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int whence)
return -1;
}
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
fp->_flags &= ~_IO_EOF_SEEN;
fp->_offset = pos;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
--- a/lib/fseterr.c
+++ b/lib/fseterr.c
@@ -29,7 +29,7 @@ fseterr (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
fp->_flags |= _IO_ERR_SEEN;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
--- a/lib/stdio-impl.h
+++ b/lib/stdio-impl.h
@@ -18,6 +18,12 @@
the same implementation of stdio extension API, except that some fields
have different naming conventions, or their access requires some casts. */
+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this
+ problem by defining it ourselves. FIXME: Do not rely on glibc
+ internals. */
+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
+# define _IO_IN_BACKUP 0x100
+#endif
/* BSD stdio derived implementations. */
--
2.19.1

View File

@ -0,0 +1,39 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit flag-o-matic
DESCRIPTION="Standard GNU compressor"
HOMEPAGE="https://www.gnu.org/software/gzip/"
SRC_URI="mirror://gnu/gzip/${P}.tar.xz
mirror://gnu-alpha/gzip/${P}.tar.xz
mirror://gentoo/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="pic static"
PATCHES=(
"${FILESDIR}/${PN}-1.3.8-install-symlinks.patch"
)
src_configure() {
use static && append-flags -static
# avoid text relocation in gzip
use pic && export DEFS="NO_ASM"
econf --disable-gcc-warnings #663928
}
src_install() {
default
docinto txt
dodoc algorithm.doc gzip.doc
# keep most things in /usr, just the fun stuff in /
dodir /bin
mv "${ED%/}"/usr/bin/{gunzip,gzip,uncompress,zcat} "${ED%/}"/bin/ || die
sed -e "s:${EPREFIX}/usr:${EPREFIX}:" -i "${ED%/}"/bin/gunzip || die
}

View File

@ -1,49 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
inherit eutils flag-o-matic
DESCRIPTION="Standard GNU compressor"
HOMEPAGE="https://www.gnu.org/software/gzip/"
SRC_URI="mirror://gnu-alpha/gzip/${P}.tar.gz
mirror://gnu/gzip/${P}.tar.gz
mirror://gentoo/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="nls pic static"
RDEPEND=""
DEPEND="${RDEPEND}
nls? ( sys-devel/gettext )"
src_unpack() {
unpack ${A}
cd "${S}"
#epatch "${FILESDIR}"/${PN}-1.3.5-rsync.patch
epatch "${FILESDIR}"/${PN}-1.3.8-install-symlinks.patch
epatch "${FILESDIR}"/${P}-assembler.patch #309079
epatch "${FILESDIR}"/${P}-no-gets.patch
}
src_compile() {
use static && append-flags -static
# avoid text relocation in gzip
use pic && export DEFS="NO_ASM"
econf || die
emake || die
}
src_install() {
emake install DESTDIR="${D}" || die
dodoc ChangeLog NEWS README THANKS TODO
docinto txt
dodoc algorithm.doc gzip.doc
# keep most things in /usr, just the fun stuff in /
dodir /bin
mv "${D}"/usr/bin/{gunzip,gzip,uncompress,zcat} "${D}"/bin/ || die
sed -e 's:/usr::' -i "${D}"/bin/gunzip || die
}

View File

@ -1,47 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
inherit eutils flag-o-matic unpacker
DESCRIPTION="Standard GNU compressor"
HOMEPAGE="https://www.gnu.org/software/gzip/"
SRC_URI="mirror://gnu-alpha/gzip/${P}.tar.xz
mirror://gnu/gzip/${P}.tar.xz
mirror://gentoo/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="nls pic static"
RDEPEND=""
DEPEND="${RDEPEND}
nls? ( sys-devel/gettext )"
src_unpack() {
unpacker
cd "${S}"
#epatch "${FILESDIR}"/${PN}-1.3.5-rsync.patch
epatch "${FILESDIR}"/${PN}-1.3.8-install-symlinks.patch
}
src_compile() {
use static && append-flags -static
# avoid text relocation in gzip
use pic && export DEFS="NO_ASM"
econf || die
emake || die
}
src_install() {
emake install DESTDIR="${D}" || die
dodoc ChangeLog NEWS README THANKS TODO
docinto txt
dodoc algorithm.doc gzip.doc
# keep most things in /usr, just the fun stuff in /
dodir /bin
mv "${D}"/usr/bin/{gunzip,gzip,uncompress,zcat} "${D}"/bin/ || die
sed -e 's:/usr::' -i "${D}"/bin/gunzip || die
}

View File

@ -1,41 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils flag-o-matic
DESCRIPTION="Standard GNU compressor"
HOMEPAGE="https://www.gnu.org/software/gzip/"
SRC_URI="mirror://gnu-alpha/gzip/${P}.tar.xz
mirror://gnu/gzip/${P}.tar.xz
mirror://gentoo/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="pic static"
src_prepare() {
epatch "${FILESDIR}"/${PN}-1.3.8-install-symlinks.patch
epatch "${FILESDIR}"/${PN}-1.4-asmv.patch
}
src_configure() {
use static && append-flags -static
# avoid text relocation in gzip
use pic && export DEFS="NO_ASM"
econf
}
src_install() {
default
docinto txt
dodoc algorithm.doc gzip.doc
# keep most things in /usr, just the fun stuff in /
dodir /bin
mv "${ED}"/usr/bin/{gunzip,gzip,uncompress,zcat} "${ED}"/bin/ || die
sed -e "s:${EPREFIX}/usr:${EPREFIX}:" -i "${ED}"/bin/gunzip || die
}

View File

@ -1,45 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils flag-o-matic
DESCRIPTION="Standard GNU compressor"
HOMEPAGE="https://www.gnu.org/software/gzip/"
SRC_URI="mirror://gnu-alpha/gzip/${P}.tar.xz
mirror://gnu/gzip/${P}.tar.xz
mirror://gentoo/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="pic static"
PATCHES=(
"${FILESDIR}/${PN}-1.3.8-install-symlinks.patch"
"${FILESDIR}/${PN}-1.4-asmv.patch"
)
src_prepare() {
epatch "${PATCHES[@]}"
}
src_configure() {
use static && append-flags -static
# avoid text relocation in gzip
use pic && export DEFS="NO_ASM"
econf
}
src_install() {
default
docinto txt
dodoc algorithm.doc gzip.doc
# keep most things in /usr, just the fun stuff in /
dodir /bin
mv "${ED}"/usr/bin/{gunzip,gzip,uncompress,zcat} "${ED}"/bin/ || die
sed -e "s:${EPREFIX}/usr:${EPREFIX}:" -i "${ED}"/bin/gunzip || die
}

View File

@ -1,45 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils flag-o-matic
DESCRIPTION="Standard GNU compressor"
HOMEPAGE="https://www.gnu.org/software/gzip/"
SRC_URI="mirror://gnu/gzip/${P}.tar.xz
mirror://gnu-alpha/gzip/${P}.tar.xz
mirror://gentoo/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="pic static"
PATCHES=(
"${FILESDIR}/${PN}-1.3.8-install-symlinks.patch"
"${FILESDIR}/${PN}-1.4-asmv.patch"
)
src_prepare() {
epatch "${PATCHES[@]}"
}
src_configure() {
use static && append-flags -static
# avoid text relocation in gzip
use pic && export DEFS="NO_ASM"
econf
}
src_install() {
default
docinto txt
dodoc algorithm.doc gzip.doc
# keep most things in /usr, just the fun stuff in /
dodir /bin
mv "${ED}"/usr/bin/{gunzip,gzip,uncompress,zcat} "${ED}"/bin/ || die
sed -e "s:${EPREFIX}/usr:${EPREFIX}:" -i "${ED}"/bin/gunzip || die
}

View File

@ -0,0 +1,40 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit flag-o-matic
DESCRIPTION="Standard GNU compressor"
HOMEPAGE="https://www.gnu.org/software/gzip/"
SRC_URI="mirror://gnu/gzip/${P}.tar.xz
mirror://gnu-alpha/gzip/${P}.tar.xz
mirror://gentoo/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="pic static"
PATCHES=(
"${FILESDIR}/${PN}-1.3.8-install-symlinks.patch"
"${FILESDIR}/${PN}-1.9-gnulib-glibc-2.28.patch"
)
src_configure() {
use static && append-flags -static
# avoid text relocation in gzip
use pic && export DEFS="NO_ASM"
econf --disable-gcc-warnings #663928
}
src_install() {
default
docinto txt
dodoc algorithm.doc gzip.doc
# keep most things in /usr, just the fun stuff in /
dodir /bin
mv "${ED%/}"/usr/bin/{gunzip,gzip,uncompress,zcat} "${ED%/}"/bin/ || die
sed -e "s:${EPREFIX}/usr:${EPREFIX}:" -i "${ED%/}"/bin/gunzip || die
}

View File

@ -1,8 +1,3 @@
AUX lbzip2-2.3-s_isreg.patch 500 SHA256 10b815ddb705e8d12a50694174b1c1020a3ac64203ea8c253e6b2a0f0cfe71e0 SHA512 3158763b364e8ba41b0fea03529c6e4a0c6f3d17e7d0ce796fc9a6f6bc7e70fa7db759dc205026818619e137fb6343cf21534014b64dbf07c1cdb3bc1059cc04 WHIRLPOOL 94129a224b1b68d0de839aa8d98ba1ccedef41291b4848368c5e2da49af4d0415bda5be594a788c1b19620d791bba8b33549102ce2332e1ab20ca0dea1ec70a2
DIST lbzip2-2.3.tar.gz 630226 SHA256 d3110a2b9e19da277dec899f7a3f435cc130a518f6a43094ec4e31ca15f93eaa SHA512 4f694445cc90377bf8dac5046b952ff174db571f390c2d7b0aa001f73c76f3d3f048ff8e7297c2055ed1f7b210174496dc31d6628e1cbeff63146a36a442ad4c WHIRLPOOL 781c9e07eccb633eeb713a9e4f821e0a75102e182d6a6ea4dfba7e33aa96afbfd92fdd5d0e9818ec4c41cf86733fe0396bb42071aad7a47c5e4cdd6426812527
DIST lbzip2-2.5.tar.gz 651399 SHA256 46c75ee93cc95eedc6005625442b2b8e59a2bef3ba80987d0491f055185650e9 SHA512 76e96cfa75b3ed515b2f891349dffc1403daab2dd0a2a614fa0c811cec6ca25faa395da08ad68a9b6ba4069332c4571f70fb7424f06ef3d800c3082c08d7d3d7 WHIRLPOOL b64e70239d89782499cd59731130258d0432dbd69f84d1bed2adb7f573f706ab635a80bd2e2331231f4aad0c92b51151a0c45f192f4fcea9579fb1eef2fa8708
EBUILD lbzip2-2.3-r1.ebuild 806 SHA256 8f6b790889bb957d9a8e375fae7cc7cbd0d1230892efc03accbe98f0d15678f2 SHA512 ce7cb5acd3357e7ad80c782c90c6decd8a9ff6041064988ceb454d559058c1f531c92a903324a2b0e64560119fae3f03f54c6c8fb9b00345382220b5c52338b7 WHIRLPOOL bb8ffd895c4f4dc81d142032ab80223743c3d4869c19715fe03511c0bf01ba2f662d4b73849be93a9b2bab8d906abcd5469762ee773fd6dc493fb5bbf31fb2f6
EBUILD lbzip2-2.5.ebuild 826 SHA256 00ec47665ebb8c31322821216951467a9bb9d42c7cf7d1812a0aeef2d784a207 SHA512 f63095d9320ab1ba66a8142b13592c5444e79315e1d765da3e47631df79e3b98ff6ab325725ab1dd00990c92190e05c9cc3d098b2b79340568435bd6033b03fa WHIRLPOOL 925b074f2460d7cc1a0dab38cb5745ea5d0986542efe9ed34c6775ab21e3c9c9142dd1991ea12213dce95927ee3de119e4a33b7c9031516281d7fd0659323d8d
MISC ChangeLog 2609 SHA256 c21aabf947f70e6dab0fb0d8fbc246b6c4e282d763adb7660f8eceb8b3eb62e2 SHA512 f371e4ae51b62c4b3b262f4fe2aa79f721ee7fd25741f5830c2621363601a50413a291d1b7da1b86d1be395db2facace78f02bd4061af68f53d53930783c8221 WHIRLPOOL 47f1a8b6da7eb8609631c32996c360529f772b8d828dd833a40ea99fdc131657f20123d76343a9da9e859e99f0adacb191f18f0cc0dc32b013e5954d78ca4050
MISC ChangeLog-2015 9240 SHA256 bc1fcf75a15f16e43d687f2063c1f65993749f3a481632835a99a1a76455571f SHA512 f5dd73ff1358b6b8cc792d51d10a00472ecb4f0aafbf4434fe2722f8ecda04e250a001f1e8f6448ee4d51521d532af9c1c44e1edff4d30f279f70071ba39fcb9 WHIRLPOOL 7c57229779b1c41f56625a26c8357855488d221b94eeb1b1fe73273dd2ab37262b5dd25766877ebe44a2f3cbfb24b8e382eb31723f7797b3545fd74b8ba181e2
MISC metadata.xml 544 SHA256 e3747415635a82c67ebcef4fb09bc6846c435bc067cefdecf5962a65df355fab SHA512 1e8feee62245ecf708787955fb4fd1dff60922ac7c165783fe0f3636afac000c808407656c06ee5ed166ef787365e15b5ca6b1f87ffcb851adaef45b04ff5bd7 WHIRLPOOL 0f7c1a9e52324a300a973ff53e16f7c009b36cdc8b377de9e678d27991cb72e4264b5e08e38719001b22c7670c48306aff45354041f076a9767fe23608da066b
DIST lbzip2-2.3.tar.gz 630226 BLAKE2B c08a7257eff859c0b7fb66ae638a57f837f1a2380c500c42ea65dc36e5650b30865d3c4c9820d6fed62bdbc4e3bdf7bae9e8bfe519897d9aac7f0c77cceacfb2 SHA512 4f694445cc90377bf8dac5046b952ff174db571f390c2d7b0aa001f73c76f3d3f048ff8e7297c2055ed1f7b210174496dc31d6628e1cbeff63146a36a442ad4c
DIST lbzip2-2.5.tar.gz 651399 BLAKE2B a53fc34084ed16c0e78a9f084f68fc0bd1217245e9470ee023f0a4f5a1e2ae4e5866086f9fbc3ff7ec5654c595b4388d9eff495bc0228edbe0322bf9d1fd1f23 SHA512 76e96cfa75b3ed515b2f891349dffc1403daab2dd0a2a614fa0c811cec6ca25faa395da08ad68a9b6ba4069332c4571f70fb7424f06ef3d800c3082c08d7d3d7
DIST lbzip2-2.5_p20181227.tar.gz 704920 BLAKE2B e5da0091c0e4fb73724c5ea472d757d76356cffbf1fc679bf4ee05e25690b7712dceaf17f355383bfd4eb525c4aea04c2e5312592df5bb99159e000769bcee2e SHA512 53b29721a106d280927f2c18f33247645bb7fb3e67d835885d73e037910bf02e473f1210d848df41a387be30f829213d98ac9387b2a9201b94d12117809fbcf5

View File

@ -0,0 +1,50 @@
diff --git a/lib/fseterr.c b/lib/fseterr.c
index 1e212e4..81f51ed 100644
--- a/lib/fseterr.c
+++ b/lib/fseterr.c
@@ -1,5 +1,5 @@
/* Set the error indicator of a stream.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2018 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -12,7 +12,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
#include <config.h>
@@ -23,21 +23,26 @@
#include "stdio-impl.h"
+/* This file is not used on systems that have the __fseterr function,
+ namely musl libc. */
+
void
fseterr (FILE *fp)
{
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
fp->_flags |= _IO_ERR_SEEN;
-#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
+#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
fp_->_flags |= __SERR;
#elif defined __EMX__ /* emx+gcc */
fp->_flags |= _IOERR;
#elif defined __minix /* Minix */
fp->_flags |= _IOERR;
-#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */
+#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */
fp_->_flag |= _IOERR;
#elif defined __UCLIBC__ /* uClibc */
fp->__modeflags |= __FLAG_ERROR;

View File

@ -0,0 +1,39 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="Parallel bzip2 utility"
HOMEPAGE="https://github.com/kjn/lbzip2/"
SRC_URI="http://archive.lbzip2.org/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
IUSE="debug symlink"
RDEPEND="symlink? ( !app-arch/pbzip2[symlink] )"
DEPEND=""
PATCHES=(
"${FILESDIR}"/${PN}-2.3-s_isreg.patch
# bug 669594
"${FILESDIR}"/${PN}-2.5-glibc-2.28.patch
)
src_configure() {
local myeconfargs=(
--disable-silent-rules
$(use_enable debug tracing)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
if use symlink; then
dosym ${PN} /usr/bin/bzip2
dosym lbunzip2 /usr/bin/bunzip2
fi
}

View File

@ -0,0 +1,45 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit autotools
DESCRIPTION="Parallel bzip2 utility"
HOMEPAGE="https://github.com/kjn/lbzip2/"
SRC_URI="https://dev.gentoo.org/~whissi/dist/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
IUSE="debug symlink"
RDEPEND="symlink? ( !app-arch/pbzip2[symlink] )"
DEPEND=""
PATCHES=(
"${FILESDIR}"/${PN}-2.3-s_isreg.patch
)
src_prepare() {
default
eautoreconf
}
src_configure() {
local myeconfargs=(
--disable-silent-rules
$(use_enable debug tracing)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
if use symlink; then
dosym ${PN} /usr/bin/bzip2
dosym lbunzip2 /usr/bin/bunzip2
fi
}

View File

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mattst88@gentoo.org</email>
<name>Matt Turner</name>
</maintainer>
<longdescription lang="en">
A multi-threaded bzip2/bunzip2 utility that employs multiple threads and an
input-bound splitter even when decompressing .bz2 files created by standard
bzip2
<maintainer type="person">
<email>mattst88@gentoo.org</email>
<name>Matt Turner</name>
</maintainer>
<longdescription lang="en">
A multi-threaded bzip2/bunzip2 utility that employs multiple threads and an
input-bound splitter even when decompressing .bz2 files created by standard
bzip2
</longdescription>
<upstream>
<remote-id type="github">kjn/lbzip2</remote-id>
</upstream>
<upstream>
<remote-id type="github">kjn/lbzip2</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1 @@
DIST eclass-manpages-20190329.tar.xz 428068 BLAKE2B 630f6ba06bef6e4aed7713776b8a0ce737dcba4441309ed326b6eb87a5515f5fbd2f95db4a12385788a1dbf1ff6bc3c09620f4564c0bba201f48f6aa31520b41 SHA512 8088078334c2b7f35301bd75dc2505a366d030cb1d28bf47c387ba0c727cf5a58e1f279708d4a32ecf47ceec543c287ea5ad8c76ce4bbd9c45f039be2924d7ee

View File

@ -0,0 +1,20 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
DESCRIPTION="Collection of Gentoo eclass manpages"
HOMEPAGE="https://github.com/mgorny/eclass-to-manpage"
SRC_URI="https://dev.gentoo.org/~mgorny/dist/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
# Keep the keywords stable. No need to change to ~arch.
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris"
DEPEND="app-arch/xz-utils
sys-apps/gawk"
src_install() {
emake install DESTDIR="${D}" PREFIX=/usr
}

View File

@ -0,0 +1,35 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit git-r3
DESCRIPTION="Collection of Gentoo eclass manpages"
HOMEPAGE="https://github.com/mgorny/eclass-to-manpage"
SRC_URI=""
EGIT_REPO_URI="https://anongit.gentoo.org/git/repo/gentoo.git
https://github.com/gentoo/gentoo.git"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS=""
IUSE=""
DEPEND="sys-apps/gawk"
src_unpack() {
git-r3_fetch
git-r3_fetch "https://github.com/mgorny/eclass-to-manpage"
git-r3_checkout '' '' '' eclass
git-r3_checkout "https://github.com/mgorny/eclass-to-manpage"
}
src_compile() {
emake ECLASSDIR=eclass
}
src_install() {
emake install ECLASSDIR=eclass DESTDIR="${D}" PREFIX=/usr
}

View File

@ -1 +0,0 @@
DIST eclass-manpages-20180812.tar.xz 419912 BLAKE2B 35659ac43e43e71c600fb4955267c9d57ed36f29e0607150a8e8c061b158b6135a4b91f4e4c05fa178a03aa3068726ac13cd54e4cd135fbe152c8bebf81659bb SHA512 6d01070c6113e5d5f4102d466abaa03ae824350285ca71a5a4f84d859f6c473e8e92d3f5387b76c4bb5dc8bcedcc6b36a63e074d70725c87233dea4fa6a6d0c6

View File

@ -1,33 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
DESCRIPTION="Collection of Gentoo eclass manpages"
HOMEPAGE="https://www.gentoo.org/"
SRC_URI="https://dev.gentoo.org/~mgorny/dist/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
# Keep the keywords stabled. No need to change to ~arch.
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris"
DEPEND="app-arch/xz-utils"
# How to create a snapshot and upload it to your dev-space:
#
# mkdir eclass-manpages-$(date +%Y%m%d)
# cp "$(portageq get_repo_path / gentoo)"/eclass/*.eclass eclass-manpages-$(date +%Y%m%d)/
# tar -cf eclass-manpages-$(date +%Y%m%d).tar eclass-manpages-$(date +%Y%m%d)
# xz -e eclass-manpages-$(date +%Y%m%d).tar
# scp eclass-manpages-$(date +%Y%m%d).tar.xz dev.gentoo.org:public_html/dist/
#
# Then copy the ebuild and update your name in SRC_URI ;-).
src_compile() {
env ECLASSDIR="${S}" bash "${FILESDIR}"/eclass-to-manpage.sh || die
}
src_install() {
doman *.5
}

View File

@ -1,45 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
DESCRIPTION="Collection of Gentoo eclass manpages"
HOMEPAGE="https://www.gentoo.org/"
SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
KEYWORDS=""
IUSE=""
DEPEND="
|| (
sys-apps/portage
sys-apps/portage-mgorny
)"
S=${WORKDIR}
genit() {
local e=${1:-${ECLASSDIR}}
einfo "Generating man pages from: ${e}"
# Need `bash` because the .sh isn't +x on the servers #451352
env ECLASSDIR=${e} bash "${FILESDIR}"/eclass-to-manpage.sh || die
}
src_compile() {
# First process any eclasses found in overlays. Then process
# the main eclassdir last so that its output will clobber anything
# that might have come from overlays. Main tree wins!
local o e
for o in $(portageq get_repos /) ; do
e="$(portageq get_repo_path / ${o})/eclass"
[[ -d ${e} ]] || continue
genit "${e}" || die
done
genit || die
}
src_install() {
doman *.5
}

View File

@ -1,457 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# This awk converts the comment documentation found in eclasses
# into man pages for easier/nicer reading.
#
# If you wish to have multiple paragraphs in a description, then
# create empty comment lines. Paragraph parsing ends when the comment
# block does.
# The format of the eclass description:
# @ECLASS: foo.eclass
# @MAINTAINER:
# <required; list of contacts, one per line>
# @AUTHOR:
# <optional; list of authors, one per line>
# @BUGREPORTS:
# <optional; description of how to report bugs;
# default: tell people to use bugs.gentoo.org>
# @VCSURL: <optional; url to vcs for this eclass; default: https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/@ECLASS@>
# @SUPPORTED_EAPIS: <optional; space-separated list of EAPIs>
# @BLURB: <required; short description>
# @DESCRIPTION:
# <optional; long description>
# @EXAMPLE:
# <optional; example usage>
# The format of functions:
# @FUNCTION: foo
# @USAGE: <required arguments to foo> [optional arguments to foo]
# @RETURN: <whatever foo returns>
# @MAINTAINER:
# <optional; list of contacts, one per line>
# [@INTERNAL]
# @DESCRIPTION:
# <required if no @RETURN; blurb about this function>
# The format of function-specific variables:
# @VARIABLE: foo
# [@USER_VARIABLE] (set in make.conf, not ebuilds)
# [@INTERNAL] (internal eclass use variable)
# [@DEFAULT_UNSET]
# [@REQUIRED]
# @DESCRIPTION:
# <required; blurb about this variable>
# foo="<default value>"
# The format of eclass variables:
# @ECLASS-VARIABLE: foo
# [@PRE_INHERIT] (the variable must be set before inheriting the eclass)
# [@USER_VARIABLE] (set in make.conf, not ebuilds)
# [@OUTPUT_VARIABLE] (set by eclass, to be read in ebuilds)
# [@INTERNAL] (internal eclass use variable)
# [@DEFAULT_UNSET]
# [@REQUIRED]
# @DESCRIPTION:
# <required; blurb about this variable>
# foo="<default value>"
# Disable manpage generation:
# @DEAD
# Common features:
# @CODE
# In multiline paragraphs, you can create chunks of unformatted
# code by using this marker at the start and end.
# @CODE
#
# @ROFF <some roff macros>
# If you want a little more manual control over the formatting, you can
# insert roff macros directly into the output by using the @ROFF escape.
function _stderr_msg(text, type, file, cnt) {
if (_stderr_header_done != 1) {
cnt = split(FILENAME, file, /\//)
print "\n" file[cnt] ":" > "/dev/stderr"
_stderr_header_done = 1
}
print " " type ":" NR ": " text > "/dev/stderr"
}
function warn(text) {
_stderr_msg(text, "warning")
}
function fail(text) {
_stderr_msg(text, "error")
exit(1)
}
function xfail(text) {
_stderr_msg(text, "error (ignoring)")
exit(77)
}
function eat_line() {
ret = $0
sub(/^# @[A-Z]*:[[:space:]]*/,"",ret)
getline
return ret
}
function eat_paragraph() {
code = 0
ret = ""
getline
while ($0 ~ /^#/) {
# Only allow certain tokens in the middle of paragraphs
if ($2 ~ /^@/ && $2 !~ /^@(CODE|ROFF)$/)
break
sub(/^#[[:space:]]?/, "", $0)
# Escape . at start of line #420153
if ($0 ~ /^[.]/)
$0 = "\\&" $0
# Translate @CODE into @ROFF
if ($1 == "@CODE" && NF == 1) {
if (code)
$0 = "@ROFF .fi"
else
$0 = "@ROFF .nf"
code = !code
}
# Allow people to specify *roff commands directly
if ($1 == "@ROFF")
sub(/^@ROFF[[:space:]]*/, "", $0)
ret = ret "\n" $0
# Handle the common case of trailing backslashes in
# code blocks to cross multiple lines #335702
if (code && $NF == "\\")
ret = ret "\\"
getline
}
sub(/^\n/,"",ret)
return ret
}
function pre_text(p) {
return ".nf\n" p "\n.fi"
}
function man_text(p) {
return gensub(/-/, "\\-", "g", p)
}
#
# Handle an @ECLASS block
#
function handle_eclass() {
eclass = $3
eclass_maintainer = ""
eclass_author = ""
supported_eapis = ""
blurb = ""
desc = ""
example = ""
# Sanity check the eclass name. #537392
if (eclass !~ /[.]eclass$/)
fail(eclass ": @ECLASS name is missing a '.eclass' suffix")
# first the man page header
print ".\\\" -*- coding: utf-8 -*-"
print ".\\\" ### DO NOT EDIT THIS FILE"
print ".\\\" ### This man page is autogenerated by eclass-to-manpage.awk"
print ".\\\" ### based on comments found in " eclass
print ".\\\""
print ".\\\" See eclass-to-manpage.awk for documentation on how to get"
print ".\\\" your eclass nicely documented as well."
print ".\\\""
print ".TH \"" toupper(eclass) "\" 5 \"" strftime("%b %Y") "\" \"Portage\" \"portage\""
# now eat the global data
getline
if ($2 == "@MAINTAINER:")
eclass_maintainer = eat_paragraph()
if ($2 == "@AUTHOR:")
eclass_author = eat_paragraph()
if ($2 == "@BUGREPORTS:")
reporting_bugs = eat_paragraph()
if ($2 == "@VCSURL:")
vcs_url = eat_line()
if ($2 == "@SUPPORTED_EAPIS:")
supported_eapis = eat_line()
if ($2 == "@BLURB:")
blurb = eat_line()
if ($2 == "@DESCRIPTION:")
desc = eat_paragraph()
if ($2 == "@EXAMPLE:")
example = eat_paragraph()
# in case they typo-ed the keyword, bail now
if ($2 ~ /^@/)
fail(eclass ": unknown keyword " $2)
# finally display it
print ".SH \"NAME\""
print eclass " \\- " man_text(blurb)
if (desc != "") {
print ".SH \"DESCRIPTION\""
print man_text(desc)
}
if (example != "") {
print ".SH \"EXAMPLE\""
print man_text(example)
}
# sanity checks
if (blurb == "")
fail(eclass ": no @BLURB found")
if (eclass_maintainer == "")
warn(eclass ": no @MAINTAINER found")
}
#
# Handle a @FUNCTION block
#
function show_function_header() {
if (_function_header_done != 1) {
print ".SH \"FUNCTIONS\""
_function_header_done = 1
}
}
function handle_function() {
func_name = $3
usage = ""
funcret = ""
maintainer = ""
internal = 0
desc = ""
# make sure people haven't specified this before (copy & paste error)
if (all_funcs[func_name])
fail(eclass ": duplicate definition found for function: " func_name)
all_funcs[func_name] = func_name
# grab the docs
getline
if ($2 == "@USAGE:")
usage = eat_line()
if ($2 == "@RETURN:")
funcret = eat_line()
if ($2 == "@MAINTAINER:")
maintainer = eat_paragraph()
if ($2 == "@INTERNAL") {
internal = 1
getline
}
if ($2 == "@DESCRIPTION:")
desc = eat_paragraph()
if (internal == 1)
return
show_function_header()
# now print out the stuff
print ".TP"
print "\\fB" func_name "\\fR " man_text(usage)
if (desc != "")
print man_text(desc)
if (funcret != "") {
if (desc != "")
print ""
print "Return value: " funcret
}
if (blurb == "")
fail(func_name ": no @BLURB found")
if (desc == "" && funcret == "")
fail(func_name ": no @DESCRIPTION found")
}
#
# Handle @VARIABLE and @ECLASS-VARIABLE blocks
#
function _handle_variable() {
var_name = $3
desc = ""
val = ""
default_unset = 0
internal = 0
required = 0
# additional variable classes
pre_inherit = 0
user_variable = 0
output_variable = 0
# make sure people haven't specified this before (copy & paste error)
if (all_vars[var_name])
fail(eclass ": duplicate definition found for variable: " var_name)
all_vars[var_name] = var_name
# grab the optional attributes
opts = 1
while (opts) {
getline
if ($2 == "@DEFAULT_UNSET")
default_unset = 1
else if ($2 == "@INTERNAL")
internal = 1
else if ($2 == "@REQUIRED")
required = 1
else if ($2 == "@PRE_INHERIT")
pre_inherit = 1
else if ($2 == "@USER_VARIABLE")
user_variable = 1
else if ($2 == "@OUTPUT_VARIABLE")
output_variable = 1
else
opts = 0
}
if ($2 == "@DESCRIPTION:")
desc = eat_paragraph()
# extract the default variable value
# first try var="val"
op = "="
regex = "^.*" var_name "=(.*)$"
val = gensub(regex, "\\1", 1, $0)
if (val == $0) {
# next try : ${var:=val}
op = "?="
regex = "^[[:space:]]*:[[:space:]]*[$]{" var_name ":?=(.*)}"
val = gensub(regex, "\\1", 1, $0)
if (val == $0) {
if (default_unset + required + internal + output_variable == 0)
warn(var_name ": unable to extract default variable content: " $0)
val = ""
} else if (val !~ /^["']/ && val ~ / /) {
if (default_unset == 1)
warn(var_name ": marked as unset, but has value: " val)
val = "\"" val "\""
}
}
if (length(val))
val = " " op " \\fI" val "\\fR"
if (required == 1)
val = val " (REQUIRED)"
# TODO: group variables using those classes
if (pre_inherit == 1)
val = val " (SET BEFORE INHERIT)"
if (user_variable == 1)
val = val " (USER VARIABLE)"
if (output_variable == 1)
val = val " (GENERATED BY ECLASS)"
# check for invalid combos
if (internal + pre_inherit + user_variable + output_variable > 1)
fail(var_name ": multiple variable classes specified")
if (internal == 1)
return ""
# now accumulate the stuff
ret = \
".TP" "\n" \
"\\fB" var_name "\\fR" val "\n" \
man_text(desc)
if (desc == "")
fail(var_name ": no @DESCRIPTION found")
return ret
}
function handle_variable() {
show_function_header()
ret = _handle_variable()
if (ret == "")
return
print ret
}
function handle_eclass_variable() {
ret = _handle_variable()
if (ret == "")
return
if (eclass_variables != "")
eclass_variables = eclass_variables "\n"
eclass_variables = eclass_variables ret
}
#
# Spit out the common footer of manpage
#
function handle_footer() {
if (eclass_variables != "") {
print ".SH \"ECLASS VARIABLES\""
print man_text(eclass_variables)
}
if (eclass_author != "") {
print ".SH \"AUTHORS\""
print pre_text(man_text(eclass_author))
}
if (eclass_maintainer != "") {
print ".SH \"MAINTAINERS\""
print pre_text(man_text(eclass_maintainer))
}
print ".SH \"REPORTING BUGS\""
print reporting_bugs
print ".SH \"FILES\""
print ".BR " eclass
print ".SH \"SEE ALSO\""
print ".BR ebuild (5)"
print pre_text(gensub("@ECLASS@", eclass, 1, vcs_url))
}
#
# Init parser
#
BEGIN {
state = "header"
reporting_bugs = "Please report bugs via https://bugs.gentoo.org/"
vcs_url = "https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/@ECLASS@"
}
#
# Main parsing routine
#
{
if (state == "header") {
if ($0 ~ /^# @ECLASS:/) {
handle_eclass()
state = "funcvar"
} else if ($0 == "# @DEAD") {
eclass = "dead"
exit(77)
} else if ($0 == "# @eclass-begin") {
# White list old eclasses that haven't been updated so we can block
# new ones from being added to the tree.
if (eclass == "")
xfail("java documentation not supported")
fail("java documentation not supported")
} else if ($0 ~ /^# @/)
warn("Unexpected tag in \"" state "\" state: " $0)
} else if (state == "funcvar") {
if ($0 ~ /^# @FUNCTION:/)
handle_function()
else if ($0 ~ /^# @VARIABLE:/)
handle_variable()
else if ($0 ~ /^# @ECLASS-VARIABLE:/)
handle_eclass_variable()
else if ($0 ~ /^# @/)
warn("Unexpected tag in \"" state "\" state: " $0)
}
}
#
# Tail end
#
END {
if (eclass == "")
xfail("eclass not documented yet (no @ECLASS found)")
else if (eclass != "dead")
handle_footer()
}

View File

@ -1,44 +0,0 @@
#!/bin/bash
: ${ECLASSDIR:=${0%/*}/../../../eclass}
: ${FILESDIR:=${ECLASSDIR}/../app-portage/eclass-manpages/files}
AWK="gawk"
while [[ $# -gt 0 ]] ; do
case $1 in
-e) ECLASSDIR=$2; shift;;
-f) FILESDIR=$2; shift;;
-d) AWK="dgawk";;
*) break;;
esac
shift
done
if [[ ! -d ${ECLASSDIR} ]] ; then
echo "Usage: ${0##*/} [-e eclassdir] [-f eclass-to-manpage.awk FILESDIR] [eclasses]" 1>&2
exit 1
fi
[[ $# -eq 0 ]] && set -- "${ECLASSDIR}"/*.eclass
ret=0
for e in "$@" ; do
set -- \
${AWK} \
-f "${FILESDIR}"/eclass-to-manpage.awk \
${e}
if [[ ${AWK} == "gawk" ]] ; then
"$@" > ${e##*/}.5
tret=$?
if [[ ${tret} -ne 0 ]] ; then
rm -f ${e##*/}.5
if [[ ${tret} -ne 77 ]] ; then
echo "FAIL: ${e}"
ret=1
fi
fi
else
"$@"
fi
done
exit ${ret}

View File

@ -76,11 +76,24 @@ DIST rust-1.33.0-powerpc64-unknown-linux-gnu.tar.xz 126030216 BLAKE2B b1d1b996b8
DIST rust-1.33.0-powerpc64le-unknown-linux-gnu.tar.xz 130922680 BLAKE2B db63d859631703e845efac57074e0f33f80a3b52b2e9dc8707b81892eee8fc922fa5a7d4b7b1f45fb5f19ea4d7f6fde9212f1c6e99e7e4c30dbc02aa87b0df7e SHA512 393c808e93792cf2b126d6111834932a55cbf18339942ac0d20fc4a3692b0ac08c21a3c8fd393795f7aafecac5a2c5d7c9415c18017a7453f759f746045f5144
DIST rust-1.33.0-s390x-unknown-linux-gnu.tar.xz 134441220 BLAKE2B e6f0a6e54e4e1fde10f54f66615d44442b7cb5eb5bda43d55ee791328c7ecd61505b3d84719df82b7c5c7ae473b7041512f2cf346281518d7d78d0e22112fa05 SHA512 755a0203e2c143386cb3729faada4d2c38b254dfa7e6eeb722ec9847d6319a1d3d289c7b77a2bc478d79dbbabfcd826d8b015acd29fbdf5acb591feae1876205
DIST rust-1.33.0-x86_64-unknown-linux-gnu.tar.xz 155298128 BLAKE2B af5bc628bc054bd354d5af78e53cd2ffbfbdf2c2d3a3e58eeb593f148c54024fa5905aa53a69c514d6d41e48688697e1ce8adb866817c77cdf541399f6e7956f SHA512 b7f3087f34e99517cd729f5ff1f8cce3f3254cb36c734d5b90d878293e4406934c2f597bf7e2941e9257046f62c9274eb4769a64dabfbc5f0bbf2a1703f7fef8
DIST rust-1.34.2-aarch64-unknown-linux-gnu.tar.xz 120868188 BLAKE2B d843cce81338b2b3765c973f06dca83161fefed129efefe94efad663b5ddef54aa092bf5977ba7bca74519b008796e60486cf8b193ec2a2dead3add66295d41f SHA512 7103362b8840d094661a16053d8f07eba413c369bf3a2b686313875aa97c30b35697fceefbfc90dffd5cfd4de946e7f848f2b791736443639b30bb75709b7122
DIST rust-1.34.2-arm-unknown-linux-gnueabi.tar.xz 122563056 BLAKE2B 05e73de7d58723affef3f272e646245a97b17373cc960d5e1be0365919ad3879e08bd9012126e41235b97a758bb57fa4e67fcd11e2f29322af9ab039fc3e2dfd SHA512 d6c055e8ba0fd494797a55d2a6df1eec2a6361c0b081e4b7cb06e42a03a644e4de49c7b17dc8cb6484f3271517f2bd50935bc72ead486531b5b370a1c576b12a
DIST rust-1.34.2-arm-unknown-linux-gnueabihf.tar.xz 122858592 BLAKE2B aebe65fb64044c342f525749eb5d67217f459712aa72d49497062af461901a6e92d21b00e05439bd0753228b876f521198a8b005b116b5121ec3dd812df4bec8 SHA512 5cc2612988182b68d9b220d6d7620fc0b064a9d347825d4677959b7e43820647ff25651427db3a5c72401ab8d0c14e2976921d71ddbe0a5b540cf045241cd727
DIST rust-1.34.2-armv7-unknown-linux-gnueabihf.tar.xz 124601212 BLAKE2B 7ab258783070d3ba1e27431faf36a8c75d0afae935bc4ba08bf1e6b7f080d56cb3a9ac3de8b91ff9885e2df2ccebdf29de80b99548c610ea30c157103b920434 SHA512 fe5be9a345d10ee2b3a47986977be91cd2dd94f2076571f810ac21cea36f79f073eb16915c090861cf46c6835f86db64c2ed1ef036f911b3be829d7927ecb747
DIST rust-1.34.2-i686-unknown-linux-gnu.tar.xz 169581332 BLAKE2B 75f1fc4c52e81cb9c7f95d18d9aff2439bfc698444321d92f09d5a47e493d693f2cae3d8ee56ccff59ca967a0a2a53828559eefce1398a2450fe39c95397e3e2 SHA512 056243d226cd9a36dfcd266f2aba88adde58dbcfa87f20613183c5dcc514bb413e25f6d6963494dc141f4e91649b17b1db91e6a9d313af7ef7b1893b64337c33
DIST rust-1.34.2-mips-unknown-linux-gnu.tar.xz 113493608 BLAKE2B 10df3e2eb9fd9200bab1ca94eafd80f680c94bd21589f72fd660e9d819a6615cc83e47ac70df87712e252946f58df30824be992f16ca707b72451898e1884e99 SHA512 ec100071fbd8373baf41f0f517497b9923a77ebea8257d2fdcc9a4488d7ec6d59c0b517f4d922a0f7f699d701510d32d49c1e699c69a94f571f73ba46fe795f3
DIST rust-1.34.2-mips64-unknown-linux-gnuabi64.tar.xz 119118112 BLAKE2B 8ba04a90e82bf7d830c750350570dde8cfa0646f1ea10c583927cc6c7ceeb935fb4035248d8a3ac4a477a858a32d3753811e2893220b8b3919e882213dd63373 SHA512 bb3c5e8ce24895a07984059fca53f4737777a78d350312292877b8e1c21a7a84320f1fee4d64c9d684d14be5fe500494d38ef3f5ab4e4f0e84cbd3f3d30a8586
DIST rust-1.34.2-mipsel-unknown-linux-gnu.tar.xz 115776696 BLAKE2B dfe09e60be47c6cbe183e4f4bb358cd6d1fe0872114d6a663ee95cd063155f99688bdf23b5c7230b626351654da8f38c7b763099b8d6c2707e185449267c137c SHA512 91348409dfdb63b82e6b6a3097d181485f05f0dfb6cd3bd80785da2eea23f493a90a4e07e660dbc14e9c887ff7e27bc0d13203c78feece5aca219e439a9c18cf
DIST rust-1.34.2-powerpc-unknown-linux-gnu.tar.xz 116817940 BLAKE2B bd7fcc7e0e8844d23e73bb8bc07f7454d234d4fc96d6549399c399845af147debbfbcdea2c53d1ad5a28126d6c9cc20178634290fb837f0537947f64d688df75 SHA512 b8009e9ab2e9167cce8e1911ec0bebc9959a89bafcb645637f2a55af15a2f4f5d4fa20d6b38b7ae572480f3d3817392b8c6386b6ed589b34dd0a02529da2a459
DIST rust-1.34.2-powerpc64-unknown-linux-gnu.tar.xz 125735384 BLAKE2B c25d43fa630e9b95692bcb493064f592a12ecee700538671192f04cfdf443a5d046493662c88d91f62cc1eba94e80ec9b6bed9949af9a8bc83788521832336d4 SHA512 d1ab37d68c0b52e3780ea133f8ba4d5b823c7f874bbf15f97f304c21405b1fdbde3d28e83381f08095fca8e2ea615f46accad725ee854ad9db168ab4629e30a3
DIST rust-1.34.2-powerpc64le-unknown-linux-gnu.tar.xz 129619832 BLAKE2B df76b7c08941ae2cb512ba656b09a7b87e1e656badbadf58d64ab5f9133e7248a63873675ac44f16207107a0f68da6089706b46af94154c0bd51aed655f8b578 SHA512 3c881e7bcf622237f279855ebaeb544f4df9bfe5bc1f74578093d67befed8f027692ea56dc773c653bef8a124e9ebac2544d0c197a0e3a1ec8da63ef9d434412
DIST rust-1.34.2-s390x-unknown-linux-gnu.tar.xz 134376720 BLAKE2B 3eb1452bc0f5d6cbe5547f18ad039c54d4fee44e8c24e35f3399272755cd293df008db2c7dded32c7853944e43de7a4d337b7408835445a4916dbf55d14a7b3e SHA512 181f58b00cdccb205be853f5d00fc0a0c939b7e4dc801717b21ece0f714a8f3b501f1196eb2e3f3081932a0417a6218763c3d095cdd036e9f202cc41291876a1
DIST rust-1.34.2-x86_64-unknown-linux-gnu.tar.xz 157279864 BLAKE2B c25fcb6168e16a4deb19a8ca9b3d91966194f4c8d2e60933226fab015b64a819f6e56a6b51b6e9457ce80efaf5bf71f2eed2f3e6e39bef5856524e33d0a5637b SHA512 64d6b7da08ffd877c10d819605a37b0bc178c4ab80e2f7449f3d5ac9254a438e148da3729408b4c9429ed499d7f142c9d2926f5c916e0a32bebaaefe4b0a09a6
DIST rustc-1.29.1-src.tar.xz 61937676 BLAKE2B 6a60249538e1ec62471f4d0e3fc31c0a648433aa6f85ca7341657ea07772e338eb92a629941685808f4b80e84cb025d78aee9d0d6fa71c6635a1647c61bca9bc SHA512 1ded651b4c460e11e5e44c26de88a80fb13c2000097de2ee1e5af89638e12a7e8f43dd756689d4cc4fad45c52d4d43a3c70dd6a3ae550735b9dad5f8defea6a7
DIST rustc-1.29.2-src.tar.xz 61888912 BLAKE2B f59b0bf45caa6f6136f92ffbaa612bbc6a340c8694ec69d75aadace9180c36753f985641915524388b52cc108f8f5b71840ee3a6c0b1fcff6decb61d2d8a161e SHA512 d8fa9501764348ace8f60f2069bcd016925abe56c8bbc2b87fb52ff796e4bc7284c1fccbb1671416437bb82fde7d9240eeae875d6099914e27e75cfe050e2d38
DIST rustc-1.30.1-src.tar.xz 96086232 BLAKE2B 170767b64efe670086e7c4e73838b489a155a72c703148f83cad29d401a825a94a1def3aa462ba527e1bd08181c7a9be0e404c25f012906541c3d739eb57e9e5 SHA512 e466db81b9a82239670c48b876dc7390fcdda28c6390308691ddf2e0c12a39b57bd5ddb18322d1b4cd58165f69a666c7d83bee6573049da3b94e401657459bf5
DIST rustc-1.31.1-src.tar.xz 96915864 BLAKE2B bedfe1d56e2f99bb43b4b652d540aedf0a86c47b8493f28fb29e5af3135ff469ed40775bc2ee25ac5bd28a264ecba0094d7c9b6aae25ea365ed3e6f354ffa40b SHA512 d6688711452295c41468af214f036499074d82fbeedc3f03560275219c2fae910e623e38e3210176d86f78ba5533ea098da5ff21532c8ad1a5aac132bb74ee02
DIST rustc-1.32.0-src.tar.xz 99602696 BLAKE2B ab26247e3ecb75dbe373254c1c49f46c00a5a4db2b9cedffccb30122ea3b7de2761d6995b5423d0105caf85cc9542b4c21d487385faa34c835398c3320ccbd3b SHA512 487c405fed6430f62d2d0c38b65f6223b1c5074c7a0d3734dc8b3bb72fca255f5727e49541749569713a0c3e9a67eff574ba5698e8dceca6f0ef20b50f99aa42
DIST rustc-1.33.0-src.tar.xz 100635400 BLAKE2B 1fe8ffcfab8324a93a07b9b9ac9cd050fd9d660fb24884761e8ce5e5a67ce5b6df8513e1440090b39c3ced9cb5ced43f07cc9b0337d39625d2cf4aa9e083cfef SHA512 3291e4e19f75f44c81e6fcf4c01edc7c9d326eca43722381231abcf2e99f4314059ba59a29b79f5511ad9421c358c45e8fe18584d6954d17fe2aabad0f9d9147
DIST rustc-1.34.0-src.tar.xz 95055768 BLAKE2B 5df848369e8087ac10c57d9818e644e51be1d4a89e68341a2a49a09f0902c153ba5fab2d82e4178742b3ac4205249347950d0685259f6b1fe0761ec4daf87518 SHA512 cf9952cafe42987f84a6fe9e351a401f2db35c33ddc87d2efb762c4c33a643ffe516f00d848a1ae759f48cea1504243b6169c29ab28ba2e6b00a51422c745861
DIST rustc-1.34.1-src.tar.xz 95048260 BLAKE2B 41e034aa0e5ea71aa21d6b5700134fc2e1391915309aa14e11426b1c0a3ad213c5b11f67df3f1beebd885d9d3bb358b12a10dd2095cbcb6b2a18870e977568f8 SHA512 c9ee59a98e0300c16a9044424fbaad0e1d5f026279b9cb238ab5bfe02c6b111780ec5f9884c4cac67d5ee91833e301bc23bd457026982587982b2fb80a528dca
DIST rustc-1.34.2-src.tar.xz 95048792 BLAKE2B e81e4bfda87ddfb09ab8a74792346970aa440c678d2bb1279c329db4929282f761ada6fea9d81ceeecfd513613025c8e636487626fc36bd0b33559e045bb1b15 SHA512 f1bd2b226d90aae8a4657e6117b9a8451d4ce8129f79cc0fce0da7613a3b7800e690bc0ede8fec20a2f5f32c13fa8e22ac97d3838e0d36936793535a75d9c381
DIST rustc-1.35.0-src.tar.xz 96543548 BLAKE2B 0291152f2b7aa8b50b22d74afbd9c7654bab8ae7dcb76224dbff43bc39a3b918ff86bfd20f408a9a16da8b20b08d9f0289bb63620f093d25d9fa008de57f52c3 SHA512 477c10b780bd54776be7ecbda0ab970416253e4a87c3e701825a7d07bcbcd91601b8e61129c5d04d4259e89c2e81e87cdbdee853375a8de5c9cf8372be2c9129

View File

@ -0,0 +1,117 @@
From d6bd0a479ceaf6abdd696c3b955a56f66275c562 Mon Sep 17 00:00:00 2001
From: Georgy Yakovlev <gyakovlev@gentoo.org>
Date: Sat, 25 May 2019 22:21:16 -0700
Subject: [PATCH] revert commits triggering multiple llvm rebuilds
this reverts the following commits
https://github.com/rust-lang/rust/commit/105692c3ad281c63bf0f75a26a66bb9cff5b4553
https://github.com/rust-lang/rust/commit/975ba58f42b34ff07cd7c2bd73350daed2057186
https://github.com/rust-lang/rust/commit/e1daa36ba7df88788c2684bbe5ff6eb37f1cda69
---
src/bootstrap/llvm-rebuild-trigger | 4 +++
src/bootstrap/native.rs | 46 +++++++++++++-----------------
2 files changed, 24 insertions(+), 26 deletions(-)
create mode 100644 src/bootstrap/llvm-rebuild-trigger
diff --git a/src/bootstrap/llvm-rebuild-trigger b/src/bootstrap/llvm-rebuild-trigger
new file mode 100644
index 0000000000..0f18c6a4ac
--- /dev/null
+++ b/src/rustllvm/llvm-rebuild-trigger
@@ -0,0 +1,4 @@
+# If this file is modified, then llvm will be (optionally) cleaned and then rebuilt.
+# The actual contents of this file do not matter, but to trigger a change on the
+# build bots then the contents should be changed so git updates the mtime.
+2019-03-18
diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs
index fde40b0d1b..3babbc9e10 100644
--- a/src/bootstrap/native.rs
+++ b/src/bootstrap/native.rs
@@ -67,40 +67,30 @@ impl Step for Llvm {
}
}
- let (llvm_info, root, out_dir, llvm_config_ret_dir) = if emscripten {
- let info = &builder.emscripten_llvm_info;
+ let rebuild_trigger = builder.src.join("src/rustllvm/llvm-rebuild-trigger");
+ let rebuild_trigger_contents = t!(fs::read_to_string(&rebuild_trigger));
+
+ let (out_dir, llvm_config_ret_dir) = if emscripten {
let dir = builder.emscripten_llvm_out(target);
let config_dir = dir.join("bin");
- (info, "src/llvm-emscripten", dir, config_dir)
+ (dir, config_dir)
} else {
- let info = &builder.in_tree_llvm_info;
let mut dir = builder.llvm_out(builder.config.build);
if !builder.config.build.contains("msvc") || builder.config.ninja {
dir.push("build");
}
- (info, "src/llvm-project/llvm", builder.llvm_out(target), dir.join("bin"))
+ (builder.llvm_out(target), dir.join("bin"))
};
-
- if !llvm_info.is_git() {
- println!(
- "git could not determine the LLVM submodule commit hash. \
- Assuming that an LLVM build is necessary.",
- );
- }
-
+ let done_stamp = out_dir.join("llvm-finished-building");
let build_llvm_config = llvm_config_ret_dir
.join(exe("llvm-config", &*builder.config.build));
- let done_stamp = out_dir.join("llvm-finished-building");
-
- if let Some(llvm_commit) = llvm_info.sha() {
- if done_stamp.exists() {
- let done_contents = t!(fs::read(&done_stamp));
+ if done_stamp.exists() {
+ let done_contents = t!(fs::read_to_string(&done_stamp));
- // If LLVM was already built previously and the submodule's commit didn't change
- // from the previous build, then no action is required.
- if done_contents == llvm_commit.as_bytes() {
- return build_llvm_config
- }
+ // If LLVM was already built previously and contents of the rebuild-trigger file
+ // didn't change from the previous build, then no action is required.
+ if done_contents == rebuild_trigger_contents {
+ return build_llvm_config
}
}
@@ -111,6 +101,7 @@ impl Step for Llvm {
t!(fs::create_dir_all(&out_dir));
// http://llvm.org/docs/CMake.html
+ let root = if self.emscripten { "src/llvm-emscripten" } else { "src/llvm-project/llvm" };
let mut cfg = cmake::Config::new(builder.src.join(root));
let profile = match (builder.config.llvm_optimize, builder.config.llvm_release_debuginfo) {
@@ -251,6 +242,11 @@ impl Step for Llvm {
channel::CFG_RELEASE_NUM,
builder.config.channel,
);
+ let llvm_info = if self.emscripten {
+ &builder.emscripten_llvm_info
+ } else {
+ &builder.in_tree_llvm_info
+ };
if let Some(sha) = llvm_info.sha_short() {
default_suffix.push_str("-");
default_suffix.push_str(sha);
@@ -283,9 +279,7 @@ impl Step for Llvm {
cfg.build();
- if let Some(llvm_commit) = llvm_info.sha() {
- t!(fs::write(&done_stamp, llvm_commit));
- }
+ t!(fs::write(&done_stamp, &rebuild_trigger_contents));
build_llvm_config
}
--
2.21.0

View File

@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>rust@gentoo.org</email>
<name>Rust Project</name>
</maintainer>
<use>
<flag name="cargo">Install cargo component</flag>
<flag name="clippy">Install clippy component</flag>
<flag name="system-llvm">Use the system LLVM install</flag>
<flag name="rls">Install rls component</flag>
<flag name="rustfmt">Install rustfmt component</flag>
<flag name="wasm">Build support for the wasm32-unknown-unknown
target</flag>
</use>
<maintainer type="project">
<email>rust@gentoo.org</email>
<name>Rust Project</name>
</maintainer>
<use>
<flag name="cargo">Install cargo component</flag>
<flag name="clippy">Install clippy component</flag>
<flag name="system-llvm">Use the system LLVM install</flag>
<flag name="rls">Install rls component</flag>
<flag name="rustfmt">Install rustfmt component</flag>
<flag name="wasm">Build support for the wasm32-unknown-unknown
target</flag>
</use>
</pkgmetadata>

View File

@ -73,11 +73,9 @@ toml_usex() {
pre_build_checks() {
CHECKREQS_DISK_BUILD="7G"
CHECKREQS_MEMORY="4G"
eshopts_push -s extglob
if is-flagq '-g?(gdb)?([1-9])'; then
CHECKREQS_DISK_BUILD="10G"
CHECKREQS_MEMORY="16G"
fi
eshopts_pop
check-reqs_pkg_setup

View File

@ -72,11 +72,9 @@ toml_usex() {
pre_build_checks() {
CHECKREQS_DISK_BUILD="7G"
CHECKREQS_MEMORY="4G"
eshopts_push -s extglob
if is-flagq '-g?(gdb)?([1-9])'; then
CHECKREQS_DISK_BUILD="10G"
CHECKREQS_MEMORY="16G"
fi
eshopts_pop
check-reqs_pkg_setup

View File

@ -78,11 +78,9 @@ toml_usex() {
pre_build_checks() {
CHECKREQS_DISK_BUILD="7G"
CHECKREQS_MEMORY="4G"
eshopts_push -s extglob
if is-flagq '-g?(gdb)?([1-9])'; then
CHECKREQS_DISK_BUILD="10G"
CHECKREQS_MEMORY="16G"
fi
eshopts_pop
check-reqs_pkg_setup

View File

@ -93,11 +93,9 @@ toml_usex() {
pre_build_checks() {
CHECKREQS_DISK_BUILD="7G"
CHECKREQS_MEMORY="4G"
eshopts_push -s extglob
if is-flagq '-g?(gdb)?([1-9])'; then
CHECKREQS_DISK_BUILD="10G"
CHECKREQS_MEMORY="16G"
fi
eshopts_pop
check-reqs_pkg_setup

View File

@ -18,7 +18,7 @@ else
SLOT="stable/${ABI_VER}"
MY_P="rustc-${PV}"
SRC="${MY_P}-src.tar.xz"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
KEYWORDS="amd64 ~arm64 ~ppc64 x86"
fi
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
@ -96,11 +96,9 @@ toml_usex() {
pre_build_checks() {
CHECKREQS_DISK_BUILD="7G"
CHECKREQS_MEMORY="4G"
eshopts_push -s extglob
if is-flagq '-g?(gdb)?([1-9])'; then
CHECKREQS_DISK_BUILD="10G"
CHECKREQS_MEMORY="16G"
fi
eshopts_pop
check-reqs_pkg_setup
@ -268,6 +266,18 @@ src_install() {
"${ED}/usr/${abi_libdir}" || die
done
# temp fix for https://bugs.gentoo.org/672816
if use x86; then
local rust_target wrongdir rightdir
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
wrongdir="${ED}/usr/$(get_libdir)/${P}/${P}/rustlib/${rust_target}/codegen-backends"
rightdir="${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/codegen-backends"
if [[ -e ${wrongdir}/librustc_codegen_llvm-llvm.so ]]; then
mv "${wrongdir}" "${rightdir}" || die
rm -r "${ED}/usr/$(get_libdir)/${P}/${P}" || die
fi
fi # end temp fix
dodoc COPYRIGHT
# FIXME:

View File

@ -1,11 +1,11 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy )
inherit check-reqs eapi7-ver estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
inherit check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
if [[ ${PV} = *beta* ]]; then
betaver=${PV//*beta}
@ -18,16 +18,16 @@ else
SLOT="stable/${ABI_VER}"
MY_P="rustc-${PV}"
SRC="${MY_P}-src.tar.xz"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
KEYWORDS="~amd64 arm64 ~ppc64 ~x86"
fi
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).2"
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
$(rust_all_arch_uris rust-${RUST_STAGE0_VERSION})"
$(rust_all_arch_uris rust-${RUST_STAGE0_VERSION})"
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
@ -49,6 +49,7 @@ IUSE="clippy cpu_flags_x86_sse2 debug doc libressl rls rustfmt system-llvm wasm
LLVM_DEPEND="
|| (
sys-devel/llvm:8[llvm_targets_WebAssembly?]
wasm? ( =sys-devel/lld-8* )
)
<sys-devel/llvm-9:=
"
@ -72,11 +73,15 @@ DEPEND="${COMMON_DEPEND}
>=sys-devel/gcc-4.7
>=sys-devel/clang-3.5
)
dev-util/cmake"
dev-util/cmake
"
RDEPEND="${COMMON_DEPEND}
>=app-eselect/eselect-rust-20190311
!dev-util/cargo
rustfmt? ( !dev-util/rustfmt )"
rustfmt? ( !dev-util/rustfmt )
"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
wasm? ( llvm_targets_WebAssembly )
x86? ( cpu_flags_x86_sse2 )
@ -84,7 +89,7 @@ REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
PATCHES=(
"${FILESDIR}"/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch
"${FILESDIR}"/1.34.0-doc-build-fix.patch
"${FILESDIR}"/1.35.0-revert-commits-triggering-multiple-llvm-rebuilds.patch
"${FILESDIR}"/1.34.0-libressl.patch # bug 684224
)
@ -96,11 +101,9 @@ toml_usex() {
pre_build_checks() {
CHECKREQS_DISK_BUILD="7G"
CHECKREQS_MEMORY="4G"
eshopts_push -s extglob
if is-flagq '-g?(gdb)?([1-9])'; then
CHECKREQS_DISK_BUILD="10G"
CHECKREQS_MEMORY="16G"
fi
eshopts_pop
check-reqs_pkg_setup
@ -124,6 +127,7 @@ src_prepare() {
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die
# ugly hack for https://bugs.gentoo.org/679806
# we have to keep it until we switch to 1.35.x bootstrap tarball.
if use ppc64; then
sed -i 's/getentropy/gEtEnTrOpY/g' "${rust_stage0_root}"/bin/cargo || die
export OPENSSL_ppccap=0
@ -180,6 +184,7 @@ src_configure() {
vendor = true
extended = ${extended}
tools = [${tools}]
verbose = 2
[install]
prefix = "${EPREFIX}/usr"
libdir = "$(get_libdir)/${P}"
@ -192,7 +197,7 @@ src_configure() {
default-linker = "$(tc-getCC)"
channel = "stable"
rpath = false
lld = $(toml_usex wasm)
lld = $(usex system-llvm false $(toml_usex wasm))
EOF
for v in $(multilib_get_enabled_abi_pairs); do
@ -220,21 +225,22 @@ src_configure() {
if use wasm; then
cat <<- EOF >> "${S}"/config.toml
[target.wasm32-unknown-unknown]
linker = "rust-lld"
linker = "$(usex system-llvm lld rust-lld)"
EOF
fi
}
src_compile() {
env $(cat "${S}"/config.env)\
"${EPYTHON}" ./x.py build -v --config="${S}"/config.toml -j$(makeopts_jobs) \
"${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
--exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305
}
src_install() {
local rust_target abi_libdir
env DESTDIR="${D}" "${EPYTHON}" ./x.py install -v || die
env DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml \
--exclude src/tools/miri || die
mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
@ -268,6 +274,18 @@ src_install() {
"${ED}/usr/${abi_libdir}" || die
done
# temp fix for https://bugs.gentoo.org/672816
if use x86; then
local rust_target wrongdir rightdir
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
wrongdir="${ED}/usr/$(get_libdir)/${P}/${P}/rustlib/${rust_target}/codegen-backends"
rightdir="${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/codegen-backends"
if [[ -e ${wrongdir}/librustc_codegen_llvm-llvm.so ]]; then
mv "${wrongdir}" "${rightdir}" || die
rm -r "${ED}/usr/$(get_libdir)/${P}/${P}" || die
fi
fi # end temp fix
dodoc COPYRIGHT
# FIXME:

View File

@ -4,9 +4,12 @@ DIST mozjs-24.2.0.tar.bz2 15624530 BLAKE2B 633f3e42011a8395aa4e60842c2de1cb47269
DIST mozjs-38.3.0sfink2.tar.bz2 27232902 BLAKE2B 42a039a41b7479a32e22f260cb58f098e1a1d4833f801f193bdd8b75403f94567b9ef2ebe85b2a811fe2f9b27cd934afe1054bd4e7d9aae0b8a80acdec8e42a4 SHA512 debad1fbd21e025c567b083677cfd0a2023ec2aff750241f495ac2977034a7299e068cb3b0b2351c97457119cc8aef563f00416092a70a3a269d20947b700206
DIST mozjs-45.0.2.tar.bz2 97508152 BLAKE2B 89600f7e2a3effe71ad140646110aaf3be91cc5313cf227f1d16e796e249e287cc8dbf2599aa4277f2652a83ec3570f58c1c51ef319632254b9ac5caec46bb9a SHA512 84a3cf12e2603e00bcfe518a1a5000f53b21758c1c6b32a0410e63ab7db8d4452028195b0ba3e56144054b06e90f8e5195b4db94dba711f7c75d11da99c6c61d
DIST mozjs-52.9.1pre1.tar.bz2 30178574 BLAKE2B 0920432b5140e78297a9bcbccb54268d75a223d5e75e4ff90b3b01aab4f7736b4a4e05c47b3a925ff0a74607a0abad3b6583c75d070ef5142009b20ebaf6e4bf SHA512 187b231b246a5ae09e55c0fef77866b316d75f38f4c2e066d5d4325d8da63433027020c929439cab46af3253ac63ab2f780223a8fd2c6ff535b3409bb6c4aa0f
DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0
DIST mozjs17.0.0.tar.gz 6778934 BLAKE2B a37debf5079fc4c27bb9edd3172c6e7914f6128fac6ffa97b49ac266c477d0916b180fb68ecd0916a52f935959a83d73254b0ba72b4898adc5e3b85927d17d2a SHA512 39b68aeb9f712f146778d8b68ee795709a1372c8ab893a222af4eb34882427d6f5cf877e743d6cb2f1b4348c194d8f3774f00cb775b03515b34b49560b748be4
DIST spidermonkey-52.0-patches-0.tar.xz 5172 BLAKE2B 8bcf9477de47ef3b882cd3281efa7f77c16ce11fc93f44446a620917adf629fde8290af1dd69f0930a889aacfee3603bf60eb9c1e718a1dfd3e218a1013b6192 SHA512 88ad640fb0efa4972f1b7782bd0abee1751b73914ee51faade93b25c4d8eec64e7693898842a406c49fc2ab43733404efeccb138afb64d2193b9a5eb612578e3
DIST spidermonkey-60.0-patches-04.tar.xz 4428 BLAKE2B af78049cd9b3ee6a9b689e6253486c4670fd3b506faade7d745dafaa7af329c0bd15cd35e95528a4c96688230f4803130967fb09b97aae2bda0ce0f73acaaf3e SHA512 fb1326a81512146ba98773d4f7e0c4bc1bff0f076897c13f576fcf63b56f6965efeff633eea9160bca9f9bc4546505901084eabc33bc955de0b7ab3d6334387a
DIST spidermonkey-slot0-patches-01.tar.xz 10488 BLAKE2B 4a5195ac11d1076046424fc10d1416d097fb230cd8b0b28ac8b65d379e0c0518586ced0f48f833dea52b13fb5d300e02664657ab2479bfcc343bc358d394d5d7 SHA512 6c878ed0b50c052989a8b965fed845e9c672b691f4c4b1f98ee82e81a33880e1e6bf1dac8222d71322553282de602a88272dedebbcf50d27967fc172f0a8054a
DIST spidermonkey-slot0-patches-02.tar.xz 10952 BLAKE2B fb7bf5cdac6c821a48d407ff172fe0ec7297e047d3b3bab952f226f413b83ea70325175b41c1680725ff588111b424efc97a0c66e392989da510c43d38528ff1 SHA512 cd62890c4b58658d99fc1b52f05ccb35c07da835b168bb9d5e6b219de5021122c199cc2255c5b0be01ef582f53dd51c9975921e6bde9f14e9b43536e2bee85f2
DIST spidermonkey-slot17-patches-01.tar.xz 2748 BLAKE2B a55504d726f925096de7e066a1d323154bc796018644f347bc1d012ea6ee8441cc19f30689e06fd26bab5a5d2e8376e90bf2c1930a588be8b48865f7bbc524ea SHA512 21a90f85d156de3cca9811317507162a458f908bb447924fcfbf49b7bb70496b611ce7df90b90775316b8ceafda56692be3bf856b168b83ed40b8a5c668eed3f
DIST spidermonkey-slot24-patches-01.tar.xz 3444 BLAKE2B f207577db223d51e315d473f0eefa8a2805fab49acd952fa5796eb4e967c82c76965afcdea1b55ac98c5e94f4321f40c1ea9079d5ebee99fdef950bddee91ab2 SHA512 712250983f726eb2fe7ae243e9ca510b6e5b8fa0f221fe5120c2e2f75334f7e4b10b8ab172869d7333a120529dbc2a513c170533d5ad5af27a2643ce1384bbdb
DIST spidermonkey-slot38-patches-01.tar.xz 7472 BLAKE2B 7585aa6f5a84d6ae21e41137fca8da093580182f798f63bfcf2e402e3bf58df4cb3f43cef3eb635044508800f6757247fa3a65ca53230243a455925f436a9510 SHA512 953acee985d192c6d0f18f14c70fdda33a7c8f784c6833ca8b75495044b40a8b3f29b281c40dbfcda0c8570c111a3dd1717c2ef0ffd651c1b50d1f2bff1f6d09

View File

@ -1,22 +0,0 @@
Fix various paths to include MOZ_APP_VERSION
This has been committed upstream but was not included in
the 52.4.0 sources that spidermonkey was rolled from.
--- a/config/baseconfig.mk 2017-10-03 14:00:45.000000000 -0400
+++ b/config/baseconfig.mk 2017-10-03 16:36:10.857663794 -0400
@@ -2,10 +2,10 @@
# directly in python/mozbuild/mozbuild/base.py for gmake validation.
# We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
# whether a normal build is happening or whether the check is running.
-includedir := $(includedir)/$(MOZ_APP_NAME)
-idldir = $(includedir)/idl/$(MOZ_APP_NAME)
-installdir = $(libdir)/$(MOZ_APP_NAME)
-sdkdir = $(libdir)/$(MOZ_APP_NAME)
+includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+idldir = $(includedir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+sdkdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
ifeq (.,$(DEPTH))
DIST = dist
else

View File

@ -0,0 +1,32 @@
# HG changeset patch
# User John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
# Date 1482966103 -3600
# Node ID 1f4d99d8dff27bcc25eff21dc6a16dae63f48595
# Parent ce9e9f0dc752896ac7ba00bb0610b3f731e948b0
Bug 1326496 - mozbuild: Fix bitness from 32 to 64 bits on alpha. r=glandium
diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
--- a/python/mozbuild/mozbuild/configure/constants.py
+++ b/python/mozbuild/mozbuild/configure/constants.py
@@ -35,17 +35,17 @@ Kernel = EnumString.subclass(
'Linux',
'NetBSD',
'OpenBSD',
'WINNT',
)
CPU_bitness = {
'aarch64': 64,
- 'Alpha': 32,
+ 'Alpha': 64,
'arm': 32,
'hppa': 32,
'ia64': 64,
'mips32': 32,
'mips64': 64,
'ppc': 32,
'ppc64': 64,
's390': 32,

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Authors
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@ -19,7 +19,7 @@ SRC_URI="https://archive.mozilla.org/pub/js/${TARBALL_P}.tar.gz
LICENSE="NPL-1.1"
SLOT="0/mozjs185"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
IUSE="debug minimal static-libs test"
S="${WORKDIR}/${MY_P}"

View File

@ -1,62 +1,70 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
EAPI=6
WANT_AUTOCONF="2.1"
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="threads"
inherit eutils toolchain-funcs multilib python-any-r1 versionator pax-utils
inherit autotools toolchain-funcs multilib python-any-r1 versionator pax-utils
MY_PN="mozjs"
MY_P="${MY_PN}${PV}"
MY_PN="js"
TARBALL_PV="$(replace_all_version_separators '' $(get_version_component_range 1-3))"
MY_P="${MY_PN}-${PV}"
TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0"
DESCRIPTION="Stand-alone JavaScript C library"
HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
SRC_URI="http://archive.mozilla.org/pub/js/${MY_PN}${PV}.tar.gz
https://dev.gentoo.org/~axs/distfiles/${PN}-slot17-patches-01.tar.xz"
SRC_URI="https://archive.mozilla.org/pub/js/${TARBALL_P}.tar.gz
https://dev.gentoo.org/~axs/distfiles/${PN}-slot0-patches-02.tar.xz
"
LICENSE="NPL-1.1"
SLOT="17"
# "MIPS, MacroAssembler is not supported" wrt #491294 for -mips
KEYWORDS="alpha amd64 arm -hppa ia64 -mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd"
IUSE="debug jit minimal static-libs test"
REQUIRED_USE="debug? ( jit )"
RESTRICT="ia64? ( test )"
SLOT="0/mozjs185"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
IUSE="debug minimal static-libs test"
S="${WORKDIR}/${MY_P}"
BUILDDIR="${S}/js/src"
RDEPEND=">=dev-libs/nspr-4.9.4
virtual/libffi
RDEPEND=">=dev-libs/nspr-4.7.0
sys-libs/readline:0=
>=sys-libs/zlib-1.1.4"
x64-macos? ( dev-libs/jemalloc )"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
app-arch/zip
virtual/pkgconfig"
PATCHES=(
"${WORKDIR}"/sm0/${P}-fix-install-symlinks.patch
"${WORKDIR}"/sm0/${P}-fix-ppc64.patch
"${WORKDIR}"/sm0/${P}-arm_respect_cflags-3.patch
"${WORKDIR}"/sm0/${PN}-1.8.7-freebsd-pthreads.patch
"${WORKDIR}"/sm0/${P}-perf_event-check.patch
"${WORKDIR}"/sm0/${P}-symbol-versions.patch
"${WORKDIR}"/sm0/${P}-ia64-fix.patch
"${WORKDIR}"/sm0/${P}-ia64-static-strings.patch
"${WORKDIR}"/sm0/${P}-isfinite.patch
"${FILESDIR}"/${PN}-perl-defined-array-check.patch
"${WORKDIR}"/sm0/${PN}-1.8.7-x32.patch
"${WORKDIR}"/sm0/${P}-gcc6.patch
"${WORKDIR}"/sm0/${P}-drop-asm-volatile-toplevel.patch
)
DOCS=( ${S}/README )
HTML_DOCS=( ${BUILDDIR}/README.html )
pkg_setup(){
if [[ ${MERGE_TYPE} != "binary" ]]; then
python-any-r1_pkg_setup
export LC_ALL="C"
fi
}
src_prepare() {
epatch "${WORKDIR}"/sm17/${PN}-${SLOT}-js-config-shebang.patch
epatch "${WORKDIR}"/sm17/${PN}-${SLOT}-ia64-mmap.patch
epatch "${WORKDIR}"/sm17/${PN}-17.0.0-fix-file-permissions.patch
# https://bugs.gentoo.org/show_bug.cgi?id=552786
epatch "${FILESDIR}"/${PN}-perl-defined-array-check.patch
pwd
# Remove obsolete jsuword bug #506160
sed -i -e '/jsuword/d' "${BUILDDIR}"/jsval.h ||die "sed failed"
epatch_user
default
if [[ ${CHOST} == *-freebsd* ]]; then
# Don't try to be smart, this does not work in cross-compile anyway
ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
fi
cd "${BUILDDIR}" || die
eautoconf
}
src_configure() {
@ -65,17 +73,17 @@ src_configure() {
CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
LD="$(tc-getLD)" \
ac_cv_lib_dnet_dnet_ntoa=no \
ac_cv_lib_dnet_stub_dnet_ntoa=no \
econf \
${myopts} \
--enable-jemalloc \
--enable-readline \
--enable-threadsafe \
--with-system-nspr \
--enable-system-ffi \
--enable-jemalloc \
--disable-optimize \
--disable-profile-guided-optimization \
$(use_enable debug) \
$(use_enable jit tracejit) \
$(use_enable jit methodjit) \
$(use_enable static-libs static) \
$(use_enable test tests)
}
@ -94,12 +102,14 @@ src_compile() {
cd "${BUILDDIR}" || die
if tc-is-cross-compiler; then
tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
cross_make host_jsoplengen host_jskwgen
cross_make jscpucfg host_jsoplengen host_jskwgen
cross_make -C config nsinstall
mv {,native-}jscpucfg || die
mv {,native-}host_jskwgen || die
mv {,native-}host_jsoplengen || die
mv config/{,native-}nsinstall || die
sed -i \
-e 's@./jscpucfg@./native-jscpucfg@' \
-e 's@./host_jskwgen@./native-host_jskwgen@' \
-e 's@./host_jsoplengen@./native-host_jsoplengen@' \
Makefile || die
@ -114,20 +124,20 @@ src_compile() {
src_test() {
cd "${BUILDDIR}/jsapi-tests" || die
# for bug 415791
pax-mark mr jsapi-tests
emake check
}
src_install() {
cd "${BUILDDIR}" || die
emake DESTDIR="${D}" install
if ! use minimal; then
if use jit; then
pax-mark m "${ED}/usr/bin/js${SLOT}"
fi
else
rm -f "${ED}/usr/bin/js${SLOT}"
# bug 437520 , exclude js shell for small systems
if ! use minimal ; then
dobin shell/js
pax-mark m "${ED}/usr/bin/js"
fi
einstalldocs
if ! use static-libs; then
# We can't actually disable building of static libraries

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -14,7 +14,7 @@ SRC_URI="https://archive.mozilla.org/pub/${PN}/releases/${PV}/${MY_P}.tar.bz2
LICENSE="NPL-1.1"
SLOT="38"
KEYWORDS="alpha amd64 ~arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd"
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd"
IUSE="debug +jit minimal static-libs +system-icu test"
RESTRICT="ia64? ( test )"

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -16,7 +16,7 @@ SRC_URI="http://ftp.mozilla.org/pub/spidermonkey/prereleases/52/pre1/mozjs-52.9.
LICENSE="NPL-1.1"
SLOT="52"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 s390 ~sh ~sparc x86 ~x86-fbsd"
IUSE="debug minimal +system-icu test"
RESTRICT="ia64? ( test )"
@ -34,6 +34,8 @@ DEPEND="${RDEPEND}"
pkg_setup(){
[[ ${MERGE_TYPE} == "binary" ]] || \
moz_pkgsetup
export SHELL="${EPREFIX}/bin/bash"
}
src_prepare() {
@ -46,7 +48,7 @@ src_prepare() {
eapply "${WORKDIR}/${PN}"
eapply "${FILESDIR}"/moz38-dont-hardcode-libc-soname.patch
#eapply "${FILESDIR}"/${PN}-52-baseconfig.patch
eapply "${FILESDIR}"/${PN}-52.0-fix-alpha-bitness.patch
eapply_user
@ -75,6 +77,7 @@ src_configure() {
--with-system-nspr \
--disable-optimize \
--with-intl-api \
--disable-gold \
$(use_with system-icu) \
$(use_enable debug) \
$(use_enable test tests) \
@ -91,6 +94,7 @@ cross_make() {
CC="${BUILD_CC}" \
CXX="${BUILD_CXX}" \
RANLIB="${BUILD_RANLIB}" \
SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
"$@"
}
src_compile() {
@ -120,6 +124,7 @@ src_compile() {
fi
MOZ_MAKE_FLAGS="${MAKEOPTS}" \
SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
emake \
MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
@ -133,6 +138,7 @@ src_test() {
src_install() {
cd "${BUILDDIR}" || die
SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
emake DESTDIR="${D}" install
if ! use minimal; then

View File

@ -1,91 +1,87 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
EAPI=6
WANT_AUTOCONF="2.1"
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="threads"
inherit autotools eutils toolchain-funcs multilib python-any-r1 versionator pax-utils
inherit autotools check-reqs toolchain-funcs pax-utils mozcoreconf-v5
MY_PN="mozjs"
MY_P="${MY_PN}-${PV/_/.}"
DESCRIPTION="Stand-alone JavaScript C library"
MY_P="${MY_PN}-${PV/_rc/.rc}"
MY_P="${MY_P/_pre/pre}"
MY_P="${MY_P%_p[0-9]*}"
DESCRIPTION="Stand-alone JavaScript C++ library"
HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
SRC_URI="https://archive.mozilla.org/pub/js/${MY_P}.tar.bz2
https://dev.gentoo.org/~axs/distfiles/${PN}-slot24-patches-01.tar.xz"
#SRC_URI="https://archive.mozilla.org/pub/spidermonkey/prereleases/60/pre3/${MY_P}.tar.bz2
SRC_URI="https://dev.gentoo.org/~axs/distfiles/${MY_P}.tar.bz2
https://dev.gentoo.org/~anarchy/mozilla/patchsets/${PN}-60.0-patches-04.tar.xz"
LICENSE="NPL-1.1"
SLOT="24"
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd"
IUSE="debug icu jit minimal static-libs +system-icu test"
SLOT="60"
KEYWORDS="alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
IUSE="debug +jit minimal +system-icu test"
RESTRICT="ia64? ( test )"
S="${WORKDIR}/${MY_P%.rc*}"
BUILDDIR="${S}/js/src"
RDEPEND=">=dev-libs/nspr-4.9.4
BUILDDIR="${S}/jsobj"
RDEPEND=">=dev-libs/nspr-4.13.1
virtual/libffi
sys-libs/readline:0=
>=sys-libs/zlib-1.1.4
system-icu? ( >=dev-libs/icu-1.51:= )"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
app-arch/zip
virtual/pkgconfig"
>=sys-libs/zlib-1.2.3:=
system-icu? ( >=dev-libs/icu-59.1:= )"
DEPEND="${RDEPEND}"
pkg_pretend() {
CHECKREQS_DISK_BUILD="2G"
check-reqs_pkg_setup
}
pkg_setup(){
if [[ ${MERGE_TYPE} != "binary" ]]; then
python-any-r1_pkg_setup
export LC_ALL="C"
fi
[[ ${MERGE_TYPE} == "binary" ]] || \
moz_pkgsetup
export SHELL="${EPREFIX}/bin/bash"
}
src_prepare() {
epatch "${WORKDIR}"/sm24/${PN}-${SLOT}-system-icu.patch
epatch "${WORKDIR}"/sm24/${PN}-24.2.0-fix-file-permissions.patch
epatch "${WORKDIR}"/sm24/${PN}-${SLOT}-upward-growing-stack.patch
# https://bugs.gentoo.org/show_bug.cgi?id=552786
epatch "${FILESDIR}"/${PN}-perl-defined-array-check.patch
epatch_user
eapply "${WORKDIR}/${PN}"
eapply_user
if [[ ${CHOST} == *-freebsd* ]]; then
# Don't try to be smart, this does not work in cross-compile anyway
ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
fi
cd "${BUILDDIR}" || die
cd "${S}/js/src" || die
eautoconf old-configure.in
eautoconf
# there is a default config.cache that messes everything up
rm -f "${S}/js/src"/config.cache || die
mkdir -p "${BUILDDIR}" || die
}
src_configure() {
export SHELL=/bin/sh
cd "${BUILDDIR}" || die
local myopts=""
if use icu; then # make sure system-icu flag only affects icu-enabled build
myopts+="$(use_with system-icu)"
else
myopts+="--without-system-icu"
fi
CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
LD="$(tc-getLD)" \
ECONF_SOURCE="${S}/js/src" \
econf \
${myopts} \
--enable-jemalloc \
--disable-jemalloc \
--enable-readline \
--enable-threadsafe \
--with-system-nspr \
--enable-system-ffi \
--with-system-zlib \
--disable-optimize \
$(use_enable icu intl-api) \
--with-intl-api \
$(use_with system-icu) \
$(use_enable debug) \
$(use_enable jit yarr-jit) \
$(use_enable jit ion) \
$(use_enable static-libs static) \
$(use_enable test tests)
$(use_enable test tests) \
XARGS="/usr/bin/xargs" \
CONFIG_SHELL="${EPREFIX}/bin/bash" \
CC="${CC}" CXX="${CXX}" LD="${LD}" AR="${AR}" RANLIB="${RANLIB}"
}
cross_make() {
@ -123,6 +119,8 @@ src_compile() {
host_jskwgen.o \
host_jsoplengen.o || die
fi
MOZ_MAKE_FLAGS="${MAKEOPTS}" \
emake \
MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
@ -130,8 +128,8 @@ src_compile() {
}
src_test() {
cd "${BUILDDIR}/jsapi-tests" || die
emake check
cd "${BUILDDIR}/js/src/jsapi-tests" || die
./jsapi-tests || die
}
src_install() {
@ -140,15 +138,13 @@ src_install() {
if ! use minimal; then
if use jit; then
pax-mark m "${ED}/usr/bin/js${SLOT}"
pax-mark m "${ED}"usr/bin/js${SLOT}
fi
else
rm -f "${ED}/usr/bin/js${SLOT}"
rm -f "${ED}"usr/bin/js${SLOT}
fi
if ! use static-libs; then
# We can't actually disable building of static libraries
# They're used by the tests and in a few other places
find "${D}" -iname '*.a' -delete || die
fi
# We can't actually disable building of static libraries
# They're used by the tests and in a few other places
find "${D}" -iname '*.a' -o -iname '*.ajs' -delete || die
}

View File

@ -1,3 +1 @@
DIST libunistring-0.9.5.tar.gz 3487957 SHA256 1a8c0772467850bef7197318a95f44abbb678ea83cbf119a3500cc7848276a17 SHA512 89404b8f0fde264c3faa4285e4717487f2b6c348fa9374ccff2251eb3db6dda208fe013056a22f496c1fb099abe7e79b72a203d15499c641e3ac48e7957ba1b4 WHIRLPOOL 445a836b687187faa8b562dff694add9448b7a2770b51748974bead2304f00c2242a3488c20819c250f800f6711d3f594803094aae2b8cb189a1519f2450db20
DIST libunistring-0.9.6.tar.gz 3565883 SHA256 9625eec2507f4789ebb6fc48ebda98be0e0168979a2f68aa8b680bf8eeabbd47 SHA512 244f4ef6343047d2dedfdbe536a7a29584a58f668a41ba3183fc86d2f167186acf120708e024e31551ee2f035b9bee35e9ed24a276a4de9359cf08aec198c20a WHIRLPOOL aa279ab2ec4b1943a9d96a43a8a5ab35ae3f477e8ed49634570450bb8bc192e8ddbbe4fb39f4d515e9e834c6bbeb12b2489942d308eab0dd61301fd684abfc29
DIST libunistring-0.9.7.tar.gz 3589989 SHA256 9ce081cbee1951b55597b30e7030bda9d7b2f034ef901a135ff3a020be5a41e5 SHA512 43cb60163299a781b57bca326ddeb6333cde0b12d274fcd2b176971c8080ee8868f8c11bf9c524596d3a56dc0213ed1d3246fb805db1de950257c3764eb34ae0 WHIRLPOOL a72fa0efbe9df21924c1312276e574d74ad085a35b74bdf62b2fde3a57fc56bcea70c1a3c64f4f86d43bfecdd5603ca29790c05d1bd13e7e2bf04e53d4813fdf
DIST libunistring-0.9.10.tar.gz 3744814 BLAKE2B 3ddc55b8021c0f4822beb83b807bb21dbbf10bbb866747f64e060df3ab822a4143528855e1ce6a13144630bc8daa14f1fa830db77fb605e57cae21d46de804d6 SHA512 690082732fbbd47ab4ffbd6f21d85afece0f8e2ded24982f949f4ae52bf0a981b75ea9bc14ab289e0954cde07f31a7a4c2bb65615a8eb5b2bfa65720310b6fc9

View File

@ -1,6 +1,5 @@
diff -Naur libunistring-0.9.3.orig/Makefile.in libunistring-0.9.3/Makefile.in
--- libunistring-0.9.3.orig/Makefile.in 2010-05-02 18:28:21.000000000 -0300
+++ libunistring-0.9.3/Makefile.in 2010-09-24 12:45:40.000000000 -0300
--- a/Makefile.in
+++ b/Makefile.in
@@ -773,7 +773,7 @@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies

View File

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="LGPL-3 GPL-3"
SLOT="0/2"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~x64-cygwin ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc static-libs"
PATCHES=(

View File

@ -1,35 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit eutils
DESCRIPTION="Library for manipulating Unicode and C strings according to Unicode standard"
HOMEPAGE="https://www.gnu.org/software/libunistring/"
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="LGPL-3 GPL-3"
SLOT="0/2"
KEYWORDS="amd64 arm x86 ~amd64-linux"
IUSE="doc static-libs"
src_prepare() {
epatch "${FILESDIR}"/${PN}-nodocs.patch
}
src_configure() {
econf $(use_enable static-libs static)
}
src_install() {
dodoc AUTHORS README ChangeLog || die "dodoc failed"
if use doc; then
dohtml doc/*.html || die "dohtml failed"
doinfo doc/*.info || die "doinfo failed"
fi
emake DESTDIR="${D}" install || die "Install failed"
prune_libtool_files
}

View File

@ -1,33 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit eutils
DESCRIPTION="Library for manipulating Unicode and C strings according to Unicode standard"
HOMEPAGE="https://www.gnu.org/software/libunistring/"
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="LGPL-3 GPL-3"
SLOT="0/2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux"
IUSE="doc static-libs"
src_prepare() {
epatch "${FILESDIR}"/${PN}-nodocs.patch
}
src_configure() {
econf $(use_enable static-libs static)
}
src_install() {
default
if use doc; then
dohtml doc/*.html
doinfo doc/*.info
fi
prune_libtool_files
}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2 or later
# @ECLASS: ant-tasks.eclass
@ -11,27 +11,37 @@
# This eclass provides functionality and default ebuild variables for building
# dev-java/ant-* packages easily.
case "${EAPI:-0}" in
0|1|2|3|4|5)
die "ant-tasks.eclass: EAPI ${EAPI} is too old."
;;
6|7)
;;
*)
die "ant-tasks.eclass: EAPI ${EAPI} is not supported yet."
;;
esac
# we set ant-core dep ourselves, restricted
JAVA_ANT_DISABLE_ANT_CORE_DEP=true
# rewriting build.xml for are the testcases has no reason atm
JAVA_PKG_BSFIX_ALL=no
inherit java-pkg-2 java-ant-2
[[ ${EAPI:-0} == [0123456] ]] && inherit eapi7-ver
[[ ${EAPI:-0} -eq 6 ]] && inherit eapi7-ver
EXPORT_FUNCTIONS src_unpack src_compile src_install
# @ECLASS-VARIABLE: ANT_TASK_JDKVER
# @DESCRIPTION:
# Affects the >=virtual/jdk version set in DEPEND string. Defaults to 1.5, can
# Affects the >=virtual/jdk version set in DEPEND string. Defaults to 1.8, can
# be overridden from ebuild BEFORE inheriting this eclass.
ANT_TASK_JDKVER=${ANT_TASK_JDKVER-1.5}
ANT_TASK_JDKVER=${ANT_TASK_JDKVER-1.8}
# @ECLASS-VARIABLE: ANT_TASK_JREVER
# @DESCRIPTION:
# Affects the >=virtual/jre version set in DEPEND string. Defaults to 1.5, can
# Affects the >=virtual/jre version set in DEPEND string. Defaults to 1.8, can
# be overridden from ebuild BEFORE inheriting this eclass.
ANT_TASK_JREVER=${ANT_TASK_JREVER-1.5}
ANT_TASK_JREVER=${ANT_TASK_JREVER-1.8}
# @ECLASS-VARIABLE: ANT_TASK_NAME
# @DESCRIPTION:
@ -56,31 +66,11 @@ ANT_TASK_DEPNAME=${ANT_TASK_DEPNAME-${ANT_TASK_NAME}}
# Version of ant-core this task is intended to register and thus load with.
ANT_TASK_PV="${PV}"
# special care for beta/RC releases
if [[ ${PV} == *beta2* ]]; then
MY_PV=${PV/_beta2/beta}
UPSTREAM_PREFIX="http://people.apache.org/dist/ant/v1.7.1beta2/src"
GENTOO_PREFIX="https://dev.gentoo.org/~caster/distfiles"
ANT_TASK_PV=$(ver_cut 1-3)
elif [[ ${PV} == *_rc* ]]; then
MY_PV=${PV/_rc/RC}
UPSTREAM_PREFIX="https://dev.gentoo.org/~caster/distfiles"
GENTOO_PREFIX="https://dev.gentoo.org/~caster/distfiles"
ANT_TASK_PV=$(ver_cut 1-3)
else
# default for final releases
MY_PV=${PV}
case ${PV} in
1.9.*)
UPSTREAM_PREFIX="https://archive.apache.org/dist/ant/source"
GENTOO_PREFIX="https://dev.gentoo.org/~tomwij/files/dist"
;;
*)
UPSTREAM_PREFIX="mirror://apache/ant/source"
GENTOO_PREFIX="https://dev.gentoo.org/~caster/distfiles"
;;
esac
fi
# default for final releases
MY_PV=${PV}
UPSTREAM_PREFIX="mirror://apache/ant/source"
GENTOO_PREFIX="https://dev.gentoo.org/~fordfrog/distfiles"
# source/workdir name
MY_P="apache-ant-${MY_PV}"
@ -101,11 +91,6 @@ if [[ -z "${ANT_TASK_DISABLE_VM_DEPS}" ]]; then
DEPEND+=" >=virtual/jdk-${ANT_TASK_JDKVER}"
fi
# we need direct blockers with old ant-tasks for file collisions - bug #252324
if ver_test -ge 1.7.1; then
DEPEND+=" !dev-java/ant-tasks"
fi
# Would run the full ant test suite for every ant task
RESTRICT="test"
@ -130,7 +115,11 @@ ant-tasks_src_unpack() {
cd "${S}"
# replace build.xml with our modified for split building
mv -f "${WORKDIR}"/build.xml .
if [ -e "${WORKDIR}"/${PV}-build.patch ] ; then
eapply "${WORKDIR}"/${PV}-build.patch
else
mv -f "${WORKDIR}"/build.xml .
fi
cd lib
# remove bundled xerces
@ -168,8 +157,6 @@ ant-tasks_src_install() {
java-pkg_register-ant-task --version "${ANT_TASK_PV}"
# create the compatibility symlink
if ver_test -ge 1.7.1_beta2; then
dodir /usr/share/ant/lib
dosym /usr/share/${PN}/lib/${PN}.jar /usr/share/ant/lib/${PN}.jar
fi
dodir /usr/share/ant/lib
dosym /usr/share/${PN}/lib/${PN}.jar /usr/share/ant/lib/${PN}.jar
}

View File

@ -418,6 +418,9 @@ apache-2_pkg_setup() {
if use userland_BSD; then
elog "On BSD systems you need to add the following line to /boot/loader.conf:"
elog " accf_http_load=\"YES\""
if use ssl ; then
elog " accf_data_load=\"YES\""
fi
elog
fi
}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cmake-utils.eclass
@ -419,13 +419,17 @@ _cmake_modify-cmakelists() {
grep -qs "<<< Gentoo configuration >>>" "${CMAKE_USE_DIR}"/CMakeLists.txt && return 0
# Comment out all set (<some_should_be_user_defined_variable> value)
# TODO Add QA checker - inform when variable being checked for below is set in CMakeLists.txt
find "${CMAKE_USE_DIR}" -name CMakeLists.txt \
-exec sed -i -e '/^[[:space:]]*[sS][eE][tT][[:space:]]*([[:space:]]*CMAKE_BUILD_TYPE.*)/{s/^/#IGNORE /g}' {} + \
-exec sed -i -e '/^[[:space:]]*[sS][eE][tT][[:space:]]*([[:space:]]*CMAKE_COLOR_MAKEFILE.*)/{s/^/#IGNORE /g}' {} + \
-exec sed -i -e '/^[[:space:]]*[sS][eE][tT][[:space:]]*([[:space:]]*CMAKE_INSTALL_PREFIX.*)/{s/^/#IGNORE /g}' {} + \
-exec sed -i -e '/^[[:space:]]*[sS][eE][tT][[:space:]]*([[:space:]]*CMAKE_VERBOSE_MAKEFILE.*)/{s/^/#IGNORE /g}' {} + \
|| die "${LINENO}: failed to disable hardcoded settings"
find "${CMAKE_USE_DIR}" -name CMakeLists.txt -exec sed \
-e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_BUILD_TYPE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \
-e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_COLOR_MAKEFILE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \
-e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_INSTALL_PREFIX[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \
-e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_VERBOSE_MAKEFILE[[:space:]].*)/I{s/^/#G_cmake_modify_IGNORE /g}' \
-i {} + || die "${LINENO}: failed to disable hardcoded settings"
local x
for x in $(find "${CMAKE_USE_DIR}" -name CMakeLists.txt -exec grep -l "^#_cmake_modify_IGNORE" {} +;); do
einfo "Hardcoded definition(s) removed in $(echo "${x}" | cut -c $((${#CMAKE_USE_DIR}+2))-):"
einfo "$(grep -se '^#_cmake_modify_IGNORE' ${x} | cut -c 22-99)"
done
# NOTE Append some useful summary here
cat >> "${CMAKE_USE_DIR}"/CMakeLists.txt <<- _EOF_ || die

View File

@ -1,9 +1,9 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2019 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cron.eclass
# @MAINTAINER:
# cron-bugs@gentoo.org
# maintainer-needed@gentoo.org
# @AUTHOR:
# Original Author: Aaron Walker <ka0ttic@gentoo.org>
# @BLURB: Some functions for cron

View File

@ -597,7 +597,16 @@ distutils-r1_python_install() {
die "Package installs '${p}' package which is forbidden and likely a bug in the build system."
fi
done
if [[ -d ${root}/usr/$(get_libdir)/pypy/share ]]; then
local shopt_save=$(shopt -p nullglob)
shopt -s nullglob
local pypy_dirs=(
"${root}/usr/$(get_libdir)"/pypy*/share
"${root}/usr/lib"/pypy*/share
)
${shopt_save}
if [[ -n ${pypy_dirs} ]]; then
local cmd=die
[[ ${EAPI} == [45] ]] && cmd=eqawarn
"${cmd}" "Package installs 'share' in PyPy prefix, see bug #465546."

View File

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: emboss-r2.eclass
@ -58,7 +58,7 @@ RDEPEND="
dev-libs/libpcre:3
sci-libs/plplot:=
sys-libs/zlib
mysql? ( virtual/mysql )
mysql? ( dev-db/mysql-connector-c:0= )
pdf? ( media-libs/libharu:= )
png? ( media-libs/gd:2=[png] )
postgres? ( dev-db/postgresql:= )

View File

@ -69,6 +69,13 @@ setup-allowed-flags() {
# gcc 4.9
-mno-avx512cd -mno-avx512er -mno-avx512f -mno-avx512pf -mno-sha
)
# Allow some safe individual flags. Should come along with the bug reference.
ALLOWED_FLAGS+=(
# Allow explicit stack realignment to run non-conformant
# binaries: bug #677852
-mstackrealign
)
}
# inverted filters for hardened compiler. This is trying to unpick

View File

@ -55,7 +55,7 @@ DOCS=${DOCS:-}
IUSE="X"
DEPEND="X? (
x11-apps/mkfontdir
|| ( >=x11-apps/mkfontscale-1.2.0 x11-apps/mkfontdir )
media-fonts/encodings
)"
RDEPEND=""

View File

@ -1,4 +1,4 @@
# Copyright 1999-2011 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: gnome.org.eclass
@ -11,7 +11,8 @@
# @DESCRIPTION:
# Provide a default SRC_URI for tarball hosted on gnome.org mirrors.
inherit versionator
# versionator inherit kept for older EAPIs due to ebuilds (potentially) relying on it
[[ ${EAPI} == [0123456] ]] && inherit eapi7-ver versionator
# @ECLASS-VARIABLE: GNOME_TARBALL_SUFFIX
# @DESCRIPTION:
@ -28,7 +29,11 @@ fi
# Even though xz-utils are in @system, they must still be added to DEPEND; see
# https://archives.gentoo.org/gentoo-dev/msg_a0d4833eb314d1be5d5802a3b710e0a4.xml
if [[ ${GNOME_TARBALL_SUFFIX} == "xz" ]]; then
DEPEND="${DEPEND} app-arch/xz-utils"
if [[ ${EAPI:-0} != [0123456] ]]; then
BDEPEND="app-arch/xz-utils"
else
DEPEND="app-arch/xz-utils"
fi
fi
# @ECLASS-VARIABLE: GNOME_ORG_MODULE
@ -41,7 +46,7 @@ fi
# @INTERNAL
# @DESCRIPTION:
# Major and minor numbers of the version number.
: ${GNOME_ORG_PVP:=$(get_version_component_range 1-2)}
: ${GNOME_ORG_PVP:=$(ver_cut 1-2)}
SRC_URI="mirror://gnome/sources/${GNOME_ORG_MODULE}/${GNOME_ORG_PVP}/${GNOME_ORG_MODULE}-${PV}.tar.${GNOME_TARBALL_SUFFIX}"

View File

@ -1,25 +1,25 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: gnome2-utils.eclass
# @MAINTAINER:
# gnome@gentoo.org
# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6
# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7
# @BLURB: Auxiliary functions commonly used by Gnome packages.
# @DESCRIPTION:
# This eclass provides a set of auxiliary functions needed by most Gnome
# packages. It may be used by non-Gnome packages as needed for handling various
# Gnome stack related functions such as:
# * Gtk+ icon cache management
# * GSettings schemas management
# * GConf schemas management
# * scrollkeeper (old Gnome help system) management
[[ ${EAPI:-0} == [012345] ]] && inherit multilib
inherit eutils xdg-utils
[[ ${EAPI:-0} == [0123456] ]] && inherit eutils
inherit xdg-utils
case "${EAPI:-0}" in
0|1|2|3|4|5|6) ;;
0|1|2|3|4|5|6|7) ;;
*) die "EAPI=${EAPI} is not supported" ;;
esac
@ -41,12 +41,6 @@ esac
# Path to scrollkeeper-update
: ${SCROLLKEEPER_UPDATE_BIN:="/usr/bin/scrollkeeper-update"}
# @ECLASS-VARIABLE: GTK_UPDATE_ICON_CACHE
# @INTERNAL
# @DESCRIPTION:
# Path to gtk-update-icon-cache
: ${GTK_UPDATE_ICON_CACHE:="/usr/bin/gtk-update-icon-cache"}
# @ECLASS-VARIABLE: GLIB_COMPILE_SCHEMAS
# @INTERNAL
# @DESCRIPTION:
@ -83,8 +77,6 @@ esac
# @DESCRIPTION:
# List of gdk-pixbuf loaders provided by the package
DEPEND=">=sys-apps/sed-4"
# @FUNCTION: gnome2_environment_reset
# @DESCRIPTION:
@ -102,7 +94,7 @@ gnome2_environment_reset() {
# Ensure we don't rely on dconf/gconf while building, bug #511946
export GSETTINGS_BACKEND="memory"
if has ${EAPI:-0} 6; then
if has ${EAPI:-0} 6 7; then
# Try to cover the packages honoring this variable, bug #508124
export GST_INSPECT="$(type -P true)"
@ -205,72 +197,6 @@ gnome2_gconf_uninstall() {
fi
}
# @FUNCTION: gnome2_icon_savelist
# @DESCRIPTION:
# Find the icons that are about to be installed and save their location
# in the GNOME2_ECLASS_ICONS environment variable. This is only
# necessary for eclass implementations that call
# gnome2_icon_cache_update conditionally.
# This function should be called from pkg_preinst.
gnome2_icon_savelist() {
has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}"
pushd "${ED}" > /dev/null || die
export GNOME2_ECLASS_ICONS=$(find 'usr/share/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null)
popd > /dev/null || die
}
# @FUNCTION: gnome2_icon_cache_update
# @DESCRIPTION:
# Updates Gtk+ icon cache files under /usr/share/icons.
# This function should be called from pkg_postinst and pkg_postrm.
gnome2_icon_cache_update() {
has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}"
local updater="${EROOT}${GTK_UPDATE_ICON_CACHE}"
if [[ ! -x "${updater}" ]] ; then
debug-print "${updater} is not executable"
return
fi
ebegin "Updating icons cache"
local retval=0
local fails=( )
for dir in "${EROOT%/}"/usr/share/icons/*
do
if [[ -f "${dir}/index.theme" ]] ; then
local rv=0
"${updater}" -qf "${dir}"
rv=$?
if [[ ! $rv -eq 0 ]] ; then
debug-print "Updating cache failed on ${dir}"
# Add to the list of failures
fails+=( "${dir}" )
retval=2
fi
elif [[ $(ls "${dir}") = "icon-theme.cache" ]]; then
# Clear stale cache files after theme uninstallation
rm "${dir}/icon-theme.cache"
fi
if [[ -z $(ls "${dir}") ]]; then
# Clear empty theme directories after theme uninstallation
rmdir "${dir}"
fi
done
eend ${retval}
for f in "${fails[@]}" ; do
eerror "Failed to update cache with icon $f"
done
}
# @FUNCTION: gnome2_omf_fix
# @DESCRIPTION:
# Workaround applied to Makefile rules in order to remove redundant
@ -523,3 +449,31 @@ gnome2_disable_deprecation_warning() {
ewarn "Failed to disable deprecation warnings in ${makefile}"
done
}
case ${EAPI:-0} in
0|1|2|3|4|5|6)
# @FUNCTION: gnome2_icon_savelist
# @DESCRIPTION:
# Find the icons that are about to be installed and save their location
# in the GNOME2_ECLASS_ICONS environment variable. This is only
# necessary for eclass implementations that call
# gnome2_icon_cache_update conditionally.
# This function should be called from pkg_preinst.
gnome2_icon_savelist() {
has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}"
pushd "${ED}" > /dev/null || die
export GNOME2_ECLASS_ICONS=$(find 'usr/share/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null)
popd > /dev/null || die
}
# @FUNCTION: gnome2_icon_cache_update
# @DESCRIPTION:
# Updates Gtk+ icon cache files under /usr/share/icons.
# Deprecated. Please use xdg_icon_cache_update from xdg-utils.eclass
gnome2_icon_cache_update() {
xdg_icon_cache_update
}
;;
esac

View File

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: gnome2.eclass
@ -316,7 +316,6 @@ gnome2_src_install() {
gnome2_pkg_preinst() {
xdg_pkg_preinst
gnome2_gconf_savelist
gnome2_icon_savelist
gnome2_schemas_savelist
gnome2_scrollkeeper_savelist
gnome2_gdk_pixbuf_savelist
@ -338,9 +337,6 @@ gnome2_pkg_preinst() {
gnome2_pkg_postinst() {
xdg_pkg_postinst
gnome2_gconf_install
if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
gnome2_icon_cache_update
fi
if [[ -n ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then
gnome2_schemas_update
fi
@ -362,9 +358,6 @@ gnome2_pkg_postinst() {
# Handle scrollkeeper, GSettings, Icons, desktop and mime database updates.
gnome2_pkg_postrm() {
xdg_pkg_postrm
if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
gnome2_icon_cache_update
fi
if [[ -n ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then
gnome2_schemas_update
fi

View File

@ -4,7 +4,7 @@
# @ECLASS: golang-base.eclass
# @MAINTAINER:
# William Hubbs <williamh@gentoo.org>
# @SUPPORTED_EAPIS: 5 6
# @SUPPORTED_EAPIS: 5 6 7
# @BLURB: Eclass that provides base functions for Go packages.
# @DESCRIPTION:
# This eclass provides base functions for software written in the Go
@ -12,7 +12,7 @@
# dev-lang/go.
case "${EAPI:-0}" in
5|6)
5|6|7)
;;
*)
die "${ECLASS}: Unsupported eapi (EAPI=${EAPI})"
@ -23,12 +23,18 @@ if [[ -z ${_GOLANG_BASE} ]]; then
_GOLANG_BASE=1
DEPEND=">=dev-lang/go-1.9"
GO_DEPEND=">=dev-lang/go-1.10"
if [[ ${EAPI:-0} == [56] ]]; then
DEPEND="${GO_DEPEND}"
else
BDEPEND="${GO_DEPEND}"
fi
# Do not complain about CFLAGS etc since go projects do not use them.
QA_FLAGS_IGNORED='.*'
STRIP_MASK="*.a"
# Upstream does not support stripping go packages
RESTRICT="strip"
# @ECLASS-VARIABLE: EGO_PN
# @REQUIRED

View File

@ -4,7 +4,7 @@
# @ECLASS: golang-build.eclass
# @MAINTAINER:
# William Hubbs <williamh@gentoo.org>
# @SUPPORTED_EAPIS: 5 6
# @SUPPORTED_EAPIS: 5 6 7
# @BLURB: Eclass for compiling go packages.
# @DESCRIPTION:
# This eclass provides default src_compile, src_test and src_install
@ -13,7 +13,7 @@
inherit golang-base
case "${EAPI:-0}" in
5|6)
5|6|7)
;;
*)
die "${ECLASS}: Unsupported eapi (EAPI=${EAPI})"

View File

@ -4,7 +4,7 @@
# @ECLASS: golang-vcs-snapshot.eclass
# @MAINTAINER:
# William Hubbs <williamh@gentoo.org>
# @SUPPORTED_EAPIS: 5 6
# @SUPPORTED_EAPIS: 5 6 7
# @BLURB: support eclass for unpacking VCS snapshot tarballs for
# software written in the Go programming language
# @DESCRIPTION:
@ -46,7 +46,7 @@
inherit golang-base
case ${EAPI:-0} in
5|6) ;;
5|6|7) ;;
*) die "${ECLASS} API in EAPI ${EAPI} not yet established."
esac

View File

@ -4,7 +4,7 @@
# @ECLASS: golang-vcs.eclass
# @MAINTAINER:
# William Hubbs <williamh@gentoo.org>
# @SUPPORTED_EAPIS: 5 6
# @SUPPORTED_EAPIS: 5 6 7
# @BLURB: Eclass for fetching and unpacking go repositories.
# @DESCRIPTION:
# This eclass is written to ease the maintenance of live ebuilds
@ -13,7 +13,7 @@
inherit eutils golang-base
case "${EAPI:-0}" in
5|6)
5|6|7)
;;
*)
die "${ECLASS}: Unsupported eapi (EAPI=${EAPI})"

View File

@ -1,4 +1,4 @@
# Copyright 2004-2018 Gentoo Foundation
# Copyright 2004-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: java-utils-2.eclass
@ -15,7 +15,10 @@
# you should inherit java-pkg-2 for Java packages or java-pkg-opt-2 for packages
# that have optional Java support. In addition you can inherit java-ant-2 for
# Ant-based packages.
inherit eutils versionator multilib
# EAPI 7 has version functions built-in. Use eapi7-ver for all earlier eclasses.
# Keep versionator inheritance in case consumers are using it implicitly.
[[ ${EAPI} == [0123456] ]] && inherit eapi7-ver eutils multilib versionator
IUSE="elibc_FreeBSD"
@ -1518,8 +1521,8 @@ java-pkg_is-vm-version-eq() {
local vm_version="$(java-pkg_get-vm-version)"
vm_version="$(get_version_component_range 1-2 "${vm_version}")"
needed_version="$(get_version_component_range 1-2 "${needed_version}")"
vm_version="$(ver_cut 1-2 "${vm_version}")"
needed_version="$(ver_cut 1-2 "${needed_version}")"
if [[ -z "${vm_version}" ]]; then
debug-print "Could not get JDK version from DEPEND"
@ -1570,7 +1573,7 @@ java-pkg_is-vm-version-ge() {
debug-print "Could not get JDK version from DEPEND"
return 1
else
if version_is_at_least "${needed_version}" "${vm_version}"; then
if ver_test "${vm_version}" -ge "${needed_version}"; then
debug-print "Detected a JDK(${vm_version}) >= ${needed_version}"
return 0
else
@ -2029,7 +2032,9 @@ eant() {
if [[ ${cp#:} ]]; then
# It seems ant does not like single quotes around ${cp}
antflags="${antflags} -Dgentoo.classpath=\"${cp#:}\""
# And ant 1.9.13+ also does not like double quotes around ${cp}
# https://bz.apache.org/bugzilla/show_bug.cgi?id=58898
antflags="${antflags} -Dgentoo.classpath=${cp#:}"
fi
[[ -n ${JAVA_PKG_DEBUG} ]] && echo ant ${antflags} "${@}"

View File

@ -123,7 +123,7 @@ get_system_arch() {
case $(get_abi_CHOST ${abi}) in
mips*l*) echo mipsel ;;
mips*) echo mips ;;
ppc64le*) echo ppc64le ;;
powerpc64le*) echo ppc64le ;;
*)
case ${abi} in
*_fbsd) get_system_arch ${abi%_fbsd} ;;

View File

@ -36,15 +36,12 @@ export KDE_BUILD_TYPE
case ${CATEGORY} in
kde-frameworks)
[[ ${KDE_BUILD_TYPE} = live ]] && : ${FRAMEWORKS_MINIMAL:=9999}
[[ ${PV} = 5.52.0* ]] && : ${QT_MINIMAL:=5.9.4}
;;
kde-plasma)
if [[ ${KDE_BUILD_TYPE} = live && ${PV} != 5.??.49* ]]; then
: ${FRAMEWORKS_MINIMAL:=9999}
fi
;;
kde-apps)
[[ ${PV} = 18.08.3* ]] && : ${QT_MINIMAL:=5.9.4}
[[ ${PV} = 5.15.5 ]] && : ${QT_MINIMAL:=5.11.1}
[[ ${PV} = 5.16* ]] && : ${FRAMEWORKS_MINIMAL:=5.58.0}
[[ ${KDE_BUILD_TYPE} = live ]] && : ${FRAMEWORKS_MINIMAL:=9999}
: ${QT_MINIMAL:=5.12.3}
;;
esac
@ -56,17 +53,17 @@ esac
# @ECLASS-VARIABLE: FRAMEWORKS_MINIMAL
# @DESCRIPTION:
# Minimum version of Frameworks to require. This affects add_frameworks_dep.
: ${FRAMEWORKS_MINIMAL:=5.52.0}
: ${FRAMEWORKS_MINIMAL:=5.57.0}
# @ECLASS-VARIABLE: PLASMA_MINIMAL
# @DESCRIPTION:
# Minimum version of Plasma to require. This affects add_plasma_dep.
: ${PLASMA_MINIMAL:=5.12.5}
: ${PLASMA_MINIMAL:=5.14.5}
# @ECLASS-VARIABLE: KDE_APPS_MINIMAL
# @DESCRIPTION:
# Minimum version of KDE Applications to require. This affects add_kdeapps_dep.
: ${KDE_APPS_MINIMAL:=18.08.3}
: ${KDE_APPS_MINIMAL:=18.12.3}
# @ECLASS-VARIABLE: KDE_GCC_MINIMAL
# @DEFAULT_UNSET
@ -74,17 +71,6 @@ esac
# Minimum version of active GCC to require. This is checked in kde5.eclass in
# kde5_pkg_pretend and kde5_pkg_setup.
# @ECLASS-VARIABLE: KDEBASE
# @DEFAULT_UNSET
# @DESCRIPTION:
# This gets set to a non-zero value when a package is considered a
# kdevelop ebuild.
if [[ ${KMNAME-${PN}} = kdevelop ]]; then
KDEBASE=kdevelop
fi
debug-print "${ECLASS}: ${KDEBASE} ebuild recognized"
# @FUNCTION: _check_gcc_version
# @INTERNAL
# @DESCRIPTION:
@ -138,7 +124,7 @@ _add_category_dep() {
if [[ -n ${slot} ]] ; then
slot=":${slot}"
elif [[ ${SLOT%\/*} = 4 || ${SLOT%\/*} = 5 ]] && ! has kde5-meta-pkg ${INHERITED} ; then
elif [[ ${SLOT%\/*} = 5 ]] ; then
slot=":${SLOT%\/*}"
fi
@ -264,10 +250,10 @@ add_qt_dep() {
local slot=${4}
if [[ -z ${version} ]]; then
if [[ ${1} = qtwebkit && $(ver_cut 2 ${QT_MINIMAL}) -ge 9 ]]; then
version=5.9.1 # no more upstream release, need bug #624404
else
version=${QT_MINIMAL}
version=${QT_MINIMAL}
if [[ ${1} = qtwebkit ]]; then
version=5.9.1
[[ ${EAPI} != 6 ]] && die "${FUNCNAME} is disallowed for 'qtwebkit' in EAPI 7 and later"
fi
fi
if [[ -z ${slot} ]]; then

View File

@ -1,25 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: kde5-meta-pkg.eclass
# @MAINTAINER:
# kde@gentoo.org
# @BLURB: This eclass contains boilerplate for KDE meta packages.
# @DESCRIPTION:
# This eclass should only be used for defining meta packages bundling
# software produced by the KDE community.
if [[ -z ${_KDE5_META_PKG_ECLASS} ]]; then
_KDE5_META_PKG_ECLASS=1
inherit kde5-functions
HOMEPAGE="https://www.kde.org/"
LICENSE="metapackage"
SLOT="5"
if [[ ${CATEGORY} = kde-apps ]]; then
RDEPEND+=" !kde-apps/${PN}:4"
fi
fi

View File

@ -31,10 +31,10 @@ _KDE5_ECLASS=1
# for tests you should proceed with setting VIRTUALX_REQUIRED=test.
: ${VIRTUALX_REQUIRED:=manual}
inherit cmake-utils flag-o-matic gnome2-utils kde5-functions virtualx xdg
inherit cmake-utils flag-o-matic kde5-functions virtualx xdg
case ${EAPI} in
6) inherit eapi7-ver eutils ;;
6) inherit eapi7-ver eutils gnome2-utils ;;
esac
if [[ ${KDE_BUILD_TYPE} = live ]]; then
@ -159,14 +159,7 @@ fi
# a proper error message via pkg_nofetch.
KDE_UNRELEASED=( )
if [[ ${KDEBASE} = kdevelop ]]; then
HOMEPAGE="https://www.kdevelop.org/"
elif [[ ${KMNAME} = kdepim ]]; then
HOMEPAGE="https://www.kde.org/applications/office/kontact/"
else
HOMEPAGE="https://www.kde.org/"
fi
HOMEPAGE="https://kde.org/"
LICENSE="GPL-2"
SLOT=5
@ -197,7 +190,7 @@ esac
case ${KDE_AUTODEPS} in
false) ;;
*)
DEPEND+=" $(add_frameworks_dep extra-cmake-modules)"
BDEPEND+=" $(add_frameworks_dep extra-cmake-modules)"
RDEPEND+=" >=kde-frameworks/kf-env-4"
COMMONDEPEND+=" $(add_qt_dep qtcore)"
@ -205,11 +198,6 @@ case ${KDE_AUTODEPS} in
if [[ ${PN} != breeze-icons && ${PN} != oxygen-icons ]]; then
RDEPEND+=" || ( $(add_frameworks_dep breeze-icons) kde-frameworks/oxygen-icons:* )"
fi
if [[ ${CATEGORY} = kde-apps && ${PV} = 18.08.3 ]]; then
[[ ${KDE_BLOCK_SLOT4} = true ]] && RDEPEND+=" !kde-apps/${PN}:4"
RDEPEND+=" !kde-apps/kde-l10n"
fi
;;
esac
@ -224,7 +212,7 @@ case ${KDE_DESIGNERPLUGIN} in
false) ;;
*)
IUSE+=" designer"
DEPEND+=" designer? ( $(add_frameworks_dep kdesignerplugin) )"
BDEPEND+=" designer? ( $(add_frameworks_dep kdesignerplugin) )"
esac
case ${KDE_EXAMPLES} in
@ -238,7 +226,7 @@ case ${KDE_HANDBOOK} in
false) ;;
*)
IUSE+=" +handbook"
DEPEND+=" handbook? ( $(add_frameworks_dep kdoctools) )"
BDEPEND+=" handbook? ( $(add_frameworks_dep kdoctools) )"
;;
esac
@ -247,7 +235,7 @@ case ${KDE_QTHELP} in
*)
IUSE+=" doc"
COMMONDEPEND+=" doc? ( $(add_qt_dep qt-docs) )"
DEPEND+=" doc? (
BDEPEND+=" doc? (
$(add_qt_dep qthelp)
>=app-doc/doxygen-1.8.13-r1
)"
@ -270,6 +258,10 @@ case ${KDE_SELINUX_MODULE} in
;;
esac
case ${EAPI} in
6) DEPEND+=" ${BDEPEND}" ;;
esac
DEPEND+=" ${COMMONDEPEND} dev-util/desktop-file-utils"
RDEPEND+=" ${COMMONDEPEND}"
unset COMMONDEPEND
@ -278,14 +270,6 @@ if [[ -n ${KMNAME} && ${KMNAME} != ${PN} && ${KDE_BUILD_TYPE} = release ]]; then
S=${WORKDIR}/${KMNAME}-${PV}
fi
if [[ -n ${KDEBASE} && ${KDEBASE} = kdevelop && ${KDE_BUILD_TYPE} = release ]]; then
if [[ -n ${KMNAME} ]]; then
S=${WORKDIR}/${KMNAME}-${PV}
else
S=${WORKDIR}/${P}
fi
fi
_kde_is_unreleased() {
local pair
for pair in "${KDE_UNRELEASED[@]}" ; do
@ -320,8 +304,6 @@ _calculate_src_uri() {
;;
esac
DEPEND+=" app-arch/xz-utils"
case ${CATEGORY} in
kde-apps)
case ${PV} in
@ -351,23 +333,15 @@ _calculate_src_uri() {
;;
esac
if [[ -z ${SRC_URI} && -n ${KDEBASE} ]] ; then
local _kdebase
case ${PN} in
kdevelop-pg-qt)
_kdebase=${PN} ;;
*)
_kdebase=${KDEBASE} ;;
esac
if [[ ${PN} = kdevelop* ]]; then
case ${PV} in
*.*.[6-9]? )
SRC_URI="mirror://kde/unstable/${_kdebase}/${PV}/src/${_kmname}-${PV}.tar.xz"
SRC_URI="mirror://kde/unstable/kdevelop/${PV}/src/${_kmname}-${PV}.tar.xz"
RESTRICT+=" mirror"
;;
*)
SRC_URI="mirror://kde/stable/${_kdebase}/${PV}/src/${_kmname}-${PV}.tar.xz" ;;
SRC_URI="mirror://kde/stable/kdevelop/${PV}/src/${_kmname}-${PV}.tar.xz" ;;
esac
unset _kdebase
fi
if _kde_is_unreleased ; then
@ -410,6 +384,10 @@ _calculate_live_repo() {
EGIT_BRANCH="Plasma/$(ver_cut 1-2)"
fi
if [[ ${PV} != 9999 && ${PN} = kdevelop* ]]; then
EGIT_BRANCH="$(ver_cut 1-2)"
fi
EGIT_REPO_URI="${EGIT_MIRROR}/${_kmname}"
}
@ -632,6 +610,8 @@ kde5_src_configure() {
# install mkspecs in the same directory as qt stuff
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON
)
# move handbook outside of doc dir for at least two QA warnings, bug 667138
[[ ${EAPI} != 6 ]] && cmakeargs+=( -DKDE_INSTALL_DOCBUNDLEDIR="${EPREFIX}/usr/share/help" )
fi
# allow the ebuild to override what we set here
@ -696,14 +676,20 @@ kde5_src_install() {
# cmake can't find the tags and qthelp viewers can't find the docs
local p=$(best_version dev-qt/qtcore:5)
local pv=$(echo ${p/%-r[0-9]*/} | rev | cut -d - -f 1 | rev)
if [[ -d ${ED%/}/usr/share/doc/qt-${pv} ]]; then
docompress -x /usr/share/doc/qt-${pv}
if [[ ${pv} = 5.11* ]]; then
#todo: clean up trailing slash check when EAPI <7 is removed
if [[ -d ${ED%/}/usr/share/doc/qt-${pv} ]]; then
docompress -x /usr/share/doc/qt-${pv}
fi
fi
# We don't want /usr/share/doc/HTML to be compressed,
# because then khelpcenter can't find the docs
if [[ -d ${ED%/}/usr/share/doc/HTML ]]; then
docompress -x /usr/share/doc/HTML
if [[ ${EAPI} = 6 ]]; then
# We don't want /usr/share/doc/HTML to be compressed,
# because then khelpcenter can't find the docs
#todo: clean up trailing slash check when EAPI <7 is removed
if [[ -d ${ED%/}/usr/share/doc/HTML ]]; then
docompress -x /usr/share/doc/HTML
fi
fi
}
@ -713,7 +699,6 @@ kde5_src_install() {
kde5_pkg_preinst() {
debug-print-function ${FUNCNAME} "$@"
gnome2_icon_savelist
xdg_pkg_preinst
}
@ -723,9 +708,6 @@ kde5_pkg_preinst() {
kde5_pkg_postinst() {
debug-print-function ${FUNCNAME} "$@"
if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
gnome2_icon_cache_update
fi
xdg_pkg_postinst
if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
@ -744,9 +726,6 @@ kde5_pkg_postinst() {
kde5_pkg_postrm() {
debug-print-function ${FUNCNAME} "$@"
if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
gnome2_icon_cache_update
fi
xdg_pkg_postrm
}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: kernel-2.eclass
@ -624,8 +624,9 @@ if [[ ${ETYPE} == sources ]]; then
IUSE="${IUSE} deblob"
# Reflect that kernels contain firmware blobs unless otherwise
# stripped
LICENSE="${LICENSE} !deblob? ( linux-firmware )"
# stripped. Starting with version 4.14, the whole firmware
# tree has been dropped from the kernel.
kernel_is lt 4 14 && LICENSE+=" !deblob? ( linux-firmware )"
DEPEND+=" deblob? ( ${PYTHON_DEPS} )"
@ -654,10 +655,10 @@ if [[ ${ETYPE} == sources ]]; then
${DEBLOB_URI}
${DEBLOB_CHECK_URI}
)"
else
elif kernel_is lt 4 14; then
# We have no way to deblob older kernels, so just mark them as
# tainted with non-libre materials.
LICENSE="${LICENSE} linux-firmware"
LICENSE+=" linux-firmware"
fi
fi
@ -1226,16 +1227,20 @@ unipatch() {
UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}"
debug-print "genpatches tarball: $tarball"
# check gcc version < 4.9.X uses patch 5000 and = 4.9.X uses patch 5010
if [[ $(gcc-major-version) -eq 4 ]] && [[ $(gcc-minor-version) -ne 9 ]]; then
# drop 5000_enable-additional-cpu-optimizations-for-gcc-4.9.patch
if [[ $UNIPATCH_DROP != *"5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"* ]]; then
UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"
local GCC_MAJOR_VER=$(gcc-major-version)
local GCC_MINOR_VER=$(gcc-minor-version)
# optimization patch for gcc < 8.X and kernel > 4.13
if [[ ${GCC_MAJOR_VER} -lt 8 ]] && [[ ${GCC_MAJOR_VER} -gt 4 ]]; then
if kernel_is ge 4 13 ; then
UNIPATCH_DROP+=" 5011_enable-cpu-optimizations-for-gcc8.patch"
fi
else
if [[ $UNIPATCH_DROP != *"5000_enable-additional-cpu-optimizations-for-gcc.patch"* ]]; then
#drop 5000_enable-additional-cpu-optimizations-for-gcc.patch
UNIPATCH_DROP+=" 5000_enable-additional-cpu-optimizations-for-gcc.patch"
# optimization patch for gcc >= 8 and kernel ge 4.13
elif [[ "${GCC_MAJOR_VER}" -ge 8 ]]; then
if kernel_is ge 4 13; then
# support old kernels for a period. For now, remove as all gcc versions required are masked
UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc.patch"
UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"
fi
fi
fi

View File

@ -7,7 +7,7 @@
# @AUTHOR:
# 0xd34df00d@gmail.com
# NightNord@niifaq.ru
# @SUPPORTED_EAPIS: 6
# @SUPPORTED_EAPIS: 6 7
# @BLURB: Common functions and setup utilities for the LeechCraft app
# @DESCRIPTION:
# The leechcraft eclass contains a common set of functions and steps
@ -22,7 +22,7 @@
# Only EAPI >=6 is supported
case ${EAPI:-0} in
6) ;;
6|7) ;;
*) die "EAPI not supported, bug ebuild mantainer" ;;
esac

View File

@ -638,6 +638,8 @@ linux-mod_src_compile() {
set_arch_to_kernel
ABI="${KERNEL_ABI}"
[[ -n ${KERNEL_DIR} ]] && addpredict "${KERNEL_DIR}/null.dwo"
BUILD_TARGETS=${BUILD_TARGETS:-clean module}
strip_modulenames;
cd "${S}"
@ -702,6 +704,8 @@ linux-mod_src_install() {
local modulename libdir srcdir objdir i n
[[ -n ${KERNEL_DIR} ]] && addpredict "${KERNEL_DIR}/null.dwo"
strip_modulenames;
for i in ${MODULE_NAMES}
do

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: llvm.eclass
@ -6,7 +6,7 @@
# Michał Górny <mgorny@gentoo.org>
# @AUTHOR:
# Michał Górny <mgorny@gentoo.org>
# @SUPPORTED_EAPIS: 6
# @SUPPORTED_EAPIS: 6 7
# @BLURB: Utility functions to build against slotted LLVM
# @DESCRIPTION:
# The llvm.eclass provides utility functions that can be used to build
@ -17,20 +17,21 @@
# a proper dependency string yourself to guarantee that appropriate
# version of LLVM is installed.
#
# Example use for a package supporting LLVM 3.8 to 5:
# Example use for a package supporting LLVM 5 to 7:
# @CODE
# inherit cmake-utils llvm
#
# RDEPEND="
# <sys-devel/llvm-6_rc:=
# <sys-devel/llvm-8:=
# || (
# sys-devel/llvm:7
# sys-devel/llvm:6
# sys-devel/llvm:5
# sys-devel/llvm:4
# >=sys-devel/llvm-3.8:0
# )
# "
# DEPEND=${RDEPEND}
#
# LLVM_MAX_SLOT=5
# LLVM_MAX_SLOT=7
#
# # only if you need to define one explicitly
# pkg_setup() {
@ -46,11 +47,12 @@
# # note: do not use := on both clang and llvm, it can match different
# # slots then. clang pulls llvm in, so we can skip the latter.
# RDEPEND="
# >=sys-devel/clang-4:=[llvm_targets_AMDGPU(+)]
# >=sys-devel/clang-6:=[llvm_targets_AMDGPU(+)]
# "
# DEPEND=${RDEPEND}
#
# llvm_check_deps() {
# has_version "sys-devel/clang:${LLVM_SLOT}[llvm_targets_AMDGPU(+)]"
# has_version -d "sys-devel/clang:${LLVM_SLOT}[llvm_targets_AMDGPU(+)]"
# }
# @CODE
@ -58,7 +60,7 @@ case "${EAPI:-0}" in
0|1|2|3|4|5)
die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}"
;;
6)
6|7)
;;
*)
die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
@ -79,14 +81,22 @@ if [[ ! ${_LLVM_ECLASS} ]]; then
# @INTERNAL
# @DESCRIPTION:
# Correct values of LLVM slots, newest first.
declare -g -r _LLVM_KNOWN_SLOTS=( 8 7 6 5 4 )
declare -g -r _LLVM_KNOWN_SLOTS=( 9 8 7 6 5 4 )
# @FUNCTION: get_llvm_prefix
# @USAGE: [<max_slot>]
# @USAGE: [-b|-d] [<max_slot>]
# @DESCRIPTION:
# Find the newest LLVM install that is acceptable for the package,
# and print an absolute path to it.
#
# If -b is specified, the checks are performed relative to BROOT,
# and BROOT-path is returned. This is appropriate when your package
# calls llvm-config executable. -b is supported since EAPI 7.
#
# If -d is specified, the checks are performed relative to ESYSROOT,
# and ESYSROOT-path is returned. This is appropriate when your package
# uses CMake find_package(LLVM). -d is the default.
#
# If <max_slot> is specified, then only LLVM versions that are not newer
# than <max_slot> will be considered. Otherwise, all LLVM versions would
# be considered acceptable. The function does not support specifying
@ -103,6 +113,37 @@ declare -g -r _LLVM_KNOWN_SLOTS=( 8 7 6 5 4 )
get_llvm_prefix() {
debug-print-function ${FUNCNAME} "${@}"
local hv_switch=-d
while [[ ${1} == -* ]]; do
case ${1} in
-b|-d) hv_switch=${1};;
*) break;;
esac
shift
done
local prefix=
if [[ ${EAPI} != 6 ]]; then
case ${hv_switch} in
-b)
prefix=${BROOT}
;;
-d)
prefix=${ESYSROOT}
;;
esac
else
case ${hv_switch} in
-b)
die "${FUNCNAME} -b is not supported in EAPI ${EAPI}"
;;
-d)
prefix=${EPREFIX}
hv_switch=
;;
esac
fi
local max_slot=${1}
local slot
for slot in "${_LLVM_KNOWN_SLOTS[@]}"; do
@ -120,10 +161,10 @@ get_llvm_prefix() {
llvm_check_deps || continue
else
# check if LLVM package is installed
has_version "sys-devel/llvm:${slot}" || continue
has_version ${hv_switch} "sys-devel/llvm:${slot}" || continue
fi
echo "${EPREFIX}/usr/lib/llvm/${slot}"
echo "${prefix}/usr/lib/llvm/${slot}"
return
done
@ -134,8 +175,8 @@ get_llvm_prefix() {
# fallback to :0
# assume it's always <= 4 (the lower max_slot allowed)
if has_version "sys-devel/llvm:0"; then
echo "${EPREFIX}/usr"
if has_version ${hv_switch} "sys-devel/llvm:0"; then
echo "${prefix}/usr"
return
fi

View File

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: ltprune.eclass
@ -11,7 +11,7 @@
#
# Discouraged. Whenever possible, please use much simpler:
# @CODE
# find "${D}" -name '*.la' -delete || die
# find "${D}" -name '*.la' -type f -delete || die
# @CODE
if [[ -z ${_LTPRUNE_ECLASS} ]]; then

View File

@ -39,16 +39,6 @@ case ${EAPI:-0} in
*) die "EAPI=${EAPI} is not supported" ;;
esac
if [[ ${__MESON_AUTO_DEPEND+set} == "set" ]] ; then
# See if we were included already, but someone changed the value
# of MESON_AUTO_DEPEND on us. We could reload the entire
# eclass at that point, but that adds overhead, and it's trivial
# to re-order inherit in eclasses/ebuilds instead. #409611
if [[ ${__MESON_AUTO_DEPEND} != ${MESON_AUTO_DEPEND} ]] ; then
die "MESON_AUTO_DEPEND changed value between inherits; please inherit meson.eclass first! ${__MESON_AUTO_DEPEND} -> ${MESON_AUTO_DEPEND}"
fi
fi
if [[ -z ${_MESON_ECLASS} ]]; then
inherit ninja-utils python-utils-r1 toolchain-funcs
@ -60,23 +50,14 @@ EXPORT_FUNCTIONS src_configure src_compile src_test src_install
if [[ -z ${_MESON_ECLASS} ]]; then
_MESON_ECLASS=1
MESON_DEPEND=">=dev-util/meson-0.45.1
MESON_DEPEND=">=dev-util/meson-0.48.2
>=dev-util/ninja-1.7.2"
# @ECLASS-VARIABLE: MESON_AUTO_DEPEND
# @DESCRIPTION:
# Set to 'no' to disable automatically adding to DEPEND. This lets
# ebuilds form conditional depends by using ${MESON_DEPEND} in
# their own DEPEND string.
: ${MESON_AUTO_DEPEND:=yes}
if [[ ${MESON_AUTO_DEPEND} != "no" ]] ; then
if [[ ${EAPI:-0} == [0123456] ]]; then
DEPEND=${MESON_DEPEND}
else
BDEPEND=${MESON_DEPEND}
fi
if [[ ${EAPI:-0} == [6] ]]; then
DEPEND=${MESON_DEPEND}
else
BDEPEND=${MESON_DEPEND}
fi
__MESON_AUTO_DEPEND=${MESON_AUTO_DEPEND} # See top of eclass
# @ECLASS-VARIABLE: BUILD_DIR
# @DEFAULT_UNSET
@ -207,6 +188,19 @@ meson_use() {
usex "$1" "-D${2-$1}=true" "-D${2-$1}=false"
}
# @FUNCTION: meson_feature
# @USAGE: <USE flag> [option name]
# @DESCRIPTION:
# Given a USE flag and meson project option, outputs a string like:
#
# -Doption=enabled
# -Doption=disabled
#
# If the project option is unspecified, it defaults to the USE flag.
meson_feature() {
usex "$1" "-D${2-$1}=enabled" "-D${2-$1}=disabled"
}
# @FUNCTION: meson_src_configure
# @USAGE: [extra meson arguments]
# @DESCRIPTION:

View File

@ -129,7 +129,7 @@ RDEPEND=">=app-text/hunspell-1.2:=
system-cairo? ( >=x11-libs/cairo-1.12[X,xcb] >=x11-libs/pixman-0.19.2 )
system-icu? ( >=dev-libs/icu-58.1:= )
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
system-libevent? ( >=dev-libs/libevent-2.0:0= )
system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
system-sqlite? ( >=dev-db/sqlite-3.17.0:3[secure-delete,debug=] )
system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] )
system-harfbuzz? ( >=media-libs/harfbuzz-1.3.3:0= >=media-gfx/graphite2-1.3.8 )

View File

@ -112,9 +112,12 @@ RDEPEND=">=app-text/hunspell-1.5.4:=
x11-libs/libXt
system-icu? ( >=dev-libs/icu-59.1:= )
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
system-libevent? ( >=dev-libs/libevent-2.0:0= )
system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
system-sqlite? ( >=dev-db/sqlite-3.23.1:3[secure-delete,debug=] )
system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] )
system-libvpx? (
>=media-libs/libvpx-1.5.0:0=[postproc]
<media-libs/libvpx-1.8:0=[postproc]
)
system-harfbuzz? ( >=media-libs/harfbuzz-1.4.2:0= >=media-gfx/graphite2-1.3.9-r1 )
"
@ -155,9 +158,31 @@ DEPEND="app-arch/zip
app-arch/unzip
>=sys-devel/binutils-2.30
sys-apps/findutils
clang? (
>=sys-devel/llvm-4.0.1[gold]
>=sys-devel/lld-4.0.1
|| (
(
sys-devel/clang:8
!clang? ( sys-devel/llvm:8 )
clang? (
=sys-devel/lld-8*
sys-devel/llvm:8[gold]
)
)
(
sys-devel/clang:7
!clang? ( sys-devel/llvm:7 )
clang? (
=sys-devel/lld-7*
sys-devel/llvm:7[gold]
)
)
(
sys-devel/clang:6
!clang? ( sys-devel/llvm:6 )
clang? (
=sys-devel/lld-6*
sys-devel/llvm:6[gold]
)
)
)
pulseaudio? ( media-sound/pulseaudio )
elibc_glibc? (
@ -218,6 +243,11 @@ mozconfig_config() {
# Must pass release in order to properly select linker
mozconfig_annotate 'Enable by Gentoo' --enable-release
# Set correct update channel, bug 677722
if [[ -n "${MOZ_ESR}" ]] ; then
mozconfig_annotate 'set update channel to ESR' --enable-update-channel=esr
fi
# Avoid auto-magic on linker
if use clang ; then
# This is upstream's default
@ -331,8 +361,6 @@ mozconfig_config() {
if use clang ; then
# https://bugzilla.mozilla.org/show_bug.cgi?id=1423822
mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
elif use arm ; then
mozconfig_annotate 'elf-hack is broken on arm' --disable-elf-hack
fi
# Modifications to better support ARM, bug 553364

View File

@ -21,6 +21,7 @@ inherit multilib toolchain-funcs flag-o-matic python-any-r1 versionator
IUSE="${IUSE} custom-cflags custom-optimization"
DEPEND="virtual/pkgconfig
dev-lang/python:2.7[ncurses,sqlite,ssl,threads(+)]
${PYTHON_DEPS}"
# @FUNCTION: mozconfig_annotate
@ -239,7 +240,7 @@ mozconfig_init() {
# We need to append flags for gcc-6 support
if [[ $(gcc-major-version) -ge 6 ]]; then
append-cxxflags -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns -fno-schedule-insns2
append-cxxflags -flifetime-dse=1
fi
# Use the MOZILLA_FIVE_HOME for the rpath

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 2013-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: multilib-build.eclass
@ -45,8 +45,10 @@ _MULTILIB_FLAGS=(
abi_mips_n32:n32
abi_mips_n64:n64
abi_mips_o32:o32
abi_ppc_32:ppc,ppc_aix,ppc_macos
abi_ppc_64:ppc64
# abi_ppc_32:ppc,ppc_aix,ppc_macos
# abi_ppc_64:ppc64
abi_riscv_lp64d:lp64d
abi_riscv_lp64:lp64
abi_s390_32:s390
abi_s390_64:s390x
)
@ -479,30 +481,38 @@ multilib_prepare_wrappers() {
#elif defined(__i386__) /* plain x86 */
# error "abi_x86_32 not supported by the package."
#elif defined(__mips__)
# if(_MIPS_SIM == _ABIN32) /* n32 */
# error "abi_mips_n32 not supported by the package."
# elif(_MIPS_SIM == _ABI64) /* n64 */
# error "abi_mips_n64 not supported by the package."
# elif(_MIPS_SIM == _ABIO32) /* o32 */
# error "abi_mips_o32 not supported by the package."
# endif
# if(_MIPS_SIM == _ABIN32) /* n32 */
# error "abi_mips_n32 not supported by the package."
# elif(_MIPS_SIM == _ABI64) /* n64 */
# error "abi_mips_n64 not supported by the package."
# elif(_MIPS_SIM == _ABIO32) /* o32 */
# error "abi_mips_o32 not supported by the package."
# endif
#elif defined(__riscv)
# if defined(__riscv_float_abi_double)
# error "abi_riscv_lp64d not supported by the package."
# elif defined(__riscv_float_abi_single)
# error "abi_riscv_lp64f not supported by the package."
# else
# error "abi_riscv_lp64 not supported by the package."
# endif
#elif defined(__sparc__)
# if defined(__arch64__)
# error "abi_sparc_64 not supported by the package."
# error "abi_sparc_64 not supported by the package."
# else
# error "abi_sparc_32 not supported by the package."
# error "abi_sparc_32 not supported by the package."
# endif
#elif defined(__s390__)
# if defined(__s390x__)
# error "abi_s390_64 not supported by the package."
# error "abi_s390_64 not supported by the package."
# else
# error "abi_s390_32 not supported by the package."
# error "abi_s390_32 not supported by the package."
# endif
#elif defined(__powerpc__) || defined(__ppc__)
# if defined(__powerpc64__) || defined(__ppc64__)
# error "abi_ppc_64 not supported by the package."
# error "abi_ppc_64 not supported by the package."
# else
# error "abi_ppc_32 not supported by the package."
# error "abi_ppc_32 not supported by the package."
# endif
#elif defined(SWIG) /* https://sourceforge.net/p/swig/bugs/799/ */
# error "Native ABI not supported by the package."

View File

@ -385,6 +385,20 @@ multilib_env() {
: ${MULTILIB_ABIS=ppc64 ppc}
: ${DEFAULT_ABI=ppc64}
;;
riscv64*)
export CFLAGS_lp64d=${CFLAGS_lp64d--mabi=lp64d}
export CHOST_lp64d=${CTARGET}
export CTARGET_lp64d=${CTARGET}
export LIBDIR_lp64d="lib64/lp64d"
export CFLAGS_lp64=${CFLAGS_lp64--mabi=lp64}
export CHOST_lp64=${CTARGET}
export CTARGET_lp64=${CTARGET}
export LIBDIR_lp64="lib64/lp64"
: ${MULTILIB_ABIS=lp64d lp64}
: ${DEFAULT_ABI=lp64d}
;;
s390x*)
export CFLAGS_s390=${CFLAGS_s390--m31} # the 31 is not a typo
export CHOST_s390=${CTARGET/s390x/s390}

View File

@ -1,540 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: mysql-cmake.eclass
# @MAINTAINER:
# Maintainers:
# - MySQL Team <mysql-bugs@gentoo.org>
# - Robin H. Johnson <robbat2@gentoo.org>
# - Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
# - Brian Evans <grknight@gentoo.org>
# @BLURB: This eclass provides the support for cmake based mysql releases
# @DESCRIPTION:
# The mysql-cmake.eclass provides the support to build the mysql
# ebuilds using the cmake build system. This eclass provides
# the src_prepare, src_configure, src_compile, and src_install
# phase hooks.
inherit cmake-utils flag-o-matic multilib prefix eutils toolchain-funcs versionator
#
# HELPER FUNCTIONS:
#
# @FUNCTION: mysql_cmake_disable_test
# @DESCRIPTION:
# Helper function to disable specific tests.
mysql-cmake_disable_test() {
local rawtestname testname testsuite reason mysql_disabled_file mysql_disabled_dir
rawtestname="${1}" ; shift
reason="${@}"
ewarn "test '${rawtestname}' disabled: '${reason}'"
testsuite="${rawtestname/.*}"
testname="${rawtestname/*.}"
for mysql_disabled_file in \
${S}/mysql-test/disabled.def \
${S}/mysql-test/t/disabled.def ; do
[[ -f ${mysql_disabled_file} ]] && break
done
#mysql_disabled_file="${S}/mysql-test/t/disabled.def"
#einfo "rawtestname=${rawtestname} testname=${testname} testsuite=${testsuite}"
echo ${testname} : ${reason} >> "${mysql_disabled_file}"
if [[ ( -n ${testsuite} ) && ( ${testsuite} != "main" ) ]]; then
for mysql_disabled_file in \
${S}/mysql-test/suite/${testsuite}/disabled.def \
${S}/mysql-test/suite/${testsuite}/t/disabled.def \
FAILED ; do
[[ -f ${mysql_disabled_file} ]] && break
done
if [[ ${mysql_disabled_file} != "FAILED" ]]; then
echo "${testname} : ${reason}" >> "${mysql_disabled_file}"
else
for mysql_disabled_dir in \
${S}/mysql-test/suite/${testsuite} \
${S}/mysql-test/suite/${testsuite}/t \
FAILED ; do
[[ -d ${mysql_disabled_dir} ]] && break
done
if [[ ${mysql_disabled_dir} != "FAILED" ]]; then
echo "${testname} : ${reason}" >> "${mysql_disabled_dir}/disabled.def"
else
ewarn "Could not find testsuite disabled.def location for ${rawtestname}"
fi
fi
fi
}
# @FUNCTION: mysql-cmake_use_plugin
# @DESCRIPTION:
# Helper function to enable/disable plugins by use flags
# cmake-utils_use_with is not enough as some references check WITH_ (0|1)
# and some check WITHOUT_. Also, this can easily extend to non-storage plugins.
mysql-cmake_use_plugin() {
[[ -z $2 ]] && die "mysql-cmake_use_plugin <USE flag> <flag name>"
if use_if_iuse $1 ; then
echo "-DWITH_$2=1 -DPLUGIN_$2=YES"
else
echo "-DWITHOUT_$2=1 -DWITH_$2=0 -DPLUGIN_$2=NO"
fi
}
# @FUNCTION: configure_cmake_locale
# @DESCRIPTION:
# Helper function to configure locale cmake options
configure_cmake_locale() {
if use_if_iuse minimal ; then
:
elif ! in_iuse server || use_if_iuse server ; then
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
ewarn "You MUST file bugs without these variables set."
mycmakeargs+=(
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
)
elif ! use latin1 ; then
mycmakeargs+=(
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
)
else
mycmakeargs+=(
-DDEFAULT_CHARSET=latin1
-DDEFAULT_COLLATION=latin1_swedish_ci
)
fi
fi
}
# @FUNCTION: configure_cmake_minimal
# @DESCRIPTION:
# Helper function to configure minimal build
configure_cmake_minimal() {
mycmakeargs+=(
-DWITHOUT_SERVER=1
-DWITHOUT_EMBEDDED_SERVER=1
-DEXTRA_CHARSETS=none
-DINSTALL_SQLBENCHDIR=
-DWITHOUT_ARCHIVE_STORAGE_ENGINE=1
-DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1
-DWITHOUT_CSV_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_HEAP_STORAGE_ENGINE=1
-DWITHOUT_INNOBASE_STORAGE_ENGINE=1
-DWITHOUT_MYISAMMRG_STORAGE_ENGINE=1
-DWITHOUT_MYISAM_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
-DPLUGIN_ARCHIVE=NO
-DPLUGIN_BLACKHOLE=NO
-DPLUGIN_CSV=NO
-DPLUGIN_FEDERATED=NO
-DPLUGIN_HEAP=NO
-DPLUGIN_INNOBASE=NO
-DPLUGIN_MYISAMMRG=NO
-DPLUGIN_MYISAM=NO
-DPLUGIN_PARTITION=NO
)
}
# @FUNCTION: configure_cmake_standard
# @DESCRIPTION:
# Helper function to configure standard build
configure_cmake_standard() {
mycmakeargs+=(
-DEXTRA_CHARSETS=all
-DMYSQL_USER=mysql
-DMYSQL_UNIX_ADDR=${EPREFIX}/var/run/mysqld/mysqld.sock
$(cmake-utils_use_disable !static SHARED)
$(cmake-utils_use_with debug)
$(cmake-utils_use_with embedded EMBEDDED_SERVER)
$(cmake-utils_use_with profiling)
$(cmake-utils_use_enable systemtap DTRACE)
)
if use static; then
mycmakeargs+=( -DWITH_PIC=1 )
fi
if use jemalloc; then
mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
fi
if use tcmalloc; then
mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
fi
# Storage engines
mycmakeargs+=(
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_CSV_STORAGE_ENGINE=1
-DWITH_HEAP_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
)
if in_iuse pbxt ; then
mycmakeargs+=( $(cmake-utils_use_with pbxt PBXT_STORAGE_ENGINE) )
fi
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then
# Federated{,X} must be treated special otherwise they will not be built as plugins
if ! use extraengine ; then
mycmakeargs+=(
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DPLUGIN_FEDERATED=NO
-DWITHOUT_FEDERATEDX_STORAGE_ENGINE=1
-DPLUGIN_FEDERATEDX=NO )
fi
mycmakeargs+=(
$(mysql-cmake_use_plugin oqgraph OQGRAPH)
$(mysql-cmake_use_plugin sphinx SPHINX)
$(mysql-cmake_use_plugin tokudb TOKUDB)
$(mysql-cmake_use_plugin pam AUTH_PAM)
)
if mysql_version_is_at_least 10.0.5 ; then
# CassandraSE needs Apache Thrift which is not in portage
mycmakeargs+=(
-DWITHOUT_CASSANDRA=1 -DWITH_CASSANDRA=0
-DPLUGIN_CASSANDRA=NO
$(mysql-cmake_use_plugin extraengine SEQUENCE)
$(mysql-cmake_use_plugin extraengine SPIDER)
$(mysql-cmake_use_plugin extraengine CONNECT)
-DCONNECT_WITH_MYSQL=1
$(cmake-utils_use xml CONNECT_WITH_LIBXML2)
$(cmake-utils_use odbc CONNECT_WITH_ODBC)
)
fi
if in_iuse mroonga ; then
use mroonga || mycmakeargs+=( -DWITHOUT_MROONGA=1 )
else
mycmakeargs+=( -DWITHOUT_MROONGA=1 )
fi
if in_iuse galera ; then
mycmakeargs+=( $(cmake-utils_use_with galera WSREP) )
fi
if mysql_version_is_at_least "10.1.1" ; then
mycmakeargs+=( $(cmake-utils_use_with innodb-lz4 INNODB_LZ4)
$(cmake-utils_use_with innodb-lzo INNODB_LZO) )
fi
if in_iuse innodb-snappy ; then
mycmakeargs+=( $(cmake-utils_use_with innodb-snappy INNODB_SNAPPY) )
fi
if mysql_version_is_at_least "10.1.2" ; then
mycmakeargs+=( $(mysql-cmake_use_plugin cracklib CRACKLIB_PASSWORD_CHECK ) )
fi
# The build forces this to be defined when cross-compiling. We pass it
# all the time for simplicity and to make sure it is actually correct.
mycmakeargs+=( -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) )
else
mycmakeargs+=( $(cmake-utils_use_with extraengine FEDERATED_STORAGE_ENGINE) )
fi
if [[ ${PN} == "percona-server" ]]; then
mycmakeargs+=(
$(cmake-utils_use_with pam PAM)
)
if in_iuse tokudb ; then
# TokuDB Backup plugin requires valgrind unconditionally
mycmakeargs+=(
$(mysql-cmake_use_plugin tokudb TOKUDB)
$(usex tokudb-backup-plugin "" -DTOKUDB_BACKUP_DISABLED=1)
)
fi
fi
if [[ ${PN} == "mysql-cluster" ]]; then
# TODO: This really should include the following options,
# but the memcached package doesn't install the files it seeks.
# -DWITH_BUNDLED_MEMCACHED=OFF
# -DMEMCACHED_HOME=${EPREFIX}/usr
mycmakeargs+=(
-DWITH_BUNDLED_LIBEVENT=OFF
$(cmake-utils_use_with java NDB_JAVA)
)
fi
}
#
# EBUILD FUNCTIONS
#
# @FUNCTION: mysql-cmake_src_prepare
# @DESCRIPTION:
# Apply patches to the source code and remove unneeded bundled libs.
mysql-cmake_src_prepare() {
debug-print-function ${FUNCNAME} "$@"
cd "${S}"
if [[ ${MY_EXTRAS_VER} != none ]]; then
# Apply the patches for this MySQL version
EPATCH_SUFFIX="patch"
mkdir -p "${EPATCH_SOURCE}" || die "Unable to create epatch directory"
# Clean out old items
rm -f "${EPATCH_SOURCE}"/*
# Now link in right patches
mysql_mv_patches
# And apply
epatch
fi
# last -fPIC fixup, per bug #305873
i="${S}"/storage/innodb_plugin/plug.in
[[ -f ${i} ]] && sed -i -e '/CFLAGS/s,-prefer-non-pic,,g' "${i}"
rm -f "scripts/mysqlbug"
if use jemalloc && ! ( [[ ${PN} == "mariadb" ]] && mysql_version_is_at_least "5.5.33" ); then
echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
if use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
fi
if in_iuse tokudb ; then
# Don't build bundled xz-utils
if [[ -d "${S}/storage/tokudb/ft-index" ]] ; then
rm -f "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die
touch "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die
sed -i 's/ build_lzma//' "${S}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die
elif [[ -d "${S}/storage/tokudb/PerconaFT" ]] ; then
rm "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
touch "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
fi
if [[ -d "${S}/plugin/tokudb-backup-plugin" ]] && ! use tokudb-backup-plugin ; then
rm -r "${S}/plugin/tokudb-backup-plugin/Percona-TokuBackup" || die
fi
fi
# Remove the bundled groonga if it exists
# There is no CMake flag, it simply checks for existance
if [[ -d "${S}"/storage/mroonga/vendor/groonga ]] ; then
rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
fi
cmake-utils_src_prepare
}
# @FUNCTION: mysql-cmake_src_configure
# @DESCRIPTION:
# Configure mysql to build the code for Gentoo respecting the use flags.
mysql-cmake_src_configure() {
debug-print-function ${FUNCNAME} "$@"
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug "" "-DNDEBUG")"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug "" "-DNDEBUG")"
-DCMAKE_INSTALL_PREFIX=${EPREFIX}/usr
-DMYSQL_DATADIR=${EPREFIX}/var/lib/mysql
-DSYSCONFDIR=${EPREFIX}/etc/mysql
-DINSTALL_BINDIR=bin
-DINSTALL_DOCDIR=share/doc/${P}
-DINSTALL_DOCREADMEDIR=share/doc/${P}
-DINSTALL_INCLUDEDIR=include/mysql
-DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=$(get_libdir)
-DINSTALL_ELIBDIR=$(get_libdir)/mysql
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLDATADIR=${EPREFIX}/var/lib/mysql
-DINSTALL_MYSQLSHAREDIR=share/mysql
-DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test
-DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
-DINSTALL_SBINDIR=sbin
-DINSTALL_SCRIPTDIR=share/mysql/scripts
-DINSTALL_SQLBENCHDIR=share/mysql
-DINSTALL_SUPPORTFILESDIR=${EPREFIX}/usr/share/mysql
-DWITH_COMMENT="Gentoo Linux ${PF}"
$(cmake-utils_use_with test UNIT_TESTS)
-DWITH_LIBEDIT=0
-DWITH_ZLIB=system
-DWITHOUT_LIBWRAP=1
-DENABLED_LOCAL_INFILE=1
$(cmake-utils_use_enable static-libs STATIC_LIBS)
-DWITH_SSL=$(usex ssl system bundled)
-DWITH_DEFAULT_COMPILER_OPTIONS=0
-DWITH_DEFAULT_FEATURE_SET=0
)
if in_iuse bindist ; then
mycmakeargs+=(
-DWITH_READLINE=$(usex bindist 1 0)
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
$(usex bindist -DHAVE_BFD_H=0 '')
)
fi
mycmakeargs+=( -DWITH_EDITLINE=system )
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
mycmakeargs+=(
-DWITH_JEMALLOC=$(usex jemalloc system)
)
mysql_version_is_at_least "10.0.9" && mycmakeargs+=( -DWITH_PCRE=system )
fi
configure_cmake_locale
if use_if_iuse minimal ; then
configure_cmake_minimal
else
configure_cmake_standard
fi
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
CXXFLAGS="${CXXFLAGS} -felide-constructors"
# Causes linkage failures. Upstream bug #59607 removes it
if ! mysql_version_is_at_least "5.6" ; then
CXXFLAGS="${CXXFLAGS} -fno-implicit-templates"
fi
# As of 5.7, exceptions and rtti are used!
if [[ ${PN} -eq 'percona-server' ]] && mysql_version_is_at_least "5.6.26" ; then
CXXFLAGS="${CXXFLAGS} -fno-rtti"
elif ! mysql_version_is_at_least "5.7" ; then
CXXFLAGS="${CXXFLAGS} -fno-exceptions -fno-rtti"
fi
export CXXFLAGS
# bug #283926, with GCC4.4, this is required to get correct behavior.
append-flags -fno-strict-aliasing
cmake-utils_src_configure
}
# @FUNCTION: mysql-cmake_src_compile
# @DESCRIPTION:
# Compile the mysql code.
mysql-cmake_src_compile() {
debug-print-function ${FUNCNAME} "$@"
cmake-utils_src_compile
}
# @FUNCTION: mysql-cmake_src_install
# @DESCRIPTION:
# Install mysql.
mysql-cmake_src_install() {
debug-print-function ${FUNCNAME} "$@"
# Make sure the vars are correctly initialized
mysql_init_vars
cmake-utils_src_install
if ! in_iuse tools || use_if_iuse tools ; then
# Convenience links
einfo "Making Convenience links for mysqlcheck multi-call binary"
dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlanalyze"
dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlrepair"
dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqloptimize"
fi
# Create a mariadb_config symlink
[[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && dosym "/usr/bin/mysql_config" "/usr/bin/mariadb_config"
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
rm -Rf "${ED}/usr/data"
# Various junk (my-*.cnf moved elsewhere)
einfo "Removing duplicate /usr/share/mysql files"
# Unless they explicitly specific USE=test, then do not install the
# testsuite. It DOES have a use to be installed, esp. when you want to do a
# validation of your database configuration after tuning it.
if ! use test ; then
rm -rf "${D}"/${MY_SHAREDSTATEDIR}/mysql-test
fi
# Configuration stuff
case ${MYSQL_PV_MAJOR} in
5.[1-4]*) mysql_mycnf_version="5.1" ;;
5.5) mysql_mycnf_version="5.5" ;;
5.[6-9]|6*|7*|8*|9*|10*) mysql_mycnf_version="5.6" ;;
esac
einfo "Building default my.cnf (${mysql_mycnf_version})"
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
[[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
mycnf_src="my.cnf-${mysql_mycnf_version}"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR}/${mycnf_src}" \
> "${TMPDIR}/my.cnf.ok" || die
use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR}/my.cnf.ok"
if use latin1 ; then
sed -i \
-e "/character-set/s|utf8|latin1|g" \
"${TMPDIR}/my.cnf.ok" || die
fi
eprefixify "${TMPDIR}/my.cnf.ok"
newins "${TMPDIR}/my.cnf.ok" my.cnf
# Minimal builds don't have the MySQL server
if use_if_iuse minimal ; then
:
elif ! in_iuse server || use_if_iuse server; then
einfo "Including support files and sample configurations"
docinto "support-files"
for script in \
"${S}"/support-files/my-*.cnf.sh \
"${S}"/support-files/magic \
"${S}"/support-files/ndb-config-2-node.ini.sh
do
[[ -f $script ]] && dodoc "${script}"
done
docinto "scripts"
for script in "${S}"/scripts/mysql* ; do
[[ ( -f $script ) && ( ${script%.sh} == ${script} ) ]] && dodoc "${script}"
done
fi
#Remove mytop if perl is not selected
[[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && ! use perl \
&& rm -f "${ED}/usr/bin/mytop"
in_iuse client-libs && ! use client-libs && return
# Percona has decided to rename libmysqlclient to libperconaserverclient
# Use a symlink to preserve linkages for those who don't use mysql_config
if [[ ${PN} == "percona-server" ]] && mysql_version_is_at_least "5.5.36" ; then
dosym libperconaserverclient.so /usr/$(get_libdir)/libmysqlclient.so
dosym libperconaserverclient.so /usr/$(get_libdir)/libmysqlclient_r.so
if use static-libs ; then
dosym libperconaserverclient.a /usr/$(get_libdir)/libmysqlclient.a
dosym libperconaserverclient.a /usr/$(get_libdir)/libmysqlclient_r.a
fi
fi
}

File diff suppressed because it is too large Load Diff

View File

@ -1,914 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: mysql-v2.eclass
# @MAINTAINER:
# Maintainers:
# - MySQL Team <mysql-bugs@gentoo.org>
# - Robin H. Johnson <robbat2@gentoo.org>
# - Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
# - Brian Evans <grknight@gentoo.org>
# @SUPPORTED_EAPIS: 4 5
# @BLURB: This eclass provides most of the functions for mysql ebuilds
# @DESCRIPTION:
# The mysql-v2.eclass is the base eclass to build the mysql and
# alternative projects (mariadb and percona) ebuilds.
# This eclass uses the mysql-autotools and mysql-cmake eclasses for the
# specific bits related to the build system.
# It provides the src_unpack, src_prepare, src_configure, src_compile,
# src_install, pkg_preinst, pkg_postinst, pkg_config and pkg_postrm
# phase hooks.
# @ECLASS-VARIABLE: BUILD
# @DESCRIPTION:
# Build type of the mysql version
: ${BUILD:=autotools}
case ${BUILD} in
"cmake")
BUILD_INHERIT="mysql-cmake"
;;
"autotools")
BUILD_INHERIT="mysql-autotools"
WANT_AUTOCONF="latest"
WANT_AUTOMAKE="latest"
;;
*)
die "${BUILD} is not a valid build system for mysql"
;;
esac
MYSQL_EXTRAS=""
# @ECLASS-VARIABLE: MYSQL_EXTRAS_VER
# @DEFAULT_UNSET
# @DESCRIPTION:
# The version of the MYSQL_EXTRAS repo to use to build mysql
# Use "none" to disable it's use
[[ ${MY_EXTRAS_VER} == "live" ]] && MYSQL_EXTRAS="git-r3"
inherit eutils flag-o-matic ${MYSQL_EXTRAS} ${BUILD_INHERIT} mysql_fx versionator toolchain-funcs user
#
# Supported EAPI versions and export functions
#
case "${EAPI:-0}" in
4|5) ;;
*) die "Unsupported EAPI: ${EAPI}" ;;
esac
EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_install pkg_preinst pkg_postinst pkg_config pkg_postrm
#
# VARIABLES:
#
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
S="${WORKDIR}/mysql"
[[ ${MY_EXTRAS_VER} == "latest" ]] && MY_EXTRAS_VER="20090228-0714Z"
if [[ ${MY_EXTRAS_VER} == "live" ]]; then
EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR=${WORKDIR}/mysql-extras
EGIT_CLONE_TYPE=shallow
fi
# @ECLASS-VARIABLE: MYSQL_PV_MAJOR
# @DESCRIPTION:
# Upstream MySQL considers the first two parts of the version number to be the
# major version. Upgrades that change major version should always run
# mysql_upgrade.
MYSQL_PV_MAJOR="$(get_version_component_range 1-2 ${PV})"
# Cluster is a special case...
if [[ ${PN} == "mysql-cluster" ]]; then
case ${PV} in
6.1*|7.0*|7.1*) MYSQL_PV_MAJOR=5.1 ;;
7.2*) MYSQL_PV_MAJOR=5.5 ;;
7.3*) MYSQL_PV_MAJOR=5.6 ;;
esac
fi
# MariaDB has left the numbering schema but keeping compatibility
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then
case ${PV} in
10.0*|10.1*) MYSQL_PV_MAJOR="5.6" ;;
esac
fi
# @ECLASS-VARIABLE: MYSQL_VERSION_ID
# @DESCRIPTION:
# MYSQL_VERSION_ID will be:
# major * 10e6 + minor * 10e4 + micro * 10e2 + gentoo revision number, all [0..99]
# This is an important part, because many of the choices the MySQL ebuild will do
# depend on this variable.
# In particular, the code below transforms a $PVR like "5.0.18-r3" in "5001803"
# We also strip off upstream's trailing letter that they use to respin tarballs
MYSQL_VERSION_ID=""
tpv="${PV%[a-z]}"
tpv=( ${tpv//[-._]/ } ) ; tpv[3]="${PVR:${#PV}}" ; tpv[3]="${tpv[3]##*-r}"
for vatom in 0 1 2 3 ; do
# pad to length 2
tpv[${vatom}]="00${tpv[${vatom}]}"
MYSQL_VERSION_ID="${MYSQL_VERSION_ID}${tpv[${vatom}]:0-2}"
done
# strip leading "0" (otherwise it's considered an octal number by BASH)
MYSQL_VERSION_ID=${MYSQL_VERSION_ID##"0"}
# This eclass should only be used with at least mysql-5.1.50
mysql_version_is_at_least "5.1.50" || die "This eclass should only be used with >=mysql-5.1.50"
# @ECLASS-VARIABLE: XTRADB_VER
# @DEFAULT_UNSET
# @DESCRIPTION:
# Version of the XTRADB storage engine
# @ECLASS-VARIABLE: PERCONA_VER
# @DEFAULT_UNSET
# @DESCRIPTION:
# Designation by PERCONA for a MySQL version to apply an XTRADB release
# Work out the default SERVER_URI correctly
if [[ -z ${SERVER_URI} ]]; then
[[ -z ${MY_PV} ]] && MY_PV="${PV//_/-}"
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then
# Beginning with 5.5, MariaDB stopped putting beta, alpha or rc on their tarball names
mysql_version_is_at_least "5.5" && MARIA_FULL_PV=$(get_version_component_range 1-3) || \
MARIA_FULL_PV=$(replace_version_separator 3 '-' ${MY_PV})
MARIA_FULL_P="${PN}-${MARIA_FULL_PV}"
SERVER_URI="
http://ftp.osuosl.org/pub/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
http://ftp.osuosl.org/pub/mariadb/${MARIA_FULL_P}/source/${MARIA_FULL_P}.tar.gz
http://mirror.jmu.edu/pub/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
http://mirrors.coreix.net/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
http://mirrors.syringanetworks.net/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
http://mirrors.fe.up.pt/pub/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
http://mirror2.hs-esslingen.de/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
"
if [[ ${PN} == "mariadb-galera" ]]; then
MY_SOURCEDIR="${PN%%-galera}-${MARIA_FULL_PV}"
fi
elif [[ ${PN} == "percona-server" ]]; then
PERCONA_PN="Percona-Server"
MIRROR_PV=$(get_version_component_range 1-2 ${PV})
MY_PV=$(get_version_component_range 1-3 ${PV})
PERCONA_RELEASE=$(get_version_component_range 4-5 ${PV})
PERCONA_RC=$(get_version_component_range 6 ${PV})
SERVER_URI="http://www.percona.com/redir/downloads/${PERCONA_PN}-${MIRROR_PV}/${PERCONA_PN}-${MY_PV}-${PERCONA_RC}${PERCONA_RELEASE}/source/tarball/${PN}-${MY_PV}-${PERCONA_RC}${PERCONA_RELEASE}.tar.gz"
# http://www.percona.com/redir/downloads/Percona-Server-5.5/LATEST/source/tarball/Percona-Server-5.5.30-30.2.tar.gz
# http://www.percona.com/redir/downloads/Percona-Server-5.6/Percona-Server-5.6.13-rc60.5/source/tarball/Percona-Server-5.6.13-rc60.5.tar.gz
else
if [[ "${PN}" == "mysql-cluster" ]] ; then
URI_DIR="MySQL-Cluster"
URI_FILE="mysql-cluster-gpl"
else
URI_DIR="MySQL"
URI_FILE="mysql"
fi
URI_A="${URI_FILE}-${MY_PV}.tar.gz"
MIRROR_PV=$(get_version_component_range 1-2 ${PV})
# Recently upstream switched to an archive site, and not on mirrors
SERVER_URI="http://downloads.mysql.com/archives/${URI_FILE}-${MIRROR_PV}/${URI_A}
https://downloads.skysql.com/files/${URI_FILE}-${MIRROR_PV}/${URI_A}
mirror://mysql/Downloads/${URI_DIR}-${PV%.*}/${URI_A}"
fi
fi
# Define correct SRC_URIs
SRC_URI="${SERVER_URI}"
# Gentoo patches to MySQL
if [[ ${MY_EXTRAS_VER} != "live" && ${MY_EXTRAS_VER} != "none" ]]; then
SRC_URI="${SRC_URI}
mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
fi
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
HOMEPAGE="https://www.mysql.com/"
if [[ ${PN} == "mariadb" ]]; then
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
fi
if [[ ${PN} == "mariadb-galera" ]]; then
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL with Galera Replication"
fi
if [[ ${PN} == "percona-server" ]]; then
HOMEPAGE="https://www.percona.com/software/mysql-database/percona-server"
DESCRIPTION="An enhanced, drop-in replacement for MySQL from the Percona team"
fi
LICENSE="GPL-2"
SLOT="0"
case "${BUILD}" in
"autotools")
IUSE="big-tables debug embedded minimal +perl selinux ssl static test"
;;
"cmake")
IUSE="debug embedded minimal +perl selinux ssl static static-libs test"
;;
esac
# Common IUSE
IUSE="${IUSE} latin1 extraengine cluster max-idx-128 +community profiling"
# This probably could be simplified, but the syntax would have to be just right
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && \
mysql_version_is_at_least "5.5" ; then
IUSE="bindist ${IUSE}"
RESTRICT="${RESTRICT} !bindist? ( bindist )"
elif [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] && \
mysql_check_version_range "5.5.37 to 5.6.11.99" ; then
IUSE="bindist ${IUSE}"
RESTRICT="${RESTRICT} !bindist? ( bindist )"
elif [[ ${PN} == "mysql-cluster" ]] && \
mysql_check_version_range "7.2 to 7.2.99.99" ; then
IUSE="bindist ${IUSE}"
RESTRICT="${RESTRICT} !bindist? ( bindist )"
fi
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then
mysql_check_version_range "5.1.38 to 5.3.99" && IUSE="${IUSE} libevent"
mysql_version_is_at_least "5.2" && IUSE="${IUSE} oqgraph" && \
REQUIRED_USE="${REQUIRED_USE} minimal? ( !oqgraph )"
mysql_version_is_at_least "5.2.5" && IUSE="${IUSE} sphinx" && \
REQUIRED_USE="${REQUIRED_USE} minimal? ( !sphinx )"
mysql_version_is_at_least "5.2.10" && IUSE="${IUSE} pam"
# 5.5.33 and 10.0.5 add TokuDB. Authors strongly recommend jemalloc or perfomance suffers
mysql_version_is_at_least "10.0.5" && IUSE="${IUSE} tokudb odbc xml" && \
REQUIRED_USE="${REQUIRED_USE} odbc? ( extraengine ) xml? ( extraengine ) tokudb? ( jemalloc !tcmalloc )"
mysql_check_version_range "5.5.33 to 5.5.99" && IUSE="${IUSE} tokudb" && \
REQUIRED_USE="${REQUIRED_USE} tokudb? ( jemalloc !tcmalloc )"
fi
if mysql_version_is_at_least "5.5"; then
REQUIRED_USE="${REQUIRED_USE} tcmalloc? ( !jemalloc ) jemalloc? ( !tcmalloc )"
IUSE="${IUSE} jemalloc tcmalloc"
fi
if mysql_version_is_at_least "5.5.7"; then
IUSE="${IUSE} systemtap"
fi
if [[ ${PN} == "percona-server" ]]; then
mysql_version_is_at_least "5.5.10" && IUSE="${IUSE} pam"
fi
REQUIRED_USE="${REQUIRED_USE} minimal? ( !cluster !extraengine !embedded ) static? ( !ssl )"
#
# DEPENDENCIES:
#
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
DEPEND="
ssl? ( >=dev-libs/openssl-0.9.6d:0 )
kernel_linux? ( sys-process/procps )
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
>=sys-libs/zlib-1.2.3
"
# TODO: add this as a dep if it is moved from the overlay
# !dev-db/mariadb-native-client[mysqlcompat]
# dev-db/mysql-5.6.12+ only works with dev-libs/libedit
# This probably could be simplified
if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] && \
mysql_version_is_at_least "5.6.12" ; then
DEPEND="${DEPEND} dev-libs/libedit"
elif [[ ${PN} == "mysql-cluster" ]] && mysql_version_is_at_least "7.3"; then
DEPEND="${DEPEND} dev-libs/libedit"
else
if mysql_version_is_at_least "5.5" ; then
DEPEND="${DEPEND} !bindist? ( >=sys-libs/readline-4.1:0 )"
else
DEPEND="${DEPEND} >=sys-libs/readline-4.1:0"
fi
fi
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
mysql_check_version_range "5.1.38 to 5.3.99" && DEPEND="${DEPEND} libevent? ( >=dev-libs/libevent-1.4 )"
mysql_version_is_at_least "5.2" && DEPEND="${DEPEND} oqgraph? ( >=dev-libs/boost-1.40.0 )"
mysql_version_is_at_least "5.2.10" && DEPEND="${DEPEND} !minimal? ( pam? ( virtual/pam ) )"
# Bug 441700 MariaDB >=5.3 include custom mytop
mysql_version_is_at_least "5.3" && DEPEND="${DEPEND} perl? ( !dev-db/mytop )"
if mysql_version_is_at_least "10.0.5" ; then
DEPEND="${DEPEND}
odbc? ( dev-db/unixODBC )
xml? ( dev-libs/libxml2 )
"
fi
mysql_version_is_at_least "10.0.7" && DEPEND="${DEPEND} oqgraph? ( dev-libs/judy )"
if mysql_version_is_at_least "10.0.9" ; then
DEPEND="${DEPEND} >=dev-libs/libpcre-8.35"
fi
fi
# Having different flavours at the same time is not a good idea
for i in "mysql" "mariadb" "mariadb-galera" "percona-server" "mysql-cluster" ; do
[[ ${i} == ${PN} ]] ||
DEPEND="${DEPEND} !dev-db/${i}"
done
if mysql_version_is_at_least "5.5.7" ; then
DEPEND="${DEPEND}
jemalloc? ( dev-libs/jemalloc[static-libs?] )
tcmalloc? ( dev-util/google-perftools )
>=sys-libs/zlib-1.2.3[static-libs?]
ssl? ( >=dev-libs/openssl-0.9.6d[static-libs?] )
systemtap? ( >=dev-util/systemtap-1.3 )
kernel_linux? ( dev-libs/libaio )
"
fi
if [[ ${PN} == "mysql-cluster" ]] ; then
# TODO: This really should include net-misc/memcached
# but the package does not install the files it seeks.
mysql_version_is_at_least "7.2.3" && \
DEPEND="${DEPEND} dev-libs/libevent"
fi
# prefix: first need to implement something for #196294
RDEPEND="${DEPEND}
!minimal? ( !prefix? ( dev-db/mysql-init-scripts ) )
selinux? ( sec-policy/selinux-mysql )
"
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
# Bug 455016 Add dependencies of mytop
if mysql_version_is_at_least "5.3" ; then
RDEPEND="${RDEPEND}
perl? (
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes
)
"
fi
fi
if [[ ${PN} == "mariadb-galera" ]] ; then
# The wsrep API version must match between the ebuild and sys-cluster/galera.
# This will be indicated by WSREP_REVISION in the ebuild and the first number
# in the version of sys-cluster/galera
RDEPEND="${RDEPEND}
=sys-cluster/galera-${WSREP_REVISION}*
"
fi
if [[ ${PN} == "mysql-cluster" ]] ; then
mysql_version_is_at_least "7.2.9" && RDEPEND="${RDEPEND} java? ( >=virtual/jre-1.6 )" && \
DEPEND="${DEPEND} java? ( >=virtual/jdk-1.6 )"
fi
DEPEND="${DEPEND}
virtual/yacc
"
DEPEND="${DEPEND} static? ( sys-libs/ncurses[static-libs] )"
# compile-time-only
DEPEND="${DEPEND} >=dev-util/cmake-2.4.3"
# compile-time-only
if mysql_version_is_at_least "5.5.8" ; then
DEPEND="${DEPEND} >=dev-util/cmake-2.6.3"
fi
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
# For other stuff to bring us in
PDEPEND="${PDEPEND} ~virtual/mysql-${MYSQL_PV_MAJOR}"
#
# External patches
#
# MariaDB has integrated PBXT until it was dropped in version 5.5.33
# PBXT_VERSION means that we have a PBXT patch for this PV
# PBXT was only introduced after 5.1.12
pbxt_patch_available() {
[[ ${PN} != "mariadb" && ${PN} != "mariadb-galera" && ( -n "${PBXT_VERSION}" ) ]]
return $?
}
pbxt_available() {
pbxt_patch_available || [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && mysql_check_version_range "5.1 to 5.5.32"
return $?
}
# Get the percona tarball if XTRADB_VER and PERCONA_VER are both set
# MariaDB has integrated XtraDB
# XTRADB_VERS means that we have a XTRADB patch for this PV
# XTRADB was only introduced after 5.1.26
xtradb_patch_available() {
[[ ${PN} != "mariadb" && ${PN} != "mariadb-galera"
&& ( -n "${XTRADB_VER}" ) && ( -n "${PERCONA_VER}" ) ]]
return $?
}
if pbxt_patch_available; then
PBXT_P="pbxt-${PBXT_VERSION}"
PBXT_SRC_URI="http://www.primebase.org/download/${PBXT_P}.tar.gz mirror://sourceforge/pbxt/${PBXT_P}.tar.gz"
SRC_URI="${SRC_URI} pbxt? ( ${PBXT_SRC_URI} )"
fi
# PBXT_NEWSTYLE means pbxt is in storage/ and gets enabled as other plugins
# vs. built outside the dir
if pbxt_available; then
IUSE="${IUSE} pbxt"
PBXT_NEWSTYLE=1
REQUIRED_USE="${REQUIRED_USE} pbxt? ( !embedded ) "
fi
if xtradb_patch_available; then
XTRADB_P="percona-xtradb-${XTRADB_VER}"
XTRADB_SRC_URI_COMMON="${PERCONA_VER}/source/${XTRADB_P}.tar.gz"
XTRADB_SRC_B1="http://www.percona.com/"
XTRADB_SRC_B2="${XTRADB_SRC_B1}/percona-builds/"
XTRADB_SRC_URI1="${XTRADB_SRC_B2}/Percona-Server/Percona-Server-${XTRADB_SRC_URI_COMMON}"
XTRADB_SRC_URI2="${XTRADB_SRC_B2}/xtradb/${XTRADB_SRC_URI_COMMON}"
XTRADB_SRC_URI3="${XTRADB_SRC_B1}/${PN}/xtradb/${XTRADB_SRC_URI_COMMON}"
SRC_URI="${SRC_URI} xtradb? ( ${XTRADB_SRC_URI1} ${XTRADB_SRC_URI2} ${XTRADB_SRC_URI3} )"
IUSE="${IUSE} xtradb"
REQUIRED_USE="${REQUIRED_USE} xtradb? ( !embedded ) "
fi
#
# HELPER FUNCTIONS:
#
# @FUNCTION: mysql-v2_disable_test
# @DESCRIPTION:
# Helper function to disable specific tests.
mysql-v2_disable_test() {
${BUILD_INHERIT}_disable_test "$@"
}
# @FUNCTION: mysql-v2_configure_minimal
# @DESCRIPTION:
# Helper function to configure minimal build
configure_minimal() {
${BUILD_INHERIT}_configure_minimal "$@"
}
# @FUNCTION: mysql-v2_configure_common
# @DESCRIPTION:
# Helper function to configure common builds
configure_common() {
${BUILD_INHERIT}_configure_common "$@"
}
#
# EBUILD FUNCTIONS
#
# @FUNCTION: mysql-v2_pkg_setup
# @DESCRIPTION:
# Perform some basic tests and tasks during pkg_setup phase:
# die if FEATURES="test", USE="-minimal" and not using FEATURES="userpriv"
# check for conflicting use flags
# create new user and group for mysql
# warn about deprecated features
mysql-v2_pkg_setup() {
if has test ${FEATURES} ; then
if ! use minimal ; then
if ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
fi
fi
# Check for USE flag problems in pkg_setup
if ! mysql_version_is_at_least "5.2" && use debug ; then
# Also in package.use.mask
die "Bug #344885: Upstream has broken USE=debug for 5.1 series >=5.1.51"
fi
# This should come after all of the die statements
enewgroup mysql 60 || die "problem adding 'mysql' group"
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
if use cluster && [[ "${PN}" != "mysql-cluster" ]]; then
ewarn "Upstream has noted that the NDB cluster support in the 5.0 and"
ewarn "5.1 series should NOT be put into production. In the near"
ewarn "future, it will be disabled from building."
fi
if [[ ${PN} == "mysql-cluster" ]] ; then
mysql_version_is_at_least "7.2.9" && java-pkg-opt-2_pkg_setup
fi
if use_if_iuse tokudb && [[ $(gcc-major-version) -lt 4 || $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 7 ]] ; then
eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
die
fi
}
# @FUNCTION: mysql-v2_src_unpack
# @DESCRIPTION:
# Unpack the source code
mysql-v2_src_unpack() {
# Initialize the proper variables first
mysql_init_vars
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR}/${MY_SOURCEDIR}" "${S}"
}
# @FUNCTION: mysql-v2_src_prepare
# @DESCRIPTION:
# Apply patches to the source code and remove unneeded bundled libs.
mysql-v2_src_prepare() {
${BUILD_INHERIT}_src_prepare "$@"
if [[ ${PN} == "mysql-cluster" ]] ; then
mysql_version_is_at_least "7.2.9" && java-pkg-opt-2_src_prepare
fi
}
# @FUNCTION: mysql-v2_src_configure
# @DESCRIPTION:
# Configure mysql to build the code for Gentoo respecting the use flags.
mysql-v2_src_configure() {
${BUILD_INHERIT}_src_configure "$@"
}
# @FUNCTION: mysql-v2_src_compile
# @DESCRIPTION:
# Compile the mysql code.
mysql-v2_src_compile() {
${BUILD_INHERIT}_src_compile "$@"
}
# @FUNCTION: mysql-v2_src_install
# @DESCRIPTION:
# Install mysql.
mysql-v2_src_install() {
${BUILD_INHERIT}_src_install "$@"
}
# @FUNCTION: mysql-v2_pkg_preinst
# @DESCRIPTION:
# Create the user and groups for mysql - die if that fails.
mysql-v2_pkg_preinst() {
if [[ ${PN} == "mysql-cluster" ]] ; then
mysql_version_is_at_least "7.2.9" && java-pkg-opt-2_pkg_preinst
fi
enewgroup mysql 60 || die "problem adding 'mysql' group"
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
}
# @FUNCTION: mysql-v2_pkg_postinst
# @DESCRIPTION:
# Run post-installation tasks:
# create the dir for logfiles if non-existant
# touch the logfiles and secure them
# install scripts
# issue required steps for optional features
# issue deprecation warnings
mysql-v2_pkg_postinst() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Create log directory securely if it does not exist
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
# Minimal builds don't have the MySQL server
if ! use minimal ; then
docinto "support-files"
for script in \
support-files/my-*.cnf \
support-files/magic \
support-files/ndb-config-2-node.ini
do
[[ -f "${script}" ]] \
&& dodoc "${script}"
done
docinto "scripts"
for script in scripts/mysql* ; do
if [[ -f "${script}" && "${script%.sh}" == "${script}" ]]; then
dodoc "${script}"
fi
done
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
if use_if_iuse pam ; then
einfo
elog "This install includes the PAM authentication plugin."
elog "To activate and configure the PAM plugin, please read:"
elog "https://kb.askmonty.org/en/pam-authentication-plugin/"
einfo
fi
fi
einfo
elog "You might want to run:"
elog "\"emerge --config =${CATEGORY}/${PF}\""
elog "if this is a new install."
einfo
einfo
elog "If you are upgrading major versions, you should run the"
elog "mysql_upgrade tool."
einfo
if [[ ${PN} == "mariadb-galera" ]] ; then
einfo
elog "Be sure to edit the my.cnf file to activate your cluster settings."
elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
elog "The first time the cluster is activated, you should add"
elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
elog "This option should then be removed for subsequent starts."
einfo
fi
fi
if use_if_iuse pbxt ; then
elog "Note: PBXT is now statically built when enabled."
elog ""
elog "If, you previously installed as a plugin and "
elog "you cannot start the MySQL server,"
elog "remove the ${MY_DATADIR}/mysql/plugin.* files, then"
elog "use the MySQL upgrade script to restore the table"
elog "or execute the following SQL command:"
elog " CREATE TABLE IF NOT EXISTS plugin ("
elog " name char(64) binary DEFAULT '' NOT NULL,"
elog " dl char(128) DEFAULT '' NOT NULL,"
elog " PRIMARY KEY (name)"
elog " ) CHARACTER SET utf8 COLLATE utf8_bin;"
fi
}
# @FUNCTION: mysql-v2_getopt
# @DESCRIPTION:
# Use my_print_defaults to extract specific config options
mysql-v2_getopt() {
local mypd="${EROOT}"/usr/bin/my_print_defaults
section="$1"
flag="--${2}="
"${mypd}" $section | sed -n "/^${flag}/p"
}
# @FUNCTION: mysql-v2_getoptval
# @DESCRIPTION:
# Use my_print_defaults to extract specific config options
mysql-v2_getoptval() {
local mypd="${EROOT}"/usr/bin/my_print_defaults
section="$1"
flag="--${2}="
"${mypd}" $section | sed -n "/^${flag}/s,${flag},,gp"
}
# @FUNCTION: mysql-v2_pkg_config
# @DESCRIPTION:
# Configure mysql environment.
mysql-v2_pkg_config() {
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
# my_print_defaults needs to read stuff in $HOME/.my.cnf
export HOME=${EPREFIX}/root
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%%/}"
local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
else
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|| die "Moving MY_DATADIR failed"
fi
else
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Attempting to use ${MY_DATADIR_s}"
else
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
fi
fi
fi
local pwd1="a"
local pwd2="b"
local maxtry=15
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
MYSQL_ROOT_PASSWORD="$(mysql-v2_getoptval 'client mysql' password)"
fi
MYSQL_TMPDIR="$(mysql-v2_getoptval mysqld tmpdir)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(mysql-v2_getoptval mysqld relay-log)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(mysql-v2_getoptval mysqld log-bin)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
if [[ ! -d "${ROOT}"/$MYSQL_TMPDIR ]]; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${ROOT}"/$MYSQL_TMPDIR
fi
if [[ ! -d "${ROOT}"/$MYSQL_LOG_BIN ]]; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
install -d -m 770 -o mysql -g mysql "${ROOT}"/$MYSQL_LOG_BIN
fi
if [[ ! -d "${EROOT}"/$MYSQL_RELAY_LOG ]]; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
install -d -m 770 -o mysql -g mysql "${EROOT}"/$MYSQL_RELAY_LOG
fi
if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
ewarn "(${ROOT}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
einfo "Please provide a password for the mysql 'root' user now, in the"
einfo "MYSQL_ROOT_PASSWORD env var or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
read -rsp " >" pwd1 ; echo
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
fi
local options
local sqltmp="$(emktemp)"
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
# see http://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} --defaults-file=${MY_SYSCONFDIR}/my.cnf"
local help_tables="${ROOT}${MY_SHAREDSTATEDIR}/fill_help_tables.sql"
[[ -r "${help_tables}" ]] \
&& cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \
|| touch "${TMPDIR}/fill_help_tables.sql"
help_tables="${TMPDIR}/fill_help_tables.sql"
# Figure out which options we need to disable to do the setup
helpfile="${TMPDIR}/mysqld-help"
${EROOT}/usr/sbin/mysqld --verbose --help >"${helpfile}" 2>/dev/null
for opt in grant-tables host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
ndbcluster log-slave-updates wsrep-on \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
done
# But some options changed names
egrep -sq external-locking "${helpfile}" && \
options="${options/skip-locking/skip-external-locking}"
# MySQL 5.6+ needs InnoDB
if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] ; then
mysql_version_is_at_least "5.6" || options="${options} --loose-skip-innodb"
fi
einfo "Creating the mysql database and setting proper permissions on it ..."
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]]; then
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
fi
if [[ ! -d "${MY_DATADIR}" ]]; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
pushd "${TMPDIR}" &>/dev/null || die
#cmd="'${EROOT}/usr/share/mysql/scripts/mysql_install_db' '--basedir=${EPREFIX}/usr' ${options}"
cmd=${EROOT}usr/share/mysql/scripts/mysql_install_db
[[ -f ${cmd} ]] || cmd=${EROOT}usr/bin/mysql_install_db
cmd="'$cmd' '--basedir=${EPREFIX}/usr' ${options} '--datadir=${ROOT}/${MY_DATADIR}' '--tmpdir=${ROOT}/${MYSQL_TMPDIR}'"
einfo "Command: $cmd"
su -s /bin/sh -c "${cmd}" mysql \
>"${TMPDIR}"/mysql_install_db.log 2>&1
if [ $? -ne 0 ]; then
grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
die "Failed to run mysql_install_db. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
fi
popd &>/dev/null || die
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
# Filling timezones, see
# http://dev.mysql.com/doc/mysql/en/time-zone-support.html
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
if [[ -r "${help_tables}" ]] ; then
cat "${help_tables}" >> "${sqltmp}"
fi
local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
local mysqld="${EROOT}/usr/sbin/mysqld \
${options} \
$(use prefix || echo --user=mysql) \
--log-warnings=0 \
--basedir=${EROOT}/usr \
--datadir=${ROOT}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--default-storage-engine=MyISAM \
--socket=${socket} \
--pid-file=${pidfile}
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
#einfo "About to start mysqld: ${mysqld}"
ebegin "Starting mysqld"
einfo "Command ${mysqld}"
${mysqld} &
rc=$?
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
eend $rc
if ! [[ -S "${socket}" ]]; then
die "Completely failed to start up mysqld with: ${mysqld}"
fi
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
"${EROOT}/usr/bin/mysql" \
--socket=${socket} \
-hlocalhost \
-e "${sql}"
eend $?
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
"${EROOT}/usr/bin/mysql" \
--socket=${socket} \
-hlocalhost \
-uroot \
--password="${MYSQL_ROOT_PASSWORD}" \
mysql < "${sqltmp}"
rc=$?
eend $?
[[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
}
# @FUNCTION: mysql-v2_pkg_postrm
# @DESCRIPTION:
# Remove mysql symlinks.
mysql-v2_pkg_postrm() {
: # mysql_lib_symlinks "${ED}"
}

View File

@ -1,320 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# DEPRECATED
# Recent versions have begun deprecating this eclass.
# Do not use it in new series.
# @ECLASS: mysql_fx.eclass
# @MAINTAINER:
# - MySQL Team <mysql-bugs@gentoo.org>
# - Luca Longinotti <chtekk@gentoo.org>
# @AUTHOR: Francesco Riosa (Retired) <vivo@gentoo.org>
# @BLURB: This eclass provides some helper functions for mysql ebuilds
# @DESCRIPTION:
# This eclass providers helpers to build mysql servers including patching
# from an index and initializing certain variables as part of the build.
inherit multilib
# @FUNCTION: stripdots
# @DESCRIPTION:
# Helper function, version (integer) may have sections separated by dots
# for readability.
stripdots() {
local dotver=${1:-"0"}
local v=""
local ret=0
if [[ "${dotver/./}" != "${dotver}" ]] ; then
# dotted version number
for i in 1000000 10000 100 1 ; do
v=${dotver%%\.*}
# remove leading zeroes
while [[ ${#v} -gt 1 ]] && [[ ${v:0:1} == "0" ]] ; do v=${v#0} ; done
# increment integer version number
ret=$(( ${v} * ${i} + ${ret} ))
if [[ "${dotver}" == "${dotver/\.}" ]] ; then
dotver=0
else
dotver=${dotver#*\.}
fi
done
echo "${ret}"
else
# already an integer
v=${dotver}
while [[ ${#v} -gt 1 ]] && [[ ${v:0:1} == "0" ]] ; do v=${v#0} ; done
echo "${v}"
fi
}
# @FUNCTION: mysql_check_version_range
# @DESCRIPTION:
# Check if a version number falls inside a given range.
# The range includes the extremes and must be specified as
# "low_version to high_version" i.e. "4.1.2 to 5.1.99.99".
# Returns true if inside the range.
mysql_check_version_range() {
local lbound="${1%% to *}" ; lbound=$(stripdots "${lbound}")
local rbound="${1#* to }" ; rbound=$(stripdots "${rbound}")
local my_ver="${2:-"${MYSQL_VERSION_ID}"}"
[[ ${lbound} -le ${my_ver} ]] && [[ ${my_ver} -le ${rbound} ]] && return 0
return 1
}
# @FUNCTION: _mysql_test_patch_ver_pn
# @INTERNAL
# @DESCRIPTION:
# True if at least one applicable range is found for the patch.
_mysql_test_patch_ver_pn() {
local allelements=", version, package name"
# So that it fails the directory test if none of them exist
local filesdir="/dev/null"
for d in "${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" \
"${WORKDIR}/mysql-extras" ; do
if [ -d "${d}" ]; then
filesdir="${d}"
break
fi
done
[[ -d "${filesdir}" ]] || die "Source dir must be a directory"
local flags=$1 pname=$2
if [[ $(( $flags & $(( 1 + 4 + 16 )) )) -eq 21 ]] ; then
einfo "using '${pname}'"
ln -sf "${filesdir}/${pname}" "${EPATCH_SOURCE}" || die "Couldn't move ${pname}"
return 0
fi
[[ $(( $flags & $(( 2 + 4 )) )) -gt 0 ]] \
&& allelements="${allelements//", version"}"
[[ $(( $flags & $(( 8 + 16 )) )) -gt 0 ]] \
&& allelements="${allelements//", package name"}"
[[ -n "${allelements}" ]] && [[ "${flags}" -gt 0 ]] \
&& ewarn "QA notice: ${allelements} missing in ${pname} patch"
return 1
}
# @FUNCTION: mysql_mv_patches
# @DESCRIPTION:
# Parse a "index_file" looking for patches to apply to the
# current MySQL version.
# If the patch applies, print its description.
#
mysql_mv_patches() {
# So that it fails the directory test if none of them exist
local filesdir="/dev/null"
if [[ -z "${1}" ]]; then
for d in "${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" \
"${WORKDIR}/mysql-extras" ; do
if [ -d "${d}" ]; then
filesdir="${d}"
break
fi
done
[[ -d "${filesdir}" ]] || die "No patches directory found!"
fi
for i in "$1" "${filesdir}/0000_index.txt" "${filesdir}/000_index.txt" ; do
if [ -n "$i" -a -f "$i" ]; then
local index_file="$i"
break
fi
done
local my_ver="${2:-"${MYSQL_VERSION_ID}"}"
local my_test_fx=${3:-"_mysql_test_patch_ver_pn"}
_mysql_mv_patches "${index_file}" "${my_ver}" "${my_test_fx}"
}
# @FUNCTION: _mysql_mv_patches
# @INTERNAL
_mysql_mv_patches() {
local index_file="${1}"
local my_ver="${2}"
local my_test_fx="${3}"
local dsc ndsc=0 i
dsc=( )
# Values for flags are (2^x):
# 1 - one patch found
# 2 - at least one version range is wrong
# 4 - at least one version range is ok
# 8 - at least one ${PN} did not match
# 16 - at least one ${PN} has been matched
local flags=0 pname=""
while read row ; do
case "${row}" in
@patch\ *)
[[ -n "${pname}" ]] \
&& ${my_test_fx} ${flags} "${pname}" \
&& for (( i=0 ; $i < $ndsc ; i++ )) ; do einfo "> ${dsc[$i]}" ; done
flags=1 ; ndsc=0 ; dsc=( )
pname=${row#"@patch "}
;;
@ver\ *)
if mysql_check_version_range "${row#"@ver "}" "${my_ver}" ; then
flags=$(( ${flags} | 4 ))
else
flags=$(( ${flags} | 2 ))
fi
;;
@pn\ *)
if [[ ${row#"@pn "} == "${PN}" ]] ; then
flags=$(( ${flags} | 16 ))
else
flags=$(( ${flags} | 8 ))
fi
;;
# @use\ *) ;;
@@\ *)
dsc[$ndsc]="${row#"@@ "}"
(( ++ndsc ))
;;
esac
done < "${index_file}"
${my_test_fx} ${flags} "${pname}" \
&& for (( i=0 ; $i < $ndsc ; i++ )) ; do einfo "> ${dsc[$i]}" ; done
}
# @FUNCTION: mysql_version_is_at_least
# @DESCRIPTION:
# Is $2 (defaults to $MYSQL_VERSION_ID) at least version $1?
# (nice) idea from versionator.eclass
#
mysql_version_is_at_least() {
local want_s=$(stripdots "$1") have_s=$(stripdots "${2:-${MYSQL_VERSION_ID}}")
[[ -z "${want_s}" ]] && die "mysql_version_is_at_least missing value to check"
[[ ${want_s} -le ${have_s} ]] && return 0 || return 1
}
# @FUNCTION: mysql_lib_symlinks
# @DESCRIPTION:
# To be called on the live filesystem, reassigning symlinks of each MySQL
# library to the best version available. (Obsolete)
#
mysql_lib_symlinks() {
local d dirlist maxdots libname libnameln libsuffix reldir
libsuffix=$(get_libname)
einfo "libsuffix = ${libsuffix}"
einfo "Updating MySQL libraries symlinks"
reldir="${1}"
pushd "${reldir}/usr/$(get_libdir)" &> /dev/null
# dirlist must contain the less significative directory left
dirlist="mysql"
# waste some time in removing and recreating symlinks
for d in $dirlist ; do
for libname in $( find "${d}" -mindepth 1 -maxdepth 1 -name "*${libsuffix}*" -and -not -type "l" 2>/dev/null ) ; do
# maxdot is a limit versus infinite loop
maxdots=0
libnameln=${libname##*/}
# loop in version of the library to link it, similar to how
# libtool works
if [[ ${CHOST} == *-darwin* ]] ; then
# macho: libname.x.y.z.dylib
local libbasename=${libnameln%%.*} # libname
local libver=${libnameln#${libbasename}} # .x.y.z.dylib
libver=${libver%${libsuffix}} # .x.y.z
while [[ -n ${libver} ]] && [[ ${maxdots} -lt 6 ]] ; do
libnameln="${libbasename}${libver}${libsuffix}"
rm -f "${libnameln}"
ln -s "${libname}" "${libnameln}"
(( ++maxdots ))
libver=${libver%.*}
done
libnameln="${libbasename}${libsuffix}"
rm -f "${libnameln}"
ln -s "${libname}" "${libnameln}"
else
# elf: libname.so.x.y.z
while [[ ${libnameln:0-3} != '${libsuffix}' ]] && [[ ${maxdots} -lt 6 ]] ; do
rm -f "${libnameln}"
ln -s "${libname}" "${libnameln}"
(( ++maxdots ))
libnameln="${libnameln%.*}"
done
rm -f "${libnameln}"
ln -s "${libname}" "${libnameln}"
fi
done
done
popd &> /dev/null
}
# @FUNCTION: mysql_init_vars
# @DESCRIPTION:
# void mysql_init_vars()
# Initialize global variables
# 2005-11-19 <vivo@gentoo.org>
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
MY_INCLUDEDIR=${MY_INCLUDEDIR="${EPREFIX}/usr/include/mysql"}
MY_LIBDIR=${MY_LIBDIR="${EPREFIX}/usr/$(get_libdir)/mysql"}
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR=""
if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
| sed -ne '/datadir/s|^--datadir=||p' \
| tail -n1`
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
| sed -e 's/.*=\s*//' \
| tail -n1`
fi
fi
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR="${MY_LOCALSTATEDIR}"
einfo "Using default MY_DATADIR"
fi
elog "MySQL MY_DATADIR is ${MY_DATADIR}"
if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
if [[ -e "${MY_DATADIR}" ]] ; then
# If you get this and you're wondering about it, see bug #207636
elog "MySQL datadir found in ${MY_DATADIR}"
elog "A new one will not be created."
PREVIOUS_DATADIR="yes"
else
PREVIOUS_DATADIR="no"
fi
export PREVIOUS_DATADIR
fi
else
if [[ ${EBUILD_PHASE} == "config" ]]; then
local new_MY_DATADIR
new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
| sed -ne '/datadir/s|^--datadir=||p' \
| tail -n1`
if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
ewarn "MySQL MY_DATADIR has changed"
ewarn "from ${MY_DATADIR}"
ewarn "to ${new_MY_DATADIR}"
MY_DATADIR="${new_MY_DATADIR}"
fi
fi
fi
if [ "${MY_SOURCEDIR:-unset}" == "unset" ]; then
MY_SOURCEDIR=${SERVER_URI##*/}
MY_SOURCEDIR=${MY_SOURCEDIR%.tar*}
fi
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
export MY_LIBDIR MY_LOCALSTATEDIR MY_LOGDIR
export MY_INCLUDEDIR MY_DATADIR MY_SOURCEDIR
}

View File

@ -1,22 +1,23 @@
# Copyright 1999-2013 Gentoo Foundation
# Copyright 1999-2019 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: office-ext-r1.eclass
# @MAINTAINER:
# The office team <openoffice@gentoo.org>
# The office team <office@gentoo.org>
# @AUTHOR:
# Tomáš Chvátal <scarabeus@gentoo.org>
# @SUPPORTED_EAPIS: 5 6
# @SUPPORTED_EAPIS: 5 6 7
# @BLURB: Eclass for installing libreoffice/openoffice extensions
# @DESCRIPTION:
# Eclass for easing maintenance of libreoffice/openoffice extensions.
case "${EAPI:-0}" in
5|6) OEXT_EXPORTED_FUNCTIONS="src_unpack src_install pkg_postinst pkg_prerm" ;;
5|6) inherit eutils multilib ;;
7) ;;
*) die "EAPI=${EAPI} is not supported" ;;
esac
inherit eutils multilib
OEXT_EXPORTED_FUNCTIONS="src_unpack src_install pkg_postinst pkg_prerm"
# @ECLASS-VARIABLE: OFFICE_REQ_USE
# @DESCRIPTION:
@ -183,7 +184,7 @@ office-ext-r1_add_extension() {
"-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1"
eend $?
${UNOPKG_BINARY} list --shared > /dev/null
rm -rf "${tmpdir}"
rm -r "${tmpdir}" || dir "failed to clean up"
}
# @FUNCTION: office-ext-r1_remove_extension
@ -202,7 +203,7 @@ office-ext-r1_remove_extension() {
"-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1"
eend $?
${UNOPKG_BINARY} list --shared > /dev/null
rm -rf "${tmpdir}"
rm -r "${tmpdir}" || dir "failed to clean up"
}
# @FUNCTION: office-ext-r1_pkg_postinst

View File

@ -13,8 +13,8 @@
# src_install for opam-based packages.
case ${EAPI:-0} in
0|1|2|3|4) die "You need at least EAPI-5 to use opam.eclass";;
*) ;;
5|6|7) ;;
*) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
esac
RDEPEND=">=dev-lang/ocaml-4:="
@ -30,10 +30,10 @@ opam-install() {
local pkg
for pkg ; do
opam-installer -i \
--prefix="${ED}usr" \
--libdir="${D}$(ocamlc -where)" \
--docdir="${ED}usr/share/doc/${PF}" \
--mandir="${ED}usr/share/man" \
--prefix="${ED%/}/usr" \
--libdir="${D%/}/$(ocamlc -where)" \
--docdir="${ED%/}/usr/share/doc/${PF}" \
--mandir="${ED%/}/usr/share/man" \
"${pkg}.install" || die
done
}
@ -42,9 +42,9 @@ opam_src_install() {
local pkg="${1:-${PN}}"
opam-install "${pkg}"
# Handle opam putting doc in a subdir
if [ -d "${ED}usr/share/doc/${PF}/${pkg}" ] ; then
mv "${ED}usr/share/doc/${PF}/${pkg}/"* "${ED}usr/share/doc/${PF}/" || die
rmdir "${ED}usr/share/doc/${PF}/${pkg}" || die
if [ -d "${ED%/}/usr/share/doc/${PF}/${pkg}" ] ; then
mv "${ED%/}/usr/share/doc/${PF}/${pkg}/"* "${ED%/}/usr/share/doc/${PF}/" || die
rmdir "${ED%/}/usr/share/doc/${PF}/${pkg}" || die
fi
}

Some files were not shown because too many files have changed in this diff Show More