Sync with portage [Sat May 23 17:08:16 MSK 2020].

develop
root 4 years ago
parent 77d882bb28
commit d6f33e3661

Binary file not shown.

Binary file not shown.

@ -1 +0,0 @@
DIST bup-0.29.2.tar.gz 389145 BLAKE2B 1a54cb68b2c68ecf4902a7f1ee940711b62e413c69d17ba1515f24e115484bac1b4919947f2214ffff784389839f633fbb13dea69c186246426e57c33a148c4c SHA512 10c433d6779b1fd7e1935c587676492d96a330dc3280556332bb55b6e5c62de8631fd755d07d2eaf80cb9fa209dc25b241d5ecf3a6fe2b8210a3d0e1ce4fa4bf

@ -1,58 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit python-single-r1
DESCRIPTION="A highly efficient backup system based on the git packfile format"
HOMEPAGE="https://bup.github.io/ https://github.com/bup/bup"
SRC_URI="https://github.com/bup/bup/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+doc test web"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
app-arch/par2cmdline
sys-libs/readline:0
dev-vcs/git
$(python_gen_cond_dep '
dev-python/fuse-python[${PYTHON_MULTI_USEDEP}]
dev-python/pylibacl[${PYTHON_MULTI_USEDEP}]
dev-python/pyxattr[${PYTHON_MULTI_USEDEP}]
web? ( www-servers/tornado[${PYTHON_MULTI_USEDEP}] )
')"
DEPEND="${RDEPEND}
test? (
dev-lang/perl
net-misc/rsync
)
doc? ( app-text/pandoc )
"
# unresolved sandbox issues
RESTRICT="test"
PATCHES=( "${FILESDIR}"/${P}-sitedir.patch )
src_configure() {
# only build/install docs if enabled
export PANDOC=$(usex doc pandoc "")
./configure || die
}
src_test() {
emake test
}
src_install() {
emake DESTDIR="${D}" PREFIX=/usr DOCDIR="/usr/share/${PF}" \
SITEDIR="$(python_get_sitedir)" install
python_fix_shebang "${ED}"
python_optimize "${ED}"
}

@ -1,38 +0,0 @@
--- bup-0.29.2/Makefile
+++ bup-0.29.2/Makefile
@@ -25,7 +25,7 @@
os := $(shell ($(pf); uname | sed 's/[-_].*//') $(isok))
os := $(call shout,$(os),Unable to determine OS)
-CFLAGS := -Wall -O2 -Werror -Wno-unknown-pragmas $(PYINCLUDE) $(CFLAGS)
+CFLAGS := -Wall -Wno-unknown-pragmas $(PYINCLUDE) $(CFLAGS)
CFLAGS := -D_FILE_OFFSET_BITS=64 $(CFLAGS)
SOEXT:=.so
@@ -93,10 +93,11 @@
dest_docdir := $(DESTDIR)$(DOCDIR)
dest_bindir := $(DESTDIR)$(BINDIR)
dest_libdir := $(DESTDIR)$(LIBDIR)
+dest_sitedir := $(DESTDIR)$(SITEDIR)
install: all
- $(INSTALL) -d $(dest_bindir) \
- $(dest_libdir)/bup $(dest_libdir)/cmd \
+ $(INSTALL) -d $(dest_bindir) $(dest_libdir) \
+ $(dest_sitedir)/bup $(dest_libdir)/cmd \
$(dest_libdir)/web $(dest_libdir)/web/static
test -z "$(man_roff)" || install -d $(dest_mandir)/man1
test -z "$(man_roff)" || $(INSTALL) -m 0644 $(man_roff) $(dest_mandir)/man1
@@ -109,10 +110,10 @@
done
$(INSTALL) -pm 0644 \
lib/bup/*.py \
- $(dest_libdir)/bup
+ $(dest_sitedir)/bup
$(INSTALL) -pm 0755 \
lib/bup/*$(SOEXT) \
- $(dest_libdir)/bup
+ $(dest_sitedir)/bup
$(INSTALL) -pm 0644 \
lib/web/static/* \
$(dest_libdir)/web/static/

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<use>
<flag name="web">Support browsing backups via a web interface</flag>
</use>
<upstream>
<remote-id type="github">bup/bup</remote-id>
</upstream>
</pkgmetadata>

@ -1 +0,0 @@
DIST kup-0.7.3.tar.gz 1024916 BLAKE2B aab2a1c58bc7feb6cc734a61385841b9c9b47995ba0c7e66b0596ddd7ae77b2a2b750f23f452e591c609f4a59a894815f8cfcb82c8bc266769b6e908463c009c SHA512 62609eb3c9a873045a9f02d22be5413f73f909e77d82f287ff5b2f816d2d6930a8d8ca77537a52189a98fe11441eb10f5530dfdab02ed0c09b53a2c4b5b4be80

@ -1,140 +0,0 @@
From 2ca19e917f895e24a5379be669b9ad77ff5692f5 Mon Sep 17 00:00:00 2001
From: Simon Persson <simon.persson@mykolab.com>
Date: Mon, 16 Mar 2020 17:03:33 +0800
Subject: Remove copy of libgit2
API seems to have stabilized a lot, such that different distros can be
expected to have a compatible version.
---
CMakeLists.txt | 13 +-
filedigger/CMakeLists.txt | 2 +-
filedigger/main.cpp | 12 -
kioslave/CMakeLists.txt | 2 +-
kioslave/bupslave.cpp | 8 -
From ee720980113162c019eecabc01dfa5763cfb7585 Mon Sep 17 00:00:00 2001
From: Adriaan de Groot <groot@kde.org>
Date: Mon, 6 Apr 2020 23:06:53 +0200
Subject: Link to libgit2 via imported target
---
filedigger/CMakeLists.txt | 2 +-
kioslave/CMakeLists.txt | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2118193..76a1367 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,18 +6,7 @@ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
project(kup)
-# Use this option if you want to use the system LibGit2 library.
-# This is not recommended unless you know what you are doing.
-option(USE_SYSTEM_LIBGIT2 "Don't set this option unless your are sure that your system version of LibGit2 library is fully compatible with Kup." OFF)
-if (USE_SYSTEM_LIBGIT2)
- find_package(LibGit2 REQUIRED)
- set(libgit_link_name git2)
-else (USE_SYSTEM_LIBGIT2)
- set(BUILD_SHARED_LIBS ON)
- add_subdirectory(libgit2-0.19.0)
- include_directories(${CMAKE_SOURCE_DIR}/libgit2-0.19.0/include)
- set(libgit_link_name git24kup)
-endif (USE_SYSTEM_LIBGIT2)
+find_package(LibGit2 REQUIRED)
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug" OR "${CMAKE_BUILD_TYPE}" STREQUAL "DebugFull")
message(WARNING "enabling debug output!")
diff --git a/filedigger/CMakeLists.txt b/filedigger/CMakeLists.txt
index 2fcdd82..fd6a3a0 100644
--- a/filedigger/CMakeLists.txt
+++ b/filedigger/CMakeLists.txt
@@ -37,7 +37,7 @@ KF5::I18n
KF5::I18n
KF5::IconThemes
KF5::JobWidgets
-${libgit_link_name}
+LibGit2::LibGit2
)
########### install files ###############
diff --git a/filedigger/main.cpp b/filedigger/main.cpp
index 6682985..43fe9ae 100644
--- a/filedigger/main.cpp
+++ b/filedigger/main.cpp
@@ -21,11 +21,7 @@
#include "filedigger.h"
#include "mergedvfs.h"
-#if LIBGIT2_VER_MAJOR == 0 && LIBGIT2_VER_MINOR >= 24
#include <git2/global.h>
-#else
-#include <git2/threads.h>
-#endif
#include <KAboutData>
#include <KLocalizedString>
@@ -66,19 +62,11 @@ int main(int pArgCount, char **pArgArray) {
}
// This needs to be called first thing, before any other calls to libgit2.
- #if LIBGIT2_VER_MAJOR == 0 && LIBGIT2_VER_MINOR >= 24
git_libgit2_init();
- #else
- git_threads_init();
- #endif
FileDigger *lFileDigger = new FileDigger(lRepoPath, lParser.value(QStringLiteral("branch")));
lFileDigger->show();
int lRetVal = lApp.exec();
- #if LIBGIT2_VER_MAJOR == 0 && LIBGIT2_VER_MINOR >= 24
git_libgit2_shutdown();
- #else
- git_threads_shutdown();
- #endif
return lRetVal;
}
diff --git a/kioslave/CMakeLists.txt b/kioslave/CMakeLists.txt
index 7187f33..83e6122 100644
--- a/kioslave/CMakeLists.txt
+++ b/kioslave/CMakeLists.txt
@@ -17,7 +17,7 @@ target_link_libraries(kio_bup
Qt5::Core
KF5::KIOCore
KF5::I18n
-${libgit_link_name}
+LibGit2::LibGit2
)
install(TARGETS kio_bup DESTINATION ${PLUGIN_INSTALL_DIR})
diff --git a/kioslave/bupslave.cpp b/kioslave/bupslave.cpp
index 1a7e1a3..0812658 100644
--- a/kioslave/bupslave.cpp
+++ b/kioslave/bupslave.cpp
@@ -64,22 +64,14 @@ BupSlave::BupSlave(const QByteArray &pPoolSocket, const QByteArray &pAppSocket)
{
mRepository = nullptr;
mOpenFile = nullptr;
- #if LIBGIT2_VER_MAJOR == 0 && LIBGIT2_VER_MINOR >= 24
git_libgit2_init();
- #else
- git_threads_init();
- #endif
}
BupSlave::~BupSlave() {
if(mRepository != nullptr) {
delete mRepository;
}
- #if LIBGIT2_VER_MAJOR == 0 && LIBGIT2_VER_MINOR >= 24
git_libgit2_shutdown();
- #else
- git_threads_shutdown();
- #endif
}
void BupSlave::close() {
--
cgit v1.1

@ -1,57 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
ECM_HANDBOOK="forceoptional"
KFMIN=5.60.0
QTMIN=5.12.3
inherit ecm kde.org
DESCRIPTION="Backup scheduler for KDE's Plasma desktop"
HOMEPAGE="https://www.linux-apps.com/p/1127689"
SRC_URI="https://github.com/spersson/${PN^}/archive/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="5"
KEYWORDS="~amd64"
IUSE=""
DEPEND="
dev-libs/libgit2:=
>=dev-qt/qtdbus-${QTMIN}:5
>=dev-qt/qtgui-${QTMIN}:5
>=dev-qt/qtnetwork-${QTMIN}:5
>=dev-qt/qtwidgets-${QTMIN}:5
>=kde-frameworks/kcompletion-${KFMIN}:5
>=kde-frameworks/kconfig-${KFMIN}:5
>=kde-frameworks/kconfigwidgets-${KFMIN}:5
>=kde-frameworks/kcoreaddons-${KFMIN}:5
>=kde-frameworks/kdbusaddons-${KFMIN}:5
>=kde-frameworks/ki18n-${KFMIN}:5
>=kde-frameworks/kiconthemes-${KFMIN}:5
>=kde-frameworks/kidletime-${KFMIN}:5
>=kde-frameworks/kinit-${KFMIN}:5
>=kde-frameworks/kio-${KFMIN}:5
>=kde-frameworks/kjobwidgets-${KFMIN}:5
>=kde-frameworks/knotifications-${KFMIN}:5
>=kde-frameworks/kwidgetsaddons-${KFMIN}:5
>=kde-frameworks/kxmlgui-${KFMIN}:5
>=kde-frameworks/plasma-${KFMIN}:5
>=kde-frameworks/solid-${KFMIN}:5
"
RDEPEND="${DEPEND}
app-backup/bup
>=dev-qt/qtdeclarative-${QTMIN}:5
>=dev-qt/qtsvg-${QTMIN}:5
net-misc/rsync
"
S="${WORKDIR}/${PN^}-${P}"
PATCHES=( "${FILESDIR}/${P}-libgit2.patch" )
src_prepare() {
ecm_src_prepare
rm -r libgit2-0.19.0 || die "Failed to remove bundled libgit2-0.19.0"
}

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>kde@gentoo.org</email>
<name>Gentoo KDE Project</name>
</maintainer>
</pkgmetadata>

Binary file not shown.

@ -1 +0,0 @@
DIST openastro.org-data_1.8.orig.tar.gz 16045562 BLAKE2B a2528faef9827249e01c92e7cfb96565676ed68945bed24a2927c9844fdedda980c9afdc06c4a88765d3aa31a2559fa5cec06381f90c27a244ed16b3f05e8f3a SHA512 79e2fa921b883400e29bcd7be3cf3f791d60ea164e3062b61e95608ec815aa3e8df093712658f71c45b60259ffe41531d32f4b65db5e7f642b63f267e9cce7af

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<maintainer status="active">
<email>devel@openastro.org</email>
<name>Pelle van der Scheer</name>
</maintainer>
<bugs-to>https://bugs.launchpad.net/openastro.org</bugs-to>
</upstream>
</pkgmetadata>

@ -1,21 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
MY_PN=${PN/-data}
MY_PN=${MY_PN}.org-data
DESCRIPTION="OpenAstro data files, ephemeris, famous people database, geo database"
HOMEPAGE="https://www.openastro.org"
SRC_URI="http://ppa.launchpad.net/pellesimon/ubuntu/pool/main/o/${MY_PN}/${MY_PN}_${PV}.orig.tar.gz"
KEYWORDS="~amd64 ~x86"
LICENSE="GPL-3+"
SLOT="0"
S=${WORKDIR}/${MY_PN}-${PV}

@ -1 +0,0 @@
DIST openastro.org_1.1.56.orig.tar.gz 212271 BLAKE2B d0252ae7f3c4c4f255ab1e402f3491b2b61e295f2d2064bd6a25ba07424526cbba01f2fe9f255eced0037b4d05edd1b0cde2e0fdae5c0fd7849652d5f8bfb1c7 SHA512 0446575bde71ca5bc88177bf1d5b8088cd1bb8e29ecfbd83ff15ebc4da4f07534c987f8a00b555a0af85c613e5d6bd2cec60898b586110c2230570446e4b7f2d

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<maintainer status="active">
<email>devel@openastro.org</email>
<name>Pelle van der Scheer</name>
</maintainer>
<bugs-to>https://bugs.launchpad.net/openastro.org</bugs-to>
</upstream>
<use>
<flag name="jpeg">Enable exporting Astrological Charts to jpeg</flag>
<flag name="png">Enable exporting Astrological Charts to png</flag>
</use>
</pkgmetadata>

@ -1,34 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
MY_PN=${PN}.org
DESCRIPTION="A fully-featured Open Source Astrology Program"
HOMEPAGE="https://www.openastro.org"
SRC_URI="http://ppa.launchpad.net/pellesimon/ubuntu/pool/main/o/${MY_PN}/${MY_PN}_${PV}.orig.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="jpeg png"
DEPEND="
app-misc/openastro-data[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
dev-python/pycairo[svg(+),${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
dev-python/python-dateutil[${PYTHON_USEDEP}]
dev-python/pyswisseph[${PYTHON_USEDEP}]
gnome-base/librsvg:2[introspection]
x11-libs/gtk+:3[introspection]"
RDEPEND="${DEPEND}
jpeg? ( media-gfx/imagemagick[jpeg,svg] )
png? ( media-gfx/imagemagick[png,svg] )"
S=${WORKDIR}/${MY_PN}-${PV}

Binary file not shown.

@ -1 +0,0 @@
DIST doconce-1.4.4.tar.bz2 112713371 BLAKE2B 65acba4d02095d616c5ca6a070bb4a80ae57b4f201d9810f7b88e212e1ea86bd211440213194c4d61a2eefd19dfa9de9f81376d3e535f032747a8102bfdc2160 SHA512 9b5caae789a395bcdbb4daeea57182f2ea21a2c3c4da0abae2c097351fece601da6901de8d89ab60a187c1bc0ba5f913bbee14a847c1f85020dc16e0cdffdf31

@ -1,26 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="A markdown-like langauge to generate docs in html, LaTeX, and many other formats"
HOMEPAGE="https://github.com/hplgit/doconce/ https://pypi.org/project/Doconce/"
SRC_URI="https://dev.gentoo.org/~grozin/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
IUSE="doc"
KEYWORDS="~amd64 ~x86"
RDEPEND="dev-python/future[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]"
src_install() {
default
if use doc; then
sed -e "s|http://hplgit.github.io/doconce/doc|file:///usr/share/doc/${PF}|g" -i doc/web/index.html
docompress -x /usr/share/doc
dodoc -r doc/web doc/pub
fi
}

@ -1,17 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription lang="en">
DocOnce is a modestly tagged (Markdown-like) markup language targeting scientific reports,
software documentation, books, blog posts, and slides involving much math and code in the text.
From DocOnce source you can generate LaTeX, Sphinx, HTML, IPython notebooks, Markdown,
MediaWiki, and other formats.
This means that you from a single source can get the most up-to-date publishing technologies
for paper, tablets, and phones.
</longdescription>
<upstream>
<remote-id type="pypi">Doconce</remote-id>
<remote-id type="github">hplgit/doconce</remote-id>
</upstream>
</pkgmetadata>

Binary file not shown.

@ -1,16 +1,26 @@
DIST mariadb-10.1.38.tar.gz 63535685 BLAKE2B c179ea2f60287c2bc1c0d1c47ae989ac2653a24063e8344cef2f3062fc6798e18b969e8f9aa8287104ce2518e6c644cb8d3a4650b5a0bc5dfde973e76e618955 SHA512 184582f3a902a989ba3d9c4d21288c014c8b469adbbb4cbabc621c5006022cef29baed8c1140ed4476b124da83b76dfa414295ed0c3374be826e75aca953a77b
DIST mariadb-10.1.43.tar.gz 63635313 BLAKE2B 60617d3021bb478633a995b93a3659a287ecab49bb1997efc430e2f453a8145307f0db02799b43560a51c92ef528060f93fb82fd0362ea34052f68590144bff0 SHA512 47e9693c6c1d25d2c3541efe001569c17e70721edcbfc3d0ccc96f3638820123436c18d2cbc3c2ad252adf1eda446feff0370eb97f9e57b6711757ac899b47e8
DIST mariadb-10.1.44.tar.gz 63660764 BLAKE2B fb88660687c57217c82a05442b1f6e1d85a10fbcdb54b5c455409fd6e280aede27aafe61020eae278a0424b7b21f4afc4e581dd68ce9690948970ef22127ecd0 SHA512 4216524dae5eaf882d3667345fdccc58fa29cb02fb04367900d25c1d120b609d9c7af460dea37ba15ba3fb89f4390f9b15072f5c1ecc434c64b840fa14bab8a9
DIST mariadb-10.1.45-patches-01.tar.xz 8104 BLAKE2B f1fb2ea82624904f4a8d0e0788cccf8f103aa720965ec925158bfc6d189e4a4d55ecd99e07e437f7286d03163588a26ad5afc8f930b66286e0597ef1870320a7 SHA512 57ccffb5787821398714cbe54da91e95bf3bf47cdf084a60abf6a642437a6b21f7328a05829a9e92ec9af0dacc5c77258daddd6213ed6d3862c9e1dadcf07068
DIST mariadb-10.1.45.tar.gz 63673824 BLAKE2B 002aedf61282244905256757fe18eebe67f8a05d45496eee4804e5fba9edf58ece15188d6537ed45245b9342bc514376727c91261ec3f3a3d809c569c84a63de SHA512 708daf6cf98a914ca378e3461f3431f13d6274e20ef37de239e5d90db58215c50bfbc450e6b3b00d847cc819ab9de2bc780831009581e43db38d63397a417ace
DIST mariadb-10.2.22.tar.gz 71907765 BLAKE2B e7781a9e1bb0becca543ebb0b9e03912fbafa9de45bbd5c7232f92d29b934148dd124ad462bf8aa5aec2e4ee0bf75a03fae5e5fe97a77e1d93095052a577c14b SHA512 cd61d0c2d528b23b975e6ea142560d9b9ebff7ecda6fa9b3659b25b3406e8cc925918f4c3bb0e200ddb8d0520bcaa4d4f70d245b4731896f9ba2f1bdf0a817b2
DIST mariadb-10.2.29.tar.gz 73087972 BLAKE2B aa3fe880f00b02846b26f16fcd37d18ebe217a2c9680c8c535042d2759852c929cd649d662c6a2bc603d934a6ba770ef945752c99d150f539e1fdd0d9be0ad51 SHA512 cee4e0d1a2b203cadaaa5678c5ce17302f18ffa55d07c8329392b1ea84740340c006eb9ab5920beef80835c2a399d5fffca409b8288e10ae62d290af62ec4ab8
DIST mariadb-10.2.31.tar.gz 73134720 BLAKE2B a410f71cffd7ff904cb16d9d00bbb4b1d6d17a4931de1635a14dce7c7c66d8dfd097b0c261959809cf2f327d196b11f3196129c2894efb5bab0141aca10ea3c7 SHA512 2cf28e4e049618f633470e7a4cd4f3bc8c2a74bf9796bfd026da7c75812e6d4962323785fdbca7a5b505c2e4fe95e3b47cd2e24e4dec2dcd230ac8a25f49b9b9
DIST mariadb-10.2.32-patches-01.tar.xz 5744 BLAKE2B 04e6feba66a2152c85ff251af96bfc611eaa4f2194c3d34d3dadf2f0d389d5fc0cd425fb1d369e972fd8fc13d13b2ec4b5db1ff28459e33ad5ec770a85995b04 SHA512 bc0c7988a724dbaa0d36a9472a0315e04a5291bb0f88eafe1231f3c94c97ad5da2e36a06d968892b1026e4e2347c7e906a2881c66d89f4be95c6b6a3b1dd1475
DIST mariadb-10.2.32.tar.gz 73646729 BLAKE2B 581906d67f0aada9e85aec7bfee03ed8927a4e836f0639fa5f31576f5df70ce2b6ed3da0b96ad616f5ed71d7717531a073cb911c6d92274f6724911e086104af SHA512 824aa94724b639337a5b4c2e86a1f5ceaeaa940eb234f852df1ba0aafd64e269335e2aca0b05d52164e090cfd6f7d14477df9e096473aa5d9286d47944a765b4
DIST mariadb-10.3.20.tar.gz 71990355 BLAKE2B f950f0eb836751d0eebb9ae561fe3b5aefade04a0d389465918aa2a887e4f717ab4e6bd835dea8f9a88aacfe10c0b091fc2a59882a1781a3f2903ef07a759f5d SHA512 8080cb6db85c587f39f128e98b00c3e6428bf3e828271a227bb2c61c97683c965802baa6e5f825317f7e2963683c0f81699642853deeca6977faa2b6932044a3
DIST mariadb-10.3.22.tar.gz 72050820 BLAKE2B 9e08f1360f8db2c5f466d4f6f967145286412a5598c7de8828eb8f8f3dd113b38f039c38335f9251f3bba19c67c5f62d57808eabc57480338b64dae0c5588774 SHA512 57a6551b8939f54742963202d50a537e69e8ab9b2dca42ce3d2a09c0f7af368fded71f36af26f6cbd956d54fe43853981ba8fe28b7a3ba97c7d52ea4a0d233f6
DIST mariadb-10.3.23-patches-01.tar.xz 5148 BLAKE2B 162c62a4c5a25e4c6fa059352d11ec1bebf5c2166373a455f54bce2e4e157578c29fd7e149a6e78c2884ac5ac25148c9108dd6f77f92730efa88cd823b49c7aa SHA512 bfdf042ba066afb7ddaa612864dcbc1921c72c26e1df718477c899dd9430ee7a26e19987248c74979a1d19f07fe863bd4671f655767cee62a725464e972a111a
DIST mariadb-10.3.23.tar.gz 72582611 BLAKE2B 493605519f714cbe87b938f6ca3243d29189adbfcbb33c4e10a4a3f01b08d875f18b96b647dc92566b785c2cef9862ebacfd55954d13ab0a7a745606e40fb6e9 SHA512 535cd2ce80a95b6c0a1aa559cc3275dfcd559c3a4f958fab3382923190a16e6bc5b4ad79acaa518244512ff618568c239c0edef8a701d958362ede19a29c2986
DIST mariadb-10.4.10.tar.gz 78352896 BLAKE2B c0e448fba455feb9385b7d57e1a727e84eaf4cfa52ce0dbd6ff062aa0b5abc42005680fb185416d04fbd7bb62d9bbd6c93e4cb77b145418cf6be92747f8b1c2a SHA512 4a9b9a37bc3a273de4bd781dac3636256364dae6efbba45765d6b28995da3d64e180422cd10418d1c7acd7fd8843fe2a2638c07e0f56b0c09170c58812cc6b71
DIST mariadb-10.4.12.tar.gz 79120835 BLAKE2B 1c511e788f8ddc9b9d2e580b29c380ada85d7cc46febe6a6bec626fd6239e4f50480b7a31dcd7e1a9474c6ed9626a910e996257ac8366646a22decc0226c45f0 SHA512 518dae18c04a1f7fcc6fd4d2dfbfbfbdf5e83e72ca41e66e1074328df8d92ab41b458e6a9973771419ac09a7348f264f158916cd198c335085d6e823e707bbc6
DIST mariadb-10.4.13-patches-01.tar.xz 5140 BLAKE2B 76bec85715d03cf17d54994205f0a5e452c5bad0353c2a14d6bdad92f0771b54b54753856709b8379fe91efbff48a610414b54b891dd17eabda043a5059e60e7 SHA512 923c54850b1e55ed60988133d615b80aecce3e73c7914b8b02aeea1c61c154ba5ff2ae3575f24d7341b6bf6de9aae2f5751fb951a5a88eafbea7db254da2d4fe
DIST mariadb-10.4.13.tar.gz 80608459 BLAKE2B e9ada14da6ec7492311068549a5b6e5a66e1177312013b25472c084a21fbace543ec43b47f2e12190d45432648d508f311198521f42359561f8d75ea60f98205 SHA512 68919ceffb3d4afdd0d94daa77439a954c82ce4e08fbe06044fc397940eeb88a39ec75932cbd08ff26ef3cf7636fdb779947cda5b2764aa1fd888be19c44b566
DIST mariadb-5.5.66.tar.gz 45962591 BLAKE2B 41befba24abec2af876168a11fc205d328c137baa49e5e521787898e4b973d1dc548ef459228811caa99fa3c2b7a9fe96f3eb7a04bf62f0bb20966e4ffd2ea9b SHA512 403f3bc67018e01eb2277a88d3a7ac673d50df8f7a67607f9d14e3167d1bdd4ca202983df69c97688ff51edbd6d6b43af3541c75e968d1d01713a7b6495e4c8c
DIST mariadb-5.5.67.tar.gz 45971908 BLAKE2B 494fdc5d13c3560b074514f30a828e6689b820a1eefc0d0ec67f00a9dced6f4d3c305ed81ad39dddbb07659ccfbab418900f822baf502067d706ba84d2e7fd78 SHA512 494b2b0d863e2fed6f02f8d61134a645aa113bb0e17ba08b304350dfa974f6fce2a2fcc231fb413872156f70f08fbd2604f58d642fffe085f3b093176a3e68c9
DIST mariadb-5.5.68.tar.gz 45969389 BLAKE2B 5b3a647649c614825adccbc83faa40ba330dae0a1f8005b2297cc6a44fbc00bf817f2d854af315f995e1065bd4d14a2f21a9cec44b5c78402524467d876d8157 SHA512 3419790aa88a7e2a5d80e56ca94683d22ca2d5d817dfe19904d11454f34cfc3b9d55e603295ea58580a3c9fe96a6c6f9b650e1058c4e8f2f2e82f09165436865
DIST mysql-extras-20180809-1700Z.tar.bz2 322999 BLAKE2B 8b5feb32085dc35b2f68dae985b2d266c4eaa0e956b490050a2df04bbff99bf8623b67e75af9326d84e3ad625c4d86b0d21d23c9a96df5a0c9cd5ed730958970 SHA512 fbd7af9284bbf09d55f128361e7cc52d94f24ac491aac800cd6d61f2e444aeca66a4d5e6ae94c2fb4044e00cec9b232bae9a76a229f87f19d90b7aecf70792ec
DIST mysql-extras-20190305-2052Z.tar.bz2 331304 BLAKE2B 1d2c35a961159fa5ce9ee6699fce943f5a5b5cf60b11c9bb4bcccee4943f4508a9eb6d01050c642353ac592ce1a6b421abf2a1bebc706c44c4c8a36aa698ec43 SHA512 ae63403320e010acbb92f8aec6da8ed4f267cef0bad37147d594076fd94571de7f98bfc2afbe94af5d716f58d57696fd958b1e13e20e87052f252ed4a188cd3c
DIST mysql-extras-20190731-2258Z.tar.bz2 332111 BLAKE2B cc144c9af852bfdd4149b96bdc22f8afb2d0aa92f95ebd272a244f0fb7743dc03f9244871d5c195260bac5d9ed20583093257ee2c95a5a4d0a4dae488d781adf SHA512 d4428a1128cd5aef62c463b659992b110090b1602cdcb6b8d922d570c6b946fde325bfcf5a9a955a8dcc61f3ccd3d612d8517ebf63e316f98ca9ff2cd8a807aa
DIST mysql-extras-20200203-1749Z.tar.bz2 344999 BLAKE2B 46441f3c210c87b8ce1df89e9480d0bd5be216b0a1380c3ca330294e787bf2fb2b7078438f032dd0381363e756312d7634350a0b02c00b3145d4787a9ad65cad SHA512 210d240efef4d7bb64d356cae240039d9bd65e2bd4af47e01131ab5bf48779f4c0519e50d212d50db998e6b9bf9d73f1a03b0bbf4f7d6dc6f978660c8ac8a21f
DIST mysql-extras-20200523-1221Z.tar.bz2 345015 BLAKE2B 3ad0da663c31831d3b511b88df34b6a28bb781cfd88fd4479b43273aa15946e63c7ae43d5497207edc6cc53a72bd42b8ce2e2058dfb236afd940bd0282190e98 SHA512 8f7b39017efb08e1ae98c4c68728bc86f8427b88b2a22688abf6975c6706122086dc93289beb511bbaf17cd5a790c76406e81315a11830829efe9170ce4f6a42

@ -0,0 +1,924 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
SUBSLOT="18"
JAVA_PKG_OPT_USE="jdbc"
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit eutils systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake-utils multilib-build
# Patch version
PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.1.45-patches-01.tar.xz"
SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
${PATCH_SET}"
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2"
SLOT="0/${SUBSLOT:-0}"
IUSE="+backup bindist client-libs cracklib debug extraengine galera jdbc jemalloc kerberos
innodb-lz4 innodb-lzo innodb-snappy latin1 libressl mroonga numa odbc oqgraph pam
+perl profiling selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup
systemd systemtap static static-libs tcmalloc test tokudb xml yassl"
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
server? ( tokudb? ( jemalloc !tcmalloc ) )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# 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"
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="
kernel_linux? (
sys-process/procps:0=
dev-libs/libaio:0=
)
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
jemalloc? ( dev-libs/jemalloc:0= )
tcmalloc? ( dev-util/google-perftools:0= )
systemtap? ( >=dev-util/systemtap-1.3:0= )
!yassl? (
!libressl? ( dev-libs/openssl:0= !>=dev-libs/openssl-1.1 )
libressl? ( dev-libs/libressl:0= )
)
>=sys-libs/zlib-1.2.3:0=
sys-libs/ncurses:0=
!bindist? (
sys-libs/binutils-libs:0=
>=sys-libs/readline-4.1:0=
)
server? (
backup? ( app-arch/libarchive:0= )
cracklib? ( sys-libs/cracklib:0= )
extraengine? (
odbc? ( dev-db/unixODBC:0= )
xml? ( dev-libs/libxml2:2= )
sys-libs/zlib[minizip]
)
innodb-lz4? ( app-arch/lz4 )
innodb-lzo? ( dev-libs/lzo )
innodb-snappy? ( app-arch/snappy )
kerberos? ( virtual/krb5 )
mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
numa? ( sys-process/numactl )
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
pam? ( sys-libs/pam:0= )
systemd? ( sys-apps/systemd:= )
tokudb? ( app-arch/snappy )
)
!yassl? ( !libressl? ( !>=dev-libs/openssl-1.1.0 ) )
>=dev-libs/libpcre-8.41-r1:3=
!client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
"
DEPEND="virtual/yacc
static? ( sys-libs/ncurses[static-libs] )
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
server? (
extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) )
test? ( acct-group/mysql acct-user/mysql )
)
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
${COMMON_DEPEND}
server? (
galera? (
sys-apps/iproute2
=sys-cluster/galera-25*
sst-rsync? ( sys-process/lsof )
sst-mariabackup? ( net-misc/socat[ssl] )
sst-xtrabackup? ( net-misc/socat[ssl] )
)
!prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
extraengine? ( jdbc? ( >=virtual/jre-1.6 ) )
)
perl? (
!dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes
)
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
server? ( galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/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
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
export MY_LOCALSTATEDIR MY_LOGDIR
export MY_DATADIR
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
local GCC_MAJOR_SET=$(gcc-major-version)
local GCC_MINOR_SET=$(gcc-minor-version)
if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -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
# Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
# non x86{,_64} arches
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
eerror "${PN} 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
if has test ${FEATURES} ; then
# Bug #213475 - MySQL _will_ object strenuously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if ! has userpriv ${FEATURES} ; then
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
fi
fi
java-pkg-opt-2_pkg_setup
}
src_unpack() {
unpack ${A}
mv -f "${WORKDIR%/}/${PN%%-galera}-${PV}" "${S}" || die
}
src_prepare() {
eapply "${WORKDIR}"/mariadb-patches
eapply_user
_disable_engine() {
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
}
_disable_plugin() {
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
}
if use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
fi
# Don't build bundled xz-utils for tokudb
echo > "${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
# Fix -fno-common error
sed -i -e '/^datasink_t datasink_buffer;$/d' extra/mariabackup/xbstream.c || die
local plugin
local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
locale_info qc_info server_audit semisync sql_errlog )
local test_plugins=( audit_null auth_examples daemon_example fulltext )
if ! use server; then # These plugins are for the server
for plugin in "${server_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
fi
if ! use test; then # These plugins are only used during testing
for plugin in "${test_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
fi
# Collides with mariadb-connector-c bug 655980
_disable_plugin auth_dialog
# Avoid useless library checks
use mroonga || _disable_engine mroonga
use oqgraph || _disable_engine oqgraph
_disable_engine example
# Don't clash with dev-db/mysql-connector-c
sed -i -e 's/ my_print_defaults.1//' \
-e 's/ perror.1//' \
"${S}"/man/CMakeLists.txt || die
cmake-utils_src_prepare
java-pkg-opt-2_src_prepare
}
src_configure() {
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
append-cxxflags -felide-constructors
# bug #283926, with GCC4.4, this is required to get correct behavior.
append-flags -fno-strict-aliasing
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DDEFAULT_SYSCONFDIR="${EPREFIX}/etc/mysql"
-DINSTALL_BINDIR=bin
-DINSTALL_DOCDIR=share/doc/${PF}
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
-DINSTALL_INCLUDEDIR=include/mysql
-DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=$(get_libdir)
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLSHAREDIR=share/mariadb
-DINSTALL_MYSQLTESTDIR=$(usex test 'share/mariadb/mysql-test' '')
-DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
-DINSTALL_SCRIPTDIR=share/mariadb/scripts
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
-DWITH_ZLIB=system
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
-DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
-DWITH_DEFAULT_COMPILER_OPTIONS=0
-DWITH_DEFAULT_FEATURE_SET=0
-DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
# 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.
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
-DWITHOUT_CLIENTLIBS=YES
-DWITH_READLINE=$(usex bindist 1 0)
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
-DENABLE_DTRACE=$(usex systemtap)
-DWITH_SSL=$(usex yassl bundled system)
-DPLUGIN_CLIENT_ED25519=NO
-DPLUGIN_AUTH_GSSAPI_CLIENT=NO
)
if use server ; then
# Federated{,X} must be treated special otherwise they will not be built as plugins
if ! use extraengine ; then
mycmakeargs+=(
-DPLUGIN_FEDERATED=NO
-DPLUGIN_FEDERATEDX=NO )
fi
mycmakeargs+=(
-DWITH_JEMALLOC=$(usex jemalloc system)
-DWITH_PCRE=system
-DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
-DPLUGIN_SPHINX=$(usex sphinx YES NO)
-DPLUGIN_TOKUDB=$(usex tokudb YES NO)
-DPLUGIN_AUTH_PAM=$(usex pam YES NO)
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
-DPLUGIN_CASSANDRA=NO
-DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
-DPLUGIN_SPIDER=$(usex extraengine YES NO)
-DPLUGIN_CONNECT=$(usex extraengine YES NO)
-DCONNECT_WITH_MYSQL=1
-DCONNECT_WITH_LIBXML2=$(usex xml)
-DCONNECT_WITH_ODBC=$(usex odbc)
-DCONNECT_WITH_JDBC=$(usex jdbc)
# Build failure and autodep wrt bug 639144
-DCONNECT_WITH_MONGO=OFF
-DWITH_WSREP=$(usex galera)
-DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
-DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
-DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
-DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
-DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
-DPLUGIN_AUTH_GSSAPI_CLIENT=NO
-DWITH_MARIABACKUP=$(usex backup ON OFF)
-DWITH_LIBARCHIVE=$(usex backup ON OFF)
-DWITH_SYSTEMD=$(usex systemd yes no)
-DWITH_NUMA=$(usex numa ON OFF)
-DINSTALL_SQLBENCHDIR=''
)
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
mycmakeargs+=(
-DEXTRA_CHARSETS=all
-DMYSQL_USER=mysql
-DDISABLE_SHARED=$(usex static YES NO)
-DWITH_DEBUG=$(usex debug)
-DWITH_EMBEDDED_SERVER=OFF
-DENABLED_PROFILING=$(usex profiling)
)
if use static; then
mycmakeargs+=( -DWITH_PIC=1 )
fi
if use jemalloc || 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
)
else
mycmakeargs+=(
-DWITHOUT_SERVER=1
-DWITH_EMBEDDED_SERVER=OFF
-DEXTRA_CHARSETS=none
-DINSTALL_SQLBENCHDIR=
-DWITH_SYSTEMD=no
)
fi
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
}
# Official test instructions:
# USE='extraengine perl server' \
# FEATURES='test userpriv' \
# ebuild mariadb-X.X.XX.ebuild \
# digest clean package
src_test() {
_disable_test() {
local rawtestname bug reason
rawtestname="${1}" ; shift
bug="${1}" ; shift
reason="${@}"
ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def"
}
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
if ! use server ; then
einfo "Skipping server tests due to minimal build."
return 0
fi
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
# Run CTest (test-units)
cmake-utils_src_test
retstatus_unit=$?
# Ensure that parallel runs don't die
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
if [[ -z "${MTR_PARALLEL}" ]] ; then
local -x MTR_PARALLEL=$(makeopts_jobs)
if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
# Running multiple tests in parallel usually require higher ulimit
# and fs.aio-max-nr setting. In addition, tests like main.multi_update
# are known to hit timeout when system is busy.
# To avoid test failure we will limit MTR_PARALLEL to 4 instead of
# using "auto".
local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
einfo "${info_msg}"
unset info_msg
MTR_PARALLEL=4
fi
else
einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
fi
# Try to increase file limits to increase test coverage
if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
# Upper limit comes from parts.partition_* tests
ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
# Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
else
einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
fi
else
einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
fi
else
einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
fi
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
local -a disabled_tests
disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
disabled_tests+=( "main.grant;0;Sporadically failing test" )
disabled_tests+=( "main.join_cache;0;Sporadically failing test" )
disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
disabled_tests+=( "mariabackup.*;0;Broken test suite" )
disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
if ! use latin1 ; then
disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
disabled_tests+=( "main.mysql;0;Requires USE=latin1" )
disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
fi
if ! use profiling ; then
disabled_tests+=( "sys_vars.sysvars_server_notembedded;0;Requires USE=profiling" )
fi
local test_infos_str test_infos_arr
for test_infos_str in "${disabled_tests[@]}" ; do
IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
if [[ ${#test_infos_arr[@]} != 3 ]] ; then
die "Invalid test data set, not matching format: ${test_infos_str}"
fi
_disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
done
unset test_infos_str test_infos_arr
# run mysql-test tests
pushd "${TESTDIR}" &>/dev/null || die
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd &>/dev/null || die
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
local failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
}
src_install() {
cmake-utils_src_install
# Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
rm "${ED}/usr/include/mysql/server/private/config.h" || die
fi
# Make sure the vars are correctly initialized
mysql_init_vars
# Convenience links
einfo "Making Convenience links for mysqlcheck multi-call binary"
dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
dosym "mysqlcheck" "/usr/bin/mysqlrepair"
dosym "mysqlcheck" "/usr/bin/mysqloptimize"
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
if [[ -d "${ED}/usr/data" ]] ; then
rm -Rf "${ED}/usr/data" || die
fi
# 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
einfo "Building default configuration ..."
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
[[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
local mycnf_src="my.cnf-5.6-r1"
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
if use server ; then
einfo "Including support files and sample configurations"
docinto "support-files"
local script
for script in \
"${S}"/support-files/magic
do
[[ -f "$script" ]] && dodoc "${script}"
done
docinto "scripts"
for script in "${S}"/scripts/mysql* ; do
[[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
done
# Manually install supporting files that conflict with other packages
# but are needed for galera and initial installation
exeinto /usr/libexec/mariadb
doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
fi
#Remove mytop if perl is not selected
[[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
}
pkg_preinst() {
java-pkg-opt-2_pkg_preinst
}
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}"
if use server ; then
if use pam; then
einfo
elog "This install includes the PAM authentication plugin."
elog "To activate and configure the PAM plugin, please read:"
elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
einfo
fi
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
einfo
elog "You might want to run:"
elog "\"emerge --config =${CATEGORY}/${PF}\""
elog "if this is a new install."
elog
elog "If you are switching server implentations, you should run the"
elog "mysql_upgrade tool."
einfo
else
einfo
elog "If you are upgrading major versions, you should run the"
elog "mysql_upgrade tool."
einfo
fi
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
}
pkg_config() {
_getoptval() {
local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults
local section="$1"
local flag="--${2}="
local extra_options="${3}"
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
}
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
local tmp_mysqld_password_source=
for tmp_mysqld_password_source in mysql client; do
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
MYSQL_ROOT_PASSWORD=
continue
fi
einfo "Found password in '${tmp_mysqld_password_source}' section!"
break
fi
done
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
fi
unset tmp_mysqld_password_source
fi
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
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 "${EROOT}/$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 "${EROOT}/$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"
einfo "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 https://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
# Figure out which options we need to disable to do the setup
local 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 \
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
done
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
# Filling timezones, see
# https://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
local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" )
[[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
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 initialize mysqld. 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"
use prefix || options="${options} --user=mysql"
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} \
--log-warnings=0 \
--basedir=${EROOT}/usr \
--datadir=${ROOT}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--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 $?
if [[ -n "${sqltmp}" ]] ; then
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!"
fi
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,835 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
MY_EXTRAS_VER="20200523-1221Z"
SUBSLOT="18"
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit eutils flag-o-matic prefix toolchain-funcs user cmake-utils multilib-build
SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
# 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://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~grknight/distfiles/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"
fi
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2"
SLOT="0/${SUBSLOT:-0}"
IUSE="bindist client-libs debug extraengine jemalloc latin1 libressl
oqgraph pam +perl profiling selinux +server sphinx
static static-libs systemtap tcmalloc
test tokudb yassl"
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )"
REQUIRED_USE="server? ( tokudb? ( jemalloc !tcmalloc ) )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# 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"
if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
inherit git-r3
EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
EGIT_CLONE_TYPE=shallow
else
MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
fi
PATCHES=(
"${MY_PATCH_DIR}/01050_all_mariadb_mysql_config_cleanup-5.5.41.patch"
"${MY_PATCH_DIR}/20004_all_mariadb-filter-tokudb-flags-5.5.68.patch"
"${MY_PATCH_DIR}/20006_all_cmake_elib-mariadb-5.5.50.patch"
"${MY_PATCH_DIR}/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch"
"${MY_PATCH_DIR}/20018_all_mariadb-5.5.60-without-clientlibs-tools.patch"
)
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="
kernel_linux? (
sys-process/procps:0=
dev-libs/libaio:0=
)
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
jemalloc? ( dev-libs/jemalloc:0= )
tcmalloc? ( dev-util/google-perftools:0= )
systemtap? ( >=dev-util/systemtap-1.3:0= )
!yassl? (
!libressl? ( <dev-libs/openssl-1.1.0:0= )
libressl? ( dev-libs/libressl:0= )
)
>=sys-libs/zlib-1.2.3:0=
sys-libs/ncurses:0=
!bindist? (
>=sys-libs/readline-4.1:0=
)
server? (
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
pam? ( sys-libs/pam:0= )
)
!client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
"
DEPEND="virtual/yacc
static? ( sys-libs/ncurses[static-libs] )
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
${COMMON_DEPEND}
perl? ( !dev-db/mytop
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes )
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
local GCC_MAJOR_SET=$(gcc-major-version)
local GCC_MINOR_SET=$(gcc-minor-version)
if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -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
# Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
# non x86{,_64} arches
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
eerror "${PN} 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
fi
if has test ${FEATURES} && \
use server && ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
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"
}
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}"
if use server ; then
if use pam; then
einfo
elog "This install includes the PAM authentication plugin."
elog "To activate and configure the PAM plugin, please read:"
elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
einfo
fi
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
einfo
elog "You might want to run:"
elog "\"emerge --config =${CATEGORY}/${PF}\""
elog "if this is a new install."
elog
elog "If you are switching server implentations, you should run the"
elog "mysql_upgrade tool."
einfo
else
einfo
elog "If you are upgrading major versions, you should run the"
elog "mysql_upgrade tool."
einfo
fi
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
}
src_unpack() {
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR%/}/${P}" "${S}" || die
}
src_prepare() {
_disable_engine() {
echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
}
_disable_plugin() {
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
}
if use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
fi
# Don't build bundled xz-utils for tokudb
echo > "${S%/}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die
sed -i -e 's/ build_lzma//' "${S%/}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die
sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S%/}/storage/tokudb/ft-index/portability/CMakeLists.txt" || die
local plugin
local server_plugins=( handler_socket auth_socket feedback qc_info server_audit semisync sql_errlog )
local test_plugins=( audit_null auth_examples daemon_example fulltext )
if ! use server; then # These plugins are for the server
for plugin in "${server_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
fi
if ! use test; then # These plugins are only used during testing
for plugin in "${test_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
fi
# Collides with mariadb-connector-c bug 655980
_disable_plugin auth_dialog
# Don't build example
_disable_engine example
if ! use oqgraph ; then # avoids extra library checks
_disable_engine oqgraph
fi
# Don't clash with dev-db/mysql-connector-c
sed -i -e 's/ my_print_defaults.1//' \
-e 's/ perror.1//' \
"${S}"/man/CMakeLists.txt || die
cmake-utils_src_prepare
}
src_configure() {
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
append-cxxflags -felide-constructors
# bug #283926, with GCC4.4, this is required to get correct behavior.
append-flags -fno-strict-aliasing
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
-DDEFAULT_SYSCONFDIR="${EPREFIX}/etc/mysql"
-DINSTALL_BINDIR=bin
-DINSTALL_DOCDIR=share/doc/${PF}
-DINSTALL_DOCREADMEDIR=share/doc/${PF}
-DINSTALL_INCLUDEDIR=include/mysql
-DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=$(get_libdir)
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLSHAREDIR=share/mariadb
-DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
-DINSTALL_SCRIPTDIR=share/mariadb/scripts
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
-DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
-DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
-DWITH_UNIT_TESTS=$(usex test ON OFF)
-DWITH_ZLIB=system
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
-DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
# 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.
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
-DWITHOUT_CLIENTLIBS=YES
-DWITH_READLINE=$(usex bindist 1 0)
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
-DENABLE_DTRACE=$(usex systemtap)
)
if use test ; then
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
else
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
fi
if ! use yassl ; then
mycmakeargs+=( -DWITH_SSL=system )
else
mycmakeargs+=( -DWITH_SSL=bundled )
fi
if use server ; 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
-DWITHOUT_FEDERATEDX_STORAGE_ENGINE=1 )
fi
mycmakeargs+=(
-DWITH_JEMALLOC=$(usex jemalloc system)
-D$(usex sphinx WITH WITHOUT)_SPHINX_STORAGE_ENGINE=1
-D$(usex tokudb WITH WITHOUT)_TOKUDB_STORAGE_ENGINE=1
-D$(usex oqgraph WITH WITHOUT)_AUTH_PAM=1
-DINSTALL_SQLBENCHDIR=share/mariadb
)
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
mycmakeargs+=(
-DEXTRA_CHARSETS=all
-DDISABLE_SHARED=$(usex static YES NO)
-DWITH_EMBEDDED_SERVER=OFF
-DENABLED_PROFILING=$(usex profiling)
)
if use static; then
mycmakeargs+=( -DWITH_PIC=1 )
fi
if use jemalloc || 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
)
else
mycmakeargs+=(
-DWITHOUT_SERVER=1
-DEXTRA_CHARSETS=none
-DINSTALL_SQLBENCHDIR=
)
fi
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
}
src_install() {
cmake-utils_src_install
# Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
if [[ -f "${ED%/}/usr/include/mysql/server/private/config.h" ]] ; then
rm "${ED%/}/usr/include/mysql/server/private/config.h" || die
fi
# Make sure the vars are correctly initialized
mysql_init_vars
# Convenience links
einfo "Making Convenience links for mysqlcheck multi-call binary"
dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
dosym "mysqlcheck" "/usr/bin/mysqlrepair"
dosym "mysqlcheck" "/usr/bin/mysqloptimize"
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
if [[ -d "${ED%/}/usr/data" ]] ; then
rm -Rf "${ED%/}/usr/data" || die
fi
# 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
einfo "Building default configuration ..."
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
[[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf
local mycnf_src="my.cnf-5.5"
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
if use server ; then
einfo "Including support files and sample configurations"
docinto "support-files"
local script
for script in \
"${S%/}"/support-files/magic
do
[[ -f "$script" ]] && dodoc "${script}"
done
docinto "scripts"
for script in "${S%/}"/scripts/mysql* ; do
[[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
done
# Manually install supporting files that conflict with other packages
# but are needed for galera and initial installation
exeinto /usr/libexec/mariadb
doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
fi
#Remove mytop if perl is not selected
[[ -e "${ED%/}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED%/}/usr/bin/mytop"
}
# Official test instructions:
# USE='extraengine perl server' \
# FEATURES='test userpriv -usersandbox' \
# ebuild mariadb-X.X.XX.ebuild \
# digest clean package
src_test() {
_disable_test() {
local rawtestname reason
rawtestname="${1}" ; shift
reason="${@}"
ewarn "test '${rawtestname}' disabled: '${reason}'"
echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
}
local TESTDIR="${BUILD_DIR}/mysql-test"
local retstatus_unit
local retstatus_tests
if ! use server ; then
einfo "Skipping server tests due to minimal build."
return 0
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 [[ $UID -eq 0 ]]; then
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
# Run CTest (test-units)
cmake-utils_src_test
retstatus_unit=$?
# Ensure that parallel runs don't die
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
# Enable parallel testing, auto will try to detect number of cores
# You may set this by hand.
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
# Run mysql tests
pushd "${TESTDIR}" > /dev/null || die
touch "${T}/disabled.def"
# These are failing in MariaDB 5.5 for now and are believed to be
# false positives:
#
# main.information_schema, binlog.binlog_statement_insert_delayed,
# main.mysqld--help, funcs_1.is_triggers, funcs_1.is_tables_mysql,
# funcs_1.is_columns_mysql
# fails due to USE=-latin1 / utf8 default
#
# main.mysql_client_test, main.mysql_client_test_nonblock:
# segfaults at random under Portage only, suspect resource limits.
#
# archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam
# fails due to bad cleanup of previous tests when run in parallel
# The tool is deprecated anyway
# Bug 532288
local t
for t in main.mysql_client_test main.mysql_client_test_nonblock \
binlog.binlog_statement_insert_delayed main.information_schema \
main.mysqld--help \
archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
funcs_1.is_triggers funcs_1.is_tables_mysql funcs_1.is_columns_mysql ; do
_disable_test "$t" "False positives in Gentoo"
done
if ! use client-libs ; then
_disable_test main.plugin_auth "Needs client libraries built"
fi
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd > /dev/null || die
# Cleanup is important for these testcases.
pkill -9 -f "${S}/ndb" 2>/dev/null
pkill -9 -f "${S}/sql" 2>/dev/null
local failures=""
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
[[ -z "$failures" ]] || die "Test failures: $failures"
einfo "Tests successfully completed"
}
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/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
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
export MY_LOCALSTATEDIR MY_LOGDIR
export MY_DATADIR
}
pkg_config() {
_getoptval() {
local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults
local section="$1"
local flag="--${2}="
local extra_options="${3}"
"${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
}
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
local tmp_mysqld_password_source=
for tmp_mysqld_password_source in mysql client; do
einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
MYSQL_ROOT_PASSWORD=
continue
fi
einfo "Found password in '${tmp_mysqld_password_source}' section!"
break
fi
done
# Sometimes --show is required to display passwords in some implementations of my_print_defaults
if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
fi
unset tmp_mysqld_password_source
fi
MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n 1)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n 1)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n 1)"
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 "${EROOT}/$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 "${EROOT}/$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"
einfo "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 https://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
# Figure out which options we need to disable to do the setup
local 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 \
log-slave-updates \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
done
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
# Filling timezones, see
# https://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
local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" )
[[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
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 initialize mysqld. 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"
use prefix || options="${options} --user=mysql"
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} \
--log-warnings=0 \
--basedir=${EROOT}/usr \
--datadir=${ROOT}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--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 $?
if [[ -n "${sqltmp}" ]] ; then
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!"
fi
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
}

@ -0,0 +1,27 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DIST_AUTHOR=ETHER
DIST_VERSION=1.09
inherit perl-module
DESCRIPTION="Implementation of the 'Adapter' Design Pattern"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
virtual/perl-Carp
>=virtual/perl-Scalar-List-Utils-1.100.0
"
BDEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? (
virtual/perl-File-Spec
virtual/perl-Test-Simple
)
"

@ -1 +1,2 @@
DIST Class-Adapter-1.08.tar.gz 35843 BLAKE2B fcd7d556ea249b10a1aeb94de7c291c7d07c3144f93b726bf19c7d0f33549074bf2ea8794370ddae23889f467cae7a67362e5e58bde32a7423c2fcb3fb222bb5 SHA512 84053834561d058a38744e556d3573dfc91b5972a6329f3e7660cb422e4b680c76502c3ee3a2c80b6a135d67713502428a541a9e7b2c22991df8d7aab3de0408
DIST Class-Adapter-1.09.tar.gz 33256 BLAKE2B 894e33a673747aee6e37e48868e72faf6dd5adf0ce223ed179ebf0b7b59108fd9dffb7798fb76bb8918d40ee650c6704302663ce7e87e9dded68dae6f268d5be SHA512 e6b7bde685683fa733e3002cf815aca6e298b2200a3fedbef93345284507023cdeed0cda4232c53d4dfd89239271a871db44616606d88ff5d03ac7c3e33a992a

@ -0,0 +1,30 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DIST_AUTHOR=ADAMK
DIST_VERSION=2.01
inherit perl-module
DESCRIPTION="Runtime aspect loading of one or more classes"
SLOT="0"
KEYWORDS="~amd64 ~hppa ~mips ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
>=virtual/perl-File-Spec-0.800.0
>=virtual/perl-Scalar-List-Utils-1.180.0
"
BDEPEND="${RDEPEND}
>=virtual/perl-ExtUtils-MakeMaker-6.620.0
test? (
>=virtual/perl-File-Temp-0.170.0
>=virtual/perl-Test-Simple-0.470.0
)
"
PATCHES=(
"${FILESDIR}/${PN}-2.01-no-dot-inc.patch"
)

@ -0,0 +1,21 @@
From 1527dbac07ae3b1ec157aed01ea568cea9f1f52e Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentnl@gentoo.org>
Date: Sun, 24 May 2020 00:00:53 +1200
Subject: Include '.' in @INC on perl 5.26+
---
Makefile.PL | 1 +
1 file changed, 1 insertion(+)
diff --git a/Makefile.PL b/Makefile.PL
index 9a4a412..f17b280 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -1,3 +1,4 @@
+use lib '.';
use inc::Module::Install::DSL 1.04;
all_from lib/Class/Autouse.pm
--
2.26.2

Binary file not shown.

Binary file not shown.

@ -1 +0,0 @@
DIST PyDbLite-3.0.4.tar.gz 510241 BLAKE2B 948858df8653a74872a7a017ecdfee2d078edd441671e4b0fd2a6e4ea73d9b885899fd8d35209c96e72bcbae48cc7c9db940e4add8ba9afeb55a6da1b49664a7 SHA512 7708d6cf391f18dbc644cfe6af34868d2eb59aae47ffb67cdb77d468d605b14c0dccfb159229035984d0dd9dbaa5ce706068ed23a09a5ece2f58565afdfad69f

@ -1,18 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python3_6 pypy3)
inherit distutils-r1
DESCRIPTION="A fast, pure-Python in-memory database"
HOMEPAGE="https://pypi.org/project/PyDbLite/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"

@ -1,11 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>klausman@gentoo.org</email>
<name>Tobias Klausmann</name>
</maintainer>
<upstream>
<remote-id type="pypi">PyDbLite</remote-id>
</upstream>
</pkgmetadata>

@ -1 +0,0 @@
DIST urlobject-2.4.3.tar.gz 26325 BLAKE2B 6c73bab1768d8676ccd7411175877a17a8b64e2498345443bfd8e28873c1ba9aacf158cfcac739d8ae1abf7d7845bc5fa5f478441d6d99530a9395b236b118f0 SHA512 2bd08ba5695c8277eeed154d7f414939e8b471e83f1fc6b9db93931f8e49dea4583036b0b7fb8d820e0b214bdc4bf2fe78987eb6a5c63ba70611aea6365c2972

@ -1,42 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
GITHUB_P=${P,,}
DESCRIPTION="A utility class for manipulating URLs"
HOMEPAGE="https://pypi.org/project/URLObject/"
# note: pypi tarball lacks tests
# https://github.com/zacharyvoase/urlobject/issues/39
SRC_URI="https://github.com/zacharyvoase/urlobject/archive/v${PV}.tar.gz -> ${GITHUB_P}.tar.gz"
LICENSE="BSD"
KEYWORDS="~amd64 ~x86"
SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]"
DEPEND="
${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
test? ( dev-python/nose[${PYTHON_USEDEP}] )
"
S=${WORKDIR}/${GITHUB_P}
python_prepare_all() {
rm "${S}/urlobject/six.py" || die
find "${S}/urlobject" -type f -name \*.py \
-exec sed -e 's/from \.six import/from six import/g' -i "{}" \; || die
distutils-r1_python_prepare_all
}
python_test() {
nosetests -v || die "Tests fail with ${EPYTHON}"
}

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">URLObject</remote-id>
<remote-id type="github">zacharyvoase/urlobject</remote-id>
</upstream>
</pkgmetadata>

@ -1 +0,0 @@
DIST cligj-0.4.0.tar.gz 7281 BLAKE2B 7795f28bdef6ce5823bbf0b346d900e95cca4655cce985823318b8fd9854fcf245b523f3ecb06b44d6810f268b658ed4e4276d7f022a9085bbfa623914b68a2f SHA512 35c075192f39c7c756a5abce2cc706818a5c40ed91d25a5763483b01acfffa29b50ce58e758b0ca42431978e436ad45a93049e05c6dd0a98da40d74c4a329669

@ -1,25 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="Click-based argument and option decorators for Python GIS command line programs"
HOMEPAGE="https://github.com/mapbox/cligj"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
KEYWORDS="~amd64 ~x86"
SLOT="0"
IUSE=""
RDEPEND="
dev-python/click[${PYTHON_USEDEP}]
"
DEPEND="
${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
"

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">cligj</remote-id>
<remote-id type="github">mapbox/cligj</remote-id>
</upstream>
</pkgmetadata>

@ -1 +0,0 @@
DIST demjson-2.2.4.tar.gz 131457 BLAKE2B 2bd38a922d68c1a415e7258d7e1cc8b852c703df5cfcd2dbffb3936fb5b93950f2af56c0a8eb961868c1e478520bf8fc33855ecc704cd5f95e6e5b310ddb3b3d SHA512 d8a1cde062d0b062bdae29b6d79ad69fb9cc185428718a0009ccbed544ed37bd354fbb86edadb56bd98183ac8636b2edae322ed19aa5f07a7b6df668c7aa0029

@ -1,35 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python3_6 pypy3 )
inherit distutils-r1
DESCRIPTION="Encoder, decoder, and lint/validator for JSON compliant with RFC 4627"
HOMEPAGE="http://deron.meranda.us/python/demjson/ https://pypi.org/project/demjson/"
SRC_URI="http://deron.meranda.us/python/${PN}/dist/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="amd64 ~arm x86"
IUSE="doc"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND=""
python_test() {
cd test
if python_is_python3; then
2to3 -w --no-diffs test_demjson.py
fi
"${PYTHON}" test_demjson.py
}
python_install_all() {
distutils-r1_python_install_all
# Docs are .txt files
if use doc; then
dodoc docs/*.txt
fi
}

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
</pkgmetadata>

@ -1 +0,0 @@
DIST dexml-0.5.1.tar.gz 24359 BLAKE2B 98f315a331fc1d2b69250a088bc491d6e425106dea0025a26c044951b164f61880cd772a88eaee688ccb550050981c5fe489dd9e8d74bda2c351e183b15bb5e9 SHA512 b8ac2b9f875ac7cf699eb9ee17adb8678ed8d4a796130bbb60f05431207adb68f490b7a7a41600acbc16a3cc08d55f22d91a13e53fe3d835a322709ee3446c9f

@ -1,27 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_6} pypy3 )
inherit distutils-r1
DESCRIPTION="Dead-simple Object-XML mapper for Python"
HOMEPAGE="https://pypi.org/project/dexml/"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND=""
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
"
python_test() {
esetup.py test
}

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
<remote-id type="pypi">dexml</remote-id>
<doc>http://pythonhosted.org/dexml/</doc>
<maintainer status="unknown">
<email>ryan@rfk.id.au</email>
<name>Ryan Kelly</name>
</maintainer>
</upstream>
</pkgmetadata>

@ -1 +0,0 @@
DIST django-durationfield-0.5.4.tar.gz 4728 BLAKE2B 446a5b361cc54bcc2ae375caebfe2eda64114e3e326e7d60fc8d4ebe5c6acf59d80e12e246ecf5ca7edf44a1f1068bc3b17d841b4d39c7317211c87fc03aacd5 SHA512 84885ab7bb07ed3c5a64094a2beb7d4adcf8b0f9f2933ad2c1d4654789bd71aa7d2efd5c84931f22f81a51e8aaeb3ed9415a12c69dfd7354c2317ea912fdc610

@ -1,26 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="Reusable app for adding a DurationField to Django"
HOMEPAGE="https://pypi.org/project/django-durationfield/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
KEYWORDS="~amd64 ~x86"
SLOT="0"
IUSE=""
RDEPEND="
>=dev-python/django-1.4[${PYTHON_USEDEP}]
"
DEPEND="
${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
"

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">django-durationfield</remote-id>
</upstream>
</pkgmetadata>

@ -1 +0,0 @@
DIST django-setuptest-0.2.1.tar.gz 7131 BLAKE2B 5afd3106c9f02da2b8d63a21e90c68db97a38f67ca36feafa6e798f9f3106f81cedc94a3155d777f78f43e549fb5656245518d5a812fb30513c59cb24d8da98b SHA512 de0ba14ca451974ffa10b2fe822e6a7a927f2009dd1cc345abd6d4b192a5d9dbd1c9034463cbfbc8b5b66ab35d694282513a33dc55e8c1b0385fa32619c3f31d

@ -1,23 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="Simple test suite enabling Django app testing via setup.py"
HOMEPAGE="https://github.com/praekelt/django-setuptest"
SRC_URI="https://github.com/praekelt/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND="dev-python/pep8[${PYTHON_USEDEP}]
dev-python/coverage[${PYTHON_USEDEP}]
dev-python/django[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
<remote-id type="github">praekelt/django-setuptest</remote-id>
</upstream>
</pkgmetadata>

@ -1 +0,0 @@
DIST django-spurl-0.6.4.tar.gz 15076 BLAKE2B e576d6b309c0ff03cbc095363083c7a71c9ae764bc3f92d0f8790d458e2173f5df8a4e89d6999c672180408b443b0d4f84617719cc4ff06cec24156c472c2584 SHA512 8bf7c4d4e7e624280f87584f70e73504a11973a44294591d9dd58dd563d63dd1deb395e42bb1110e0a534ac16b59280d3b29f4293865cc465ee1fce20987d267

@ -1,28 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="A Django template library for manipulating URLs"
HOMEPAGE="https://pypi.org/project/django-spurl/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
KEYWORDS="~amd64 ~x86"
SLOT="0"
IUSE=""
RDEPEND="
>=dev-python/django-1.4
dev-python/six
dev-python/nose
dev-python/URLObject
"
DEPEND="
${RDEPEND}
dev-python/setuptools
"

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">django-spurl</remote-id>
</upstream>
</pkgmetadata>

@ -1 +0,0 @@
DIST filemagic-1.6.tar.gz 16754 BLAKE2B 248de7f4c900f693d56197828b96bcdbfae451e17948abc1f59105b5dd78bdcb662e5d7751927128e7ae2b4cea086b5c095f34ba0fbbd73d8acce569e77e943a SHA512 2b33b55467d14697ddcee2b1cb69eb41dd51474d2d8d095873f6f6609d77efa295a91bc9b976c9af22983a7cc801e1ea1e55163c18c5b6a41c4e1ff9cf73bb47

@ -1,19 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="A Python API for libmagic, the library behind the Unix file command"
HOMEPAGE="https://pypi.org/project/filemagic/ https://github.com/aliles/filemagic"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE=""
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
sys-apps/file"
RDEPEND=""

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription>
A Python API for libmagic, the library behind the Unix file command
</longdescription>
<upstream>
<remote-id type="github">aliles/filemagic</remote-id>
<remote-id type="pypi">filemagic</remote-id>
</upstream>
</pkgmetadata>

@ -1 +0,0 @@
DIST flask-bootstrap-3.3.7.1.tar.gz 490821 BLAKE2B 48773fa1632a9b34284af90924d0d7c6bbe06e43c30b09e72747072d4cdead88a08a1d95a661548709cc46cb9d9c9c017835cd6537ec1a23993fe79cfef31662 SHA512 010c71f69a95cb51afb449d1b43cb345ad23815ea89b368281f721a2af13cf2c143d67b586114898450d8e7fec413f45ff042cfca3dc1183cb0f50566e39fdc3

@ -1,59 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="An extension that includes Bootstrap in your project, without boilerplate code"
HOMEPAGE="https://pythonhosted.org/Flask-Bootstrap/"
# PyPI tarballs don't include tests
# https://github.com/mbr/flask-bootstrap/pull/134
SRC_URI="https://github.com/mbr/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc test"
RESTRICT="!test? ( test )"
RDEPEND="
dev-python/dominate[${PYTHON_USEDEP}]
dev-python/flask[${PYTHON_USEDEP}]
dev-python/markupsafe[${PYTHON_USEDEP}]
dev-python/visitor[${PYTHON_USEDEP}]
dev-python/wtforms[${PYTHON_USEDEP}]
"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
dev-python/flask-appconfig[${PYTHON_USEDEP}]
dev-python/flask-debug[${PYTHON_USEDEP}]
dev-python/flask-nav[${PYTHON_USEDEP}]
dev-python/flask-wtf[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
${RDEPEND}
)
doc? (
dev-python/alabaster[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
)
"
python_prepare_all() {
sed -i "s/, 'sphinx.ext.intersphinx'//" docs/conf.py || die
distutils-r1_python_prepare_all
}
python_compile_all() {
if use doc; then
sphinx-build docs docs/_build/html || die
HTML_DOCS=( docs/_build/html/. )
fi
}
python_test() {
# Skip one test which requires network access
py.test -k "not test_versions_match" || die "Tests failed with ${EPYTHON}"
}

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sbraz@gentoo.org</email>
<name>Louis Sautier</name>
</maintainer>
<upstream>
<remote-id type="pypi">flask-bootstrap</remote-id>
<remote-id type="github">mbr/flask-bootstrap</remote-id>
<bugs-to>https://github.com/mbr/flask-bootstrap/issues</bugs-to>
</upstream>
</pkgmetadata>

@ -1 +0,0 @@
DIST ipdbplugin-1.4.tar.gz 2473 BLAKE2B d69c6f2a45738bf10a18e9db194530efa21f8d32bd69d5ccd279eb50f07bd5c8b369bcdde92dc2e9b8b417864a49c308c83649bb66bcaf8ec380101284363c7d SHA512 5831d1e9aceb2fe4db272975d4d792622822049813ba76bdc0ee48dee001339084efddf534882775922ec178c1bcd52954bc2df1ce42181cbfdd1c3c4b944365

@ -1,29 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="Nose plugin to use iPdb instead of Pdb when tests fail"
HOMEPAGE="https://pypi.org/project/ipdbplugin/"
if [[ ${PV} == "9999" ]] ; then
inherit git-r3
SRC_URI=""
EGIT_REPO_URI="https://github.com/flavioamieiro/nose-ipdb.git"
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="LGPL-2"
SLOT="0"
IUSE=""
RDEPEND="dev-python/ipython[${PYTHON_USEDEP}]
dev-python/ipdb
dev-python/nose"
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]"

@ -1,29 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="Nose plugin to use iPdb instead of Pdb when tests fail"
HOMEPAGE="https://pypi.org/project/ipdbplugin/"
if [[ ${PV} == "9999" ]] ; then
inherit git-r3
SRC_URI=""
EGIT_REPO_URI="https://github.com/flavioamieiro/nose-ipdb.git"
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="LGPL-2"
SLOT="0"
IUSE=""
RDEPEND="dev-python/ipython[${PYTHON_USEDEP}]
dev-python/ipdb
dev-python/nose"
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]"

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">ipdbplugin</remote-id>
</upstream>
</pkgmetadata>

@ -1 +0,0 @@
DIST junit-xml-1.8.tar.gz 9995 BLAKE2B 29dcd9053e3d02dffce537318458f9924aff78df2f465ffb1a92affcf84734c81cd9a951523fa8b6edf09e871acaa426d7a755ae167279c9954660737a44062c SHA512 8fcef94ea73a77ad597bb3280578f0fea86573b779eb4aea1e458e55f1866637a7b43aa04502a65ecb1f2a7403cc61a76ccd35feb4b69eeb6fdc8352914d61a4

@ -1,29 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="Python module for creating JUnit XML test result documents"
HOMEPAGE="https://pypi.org/project/junit-xml https://github.com/kyrus/python-junit-xml"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
)"
python_test() {
py.test -v || die "testing failed with ${EPYTHON}"
}

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python Project</name>
</maintainer>
<upstream>
<remote-id type="pypi">junit-xml</remote-id>
<remote-id type="github">kyrus/python-junit-xml</remote-id>
</upstream>
</pkgmetadata>

@ -1 +0,0 @@
DIST kivy-garden-0.1.4.tar.gz 6849 BLAKE2B 944d84ce9057db64c1435d9e4f5e4b8d7e812cac39a7ef536974f5b4a4e525d2ed7dc8c214db75d20cf87bdd1effa9e1312d979e264bb93a5edaf4cf43c7441d SHA512 69b8fa2e2e80cc215eaad0eca78e1e207726ef2f611ba328863191580c19e77de970347b206c82927d92fbc821811956f8c45ac3613dafb2db706a491c50585f

@ -1,10 +0,0 @@
--- a/setup.py.orig 2014-04-02 08:48:05.906881843 +0200
+++ b/setup.py 2014-04-02 08:48:16.650214908 +0200
@@ -8,6 +8,6 @@
version='0.1.1',
license='MIT',
packages=['garden'],
- scripts=['bin/garden', 'bin/garden.bat'],
+ scripts=['bin/kivy-garden'],
install_requires=['requests'],
)

@ -1,36 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="Kivys Garden tool to manage flowers"
HOMEPAGE="http://kivy-garden.github.io/"
SRC_URI="https://pypi.io/packages/source/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
DEPEND="
dev-python/requests[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
"
RDEPEND="${DEPEND}"
S="${WORKDIR}/garden-${PV}"
PATCHES=( "${FILESDIR}/remove_bat-${PV}.patch" )
src_prepare() {
distutils-r1_src_prepare
mv "${S}/bin/garden" "${S}/bin/kivy-garden" || die
}
pkg_postinst() {
einfo "Kivy's garden tool is installed as kivy-garden"
}

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription>
Tool to manage the installation, removal of flowers at https://github.com/kivy-garden/
They are a set of user maintained widgets, extensions, tools for kivy(http://kivy.org) framework.
</longdescription>
<upstream>
<remote-id type="pypi">kivy-garden</remote-id>
</upstream>
</pkgmetadata>

@ -0,0 +1,20 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} pypy3 )
inherit distutils-r1
DESCRIPTION="Module for RAR archive reading"
HOMEPAGE="https://github.com/markokr/rarfile"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="ISC"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+compressed"
RDEPEND="compressed? ( || ( app-arch/unrar app-arch/rar ) )"
distutils_enable_tests nose

@ -1 +0,0 @@
DIST rst2pdf-0.93.tar.gz 1216483 BLAKE2B 478b5e704a2c8a85474e728472807909f70e24ade78f2aba986308919e6716c4b0d576556b3509a358f36be03508f837e3b680a16b8c01e2ee51e522931d9237 SHA512 dfdc6adeb06f4ef3d5fc52b91be1939e9cab25a1979685512f9a05e3da1ee65b84e47478613148401175a06fbfdccf5494918de6281419a0981987d398e836ee

@ -1,26 +0,0 @@
--- rst2pdf/log.py
+++ rst2pdf/log.py
@@ -4,11 +4,12 @@
import logging
import sys
-logging.basicConfig(
- format='[%(levelname)s] %(filename)s:%(lineno)d %(message)s',
- level=logging.WARNING)
-
log = logging.getLogger('rst2pdf')
+_fmt = logging.Formatter('[%(levelname)s] %(filename)s:%(lineno)d %(message)s')
+_hdlr = logging.StreamHandler()
+_hdlr.setFormatter(_fmt)
+log.addHandler(_hdlr)
+log.setLevel(logging.WARNING)
def nodeid(node):
"""Given a node, tries to return a way to see where it was in the
@@ -23,4 +24,4 @@
if node.source: fname=str(node.source)
except:
pass
- return 'near line %s in file %s'%(line,fname)
\ No newline at end of file
+ return 'near line %s in file %s'%(line,fname)

@ -1,9 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<remote-id type="google-code">rst2pdf</remote-id>
<remote-id type="github">rst2pdf/rst2pdf</remote-id>
</upstream>
</pkgmetadata>

@ -1,47 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python2_7 )
inherit distutils-r1
DESCRIPTION="Tool for transforming reStructuredText to PDF using ReportLab"
HOMEPAGE="http://rst2pdf.ralsina.me/ https://pypi.org/project/rst2pdf/"
SRC_URI="https://github.com/rst2pdf/rst2pdf/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ppc ppc64 sparc x86"
IUSE="svg"
DEPEND="dev-python/docutils[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP}]
dev-python/pdfrw[${PYTHON_USEDEP}]
dev-python/pygments[${PYTHON_USEDEP}]
>=dev-python/reportlab-2.6[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
svg? ( media-gfx/svg2rlg )"
RDEPEND="${DEPEND}"
# >=reportlab-2.6: https://code.google.com/p/rst2pdf/issues/detail?id=474
PATCHES=( "${FILESDIR}/${P}-fix-logging.patch" )
python_install_all() {
dodoc doc/*.pdf
doman doc/rst2pdf.1
distutils-r1_python_install_all
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]]; then
elog "rst2pdf can work with the following packages for additional functionality:"
elog " dev-python/sphinx - versatile documentation creation"
elog " dev-python/pythonmagick - image processing with ImageMagick"
elog " dev-python/matplotlib - mathematical formulae"
elog "It can also use wordaxe for hyphenation, but this package is not"
elog "available in the portage tree yet. Please refer to the manual"
elog "installed in /usr/share/doc/${PF}/ for more information."
fi
}

Binary file not shown.

@ -1 +0,0 @@
DIST bumpversion-0.5.3.tar.gz 16596 BLAKE2B ecd9e999241d0d77161529344d9f83859ab1083c323524f91f84802ff74aa8e9d4d95126b65c685e04183cf7907732f2ad734938db7aa03dfb9e334a1d24222c SHA512 2dc507be98838e4a389502cbdae08d23bad465b171923e15c40ae16da2cc9529c71dfc40213c47d23da363257b363fd5786a5661a4a6d6b568b5f8b2cf8af959

@ -1,34 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="Version-bump your software with a single command"
HOMEPAGE="https://pypi.org/project/bumpversion/ https://github.com/peritus/bumpversion"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="MIT"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="test"
RDEPEND=""
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
dev-python/mock[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
)
"
# Not included
# https://github.com/peritus/bumpversion/issues/108
RESTRICT=test
python_test() {
py.test || die
}

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">bumpversion</remote-id>
<remote-id type="github">peritus/bumpversion</remote-id>
</upstream>
</pkgmetadata>

@ -0,0 +1,25 @@
--- a/mk/clang.mk
+++ b/mk/clang.mk
@@ -3,7 +3,8 @@ _INCLUDE_MK_CLANG_=1
CC?=clang
RANLIB=ranlib
ONELIB=0
-CC_AR=ar q ${LIBAR}
+AR?=ar
+CC_AR=$(AR) q ${LIBAR}
CFLAGS+=-MD
CFLAGS_INCLUDE=-I
LDFLAGS_LINK=-l
--- a/mk/gcc.mk
+++ b/mk/gcc.mk
@@ -4,7 +4,8 @@ CC?=gcc
OBJCOPY=objcopy
RANLIB=ranlib
ONELIB=0
-CC_AR=ar q ${LIBAR}
+AR?=ar
+CC_AR=$(AR) q ${LIBAR}
CFLAGS+=-MD
CFLAGS_INCLUDE=-I
LDFLAGS_LINK=-l

@ -0,0 +1,24 @@
--- a/mk/clang.mk
+++ b/mk/clang.mk
@@ -1,7 +1,7 @@
ifeq (${_INCLUDE_MK_CLANG_},)
_INCLUDE_MK_CLANG_=1
CC?=clang
-RANLIB=ranlib
+RANLIB?=ranlib
ONELIB=0
AR?=ar
CC_AR=$(AR) q ${LIBAR}
--- a/mk/gcc.mk
+++ b/mk/gcc.mk
@@ -1,8 +1,8 @@
ifeq (${_INCLUDE_MK_GCC_},)
_INCLUDE_MK_GCC_=1
CC?=gcc
-OBJCOPY=objcopy
-RANLIB=ranlib
+OBJCOPY?=objcopy
+RANLIB?=ranlib
ONELIB=0
AR?=ar
CC_AR=$(AR) q ${LIBAR}

@ -0,0 +1,65 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit bash-completion-r1 eutils toolchain-funcs
DESCRIPTION="unix-like reverse engineering framework and commandline tools"
HOMEPAGE="http://www.radare.org"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/radareorg/radare2"
else
SRC_URI="https://github.com/radareorg/radare2/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="ssl libressl"
RDEPEND="
dev-libs/capstone:0=
ssl? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
)
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-4.4.0-AR.patch
"${FILESDIR}"/${PN}-4.4.0-RANLIB.patch
)
src_configure() {
# Ideally these should be set by ./configure
tc-export CC AR LD OBJCOPY RANLIB
export HOST_CC=${CC}
econf \
--without-libuv \
--with-syscapstone \
$(use_with ssl openssl)
}
src_install() {
default
insinto /usr/share/zsh/site-functions
doins doc/zsh/_*
newbashcomp doc/bash_autocompletion.sh "${PN}"
bashcomp_alias "${PN}" rafind2 r2 rabin2 rasm2 radiff2
# a workaround for unstable $(INSTALL) call, bug #574866
local d
for d in doc/*; do
if [[ -d $d ]]; then
rm -rfv "$d" || die "failed to delete '$d'"
fi
done
}

@ -1 +1,3 @@
DIST crystal-molinillo-0.1.0.tar.gz 23932 BLAKE2B c9bcd707a3208f5d80e6e3030523d50f86cb5977799de8ea6035d014094e3c2fff9bb189fa98f566e72e1e7ad161e47e44c89d9b264d47f109b2e891ecb469e5 SHA512 8d74d95896cd7ff510c87e2ffba6ae5f04ceeddde574930ee609851312b65d713a315cc24f9aa3fab02f9447ccb25ef2dd2e8179640b8c5cfb3d7d6b52d1ded5
DIST shards-0.10.0.tar.gz 39507 BLAKE2B f6b6034a626500d0459e01be73de28506dc2efe116a5f662b27edb6cbe363cf4bb3184fcce83838e02dec4db18355a85737b4783560b7d94b643145d08581174 SHA512 8d41a2553fd99bd44a3e8a9aacbd17f2a1e9f8730f90c4682091e8d2a4f2388818bdfc4e4bf654c3cbebd617a74474fb63f1fb86a62998cf79409d4778649757
DIST shards-0.9.0.tar.gz 41280 BLAKE2B a74ab96489c804da3017dc683295d1fc16ba30248015af9deccdcf52a09301f665d4848822419d263d2301969c484fae288eff63e281bd4841b1fd101c5d5383 SHA512 a06579f1a96cea1fb1ba97c17ae4529439fb7c54572e74b4969921b1a987a1e1be9c9eb8569db94fd4cb4adc098b3085abfd2a6f7015da7f39611a1774d30022

@ -0,0 +1,42 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
CRYSTAL_MOLINILLO_PV=0.1.0
CRYSTAL_MOLINILLO_P=crystal-molinillo-${CRYSTAL_MOLINILLO_PV}
DESCRIPTION="Dependency manager for the Crystal language"
HOMEPAGE="https://github.com/crystal-lang/shards"
SRC_URI="
https://github.com/crystal-lang/shards/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/crystal-lang/crystal-molinillo/archive/v${CRYSTAL_MOLINILLO_PV}.tar.gz -> ${CRYSTAL_MOLINILLO_P}.tar.gz
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="
>dev-lang/crystal-0.11.1[yaml]
"
RDEPEND="${DEPEND}"
RESTRICT=test # missing files in tarball
src_prepare() {
default
# bundle crystal-molinillo to bootstrap 'shards'
mkdir -p lib || die
ln -s ../../${CRYSTAL_MOLINILLO_P} lib/molinillo || die
tc-export CC
}
src_install() {
dobin bin/${PN}
dodoc README.md
}

@ -1 +0,0 @@
DIST spec-cleaner-1.0.7.tar.gz 450429 BLAKE2B 7ec57076f13c526ca10524a3852a26ddee4581137357dd593312cc1b55d908311c9146ac2b9c0a5f0ea491a2e1cec8b8a3e5dba25467881f656d43872bd69f5f SHA512 705fc3b9d5b927a64bd19bbf6c826464e40ec6b3cc97cd032417f8e4debac721c7e5f0c99e02fafbb5ce3454424a8b398a7827779b0a308549955ecac33d39c7

@ -1,11 +0,0 @@
--- a/setup.py 2018-03-19 15:23:46.128000000 +0000
+++ b/setup.py 2018-03-19 15:24:26.920000000 +0000
@@ -43,7 +43,6 @@
platforms=['Linux'],
keywords=['SUSE', 'RPM', '.spec', 'cleaner'],
- setup_requires=['pytest-runner'],
- tests_require=['pytest', 'pytest-cov'],
+ tests_require=['pytest'],
packages=['spec_cleaner'],

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<remote-id type="github">openSUSE/spec-cleaner</remote-id>
</upstream>
</pkgmetadata>

@ -1,49 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
EGIT_REPO_URI="https://github.com/openSUSE/spec-cleaner.git"
inherit distutils-r1
[[ ${PV} == 9999 ]] && inherit git-r3
DESCRIPTION="SUSE spec file cleaner and formatter"
HOMEPAGE="https://github.com/openSUSE/spec-cleaner"
[[ ${PV} != 9999 ]] && SRC_URI="https://github.com/openSUSE/${PN}/archive/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
[[ ${PV} != 9999 ]] &&
KEYWORDS="~amd64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
DEPEND="
test? (
dev-python/pytest[${PYTHON_USEDEP}]
)
"
RDEPEND="
${PYTHON_DEPS}
>=app-arch/rpm-4.11.0.1
"
PATCHES=(
# pytest-runner is only needed in test scenario
"${FILESDIR}/${PN}-1.0.6-pytest-runner.patch"
)
[[ ${PV} != 9999 ]] && S="${WORKDIR}/${PN}-${P}"
src_prepare() {
# we have libexec
sed -i \
-e 's:lib/obs:libexec/obs:g' \
setup.py || die
distutils-r1_src_prepare
}
python_test() {
esetup.py test
}

@ -1,49 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
EGIT_REPO_URI="https://github.com/openSUSE/spec-cleaner.git"
inherit distutils-r1
[[ ${PV} == 9999 ]] && inherit git-r3
DESCRIPTION="SUSE spec file cleaner and formatter"
HOMEPAGE="https://github.com/openSUSE/spec-cleaner"
[[ ${PV} != 9999 ]] && SRC_URI="https://github.com/openSUSE/${PN}/archive/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
[[ ${PV} != 9999 ]] &&
KEYWORDS="~amd64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
DEPEND="
test? (
dev-python/pytest[${PYTHON_USEDEP}]
)
"
RDEPEND="
${PYTHON_DEPS}
>=app-arch/rpm-4.11.0.1
"
PATCHES=(
# pytest-runner is only needed in test scenario
"${FILESDIR}/${PN}-1.0.6-pytest-runner.patch"
)
[[ ${PV} != 9999 ]] && S="${WORKDIR}/${PN}-${P}"
src_prepare() {
# we have libexec
sed -i \
-e 's:lib/obs:libexec/obs:g' \
setup.py || die
distutils-r1_src_prepare
}
python_test() {
esetup.py test
}

Binary file not shown.

@ -1 +0,0 @@
DIST ghp-import-0.4.1.tar.gz 5002 BLAKE2B 667a40c0d852799e97d295df76d17d50017880afc9b2daa27d49444da84c791af619dea06b282e15c4d627a9584a23c2aa9fafcf45d9e0e924f9a6a966d071b6 SHA512 8b0e6578f05dc74449082a840ccd609a43fba3ca1c4dffacaddc4b27d2e9e3eac565a5c9672734e6ec5f2e8872b13ae0bb8a5d6bae4ee6c4cf41ef7d2c0b2eda

@ -1,32 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="Copy your docs directly to the gh-pages branch"
HOMEPAGE="https://github.com/davisp/ghp-import"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="tumbolia"
SLOT="0"
KEYWORDS="amd64"
IUSE=""
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND=""
python_prepare_all() {
ebegin 'patching setup.py'
sed \
-e '4ifrom codecs import open\n' \
-e '/LONG_DESC/s/))/), encoding = "utf-8")/' \
-i setup.py
STATUS=${?}
eend ${STATUS}
[[ ${STATUS} -gt 0 ]] && die
distutils-r1_python_prepare_all
}

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!--maintainer-needed-->
<upstream>
<remote-id type="pypi">ghp-import</remote-id>
<remote-id type="github">davisp/ghp-import</remote-id>
</upstream>
</pkgmetadata>

@ -1 +0,0 @@
DIST git-imerge-1.0.0.tar.gz 58736 BLAKE2B 16665436d10d07058eeadab5d53a2325d68174f6fcf1748948d0fc4fbe11ab4fca87853bb557e167b0f485351aedd72889fcedaa70f09439d7e66b75a61d318b SHA512 919b80f157d635e3a3eb2b05cfaf8f6a7034fe6f43529c829fef0152007bce3bf5b296cc00f6db0c0a711bfb9e118c4adb0f5a2641ff841c973ff12610473e9b

@ -1,267 +0,0 @@
__git_imerge_branches () {
git for-each-ref --format='%(refname)' refs/heads/ refs/remotes/ 2>/dev/null |
sed -e 's!^refs/heads/!!' -e 's!^refs/remotes/!!'
}
__git_imerge_names () {
git for-each-ref --format='%(refname)' refs/imerge/ 2>/dev/null |
sed -e 's/^refs\/imerge\/\(.*\)\/.*/\1/' -e '/manual/d' -e '/auto/d'
}
__git_imerge_goals="\
merge
rebase
rebase-with-history
full
"
__git_imerge_commands="\
start
merge
rebase
continue
finish
diagram
list
init
record
autofill
simplify
remove
reparent
"
__git_imerge_start_options="\
--help
--manual
--name
--branch
--goal
--first-parent
"
__git_imerge_init_options=$__git_imerge_start_options
__git_imerge_continue_options="\
--help
--name
--edit
--no-edit
"
__git_imerge_finish_options="\
--help
--name
--goal
--branch
--force
"
__git_imerge_simplify_options=$__git_imerge_finish_options
__git_imerge_merge_options="\
--help
--name
--goal
--branch
--manual
"
__git_imerge_list_options="\
--help
"
__git_imerge_reparent_options=$__git_imerge_list_options
__git_imerge_record_options="\
--help
--name
--edit
--no-edit
"
__git_imerge_autofill_options="\
--help
--name
"
__git_imerge_diagram_options="\
--help
--name
--commits
--frontier
--html
--color
--no-color
"
__git_imerge_remove_options=$__git_imerge_autofill_options
__git_imerge_rebase_options=$__git_imerge_merge_options
__git-imerge_start_completion() {
case "$1_$cur" in
--help_|--branch_|_--branch=|--name_|_--name=)
return
;;
--goal_*|*_--goal=*)
__gitcomp "$__git_imerge_goals" "" "${cur##--goal=}"
return
;;
*-|*_-*?)
__gitcomp "$__git_imerge_start_options"
return
;;
esac
__gitcomp "$(__git_imerge_branches)"
}
__git-imerge_init_completion() {
__git-imerge_start_completion $1
}
__git-imerge_continue_completion() {
case "$1_$cur" in
--help_)
return
;;
--name_*|*_--name=*)
__gitcomp "$(__git_imerge_names)" "" "${cur##--name=}"
return
;;
esac
__gitcomp "$__git_imerge_continue_options"
}
__git-imerge_finish_completion() {
case "$1_$cur" in
--help_)
return
;;
--goal_*|*_--goal=*)
__gitcomp "$__git_imerge_goals" "" "${cur##--goal=}"
return
;;
--branch_*|*_--branch=*)
__gitcomp "$(__git_imerge_branches)" "" "${cur##--branch=}"
return
;;
--name_*|*_--name=*)
__gitcomp "$(__git_imerge_names)" "" "${cur##--name=}"
return
;;
esac
__gitcomp "$__git_imerge_finish_options"
}
__git-imerge_simplify_completion() {
__git-imerge_finish_completion $1
}
__git-imerge_merge_completion() {
case "$1_$cur" in
--help_|--branch_|_--branch=|--name_|_--name=)
return
;;
--goal_*|*_--goal=*)
__gitcomp "$__git_imerge_goals" "" "${cur##--goal=}"
return
;;
*-|*_-*?)
__gitcomp "$__git_imerge_merge_options"
return
;;
esac
__gitcomp "$(__git_imerge_branches)"
}
__git-imerge_rebase_completion() {
__git-imerge_merge_completion $1
}
__git-imerge_list_completion() {
case "$1" in
--help)
return
;;
esac
__gitcomp "$__git_imerge_list_options"
}
__git-imerge_reparent_completion() {
__git-imerge_list_completion $1
}
__git-imerge_record_completion() {
case "$1_$cur" in
--help_)
return
;;
--name_*|*_--name=*)
__gitcomp "$(__git_imerge_names)" "" "${cur##--name=}"
return
;;
esac
__gitcomp "$__git_imerge_record_options"
}
__git-imerge_autofill_completion() {
case "$1_$cur" in
--help_)
return
;;
--name_*|*_--name=*)
__gitcomp "$(__git_imerge_names)" "" "${cur##--name=}"
return
;;
esac
__gitcomp "$__git_imerge_autofill_options"
}
__git-imerge_remove_completion() {
__git-imerge_autofill_completion $1
}
__git-imerge_diagram_completion() {
case "$1_$cur" in
--help_|--html_|_--html=)
return
;;
--name_*|*_--name=*)
__gitcomp "$(__git_imerge_names)" "" "${cur##--name=}"
return
;;
esac
__gitcomp "$__git_imerge_diagram_options"
}
_git_imerge () {
# Disable default filename completion. Note that "compopt" is only
# available in Bash 4 and newer, so we check for existence before
# trying to use it.
type compopt >/dev/null 2>&1 && compopt +o default +o bashdefault
local i command cur_opt
for ((i=0; i <= ${cword}; i++)); do
if [ -n "$command" ] && [ "${words[i]}" != "$cur" ]; then
cur_opt="${words[i]}"
fi
if [ -z "$command" ] && \
[ "$i" -lt "${cword}" ] && \
[[ "${words[i-1]}" == *"imerge"* ]]
then
command="${words[i]}"
fi
done
if test -z "$command"; then
__gitcomp "$__git_imerge_commands"
return
fi
if [ -z `type -t __git-imerge_"$command"_completion "$cur_opt"` ]; then
return
fi
__git-imerge_"$command"_completion "$cur_opt"
}

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

Loading…
Cancel
Save