parent
d6a48f28e6
commit
f6b9212d8c
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
|||||||
DIST neovim-0.4.3.tar.gz 9556199 BLAKE2B 831f4d4950f4fa2cd9c7393824bbb5eb571ae5759d13af9f320e0fa351fa155413a5be580f010f2c7ab43ca7bc10c569ccf6e3ba29efc7f5a035576b030b216d SHA512 e13853fa296eda8618f389c71b6cbbd6f01d561615e80cc92959131dd10e395b1c6732a7d9ef6dbb9fe3ea9da4c11485b464547e2d46b22e59b8a20214e861f5
|
DIST neovim-0.4.3.tar.gz 9556199 BLAKE2B 831f4d4950f4fa2cd9c7393824bbb5eb571ae5759d13af9f320e0fa351fa155413a5be580f010f2c7ab43ca7bc10c569ccf6e3ba29efc7f5a035576b030b216d SHA512 e13853fa296eda8618f389c71b6cbbd6f01d561615e80cc92959131dd10e395b1c6732a7d9ef6dbb9fe3ea9da4c11485b464547e2d46b22e59b8a20214e861f5
|
||||||
|
DIST neovim-0.4.4.tar.gz 9558246 BLAKE2B b1d44898bb1e1ab40a7e1d7fb4448076c991ebe1a0956674548de82fe7a931d9eaffbf35ba03cf9c88466dcd628a55f1d7bf9e7a13f3dad74424d6d653ded60c SHA512 ca5c2fe1784ac7b0d2117948ba2e9ae5d94e36d22ff9e0967047e1e03e605537672d85543897af335103215ad462c86962f25267d352a77d61bc3d1cafb3c183
|
||||||
|
@ -0,0 +1,225 @@
|
|||||||
|
From ebcde1de42588e697e0f4eaed9f6f0ea6a77a2cd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Schneider <asn@cryptomilk.org>
|
||||||
|
Date: Mon, 17 Feb 2020 16:33:55 +0100
|
||||||
|
Subject: [PATCH 1/6] nvim:eval: Fix enum declaration for ListLenSpecials
|
||||||
|
|
||||||
|
Instead of declaring an enum, this creates a global variable. As gcc10
|
||||||
|
uses -fno-common by default, global variables declared with the same
|
||||||
|
name more than once is not allowed anymore revealing this issue.
|
||||||
|
|
||||||
|
Each time this header is included, we define the enum name as a global
|
||||||
|
variable.
|
||||||
|
|
||||||
|
See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680
|
||||||
|
---
|
||||||
|
src/nvim/eval/typval.h | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/nvim/eval/typval.h b/src/nvim/eval/typval.h
|
||||||
|
index 008453b87f2f..5afdedff751b 100644
|
||||||
|
--- a/src/nvim/eval/typval.h
|
||||||
|
+++ b/src/nvim/eval/typval.h
|
||||||
|
@@ -33,7 +33,7 @@ typedef double float_T;
|
||||||
|
enum { DO_NOT_FREE_CNT = (INT_MAX / 2) };
|
||||||
|
|
||||||
|
/// Additional values for tv_list_alloc() len argument
|
||||||
|
-enum {
|
||||||
|
+enum ListLenSpecials {
|
||||||
|
/// List length is not known in advance
|
||||||
|
///
|
||||||
|
/// To be used when there is neither a way to know how many elements will be
|
||||||
|
@@ -49,7 +49,7 @@ enum {
|
||||||
|
///
|
||||||
|
/// To be used when it looks impractical to determine list length.
|
||||||
|
kListLenMayKnow = -3,
|
||||||
|
-} ListLenSpecials;
|
||||||
|
+};
|
||||||
|
|
||||||
|
/// Maximal possible value of varnumber_T variable
|
||||||
|
#define VARNUMBER_MAX INT64_MAX
|
||||||
|
|
||||||
|
From b87b4a61476bb65e9200bd2ee93b8a98ca4db84e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Schneider <asn@cryptomilk.org>
|
||||||
|
Date: Mon, 17 Feb 2020 17:17:37 +0100
|
||||||
|
Subject: [PATCH 2/6] nvim:viml: Fix enum declaration of ExprParserFlags
|
||||||
|
|
||||||
|
Instead of declaring an enum, this creates a global variable. As gcc10
|
||||||
|
uses -fno-common by default, global variables declared with the same
|
||||||
|
name more than once is not allowed anymore revealing this issue.
|
||||||
|
|
||||||
|
Each time this header is included, we define the enum name as a global
|
||||||
|
variable.
|
||||||
|
|
||||||
|
See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680
|
||||||
|
---
|
||||||
|
src/nvim/viml/parser/expressions.h | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/nvim/viml/parser/expressions.h b/src/nvim/viml/parser/expressions.h
|
||||||
|
index 23e172da75b2..838a74227182 100644
|
||||||
|
--- a/src/nvim/viml/parser/expressions.h
|
||||||
|
+++ b/src/nvim/viml/parser/expressions.h
|
||||||
|
@@ -326,7 +326,7 @@ struct expr_ast_node {
|
||||||
|
} data;
|
||||||
|
};
|
||||||
|
|
||||||
|
-enum {
|
||||||
|
+enum ExprParserFlags {
|
||||||
|
/// Allow multiple expressions in a row: e.g. for :echo
|
||||||
|
///
|
||||||
|
/// Parser will still parse only one of them though.
|
||||||
|
@@ -345,7 +345,7 @@ enum {
|
||||||
|
// viml_expressions_parser.c, nvim_parse_expression() flags parsing
|
||||||
|
// alongside with its documentation and flag sets in check_parsing()
|
||||||
|
// function in expressions parser functional and unit tests.
|
||||||
|
-} ExprParserFlags;
|
||||||
|
+};
|
||||||
|
|
||||||
|
/// AST error definition
|
||||||
|
typedef struct {
|
||||||
|
|
||||||
|
From 986db1adb491b5cb5936d2369816236847af26da Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Schneider <asn@cryptomilk.org>
|
||||||
|
Date: Mon, 17 Feb 2020 16:36:21 +0100
|
||||||
|
Subject: [PATCH 3/6] nvim: Fix enum declaration of RemapValues
|
||||||
|
|
||||||
|
Instead of declaring an enum, this creates a global variable. As gcc10
|
||||||
|
uses -fno-common by default, global variables declared with the same
|
||||||
|
name more than once is not allowed anymore revealing this issue.
|
||||||
|
|
||||||
|
Each time this header is included, we define the enum name as a global
|
||||||
|
variable.
|
||||||
|
|
||||||
|
See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680
|
||||||
|
---
|
||||||
|
src/nvim/getchar.h | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/nvim/getchar.h b/src/nvim/getchar.h
|
||||||
|
index 01f60ccf4945..f0b52079aad1 100644
|
||||||
|
--- a/src/nvim/getchar.h
|
||||||
|
+++ b/src/nvim/getchar.h
|
||||||
|
@@ -10,12 +10,12 @@
|
||||||
|
/// Values for "noremap" argument of ins_typebuf()
|
||||||
|
///
|
||||||
|
/// Also used for map->m_noremap and menu->noremap[].
|
||||||
|
-enum {
|
||||||
|
+enum RemapValues {
|
||||||
|
REMAP_YES = 0, ///< Allow remapping.
|
||||||
|
REMAP_NONE = -1, ///< No remapping.
|
||||||
|
REMAP_SCRIPT = -2, ///< Remap script-local mappings only.
|
||||||
|
REMAP_SKIP = -3, ///< No remapping for first char.
|
||||||
|
-} RemapValues;
|
||||||
|
+};
|
||||||
|
|
||||||
|
// Argument for flush_buffers().
|
||||||
|
typedef enum {
|
||||||
|
|
||||||
|
From 517bf15603aba37014b62553eb008e26f2a1db48 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Schneider <asn@cryptomilk.org>
|
||||||
|
Date: Mon, 17 Feb 2020 16:40:37 +0100
|
||||||
|
Subject: [PATCH 4/6] nvim:msgpack: Correctly set up global
|
||||||
|
ch_before_blocking_events
|
||||||
|
|
||||||
|
gcc10 builds with -fno-common by default. This mean you can't define
|
||||||
|
a global variable with the same name twice.
|
||||||
|
|
||||||
|
See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680
|
||||||
|
---
|
||||||
|
src/nvim/msgpack_rpc/channel.h | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/nvim/msgpack_rpc/channel.h b/src/nvim/msgpack_rpc/channel.h
|
||||||
|
index 9ff5abdc5f55..90e1c7d48b4c 100644
|
||||||
|
--- a/src/nvim/msgpack_rpc/channel.h
|
||||||
|
+++ b/src/nvim/msgpack_rpc/channel.h
|
||||||
|
@@ -15,7 +15,7 @@
|
||||||
|
/// HACK: os/input.c drains this queue immediately before blocking for input.
|
||||||
|
/// Events on this queue are async-safe, but they need the resolved state
|
||||||
|
/// of os_inchar(), so they are processed "just-in-time".
|
||||||
|
-MultiQueue *ch_before_blocking_events;
|
||||||
|
+EXTERN MultiQueue *ch_before_blocking_events INIT(= NULL);
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||||
|
|
||||||
|
From 823b2104c3e579e8c3db8baab263dca0aa9d48bc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Schneider <asn@cryptomilk.org>
|
||||||
|
Date: Mon, 17 Feb 2020 17:29:12 +0100
|
||||||
|
Subject: [PATCH 5/6] nvim: Correctly setup global channels
|
||||||
|
|
||||||
|
As gcc10 uses -fno-common by default, global variables declared with the
|
||||||
|
same name more than once is not allowed anymore revealing this issue.
|
||||||
|
|
||||||
|
We need to define it as extern to access it.
|
||||||
|
|
||||||
|
See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680
|
||||||
|
---
|
||||||
|
src/nvim/channel.c | 1 -
|
||||||
|
src/nvim/channel.h | 2 +-
|
||||||
|
src/nvim/main.c | 1 +
|
||||||
|
3 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/nvim/channel.c b/src/nvim/channel.c
|
||||||
|
index c66a0682e351..5eb29a7290c2 100644
|
||||||
|
--- a/src/nvim/channel.c
|
||||||
|
+++ b/src/nvim/channel.c
|
||||||
|
@@ -19,7 +19,6 @@
|
||||||
|
#include "nvim/ascii.h"
|
||||||
|
|
||||||
|
static bool did_stdio = false;
|
||||||
|
-PMap(uint64_t) *channels = NULL;
|
||||||
|
|
||||||
|
/// next free id for a job or rpc channel
|
||||||
|
/// 1 is reserved for stdio channel
|
||||||
|
diff --git a/src/nvim/channel.h b/src/nvim/channel.h
|
||||||
|
index c733e276bef2..9d26852ce532 100644
|
||||||
|
--- a/src/nvim/channel.h
|
||||||
|
+++ b/src/nvim/channel.h
|
||||||
|
@@ -85,7 +85,7 @@ struct Channel {
|
||||||
|
bool callback_scheduled;
|
||||||
|
};
|
||||||
|
|
||||||
|
-EXTERN PMap(uint64_t) *channels;
|
||||||
|
+EXTERN PMap(uint64_t) *channels INIT(= NULL);
|
||||||
|
|
||||||
|
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||||
|
# include "channel.h.generated.h"
|
||||||
|
diff --git a/src/nvim/main.c b/src/nvim/main.c
|
||||||
|
index 56d9030a7f42..4a9f2371a298 100644
|
||||||
|
--- a/src/nvim/main.c
|
||||||
|
+++ b/src/nvim/main.c
|
||||||
|
@@ -10,6 +10,7 @@
|
||||||
|
#include <msgpack.h>
|
||||||
|
|
||||||
|
#include "nvim/ascii.h"
|
||||||
|
+#include "nvim/channel.h"
|
||||||
|
#include "nvim/vim.h"
|
||||||
|
#include "nvim/main.h"
|
||||||
|
#include "nvim/aucmd.h"
|
||||||
|
|
||||||
|
From 0504f2f88dac9a4cf1fe1052a1e00ab203e9cf8e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Schneider <asn@cryptomilk.org>
|
||||||
|
Date: Mon, 17 Feb 2020 18:04:01 +0100
|
||||||
|
Subject: [PATCH 6/6] cmake: Check for -fno-common and use it if available
|
||||||
|
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 5 +++++
|
||||||
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index de530bb4f7da..74e161d98907 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -308,6 +308,11 @@ if(UNIX)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
+check_c_compiler_flag(-fno-common HAVE_FNO_COMMON)
|
||||||
|
+if (HAVE_FNO_COMMON)
|
||||||
|
+ add_compile_options(-fno-common)
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
check_c_compiler_flag(-fdiagnostics-color=auto HAS_DIAG_COLOR_FLAG)
|
||||||
|
if(HAS_DIAG_COLOR_FLAG)
|
||||||
|
if(CMAKE_GENERATOR MATCHES "Ninja")
|
@ -0,0 +1,99 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
inherit cmake optfeature xdg
|
||||||
|
|
||||||
|
DESCRIPTION="Vim-fork focused on extensibility and agility."
|
||||||
|
HOMEPAGE="https://neovim.io"
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]]; then
|
||||||
|
inherit git-r3
|
||||||
|
EGIT_REPO_URI="https://github.com/neovim/neovim.git"
|
||||||
|
else
|
||||||
|
SRC_URI="https://github.com/neovim/neovim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||||
|
fi
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0 vim"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="+lto +luajit +nvimpager +tui"
|
||||||
|
# Upstream say the test library needs LuaJIT
|
||||||
|
# https://github.com/neovim/neovim/blob/91109ffda23d0ce61cec245b1f4ffb99e7591b62/CMakeLists.txt#L377
|
||||||
|
#REQUIRED_USE="test? ( luajit )"
|
||||||
|
#RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
dev-util/gperf
|
||||||
|
virtual/libiconv
|
||||||
|
virtual/libintl
|
||||||
|
virtual/pkgconfig
|
||||||
|
"
|
||||||
|
# Once dev-lua/busted has luajit support, we can add tests.
|
||||||
|
# bug #584694
|
||||||
|
DEPEND="
|
||||||
|
dev-libs/libuv:0=
|
||||||
|
>=dev-libs/libvterm-0.1.2
|
||||||
|
dev-libs/msgpack:0=
|
||||||
|
dev-lua/lpeg[luajit=]
|
||||||
|
dev-lua/luv[luajit=]
|
||||||
|
dev-lua/mpack[luajit=]
|
||||||
|
net-libs/libnsl
|
||||||
|
luajit? ( dev-lang/luajit:2 )
|
||||||
|
!luajit? (
|
||||||
|
dev-lang/lua:=
|
||||||
|
dev-lua/LuaBitOp
|
||||||
|
)
|
||||||
|
tui? (
|
||||||
|
dev-libs/libtermkey
|
||||||
|
>=dev-libs/unibilium-2.0.0:0=
|
||||||
|
)
|
||||||
|
"
|
||||||
|
RDEPEND="
|
||||||
|
${DEPEND}
|
||||||
|
app-eselect/eselect-vi
|
||||||
|
"
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# use our system vim dir
|
||||||
|
sed -e "/^# define SYS_VIMRC_FILE/s|\$VIM|${EPREFIX}/etc/vim|" \
|
||||||
|
-i src/nvim/globals.h || die
|
||||||
|
|
||||||
|
cmake_src_prepare
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
# Upstream default to LTO on non-debug builds
|
||||||
|
# Let's expose it as a USE flag because upstream
|
||||||
|
# have preferences for how we should use LTO
|
||||||
|
# if we want it on (not just -flto)
|
||||||
|
# ... but allow turning it off.
|
||||||
|
local mycmakeargs=(
|
||||||
|
-DENABLE_LTO=$(usex lto)
|
||||||
|
-DFEAT_TUI=$(usex tui)
|
||||||
|
-DPREFER_LUA=$(usex luajit no yes)
|
||||||
|
)
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
cmake_src_install
|
||||||
|
|
||||||
|
# install a default configuration file
|
||||||
|
insinto /etc/vim
|
||||||
|
doins "${FILESDIR}"/sysinit.vim
|
||||||
|
|
||||||
|
# conditionally install a symlink for nvimpager
|
||||||
|
if use nvimpager; then
|
||||||
|
dosym ../share/nvim/runtime/macros/less.sh /usr/bin/nvimpager
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
xdg_pkg_postinst
|
||||||
|
optfeature "clipboard support" x11-misc/xsel x11-misc/xclip gui-apps/wl-clipboard
|
||||||
|
optfeature "Python plugin support" dev-python/pynvim
|
||||||
|
optfeature "Ruby plugin support" dev-ruby/neovim-ruby-client
|
||||||
|
optfeature "remote/nvr support" dev-python/neovim-remote
|
||||||
|
}
|
Binary file not shown.
@ -0,0 +1,506 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||||
|
PYTHON_REQ_USE='ncurses,xml,threads(+)'
|
||||||
|
|
||||||
|
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
|
||||||
|
|
||||||
|
MY_PV=${PV/_/-}
|
||||||
|
|
||||||
|
if [[ $PV == *9999 ]]; then
|
||||||
|
inherit git-r3
|
||||||
|
REPO="xen.git"
|
||||||
|
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
|
||||||
|
S="${WORKDIR}/${REPO}"
|
||||||
|
else
|
||||||
|
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||||
|
UPSTREAM_VER=3
|
||||||
|
SECURITY_VER=28
|
||||||
|
# xen-tools's gentoo patches tarball
|
||||||
|
GENTOO_VER=21
|
||||||
|
# xen-tools's gentoo patches version which apply to this specific ebuild
|
||||||
|
GENTOO_GPV=0
|
||||||
|
# xen-tools ovmf's patches
|
||||||
|
OVMF_VER=
|
||||||
|
|
||||||
|
SEABIOS_VER="1.12.1"
|
||||||
|
EDK2_COMMIT="20d2e5a125e34fc8501026613a71549b2a1a3e54"
|
||||||
|
EDK2_OPENSSL_VERSION="1_1_1b"
|
||||||
|
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
|
||||||
|
IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6"
|
||||||
|
|
||||||
|
[[ -n ${UPSTREAM_VER} ]] && \
|
||||||
|
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz
|
||||||
|
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||||
|
[[ -n ${SECURITY_VER} ]] && \
|
||||||
|
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz
|
||||||
|
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-security-patches-${SECURITY_VER}.tar.xz"
|
||||||
|
[[ -n ${GENTOO_VER} ]] && \
|
||||||
|
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz
|
||||||
|
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||||
|
[[ -n ${OVMF_VER} ]] && \
|
||||||
|
OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"
|
||||||
|
|
||||||
|
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz
|
||||||
|
https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz
|
||||||
|
ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
|
||||||
|
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
|
||||||
|
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
|
||||||
|
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
|
||||||
|
${OVMF_PATCHSET_URI} )
|
||||||
|
${UPSTREAM_PATCHSET_URI}
|
||||||
|
${SECURITY_PATCHSET_URI}
|
||||||
|
${GENTOO_PATCHSET_URI}"
|
||||||
|
|
||||||
|
S="${WORKDIR}/xen-${MY_PV}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="Xen tools including QEMU and xl"
|
||||||
|
HOMEPAGE="https://www.xenproject.org"
|
||||||
|
DOCS=( README )
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0/$(ver_cut 1-2)"
|
||||||
|
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
|
||||||
|
# >=dev-lang/ocaml-4 stable
|
||||||
|
# Masked in profiles/eapi-5-files instead
|
||||||
|
IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios"
|
||||||
|
|
||||||
|
REQUIRED_USE="
|
||||||
|
${PYTHON_REQUIRED_USE}
|
||||||
|
ipxe? ( rombios )
|
||||||
|
ovmf? ( hvm )
|
||||||
|
pygrub? ( python )
|
||||||
|
rombios? ( hvm )
|
||||||
|
system-ipxe? ( rombios )
|
||||||
|
?? ( ipxe system-ipxe )
|
||||||
|
?? ( qemu system-qemu )"
|
||||||
|
|
||||||
|
COMMON_DEPEND="
|
||||||
|
sys-apps/pciutils
|
||||||
|
dev-libs/lzo:2
|
||||||
|
dev-libs/glib:2
|
||||||
|
dev-libs/yajl
|
||||||
|
dev-libs/libaio
|
||||||
|
dev-libs/libgcrypt:0
|
||||||
|
sys-libs/zlib
|
||||||
|
${PYTHON_DEPS}
|
||||||
|
"
|
||||||
|
|
||||||
|
DEPEND="${COMMON_DEPEND}
|
||||||
|
>=sys-kernel/linux-headers-4.11
|
||||||
|
$(python_gen_cond_dep '
|
||||||
|
dev-python/lxml[${PYTHON_MULTI_USEDEP}]
|
||||||
|
pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] )
|
||||||
|
')
|
||||||
|
x86? ( sys-devel/dev86
|
||||||
|
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||||
|
sys-power/iasl )
|
||||||
|
api? ( dev-libs/libxml2
|
||||||
|
net-misc/curl )
|
||||||
|
|
||||||
|
ovmf? (
|
||||||
|
!arm? ( !arm64? ( dev-lang/nasm ) )
|
||||||
|
$(python_gen_impl_dep sqlite)
|
||||||
|
)
|
||||||
|
!amd64? ( >=sys-apps/dtc-1.4.0 )
|
||||||
|
amd64? ( sys-power/iasl
|
||||||
|
system-seabios? ( sys-firmware/seabios )
|
||||||
|
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||||
|
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
|
||||||
|
dev-lang/perl
|
||||||
|
app-misc/pax-utils
|
||||||
|
doc? (
|
||||||
|
app-text/ghostscript-gpl
|
||||||
|
app-text/pandoc
|
||||||
|
$(python_gen_cond_dep '
|
||||||
|
dev-python/markdown[${PYTHON_MULTI_USEDEP}]
|
||||||
|
')
|
||||||
|
dev-texlive/texlive-latexextra
|
||||||
|
media-gfx/transfig
|
||||||
|
)
|
||||||
|
hvm? ( x11-base/xorg-proto )
|
||||||
|
qemu? (
|
||||||
|
app-arch/snappy:=
|
||||||
|
x11-libs/pixman
|
||||||
|
sdl? (
|
||||||
|
media-libs/libsdl[X]
|
||||||
|
media-libs/libsdl2[X]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
system-qemu? ( app-emulation/qemu[xen] )
|
||||||
|
ocaml? ( dev-ml/findlib
|
||||||
|
>=dev-lang/ocaml-4 )
|
||||||
|
python? ( >=dev-lang/swig-4.0.0 )"
|
||||||
|
|
||||||
|
RDEPEND="${COMMON_DEPEND}
|
||||||
|
sys-apps/iproute2[-minimal]
|
||||||
|
net-misc/bridge-utils
|
||||||
|
screen? (
|
||||||
|
app-misc/screen
|
||||||
|
app-admin/logrotate
|
||||||
|
)"
|
||||||
|
|
||||||
|
# hvmloader is used to bootstrap a fully virtualized kernel
|
||||||
|
# Approved by QA team in bug #144032
|
||||||
|
QA_WX_LOAD="
|
||||||
|
usr/libexec/xen/boot/hvmloader
|
||||||
|
usr/share/qemu-xen/qemu/hppa-firmware.img
|
||||||
|
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||||
|
usr/share/qemu-xen/qemu/u-boot.e500
|
||||||
|
"
|
||||||
|
|
||||||
|
QA_PREBUILT="
|
||||||
|
usr/libexec/xen/bin/elf2dmp
|
||||||
|
usr/libexec/xen/bin/ivshmem-client
|
||||||
|
usr/libexec/xen/bin/ivshmem-server
|
||||||
|
usr/libexec/xen/bin/qemu-edid
|
||||||
|
usr/libexec/xen/bin/qemu-img
|
||||||
|
usr/libexec/xen/bin/qemu-io
|
||||||
|
usr/libexec/xen/bin/qemu-keymap
|
||||||
|
usr/libexec/xen/bin/qemu-nbd
|
||||||
|
usr/libexec/xen/bin/qemu-pr-helper
|
||||||
|
usr/libexec/xen/bin/qemu-system-i386
|
||||||
|
usr/libexec/xen/bin/virtfs-proxy-helper
|
||||||
|
usr/libexec/xen/libexec/xen-bridge-helper
|
||||||
|
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||||
|
usr/share/qemu-xen/qemu/s390-netboot.img
|
||||||
|
usr/share/qemu-xen/qemu/u-boot.e500
|
||||||
|
"
|
||||||
|
|
||||||
|
RESTRICT="test"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
python_setup
|
||||||
|
export "CONFIG_LOMOUNT=y"
|
||||||
|
|
||||||
|
#bug 522642, disable compile tools/tests
|
||||||
|
export "CONFIG_TESTS=n"
|
||||||
|
|
||||||
|
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
|
||||||
|
if use x86 && use amd64; then
|
||||||
|
die "Confusion! Both x86 and amd64 are set in your use flags!"
|
||||||
|
elif use x86; then
|
||||||
|
export XEN_TARGET_ARCH="x86_32"
|
||||||
|
elif use amd64 ; then
|
||||||
|
export XEN_TARGET_ARCH="x86_64"
|
||||||
|
elif use arm; then
|
||||||
|
export XEN_TARGET_ARCH="arm32"
|
||||||
|
elif use arm64; then
|
||||||
|
export XEN_TARGET_ARCH="arm64"
|
||||||
|
else
|
||||||
|
die "Unsupported architecture!"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
local i
|
||||||
|
|
||||||
|
# Upstream's patchset
|
||||||
|
if [[ -n ${UPSTREAM_VER} ]]; then
|
||||||
|
einfo "Try to apply Xen Upstream patch set"
|
||||||
|
eapply "${WORKDIR}"/patches-upstream
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Security patchset
|
||||||
|
if [[ -n ${SECURITY_VER} ]]; then
|
||||||
|
einfo "Try to apply Xen Security patch set"
|
||||||
|
# apply main xen patches
|
||||||
|
# Two parallel systems, both work side by side
|
||||||
|
# Over time they may concdense into one. This will suffice for now
|
||||||
|
EPATCH_SUFFIX="patch"
|
||||||
|
EPATCH_FORCE="yes"
|
||||||
|
|
||||||
|
source "${WORKDIR}"/patches-security/${PV}.conf || die
|
||||||
|
|
||||||
|
for i in ${XEN_SECURITY_MAIN}; do
|
||||||
|
eapply "${WORKDIR}"/patches-security/xen/$i
|
||||||
|
done
|
||||||
|
|
||||||
|
# apply qemu-xen/upstream patches
|
||||||
|
pushd "${S}"/tools/qemu-xen/ > /dev/null
|
||||||
|
for i in ${XEN_SECURITY_QEMUU}; do
|
||||||
|
eapply "${WORKDIR}"/patches-security/qemuu/$i
|
||||||
|
done
|
||||||
|
popd > /dev/null
|
||||||
|
|
||||||
|
# apply qemu-traditional patches
|
||||||
|
pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null
|
||||||
|
for i in ${XEN_SECURITY_QEMUT}; do
|
||||||
|
eapply "${WORKDIR}"/patches-security/qemut/$i
|
||||||
|
done
|
||||||
|
popd > /dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
|
||||||
|
mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
|
||||||
|
pushd tools/firmware/ > /dev/null
|
||||||
|
ln -s seabios-dir-remote seabios-dir || die
|
||||||
|
popd > /dev/null
|
||||||
|
|
||||||
|
# Gentoo's patchset
|
||||||
|
if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
|
||||||
|
einfo "Try to apply Gentoo specific patch set"
|
||||||
|
source "${FILESDIR}"/gentoo-patches.conf || die
|
||||||
|
_gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
|
||||||
|
for i in ${!_gpv}; do
|
||||||
|
eapply "${WORKDIR}"/patches-gentoo/$i
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ovmf's patchset
|
||||||
|
if use ovmf; then
|
||||||
|
if [[ -n ${OVMF_VER} ]];then
|
||||||
|
einfo "Try to apply Ovmf patch set"
|
||||||
|
pushd "${WORKDIR}"/edk2-*/ > /dev/null
|
||||||
|
eapply "${WORKDIR}"/patches-ovmf
|
||||||
|
popd > /dev/null
|
||||||
|
fi
|
||||||
|
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
|
||||||
|
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||||
|
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||||
|
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||||
|
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||||
|
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ipxe
|
||||||
|
if use ipxe; then
|
||||||
|
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die
|
||||||
|
|
||||||
|
# gcc 10
|
||||||
|
cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die
|
||||||
|
echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
|
||||||
|
|
||||||
|
# Fix texi2html build error with new texi2html, qemu.doc.html
|
||||||
|
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
|
||||||
|
|
||||||
|
use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
|
||||||
|
sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
|
||||||
|
-i tools/firmware/Makefile || die
|
||||||
|
|
||||||
|
# Drop .config, fixes to gcc-4.6
|
||||||
|
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||||
|
|
||||||
|
# drop flags
|
||||||
|
unset CFLAGS
|
||||||
|
unset LDFLAGS
|
||||||
|
unset ASFLAGS
|
||||||
|
unset CPPFLAGS
|
||||||
|
|
||||||
|
if ! use pygrub; then
|
||||||
|
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! use python; then
|
||||||
|
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! use hvm; then
|
||||||
|
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
|
||||||
|
# Bug 351648
|
||||||
|
elif ! use x86 && ! has x86 $(get_all_abis); then
|
||||||
|
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
|
||||||
|
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
|
||||||
|
export CPATH="${WORKDIR}"/extra-headers
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use qemu; then
|
||||||
|
if use sdl; then
|
||||||
|
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
|
||||||
|
tools/Makefile || die
|
||||||
|
else
|
||||||
|
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
|
||||||
|
tools/qemu-xen-traditional/xen-setup || die
|
||||||
|
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
|
||||||
|
tools/Makefile || die
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Don't bother with qemu, only needed for fully virtualised guests
|
||||||
|
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Reset bash completion dir; Bug 472438
|
||||||
|
sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
|
||||||
|
-i Config.mk || die
|
||||||
|
sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die
|
||||||
|
|
||||||
|
# xencommons, Bug #492332, sed lighter weight than patching
|
||||||
|
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
|
||||||
|
-i tools/hotplug/Linux/init.d/xencommons.in || die
|
||||||
|
|
||||||
|
# fix bashishm
|
||||||
|
sed -e '/Usage/s/\$//g' \
|
||||||
|
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
|
||||||
|
|
||||||
|
# respect multilib, usr/lib/libcacard.so.0.0.0
|
||||||
|
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
|
||||||
|
-i tools/qemu-xen/configure || die
|
||||||
|
|
||||||
|
#bug 518136, don't build 32bit exactuable for nomultilib profile
|
||||||
|
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
|
||||||
|
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# uncomment lines in xl.conf
|
||||||
|
sed -e 's:^#autoballoon=:autoballoon=:' \
|
||||||
|
-e 's:^#lockfile=:lockfile=:' \
|
||||||
|
-e 's:^#vif.default.script=:vif.default.script=:' \
|
||||||
|
-i tools/examples/xl.conf || die
|
||||||
|
|
||||||
|
# disable capstone (Bug #673474)
|
||||||
|
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
|
||||||
|
-i tools/Makefile || die
|
||||||
|
|
||||||
|
# disable glusterfs
|
||||||
|
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
|
||||||
|
-i tools/Makefile || die
|
||||||
|
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local myconf="--prefix=${PREFIX}/usr \
|
||||||
|
--libdir=${PREFIX}/usr/$(get_libdir) \
|
||||||
|
--libexecdir=${PREFIX}/usr/libexec \
|
||||||
|
--localstatedir=${EPREFIX}/var \
|
||||||
|
--disable-werror \
|
||||||
|
--disable-xen \
|
||||||
|
--enable-tools \
|
||||||
|
--enable-docs \
|
||||||
|
$(use_enable api xenapi) \
|
||||||
|
$(use_enable ipxe) \
|
||||||
|
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \
|
||||||
|
$(use_enable ocaml ocamltools) \
|
||||||
|
$(use_enable ovmf) \
|
||||||
|
$(use_enable pam) \
|
||||||
|
$(use_enable rombios) \
|
||||||
|
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \
|
||||||
|
"
|
||||||
|
|
||||||
|
use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
|
||||||
|
use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64"
|
||||||
|
use amd64 && myconf+=" $(use_enable qemu-traditional)"
|
||||||
|
tc-ld-disable-gold # Bug 669570
|
||||||
|
econf ${myconf}
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
local myopt
|
||||||
|
use debug && myopt="${myopt} debug=y"
|
||||||
|
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
|
||||||
|
|
||||||
|
if test-flag-CC -fno-strict-overflow; then
|
||||||
|
append-flags -fno-strict-overflow
|
||||||
|
fi
|
||||||
|
|
||||||
|
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
|
||||||
|
|
||||||
|
if use doc; then
|
||||||
|
emake -C docs build
|
||||||
|
else
|
||||||
|
emake -C docs man-pages
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
# Override auto-detection in the build system, bug #382573
|
||||||
|
export INITD_DIR=/tmp/init.d
|
||||||
|
export CONFIG_LEAF_DIR=../tmp/default
|
||||||
|
|
||||||
|
# Let the build system compile installed Python modules.
|
||||||
|
local PYTHONDONTWRITEBYTECODE
|
||||||
|
export PYTHONDONTWRITEBYTECODE
|
||||||
|
|
||||||
|
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
|
||||||
|
XEN_PYTHON_NATIVE_INSTALL=y install-tools
|
||||||
|
|
||||||
|
# Created at runtime
|
||||||
|
rm -rv "${ED}/var/run" || die
|
||||||
|
|
||||||
|
# Fix the remaining Python shebangs.
|
||||||
|
python_fix_shebang "${D}"
|
||||||
|
|
||||||
|
# Remove RedHat-specific stuff
|
||||||
|
rm -rf "${D}"/tmp || die
|
||||||
|
|
||||||
|
if use doc; then
|
||||||
|
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
|
||||||
|
dodoc -r docs/{pdf,txt}
|
||||||
|
else
|
||||||
|
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
|
||||||
|
fi
|
||||||
|
dodoc ${DOCS[@]}
|
||||||
|
|
||||||
|
newconfd "${FILESDIR}"/xendomains.confd xendomains
|
||||||
|
newconfd "${FILESDIR}"/xenstored.confd xenstored
|
||||||
|
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
|
||||||
|
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
|
||||||
|
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
|
||||||
|
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
|
||||||
|
newinitd "${FILESDIR}"/xencommons.initd xencommons
|
||||||
|
newconfd "${FILESDIR}"/xencommons.confd xencommons
|
||||||
|
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
|
||||||
|
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
|
||||||
|
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
|
||||||
|
|
||||||
|
if use screen; then
|
||||||
|
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
|
||||||
|
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
|
||||||
|
keepdir /var/log/xen-consoles
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For -static-libs wrt Bug 384355
|
||||||
|
if ! use static-libs; then
|
||||||
|
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
|
||||||
|
fi
|
||||||
|
|
||||||
|
# for xendomains
|
||||||
|
keepdir /etc/xen/auto
|
||||||
|
|
||||||
|
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
|
||||||
|
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
|
||||||
|
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
|
||||||
|
|
||||||
|
keepdir /var/lib/xen/dump
|
||||||
|
keepdir /var/lib/xen/xenpaging
|
||||||
|
keepdir /var/lib/xenstored
|
||||||
|
keepdir /var/log/xen
|
||||||
|
|
||||||
|
if use python; then
|
||||||
|
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py"
|
||||||
|
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so"
|
||||||
|
fi
|
||||||
|
|
||||||
|
python_optimize
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
elog "Official Xen Guide and the offical wiki page:"
|
||||||
|
elog "https://wiki.gentoo.org/wiki/Xen"
|
||||||
|
elog "https://wiki.xen.org/wiki/Main_Page"
|
||||||
|
elog ""
|
||||||
|
elog "Recommended to utilise the xencommons script to config system at boot"
|
||||||
|
elog "Add by use of rc-update on completion of the install"
|
||||||
|
|
||||||
|
if ! use hvm; then
|
||||||
|
echo
|
||||||
|
elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
|
||||||
|
elog "support enable the hvm use flag."
|
||||||
|
elog "An x86 or amd64 system is required to build HVM support."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use qemu; then
|
||||||
|
elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
|
||||||
|
elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
|
||||||
|
elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
|
||||||
|
elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
|
||||||
|
fi
|
||||||
|
}
|
@ -1,4 +1,5 @@
|
|||||||
DIST xen-4.13.1-upstream-patches-2.tar.xz 53744 BLAKE2B 769b5b8022f7db66f677d8107c6473606376718bffeac7eba09c4270f4005811f472fb9ed2a2804260e0486228edbadfcf8f81bf1dae6d68df37da213d281390 SHA512 b07c865b96c6f48b9d0b4e4c2f3ec19f4dc44884f4024e440a3e537f594f9f5edd6edf805bdefc82e5f1f2520f35f940b64c158972cbf5bfdc8fb2ca7a1b0ac1
|
DIST xen-4.13.1-upstream-patches-2.tar.xz 53744 BLAKE2B 769b5b8022f7db66f677d8107c6473606376718bffeac7eba09c4270f4005811f472fb9ed2a2804260e0486228edbadfcf8f81bf1dae6d68df37da213d281390 SHA512 b07c865b96c6f48b9d0b4e4c2f3ec19f4dc44884f4024e440a3e537f594f9f5edd6edf805bdefc82e5f1f2520f35f940b64c158972cbf5bfdc8fb2ca7a1b0ac1
|
||||||
|
DIST xen-4.13.1-upstream-patches-3.tar.xz 87056 BLAKE2B 01d7133b8f7e3c9a42b9771dcb7739777f79f229941114cce70ba2897dd52bf53f08de35602a0b40a120fc155c274dbf91e107856f4afdae2c4f7b4bc0a67cdd SHA512 d67e9ddfbf27dc5a23a77679b1b2524a49c2aec3ff9eb3472f9e075893d87401f8e99707b0652744eb4af7a3ed9a815c3925de49995bcd7c82d97c13a69b5309
|
||||||
DIST xen-4.13.1.tar.gz 39024612 BLAKE2B efff138699fac2c14fad2e0dfd4535ebd744577df3dddccc2a589b81a76f24fc81c75e295f4cd33ca2e820929417b22d714504b576cb0737a563037bd56b6a95 SHA512 b56d20704155d98d803496cba83eb928e0f986a750831cd5600fc88d0ae772fe1456571654375054043d2da8daca255cc98385ebf08b1b1a75ecf7f4b7a0ee90
|
DIST xen-4.13.1.tar.gz 39024612 BLAKE2B efff138699fac2c14fad2e0dfd4535ebd744577df3dddccc2a589b81a76f24fc81c75e295f4cd33ca2e820929417b22d714504b576cb0737a563037bd56b6a95 SHA512 b56d20704155d98d803496cba83eb928e0f986a750831cd5600fc88d0ae772fe1456571654375054043d2da8daca255cc98385ebf08b1b1a75ecf7f4b7a0ee90
|
||||||
DIST xen-4.14.0-upstream-patches-0.tar.xz 6872 BLAKE2B 958ad668362c9c02af39f2a02cde2baa9b9fc8853116c390f43a77bb17c649bfc6a4b51db5cbe564a8c3c440ce736603e44b97f45c50a7836c9a43bfb0d2255a SHA512 a30d9708e64e1405f837b14c1e5a0e28fcb9e7a177c822570e25d0ed118a9c58c380f4ed64a40bf970a9389baf9848e52f7d161efe922b883ee990c8029e7e1f
|
DIST xen-4.14.0-upstream-patches-1.tar.xz 45360 BLAKE2B 0f72a2cc3d18557b86a2a83f97e4141be46a20e3ba59ccc881a34a4408988eba9827e3b927bc07aba9678123d783303e7d47d789e57323a7f6691d718c019dc8 SHA512 3d5093e4367d27e7f6e8d4cc31841a5c80cc3fb870d6cb32131d064e16cbb559e9a783c70eec1ce13c960b3e2a8d5e23e18d26b936bc418b434df3bb801d3e4f
|
||||||
DIST xen-4.14.0.tar.gz 39950576 BLAKE2B db4c3e79cfdfb10260d0d14d9d28e8c8bd9bf23f42aee743acf8f560bf4cdb96a425c0df887c70f9755f62680be24bfbe0149e52a4cb843ae83090cd9d6afc71 SHA512 ebce47a2f754955d8517123d69f62006634d97620fbbe3784869a0667466e586a249f57ffaf7846d5bcb45d69377cde43354c82c233fbb5407e55653b9a33ac0
|
DIST xen-4.14.0.tar.gz 39950576 BLAKE2B db4c3e79cfdfb10260d0d14d9d28e8c8bd9bf23f42aee743acf8f560bf4cdb96a425c0df887c70f9755f62680be24bfbe0149e52a4cb843ae83090cd9d6afc71 SHA512 ebce47a2f754955d8517123d69f62006634d97620fbbe3784869a0667466e586a249f57ffaf7846d5bcb45d69377cde43354c82c233fbb5407e55653b9a33ac0
|
||||||
|
@ -0,0 +1,165 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||||
|
|
||||||
|
inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs
|
||||||
|
|
||||||
|
MY_PV=${PV/_/-}
|
||||||
|
MY_P=${PN}-${MY_PV}
|
||||||
|
|
||||||
|
if [[ $PV == *9999 ]]; then
|
||||||
|
inherit git-r3
|
||||||
|
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
|
||||||
|
SRC_URI=""
|
||||||
|
else
|
||||||
|
KEYWORDS="~amd64 ~arm -x86"
|
||||||
|
UPSTREAM_VER=3
|
||||||
|
SECURITY_VER=
|
||||||
|
GENTOO_VER=
|
||||||
|
|
||||||
|
[[ -n ${UPSTREAM_VER} ]] && \
|
||||||
|
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz
|
||||||
|
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||||
|
[[ -n ${SECURITY_VER} ]] && \
|
||||||
|
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz"
|
||||||
|
[[ -n ${GENTOO_VER} ]] && \
|
||||||
|
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||||
|
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz
|
||||||
|
${UPSTREAM_PATCHSET_URI}
|
||||||
|
${SECURITY_PATCHSET_URI}
|
||||||
|
${GENTOO_PATCHSET_URI}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="The Xen virtual machine monitor"
|
||||||
|
HOMEPAGE="https://www.xenproject.org"
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="debug efi flask"
|
||||||
|
|
||||||
|
DEPEND="${PYTHON_DEPS}
|
||||||
|
efi? ( >=sys-devel/binutils-2.22[multitarget] )
|
||||||
|
!efi? ( >=sys-devel/binutils-2.22 )"
|
||||||
|
RDEPEND=""
|
||||||
|
PDEPEND="~app-emulation/xen-tools-${PV}"
|
||||||
|
|
||||||
|
# no tests are available for the hypervisor
|
||||||
|
# prevent the silliness of /usr/lib/debug/usr/lib/debug files
|
||||||
|
# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
|
||||||
|
RESTRICT="test splitdebug strip"
|
||||||
|
|
||||||
|
# Approved by QA team in bug #144032
|
||||||
|
QA_WX_LOAD="boot/xen-syms-${PV}"
|
||||||
|
|
||||||
|
REQUIRED_USE="arm? ( debug )"
|
||||||
|
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
python-any-r1_pkg_setup
|
||||||
|
if [[ -z ${XEN_TARGET_ARCH} ]]; then
|
||||||
|
if use amd64; then
|
||||||
|
export XEN_TARGET_ARCH="x86_64"
|
||||||
|
elif use arm; then
|
||||||
|
export XEN_TARGET_ARCH="arm32"
|
||||||
|
elif use arm64; then
|
||||||
|
export XEN_TARGET_ARCH="arm64"
|
||||||
|
else
|
||||||
|
die "Unsupported architecture!"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use flask ; then
|
||||||
|
export "XSM_ENABLE=y"
|
||||||
|
export "FLASK_ENABLE=y"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# Upstream's patchset
|
||||||
|
[[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream
|
||||||
|
|
||||||
|
# Security patchset
|
||||||
|
if [[ -n ${SECURITY_VER} ]]; then
|
||||||
|
einfo "Try to apply Xen Security patch set"
|
||||||
|
# apply main xen patches
|
||||||
|
# Two parallel systems, both work side by side
|
||||||
|
# Over time they may concdense into one. This will suffice for now
|
||||||
|
source "${WORKDIR}"/patches-security/${PV}.conf
|
||||||
|
|
||||||
|
local i
|
||||||
|
for i in ${XEN_SECURITY_MAIN}; do
|
||||||
|
eapply "${WORKDIR}"/patches-security/xen/$i
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Gentoo's patchset
|
||||||
|
[[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo
|
||||||
|
|
||||||
|
eapply "${FILESDIR}"/${PN}-4.11-efi.patch
|
||||||
|
|
||||||
|
# Drop .config
|
||||||
|
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||||
|
|
||||||
|
if use efi; then
|
||||||
|
export EFI_VENDOR="gentoo"
|
||||||
|
export EFI_MOUNTPOINT="/boot"
|
||||||
|
fi
|
||||||
|
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i"
|
||||||
|
|
||||||
|
use debug && myopt="${myopt} debug=y"
|
||||||
|
|
||||||
|
# remove flags
|
||||||
|
unset CFLAGS
|
||||||
|
unset LDFLAGS
|
||||||
|
unset ASFLAGS
|
||||||
|
|
||||||
|
tc-ld-disable-gold # Bug 700374
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
# Send raw LDFLAGS so that --as-needed works
|
||||||
|
emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local myopt
|
||||||
|
use debug && myopt="${myopt} debug=y"
|
||||||
|
|
||||||
|
# The 'make install' doesn't 'mkdir -p' the subdirs
|
||||||
|
if use efi; then
|
||||||
|
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install
|
||||||
|
|
||||||
|
# make install likes to throw in some extra EFI bits if it built
|
||||||
|
use efi || rm -rf "${D}/usr/$(get_libdir)/efi"
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
elog "Official Xen Guide:"
|
||||||
|
elog " https://wiki.gentoo.org/wiki/Xen"
|
||||||
|
|
||||||
|
use efi && einfo "The efi executable is installed in /boot/efi/gentoo"
|
||||||
|
|
||||||
|
elog "You can optionally block the installation of /boot/xen-syms by an entry"
|
||||||
|
elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK"
|
||||||
|
elog "e.g. echo ${msg} > /etc/portage/env/xen.conf"
|
||||||
|
|
||||||
|
ewarn
|
||||||
|
ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause"
|
||||||
|
ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems"
|
||||||
|
ewarn "to work fine."
|
||||||
|
ewarn
|
||||||
|
ewarn "Add sched=credit to xen command line options to use the legacy scheduler."
|
||||||
|
ewarn
|
||||||
|
ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B"
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,3 +1,4 @@
|
|||||||
DIST coolreader-3.2.2.1.tar.gz 12463566 BLAKE2B 208026a87b36a06cd0a2e83b60bb506174b2edec4e3f4d1663c9d630cf316afd54aa0dbd0fdf0d3e44e03277d39692bbada8b03376a22970321928e594632997 SHA512 c2e3ea139ff3969c16985a56a9605a59ae31c59f9dc962abcc4aae5d87b8c48c8d7ed716a7077dd9da93cefc0d9ba0fe8a43c50e33e3d58acbcdfc35b73b3538
|
DIST coolreader-3.2.2.1.tar.gz 12463566 BLAKE2B 208026a87b36a06cd0a2e83b60bb506174b2edec4e3f4d1663c9d630cf316afd54aa0dbd0fdf0d3e44e03277d39692bbada8b03376a22970321928e594632997 SHA512 c2e3ea139ff3969c16985a56a9605a59ae31c59f9dc962abcc4aae5d87b8c48c8d7ed716a7077dd9da93cefc0d9ba0fe8a43c50e33e3d58acbcdfc35b73b3538
|
||||||
DIST coolreader-3.2.39.tar.gz 17679570 BLAKE2B e84fb7d8032ae62fec24a74a9cebab086664a2ed3827f0664e667a4ab3b8d76b722790958f71f5fcd79729238e897c6592059f9b45eb4069c9ad483883bc0600 SHA512 1b92b35750174a8ef4df4b7c4f33bb9fcc94b36008c08a7f9d1f8e85c6b642c5b037e0673a783cde1aa98296887bb286c4a2da186911b26f298f689605e1eb4b
|
DIST coolreader-3.2.39.tar.gz 17679570 BLAKE2B e84fb7d8032ae62fec24a74a9cebab086664a2ed3827f0664e667a4ab3b8d76b722790958f71f5fcd79729238e897c6592059f9b45eb4069c9ad483883bc0600 SHA512 1b92b35750174a8ef4df4b7c4f33bb9fcc94b36008c08a7f9d1f8e85c6b642c5b037e0673a783cde1aa98296887bb286c4a2da186911b26f298f689605e1eb4b
|
||||||
DIST coolreader-3.2.45.tar.gz 20290340 BLAKE2B a4e6218965618a1b0938606ca323534112a5d7b64a1d56e06f56ba8b2e5591d380d7fb2aeb9c37d007fb834963a42e684e2af939720272c3a7494e5afc65501e SHA512 d7dc9921b74d1da236aeb02edcb39d44dfcfb9da5d6d3b1bf428157f67415c19af218c2454a602828d12d0c6d8c80d1335e92101acda1af8abd6bd312900c33c
|
DIST coolreader-3.2.45.tar.gz 20290340 BLAKE2B a4e6218965618a1b0938606ca323534112a5d7b64a1d56e06f56ba8b2e5591d380d7fb2aeb9c37d007fb834963a42e684e2af939720272c3a7494e5afc65501e SHA512 d7dc9921b74d1da236aeb02edcb39d44dfcfb9da5d6d3b1bf428157f67415c19af218c2454a602828d12d0c6d8c80d1335e92101acda1af8abd6bd312900c33c
|
||||||
|
DIST coolreader-3.2.49.tar.gz 21398327 BLAKE2B 9a63f34d661f7c12d55e08788edb0c348d33c67708890e89a857975ce3a6fc82d8788dc0a15ad18e025d68254293b1b34977b2ffe24ea19ab4865727d5afbdcb SHA512 06c8416c33ccf939c0292b573352c097c4b2a0b1390181428e5f1bf08e145f1fa1f8ebdcf658bb0f9e8846c1fd5a57a67fb075b8e7285e1e7602e26aba6790b0
|
||||||
|
@ -0,0 +1,96 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=6
|
||||||
|
WX_GTK_VER="3.0"
|
||||||
|
PLOCALES="bg cs de es hu pl ru uk"
|
||||||
|
inherit cmake-utils wxwidgets l10n xdg-utils gnome2-utils eapi7-ver
|
||||||
|
|
||||||
|
CR_PV=$(ver_rs 3 '-')
|
||||||
|
|
||||||
|
if [ "${PV}" != 9999 ]
|
||||||
|
then
|
||||||
|
SRC_URI="https://github.com/buggins/${PN}/archive/cr${CR_PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
S="${WORKDIR}/${PN}-cr${CR_PV}"
|
||||||
|
else
|
||||||
|
inherit git-r3
|
||||||
|
# github mirror has some new commits to fix page margins settings
|
||||||
|
# sourceforge mirror saved as backup
|
||||||
|
#EGIT_REPO_URI="git://git.code.sf.net/p/crengine/crengine"
|
||||||
|
EGIT_REPO_URI="https://github.com/buggins/${PN}.git"
|
||||||
|
SRC_URI=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="CoolReader - reader of eBook files (fb2,epub,htm,rtf,txt)"
|
||||||
|
HOMEPAGE="https://github.com/buggins/coolreader/"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
IUSE="wxwidgets"
|
||||||
|
|
||||||
|
CDEPEND="sys-libs/zlib
|
||||||
|
media-libs/libpng:0
|
||||||
|
virtual/jpeg:0
|
||||||
|
media-libs/freetype
|
||||||
|
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER} )
|
||||||
|
!wxwidgets? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 )"
|
||||||
|
DEPEND="${CDEPEND}
|
||||||
|
!wxwidgets? ( dev-qt/linguist-tools:5 )"
|
||||||
|
RDEPEND="${CDEPEND}
|
||||||
|
wxwidgets? ( || ( media-fonts/liberation-fonts media-fonts/corefonts ) )"
|
||||||
|
|
||||||
|
for lang in ${PLOCALES}; do
|
||||||
|
IUSE="${IUSE} l10n_${lang}"
|
||||||
|
done
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
cmake-utils_src_prepare
|
||||||
|
|
||||||
|
# locales
|
||||||
|
l10n_find_plocales_changes "${S}"/cr3qt/src/i18n 'cr3_' '.ts'
|
||||||
|
local lang langs
|
||||||
|
langs=""
|
||||||
|
for lang in ${PLOCALES}; do
|
||||||
|
if use l10n_${lang}; then
|
||||||
|
langs="${langs} ${lang}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
sed -e "s|SET(LANGUAGES .*)|SET(LANGUAGES ${langs})|" \
|
||||||
|
-i "${S}"/cr3qt/CMakeLists.txt \
|
||||||
|
|| die "sed CMakeLists.txt failed"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
CMAKE_USE_DIR="${S}"
|
||||||
|
CMAKE_BUILD_TYPE="Release"
|
||||||
|
if use wxwidgets; then
|
||||||
|
setup-wxwidgets
|
||||||
|
local mycmakeargs=(-D GUI=WX)
|
||||||
|
else
|
||||||
|
local mycmakeargs=(-D GUI=QT5)
|
||||||
|
fi
|
||||||
|
cmake-utils_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
cmake-utils_src_install
|
||||||
|
if ! use wxwidgets; then
|
||||||
|
mv "${D}"usr/share/doc/cr3/changelog.gz "${D}"usr/share/doc/${PF}/ || die "mv changelog.gz failed"
|
||||||
|
rmdir "${D}"usr/share/doc/cr3 || die "rmdir doc/cr3 failed"
|
||||||
|
gunzip "${D}"usr/share/doc/${PF}/changelog.gz || die "gunzip changelog.gz failed"
|
||||||
|
gunzip "${D}"usr/share/man/man1/cr3.1.gz || die "gunzip cr3.1.gz failed"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
xdg_desktop_database_update
|
||||||
|
xdg_mimeinfo_database_update
|
||||||
|
gnome2_icon_cache_update
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
xdg_desktop_database_update
|
||||||
|
xdg_mimeinfo_database_update
|
||||||
|
gnome2_icon_cache_update
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,267 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI="7"
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{6..9} )
|
||||||
|
|
||||||
|
WANT_AUTOCONF="2.1"
|
||||||
|
|
||||||
|
inherit autotools check-reqs multiprocessing python-any-r1 toolchain-funcs
|
||||||
|
|
||||||
|
MY_PN="mozjs"
|
||||||
|
MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
|
||||||
|
|
||||||
|
MY_MAJOR=$(ver_cut 1)
|
||||||
|
|
||||||
|
MOZ_ESR="1"
|
||||||
|
|
||||||
|
# Convert the ebuild version to the upstream mozilla version
|
||||||
|
MOZ_PV="${MY_PV/_alpha/a}" # Handle alpha for SRC_URI
|
||||||
|
MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
|
||||||
|
MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
|
||||||
|
|
||||||
|
if [[ ${MOZ_ESR} == 1 ]] ; then
|
||||||
|
# ESR releases have slightly different version numbers
|
||||||
|
MOZ_PV="${MOZ_PV}esr"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Patch version
|
||||||
|
FIREFOX_PATCHSET="firefox-esr-78-patches-02.tar.xz"
|
||||||
|
SPIDERMONKEY_PATCHSET="spidermonkey-78-patches-01.tar.xz"
|
||||||
|
|
||||||
|
MOZ_HTTP_URI="https://archive.mozilla.org/pub/firefox/releases"
|
||||||
|
MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz"
|
||||||
|
|
||||||
|
if [[ "${PV}" == *_rc* ]]; then
|
||||||
|
MOZ_HTTP_URI="https://archive.mozilla.org/pub/firefox/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
|
||||||
|
MOZ_SRC_URI="${MOZ_HTTP_URI}/source/firefox-${MOZ_PV}.source.tar.xz"
|
||||||
|
fi
|
||||||
|
|
||||||
|
PATCH_URIS=(
|
||||||
|
https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${FIREFOX_PATCHSET}
|
||||||
|
https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
|
||||||
|
)
|
||||||
|
|
||||||
|
SRC_URI="${MOZ_SRC_URI}
|
||||||
|
${PATCH_URIS[@]}"
|
||||||
|
|
||||||
|
DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
|
||||||
|
HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
|
||||||
|
|
||||||
|
KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc64 ~s390 ~x86"
|
||||||
|
|
||||||
|
SLOT="78"
|
||||||
|
LICENSE="MPL-2.0"
|
||||||
|
IUSE="cpu_flags_arm_neon debug +jit test"
|
||||||
|
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
BDEPEND="${PYTHON_DEPS}
|
||||||
|
sys-devel/llvm
|
||||||
|
>=virtual/rust-1.41.0
|
||||||
|
virtual/pkgconfig"
|
||||||
|
|
||||||
|
CDEPEND=">=dev-libs/icu-67.1:=
|
||||||
|
>=dev-libs/nspr-4.25
|
||||||
|
sys-libs/readline:0=
|
||||||
|
>=sys-libs/zlib-1.2.3"
|
||||||
|
|
||||||
|
DEPEND="${CDEPEND}
|
||||||
|
test? (
|
||||||
|
$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
|
||||||
|
)"
|
||||||
|
|
||||||
|
RDEPEND="${CDEPEND}"
|
||||||
|
|
||||||
|
S="${WORKDIR}/firefox-${MY_PV}/js/src"
|
||||||
|
|
||||||
|
python_check_deps() {
|
||||||
|
if use test ; then
|
||||||
|
has_version "dev-python/six[${PYTHON_USEDEP}]"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_pretend() {
|
||||||
|
if use test ; then
|
||||||
|
CHECKREQS_DISK_BUILD="6400M"
|
||||||
|
else
|
||||||
|
CHECKREQS_DISK_BUILD="5600M"
|
||||||
|
fi
|
||||||
|
|
||||||
|
check-reqs_pkg_pretend
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
if use test ; then
|
||||||
|
CHECKREQS_DISK_BUILD="6400M"
|
||||||
|
else
|
||||||
|
CHECKREQS_DISK_BUILD="5600M"
|
||||||
|
fi
|
||||||
|
|
||||||
|
check-reqs_pkg_setup
|
||||||
|
|
||||||
|
python-any-r1_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
pushd ../.. &>/dev/null || die
|
||||||
|
|
||||||
|
eapply "${WORKDIR}"/firefox-patches
|
||||||
|
eapply "${WORKDIR}"/spidermonkey-patches
|
||||||
|
|
||||||
|
default
|
||||||
|
|
||||||
|
# Make LTO respect MAKEOPTS
|
||||||
|
sed -i \
|
||||||
|
-e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
|
||||||
|
build/moz.configure/lto-pgo.configure \
|
||||||
|
|| die "sed failed to set num_cores"
|
||||||
|
|
||||||
|
# sed-in toolchain prefix
|
||||||
|
sed -i \
|
||||||
|
-e "s/objdump/${CHOST}-objdump/" \
|
||||||
|
python/mozbuild/mozbuild/configure/check_debug_ranges.py \
|
||||||
|
|| die "sed failed to set toolchain prefix"
|
||||||
|
|
||||||
|
einfo "Removing pre-built binaries ..."
|
||||||
|
find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
|
||||||
|
|
||||||
|
MOZJS_BUILDDIR="${WORKDIR}/build"
|
||||||
|
mkdir "${MOZJS_BUILDDIR}" || die
|
||||||
|
|
||||||
|
popd &>/dev/null || die
|
||||||
|
eautoconf
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
tc-export CC CXX LD AR RANLIB
|
||||||
|
|
||||||
|
cd "${MOZJS_BUILDDIR}" || die
|
||||||
|
|
||||||
|
# ../python/mach/mach/mixin/process.py fails to detect SHELL
|
||||||
|
export SHELL="${EPREFIX}/bin/bash"
|
||||||
|
|
||||||
|
local -a myeconfargs=(
|
||||||
|
--host="${CBUILD:-${CHOST}}"
|
||||||
|
--target="${CHOST}"
|
||||||
|
--disable-jemalloc
|
||||||
|
--disable-optimize
|
||||||
|
--disable-strip
|
||||||
|
--enable-readline
|
||||||
|
--enable-shared-js
|
||||||
|
--with-intl-api
|
||||||
|
--with-system-icu
|
||||||
|
--with-system-nspr
|
||||||
|
--with-system-zlib
|
||||||
|
--with-toolchain-prefix="${CHOST}-"
|
||||||
|
$(use_enable debug)
|
||||||
|
$(use_enable jit)
|
||||||
|
$(use_enable test tests)
|
||||||
|
)
|
||||||
|
|
||||||
|
# Modifications to better support ARM, bug 717344
|
||||||
|
if use cpu_flags_arm_neon ; then
|
||||||
|
myeconfargs+=( --with-fpu=neon )
|
||||||
|
|
||||||
|
if ! tc-is-clang ; then
|
||||||
|
# thumb options aren't supported when using clang, bug 666966
|
||||||
|
myeconfargs+=( --with-thumb=yes )
|
||||||
|
myeconfargs+=( --with-thumb-interwork=no )
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Forcing system-icu allows us to skip patching bundled ICU for PPC
|
||||||
|
# and other minor arches
|
||||||
|
ECONF_SOURCE="${S}" \
|
||||||
|
econf \
|
||||||
|
${myeconfargs[@]} \
|
||||||
|
XARGS="${EPREFIX}/usr/bin/xargs"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
cd "${MOZJS_BUILDDIR}" || die
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
|
||||||
|
einfo "Smoke-test successful, continuing with full test suite"
|
||||||
|
else
|
||||||
|
die "Smoke-test failed: did interpreter initialization fail?"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local -a KNOWN_TESTFAILURES
|
||||||
|
KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js )
|
||||||
|
KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js )
|
||||||
|
KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js )
|
||||||
|
KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js )
|
||||||
|
KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js )
|
||||||
|
KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js )
|
||||||
|
KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/timeZone_backward_links.js )
|
||||||
|
KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js )
|
||||||
|
KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags.js )
|
||||||
|
KNOWN_TESTFAILURES+=( test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js )
|
||||||
|
|
||||||
|
if use x86 ; then
|
||||||
|
KNOWN_TESTFAILURES+=( non262/Date/timeclip.js )
|
||||||
|
KNOWN_TESTFAILURES+=( test262/built-ins/Number/prototype/toPrecision/return-values.js )
|
||||||
|
KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.1.js )
|
||||||
|
KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.2.js )
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "" > "${T}"/known_failures.list || die
|
||||||
|
|
||||||
|
local KNOWN_TESTFAILURE
|
||||||
|
for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
|
||||||
|
echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
|
||||||
|
done
|
||||||
|
|
||||||
|
PYTHONPATH="${S}/tests/lib" \
|
||||||
|
${PYTHON} \
|
||||||
|
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
|
||||||
|
--exclude-file="${T}"/known_failures.list \
|
||||||
|
"${MOZJS_BUILDDIR}"/js/src/js \
|
||||||
|
|| die
|
||||||
|
|
||||||
|
if use jit ; then
|
||||||
|
KNOWN_TESTFAILURES=()
|
||||||
|
|
||||||
|
echo "" > "${T}"/known_failures.list || die
|
||||||
|
|
||||||
|
for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
|
||||||
|
echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
|
||||||
|
done
|
||||||
|
|
||||||
|
PYTHONPATH="${S}/tests/lib" \
|
||||||
|
${PYTHON} \
|
||||||
|
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
|
||||||
|
--exclude-file="${T}"/known_failures.list \
|
||||||
|
"${MOZJS_BUILDDIR}"/js/src/js basic \
|
||||||
|
|| die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
cd "${MOZJS_BUILDDIR}" || die
|
||||||
|
default
|
||||||
|
|
||||||
|
# fix soname links
|
||||||
|
pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
|
||||||
|
mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
|
||||||
|
ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
|
||||||
|
ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
|
||||||
|
popd &>/dev/null || die
|
||||||
|
|
||||||
|
# remove unneeded files
|
||||||
|
rm \
|
||||||
|
"${ED}"/usr/bin/js${MY_MAJOR}-config \
|
||||||
|
"${ED}"/usr/$(get_libdir)/libjs_static.ajs \
|
||||||
|
|| die
|
||||||
|
|
||||||
|
# fix permissions
|
||||||
|
chmod -x \
|
||||||
|
"${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
|
||||||
|
"${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
|
||||||
|
|| die
|
||||||
|
}
|
Binary file not shown.
@ -1 +1,2 @@
|
|||||||
DIST igraph-0.7.1.tar.gz 2967134 BLAKE2B 27f0a2f51e561a3ea2e2e6d31853fe10ffd66f9f67603d77f2c0449a4c2bcd4d45c98516b526fb0f23a871ebe3db1fcf0c691551714d044124778faa147bd30f SHA512 ac7d7e3fbc6d27ae69079224881ca03db2c7e0b50d016706f3e167c614e2c9332c675d2fcd3cde12874e13a8fc402d42222308c6195afadee15152cec93f94dd
|
DIST igraph-0.7.1.tar.gz 2967134 BLAKE2B 27f0a2f51e561a3ea2e2e6d31853fe10ffd66f9f67603d77f2c0449a4c2bcd4d45c98516b526fb0f23a871ebe3db1fcf0c691551714d044124778faa147bd30f SHA512 ac7d7e3fbc6d27ae69079224881ca03db2c7e0b50d016706f3e167c614e2c9332c675d2fcd3cde12874e13a8fc402d42222308c6195afadee15152cec93f94dd
|
||||||
|
DIST igraph-0.8.2.tar.gz 3625308 BLAKE2B b3be5a28b6507c98c88a96c4a14e6b9c45645985f5b16aaae0739412a5f26a1ccdbda3180fac5d12525b4da2f5fc3d6caad3928cd1306b151b89104bbbb5f6e8 SHA512 e1035ed22541c7d253c201da5d2f8c5ceb154a6bf4be1b41981a02d6bbe72038647bf011432e2446307e615c27aa8079d4ef2c4447c2eba3764788e26e8f790b
|
||||||
|
@ -0,0 +1,150 @@
|
|||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index b422caf..dae8647 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -333,6 +333,8 @@ else
|
||||||
|
internal_glpk=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
+PKG_CHECK_MODULES([CS],[cxsparse])
|
||||||
|
+
|
||||||
|
# Link time optimization feature in newer gcc/g++
|
||||||
|
# based on http://svn.r-project.org/R/trunk/configure.ac
|
||||||
|
AC_ARG_ENABLE([lto],
|
||||||
|
diff --git a/examples/simple/igraph_sparsemat2.c b/examples/simple/igraph_sparsemat2.c
|
||||||
|
index 24877c2..0f4b45c 100644
|
||||||
|
--- a/examples/simple/igraph_sparsemat2.c
|
||||||
|
+++ b/examples/simple/igraph_sparsemat2.c
|
||||||
|
@@ -21,7 +21,7 @@
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#include <cs/cs.h>
|
||||||
|
+#include <cs.h>
|
||||||
|
#include <igraph.h>
|
||||||
|
#include "igraph_blas_internal.h"
|
||||||
|
#include "igraph_arpack_internal.h"
|
||||||
|
diff --git a/examples/simple/igraph_sparsemat3.c b/examples/simple/igraph_sparsemat3.c
|
||||||
|
index 09329f0..31d4f1f 100644
|
||||||
|
--- a/examples/simple/igraph_sparsemat3.c
|
||||||
|
+++ b/examples/simple/igraph_sparsemat3.c
|
||||||
|
@@ -21,7 +21,7 @@
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#include <cs/cs.h>
|
||||||
|
+#include <cs.h>
|
||||||
|
#include <igraph.h>
|
||||||
|
|
||||||
|
int permute(const igraph_matrix_t *M,
|
||||||
|
diff --git a/examples/simple/igraph_sparsemat4.c b/examples/simple/igraph_sparsemat4.c
|
||||||
|
index 3a33979..c0ea489 100644
|
||||||
|
--- a/examples/simple/igraph_sparsemat4.c
|
||||||
|
+++ b/examples/simple/igraph_sparsemat4.c
|
||||||
|
@@ -21,7 +21,7 @@
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#include <cs/cs.h>
|
||||||
|
+#include <cs.h>
|
||||||
|
#include <igraph.h>
|
||||||
|
|
||||||
|
igraph_bool_t check_solution(const igraph_sparsemat_t *A,
|
||||||
|
diff --git a/src/Makefile.am b/src/Makefile.am
|
||||||
|
index f9d02d2..8ab3385 100644
|
||||||
|
--- a/src/Makefile.am
|
||||||
|
+++ b/src/Makefile.am
|
||||||
|
@@ -9,9 +9,6 @@ AM_YFLAGS = -d
|
||||||
|
|
||||||
|
lib_LTLIBRARIES = libigraph.la
|
||||||
|
|
||||||
|
-include lapack/blas.inc
|
||||||
|
-include lapack/lapack.inc
|
||||||
|
-include lapack/arpack.inc
|
||||||
|
include plfit/plfit.inc
|
||||||
|
|
||||||
|
F2C = f2c/abort_.c f2c/dolio.c f2c/r_sin.c\
|
||||||
|
@@ -99,8 +96,6 @@ if INTERNAL_ARPACK
|
||||||
|
ARPACK_LIB = libarpack.la
|
||||||
|
endif
|
||||||
|
|
||||||
|
-include ../optional/glpk/glpk.inc
|
||||||
|
-
|
||||||
|
if INTERNAL_GLPK
|
||||||
|
libglpk_la_SOURCES = $(GLPK)
|
||||||
|
libglpk_la_CFLAGS = -I$(top_srcdir)/optional/glpk
|
||||||
|
@@ -365,7 +360,7 @@ SOURCES = basic_query.c games.c cocitation.c iterators.c \
|
||||||
|
drl_layout_3d.cpp drl_graph_3d.cpp \
|
||||||
|
DensityGrid_3d.cpp \
|
||||||
|
foreign-dl-parser.y foreign-dl-lexer.l \
|
||||||
|
- $(CS) sparsemat.c mixing.c bigint.c bignum.c \
|
||||||
|
+ sparsemat.c mixing.c bigint.c bignum.c \
|
||||||
|
version.c optimal_modularity.c \
|
||||||
|
igraph_fixed_vectorlist.c separators.c \
|
||||||
|
igraph_marked_queue.c igraph_estack.c st-cuts.c \
|
||||||
|
@@ -408,7 +403,7 @@ libigraph_la_CXXFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(W
|
||||||
|
libigraph_la_LDFLAGS = -no-undefined
|
||||||
|
libigraph_la_LIBADD = -lm $(XML2_LIBS) $(F2C_LIB) $(BLAS_LIB) \
|
||||||
|
$(LAPACK_LIB) $(ARPACK_LIB) $(GLPK_LIB) $(PRPACK_LIB) \
|
||||||
|
- $(PLFIT_LIB)
|
||||||
|
+ $(PLFIT_LIB) $(CS_LIBS)
|
||||||
|
|
||||||
|
if INTERNAL_GLPK
|
||||||
|
libigraph_la_CFLAGS += -I$(top_srcdir)/optional/glpk
|
||||||
|
diff --git a/src/Makefile.in b/src/Makefile.in
|
||||||
|
index 56703d4..cc30d48 100644
|
||||||
|
--- a/src/Makefile.in
|
||||||
|
+++ b/src/Makefile.in
|
||||||
|
@@ -2411,7 +2411,7 @@ SOURCES = basic_query.c games.c cocitation.c iterators.c \
|
||||||
|
gengraph_powerlaw.cpp gengraph_random.cpp decomposition.c \
|
||||||
|
bipartite.c drl_layout_3d.cpp drl_graph_3d.cpp \
|
||||||
|
DensityGrid_3d.cpp foreign-dl-parser.y foreign-dl-lexer.l \
|
||||||
|
- $(CS) sparsemat.c mixing.c bigint.c bignum.c version.c \
|
||||||
|
+ sparsemat.c mixing.c bigint.c bignum.c version.c \
|
||||||
|
optimal_modularity.c igraph_fixed_vectorlist.c separators.c \
|
||||||
|
igraph_marked_queue.c igraph_estack.c st-cuts.c \
|
||||||
|
cohesive_blocks.c statusbar.c lapack.c complex.c eigen.c \
|
||||||
|
diff --git a/src/sparsemat.c b/src/sparsemat.c
|
||||||
|
index 0ed4678..4fb724d 100644
|
||||||
|
--- a/src/sparsemat.c
|
||||||
|
+++ b/src/sparsemat.c
|
||||||
|
@@ -23,7 +23,7 @@
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
-#include "cs/cs.h"
|
||||||
|
+#include <cs.h>
|
||||||
|
|
||||||
|
#include "igraph_sparsemat.h"
|
||||||
|
#include "igraph_error.h"
|
||||||
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||||||
|
index d350f11..31a1f5a 100644
|
||||||
|
--- a/tests/Makefile.am
|
||||||
|
+++ b/tests/Makefile.am
|
||||||
|
@@ -13,7 +13,7 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
|
||||||
|
echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \
|
||||||
|
} >$(srcdir)/package.m4
|
||||||
|
|
||||||
|
-EXTRA_DIST += package.m4
|
||||||
|
+#EXTRA_DIST += package.m4
|
||||||
|
|
||||||
|
TESTSUITE_AT = \
|
||||||
|
testsuite.at \
|
||||||
|
diff --git a/tests/mt.at b/tests/mt.at
|
||||||
|
index 050974a..b154ce1 100644
|
||||||
|
--- a/tests/mt.at
|
||||||
|
+++ b/tests/mt.at
|
||||||
|
@@ -23,11 +23,11 @@ AT_BANNER([[Thread-safety tests]])
|
||||||
|
|
||||||
|
AT_SETUP([Simple error handling test :])
|
||||||
|
AT_KEYWORDS([thread-safe])
|
||||||
|
-AT_COMPILE_CHECK([simple/tls1.c], [], [], [], [-lpthread])
|
||||||
|
+AT_COMPILE_CHECK([simple/tls1.c], [], [], [], [-lpthread $(${PKG_CONFIG} --libs arpack)])
|
||||||
|
AT_CLEANUP
|
||||||
|
|
||||||
|
AT_SETUP([Thread-safe ARPACK:])
|
||||||
|
AT_KEYWORDS([thread-safe ARPACK])
|
||||||
|
AT_COMPILE_CHECK([simple/tls2.c], [simple/tls2.out], [], [internal],
|
||||||
|
- [-lpthread])
|
||||||
|
+ [-lpthread $(${PKG_CONFIG} --libs arpack)])
|
||||||
|
AT_CLEANUP
|
@ -0,0 +1,59 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
inherit autotools toolchain-funcs
|
||||||
|
|
||||||
|
DESCRIPTION="Creating and manipulating undirected and directed graphs"
|
||||||
|
HOMEPAGE="http://www.igraph.org/"
|
||||||
|
SRC_URI="https://github.com/igraph/igraph/releases/download/${PV}/${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0/0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
IUSE="debug"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
dev-libs/gmp:0
|
||||||
|
dev-libs/libxml2
|
||||||
|
sci-libs/arpack
|
||||||
|
sci-libs/cxsparse
|
||||||
|
sci-mathematics/glpk
|
||||||
|
virtual/blas
|
||||||
|
virtual/lapack"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND="virtual/pkgconfig"
|
||||||
|
|
||||||
|
PATCHES=( "${FILESDIR}"/${P}-unbundle.patch )
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
rm -r src/lapack optional/glpk src/cs || die
|
||||||
|
eautoreconf
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
# even with --with-external-f2c
|
||||||
|
# we don't need f2c as none of
|
||||||
|
# arpack lapack blas
|
||||||
|
# are internal
|
||||||
|
tc-export PKG_CONFIG
|
||||||
|
econf \
|
||||||
|
$(use_enable debug) \
|
||||||
|
--enable-gmp \
|
||||||
|
--disable-static \
|
||||||
|
--disable-tls \
|
||||||
|
--with-external-arpack \
|
||||||
|
--with-external-blas \
|
||||||
|
--with-external-lapack \
|
||||||
|
--with-external-f2c \
|
||||||
|
--with-external-glpk
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
default
|
||||||
|
|
||||||
|
# no static archives
|
||||||
|
find "${ED}" -name '*.la' -delete || die
|
||||||
|
}
|
@ -1,4 +1,2 @@
|
|||||||
DIST msgpack-1.1.0.tar.gz 493551 BLAKE2B 3ee162fcba5ae61c7c69945a567ac4d39526e7941f42cc2ed55bc5885b823af84eea212c4e75e8e8583e8ea8a5e12f75e969409193c5e7273430e2e02d33a02c SHA512 6823fab090c2146f871a45736c29b8f81434f0d72c597ebea2e947e4a9a17554e163bc88fbbc3dd0805b2ef0df029b10ca30c09dfbd1111252b9861a1e373901
|
|
||||||
DIST msgpack-3.1.1.tar.gz 495858 BLAKE2B a99b7edb2a6de80e018d5c4084ea199518e34045a6293c622c8690147ae353abdb63856eb031962a02ce20903d4443ec2b01a3c033e756c339f8674ff801d4c3 SHA512 cc634ef38b3844bf994159024441fe72d99055c42b0a4d81245b0629fd1f3147587eb36537cfb85e4cae2edc1dc23d7fa400022efa5a10dca295f9a6acd38346
|
|
||||||
DIST msgpack-3.2.0.tar.gz 499188 BLAKE2B 6e5fd59a96ca726d3429b173b3db4c74163eaf6d314b289845237b6ace6208478dbbbb60397c630d515f6f6eed344b74f76225d1a4ca143b91ebb9b3a1369c14 SHA512 f3d011adfaa71b3c5d5f3eb43f0addbd461ae82b8ac22f367ddba7ef762d3bea500477501cf394d1770f0c47809bc363fc1088819ecfdfa668e93529885f4b88
|
DIST msgpack-3.2.0.tar.gz 499188 BLAKE2B 6e5fd59a96ca726d3429b173b3db4c74163eaf6d314b289845237b6ace6208478dbbbb60397c630d515f6f6eed344b74f76225d1a4ca143b91ebb9b3a1369c14 SHA512 f3d011adfaa71b3c5d5f3eb43f0addbd461ae82b8ac22f367ddba7ef762d3bea500477501cf394d1770f0c47809bc363fc1088819ecfdfa668e93529885f4b88
|
||||||
DIST msgpack-3.2.1.tar.gz 1234733 BLAKE2B 97fb6cab5125463f10e7ad2c55ee478b2bf3dab5628a40ce1b0bcdd96cc002f5c99e495592c91f1342e6623d32b5594536de226b0bf80e1cb5290dae9b0566dc SHA512 68d06b05a1f00a3d9d7d39313a9e11f42828606c39d9d4c07673a48c9b88028a6316f2a964881cc8e4d185616a037711f02a7d3cd6029eadbacf52145603538b
|
DIST msgpack-3.3.0.tar.gz 508001 BLAKE2B 3017c44689f8afbf078b9c498449e21b4e3b87591c50a37bf9ae73869dab550819f24d6e5179a3600df297aa2c024e5a7fe1defcbab7c0f1aff826870de2ab32 SHA512 ad3e32edc8c6afd70282b3d4b493c2ffe74a697c41bd1f39030c5b4752cccefaa965bc049d4c2e63103a210bf714dc3bddd474691bc067d1475ae017593f55e6
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
--- msgpack-1.0.0/CMakeLists.txt
|
|
||||||
+++ msgpack-1.0.0/CMakeLists.txt
|
|
||||||
@@ -213,10 +213,6 @@
|
|
||||||
ADD_SUBDIRECTORY (test)
|
|
||||||
ENDIF ()
|
|
||||||
|
|
||||||
-IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
|
||||||
- SET_PROPERTY (TARGET msgpack APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -g -O3 -DPIC")
|
|
||||||
- SET_PROPERTY (TARGET msgpack-static APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -g -O3" )
|
|
||||||
-ENDIF ()
|
|
||||||
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
|
||||||
IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
|
|
||||||
STRING(REGEX REPLACE "/W[0-4]" "/W3" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
|
||||||
--- msgpack-1.0.0/test/CMakeLists.txt
|
|
||||||
+++ msgpack-1.0.0/test/CMakeLists.txt
|
|
||||||
@@ -52,9 +52,6 @@
|
|
||||||
${CMAKE_THREAD_LIBS_INIT}
|
|
||||||
)
|
|
||||||
ADD_TEST (${source_file_we} ${source_file_we})
|
|
||||||
- IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
|
||||||
- SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -g -O3")
|
|
||||||
- ENDIF ()
|
|
||||||
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
|
||||||
IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
|
|
||||||
STRING(REGEX REPLACE "/W[0-4]" "/W3" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
|
@ -1,40 +0,0 @@
|
|||||||
--- msgpack-1.0.0/CMakeLists.txt
|
|
||||||
+++ msgpack-1.0.0/CMakeLists.txt
|
|
||||||
@@ -17,6 +17,7 @@
|
|
||||||
|
|
||||||
OPTION (MSGPACK_CXX11 "Using c++11 compiler" OFF)
|
|
||||||
OPTION (MSGPACK_32BIT "32bit compile" OFF)
|
|
||||||
+OPTION (MSGPACK_STATIC "Build static library" ON)
|
|
||||||
|
|
||||||
IF (MSGPACK_CXX11)
|
|
||||||
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
|
||||||
@@ -196,12 +197,15 @@
|
|
||||||
${msgpack_HEADERS}
|
|
||||||
)
|
|
||||||
|
|
||||||
-ADD_LIBRARY (msgpack-static STATIC
|
|
||||||
- ${msgpack_SOURCES}
|
|
||||||
- ${msgpack_HEADERS}
|
|
||||||
-)
|
|
||||||
+IF (MSGPACK_STATIC)
|
|
||||||
+ ADD_LIBRARY (msgpack-static STATIC
|
|
||||||
+ ${msgpack_SOURCES}
|
|
||||||
+ ${msgpack_HEADERS}
|
|
||||||
+ )
|
|
||||||
+ SET_TARGET_PROPERTIES (msgpack-static PROPERTIES OUTPUT_NAME "msgpack")
|
|
||||||
+ INSTALL (TARGETS msgpack-static DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
||||||
+ENDIF ()
|
|
||||||
|
|
||||||
-SET_TARGET_PROPERTIES (msgpack-static PROPERTIES OUTPUT_NAME "msgpack")
|
|
||||||
SET_TARGET_PROPERTIES (msgpack PROPERTIES IMPORT_SUFFIX "_import.lib")
|
|
||||||
SET_TARGET_PROPERTIES (msgpack PROPERTIES SOVERSION 3 VERSION 4.0.0)
|
|
||||||
|
|
||||||
@@ -233,7 +237,7 @@
|
|
||||||
SET(CMAKE_INSTALL_LIBDIR lib)
|
|
||||||
ENDIF ()
|
|
||||||
|
|
||||||
-INSTALL (TARGETS msgpack msgpack-static DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
||||||
+INSTALL (TARGETS msgpack DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
||||||
INSTALL (DIRECTORY include DESTINATION ${CMAKE_INSTALL_PREFIX})
|
|
||||||
INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/msgpack.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
|||||||
Bug: https://bugs.gentoo.org/623492
|
|
||||||
Backported from: https://github.com/msgpack/msgpack-c/commit/66a5fcf8f1a9e57b02904a6ac55a86a9c74ea1de
|
|
||||||
|
|
||||||
--- a/include/msgpack/adaptor/detail/cpp11_msgpack_tuple.hpp
|
|
||||||
+++ b/include/msgpack/adaptor/detail/cpp11_msgpack_tuple.hpp
|
|
||||||
@@ -46,13 +46,14 @@
|
|
||||||
public:
|
|
||||||
using base = std::tuple<Types...>;
|
|
||||||
|
|
||||||
- using base::base;
|
|
||||||
|
|
||||||
- tuple() = default;
|
|
||||||
tuple(tuple const&) = default;
|
|
||||||
tuple(tuple&&) = default;
|
|
||||||
|
|
||||||
template<typename... OtherTypes>
|
|
||||||
+ tuple(OtherTypes&&... other):base(std::forward<OtherTypes>(other)...) {}
|
|
||||||
+
|
|
||||||
+ template<typename... OtherTypes>
|
|
||||||
tuple(tuple<OtherTypes...> const& other):base(static_cast<std::tuple<OtherTypes...> const&>(other)) {}
|
|
||||||
template<typename... OtherTypes>
|
|
||||||
tuple(tuple<OtherTypes...> && other):base(static_cast<std::tuple<OtherTypes...> &&>(other)) {}
|
|
@ -1,47 +0,0 @@
|
|||||||
# Copyright 1999-2019 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=6
|
|
||||||
|
|
||||||
inherit cmake-multilib
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999 ]]; then
|
|
||||||
inherit git-r3
|
|
||||||
EGIT_REPO_URI="https://github.com/${PN}/${PN}-c.git"
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz"
|
|
||||||
KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
|
|
||||||
fi
|
|
||||||
|
|
||||||
DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
|
|
||||||
HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="+cxx static-libs test"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
DEPEND="
|
|
||||||
test? (
|
|
||||||
>=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}]
|
|
||||||
sys-libs/zlib[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
"
|
|
||||||
|
|
||||||
DOCS=( README.md )
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-1.0.0-cflags.patch
|
|
||||||
"${FILESDIR}"/${PN}-1.0.0-static.patch
|
|
||||||
"${FILESDIR}"/${P}-gcc6.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
local mycmakeargs=(
|
|
||||||
-DMSGPACK_ENABLE_CXX=$(usex cxx)
|
|
||||||
-DMSGPACK_STATIC=$(usex static-libs)
|
|
||||||
-DMSGPACK_BUILD_TESTS=$(usex test)
|
|
||||||
)
|
|
||||||
|
|
||||||
cmake-multilib_src_configure
|
|
||||||
}
|
|
@ -1,75 +0,0 @@
|
|||||||
# Copyright 1999-2019 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
inherit cmake-multilib
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999 ]]; then
|
|
||||||
inherit git-r3
|
|
||||||
EGIT_REPO_URI="https://github.com/${PN}/${PN}-c.git"
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz"
|
|
||||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
|
||||||
fi
|
|
||||||
|
|
||||||
DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
|
|
||||||
HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/"
|
|
||||||
|
|
||||||
LICENSE="Boost-1.0"
|
|
||||||
SLOT="0/2"
|
|
||||||
IUSE="boost +cxx doc examples static-libs test"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
RDEPEND="boost? ( dev-libs/boost[context,${MULTILIB_USEDEP}] )"
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
test? (
|
|
||||||
>=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}]
|
|
||||||
sys-libs/zlib[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
doc? ( app-doc/doxygen[dot] )
|
|
||||||
"
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
local mycmakeargs=(
|
|
||||||
-DMSGPACK_BOOST="$(usex boost)"
|
|
||||||
-DMSGPACK_ENABLE_CXX="$(usex cxx)"
|
|
||||||
-DMSGPACK_ENABLE_STATIC="$(usex static-libs)"
|
|
||||||
-DMSGPACK_BUILD_TESTS="$(usex test)"
|
|
||||||
# don't build the examples
|
|
||||||
-DMSGPACK_BUILD_EXAMPLES=OFF
|
|
||||||
# enable C++11 by default
|
|
||||||
-DMSGPACK_CXX11=ON
|
|
||||||
)
|
|
||||||
cmake-multilib_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_compile() {
|
|
||||||
cmake-utils_src_compile
|
|
||||||
|
|
||||||
if multilib_is_native_abi && use doc; then
|
|
||||||
cmake-utils_src_make doxygen
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install() {
|
|
||||||
if multilib_is_native_abi; then
|
|
||||||
if use doc; then
|
|
||||||
local HTML_DOCS=( "${BUILD_DIR}"/docs/. )
|
|
||||||
|
|
||||||
mkdir docs || die
|
|
||||||
mv doc_c/html docs/c || die
|
|
||||||
|
|
||||||
use cxx && mv doc_cpp/html docs/cpp || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use examples; then
|
|
||||||
docinto examples
|
|
||||||
|
|
||||||
dodoc -r "${WORKDIR}/${P}/example/."
|
|
||||||
|
|
||||||
docompress -x /usr/share/doc/${PF}/examples
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
cmake-utils_src_install
|
|
||||||
}
|
|
@ -1 +1,2 @@
|
|||||||
DIST unibilium-2.0.0.tar.gz 112570 BLAKE2B 95c24c53e11590faabf3d4b8484c344be0b2a0988f05bde785d03dac338d9f18fc65324f5ccc402723c9fabe2990083ce260d8fa57129591a1b2a1f8405eff9d SHA512 e93f319b7a85a4441c7f4e30d12d906805f066b14bff03331e48b6257da893f6447e257c8ba731077ad4b54d82d3ebf1ccf1fcf2d864273e0d4321a26ef7c172
|
DIST unibilium-2.0.0.tar.gz 112570 BLAKE2B 95c24c53e11590faabf3d4b8484c344be0b2a0988f05bde785d03dac338d9f18fc65324f5ccc402723c9fabe2990083ce260d8fa57129591a1b2a1f8405eff9d SHA512 e93f319b7a85a4441c7f4e30d12d906805f066b14bff03331e48b6257da893f6447e257c8ba731077ad4b54d82d3ebf1ccf1fcf2d864273e0d4321a26ef7c172
|
||||||
|
DIST unibilium-2.1.0.tar.gz 121971 BLAKE2B e035eab4343ee779218c302b3cae3ff5d443fc9bd723cade53a3d38dde3d66ee3d7374f7c69b85508a59d44d936601b24f33b01d923e55677d2bac71bd520fea SHA512 c0074ff8431f82c92072b8c0c9d3cf38d759b4de996b168c6ab00e475b0a6204d9c29b0a6e48e62dd4fa4898f82246150ef7cd5e246893d2c225c50ec4d4ac68
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -56,7 +56,7 @@ OBJECTS=unibilium.lo uninames.lo uniutil.lo
|
||||||
|
LIBRARY=libunibilium.la
|
||||||
|
|
||||||
|
PODS=$(wildcard doc/*.pod)
|
||||||
|
-MANPAGES=$(addprefix man/,$(notdir $(PODS:.pod=.3.gz)))
|
||||||
|
+MANPAGES=$(addprefix man/,$(notdir $(PODS:.pod=.3)))
|
||||||
|
|
||||||
|
TOOLS=$(wildcard tools/*.c)
|
||||||
|
|
||||||
|
@@ -121,8 +121,8 @@ install-man: build-man
|
||||||
|
.PHONY: build-man
|
||||||
|
build-man: $(MANPAGES)
|
||||||
|
|
||||||
|
-man/%.3.gz: doc/%.pod
|
||||||
|
- $(POD2MAN) $(POD2MAN_OPTS) $< | gzip > $@
|
||||||
|
+man/%.3: doc/%.pod
|
||||||
|
+ $(POD2MAN) $(POD2MAN_OPTS) $< > $@
|
||||||
|
|
||||||
|
|
||||||
|
# Regenerate static test files, based on existing terminfo entries.
|
@ -0,0 +1,35 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
inherit flag-o-matic toolchain-funcs
|
||||||
|
|
||||||
|
DESCRIPTION="A very basic terminfo library"
|
||||||
|
HOMEPAGE="https://github.com/neovim/unibilium/"
|
||||||
|
SRC_URI="https://github.com/neovim/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="LGPL-3+ MIT"
|
||||||
|
SLOT="0/4"
|
||||||
|
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||||
|
IUSE="static-libs"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
dev-lang/perl
|
||||||
|
sys-devel/libtool"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/${PN}-2.1.0-no-compress-man.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
append-flags -fPIC
|
||||||
|
tc-export CC
|
||||||
|
emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" all
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" DESTDIR="${D}" install
|
||||||
|
use static-libs || rm "${ED}"/usr/$(get_libdir)/lib${PN}.a || die
|
||||||
|
rm "${ED}"/usr/$(get_libdir)/lib${PN}.la || die
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
|||||||
DIST jupyterlab_pygments-0.1.1.tar.gz 561976 BLAKE2B ca317ed6709fd2c9a8afd137051140396bccdc3140c8c1ca97f64f8d4f74d2272c687661e1e28822a5008b2285306024408b18ba6ac92cb9d73acc29b8741fe4 SHA512 743e380f253f817ec9c9aedbe5d3c1cb5bc2c3de2136deba40b0fd3880bb04a4774099eb90437519638811ea9bea0324db3c3d8b1a9ab63857e7513deeaba669
|
DIST jupyterlab_pygments-0.1.1.tar.gz 561976 BLAKE2B ca317ed6709fd2c9a8afd137051140396bccdc3140c8c1ca97f64f8d4f74d2272c687661e1e28822a5008b2285306024408b18ba6ac92cb9d73acc29b8741fe4 SHA512 743e380f253f817ec9c9aedbe5d3c1cb5bc2c3de2136deba40b0fd3880bb04a4774099eb90437519638811ea9bea0324db3c3d8b1a9ab63857e7513deeaba669
|
||||||
|
DIST jupyterlab_pygments-0.1.2.tar.gz 561989 BLAKE2B 85d6b59b2c959f838746c7c6fed99ad5adda89a514a77327cc8e9ba7d6a91b1c0206d999c09149e6c5b9c67911ca16914f0b17a67b3505db73c23a7194fe4566 SHA512 0b4f4c13017f8afbd83e9fb575b3c4ee44272bc01421761ae7b140ecab743d825aa195432caa5f6153bda0ef84fe3ab92dad61ffd9b048927736a916dd267b5a
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
# Copyright 2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{6..9} )
|
||||||
|
|
||||||
|
inherit distutils-r1
|
||||||
|
|
||||||
|
DESCRIPTION="Pygments theme making use of JupyterLab CSS variables"
|
||||||
|
HOMEPAGE="https://github.com/jupyterlab/jupyterlab_pygments"
|
||||||
|
SRC_URI="https://github.com/jupyterlab/jupyterlab_pygments/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||||
|
|
||||||
|
RDEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
|
@ -1 +1,2 @@
|
|||||||
DIST jwcrypto-0.7.0.tar.gz 80869 BLAKE2B 7b8a6928dff40d4d3e0bd61cfc81362ed5d0abd1001e1273aa12111166ed13e510d9cff935724578c2b7392bc74ffc94b0a733ea23f4a982e6bd8d35b1155ef4 SHA512 1d2b6268a54f3a3d466f7a7f7f0776164f0f35420b026c8ebfba099df530d965697eea85a49a73c44713e38fdb9ec4018cd4813b8e154a18117fc4006aa5578e
|
DIST jwcrypto-0.7.0.tar.gz 80869 BLAKE2B 7b8a6928dff40d4d3e0bd61cfc81362ed5d0abd1001e1273aa12111166ed13e510d9cff935724578c2b7392bc74ffc94b0a733ea23f4a982e6bd8d35b1155ef4 SHA512 1d2b6268a54f3a3d466f7a7f7f0776164f0f35420b026c8ebfba099df530d965697eea85a49a73c44713e38fdb9ec4018cd4813b8e154a18117fc4006aa5578e
|
||||||
|
DIST jwcrypto-0.8.0.tar.gz 81782 BLAKE2B a3cfb04f099a747c365f870c53d75574cdfaf8b98373f37cc107ebca956b414b7d7cb78f8fcd6d3964528d3bc8a217e5c645bf6e82531e951dfdd9ca03472111 SHA512 784134d27ff7abd31e1069763969513ed45f81fd2c242b7ff7036413c35ef374d535eae0123f5561a8e4eb2630cee40056d1c66454288e1310c4cbedecaac210
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( pypy3 python3_{6..9} )
|
||||||
|
|
||||||
|
inherit distutils-r1
|
||||||
|
|
||||||
|
DESCRIPTION="Implements JWK,JWS,JWE specifications using python-cryptography"
|
||||||
|
|
||||||
|
HOMEPAGE="https://github.com/latchset/jwcrypto"
|
||||||
|
SRC_URI="https://github.com/latchset/jwcrypto/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="LGPL-3+"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||||
|
|
||||||
|
RDEPEND=">=dev-python/cryptography-2.3[${PYTHON_USEDEP}]"
|
||||||
|
|
||||||
|
distutils_enable_sphinx docs/source
|
||||||
|
distutils_enable_tests pytest
|
||||||
|
|
||||||
|
python_prepare_all() {
|
||||||
|
# Do not install doc in non-standard paths
|
||||||
|
sed -i "\|data_files = \[('share/doc/jwcrypto|d" setup.py || die
|
||||||
|
distutils-r1_python_prepare_all
|
||||||
|
}
|
@ -1 +1,2 @@
|
|||||||
DIST neovim-remote-2.2.1.tar.gz 438078 BLAKE2B abbb056a10acb1c4e21c0c418ee2d6003869340eb34df0c0374b947fbbfa2d2e0f64f61ad571a6cad7ffad7374f1df17a519795e61b37b8d6741d566760759e9 SHA512 04a16a1ed5f4947b4fd763432a14fc565300abe9b480037a462f0c4700535d4854012ff08ac64234dbb1fccc1d3f5ba2174f94effc5564879fbcd1c83fee26ae
|
DIST neovim-remote-2.2.1.tar.gz 438078 BLAKE2B abbb056a10acb1c4e21c0c418ee2d6003869340eb34df0c0374b947fbbfa2d2e0f64f61ad571a6cad7ffad7374f1df17a519795e61b37b8d6741d566760759e9 SHA512 04a16a1ed5f4947b4fd763432a14fc565300abe9b480037a462f0c4700535d4854012ff08ac64234dbb1fccc1d3f5ba2174f94effc5564879fbcd1c83fee26ae
|
||||||
|
DIST neovim-remote-2.4.0.tar.gz 438687 BLAKE2B 0dfbe3d660d9b2f6b7a4f1016d4d230d63612306ea99079364ed5c6dbae51df7a19c4d1bca51a7bfad142ffe5811e286b843edf6b0715c7aac921c584701030e SHA512 073bf95a0238c76c19258d886fe71e23ec85f9cba200b8a490014a2842d1a84b3c95092afcfdcc8ca80122639b9e07652594faa24ed6a6aff537192ec3a3d14c
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||||
|
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||||
|
|
||||||
|
inherit distutils-r1
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]]; then
|
||||||
|
inherit git-r3
|
||||||
|
EGIT_REPO_URI="https://github.com/mhinz/${PN}.git"
|
||||||
|
else
|
||||||
|
KEYWORDS="~amd64 ~arm"
|
||||||
|
SRC_URI="https://github.com/mhinz/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="A tool that helps control neovim processes"
|
||||||
|
HOMEPAGE="https://github.com/mhinz/neovim-remote"
|
||||||
|
LICENSE="MIT"
|
||||||
|
SLOT="0"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
dev-python/pynvim[${PYTHON_USEDEP}]
|
||||||
|
dev-python/psutil[${PYTHON_USEDEP}]
|
||||||
|
"
|
||||||
|
|
||||||
|
distutils_enable_tests pytest
|
||||||
|
|
||||||
|
BDEPEND+="
|
||||||
|
test? ( app-editors/neovim )
|
||||||
|
"
|
@ -1,2 +1,3 @@
|
|||||||
|
DIST phonenumbers-8.12.10.tar.gz 2254112 BLAKE2B 1fa0faf7347371a548b5e890e3cf8ba9daa32275670f40f7efe507ecfa817a3c372d5b47f2b91a1366bb519657447a614d3579bf69ba3249255c579e37ae883b SHA512 14fcdaa76a61624db2c4d4290a3df27252d985f889b8fb29c80971b88b502a5fe74efa0a110ee3ec92459b8d6a1ccc03dd5eb211b6addad741c9bb7527d5e600
|
||||||
DIST phonenumbers-8.12.8.tar.gz 2249617 BLAKE2B e02f851774bee9806f01b0359ea4e159c8c890a815edf45f19162dc35972aaa3c84f9e2e19a51ef3efb053d4e307a4d3a31b664a7fffc7c4ffe9a7c6c281ae86 SHA512 0897a5298b5aaee7c0775e12cbe35a6e25b85a1836d8302abc5eee7e327fc559bc06f3130c63ac5aa14207900d1615f3a7cd4137d6561855e4ad38b6e4af220f
|
DIST phonenumbers-8.12.8.tar.gz 2249617 BLAKE2B e02f851774bee9806f01b0359ea4e159c8c890a815edf45f19162dc35972aaa3c84f9e2e19a51ef3efb053d4e307a4d3a31b664a7fffc7c4ffe9a7c6c281ae86 SHA512 0897a5298b5aaee7c0775e12cbe35a6e25b85a1836d8302abc5eee7e327fc559bc06f3130c63ac5aa14207900d1615f3a7cd4137d6561855e4ad38b6e4af220f
|
||||||
DIST phonenumbers-8.12.9.tar.gz 2250397 BLAKE2B 06b3f8beefe3c1e5cfa4d0f9bb550f40e568692f711513784001e9bad9d3805adc42ba0bdacfa292935239c6bcb47e4723a72da160efde21269308329299fce0 SHA512 0f1de43bd56ca05920721cc9639249bffaa6516f4713fc54b53491e4ffecceb357a26cd9d6126ea9e91eec1bb1fb4bf2003f95f1d62f61ae2f1275e0dca58e29
|
DIST phonenumbers-8.12.9.tar.gz 2250397 BLAKE2B 06b3f8beefe3c1e5cfa4d0f9bb550f40e568692f711513784001e9bad9d3805adc42ba0bdacfa292935239c6bcb47e4723a72da160efde21269308329299fce0 SHA512 0f1de43bd56ca05920721cc9639249bffaa6516f4713fc54b53491e4ffecceb357a26cd9d6126ea9e91eec1bb1fb4bf2003f95f1d62f61ae2f1275e0dca58e29
|
||||||
|
@ -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..9} )
|
||||||
|
|
||||||
|
inherit distutils-r1
|
||||||
|
|
||||||
|
DESCRIPTION="Python port of Google's libphonenumber"
|
||||||
|
HOMEPAGE="https://github.com/daviddrysdale/python-phonenumbers"
|
||||||
|
SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
|
||||||
|
DOCS=(README.md)
|
||||||
|
|
||||||
|
distutils_enable_tests setup.py
|
@ -1 +1,2 @@
|
|||||||
|
DIST python-memcached-1.59-gh.tar.gz 32334 BLAKE2B de8d18ba887b03e4737b554cc4b0074a4f16745e26a8b3631a747c45019e1da83612677dc3e98f97d76e851320c61baafbd0a29231a826c14b7d3bf3e477f29e SHA512 d7ff45a329f2a9bf97fdc7c0268c2c67046c3501270fcf03578b955c2da35904d7bdecd4239924d390797ddff8f4cc69fc5743f4d4f663cdb9f2f8c7e8159512
|
||||||
DIST python-memcached-1.59.tar.gz 22210 BLAKE2B 50387821d50cf974ada738346e016eb736043078721bf905782f41df1f27574244d03b6b94ac9e5ccab7aeecfa8ca4c5a78cec2c41d15fda8756c7cb3bce9aa1 SHA512 a25cbb9efb3babe85e1523bdabfe4644b93b3a6a7268787a3928f724f833ce0eea7d2ef676d1b7f894cdfe293129975b35cb46ec553c92810dbc18013bfabece
|
DIST python-memcached-1.59.tar.gz 22210 BLAKE2B 50387821d50cf974ada738346e016eb736043078721bf905782f41df1f27574244d03b6b94ac9e5ccab7aeecfa8ca4c5a78cec2c41d15fda8756c7cb3bce9aa1 SHA512 a25cbb9efb3babe85e1523bdabfe4644b93b3a6a7268787a3928f724f833ce0eea7d2ef676d1b7f894cdfe293129975b35cb46ec553c92810dbc18013bfabece
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( pypy3 python3_{6..9} )
|
||||||
|
|
||||||
|
inherit distutils-r1
|
||||||
|
|
||||||
|
DESCRIPTION="Pure python memcached client"
|
||||||
|
HOMEPAGE="
|
||||||
|
https://www.tummy.com/Community/software/python-memcached/
|
||||||
|
https://pypi.org/project/python-memcached/
|
||||||
|
"
|
||||||
|
# PyPI tarballs don't contain tests
|
||||||
|
SRC_URI="https://github.com/linsomniac/python-memcached/archive/${PV}.tar.gz -> ${P}-gh.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="OSL-2.0"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~arm64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
|
||||||
|
|
||||||
|
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
|
||||||
|
BDEPEND="test? ( net-misc/memcached )"
|
||||||
|
|
||||||
|
distutils_enable_tests nose
|
||||||
|
|
||||||
|
python_test() {
|
||||||
|
local pidfile="${TMPDIR}/memcached.pid"
|
||||||
|
|
||||||
|
memcached -d -P "$pidfile" || die "failed to start memcached"
|
||||||
|
|
||||||
|
nosetests -v || die "Tests fail with ${EPYTHON}"
|
||||||
|
|
||||||
|
kill "$(<"$pidfile")" || die "failed to kill memcached"
|
||||||
|
local elapsed=0
|
||||||
|
while [[ -f "$pidfile" ]]; do
|
||||||
|
if [[ $elapsed -ge 30 ]]; then
|
||||||
|
kill -KILL "$(<"$pidfile")" || die "failed to kill -KILL memcached"
|
||||||
|
die "memcached failed to stop after 30 seconds"
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
let elapsed++
|
||||||
|
done
|
||||||
|
}
|
@ -0,0 +1,392 @@
|
|||||||
|
From 992e09eac484f25871b7fcfc6d11b8e5beac9edb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Pierre Ossman <ossman@cendio.se>
|
||||||
|
Date: Fri, 21 Aug 2020 10:50:11 +0200
|
||||||
|
Subject: [PATCH] Convert tests from mox to mock
|
||||||
|
|
||||||
|
mox is deprecated upstream in favour of mock
|
||||||
|
---
|
||||||
|
test-requirements.txt | 2 +-
|
||||||
|
tests/test_websocketproxy.py | 34 ++++------
|
||||||
|
tests/test_websockifyserver.py | 111 +++++++++++++--------------------
|
||||||
|
3 files changed, 58 insertions(+), 89 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/test-requirements.txt b/test-requirements.txt
|
||||||
|
index a63a15e..8e01437 100644
|
||||||
|
--- a/test-requirements.txt
|
||||||
|
+++ b/test-requirements.txt
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-mox3
|
||||||
|
+mock
|
||||||
|
nose
|
||||||
|
jwcrypto;python_version>="2.7"
|
||||||
|
redis;python_version>="2.7"
|
||||||
|
diff --git a/tests/test_websocketproxy.py b/tests/test_websocketproxy.py
|
||||||
|
index c0a8d93..d8a4916 100644
|
||||||
|
--- a/tests/test_websocketproxy.py
|
||||||
|
+++ b/tests/test_websocketproxy.py
|
||||||
|
@@ -20,10 +20,11 @@
|
||||||
|
import unittest
|
||||||
|
import unittest
|
||||||
|
import socket
|
||||||
|
+try:
|
||||||
|
+ from mock import patch
|
||||||
|
+except ImportError:
|
||||||
|
+ from unittest.mock import patch
|
||||||
|
|
||||||
|
-from mox3 import stubout
|
||||||
|
-
|
||||||
|
-from websockify import websockifyserver
|
||||||
|
from websockify import websocketproxy
|
||||||
|
from websockify import token_plugins
|
||||||
|
from websockify import auth_plugins
|
||||||
|
@@ -74,16 +75,14 @@ def __init__(self):
|
||||||
|
class ProxyRequestHandlerTestCase(unittest.TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
super(ProxyRequestHandlerTestCase, self).setUp()
|
||||||
|
- self.stubs = stubout.StubOutForTesting()
|
||||||
|
self.handler = websocketproxy.ProxyRequestHandler(
|
||||||
|
FakeSocket(''), "127.0.0.1", FakeServer())
|
||||||
|
self.handler.path = "https://localhost:6080/websockify?token=blah"
|
||||||
|
self.handler.headers = None
|
||||||
|
- self.stubs.Set(websockifyserver.WebSockifyServer, 'socket',
|
||||||
|
- staticmethod(lambda *args, **kwargs: None))
|
||||||
|
+ patch('websockify.websockifyserver.WebSockifyServer.socket').start()
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
- self.stubs.UnsetAll()
|
||||||
|
+ patch.stopall()
|
||||||
|
super(ProxyRequestHandlerTestCase, self).tearDown()
|
||||||
|
|
||||||
|
def test_get_target(self):
|
||||||
|
@@ -120,8 +119,7 @@ class TestPlugin(token_plugins.BasePlugin):
|
||||||
|
def lookup(self, token):
|
||||||
|
return (self.source + token).split(',')
|
||||||
|
|
||||||
|
- self.stubs.Set(websocketproxy.ProxyRequestHandler, 'send_auth_error',
|
||||||
|
- staticmethod(lambda *args, **kwargs: None))
|
||||||
|
+ patcher = patch('websockify.websocketproxy.ProxyRequestHandler.send_auth_error').start()
|
||||||
|
|
||||||
|
self.handler.server.token_plugin = TestPlugin("somehost,")
|
||||||
|
self.handler.validate_connection()
|
||||||
|
@@ -138,8 +136,7 @@ def test_asymmetric_jws_token_plugin(self):
|
||||||
|
jwt_token.make_signed_token(key)
|
||||||
|
self.handler.path = "https://localhost:6080/websockify?token={jwt_token}".format(jwt_token=jwt_token.serialize())
|
||||||
|
|
||||||
|
- self.stubs.Set(websocketproxy.ProxyRequestHandler, 'send_auth_error',
|
||||||
|
- staticmethod(lambda *args, **kwargs: None))
|
||||||
|
+ patcher = patch('websockify.websocketproxy.ProxyRequestHandler.send_auth_error').start()
|
||||||
|
|
||||||
|
self.handler.server.token_plugin = token_plugins.JWTTokenApi("./tests/fixtures/public.pem")
|
||||||
|
self.handler.validate_connection()
|
||||||
|
@@ -155,8 +152,7 @@ def test_asymmetric_jws_token_plugin_with_illigal_key_exception(self):
|
||||||
|
jwt_token.make_signed_token(key)
|
||||||
|
self.handler.path = "https://localhost:6080/websockify?token={jwt_token}".format(jwt_token=jwt_token.serialize())
|
||||||
|
|
||||||
|
- self.stubs.Set(websocketproxy.ProxyRequestHandler, 'send_auth_error',
|
||||||
|
- staticmethod(lambda *args, **kwargs: None))
|
||||||
|
+ patcher = patch('websockify.websocketproxy.ProxyRequestHandler.send_auth_error').start()
|
||||||
|
|
||||||
|
self.handler.server.token_plugin = token_plugins.JWTTokenApi("wrong.pub")
|
||||||
|
self.assertRaises(self.handler.server.EClose,
|
||||||
|
@@ -171,8 +167,7 @@ def test_symmetric_jws_token_plugin(self):
|
||||||
|
jwt_token.make_signed_token(key)
|
||||||
|
self.handler.path = "https://localhost:6080/websockify?token={jwt_token}".format(jwt_token=jwt_token.serialize())
|
||||||
|
|
||||||
|
- self.stubs.Set(websocketproxy.ProxyRequestHandler, 'send_auth_error',
|
||||||
|
- staticmethod(lambda *args, **kwargs: None))
|
||||||
|
+ patcher = patch('websockify.websocketproxy.ProxyRequestHandler.send_auth_error').start()
|
||||||
|
|
||||||
|
self.handler.server.token_plugin = token_plugins.JWTTokenApi("./tests/fixtures/symmetric.key")
|
||||||
|
self.handler.validate_connection()
|
||||||
|
@@ -188,8 +183,7 @@ def test_symmetric_jws_token_plugin_with_illigal_key_exception(self):
|
||||||
|
jwt_token.make_signed_token(key)
|
||||||
|
self.handler.path = "https://localhost:6080/websockify?token={jwt_token}".format(jwt_token=jwt_token.serialize())
|
||||||
|
|
||||||
|
- self.stubs.Set(websocketproxy.ProxyRequestHandler, 'send_auth_error',
|
||||||
|
- staticmethod(lambda *args, **kwargs: None))
|
||||||
|
+ patcher = patch('websockify.websocketproxy.ProxyRequestHandler.send_auth_error').start()
|
||||||
|
|
||||||
|
self.handler.server.token_plugin = token_plugins.JWTTokenApi("wrong_sauce")
|
||||||
|
self.assertRaises(self.handler.server.EClose,
|
||||||
|
@@ -210,8 +204,7 @@ def test_asymmetric_jwe_token_plugin(self):
|
||||||
|
|
||||||
|
self.handler.path = "https://localhost:6080/websockify?token={jwt_token}".format(jwt_token=jwe_token.serialize())
|
||||||
|
|
||||||
|
- self.stubs.Set(websocketproxy.ProxyRequestHandler, 'send_auth_error',
|
||||||
|
- staticmethod(lambda *args, **kwargs: None))
|
||||||
|
+ patcher = patch('websockify.websocketproxy.ProxyRequestHandler.send_auth_error').start()
|
||||||
|
|
||||||
|
self.handler.server.token_plugin = token_plugins.JWTTokenApi("./tests/fixtures/private.pem")
|
||||||
|
self.handler.validate_connection()
|
||||||
|
@@ -225,8 +218,7 @@ def authenticate(self, headers, target_host, target_port):
|
||||||
|
if target_host == self.source:
|
||||||
|
raise auth_plugins.AuthenticationError(response_msg="some_error")
|
||||||
|
|
||||||
|
- self.stubs.Set(websocketproxy.ProxyRequestHandler, 'send_auth_error',
|
||||||
|
- staticmethod(lambda *args, **kwargs: None))
|
||||||
|
+ patcher = patch('websockify.websocketproxy.ProxyRequestHandler.send_auth_error').start()
|
||||||
|
|
||||||
|
self.handler.server.auth_plugin = TestPlugin("somehost")
|
||||||
|
self.handler.server.target_host = "somehost"
|
||||||
|
diff --git a/tests/test_websockifyserver.py b/tests/test_websockifyserver.py
|
||||||
|
index b9312dc..a089f55 100644
|
||||||
|
--- a/tests/test_websockifyserver.py
|
||||||
|
+++ b/tests/test_websockifyserver.py
|
||||||
|
@@ -22,7 +22,10 @@
|
||||||
|
import shutil
|
||||||
|
import socket
|
||||||
|
import ssl
|
||||||
|
-from mox3 import stubout
|
||||||
|
+try:
|
||||||
|
+ from mock import patch, MagicMock, ANY
|
||||||
|
+except ImportError:
|
||||||
|
+ from unittest.mock import patch, MagicMock, ANY
|
||||||
|
import sys
|
||||||
|
import tempfile
|
||||||
|
import unittest
|
||||||
|
@@ -73,22 +76,13 @@ def makefile(self, mode='r', buffsize=None):
|
||||||
|
class WebSockifyRequestHandlerTestCase(unittest.TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
super(WebSockifyRequestHandlerTestCase, self).setUp()
|
||||||
|
- self.stubs = stubout.StubOutForTesting()
|
||||||
|
self.tmpdir = tempfile.mkdtemp('-websockify-tests')
|
||||||
|
# Mock this out cause it screws tests up
|
||||||
|
- self.stubs.Set(os, 'chdir', lambda *args, **kwargs: None)
|
||||||
|
- self.stubs.Set(BaseHTTPRequestHandler, 'send_response',
|
||||||
|
- lambda *args, **kwargs: None)
|
||||||
|
-
|
||||||
|
- def fake_send_error(self, code, message=None, explain=None):
|
||||||
|
- self.last_code = code
|
||||||
|
-
|
||||||
|
- self.stubs.Set(BaseHTTPRequestHandler, 'send_error',
|
||||||
|
- fake_send_error)
|
||||||
|
+ patch('os.chdir').start()
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
"""Called automatically after each test."""
|
||||||
|
- self.stubs.UnsetAll()
|
||||||
|
+ patch.stopall()
|
||||||
|
os.rmdir(self.tmpdir)
|
||||||
|
super(WebSockifyRequestHandlerTestCase, self).tearDown()
|
||||||
|
|
||||||
|
@@ -101,47 +95,36 @@ def _get_server(self, handler_class=websockifyserver.WebSockifyRequestHandler,
|
||||||
|
record=self.tmpdir, daemon=False, ssl_only=0, idle_timeout=1,
|
||||||
|
**kwargs)
|
||||||
|
|
||||||
|
- def test_normal_get_with_only_upgrade_returns_error(self):
|
||||||
|
+ @patch('websockify.websockifyserver.WebSockifyRequestHandler.send_error')
|
||||||
|
+ def test_normal_get_with_only_upgrade_returns_error(self, send_error):
|
||||||
|
server = self._get_server(web=None)
|
||||||
|
handler = websockifyserver.WebSockifyRequestHandler(
|
||||||
|
FakeSocket('GET /tmp.txt HTTP/1.1'), '127.0.0.1', server)
|
||||||
|
|
||||||
|
- def fake_send_response(self, code, message=None):
|
||||||
|
- self.last_code = code
|
||||||
|
-
|
||||||
|
- self.stubs.Set(BaseHTTPRequestHandler, 'send_response',
|
||||||
|
- fake_send_response)
|
||||||
|
-
|
||||||
|
handler.do_GET()
|
||||||
|
- self.assertEqual(handler.last_code, 405)
|
||||||
|
+ send_error.assert_called_with(405, ANY)
|
||||||
|
|
||||||
|
- def test_list_dir_with_file_only_returns_error(self):
|
||||||
|
+ @patch('websockify.websockifyserver.WebSockifyRequestHandler.send_error')
|
||||||
|
+ def test_list_dir_with_file_only_returns_error(self, send_error):
|
||||||
|
server = self._get_server(file_only=True)
|
||||||
|
handler = websockifyserver.WebSockifyRequestHandler(
|
||||||
|
FakeSocket('GET / HTTP/1.1'), '127.0.0.1', server)
|
||||||
|
|
||||||
|
- def fake_send_response(self, code, message=None):
|
||||||
|
- self.last_code = code
|
||||||
|
-
|
||||||
|
- self.stubs.Set(BaseHTTPRequestHandler, 'send_response',
|
||||||
|
- fake_send_response)
|
||||||
|
-
|
||||||
|
handler.path = '/'
|
||||||
|
handler.do_GET()
|
||||||
|
- self.assertEqual(handler.last_code, 404)
|
||||||
|
+ send_error.assert_called_with(404, ANY)
|
||||||
|
|
||||||
|
|
||||||
|
class WebSockifyServerTestCase(unittest.TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
super(WebSockifyServerTestCase, self).setUp()
|
||||||
|
- self.stubs = stubout.StubOutForTesting()
|
||||||
|
self.tmpdir = tempfile.mkdtemp('-websockify-tests')
|
||||||
|
# Mock this out cause it screws tests up
|
||||||
|
- self.stubs.Set(os, 'chdir', lambda *args, **kwargs: None)
|
||||||
|
+ patch('os.chdir').start()
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
"""Called automatically after each test."""
|
||||||
|
- self.stubs.UnsetAll()
|
||||||
|
+ patch.stopall()
|
||||||
|
os.rmdir(self.tmpdir)
|
||||||
|
super(WebSockifyServerTestCase, self).tearDown()
|
||||||
|
|
||||||
|
@@ -154,10 +137,10 @@ def _get_server(self, handler_class=websockifyserver.WebSockifyRequestHandler,
|
||||||
|
|
||||||
|
def test_daemonize_raises_error_while_closing_fds(self):
|
||||||
|
server = self._get_server(daemon=True, ssl_only=1, idle_timeout=1)
|
||||||
|
- self.stubs.Set(os, 'fork', lambda *args: 0)
|
||||||
|
- self.stubs.Set(signal, 'signal', lambda *args: None)
|
||||||
|
- self.stubs.Set(os, 'setsid', lambda *args: None)
|
||||||
|
- self.stubs.Set(os, 'close', raise_oserror)
|
||||||
|
+ patch('os.fork').start().return_value = 0
|
||||||
|
+ patch('signal.signal').start()
|
||||||
|
+ patch('os.setsid').start()
|
||||||
|
+ patch('os.close').start().side_effect = raise_oserror
|
||||||
|
self.assertRaises(OSError, server.daemonize, keepfd=None, chdir='./')
|
||||||
|
|
||||||
|
def test_daemonize_ignores_ebadf_error_while_closing_fds(self):
|
||||||
|
@@ -165,11 +148,11 @@ def raise_oserror_ebadf(fd):
|
||||||
|
raise OSError(errno.EBADF, 'fake error')
|
||||||
|
|
||||||
|
server = self._get_server(daemon=True, ssl_only=1, idle_timeout=1)
|
||||||
|
- self.stubs.Set(os, 'fork', lambda *args: 0)
|
||||||
|
- self.stubs.Set(os, 'setsid', lambda *args: None)
|
||||||
|
- self.stubs.Set(signal, 'signal', lambda *args: None)
|
||||||
|
- self.stubs.Set(os, 'close', raise_oserror_ebadf)
|
||||||
|
- self.stubs.Set(os, 'open', raise_oserror)
|
||||||
|
+ patch('os.fork').start().return_value = 0
|
||||||
|
+ patch('signal.signal').start()
|
||||||
|
+ patch('os.setsid').start()
|
||||||
|
+ patch('os.close').start().side_effect = raise_oserror_ebadf
|
||||||
|
+ patch('os.open').start().side_effect = raise_oserror
|
||||||
|
self.assertRaises(OSError, server.daemonize, keepfd=None, chdir='./')
|
||||||
|
|
||||||
|
def test_handshake_fails_on_not_ready(self):
|
||||||
|
@@ -178,7 +161,7 @@ def test_handshake_fails_on_not_ready(self):
|
||||||
|
def fake_select(rlist, wlist, xlist, timeout=None):
|
||||||
|
return ([], [], [])
|
||||||
|
|
||||||
|
- self.stubs.Set(select, 'select', fake_select)
|
||||||
|
+ patch('select.select').start().side_effect = fake_select
|
||||||
|
self.assertRaises(
|
||||||
|
websockifyserver.WebSockifyServer.EClose, server.do_handshake,
|
||||||
|
FakeSocket(), '127.0.0.1')
|
||||||
|
@@ -191,7 +174,7 @@ def test_empty_handshake_fails(self):
|
||||||
|
def fake_select(rlist, wlist, xlist, timeout=None):
|
||||||
|
return ([sock], [], [])
|
||||||
|
|
||||||
|
- self.stubs.Set(select, 'select', fake_select)
|
||||||
|
+ patch('select.select').start().side_effect = fake_select
|
||||||
|
self.assertRaises(
|
||||||
|
websockifyserver.WebSockifyServer.EClose, server.do_handshake,
|
||||||
|
sock, '127.0.0.1')
|
||||||
|
@@ -208,7 +191,7 @@ def test_handshake_ssl_only_without_ssl_raises_error(self):
|
||||||
|
def fake_select(rlist, wlist, xlist, timeout=None):
|
||||||
|
return ([sock], [], [])
|
||||||
|
|
||||||
|
- self.stubs.Set(select, 'select', fake_select)
|
||||||
|
+ patch('select.select').start().side_effect = fake_select
|
||||||
|
self.assertRaises(
|
||||||
|
websockifyserver.WebSockifyServer.EClose, server.do_handshake,
|
||||||
|
sock, '127.0.0.1')
|
||||||
|
@@ -230,7 +213,7 @@ def __init__(self, *args, **kwargs):
|
||||||
|
def fake_select(rlist, wlist, xlist, timeout=None):
|
||||||
|
return ([sock], [], [])
|
||||||
|
|
||||||
|
- self.stubs.Set(select, 'select', fake_select)
|
||||||
|
+ patch('select.select').start().side_effect = fake_select
|
||||||
|
self.assertEqual(server.do_handshake(sock, '127.0.0.1'), sock)
|
||||||
|
self.assertTrue(FakeHandler.CALLED, True)
|
||||||
|
|
||||||
|
@@ -251,7 +234,7 @@ def test_do_handshake_ssl_without_cert_raises_error(self):
|
||||||
|
def fake_select(rlist, wlist, xlist, timeout=None):
|
||||||
|
return ([sock], [], [])
|
||||||
|
|
||||||
|
- self.stubs.Set(select, 'select', fake_select)
|
||||||
|
+ patch('select.select').start().side_effect = fake_select
|
||||||
|
self.assertRaises(
|
||||||
|
websockifyserver.WebSockifyServer.EClose, server.do_handshake,
|
||||||
|
sock, '127.0.0.1')
|
||||||
|
@@ -280,13 +263,13 @@ def load_verify_locations(self, cafile):
|
||||||
|
def wrap_socket(self, *args, **kwargs):
|
||||||
|
raise ssl.SSLError(ssl.SSL_ERROR_EOF)
|
||||||
|
|
||||||
|
- self.stubs.Set(select, 'select', fake_select)
|
||||||
|
+ patch('select.select').start().side_effect = fake_select
|
||||||
|
if (hasattr(ssl, 'create_default_context')):
|
||||||
|
# for recent versions of python
|
||||||
|
- self.stubs.Set(ssl, 'create_default_context', fake_create_default_context)
|
||||||
|
+ patch('ssl.create_default_context').start().side_effect = fake_create_default_context
|
||||||
|
else:
|
||||||
|
# for fallback for old versions of python
|
||||||
|
- self.stubs.Set(ssl, 'wrap_socket', fake_wrap_socket)
|
||||||
|
+ patch('ssl.warp_socket').start().side_effect = fake_wrap_socket
|
||||||
|
self.assertRaises(
|
||||||
|
websockifyserver.WebSockifyServer.EClose, server.do_handshake,
|
||||||
|
sock, '127.0.0.1')
|
||||||
|
@@ -321,10 +304,10 @@ def wrap_socket(self, *args, **kwargs):
|
||||||
|
def set_ciphers(self, ciphers_to_set):
|
||||||
|
fake_create_default_context.CIPHERS = ciphers_to_set
|
||||||
|
|
||||||
|
- self.stubs.Set(select, 'select', fake_select)
|
||||||
|
+ patch('select.select').start().side_effect = fake_select
|
||||||
|
if (hasattr(ssl, 'create_default_context')):
|
||||||
|
# for recent versions of python
|
||||||
|
- self.stubs.Set(ssl, 'create_default_context', fake_create_default_context)
|
||||||
|
+ patch('ssl.create_default_context').start().side_effect = fake_create_default_context
|
||||||
|
server.do_handshake(sock, '127.0.0.1')
|
||||||
|
self.assertEqual(fake_create_default_context.CIPHERS, test_ciphers)
|
||||||
|
else:
|
||||||
|
@@ -365,10 +348,10 @@ def set_options(self, val):
|
||||||
|
fake_create_default_context.OPTIONS = val
|
||||||
|
options = property(get_options, set_options)
|
||||||
|
|
||||||
|
- self.stubs.Set(select, 'select', fake_select)
|
||||||
|
+ patch('select.select').start().side_effect = fake_select
|
||||||
|
if (hasattr(ssl, 'create_default_context')):
|
||||||
|
# for recent versions of python
|
||||||
|
- self.stubs.Set(ssl, 'create_default_context', fake_create_default_context)
|
||||||
|
+ patch('ssl.create_default_context').start().side_effect = fake_create_default_context
|
||||||
|
server.do_handshake(sock, '127.0.0.1')
|
||||||
|
self.assertEqual(fake_create_default_context.OPTIONS, test_options)
|
||||||
|
else:
|
||||||
|
@@ -387,11 +370,9 @@ def test_start_server_error(self):
|
||||||
|
def fake_select(rlist, wlist, xlist, timeout=None):
|
||||||
|
raise Exception("fake error")
|
||||||
|
|
||||||
|
- self.stubs.Set(websockifyserver.WebSockifyServer, 'socket',
|
||||||
|
- lambda *args, **kwargs: sock)
|
||||||
|
- self.stubs.Set(websockifyserver.WebSockifyServer, 'daemonize',
|
||||||
|
- lambda *args, **kwargs: None)
|
||||||
|
- self.stubs.Set(select, 'select', fake_select)
|
||||||
|
+ patch('websockify.websockifyserver.WebSockifyServer.socket').start()
|
||||||
|
+ patch('websockify.websockifyserver.WebSockifyServer.daemonize').start()
|
||||||
|
+ patch('select.select').start().side_effect = fake_select
|
||||||
|
server.start_server()
|
||||||
|
|
||||||
|
def test_start_server_keyboardinterrupt(self):
|
||||||
|
@@ -401,11 +382,9 @@ def test_start_server_keyboardinterrupt(self):
|
||||||
|
def fake_select(rlist, wlist, xlist, timeout=None):
|
||||||
|
raise KeyboardInterrupt
|
||||||
|
|
||||||
|
- self.stubs.Set(websockifyserver.WebSockifyServer, 'socket',
|
||||||
|
- lambda *args, **kwargs: sock)
|
||||||
|
- self.stubs.Set(websockifyserver.WebSockifyServer, 'daemonize',
|
||||||
|
- lambda *args, **kwargs: None)
|
||||||
|
- self.stubs.Set(select, 'select', fake_select)
|
||||||
|
+ patch('websockify.websockifyserver.WebSockifyServer.socket').start()
|
||||||
|
+ patch('websockify.websockifyserver.WebSockifyServer.daemonize').start()
|
||||||
|
+ patch('select.select').start().side_effect = fake_select
|
||||||
|
server.start_server()
|
||||||
|
|
||||||
|
def test_start_server_systemexit(self):
|
||||||
|
@@ -415,11 +394,9 @@ def test_start_server_systemexit(self):
|
||||||
|
def fake_select(rlist, wlist, xlist, timeout=None):
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
- self.stubs.Set(websockifyserver.WebSockifyServer, 'socket',
|
||||||
|
- lambda *args, **kwargs: sock)
|
||||||
|
- self.stubs.Set(websockifyserver.WebSockifyServer, 'daemonize',
|
||||||
|
- lambda *args, **kwargs: None)
|
||||||
|
- self.stubs.Set(select, 'select', fake_select)
|
||||||
|
+ patch('websockify.websockifyserver.WebSockifyServer.socket').start()
|
||||||
|
+ patch('websockify.websockifyserver.WebSockifyServer.daemonize').start()
|
||||||
|
+ patch('select.select').start().side_effect = fake_select
|
||||||
|
server.start_server()
|
||||||
|
|
||||||
|
def test_socket_set_keepalive_options(self):
|
@ -0,0 +1,31 @@
|
|||||||
|
# Copyright 1999-2020 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{6..9} )
|
||||||
|
# entry_points is used
|
||||||
|
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||||
|
|
||||||
|
inherit distutils-r1
|
||||||
|
|
||||||
|
SRC_URI="https://github.com/kanaka/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
DESCRIPTION="WebSockets support for any application/server"
|
||||||
|
HOMEPAGE="https://github.com/kanaka/websockify"
|
||||||
|
|
||||||
|
LICENSE="LGPL-3"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||||
|
|
||||||
|
RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
|
||||||
|
BDEPEND="test? ( dev-python/jwcrypto[${PYTHON_USEDEP}] )"
|
||||||
|
|
||||||
|
# Backport a patch removing the need for mox3
|
||||||
|
PATCHES=( "${FILESDIR}/${P}-mock-tests.patch" )
|
||||||
|
|
||||||
|
distutils_enable_tests nose
|
||||||
|
|
||||||
|
python_install_all() {
|
||||||
|
doman docs/${PN}.1
|
||||||
|
distutils-r1_python_install_all
|
||||||
|
}
|
Binary file not shown.
@ -1,3 +1,2 @@
|
|||||||
DIST qttools-everywhere-src-5.14.2.tar.xz 8815020 BLAKE2B 2535541b53cec5cc2dce1ac06ad70b145fce38642d8142f43a800a630aa2f69ad255e8f0a38c44022d14cc5b4373603026cc7c149c2435621f91a66ea0bf223d SHA512 e5b56d38acaa59511f24c817999f901510397d6e8baccc06a8fb8375f09b71dcffda4c57def4eb88d6c2782926d612b382957175a087a0c2224245051c54fe7e
|
DIST qttools-everywhere-src-5.14.2.tar.xz 8815020 BLAKE2B 2535541b53cec5cc2dce1ac06ad70b145fce38642d8142f43a800a630aa2f69ad255e8f0a38c44022d14cc5b4373603026cc7c149c2435621f91a66ea0bf223d SHA512 e5b56d38acaa59511f24c817999f901510397d6e8baccc06a8fb8375f09b71dcffda4c57def4eb88d6c2782926d612b382957175a087a0c2224245051c54fe7e
|
||||||
DIST qttools-everywhere-src-5.15.0.tar.xz 8850752 BLAKE2B fed030b2e0bdb3bf397b28e33c1afc84c0b22bf3ede5bdf9a0822f44f8cbf6f7564d0d2c04215f79aec722deeac373d2d46cdd3d7e3d9135f9211486feaf12b0 SHA512 ebcebbc828e6a34766f2f5eeb4775d29af7b60b6124549df5256902ed2bd683721084b45a869ba76d29b1b170fe3834291af0833ab17ee8d05407c509f03d3eb
|
|
||||||
DIST qttools-everywhere-src-5.15.1.tar.xz 8901096 BLAKE2B f8927993dfc6888a1143b6a8ce09f075636600f77891edb64dd5c39bee75e2c752d3da4443c7956297c65c5b7f1103b1c6bb53b607cd054473a96adc1350e2b9 SHA512 8c7851431de8686a01fc5f85de5dcfa61b6878bd65b53ed78a8a23e57de70f2dcc1a72b4eed9a7219cfd443215a32a59a25fb929d343afcfd498517d6bcfb951
|
DIST qttools-everywhere-src-5.15.1.tar.xz 8901096 BLAKE2B f8927993dfc6888a1143b6a8ce09f075636600f77891edb64dd5c39bee75e2c752d3da4443c7956297c65c5b7f1103b1c6bb53b607cd054473a96adc1350e2b9 SHA512 8c7851431de8686a01fc5f85de5dcfa61b6878bd65b53ed78a8a23e57de70f2dcc1a72b4eed9a7219cfd443215a32a59a25fb929d343afcfd498517d6bcfb951
|
||||||
|
@ -1,55 +0,0 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
QT5_MODULE="qttools"
|
|
||||||
inherit desktop qt5-build xdg-utils
|
|
||||||
|
|
||||||
DESCRIPTION="Tool for viewing on-line documentation in Qt help file format"
|
|
||||||
|
|
||||||
if [[ ${QT5_BUILD_TYPE} == release ]]; then
|
|
||||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~sparc ~x86"
|
|
||||||
fi
|
|
||||||
|
|
||||||
IUSE="webkit"
|
|
||||||
|
|
||||||
DEPEND="
|
|
||||||
~dev-qt/qtcore-${PV}:5=
|
|
||||||
~dev-qt/qtgui-${PV}
|
|
||||||
~dev-qt/qthelp-${PV}
|
|
||||||
~dev-qt/qtnetwork-${PV}
|
|
||||||
~dev-qt/qtprintsupport-${PV}
|
|
||||||
~dev-qt/qtsql-${PV}[sqlite]
|
|
||||||
~dev-qt/qtwidgets-${PV}
|
|
||||||
webkit? ( >=dev-qt/qtwebkit-5.9.1:5 )
|
|
||||||
"
|
|
||||||
RDEPEND="${DEPEND}"
|
|
||||||
|
|
||||||
QT5_TARGET_SUBDIRS=(
|
|
||||||
src/assistant/assistant
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
qt_use_disable_mod webkit webkitwidgets \
|
|
||||||
src/assistant/assistant/assistant.pro
|
|
||||||
|
|
||||||
qt5-build_src_prepare
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
qt5-build_src_install
|
|
||||||
|
|
||||||
doicon -s 32 src/assistant/assistant/images/assistant.png
|
|
||||||
newicon -s 128 src/assistant/assistant/images/assistant-128.png assistant.png
|
|
||||||
make_desktop_entry "${QT5_BINDIR}"/assistant 'Qt 5 Assistant' assistant 'Qt;Development;Documentation'
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
qt5-build_pkg_postinst
|
|
||||||
xdg_icon_cache_update
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
qt5-build_pkg_postrm
|
|
||||||
xdg_icon_cache_update
|
|
||||||
}
|
|
@ -1,3 +1,2 @@
|
|||||||
DIST qttools-everywhere-src-5.14.2.tar.xz 8815020 BLAKE2B 2535541b53cec5cc2dce1ac06ad70b145fce38642d8142f43a800a630aa2f69ad255e8f0a38c44022d14cc5b4373603026cc7c149c2435621f91a66ea0bf223d SHA512 e5b56d38acaa59511f24c817999f901510397d6e8baccc06a8fb8375f09b71dcffda4c57def4eb88d6c2782926d612b382957175a087a0c2224245051c54fe7e
|
DIST qttools-everywhere-src-5.14.2.tar.xz 8815020 BLAKE2B 2535541b53cec5cc2dce1ac06ad70b145fce38642d8142f43a800a630aa2f69ad255e8f0a38c44022d14cc5b4373603026cc7c149c2435621f91a66ea0bf223d SHA512 e5b56d38acaa59511f24c817999f901510397d6e8baccc06a8fb8375f09b71dcffda4c57def4eb88d6c2782926d612b382957175a087a0c2224245051c54fe7e
|
||||||
DIST qttools-everywhere-src-5.15.0.tar.xz 8850752 BLAKE2B fed030b2e0bdb3bf397b28e33c1afc84c0b22bf3ede5bdf9a0822f44f8cbf6f7564d0d2c04215f79aec722deeac373d2d46cdd3d7e3d9135f9211486feaf12b0 SHA512 ebcebbc828e6a34766f2f5eeb4775d29af7b60b6124549df5256902ed2bd683721084b45a869ba76d29b1b170fe3834291af0833ab17ee8d05407c509f03d3eb
|
|
||||||
DIST qttools-everywhere-src-5.15.1.tar.xz 8901096 BLAKE2B f8927993dfc6888a1143b6a8ce09f075636600f77891edb64dd5c39bee75e2c752d3da4443c7956297c65c5b7f1103b1c6bb53b607cd054473a96adc1350e2b9 SHA512 8c7851431de8686a01fc5f85de5dcfa61b6878bd65b53ed78a8a23e57de70f2dcc1a72b4eed9a7219cfd443215a32a59a25fb929d343afcfd498517d6bcfb951
|
DIST qttools-everywhere-src-5.15.1.tar.xz 8901096 BLAKE2B f8927993dfc6888a1143b6a8ce09f075636600f77891edb64dd5c39bee75e2c752d3da4443c7956297c65c5b7f1103b1c6bb53b607cd054473a96adc1350e2b9 SHA512 8c7851431de8686a01fc5f85de5dcfa61b6878bd65b53ed78a8a23e57de70f2dcc1a72b4eed9a7219cfd443215a32a59a25fb929d343afcfd498517d6bcfb951
|
||||||
|
@ -1,53 +0,0 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
QT5_MODULE="qttools"
|
|
||||||
inherit desktop qt5-build xdg-utils
|
|
||||||
|
|
||||||
DESCRIPTION="WYSIWYG tool for designing and building graphical user interfaces with QtWidgets"
|
|
||||||
|
|
||||||
if [[ ${QT5_BUILD_TYPE} == release ]]; then
|
|
||||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86"
|
|
||||||
fi
|
|
||||||
|
|
||||||
IUSE="declarative webkit"
|
|
||||||
|
|
||||||
DEPEND="
|
|
||||||
~dev-qt/qtcore-${PV}:5=
|
|
||||||
~dev-qt/qtgui-${PV}:5=
|
|
||||||
~dev-qt/qtnetwork-${PV}
|
|
||||||
~dev-qt/qtprintsupport-${PV}
|
|
||||||
~dev-qt/qtwidgets-${PV}
|
|
||||||
~dev-qt/qtxml-${PV}
|
|
||||||
declarative? ( ~dev-qt/qtdeclarative-${PV}[widgets] )
|
|
||||||
webkit? ( >=dev-qt/qtwebkit-5.9.1:5 )
|
|
||||||
"
|
|
||||||
RDEPEND="${DEPEND}"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
qt_use_disable_mod declarative quickwidgets \
|
|
||||||
src/designer/src/plugins/plugins.pro
|
|
||||||
|
|
||||||
qt_use_disable_mod webkit webkitwidgets \
|
|
||||||
src/designer/src/plugins/plugins.pro
|
|
||||||
|
|
||||||
qt5-build_src_prepare
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
qt5-build_src_install
|
|
||||||
|
|
||||||
doicon -s 128 src/designer/src/designer/images/designer.png
|
|
||||||
make_desktop_entry "${QT5_BINDIR}"/designer 'Qt 5 Designer' designer 'Qt;Development;GUIDesigner'
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
qt5-build_pkg_postinst
|
|
||||||
xdg_icon_cache_update
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
qt5-build_pkg_postrm
|
|
||||||
xdg_icon_cache_update
|
|
||||||
}
|
|
@ -1,3 +1,2 @@
|
|||||||
DIST qttools-everywhere-src-5.14.2.tar.xz 8815020 BLAKE2B 2535541b53cec5cc2dce1ac06ad70b145fce38642d8142f43a800a630aa2f69ad255e8f0a38c44022d14cc5b4373603026cc7c149c2435621f91a66ea0bf223d SHA512 e5b56d38acaa59511f24c817999f901510397d6e8baccc06a8fb8375f09b71dcffda4c57def4eb88d6c2782926d612b382957175a087a0c2224245051c54fe7e
|
DIST qttools-everywhere-src-5.14.2.tar.xz 8815020 BLAKE2B 2535541b53cec5cc2dce1ac06ad70b145fce38642d8142f43a800a630aa2f69ad255e8f0a38c44022d14cc5b4373603026cc7c149c2435621f91a66ea0bf223d SHA512 e5b56d38acaa59511f24c817999f901510397d6e8baccc06a8fb8375f09b71dcffda4c57def4eb88d6c2782926d612b382957175a087a0c2224245051c54fe7e
|
||||||
DIST qttools-everywhere-src-5.15.0.tar.xz 8850752 BLAKE2B fed030b2e0bdb3bf397b28e33c1afc84c0b22bf3ede5bdf9a0822f44f8cbf6f7564d0d2c04215f79aec722deeac373d2d46cdd3d7e3d9135f9211486feaf12b0 SHA512 ebcebbc828e6a34766f2f5eeb4775d29af7b60b6124549df5256902ed2bd683721084b45a869ba76d29b1b170fe3834291af0833ab17ee8d05407c509f03d3eb
|
|
||||||
DIST qttools-everywhere-src-5.15.1.tar.xz 8901096 BLAKE2B f8927993dfc6888a1143b6a8ce09f075636600f77891edb64dd5c39bee75e2c752d3da4443c7956297c65c5b7f1103b1c6bb53b607cd054473a96adc1350e2b9 SHA512 8c7851431de8686a01fc5f85de5dcfa61b6878bd65b53ed78a8a23e57de70f2dcc1a72b4eed9a7219cfd443215a32a59a25fb929d343afcfd498517d6bcfb951
|
DIST qttools-everywhere-src-5.15.1.tar.xz 8901096 BLAKE2B f8927993dfc6888a1143b6a8ce09f075636600f77891edb64dd5c39bee75e2c752d3da4443c7956297c65c5b7f1103b1c6bb53b607cd054473a96adc1350e2b9 SHA512 8c7851431de8686a01fc5f85de5dcfa61b6878bd65b53ed78a8a23e57de70f2dcc1a72b4eed9a7219cfd443215a32a59a25fb929d343afcfd498517d6bcfb951
|
||||||
|
@ -1,45 +0,0 @@
|
|||||||
# Copyright 1999-2020 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
QT5_MODULE="qttools"
|
|
||||||
inherit qt5-build
|
|
||||||
|
|
||||||
DESCRIPTION="Tools for working with Qt translation data files"
|
|
||||||
|
|
||||||
if [[ ${QT5_BUILD_TYPE} == release ]]; then
|
|
||||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
|
|
||||||
fi
|
|
||||||
|
|
||||||
IUSE="qml"
|
|
||||||
|
|
||||||
DEPEND="
|
|
||||||
~dev-qt/qtcore-${PV}:5=
|
|
||||||
~dev-qt/qtxml-${PV}
|
|
||||||
qml? ( ~dev-qt/qtdeclarative-${PV} )
|
|
||||||
"
|
|
||||||
RDEPEND="${DEPEND}"
|
|
||||||
|
|
||||||
QT5_TARGET_SUBDIRS=(
|
|
||||||
src/linguist
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
sed -i -e '/SUBDIRS += linguist/d' \
|
|
||||||
src/linguist/linguist.pro || die
|
|
||||||
|
|
||||||
qt_use_disable_mod qml qmldevtools-private \
|
|
||||||
src/linguist/lupdate/lupdate.pro
|
|
||||||
|
|
||||||
qt5-build_src_prepare
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
# Most of qttools require files that are only generated when qmake is
|
|
||||||
# run in the root directory.
|
|
||||||
# Related bugs: 633776, 676948, and 716514.
|
|
||||||
mkdir -p "${QT5_BUILD_DIR}" || die
|
|
||||||
qt5_qmake "${QT_BUILD_DIR}"
|
|
||||||
cp "${S}"/qttools-config.pri "${QT5_BUILD_DIR}" || die
|
|
||||||
qt5-build_src_configure
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue