parent
061cdd14b0
commit
6084c17918
@ -0,0 +1,89 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Marc-Andre Lureau <marcandre.lureau@redhat.com>
|
||||
Date: Thu, 17 Dec 2015 18:13:47 +0100
|
||||
Subject: [PATCH] smartcard: add a ref to item before adding to pipe
|
||||
|
||||
There is an unref when the message is sent.
|
||||
|
||||
==17204== ERROR: AddressSanitizer: heap-use-after-free on address 0x6008000144a8 at pc 0x7fffee0ce245 bp 0x7fffffffc630 sp 0x7fffffffc620
|
||||
READ of size 4 at 0x6008000144a8 thread T0
|
||||
#0 0x7fffee0ce244 in smartcard_unref_vsc_msg_item /home/elmarco/src/spice/spice/server/smartcard.c:608
|
||||
#1 0x7fffee0cb451 in smartcard_unref_msg_to_client /home/elmarco/src/spice/spice/server/smartcard.c:178
|
||||
#2 0x7fffedfcdf14 in spice_char_device_read_from_device /home/elmarco/src/spice/spice/server/char-device.c:330
|
||||
#3 0x7fffedfd1763 in spice_char_device_wakeup /home/elmarco/src/spice/spice/server/char-device.c:901
|
||||
#4 0x7fffee05da98 in spice_server_char_device_wakeup /home/elmarco/src/spice/spice/server/reds.c:2990
|
||||
#5 0x55555593fa34 in spice_chr_write /home/elmarco/src/qemu/spice-qemu-char.c:189
|
||||
#6 0x5555559375f1 in qemu_chr_fe_write /home/elmarco/src/qemu/qemu-char.c:220
|
||||
#7 0x555555b3b682 in ccid_card_vscard_send_msg.isra.2 /home/elmarco/src/qemu/hw/usb/ccid-card-passthru.c:76
|
||||
#8 0x555555b3c466 in ccid_card_vscard_send_error /home/elmarco/src/qemu/hw/usb/ccid-card-passthru.c:91
|
||||
#9 0x555555b3c466 in ccid_card_vscard_handle_message /home/elmarco/src/qemu/hw/usb/ccid-card-passthru.c:242
|
||||
#10 0x555555b3c466 in ccid_card_vscard_read /home/elmarco/src/qemu/hw/usb/ccid-card-passthru.c:289
|
||||
#11 0x55555593f169 in vmc_write /home/elmarco/src/qemu/spice-qemu-char.c:41
|
||||
#12 0x7fffedfcee6d in spice_char_device_write_to_device /home/elmarco/src/spice/spice/server/char-device.c:477
|
||||
#13 0x7fffedfcfd31 in spice_char_device_write_buffer_add /home/elmarco/src/spice/spice/server/char-device.c:629
|
||||
#14 0x7fffee0ce9df in smartcard_channel_write_to_reader /home/elmarco/src/spice/spice/server/smartcard.c:675
|
||||
#15 0x7fffee0cc7db in smartcard_char_device_notify_reader_add /home/elmarco/src/spice/spice/server/smartcard.c:341
|
||||
#16 0x7fffee0ce4f3 in smartcard_add_reader /home/elmarco/src/spice/spice/server/smartcard.c:648
|
||||
#17 0x7fffee0cf2e2 in smartcard_channel_handle_message /home/elmarco/src/spice/spice/server/smartcard.c:763
|
||||
#18 0x7fffedffe21f in red_peer_handle_incoming /home/elmarco/src/spice/spice/server/red-channel.c:307
|
||||
#19 0x7fffedffe4f6 in red_channel_client_receive /home/elmarco/src/spice/spice/server/red-channel.c:325
|
||||
#20 0x7fffee00726c in red_channel_client_event /home/elmarco/src/spice/spice/server/red-channel.c:1566
|
||||
#21 0x555555c3c53d in qemu_iohandler_poll /home/elmarco/src/qemu/iohandler.c:143
|
||||
#22 0x555555c3b800 in main_loop_wait /home/elmarco/src/qemu/main-loop.c:504
|
||||
#23 0x5555556f160c in main_loop /home/elmarco/src/qemu/vl.c:1818
|
||||
#24 0x5555556f160c in main /home/elmarco/src/qemu/vl.c:4394
|
||||
#25 0x7fffed7d0b14 in __libc_start_main /usr/src/debug/glibc-2.17-c758a686/csu/libc-start.c:274
|
||||
#26 0x5555556f9c20 in _start (/home/elmarco/src/qemu/x86_64-softmmu/qemu-system-x86_64+0x1a5c20)
|
||||
0x6008000144a8 is located 24 bytes inside of 40-byte region [0x600800014490,0x6008000144b8)
|
||||
freed by thread T0 here:
|
||||
#0 0x7ffff4e61009 in __interceptor_free /usr/src/debug/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/x86_64-redhat-linux/libsanitizer/asan/../../../../libsanitizer/asan/asan_malloc_linux.cc:61
|
||||
#1 0x7fffee0ce2a1 in smartcard_unref_vsc_msg_item /home/elmarco/src/spice/spice/server/smartcard.c:610
|
||||
#2 0x7fffee0cdd58 in smartcard_channel_release_pipe_item /home/elmarco/src/spice/spice/server/smartcard.c:548
|
||||
#3 0x7fffee000668 in red_channel_client_release_item /home/elmarco/src/spice/spice/server/red-channel.c:602
|
||||
#4 0x7fffee0006ef in red_channel_client_release_sent_item /home/elmarco/src/spice/spice/server/red-channel.c:609
|
||||
#5 0x7fffee0007b5 in red_channel_peer_on_out_msg_done /home/elmarco/src/spice/spice/server/red-channel.c:620
|
||||
#6 0x7fffedffed7e in red_peer_handle_outgoing /home/elmarco/src/spice/spice/server/red-channel.c:385
|
||||
#7 0x7fffee0057bb in red_channel_client_send /home/elmarco/src/spice/spice/server/red-channel.c:1294
|
||||
#8 0x7fffee0076e6 in red_channel_client_begin_send_message /home/elmarco/src/spice/spice/server/red-channel.c:1605
|
||||
#9 0x7fffee0cdccd in smartcard_channel_send_item /home/elmarco/src/spice/spice/server/smartcard.c:541
|
||||
#10 0x7fffee000570 in red_channel_client_send_item /home/elmarco/src/spice/spice/server/red-channel.c:588
|
||||
#11 0x7fffee005bfb in red_channel_client_push /home/elmarco/src/spice/spice/server/red-channel.c:1347
|
||||
#12 0x7fffee007ef7 in red_channel_client_pipe_add_push /home/elmarco/src/spice/spice/server/red-channel.c:1673
|
||||
#13 0x7fffee0cde4d in smartcard_channel_client_pipe_add_push /home/elmarco/src/spice/spice/server/smartcard.c:571
|
||||
#14 0x7fffee0cb567 in smartcard_send_msg_to_client /home/elmarco/src/spice/spice/server/smartcard.c:187
|
||||
#15 0x7fffedfcdba2 in spice_char_device_send_msg_to_clients /home/elmarco/src/spice/spice/server/char-device.c:282
|
||||
#16 0x7fffedfcdea4 in spice_char_device_read_from_device /home/elmarco/src/spice/spice/server/char-device.c:329
|
||||
#17 0x7fffedfd1763 in spice_char_device_wakeup /home/elmarco/src/spice/spice/server/char-device.c:901
|
||||
#18 0x7fffee05da98 in spice_server_char_device_wakeup /home/elmarco/src/spice/spice/server/reds.c:2990
|
||||
#19 0x55555593fa34 in spice_chr_write /home/elmarco/src/qemu/spice-qemu-char.c:189
|
||||
|
||||
Signed-off-by: Marc-Andre Lureau <marcandre.lureau@redhat.com>
|
||||
---
|
||||
server/smartcard.c | 9 ++++++---
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/server/smartcard.c b/server/smartcard.c
|
||||
index aad22aa..8d529fe 100644
|
||||
--- a/server/smartcard.c
|
||||
+++ b/server/smartcard.c
|
||||
@@ -172,14 +172,17 @@ static void smartcard_unref_msg_to_client(SpiceCharDeviceMsgToClient *msg,
|
||||
smartcard_unref_vsc_msg_item((MsgItem *)msg);
|
||||
}
|
||||
|
||||
-static void smartcard_send_msg_to_client(SpiceCharDeviceMsgToClient *msg,
|
||||
+static void smartcard_send_msg_to_client(SpiceCharDeviceMsgToClient *message,
|
||||
RedClient *client,
|
||||
void *opaque)
|
||||
{
|
||||
SmartCardDeviceState *dev = opaque;
|
||||
- spice_assert(dev->scc && dev->scc->base.client == client);
|
||||
- smartcard_channel_client_pipe_add_push(&dev->scc->base, &((MsgItem *)msg)->base);
|
||||
+ MsgItem *msg = (MsgItem *)message;
|
||||
+ PipeItem *item = &msg->base;
|
||||
|
||||
+ spice_assert(dev->scc && dev->scc->base.client == client);
|
||||
+ smartcard_ref_vsc_msg_item(msg);
|
||||
+ smartcard_channel_client_pipe_add_push(&dev->scc->base, item);
|
||||
}
|
||||
|
||||
static void smartcard_send_tokens_to_client(RedClient *client, uint32_t tokens, void *opaque)
|
@ -0,0 +1,61 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Marc-Andre Lureau <marcandre.lureau@redhat.com>
|
||||
Date: Thu, 17 Dec 2015 18:16:22 +0100
|
||||
Subject: [PATCH] smartcard: allocate msg with the expected size
|
||||
|
||||
==529== ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60040009c098 at pc 0x7fffee0eda6d bp 0x7fffffffcd00 sp 0x7fffffffccf0
|
||||
WRITE of size 4 at 0x60040009c098 thread T0
|
||||
#0 0x7fffee0eda6c in smartcard_char_device_notify_reader_add /home/elmarco/pkg/spice/spice-0.12.4/server/smartcard.c:334
|
||||
#1 0x7fffee0ef783 in smartcard_add_reader /home/elmarco/pkg/spice/spice-0.12.4/server/smartcard.c:642
|
||||
#2 0x7fffee0f0568 in smartcard_channel_handle_message /home/elmarco/pkg/spice/spice-0.12.4/server/smartcard.c:757
|
||||
#3 0x7fffee032f3f in red_peer_handle_incoming /home/elmarco/pkg/spice/spice-0.12.4/server/red_channel.c:304
|
||||
#4 0x7fffee033216 in red_channel_client_receive /home/elmarco/pkg/spice/spice-0.12.4/server/red_channel.c:322
|
||||
#5 0x7fffee03bf1f in red_channel_client_event /home/elmarco/pkg/spice/spice-0.12.4/server/red_channel.c:1561
|
||||
#6 0x555555c3c53d in qemu_iohandler_poll /home/elmarco/src/qemu/iohandler.c:143
|
||||
#7 0x555555c3b800 in main_loop_wait /home/elmarco/src/qemu/main-loop.c:504
|
||||
#8 0x5555556f160c in main_loop /home/elmarco/src/qemu/vl.c:1818
|
||||
#9 0x5555556f160c in main /home/elmarco/src/qemu/vl.c:4394
|
||||
#10 0x7fffed80eb14 in __libc_start_main /usr/src/debug/glibc-2.17-c758a686/csu/libc-start.c:274
|
||||
#11 0x5555556f9c20 in _start (/home/elmarco/src/qemu/x86_64-softmmu/qemu-system-x86_64+0x1a5c20)
|
||||
0x60040009c098 is located 0 bytes to the right of 8-byte region [0x60040009c090,0x60040009c098)
|
||||
allocated by thread T0 here:
|
||||
#0 0x7ffff4e612be in __interceptor_realloc /usr/src/debug/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/x86_64-redhat-linux/libsanitizer/asan/../../../../libsanitizer/asan/asan_malloc_linux.cc:92
|
||||
#1 0x7fffee121308 in spice_realloc /home/elmarco/pkg/spice/spice-0.12.4/spice-common/common/mem.c:123
|
||||
#2 0x7fffee004a48 in __spice_char_device_write_buffer_get /home/elmarco/pkg/spice/spice-0.12.4/server/char_device.c:516
|
||||
#3 0x7fffee004e87 in spice_char_device_write_buffer_get /home/elmarco/pkg/spice/spice-0.12.4/server/char_device.c:557
|
||||
#4 0x7fffee0ed8b9 in smartcard_char_device_notify_reader_add /home/elmarco/pkg/spice/spice-0.12.4/server/smartcard.c:325
|
||||
#5 0x7fffee0ef783 in smartcard_add_reader /home/elmarco/pkg/spice/spice-0.12.4/server/smartcard.c:642
|
||||
#6 0x7fffee0f0568 in smartcard_channel_handle_message /home/elmarco/pkg/spice/spice-0.12.4/server/smartcard.c:757
|
||||
#7 0x7fffee032f3f in red_peer_handle_incoming /home/elmarco/pkg/spice/spice-0.12.4/server/red_channel.c:304
|
||||
#8 0x7fffee033216 in red_channel_client_receive /home/elmarco/pkg/spice/spice-0.12.4/server/red_channel.c:322
|
||||
#9 0x7fffee03bf1f in red_channel_client_event /home/elmarco/pkg/spice/spice-0.12.4/server/red_channel.c:1561
|
||||
#10 0x555555c3c53d in qemu_iohandler_poll /home/elmarco/src/qemu/iohandler.c:143
|
||||
SUMMARY: AddressSanitizer: heap-buffer-overflow /home/elmarco/pkg/spice/spice-0.12.4/server/smartcard.c:334 smartcard_char_device_notify_reader_add
|
||||
|
||||
Signed-off-by: Marc-Andre Lureau <marcandre.lureau@redhat.com>
|
||||
---
|
||||
server/smartcard.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/server/smartcard.c b/server/smartcard.c
|
||||
index 8d529fe..3043ad1 100644
|
||||
--- a/server/smartcard.c
|
||||
+++ b/server/smartcard.c
|
||||
@@ -325,7 +325,7 @@ static void smartcard_char_device_notify_reader_add(SmartCardDeviceState *st)
|
||||
SpiceCharDeviceWriteBuffer *write_buf;
|
||||
VSCMsgHeader *vheader;
|
||||
|
||||
- write_buf = spice_char_device_write_buffer_get(st->chardev_st, NULL, sizeof(vheader));
|
||||
+ write_buf = spice_char_device_write_buffer_get(st->chardev_st, NULL, sizeof(*vheader));
|
||||
if (!write_buf) {
|
||||
spice_error("failed to allocate write buffer");
|
||||
return;
|
||||
@@ -372,7 +372,7 @@ static void smartcard_char_device_notify_reader_remove(SmartCardDeviceState *st)
|
||||
spice_debug("reader add was never sent to the device");
|
||||
return;
|
||||
}
|
||||
- write_buf = spice_char_device_write_buffer_get(st->chardev_st, NULL, sizeof(vheader));
|
||||
+ write_buf = spice_char_device_write_buffer_get(st->chardev_st, NULL, sizeof(*vheader));
|
||||
if (!write_buf) {
|
||||
spice_error("failed to allocate write buffer");
|
||||
return;
|
@ -0,0 +1,121 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Frediano Ziglio <fziglio@redhat.com>
|
||||
Date: Mon, 29 Feb 2016 14:24:03 +0000
|
||||
Subject: [PATCH] create a function to validate surface parameters
|
||||
|
||||
Make possible to reuse it outside red-parse-qxl.c
|
||||
|
||||
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
|
||||
---
|
||||
server/red_parse_qxl.c | 50 ++++++++++++++++++++++++++++++++------------------
|
||||
server/red_parse_qxl.h | 5 +++++
|
||||
2 files changed, 37 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c
|
||||
index bd0c408..7dc6a4d 100644
|
||||
--- a/server/red_parse_qxl.c
|
||||
+++ b/server/red_parse_qxl.c
|
||||
@@ -19,7 +19,6 @@
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
-#include <stdbool.h>
|
||||
#include <inttypes.h>
|
||||
#include <glib.h>
|
||||
#include "common/lz_common.h"
|
||||
@@ -1306,13 +1305,41 @@ static unsigned int surface_format_to_bpp(uint32_t format)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+bool red_validate_surface(uint32_t width, uint32_t height,
|
||||
+ int32_t stride, uint32_t format)
|
||||
+{
|
||||
+ unsigned int bpp;
|
||||
+ uint64_t size;
|
||||
+
|
||||
+ bpp = surface_format_to_bpp(format);
|
||||
+
|
||||
+ /* check if format is valid */
|
||||
+ if (!bpp) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ /* check stride is larger than required bytes */
|
||||
+ size = ((uint64_t) width * bpp + 7u) / 8u;
|
||||
+ /* the uint32_t conversion is here to avoid problems with -2^31 value */
|
||||
+ if (stride == G_MININT32 || size > (uint32_t) abs(stride)) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ /* the multiplication can overflow, also abs(-2^31) may return a negative value */
|
||||
+ size = (uint64_t) height * abs(stride);
|
||||
+ if (size > MAX_DATA_CHUNK) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
int red_get_surface_cmd(RedMemSlotInfo *slots, int group_id,
|
||||
RedSurfaceCmd *red, QXLPHYSICAL addr)
|
||||
{
|
||||
QXLSurfaceCmd *qxl;
|
||||
uint64_t size;
|
||||
int error;
|
||||
- unsigned int bpp;
|
||||
|
||||
qxl = (QXLSurfaceCmd *)get_virt(slots, addr, sizeof(*qxl), group_id,
|
||||
&error);
|
||||
@@ -1331,26 +1358,13 @@ int red_get_surface_cmd(RedMemSlotInfo *slots, int group_id,
|
||||
red->u.surface_create.width = qxl->u.surface_create.width;
|
||||
red->u.surface_create.height = qxl->u.surface_create.height;
|
||||
red->u.surface_create.stride = qxl->u.surface_create.stride;
|
||||
- bpp = surface_format_to_bpp(red->u.surface_create.format);
|
||||
|
||||
- /* check if format is valid */
|
||||
- if (!bpp) {
|
||||
+ if (!red_validate_surface(red->u.surface_create.width, red->u.surface_create.height,
|
||||
+ red->u.surface_create.stride, red->u.surface_create.format)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
- /* check stride is larger than required bytes */
|
||||
- size = ((uint64_t) red->u.surface_create.width * bpp + 7u) / 8u;
|
||||
- /* the uint32_t conversion is here to avoid problems with -2^31 value */
|
||||
- if (red->u.surface_create.stride == G_MININT32
|
||||
- || size > (uint32_t) abs(red->u.surface_create.stride)) {
|
||||
- return 1;
|
||||
- }
|
||||
-
|
||||
- /* the multiplication can overflow, also abs(-2^31) may return a negative value */
|
||||
- size = (uint64_t) red->u.surface_create.height * abs(red->u.surface_create.stride);
|
||||
- if (size > MAX_DATA_CHUNK) {
|
||||
- return 1;
|
||||
- }
|
||||
+ size = red->u.surface_create.height * abs(red->u.surface_create.stride);
|
||||
red->u.surface_create.data =
|
||||
(uint8_t*)get_virt(slots, qxl->u.surface_create.data, size, group_id, &error);
|
||||
if (error) {
|
||||
diff --git a/server/red_parse_qxl.h b/server/red_parse_qxl.h
|
||||
index 3adc9fa..e18d8d0 100644
|
||||
--- a/server/red_parse_qxl.h
|
||||
+++ b/server/red_parse_qxl.h
|
||||
@@ -19,6 +19,8 @@
|
||||
#ifndef RED_ABI_TRANSLATE_H
|
||||
#define RED_ABI_TRANSLATE_H
|
||||
|
||||
+#include <stdbool.h>
|
||||
+
|
||||
#include <spice/qxl_dev.h>
|
||||
#include "red_common.h"
|
||||
#include "red_memslots.h"
|
||||
@@ -128,6 +130,9 @@ int red_get_message(RedMemSlotInfo *slots, int group_id,
|
||||
RedMessage *red, QXLPHYSICAL addr);
|
||||
void red_put_message(RedMessage *red);
|
||||
|
||||
+bool red_validate_surface(uint32_t width, uint32_t height,
|
||||
+ int32_t stride, uint32_t format);
|
||||
+
|
||||
int red_get_surface_cmd(RedMemSlotInfo *slots, int group_id,
|
||||
RedSurfaceCmd *red, QXLPHYSICAL addr);
|
||||
void red_put_surface_cmd(RedSurfaceCmd *red);
|
@ -0,0 +1,33 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Frediano Ziglio <fziglio@redhat.com>
|
||||
Date: Mon, 29 Feb 2016 14:34:49 +0000
|
||||
Subject: [PATCH] improve primary surface parameter checks
|
||||
|
||||
Primary surface, as additional surfaces, can be used to access
|
||||
host memory from the guest using invalid parameters.
|
||||
|
||||
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
|
||||
---
|
||||
server/red_worker.c | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/server/red_worker.c b/server/red_worker.c
|
||||
index a7eaab9..f9179a6 100644
|
||||
--- a/server/red_worker.c
|
||||
+++ b/server/red_worker.c
|
||||
@@ -11380,6 +11380,15 @@ static void dev_create_primary_surface(RedWorker *worker, uint32_t surface_id,
|
||||
spice_warn_if(((uint64_t)abs(surface.stride) * (uint64_t)surface.height) !=
|
||||
abs(surface.stride) * surface.height);
|
||||
|
||||
+ /* surface can arrive from guest unchecked so make sure
|
||||
+ * guest is not a malicious one and drop invalid requests
|
||||
+ */
|
||||
+ if (!red_validate_surface(surface.width, surface.height,
|
||||
+ surface.stride, surface.format)) {
|
||||
+ spice_warning("wrong primary surface creation request");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
line_0 = (uint8_t*)get_virt(&worker->mem_slots, surface.mem,
|
||||
surface.height * abs(surface.stride),
|
||||
surface.group_id, &error);
|
@ -0,0 +1,56 @@
|
||||
From fd4a179a15882234f86ded87905a240dc76a9445 Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Maier <tamiko@43-1.org>
|
||||
Date: Tue, 14 Jun 2016 00:08:05 -0500
|
||||
Subject: [PATCH 1/2] Port fix for CVE-2016-0749 to 0.13.1, part I
|
||||
|
||||
This is a port of
|
||||
|
||||
0065-smartcard-add-a-ref-to-item-before-adding-to-pipe.patch
|
||||
|
||||
to version 0.13.1
|
||||
|
||||
Original commit message:
|
||||
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Marc-Andre Lureau <marcandre.lureau@redhat.com>
|
||||
Date: Thu, 17 Dec 2015 18:13:47 +0100
|
||||
Subject: [PATCH] smartcard: add a ref to item before adding to pipe
|
||||
|
||||
There is an unref when the message is sent.
|
||||
|
||||
[...]
|
||||
|
||||
Signed-off-by: Marc-Andre Lureau <marcandre.lureau@redhat.com>
|
||||
---
|
||||
server/smartcard.c | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/server/smartcard.c b/server/smartcard.c
|
||||
index ba6f2f5..96e4295 100644
|
||||
--- a/server/smartcard.c
|
||||
+++ b/server/smartcard.c
|
||||
@@ -181,14 +181,18 @@ static void smartcard_unref_msg_to_client(RedCharDeviceMsgToClient *msg,
|
||||
smartcard_unref_vsc_msg_item((MsgItem *)msg);
|
||||
}
|
||||
|
||||
-static void smartcard_send_msg_to_client(RedCharDeviceMsgToClient *msg,
|
||||
+static void smartcard_send_msg_to_client(RedCharDeviceMsgToClient *message,
|
||||
RedClient *client,
|
||||
void *opaque)
|
||||
{
|
||||
RedCharDeviceSmartcard *dev = opaque;
|
||||
- spice_assert(dev->priv->scc && dev->priv->scc->base.client == client);
|
||||
- smartcard_channel_client_pipe_add_push(&dev->priv->scc->base, &((MsgItem *)msg)->base);
|
||||
|
||||
+ MsgItem *msg = (MsgItem *)message;
|
||||
+ PipeItem *item = &msg->base;
|
||||
+
|
||||
+ spice_assert(dev->priv->scc && dev->priv->scc->base.client == client);
|
||||
+ smartcard_ref_vsc_msg_item(msg);
|
||||
+ smartcard_channel_client_pipe_add_push(&dev->priv->scc->base, item);
|
||||
}
|
||||
|
||||
static void smartcard_send_tokens_to_client(RedClient *client, uint32_t tokens, void *opaque)
|
||||
--
|
||||
2.7.3
|
||||
|
@ -0,0 +1,50 @@
|
||||
From 4cd23b8378e68283c7c9cf0b1e25dae11cf69c3e Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Maier <tamiko@43-1.org>
|
||||
Date: Tue, 14 Jun 2016 00:15:48 -0500
|
||||
Subject: [PATCH 2/2] Port fix for CVE-2016-0749 to 0.13.1, part II
|
||||
|
||||
This is a port of
|
||||
|
||||
0066-smartcard-allocate-msg-with-the-expected-size.patch
|
||||
|
||||
to version 0.13.1
|
||||
|
||||
Original commit message:
|
||||
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Marc-Andre Lureau <marcandre.lureau@redhat.com>
|
||||
Date: Thu, 17 Dec 2015 18:16:22 +0100
|
||||
Subject: [PATCH] smartcard: allocate msg with the expected size
|
||||
|
||||
[...]
|
||||
|
||||
Signed-off-by: Marc-Andre Lureau <marcandre.lureau@redhat.com>
|
||||
---
|
||||
server/smartcard.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/server/smartcard.c b/server/smartcard.c
|
||||
index 96e4295..c317512 100644
|
||||
--- a/server/smartcard.c
|
||||
+++ b/server/smartcard.c
|
||||
@@ -313,7 +313,7 @@ static void smartcard_char_device_notify_reader_add(RedCharDeviceSmartcard *dev)
|
||||
RedCharDeviceWriteBuffer *write_buf;
|
||||
VSCMsgHeader *vheader;
|
||||
|
||||
- write_buf = red_char_device_write_buffer_get(RED_CHAR_DEVICE(dev), NULL, sizeof(vheader));
|
||||
+ write_buf = red_char_device_write_buffer_get(RED_CHAR_DEVICE(dev), NULL, sizeof(*vheader));
|
||||
if (!write_buf) {
|
||||
spice_error("failed to allocate write buffer");
|
||||
return;
|
||||
@@ -360,7 +360,7 @@ static void smartcard_char_device_notify_reader_remove(RedCharDeviceSmartcard *d
|
||||
spice_debug("reader add was never sent to the device");
|
||||
return;
|
||||
}
|
||||
- write_buf = red_char_device_write_buffer_get(RED_CHAR_DEVICE(dev), NULL, sizeof(vheader));
|
||||
+ write_buf = red_char_device_write_buffer_get(RED_CHAR_DEVICE(dev), NULL, sizeof(*vheader));
|
||||
if (!write_buf) {
|
||||
spice_error("failed to allocate write buffer");
|
||||
return;
|
||||
--
|
||||
2.7.3
|
||||
|
@ -0,0 +1,109 @@
|
||||
From fc06265c3780e05503410a6646d1434e15d25b03 Mon Sep 17 00:00:00 2001
|
||||
From: Frediano Ziglio <fziglio@redhat.com>
|
||||
Date: Mon, 29 Feb 2016 14:24:03 +0000
|
||||
Subject: [PATCH 1/2] factor out red_validate_surface function to validate
|
||||
surface parameters
|
||||
|
||||
Make possible to reuse it outside red-parse-qxl.c.
|
||||
|
||||
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
|
||||
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
|
||||
---
|
||||
server/red-parse-qxl.c | 49 ++++++++++++++++++++++++++++++++-----------------
|
||||
server/red-parse-qxl.h | 3 +++
|
||||
2 files changed, 35 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/server/red-parse-qxl.c b/server/red-parse-qxl.c
|
||||
index 18b7ea6..b462311 100644
|
||||
--- a/server/red-parse-qxl.c
|
||||
+++ b/server/red-parse-qxl.c
|
||||
@@ -1327,13 +1327,41 @@ static unsigned int surface_format_to_bpp(uint32_t format)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+bool red_validate_surface(uint32_t width, uint32_t height,
|
||||
+ int32_t stride, uint32_t format)
|
||||
+{
|
||||
+ unsigned int bpp;
|
||||
+ uint64_t size;
|
||||
+
|
||||
+ bpp = surface_format_to_bpp(format);
|
||||
+
|
||||
+ /* check if format is valid */
|
||||
+ if (!bpp) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ /* check stride is larger than required bytes */
|
||||
+ size = ((uint64_t) width * bpp + 7u) / 8u;
|
||||
+ /* the uint32_t conversion is here to avoid problems with -2^31 value */
|
||||
+ if (stride == G_MININT32 || size > (uint32_t) abs(stride)) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ /* the multiplication can overflow, also abs(-2^31) may return a negative value */
|
||||
+ size = (uint64_t) height * abs(stride);
|
||||
+ if (size > MAX_DATA_CHUNK) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
int red_get_surface_cmd(RedMemSlotInfo *slots, int group_id,
|
||||
RedSurfaceCmd *red, QXLPHYSICAL addr)
|
||||
{
|
||||
QXLSurfaceCmd *qxl;
|
||||
uint64_t size;
|
||||
int error;
|
||||
- unsigned int bpp;
|
||||
|
||||
qxl = (QXLSurfaceCmd *)memslot_get_virt(slots, addr, sizeof(*qxl), group_id,
|
||||
&error);
|
||||
@@ -1353,26 +1381,13 @@ int red_get_surface_cmd(RedMemSlotInfo *slots, int group_id,
|
||||
red->u.surface_create.width = qxl->u.surface_create.width;
|
||||
red->u.surface_create.height = qxl->u.surface_create.height;
|
||||
red->u.surface_create.stride = qxl->u.surface_create.stride;
|
||||
- bpp = surface_format_to_bpp(red->u.surface_create.format);
|
||||
|
||||
- /* check if format is valid */
|
||||
- if (!bpp) {
|
||||
+ if (!red_validate_surface(red->u.surface_create.width, red->u.surface_create.height,
|
||||
+ red->u.surface_create.stride, red->u.surface_create.format)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
- /* check stride is larger than required bytes */
|
||||
- size = ((uint64_t) red->u.surface_create.width * bpp + 7u) / 8u;
|
||||
- /* the uint32_t conversion is here to avoid problems with -2^31 value */
|
||||
- if (red->u.surface_create.stride == G_MININT32
|
||||
- || size > (uint32_t) abs(red->u.surface_create.stride)) {
|
||||
- return 1;
|
||||
- }
|
||||
-
|
||||
- /* the multiplication can overflow, also abs(-2^31) may return a negative value */
|
||||
- size = (uint64_t) red->u.surface_create.height * abs(red->u.surface_create.stride);
|
||||
- if (size > MAX_DATA_CHUNK) {
|
||||
- return 1;
|
||||
- }
|
||||
+ size = red->u.surface_create.height * abs(red->u.surface_create.stride);
|
||||
red->u.surface_create.data =
|
||||
(uint8_t*)memslot_get_virt(slots, qxl->u.surface_create.data, size, group_id, &error);
|
||||
if (error) {
|
||||
diff --git a/server/red-parse-qxl.h b/server/red-parse-qxl.h
|
||||
index 9c30572..72a57b4 100644
|
||||
--- a/server/red-parse-qxl.h
|
||||
+++ b/server/red-parse-qxl.h
|
||||
@@ -127,6 +127,9 @@ int red_get_message(RedMemSlotInfo *slots, int group_id,
|
||||
RedMessage *red, QXLPHYSICAL addr);
|
||||
void red_put_message(RedMessage *red);
|
||||
|
||||
+bool red_validate_surface(uint32_t width, uint32_t height,
|
||||
+ int32_t stride, uint32_t format);
|
||||
+
|
||||
int red_get_surface_cmd(RedMemSlotInfo *slots, int group_id,
|
||||
RedSurfaceCmd *red, QXLPHYSICAL addr);
|
||||
void red_put_surface_cmd(RedSurfaceCmd *red);
|
||||
--
|
||||
2.7.3
|
||||
|
@ -0,0 +1,50 @@
|
||||
From b1c167bb9e8047e93bfd43a43832963c8e830f5b Mon Sep 17 00:00:00 2001
|
||||
From: Frediano Ziglio <fziglio@redhat.com>
|
||||
Date: Wed, 2 Mar 2016 12:35:41 +0000
|
||||
Subject: [PATCH 2/2] improve primary surface parameter checks
|
||||
|
||||
Primary surface, as additional surfaces, can be used to access
|
||||
host memory from the guest using invalid parameters.
|
||||
|
||||
The removed warning is not enough to prevent all cases. Also a warning
|
||||
is not enough to stop an escalation to happen.
|
||||
The red_validate_surface do different checks to make sure surface
|
||||
request is valid and not cause possible buffer/integer overflows:
|
||||
- format is valid;
|
||||
- width is not large to cause overflow compared to stride;
|
||||
- stride is not -2^31 (a number which negate is still <0);
|
||||
- stride * height does not overflow.
|
||||
|
||||
This fixes https://bugzilla.redhat.com/show_bug.cgi?id=1312980.
|
||||
|
||||
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
|
||||
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
|
||||
---
|
||||
server/red-worker.c | 11 +++++++++--
|
||||
1 file changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/server/red-worker.c b/server/red-worker.c
|
||||
index 241c300..c7fc8bd 100644
|
||||
--- a/server/red-worker.c
|
||||
+++ b/server/red-worker.c
|
||||
@@ -681,8 +681,15 @@ static void dev_create_primary_surface(RedWorker *worker, uint32_t surface_id,
|
||||
spice_debug(NULL);
|
||||
spice_warn_if_fail(surface_id == 0);
|
||||
spice_warn_if_fail(surface.height != 0);
|
||||
- spice_warn_if_fail(((uint64_t)abs(surface.stride) * (uint64_t)surface.height) ==
|
||||
- abs(surface.stride) * surface.height);
|
||||
+
|
||||
+ /* surface can arrive from guest unchecked so make sure
|
||||
+ * guest is not a malicious one and drop invalid requests
|
||||
+ */
|
||||
+ if (!red_validate_surface(surface.width, surface.height,
|
||||
+ surface.stride, surface.format)) {
|
||||
+ spice_warning("wrong primary surface creation request");
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
line_0 = (uint8_t*)memslot_get_virt(&worker->mem_slots, surface.mem,
|
||||
surface.height * abs(surface.stride),
|
||||
--
|
||||
2.7.3
|
||||
|
@ -1,3 +1,3 @@
|
||||
DIST hoe-seattlerb-1.3.2.gem 12288 SHA256 0a1be5e97fcbf4dc5972fe3c440b096e58325d3dc01b2e8a21559939d72d140e SHA512 24077c570d0030742bc7690c063ab14dcadefea7649821a147ee91a887c649a5ee560ae9c8935de870bcd5366958bbcfd04a1cba1ad0d79550bb4e1a8117e1b8 WHIRLPOOL 07dea3ecb7d24e957d44ee77bd7f85d224e7acd77f7de99cdf2ca87e654eb9ddddf3947f116983d326f42299ef83d056949531b77e21694e839c2912d08cb9e0
|
||||
DIST hoe-seattlerb-1.3.3.gem 14336 SHA256 e19db4ce70375aa0f71b9e38f06d97411b71ed2be99ceb5d328b2d56555dceba SHA512 35f335a3582d8941518df7e37c7e591535f86197b1e03674bf1ec8c7f3cdec5d980639f0e082c1453bf074c4d80127412d328686044803a09401cccbe667945b WHIRLPOOL 01f9813746c1430e65ea4a592aeee701eeb1cb372a549c3d7243604bfbb2e7f67cc6a974ffa557b358efc51efcefe46c8d4ba57393cddfb2f147b23e1e2a2dd7
|
||||
DIST hoe-seattlerb-1.3.4.gem 14336 SHA256 48390e18948cdd1efa13af1f5be56239547e88f7d7267e26e5f335823f3fdf79 SHA512 5e968611f3826fcea8f1a896b1883e07d5cf8d02bb20d0de2d8c7bacc0538163b5996d0a2f41dc8f892c4629bfc9e2630f14b374d73fa0b13daa2ca5de3433cc WHIRLPOOL 4390688cd888e26921b830b13bf2fefa351d342c7998df75c1e9ccae2f436a2296ead64576cbab7b3145077cccc99bed7a73310a720c69a1539664003e0dc789
|
||||
DIST hoe-seattlerb-1.3.5.gem 14336 SHA256 735f9a98d4124beff49bbc94982093046361f0d9fc27ccfc89a6719808ed0293 SHA512 a5cdb38114e22e07824749e721ad7ff85724c04d8ca1c66996ca86fc9ec150a3b0b7b3bc83511932af0c4acd7e9b581d6b1583eda60160bf7ed91021ab803d0f WHIRLPOOL af9f54f4871fd9b1ef8c2624396e6cd57369c575c55cbbe206375fc18efd163486e34cda4f41ba6bdb3063cd9be1deb219861df7818791a61431e7977c610028
|
||||
|
@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
USE_RUBY="ruby20 ruby21 ruby22 ruby23"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
|
||||
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
|
||||
RUBY_FAKEGEM_EXTRADOC="README.md"
|
||||
|
||||
inherit multilib ruby-fakegem
|
||||
|
||||
DESCRIPTION="Patron is a Ruby HTTP client library based on libcurl"
|
||||
HOMEPAGE="https://toland.github.com/patron/"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
DEPEND+=" net-misc/curl"
|
||||
RDEPEND+=" net-misc/curl"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Fix Rakefile
|
||||
sed -i -e 's:rake/rdoctask:rdoc/task:' \
|
||||
-e 's/README.txt/README.md/' \
|
||||
-e '/bundler/I s:^:#:' \
|
||||
-e '/extensiontask/ s:^:#:' \
|
||||
-e '/ExtensionTask/,/^end/ s:^:#:' \
|
||||
Rakefile || die
|
||||
|
||||
# Avoid specs with failures. We were not running any specs before.
|
||||
rm spec/session_ssl_spec.rb spec/session_spec.rb spec/response_spec.rb || die
|
||||
}
|
||||
|
||||
each_ruby_configure() {
|
||||
${RUBY} -Cext/patron extconf.rb || die
|
||||
}
|
||||
|
||||
each_ruby_compile() {
|
||||
emake -Cext/patron V=1
|
||||
cp ext/patron/session_ext$(get_modname) lib/patron/ || die "Unable to cp shared object file"
|
||||
}
|
@ -1 +1 @@
|
||||
Mon, 13 Jun 2016 20:40:49 +0000
|
||||
Tue, 14 Jun 2016 06:12:34 +0000
|
||||
|
@ -1 +1 @@
|
||||
Mon, 13 Jun 2016 20:40:49 +0000
|
||||
Tue, 14 Jun 2016 06:12:34 +0000
|
||||
|
@ -1,14 +1,14 @@
|
||||
DEFINED_PHASES=compile configure install postinst preinst prepare setup test
|
||||
DEPEND=app-misc/scrub dev-libs/libgcrypt:0 dev-libs/libnl:3 >=dev-libs/libxml2-2.7.6 >=net-analyzer/netcat6-1.0-r2 >=net-libs/gnutls-1.0.25:0= net-libs/libssh2 >=net-misc/curl-7.18.0 sys-apps/dmidecode >=sys-apps/util-linux-2.17 sys-devel/gettext sys-libs/ncurses:0= sys-libs/readline:= apparmor? ( sys-libs/libapparmor ) audit? ( sys-process/audit ) avahi? ( >=net-dns/avahi-0.6[dbus] ) caps? ( sys-libs/libcap-ng ) firewalld? ( net-firewall/firewalld ) fuse? ( >=sys-fs/fuse-2.8.6 ) glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) iscsi? ( sys-block/open-iscsi ) lvm? ( >=sys-fs/lvm2-2.02.48-r2 ) lxc? ( !systemd? ( sys-power/pm-utils ) ) nfs? ( net-fs/nfs-utils ) numa? ( >sys-process/numactl-2.0.2 sys-process/numad ) openvz? ( sys-kernel/openvz-sources:* ) parted? ( >=sys-block/parted-1.8[device-mapper] sys-fs/lvm2 ) pcap? ( >=net-libs/libpcap-1.0.0 ) policykit? ( >=sys-auth/polkit-0.9 ) qemu? ( >=app-emulation/qemu-0.13.0 dev-libs/yajl !systemd? ( sys-power/pm-utils ) ) rbd? ( sys-cluster/ceph ) sasl? ( dev-libs/cyrus-sasl ) selinux? ( >=sys-libs/libselinux-2.0.85 ) systemd? ( sys-apps/systemd ) virt-network? ( net-dns/dnsmasq[script] net-firewall/ebtables >=net-firewall/iptables-1.4.10[ipv6] net-misc/radvd sys-apps/iproute2[-minimal] ) virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) wireshark-plugins? ( net-analyzer/wireshark:= ) xen? ( app-emulation/xen app-emulation/xen-tools:= ) udev? ( virtual/udev >=x11-libs/libpciaccess-0.10.9 ) app-text/xhtml1 dev-lang/perl dev-libs/libxslt dev-perl/XML-XPath virtual/pkgconfig virtual/pkgconfig
|
||||
DEPEND=app-misc/scrub dev-libs/libgcrypt:0 dev-libs/libnl:3 >=dev-libs/libxml2-2.7.6 || ( >=net-analyzer/netcat6-1.0-r2 >=net-analyzer/openbsd-netcat-1.105-r1 ) >=net-libs/gnutls-1.0.25:0= net-libs/libssh2 >=net-misc/curl-7.18.0 sys-apps/dmidecode >=sys-apps/util-linux-2.17 sys-devel/gettext sys-libs/ncurses:0= sys-libs/readline:= apparmor? ( sys-libs/libapparmor ) audit? ( sys-process/audit ) avahi? ( >=net-dns/avahi-0.6[dbus] ) caps? ( sys-libs/libcap-ng ) firewalld? ( net-firewall/firewalld ) fuse? ( >=sys-fs/fuse-2.8.6 ) glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) iscsi? ( sys-block/open-iscsi ) lvm? ( >=sys-fs/lvm2-2.02.48-r2 ) lxc? ( !systemd? ( sys-power/pm-utils ) ) nfs? ( net-fs/nfs-utils ) numa? ( >sys-process/numactl-2.0.2 sys-process/numad ) openvz? ( sys-kernel/openvz-sources:* ) parted? ( >=sys-block/parted-1.8[device-mapper] sys-fs/lvm2 ) pcap? ( >=net-libs/libpcap-1.0.0 ) policykit? ( >=sys-auth/polkit-0.9 ) qemu? ( >=app-emulation/qemu-0.13.0 dev-libs/yajl !systemd? ( sys-power/pm-utils ) ) rbd? ( sys-cluster/ceph ) sasl? ( dev-libs/cyrus-sasl ) selinux? ( >=sys-libs/libselinux-2.0.85 ) systemd? ( sys-apps/systemd ) virt-network? ( net-dns/dnsmasq[script] net-firewall/ebtables >=net-firewall/iptables-1.4.10[ipv6] net-misc/radvd sys-apps/iproute2[-minimal] ) virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) wireshark-plugins? ( net-analyzer/wireshark:= ) xen? ( app-emulation/xen app-emulation/xen-tools:= ) udev? ( virtual/udev >=x11-libs/libpciaccess-0.10.9 ) app-text/xhtml1 dev-lang/perl dev-libs/libxslt dev-perl/XML-XPath virtual/pkgconfig virtual/pkgconfig
|
||||
DESCRIPTION=C toolkit to manipulate virtual machines
|
||||
EAPI=5
|
||||
HOMEPAGE=http://www.libvirt.org/
|
||||
IUSE=apparmor audit avahi +caps firewalld fuse glusterfs iscsi +libvirtd lvm lxc +macvtap nfs nls numa openvz parted pcap phyp policykit +qemu rbd sasl selinux systemd +udev uml +vepa virtualbox virt-network wireshark-plugins xen
|
||||
KEYWORDS=~amd64 ~x86
|
||||
LICENSE=LGPL-2.1
|
||||
RDEPEND=app-misc/scrub dev-libs/libgcrypt:0 dev-libs/libnl:3 >=dev-libs/libxml2-2.7.6 >=net-analyzer/netcat6-1.0-r2 >=net-libs/gnutls-1.0.25:0= net-libs/libssh2 >=net-misc/curl-7.18.0 sys-apps/dmidecode >=sys-apps/util-linux-2.17 sys-devel/gettext sys-libs/ncurses:0= sys-libs/readline:= apparmor? ( sys-libs/libapparmor ) audit? ( sys-process/audit ) avahi? ( >=net-dns/avahi-0.6[dbus] ) caps? ( sys-libs/libcap-ng ) firewalld? ( net-firewall/firewalld ) fuse? ( >=sys-fs/fuse-2.8.6 ) glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) iscsi? ( sys-block/open-iscsi ) lvm? ( >=sys-fs/lvm2-2.02.48-r2 ) lxc? ( !systemd? ( sys-power/pm-utils ) ) nfs? ( net-fs/nfs-utils ) numa? ( >sys-process/numactl-2.0.2 sys-process/numad ) openvz? ( sys-kernel/openvz-sources:* ) parted? ( >=sys-block/parted-1.8[device-mapper] sys-fs/lvm2 ) pcap? ( >=net-libs/libpcap-1.0.0 ) policykit? ( >=sys-auth/polkit-0.9 ) qemu? ( >=app-emulation/qemu-0.13.0 dev-libs/yajl !systemd? ( sys-power/pm-utils ) ) rbd? ( sys-cluster/ceph ) sasl? ( dev-libs/cyrus-sasl ) selinux? ( >=sys-libs/libselinux-2.0.85 ) systemd? ( sys-apps/systemd ) virt-network? ( net-dns/dnsmasq[script] net-firewall/ebtables >=net-firewall/iptables-1.4.10[ipv6] net-misc/radvd sys-apps/iproute2[-minimal] ) virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) wireshark-plugins? ( net-analyzer/wireshark:= ) xen? ( app-emulation/xen app-emulation/xen-tools:= ) udev? ( virtual/udev >=x11-libs/libpciaccess-0.10.9 )
|
||||
RDEPEND=app-misc/scrub dev-libs/libgcrypt:0 dev-libs/libnl:3 >=dev-libs/libxml2-2.7.6 || ( >=net-analyzer/netcat6-1.0-r2 >=net-analyzer/openbsd-netcat-1.105-r1 ) >=net-libs/gnutls-1.0.25:0= net-libs/libssh2 >=net-misc/curl-7.18.0 sys-apps/dmidecode >=sys-apps/util-linux-2.17 sys-devel/gettext sys-libs/ncurses:0= sys-libs/readline:= apparmor? ( sys-libs/libapparmor ) audit? ( sys-process/audit ) avahi? ( >=net-dns/avahi-0.6[dbus] ) caps? ( sys-libs/libcap-ng ) firewalld? ( net-firewall/firewalld ) fuse? ( >=sys-fs/fuse-2.8.6 ) glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) iscsi? ( sys-block/open-iscsi ) lvm? ( >=sys-fs/lvm2-2.02.48-r2 ) lxc? ( !systemd? ( sys-power/pm-utils ) ) nfs? ( net-fs/nfs-utils ) numa? ( >sys-process/numactl-2.0.2 sys-process/numad ) openvz? ( sys-kernel/openvz-sources:* ) parted? ( >=sys-block/parted-1.8[device-mapper] sys-fs/lvm2 ) pcap? ( >=net-libs/libpcap-1.0.0 ) policykit? ( >=sys-auth/polkit-0.9 ) qemu? ( >=app-emulation/qemu-0.13.0 dev-libs/yajl !systemd? ( sys-power/pm-utils ) ) rbd? ( sys-cluster/ceph ) sasl? ( dev-libs/cyrus-sasl ) selinux? ( >=sys-libs/libselinux-2.0.85 ) systemd? ( sys-apps/systemd ) virt-network? ( net-dns/dnsmasq[script] net-firewall/ebtables >=net-firewall/iptables-1.4.10[ipv6] net-misc/radvd sys-apps/iproute2[-minimal] ) virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) wireshark-plugins? ( net-analyzer/wireshark:= ) xen? ( app-emulation/xen app-emulation/xen-tools:= ) udev? ( virtual/udev >=x11-libs/libpciaccess-0.10.9 )
|
||||
REQUIRED_USE=firewalld? ( virt-network ) libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) ) lxc? ( caps libvirtd ) openvz? ( libvirtd ) qemu? ( libvirtd ) uml? ( libvirtd ) vepa? ( macvtap ) virt-network? ( libvirtd ) virtualbox? ( libvirtd ) xen? ( libvirtd )
|
||||
SLOT=0/1.3.4
|
||||
SRC_URI=http://libvirt.org/sources/libvirt-1.3.4.tar.gz
|
||||
_eclasses_=autotools 07e71b3b5690738ef7e8bc097077e00c autotools-utils 419811142edf3516b0d0cf1a254d93cb eutils 792f83d5ec9536cb5ccef375469d8bde libtool 4890219c51da247200223277f993e054 linux-info fd1e29abbb02cbc49f1a14299846e9c4 multilib d062ae4ba2fc40a19c11de2ad89b6616 readme.gentoo df3fc8fdaf5a519e7d48c83e7592c95f systemd 3165c885f3c71ffae7a867d931fb0e07 toolchain-funcs c9d9187f4caa4026a0ceddd8dfceb3c1 user 906f3c8eb3a2350a4f1191a89baa3e46 versionator 99ae9d758cbe7cfed19170e7d48f5a9c
|
||||
_md5_=13eb34224d315ea2e1d00b836fd0b556
|
||||
_md5_=cab5009ea554bfb56c00cd4ac3f8fdb0
|
||||
|
@ -1,12 +1,12 @@
|
||||
DEFINED_PHASES=compile configure install postinst preinst prepare setup test unpack
|
||||
DEPEND=app-misc/scrub dev-libs/libgcrypt:0 dev-libs/libnl:3 >=dev-libs/libxml2-2.7.6 >=net-analyzer/netcat6-1.0-r2 >=net-libs/gnutls-1.0.25:0= net-libs/libssh2 >=net-misc/curl-7.18.0 sys-apps/dmidecode >=sys-apps/util-linux-2.17 sys-devel/gettext sys-libs/ncurses:0= sys-libs/readline:= apparmor? ( sys-libs/libapparmor ) audit? ( sys-process/audit ) avahi? ( >=net-dns/avahi-0.6[dbus] ) caps? ( sys-libs/libcap-ng ) firewalld? ( net-firewall/firewalld ) fuse? ( >=sys-fs/fuse-2.8.6 ) glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) iscsi? ( sys-block/open-iscsi ) lvm? ( >=sys-fs/lvm2-2.02.48-r2 ) lxc? ( !systemd? ( sys-power/pm-utils ) ) nfs? ( net-fs/nfs-utils ) numa? ( >sys-process/numactl-2.0.2 sys-process/numad ) openvz? ( sys-kernel/openvz-sources:* ) parted? ( >=sys-block/parted-1.8[device-mapper] sys-fs/lvm2 ) pcap? ( >=net-libs/libpcap-1.0.0 ) policykit? ( >=sys-auth/polkit-0.9 ) qemu? ( >=app-emulation/qemu-0.13.0 dev-libs/yajl !systemd? ( sys-power/pm-utils ) ) rbd? ( sys-cluster/ceph ) sasl? ( dev-libs/cyrus-sasl ) selinux? ( >=sys-libs/libselinux-2.0.85 ) systemd? ( sys-apps/systemd ) virt-network? ( net-dns/dnsmasq[script] net-firewall/ebtables >=net-firewall/iptables-1.4.10[ipv6] net-misc/radvd sys-apps/iproute2[-minimal] ) virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) wireshark-plugins? ( net-analyzer/wireshark:= ) xen? ( app-emulation/xen app-emulation/xen-tools:= ) udev? ( virtual/udev >=x11-libs/libpciaccess-0.10.9 ) app-text/xhtml1 dev-lang/perl dev-libs/libxslt dev-perl/XML-XPath virtual/pkgconfig virtual/pkgconfig >=dev-vcs/git-1.8.2.1
|
||||
DEPEND=app-misc/scrub dev-libs/libgcrypt:0 dev-libs/libnl:3 >=dev-libs/libxml2-2.7.6 || ( >=net-analyzer/netcat6-1.0-r2 >=net-analyzer/openbsd-netcat-1.105-r1 ) >=net-libs/gnutls-1.0.25:0= net-libs/libssh2 >=net-misc/curl-7.18.0 sys-apps/dmidecode >=sys-apps/util-linux-2.17 sys-devel/gettext sys-libs/ncurses:0= sys-libs/readline:= apparmor? ( sys-libs/libapparmor ) audit? ( sys-process/audit ) avahi? ( >=net-dns/avahi-0.6[dbus] ) caps? ( sys-libs/libcap-ng ) firewalld? ( net-firewall/firewalld ) fuse? ( >=sys-fs/fuse-2.8.6 ) glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) iscsi? ( sys-block/open-iscsi ) lvm? ( >=sys-fs/lvm2-2.02.48-r2 ) lxc? ( !systemd? ( sys-power/pm-utils ) ) nfs? ( net-fs/nfs-utils ) numa? ( >sys-process/numactl-2.0.2 sys-process/numad ) openvz? ( sys-kernel/openvz-sources:* ) parted? ( >=sys-block/parted-1.8[device-mapper] sys-fs/lvm2 ) pcap? ( >=net-libs/libpcap-1.0.0 ) policykit? ( >=sys-auth/polkit-0.9 ) qemu? ( >=app-emulation/qemu-0.13.0 dev-libs/yajl !systemd? ( sys-power/pm-utils ) ) rbd? ( sys-cluster/ceph ) sasl? ( dev-libs/cyrus-sasl ) selinux? ( >=sys-libs/libselinux-2.0.85 ) systemd? ( sys-apps/systemd ) virt-network? ( net-dns/dnsmasq[script] net-firewall/ebtables >=net-firewall/iptables-1.4.10[ipv6] net-misc/radvd sys-apps/iproute2[-minimal] ) virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) wireshark-plugins? ( net-analyzer/wireshark:= ) xen? ( app-emulation/xen app-emulation/xen-tools:= ) udev? ( virtual/udev >=x11-libs/libpciaccess-0.10.9 ) app-text/xhtml1 dev-lang/perl dev-libs/libxslt dev-perl/XML-XPath virtual/pkgconfig virtual/pkgconfig >=dev-vcs/git-1.8.2.1
|
||||
DESCRIPTION=C toolkit to manipulate virtual machines
|
||||
EAPI=5
|
||||
HOMEPAGE=http://www.libvirt.org/
|
||||
IUSE=apparmor audit avahi +caps firewalld fuse glusterfs iscsi +libvirtd lvm lxc +macvtap nfs nls numa openvz parted pcap phyp policykit +qemu rbd sasl selinux systemd +udev uml +vepa virtualbox virt-network wireshark-plugins xen
|
||||
LICENSE=LGPL-2.1
|
||||
RDEPEND=app-misc/scrub dev-libs/libgcrypt:0 dev-libs/libnl:3 >=dev-libs/libxml2-2.7.6 >=net-analyzer/netcat6-1.0-r2 >=net-libs/gnutls-1.0.25:0= net-libs/libssh2 >=net-misc/curl-7.18.0 sys-apps/dmidecode >=sys-apps/util-linux-2.17 sys-devel/gettext sys-libs/ncurses:0= sys-libs/readline:= apparmor? ( sys-libs/libapparmor ) audit? ( sys-process/audit ) avahi? ( >=net-dns/avahi-0.6[dbus] ) caps? ( sys-libs/libcap-ng ) firewalld? ( net-firewall/firewalld ) fuse? ( >=sys-fs/fuse-2.8.6 ) glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) iscsi? ( sys-block/open-iscsi ) lvm? ( >=sys-fs/lvm2-2.02.48-r2 ) lxc? ( !systemd? ( sys-power/pm-utils ) ) nfs? ( net-fs/nfs-utils ) numa? ( >sys-process/numactl-2.0.2 sys-process/numad ) openvz? ( sys-kernel/openvz-sources:* ) parted? ( >=sys-block/parted-1.8[device-mapper] sys-fs/lvm2 ) pcap? ( >=net-libs/libpcap-1.0.0 ) policykit? ( >=sys-auth/polkit-0.9 ) qemu? ( >=app-emulation/qemu-0.13.0 dev-libs/yajl !systemd? ( sys-power/pm-utils ) ) rbd? ( sys-cluster/ceph ) sasl? ( dev-libs/cyrus-sasl ) selinux? ( >=sys-libs/libselinux-2.0.85 ) systemd? ( sys-apps/systemd ) virt-network? ( net-dns/dnsmasq[script] net-firewall/ebtables >=net-firewall/iptables-1.4.10[ipv6] net-misc/radvd sys-apps/iproute2[-minimal] ) virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) wireshark-plugins? ( net-analyzer/wireshark:= ) xen? ( app-emulation/xen app-emulation/xen-tools:= ) udev? ( virtual/udev >=x11-libs/libpciaccess-0.10.9 )
|
||||
RDEPEND=app-misc/scrub dev-libs/libgcrypt:0 dev-libs/libnl:3 >=dev-libs/libxml2-2.7.6 || ( >=net-analyzer/netcat6-1.0-r2 >=net-analyzer/openbsd-netcat-1.105-r1 ) >=net-libs/gnutls-1.0.25:0= net-libs/libssh2 >=net-misc/curl-7.18.0 sys-apps/dmidecode >=sys-apps/util-linux-2.17 sys-devel/gettext sys-libs/ncurses:0= sys-libs/readline:= apparmor? ( sys-libs/libapparmor ) audit? ( sys-process/audit ) avahi? ( >=net-dns/avahi-0.6[dbus] ) caps? ( sys-libs/libcap-ng ) firewalld? ( net-firewall/firewalld ) fuse? ( >=sys-fs/fuse-2.8.6 ) glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) iscsi? ( sys-block/open-iscsi ) lvm? ( >=sys-fs/lvm2-2.02.48-r2 ) lxc? ( !systemd? ( sys-power/pm-utils ) ) nfs? ( net-fs/nfs-utils ) numa? ( >sys-process/numactl-2.0.2 sys-process/numad ) openvz? ( sys-kernel/openvz-sources:* ) parted? ( >=sys-block/parted-1.8[device-mapper] sys-fs/lvm2 ) pcap? ( >=net-libs/libpcap-1.0.0 ) policykit? ( >=sys-auth/polkit-0.9 ) qemu? ( >=app-emulation/qemu-0.13.0 dev-libs/yajl !systemd? ( sys-power/pm-utils ) ) rbd? ( sys-cluster/ceph ) sasl? ( dev-libs/cyrus-sasl ) selinux? ( >=sys-libs/libselinux-2.0.85 ) systemd? ( sys-apps/systemd ) virt-network? ( net-dns/dnsmasq[script] net-firewall/ebtables >=net-firewall/iptables-1.4.10[ipv6] net-misc/radvd sys-apps/iproute2[-minimal] ) virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) wireshark-plugins? ( net-analyzer/wireshark:= ) xen? ( app-emulation/xen app-emulation/xen-tools:= ) udev? ( virtual/udev >=x11-libs/libpciaccess-0.10.9 )
|
||||
REQUIRED_USE=firewalld? ( virt-network ) libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) ) lxc? ( caps libvirtd ) openvz? ( libvirtd ) qemu? ( libvirtd ) uml? ( libvirtd ) vepa? ( macvtap ) virt-network? ( libvirtd ) virtualbox? ( libvirtd ) xen? ( libvirtd )
|
||||
SLOT=0
|
||||
_eclasses_=autotools 07e71b3b5690738ef7e8bc097077e00c autotools-utils 419811142edf3516b0d0cf1a254d93cb eutils 792f83d5ec9536cb5ccef375469d8bde git-r3 00f60a84fc7b499c99edfe99caea9f95 libtool 4890219c51da247200223277f993e054 linux-info fd1e29abbb02cbc49f1a14299846e9c4 multilib d062ae4ba2fc40a19c11de2ad89b6616 readme.gentoo df3fc8fdaf5a519e7d48c83e7592c95f systemd 3165c885f3c71ffae7a867d931fb0e07 toolchain-funcs c9d9187f4caa4026a0ceddd8dfceb3c1 user 906f3c8eb3a2350a4f1191a89baa3e46 versionator 99ae9d758cbe7cfed19170e7d48f5a9c
|
||||
_md5_=205bfe48195424e2df703f63504f34a6
|
||||
_md5_=dfe179217cbefd0518668a09fceb7e23
|
||||
|
@ -1,13 +1,13 @@
|
||||
DEFINED_PHASES=configure install prepare setup
|
||||
DEPEND=~app-emulation/spice-protocol-0.12.11 virtual/pkgconfig || ( ( dev-lang/python:3.4 >=dev-python/pyparsing-1.5.6-r2[python_targets_python3_4(-),python_single_target_python3_4(+)] dev-python/six[python_targets_python3_4(-),python_single_target_python3_4(+)] ) ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-python/pyparsing-1.5.6-r2[python_targets_python2_7(-),python_single_target_python2_7(+)] dev-python/six[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) smartcard? ( app-emulation/qemu[smartcard] ) >=dev-libs/glib-2.22:2[static-libs(+)?] >=media-libs/celt-0.5.1.1:0.5.1[static-libs(+)?] media-libs/opus[static-libs(+)?] sys-libs/zlib[static-libs(+)?] virtual/jpeg:0=[static-libs(+)?] >=x11-libs/pixman-0.17.7[static-libs(+)?] !libressl? ( dev-libs/openssl:0[static-libs(+)?] ) libressl? ( dev-libs/libressl[static-libs(+)?] ) smartcard? ( >=app-emulation/libcacard-0.1.2 ) sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] )
|
||||
DEPEND=~app-emulation/spice-protocol-0.12.11 virtual/pkgconfig || ( ( dev-lang/python:3.4 >=dev-python/pyparsing-1.5.6-r2[python_targets_python3_4(-),python_single_target_python3_4(+)] dev-python/six[python_targets_python3_4(-),python_single_target_python3_4(+)] ) ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-python/pyparsing-1.5.6-r2[python_targets_python2_7(-),python_single_target_python2_7(+)] dev-python/six[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) smartcard? ( app-emulation/qemu[smartcard] ) >=dev-libs/glib-2.22:2[static-libs(+)?] >=media-libs/celt-0.5.1.1:0.5.1[static-libs(+)?] media-libs/opus[static-libs(+)?] sys-libs/zlib[static-libs(+)?] virtual/jpeg:0=[static-libs(+)?] >=x11-libs/pixman-0.17.7[static-libs(+)?] !libressl? ( dev-libs/openssl:0[static-libs(+)?] ) libressl? ( dev-libs/libressl[static-libs(+)?] ) lz4? ( app-arch/lz4 ) smartcard? ( >=app-emulation/libcacard-0.1.2 ) sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] )
|
||||
DESCRIPTION=SPICE server
|
||||
EAPI=5
|
||||
HOMEPAGE=http://spice-space.org/
|
||||
IUSE=libressl sasl smartcard static-libs
|
||||
IUSE=libressl lz4 sasl smartcard static-libs
|
||||
KEYWORDS=~amd64 ~x86
|
||||
LICENSE=LGPL-2.1
|
||||
RDEPEND=>=dev-libs/glib-2.22:2[static-libs(+)?] >=media-libs/celt-0.5.1.1:0.5.1[static-libs(+)?] media-libs/opus[static-libs(+)?] sys-libs/zlib[static-libs(+)?] virtual/jpeg:0=[static-libs(+)?] >=x11-libs/pixman-0.17.7[static-libs(+)?] !libressl? ( dev-libs/openssl:0[static-libs(+)?] ) libressl? ( dev-libs/libressl[static-libs(+)?] ) smartcard? ( >=app-emulation/libcacard-0.1.2 ) sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] )
|
||||
RDEPEND=>=dev-libs/glib-2.22:2[static-libs(+)?] >=media-libs/celt-0.5.1.1:0.5.1[static-libs(+)?] media-libs/opus[static-libs(+)?] sys-libs/zlib[static-libs(+)?] virtual/jpeg:0=[static-libs(+)?] >=x11-libs/pixman-0.17.7[static-libs(+)?] !libressl? ( dev-libs/openssl:0[static-libs(+)?] ) libressl? ( dev-libs/libressl[static-libs(+)?] ) lz4? ( app-arch/lz4 ) smartcard? ( >=app-emulation/libcacard-0.1.2 ) sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] )
|
||||
SLOT=0
|
||||
SRC_URI=http://spice-space.org/download/releases/spice-0.13.1.tar.bz2
|
||||
_eclasses_=eutils 792f83d5ec9536cb5ccef375469d8bde multilib d062ae4ba2fc40a19c11de2ad89b6616 python-any-r1 1c20f9b800324335a8e3b137363362e8 python-utils-r1 c0ed2a2f233d3af6dd556048695dc5cb toolchain-funcs c9d9187f4caa4026a0ceddd8dfceb3c1
|
||||
_md5_=354c3fd9fe006eafff9832028e801525
|
||||
_md5_=059bbd60643b539ba4a0f2792254c5c4
|
@ -1,11 +1,11 @@
|
||||
DEFINED_PHASES=configure install prepare setup unpack
|
||||
DEPEND==app-emulation/spice-protocol-9999 virtual/pkgconfig || ( ( dev-lang/python:3.4 >=dev-python/pyparsing-1.5.6-r2[python_targets_python3_4(-),python_single_target_python3_4(+)] dev-python/six[python_targets_python3_4(-),python_single_target_python3_4(+)] ) ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-python/pyparsing-1.5.6-r2[python_targets_python2_7(-),python_single_target_python2_7(+)] dev-python/six[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) smartcard? ( app-emulation/qemu[smartcard] ) >=dev-libs/glib-2.22:2[static-libs(+)?] >=media-libs/celt-0.5.1.1:0.5.1[static-libs(+)?] media-libs/opus[static-libs(+)?] sys-libs/zlib[static-libs(+)?] virtual/jpeg:0=[static-libs(+)?] >=x11-libs/pixman-0.17.7[static-libs(+)?] !libressl? ( dev-libs/openssl:0[static-libs(+)?] ) libressl? ( dev-libs/libressl[static-libs(+)?] ) smartcard? ( >=app-emulation/libcacard-0.1.2 ) sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] ) >=dev-vcs/git-1.8.2.1 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
|
||||
DEPEND==app-emulation/spice-protocol-9999 virtual/pkgconfig || ( ( dev-lang/python:3.4 >=dev-python/pyparsing-1.5.6-r2[python_targets_python3_4(-),python_single_target_python3_4(+)] dev-python/six[python_targets_python3_4(-),python_single_target_python3_4(+)] ) ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-python/pyparsing-1.5.6-r2[python_targets_python2_7(-),python_single_target_python2_7(+)] dev-python/six[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) smartcard? ( app-emulation/qemu[smartcard] ) >=dev-libs/glib-2.22:2[static-libs(+)?] >=media-libs/celt-0.5.1.1:0.5.1[static-libs(+)?] media-libs/opus[static-libs(+)?] sys-libs/zlib[static-libs(+)?] virtual/jpeg:0=[static-libs(+)?] >=x11-libs/pixman-0.17.7[static-libs(+)?] !libressl? ( dev-libs/openssl:0[static-libs(+)?] ) libressl? ( dev-libs/libressl[static-libs(+)?] ) lz4? ( app-arch/lz4 ) smartcard? ( >=app-emulation/libcacard-0.1.2 ) sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] ) >=dev-vcs/git-1.8.2.1 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
|
||||
DESCRIPTION=SPICE server
|
||||
EAPI=5
|
||||
HOMEPAGE=http://spice-space.org/
|
||||
IUSE=libressl sasl smartcard static-libs
|
||||
IUSE=libressl lz4 sasl smartcard static-libs
|
||||
LICENSE=LGPL-2.1
|
||||
RDEPEND=>=dev-libs/glib-2.22:2[static-libs(+)?] >=media-libs/celt-0.5.1.1:0.5.1[static-libs(+)?] media-libs/opus[static-libs(+)?] sys-libs/zlib[static-libs(+)?] virtual/jpeg:0=[static-libs(+)?] >=x11-libs/pixman-0.17.7[static-libs(+)?] !libressl? ( dev-libs/openssl:0[static-libs(+)?] ) libressl? ( dev-libs/libressl[static-libs(+)?] ) smartcard? ( >=app-emulation/libcacard-0.1.2 ) sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] )
|
||||
RDEPEND=>=dev-libs/glib-2.22:2[static-libs(+)?] >=media-libs/celt-0.5.1.1:0.5.1[static-libs(+)?] media-libs/opus[static-libs(+)?] sys-libs/zlib[static-libs(+)?] virtual/jpeg:0=[static-libs(+)?] >=x11-libs/pixman-0.17.7[static-libs(+)?] !libressl? ( dev-libs/openssl:0[static-libs(+)?] ) libressl? ( dev-libs/libressl[static-libs(+)?] ) lz4? ( app-arch/lz4 ) smartcard? ( >=app-emulation/libcacard-0.1.2 ) sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] )
|
||||
SLOT=0
|
||||
_eclasses_=autotools 07e71b3b5690738ef7e8bc097077e00c eutils 792f83d5ec9536cb5ccef375469d8bde git-r3 00f60a84fc7b499c99edfe99caea9f95 libtool 4890219c51da247200223277f993e054 multilib d062ae4ba2fc40a19c11de2ad89b6616 python-any-r1 1c20f9b800324335a8e3b137363362e8 python-utils-r1 c0ed2a2f233d3af6dd556048695dc5cb toolchain-funcs c9d9187f4caa4026a0ceddd8dfceb3c1
|
||||
_md5_=21fdb585ba6a08123ab72536524ff69a
|
||||
_md5_=e1c4e0851a784167da21843f8960c2bb
|
||||
|
@ -1,14 +0,0 @@
|
||||
DEFINED_PHASES=compile configure install prepare setup test unpack
|
||||
DEPEND=ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby20? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby20] ) ) ruby_targets_ruby21? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby21] ) ) ruby_targets_ruby22? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby22] ) ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) test? ( ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) )
|
||||
DESCRIPTION=Hoe plugins providing tasks used by seattle.rb
|
||||
EAPI=5
|
||||
HOMEPAGE=http://seattlerb.rubyforge.org/hoe-seattlerb
|
||||
IUSE=elibc_FreeBSD ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 doc test
|
||||
KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
|
||||
LICENSE=MIT
|
||||
RDEPEND=ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] )
|
||||
REQUIRED_USE=|| ( ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 )
|
||||
SLOT=0
|
||||
SRC_URI=mirror://rubygems/hoe-seattlerb-1.3.3.gem
|
||||
_eclasses_=eutils 792f83d5ec9536cb5ccef375469d8bde java-utils-2 9a25f292ff66f8c2c00100ac0b15c54f multilib d062ae4ba2fc40a19c11de2ad89b6616 ruby-fakegem 836f858624840907bbb6ae6f2c881cb7 ruby-ng 3b6431b487e69b5070a45ea20d1c4c6c ruby-utils 2f896785ed65442d7e84ab5f5eef3bd3 toolchain-funcs c9d9187f4caa4026a0ceddd8dfceb3c1 versionator 99ae9d758cbe7cfed19170e7d48f5a9c
|
||||
_md5_=639ae740ab0a90857cbf4ae73ab3f155
|
@ -0,0 +1,14 @@
|
||||
DEFINED_PHASES=compile configure install prepare setup test unpack
|
||||
DEPEND=ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby23? ( dev-lang/ruby:2.3 ) ruby_targets_ruby20? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby20] ) ) ruby_targets_ruby21? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby21] ) ) ruby_targets_ruby22? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby22] ) ) ruby_targets_ruby23? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby23] ) ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) ruby_targets_ruby23? ( virtual/rubygems[ruby_targets_ruby23] ) test? ( ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) ruby_targets_ruby23? ( virtual/rubygems[ruby_targets_ruby23] ) )
|
||||
DESCRIPTION=Hoe plugins providing tasks used by seattle.rb
|
||||
EAPI=5
|
||||
HOMEPAGE=https://github.com/seattlerb/hoe-seattlerb
|
||||
IUSE=elibc_FreeBSD ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 ruby_targets_ruby23 doc test
|
||||
KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
|
||||
LICENSE=MIT
|
||||
RDEPEND=ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby23? ( dev-lang/ruby:2.3 ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) ruby_targets_ruby23? ( virtual/rubygems[ruby_targets_ruby23] )
|
||||
REQUIRED_USE=|| ( ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 ruby_targets_ruby23 )
|
||||
SLOT=0
|
||||
SRC_URI=mirror://rubygems/hoe-seattlerb-1.3.5.gem
|
||||
_eclasses_=eutils 792f83d5ec9536cb5ccef375469d8bde java-utils-2 9a25f292ff66f8c2c00100ac0b15c54f multilib d062ae4ba2fc40a19c11de2ad89b6616 ruby-fakegem 836f858624840907bbb6ae6f2c881cb7 ruby-ng 3b6431b487e69b5070a45ea20d1c4c6c ruby-utils 2f896785ed65442d7e84ab5f5eef3bd3 toolchain-funcs c9d9187f4caa4026a0ceddd8dfceb3c1 versionator 99ae9d758cbe7cfed19170e7d48f5a9c
|
||||
_md5_=e9b1bb18860904b00291f8ac664182bb
|
@ -1,14 +1,14 @@
|
||||
DEFINED_PHASES=compile configure install prepare setup test unpack
|
||||
DEPEND=ruby_targets_ruby19? ( doc? ( app-text/ronn[ruby_targets_ruby19] ) ) ruby_targets_ruby20? ( doc? ( app-text/ronn[ruby_targets_ruby20] ) ) ruby_targets_ruby19? ( dev-lang/ruby:1.9 ) ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby19? ( doc? ( dev-ruby/rake[ruby_targets_ruby19] ) ) ruby_targets_ruby20? ( doc? ( dev-ruby/rake[ruby_targets_ruby20] ) ) ruby_targets_ruby19? ( virtual/rubygems[ruby_targets_ruby19] ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) test? ( ruby_targets_ruby19? ( virtual/rubygems[ruby_targets_ruby19] ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) )
|
||||
DEPEND=ruby_targets_ruby20? ( doc? ( app-text/ronn[ruby_targets_ruby20] ) ) ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby20? ( doc? ( dev-ruby/rake[ruby_targets_ruby20] ) ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) test? ( ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) )
|
||||
DESCRIPTION=Mustache is a framework-agnostic way to render logic-free views
|
||||
EAPI=5
|
||||
HOMEPAGE=https://mustache.github.com/
|
||||
IUSE=elibc_FreeBSD ruby_targets_ruby19 ruby_targets_ruby20 doc test
|
||||
IUSE=elibc_FreeBSD ruby_targets_ruby20 doc test
|
||||
KEYWORDS=alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd
|
||||
LICENSE=MIT
|
||||
RDEPEND=ruby_targets_ruby19? ( dev-lang/ruby:1.9 ) ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby19? ( virtual/rubygems[ruby_targets_ruby19] ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] )
|
||||
REQUIRED_USE=|| ( ruby_targets_ruby19 ruby_targets_ruby20 )
|
||||
RDEPEND=ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] )
|
||||
REQUIRED_USE=|| ( ruby_targets_ruby20 )
|
||||
SLOT=0
|
||||
SRC_URI=mirror://rubygems/mustache-0.99.5.gem
|
||||
_eclasses_=eutils 792f83d5ec9536cb5ccef375469d8bde java-utils-2 9a25f292ff66f8c2c00100ac0b15c54f multilib d062ae4ba2fc40a19c11de2ad89b6616 ruby-fakegem 836f858624840907bbb6ae6f2c881cb7 ruby-ng 3b6431b487e69b5070a45ea20d1c4c6c ruby-utils 2f896785ed65442d7e84ab5f5eef3bd3 toolchain-funcs c9d9187f4caa4026a0ceddd8dfceb3c1 versionator 99ae9d758cbe7cfed19170e7d48f5a9c
|
||||
_md5_=02b592c84a1ab554f8e97283aaad768d
|
||||
_md5_=55505a911efd0983dadb0fa2c65f00fe
|
||||
|
@ -0,0 +1,14 @@
|
||||
DEFINED_PHASES=compile configure install prepare setup test unpack
|
||||
DEPEND=net-misc/curl ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby23? ( dev-lang/ruby:2.3 ) ruby_targets_ruby20? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby20] ) ) ruby_targets_ruby21? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby21] ) ) ruby_targets_ruby22? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby22] ) ) ruby_targets_ruby23? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby23] ) ) ruby_targets_ruby20? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby20] ) ) ruby_targets_ruby21? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby21] ) ) ruby_targets_ruby22? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby22] ) ) ruby_targets_ruby23? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby23] ) ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) ruby_targets_ruby23? ( virtual/rubygems[ruby_targets_ruby23] ) test? ( ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) ruby_targets_ruby23? ( virtual/rubygems[ruby_targets_ruby23] ) )
|
||||
DESCRIPTION=Patron is a Ruby HTTP client library based on libcurl
|
||||
EAPI=5
|
||||
HOMEPAGE=https://toland.github.com/patron/
|
||||
IUSE=elibc_FreeBSD ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 ruby_targets_ruby23 doc test test
|
||||
KEYWORDS=~amd64 ~arm ~ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris
|
||||
LICENSE=MIT
|
||||
RDEPEND=net-misc/curl ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby23? ( dev-lang/ruby:2.3 ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) ruby_targets_ruby23? ( virtual/rubygems[ruby_targets_ruby23] )
|
||||
REQUIRED_USE=|| ( ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 ruby_targets_ruby23 )
|
||||
SLOT=0
|
||||
SRC_URI=mirror://rubygems/patron-0.6.5.gem
|
||||
_eclasses_=eutils 792f83d5ec9536cb5ccef375469d8bde java-utils-2 9a25f292ff66f8c2c00100ac0b15c54f multilib d062ae4ba2fc40a19c11de2ad89b6616 ruby-fakegem 836f858624840907bbb6ae6f2c881cb7 ruby-ng 3b6431b487e69b5070a45ea20d1c4c6c ruby-utils 2f896785ed65442d7e84ab5f5eef3bd3 toolchain-funcs c9d9187f4caa4026a0ceddd8dfceb3c1 versionator 99ae9d758cbe7cfed19170e7d48f5a9c
|
||||
_md5_=074a738baeb50e931c82df9af5c64f46
|
@ -1,13 +0,0 @@
|
||||
DEFINED_PHASES=compile configure install postinst prepare
|
||||
DEPEND=>=net-im/jabber-base-0.01 >=dev-libs/expat-1.95 >=dev-libs/libyaml-0.1.4 >=dev-lang/erlang-15.2[ssl] odbc? ( dev-db/unixODBC ) ldap? ( =net-nds/openldap-2* ) >=dev-libs/openssl-0.9.8e:= captcha? ( media-gfx/imagemagick[truetype,png] ) zlib? ( >=sys-libs/zlib-1.2.3 ) ssl? ( || ( dev-libs/openssl:0 dev-libs/libressl:0 ) ) virtual/pkgconfig
|
||||
DESCRIPTION=The Erlang Jabber Daemon
|
||||
EAPI=5
|
||||
HOMEPAGE=http://www.ejabberd.im/ https://github.com/processone/ejabberd/
|
||||
IUSE=captcha debug elixir ldap mysql nls odbc pam postgres riak redis tools zlib mod_bosh mod_irc mod_muc mod_proxy65 mod_pubsub ssl
|
||||
KEYWORDS=~amd64 ~arm ~ia64 ~ppc ~sparc ~x86
|
||||
LICENSE=GPL-2
|
||||
RDEPEND=>=net-im/jabber-base-0.01 >=dev-libs/expat-1.95 >=dev-libs/libyaml-0.1.4 >=dev-lang/erlang-15.2[ssl] odbc? ( dev-db/unixODBC ) ldap? ( =net-nds/openldap-2* ) >=dev-libs/openssl-0.9.8e:= captcha? ( media-gfx/imagemagick[truetype,png] ) zlib? ( >=sys-libs/zlib-1.2.3 ) >=sys-apps/shadow-4.1.4.2-r3 pam? ( virtual/pam )
|
||||
SLOT=0
|
||||
SRC_URI=https://dev.gentoo.org/~radhermit/dist/ejabberd-15.03.tar.xz
|
||||
_eclasses_=eutils 792f83d5ec9536cb5ccef375469d8bde flag-o-matic d270fa247153df66074f795fa42dba3e multilib d062ae4ba2fc40a19c11de2ad89b6616 pam 3ecd5b75e39b0bb05a3183c08fcdfdb4 ssl-cert b031e94f4c7c34e1d677376b8929821a systemd 3165c885f3c71ffae7a867d931fb0e07 toolchain-funcs c9d9187f4caa4026a0ceddd8dfceb3c1
|
||||
_md5_=ccf3437f8d8296fcf08289702afef4e7
|
@ -1,13 +1,13 @@
|
||||
DEFINED_PHASES=compile configure install postinst prepare setup
|
||||
DEPEND=sys-libs/db:4.8 >=dev-libs/cyrus-sasl-2.1.19 >=net-analyzer/net-snmp-5.1.2 >=dev-libs/icu-3.4:= dev-libs/nss[utils] dev-libs/nspr dev-libs/svrcore dev-libs/openssl:0= dev-libs/libpcre:3 >=dev-perl/perl-mozldap-1.5.3 dev-perl/NetAddr-IP net-nds/openldap sys-libs/pam sys-libs/zlib kerberos? ( >=app-crypt/mit-krb5-1.7-r100[openldap] ) virtual/pkgconfig sys-devel/libtool doc? ( app-doc/doxygen ) sys-apps/sed !<sys-devel/gettext-0.18.1.1-r3 =sys-devel/automake-1.9* >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
|
||||
DEPEND=sys-libs/db:4.8 >=dev-libs/cyrus-sasl-2.1.19 >=net-analyzer/net-snmp-5.1.2 >=dev-libs/icu-3.4:= dev-libs/nss[utils] dev-libs/nspr dev-libs/svrcore dev-libs/openssl:0= dev-libs/libpcre:3 >=dev-perl/perl-mozldap-1.5.3 dev-perl/NetAddr-IP net-nds/openldap sys-libs/pam sys-libs/zlib kerberos? ( >=app-crypt/mit-krb5-1.7-r100[openldap] ) virtual/pkgconfig doc? ( app-doc/doxygen ) !<sys-devel/gettext-0.18.1.1-r3 =sys-devel/automake-1.9* >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
|
||||
DESCRIPTION=389 Directory Server (core librares and daemons )
|
||||
EAPI=5
|
||||
HOMEPAGE=http://port389.org/
|
||||
IUSE=autobind auto-dn-suffix debug doc +pam-passthru +dna +ldapi +bitwise +presence kerberos selinux
|
||||
KEYWORDS=~amd64 ~x86
|
||||
LICENSE=GPL-3
|
||||
LICENSE=GPL-3+
|
||||
RDEPEND=sys-libs/db:4.8 >=dev-libs/cyrus-sasl-2.1.19 >=net-analyzer/net-snmp-5.1.2 >=dev-libs/icu-3.4:= dev-libs/nss[utils] dev-libs/nspr dev-libs/svrcore dev-libs/openssl:0= dev-libs/libpcre:3 >=dev-perl/perl-mozldap-1.5.3 dev-perl/NetAddr-IP net-nds/openldap sys-libs/pam sys-libs/zlib kerberos? ( >=app-crypt/mit-krb5-1.7-r100[openldap] ) selinux? ( sec-policy/selinux-dirsrv ) virtual/perl-Time-Local virtual/perl-MIME-Base64
|
||||
SLOT=0
|
||||
SRC_URI=http://directory.fedoraproject.org/sources/389-ds-base-1.3.4.8.tar.bz2
|
||||
_eclasses_=autotools 07e71b3b5690738ef7e8bc097077e00c eutils 792f83d5ec9536cb5ccef375469d8bde flag-o-matic d270fa247153df66074f795fa42dba3e libtool 4890219c51da247200223277f993e054 multilib d062ae4ba2fc40a19c11de2ad89b6616 toolchain-funcs c9d9187f4caa4026a0ceddd8dfceb3c1 user 906f3c8eb3a2350a4f1191a89baa3e46
|
||||
_md5_=c4c064aa0ebf2233e7ffd4710eb9e3dc
|
||||
_md5_=13c0936b8c28b6528b68c40824d1d6c5
|
||||
|
@ -1,13 +0,0 @@
|
||||
DEFINED_PHASES=compile configure install postinst prepare setup
|
||||
DEPEND=sys-libs/db:4.8 >=dev-libs/cyrus-sasl-2.1.19 >=net-analyzer/net-snmp-5.1.2 >=dev-libs/icu-3.4:= dev-libs/nss[utils] dev-libs/nspr dev-libs/svrcore dev-libs/openssl:0= dev-libs/libpcre:3 >=dev-perl/perl-mozldap-1.5.3 dev-perl/NetAddr-IP net-nds/openldap sys-libs/pam sys-libs/zlib kerberos? ( >=app-crypt/mit-krb5-1.7-r100[openldap] ) virtual/pkgconfig sys-devel/libtool doc? ( app-doc/doxygen ) sys-apps/sed !<sys-devel/gettext-0.18.1.1-r3 =sys-devel/automake-1.13* >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
|
||||
DESCRIPTION=389 Directory Server (core librares and daemons )
|
||||
EAPI=5
|
||||
HOMEPAGE=http://port389.org/
|
||||
IUSE=autobind auto-dn-suffix debug doc +pam-passthru +dna +ldapi +bitwise +presence kerberos selinux
|
||||
KEYWORDS=~amd64 ~x86
|
||||
LICENSE=GPL-3
|
||||
RDEPEND=sys-libs/db:4.8 >=dev-libs/cyrus-sasl-2.1.19 >=net-analyzer/net-snmp-5.1.2 >=dev-libs/icu-3.4:= dev-libs/nss[utils] dev-libs/nspr dev-libs/svrcore dev-libs/openssl:0= dev-libs/libpcre:3 >=dev-perl/perl-mozldap-1.5.3 dev-perl/NetAddr-IP net-nds/openldap sys-libs/pam sys-libs/zlib kerberos? ( >=app-crypt/mit-krb5-1.7-r100[openldap] ) selinux? ( sec-policy/selinux-dirsrv ) virtual/perl-Time-Local virtual/perl-MIME-Base64
|
||||
SLOT=0
|
||||
SRC_URI=http://directory.fedoraproject.org/sources/389-ds-base-1.3.5.1.tar.bz2
|
||||
_eclasses_=autotools 07e71b3b5690738ef7e8bc097077e00c eutils 792f83d5ec9536cb5ccef375469d8bde flag-o-matic d270fa247153df66074f795fa42dba3e libtool 4890219c51da247200223277f993e054 multilib d062ae4ba2fc40a19c11de2ad89b6616 toolchain-funcs c9d9187f4caa4026a0ceddd8dfceb3c1 user 906f3c8eb3a2350a4f1191a89baa3e46
|
||||
_md5_=85336b54217d3895c7e79fe761abceba
|
@ -1,13 +1,13 @@
|
||||
DEFINED_PHASES=compile configure install postinst prepare setup
|
||||
DEPEND=sys-libs/db:4.8 >=dev-libs/cyrus-sasl-2.1.19 >=net-analyzer/net-snmp-5.1.2 >=dev-libs/icu-3.4:= dev-libs/nss[utils] dev-libs/nspr >=dev-libs/svrcore-4.1.2 dev-libs/openssl:0= dev-libs/libpcre:3 >=dev-perl/perl-mozldap-1.5.3 dev-perl/NetAddr-IP net-nds/openldap sys-libs/pam sys-libs/zlib kerberos? ( >=app-crypt/mit-krb5-1.7-r100[openldap] ) virtual/pkgconfig sys-devel/libtool doc? ( app-doc/doxygen ) sys-apps/sed !<sys-devel/gettext-0.18.1.1-r3 =sys-devel/automake-1.13* >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
|
||||
DEPEND=sys-libs/db:4.8 >=dev-libs/cyrus-sasl-2.1.19 >=net-analyzer/net-snmp-5.1.2 >=dev-libs/icu-3.4:= dev-libs/nss[utils] dev-libs/nspr >=dev-libs/svrcore-4.1.2 dev-libs/openssl:0= dev-libs/libpcre:3 >=dev-perl/perl-mozldap-1.5.3 dev-perl/NetAddr-IP net-nds/openldap sys-libs/pam sys-libs/zlib kerberos? ( >=app-crypt/mit-krb5-1.7-r100[openldap] ) virtual/pkgconfig doc? ( app-doc/doxygen ) !<sys-devel/gettext-0.18.1.1-r3 =sys-devel/automake-1.13* >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
|
||||
DESCRIPTION=389 Directory Server (core librares and daemons )
|
||||
EAPI=5
|
||||
HOMEPAGE=http://port389.org/
|
||||
IUSE=autobind auto-dn-suffix debug doc +pam-passthru +dna +ldapi +bitwise +presence kerberos selinux
|
||||
KEYWORDS=~amd64 ~x86
|
||||
LICENSE=GPL-3
|
||||
LICENSE=GPL-3+
|
||||
RDEPEND=sys-libs/db:4.8 >=dev-libs/cyrus-sasl-2.1.19 >=net-analyzer/net-snmp-5.1.2 >=dev-libs/icu-3.4:= dev-libs/nss[utils] dev-libs/nspr >=dev-libs/svrcore-4.1.2 dev-libs/openssl:0= dev-libs/libpcre:3 >=dev-perl/perl-mozldap-1.5.3 dev-perl/NetAddr-IP net-nds/openldap sys-libs/pam sys-libs/zlib kerberos? ( >=app-crypt/mit-krb5-1.7-r100[openldap] ) selinux? ( sec-policy/selinux-dirsrv ) virtual/perl-Time-Local virtual/perl-MIME-Base64
|
||||
SLOT=0
|
||||
SRC_URI=http://directory.fedoraproject.org/sources/389-ds-base-1.3.5.4.tar.bz2
|
||||
_eclasses_=autotools 07e71b3b5690738ef7e8bc097077e00c eutils 792f83d5ec9536cb5ccef375469d8bde flag-o-matic d270fa247153df66074f795fa42dba3e libtool 4890219c51da247200223277f993e054 multilib d062ae4ba2fc40a19c11de2ad89b6616 toolchain-funcs c9d9187f4caa4026a0ceddd8dfceb3c1 user 906f3c8eb3a2350a4f1191a89baa3e46
|
||||
_md5_=dbf5df36eef028ce918a07c5cf1853be
|
||||
_md5_=9dab16ac3b49c53ca0512365c58b6d44
|
||||
|
@ -1,11 +1,11 @@
|
||||
DEFINED_PHASES=compile configure install postinst prepare setup unpack
|
||||
DEPEND=sys-libs/db:4.8 >=dev-libs/cyrus-sasl-2.1.19 >=net-analyzer/net-snmp-5.1.2 >=dev-libs/icu-3.4:= dev-libs/nss[utils] dev-libs/nspr >=dev-libs/svrcore-4.1.2 dev-libs/openssl:0= dev-libs/libpcre:3 >=dev-perl/perl-mozldap-1.5.3 dev-perl/NetAddr-IP net-nds/openldap sys-libs/pam sys-libs/zlib kerberos? ( >=app-crypt/mit-krb5-1.7-r100[openldap] ) virtual/pkgconfig sys-devel/libtool doc? ( app-doc/doxygen ) sys-apps/sed !<sys-devel/gettext-0.18.1.1-r3 =sys-devel/automake-1.13* >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 >=dev-vcs/git-1.8.2.1
|
||||
DEPEND=sys-libs/db:4.8 >=dev-libs/cyrus-sasl-2.1.19 >=net-analyzer/net-snmp-5.1.2 >=dev-libs/icu-3.4:= dev-libs/nss[utils] dev-libs/nspr >=dev-libs/svrcore-4.1.2 dev-libs/openssl:0= dev-libs/libpcre:3 >=dev-perl/perl-mozldap-1.5.3 dev-perl/NetAddr-IP net-nds/openldap sys-libs/pam sys-libs/zlib kerberos? ( >=app-crypt/mit-krb5-1.7-r100[openldap] ) virtual/pkgconfig doc? ( app-doc/doxygen ) !<sys-devel/gettext-0.18.1.1-r3 =sys-devel/automake-1.13* >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 >=dev-vcs/git-1.8.2.1
|
||||
DESCRIPTION=389 Directory Server (core librares and daemons )
|
||||
EAPI=5
|
||||
HOMEPAGE=http://port389.org/
|
||||
IUSE=autobind auto-dn-suffix debug doc +pam-passthru +dna +ldapi +bitwise +presence kerberos selinux
|
||||
LICENSE=GPL-3
|
||||
LICENSE=GPL-3+
|
||||
RDEPEND=sys-libs/db:4.8 >=dev-libs/cyrus-sasl-2.1.19 >=net-analyzer/net-snmp-5.1.2 >=dev-libs/icu-3.4:= dev-libs/nss[utils] dev-libs/nspr >=dev-libs/svrcore-4.1.2 dev-libs/openssl:0= dev-libs/libpcre:3 >=dev-perl/perl-mozldap-1.5.3 dev-perl/NetAddr-IP net-nds/openldap sys-libs/pam sys-libs/zlib kerberos? ( >=app-crypt/mit-krb5-1.7-r100[openldap] ) selinux? ( sec-policy/selinux-dirsrv ) virtual/perl-Time-Local virtual/perl-MIME-Base64
|
||||
SLOT=0
|
||||
_eclasses_=autotools 07e71b3b5690738ef7e8bc097077e00c eutils 792f83d5ec9536cb5ccef375469d8bde flag-o-matic d270fa247153df66074f795fa42dba3e git-r3 00f60a84fc7b499c99edfe99caea9f95 libtool 4890219c51da247200223277f993e054 multilib d062ae4ba2fc40a19c11de2ad89b6616 toolchain-funcs c9d9187f4caa4026a0ceddd8dfceb3c1 user 906f3c8eb3a2350a4f1191a89baa3e46
|
||||
_md5_=4dcf1a466e75b1be8bddaef90bacc15c
|
||||
_md5_=dc34be74012f315c0d326d4ce16cb0cf
|
||||
|
@ -0,0 +1,13 @@
|
||||
DEFINED_PHASES=compile configure install prepare test
|
||||
DEPEND=python? ( python_targets_pypy? ( virtual/pypy:0= ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_python3_5? ( dev-lang/python:3.5 ) >=dev-lang/python-exec-2:=[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] dev-python/setuptools[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] ) zlib? ( >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
|
||||
DESCRIPTION=identify a file's format by scanning binary data for patterns
|
||||
EAPI=5
|
||||
HOMEPAGE=http://www.darwinsys.com/file/ http://mx.gw.com/pipermail/file/
|
||||
IUSE=python static-libs zlib python_targets_pypy python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_python3_5 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
|
||||
KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd
|
||||
LICENSE=BSD-2
|
||||
RDEPEND=python? ( python_targets_pypy? ( virtual/pypy:0= ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_python3_5? ( dev-lang/python:3.5 ) >=dev-lang/python-exec-2:=[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] dev-python/setuptools[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] ) zlib? ( >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) python? ( !dev-python/python-magic )
|
||||
SLOT=0
|
||||
SRC_URI=ftp://ftp.astron.com/pub/file/file-5.28.tar.gz ftp://ftp.gw.com/mirrors/pub/unix/file/file-5.28.tar.gz
|
||||
_eclasses_=distutils-r1 3a17743abcc9335483329f33c87b472d eutils 792f83d5ec9536cb5ccef375469d8bde libtool 4890219c51da247200223277f993e054 multibuild 742139c87a9fa3766f0c2b155e5522bf multilib d062ae4ba2fc40a19c11de2ad89b6616 multilib-build 8fe2e81aeb36cdf8a6cc5f50443879cc multilib-minimal 0224dee31c0f98405d572e14ad6dee65 multiprocessing e32940a7b2a9992ad217eccddb84d548 python-r1 0f6937650a475d673baa5d0c8c0b37b3 python-utils-r1 c0ed2a2f233d3af6dd556048695dc5cb toolchain-funcs c9d9187f4caa4026a0ceddd8dfceb3c1
|
||||
_md5_=22ef54f9ff78f22e86e0ccf65749d560
|
@ -0,0 +1,15 @@
|
||||
DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup
|
||||
DEPEND=app-arch/bzip2:= cups? ( >=net-print/cups-1.3.11:= ) >=dev-libs/elfutils-0.149 dev-libs/expat:= dev-libs/glib:= >=dev-libs/jsoncpp-0.5.0-r1:= dev-libs/nspr:= >=dev-libs/nss-3.14.3:= gnome? ( >=gnome-base/gconf-2.24.0:= ) gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) >=media-libs/alsa-lib-1.0.19:= media-libs/fontconfig:= media-libs/freetype:= media-libs/libexif:= media-libs/speex:= pulseaudio? ( media-sound/pulseaudio:= ) system-ffmpeg? ( >=media-video/ffmpeg-2.7.2:= ) sys-apps/dbus:= sys-apps/pciutils:= >=sys-libs/libcap-2.22:= virtual/udev x11-libs/cairo:= x11-libs/gdk-pixbuf:= gtk3? ( x11-libs/gtk+:3= ) !gtk3? ( x11-libs/gtk+:2= ) x11-libs/libdrm x11-libs/libX11:= x11-libs/libXcomposite:= x11-libs/libXcursor:= x11-libs/libXdamage:= x11-libs/libXext:= x11-libs/libXfixes:= >=x11-libs/libXi-1.6.0:= x11-libs/libXinerama:= x11-libs/libXrandr:= x11-libs/libXrender:= x11-libs/libXScrnSaver:= x11-libs/libXtst:= x11-libs/pango:= kerberos? ( virtual/krb5 ) !gn? ( >=app-accessibility/speech-dispatcher-0.8:= app-arch/snappy:= >=dev-libs/libevent-1.4.13:= dev-libs/libxml2:=[icu] dev-libs/libxslt:= media-libs/flac:= >=media-libs/harfbuzz-0.9.41:=[icu(+)] >=media-libs/libwebp-0.4.0:= sys-libs/zlib:=[minizip] ) !arm? ( dev-lang/yasm ) dev-lang/perl dev-perl/JSON >=dev-util/gperf-3.0.3 dev-util/ninja sys-apps/hwids[usb(+)] >=sys-devel/bison-2.4.3 sys-devel/flex virtual/pkgconfig || ( ( >=dev-lang/python-2.7.5-r2:2.7 dev-python/beautifulsoup:python-2[python_targets_python2_7(-),python_single_target_python2_7(+)] dev-python/beautifulsoup:4[python_targets_python2_7(-),python_single_target_python2_7(+)] dev-python/html5lib[python_targets_python2_7(-),python_single_target_python2_7(+)] dev-python/jinja[python_targets_python2_7(-),python_single_target_python2_7(+)] dev-python/ply[python_targets_python2_7(-),python_single_target_python2_7(+)] dev-python/simplejson[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) >=sys-apps/sed-4 test? ( !prefix? ( x11-base/xorg-server[xvfb] ) x11-apps/xhost )
|
||||
DESCRIPTION=Open-source version of Google Chrome web browser
|
||||
EAPI=5
|
||||
HOMEPAGE=http://chromium.org/
|
||||
IUSE=cups gn gnome gnome-keyring gtk3 +hangouts kerberos neon pic +proprietary-codecs pulseaudio selinux +system-ffmpeg +tcmalloc widevine custom-cflags +linguas_am +linguas_ar +linguas_bg +linguas_bn +linguas_ca +linguas_cs +linguas_da +linguas_de +linguas_el +linguas_en_GB +linguas_es +linguas_es_419 +linguas_et +linguas_fa +linguas_fi +linguas_fil +linguas_fr +linguas_gu +linguas_he +linguas_hi +linguas_hr +linguas_hu +linguas_id +linguas_it +linguas_ja +linguas_kn +linguas_ko +linguas_lt +linguas_lv +linguas_ml +linguas_mr +linguas_ms +linguas_nb +linguas_nl +linguas_pl +linguas_pt_BR +linguas_pt_PT +linguas_ro +linguas_ru +linguas_sk +linguas_sl +linguas_sr +linguas_sv +linguas_sw +linguas_ta +linguas_te +linguas_th +linguas_tr +linguas_uk +linguas_vi +linguas_zh_CN +linguas_zh_TW test
|
||||
KEYWORDS=~amd64 ~arm ~arm64 ~x86
|
||||
LICENSE=BSD
|
||||
RDEPEND=app-arch/bzip2:= cups? ( >=net-print/cups-1.3.11:= ) >=dev-libs/elfutils-0.149 dev-libs/expat:= dev-libs/glib:= >=dev-libs/jsoncpp-0.5.0-r1:= dev-libs/nspr:= >=dev-libs/nss-3.14.3:= gnome? ( >=gnome-base/gconf-2.24.0:= ) gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) >=media-libs/alsa-lib-1.0.19:= media-libs/fontconfig:= media-libs/freetype:= media-libs/libexif:= media-libs/speex:= pulseaudio? ( media-sound/pulseaudio:= ) system-ffmpeg? ( >=media-video/ffmpeg-2.7.2:= ) sys-apps/dbus:= sys-apps/pciutils:= >=sys-libs/libcap-2.22:= virtual/udev x11-libs/cairo:= x11-libs/gdk-pixbuf:= gtk3? ( x11-libs/gtk+:3= ) !gtk3? ( x11-libs/gtk+:2= ) x11-libs/libdrm x11-libs/libX11:= x11-libs/libXcomposite:= x11-libs/libXcursor:= x11-libs/libXdamage:= x11-libs/libXext:= x11-libs/libXfixes:= >=x11-libs/libXi-1.6.0:= x11-libs/libXinerama:= x11-libs/libXrandr:= x11-libs/libXrender:= x11-libs/libXScrnSaver:= x11-libs/libXtst:= x11-libs/pango:= kerberos? ( virtual/krb5 ) !gn? ( >=app-accessibility/speech-dispatcher-0.8:= app-arch/snappy:= >=dev-libs/libevent-1.4.13:= dev-libs/libxml2:=[icu] dev-libs/libxslt:= media-libs/flac:= >=media-libs/harfbuzz-0.9.41:=[icu(+)] >=media-libs/libwebp-0.4.0:= sys-libs/zlib:=[minizip] ) !=www-client/chromium-9999 !<www-plugins/chrome-binary-plugins-37 x11-misc/xdg-utils virtual/opengl virtual/ttf-fonts selinux? ( sec-policy/selinux-chromium ) tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )
|
||||
REQUIRED_USE=gn? ( gnome-keyring !tcmalloc )
|
||||
RESTRICT=!system-ffmpeg? ( proprietary-codecs? ( bindist ) )
|
||||
SLOT=0
|
||||
SRC_URI=https://commondatastorage.googleapis.com/chromium-browser-official/chromium-53.0.2763.0.tar.xz
|
||||
_eclasses_=check-reqs aee25bdf4e2f459af86d17f7c41dcdf6 chromium 68a1fdd848f60137c312a25c9888fbd1 eutils 792f83d5ec9536cb5ccef375469d8bde fdo-mime 92d07846ea8ea54172f8c0112a47ae3d flag-o-matic d270fa247153df66074f795fa42dba3e gnome2-utils c6dcdf3a2c22b578b16adb945dc85c35 linux-info fd1e29abbb02cbc49f1a14299846e9c4 multilib d062ae4ba2fc40a19c11de2ad89b6616 multiprocessing e32940a7b2a9992ad217eccddb84d548 pax-utils ecf634cba91bb9591a8fdb6f6145f1bb portability bb1a0ed8ea152b957d17339f01d4d7f5 python-any-r1 1c20f9b800324335a8e3b137363362e8 python-utils-r1 c0ed2a2f233d3af6dd556048695dc5cb readme.gentoo-r1 03878c06495db70bc36bd717383c09f7 toolchain-funcs c9d9187f4caa4026a0ceddd8dfceb3c1 versionator 99ae9d758cbe7cfed19170e7d48f5a9c virtualx 86c9305a59b3e0459e7fbef3a5f30b96 xdg-utils e2b2bd56125ce8cf59ce30c642b59d48
|
||||
_md5_=28d6b42aa6b7c3a152c1e114864714a4
|
@ -1 +1 @@
|
||||
Mon, 13 Jun 2016 20:40:49 +0000
|
||||
Tue, 14 Jun 2016 06:12:34 +0000
|
||||
|
@ -1 +1 @@
|
||||
Mon Jun 13 20:39:54 UTC 2016
|
||||
Tue Jun 14 06:11:39 UTC 2016
|
||||
|
@ -1 +1 @@
|
||||
Mon, 13 Jun 2016 21:00:01 +0000
|
||||
Tue, 14 Jun 2016 06:30:01 +0000
|
||||
|
@ -1 +1 @@
|
||||
1465850401 Mon 13 Jun 2016 08:40:01 PM UTC
|
||||
1465884601 Tue 14 Jun 2016 06:10:01 AM UTC
|
||||
|
@ -1 +1 @@
|
||||
Mon, 13 Jun 2016 20:40:49 +0000
|
||||
Tue, 14 Jun 2016 06:12:34 +0000
|
||||
|
@ -1,150 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils multilib pam ssl-cert systemd
|
||||
|
||||
DESCRIPTION="The Erlang Jabber Daemon"
|
||||
HOMEPAGE="http://www.ejabberd.im/ https://github.com/processone/ejabberd/"
|
||||
SRC_URI="https://dev.gentoo.org/~radhermit/dist/${P}.tar.xz"
|
||||
# upstream tarball missing bundled erlang libs that are fetched via git
|
||||
#SRC_URI="https://www.process-one.net/downloads/downloads-action.php?file=/${PN}/${PV}/${P}.tgz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
|
||||
EJABBERD_MODULES="mod_bosh mod_irc mod_muc mod_proxy65 mod_pubsub"
|
||||
IUSE="captcha debug elixir ldap mysql nls odbc pam postgres riak redis tools zlib ${EJABBERD_MODULES}"
|
||||
|
||||
DEPEND=">=net-im/jabber-base-0.01
|
||||
>=dev-libs/expat-1.95
|
||||
>=dev-libs/libyaml-0.1.4
|
||||
>=dev-lang/erlang-15.2[ssl]
|
||||
odbc? ( dev-db/unixODBC )
|
||||
ldap? ( =net-nds/openldap-2* )
|
||||
>=dev-libs/openssl-0.9.8e:=
|
||||
captcha? ( media-gfx/imagemagick[truetype,png] )
|
||||
zlib? ( >=sys-libs/zlib-1.2.3 )"
|
||||
RDEPEND="${DEPEND}
|
||||
>=sys-apps/shadow-4.1.4.2-r3
|
||||
pam? ( virtual/pam )"
|
||||
|
||||
# paths in net-im/jabber-base
|
||||
JABBER_ETC="${EPREFIX}/etc/jabber"
|
||||
#JABBER_RUN="/var/run/jabber"
|
||||
JABBER_SPOOL="${EPREFIX}/var/spool/jabber"
|
||||
JABBER_LOG="${EPREFIX}/var/log/jabber"
|
||||
JABBER_DOC="${EPREFIX}/usr/share/doc/${PF}"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${P}-ejabberdctl.patch
|
||||
|
||||
# don't install release notes (we'll do this manually)
|
||||
sed '/install .* [.][.]\/doc\/[*][.]txt $(DOCDIR)/d' -i Makefile.in || die
|
||||
# Set correct paths
|
||||
sed -e "/^EJABBERDDIR[[:space:]]*=/{s:ejabberd:${PF}:}" \
|
||||
-e "/^ETCDIR[[:space:]]*=/{s:@sysconfdir@/ejabberd:${JABBER_ETC}:}" \
|
||||
-e "/^LOGDIR[[:space:]]*=/{s:@localstatedir@/log/ejabberd:${JABBER_LOG}:}" \
|
||||
-e "/^SPOOLDIR[[:space:]]*=/{s:@localstatedir@/lib/ejabberd:${JABBER_SPOOL}:}" \
|
||||
-i Makefile.in || die
|
||||
sed -e "/EJABBERDDIR=/{s:ejabberd:${PF}:}" \
|
||||
-e "s|\(ETC_DIR=\){{sysconfdir}}.*|\1${JABBER_ETC}|" \
|
||||
-e "s|\(LOGS_DIR=\){{localstatedir}}.*|\1${JABBER_LOG}|" \
|
||||
-e "s|\(SPOOL_DIR=\){{localstatedir}}.*|\1${JABBER_SPOOL}|" \
|
||||
-i ejabberdctl.template || die
|
||||
|
||||
# fix up the ssl cert paths in ejabberd.yml to use our cert and
|
||||
# also use the correct pam service name
|
||||
sed -e "s:/path/to/ssl.pem:/etc/ssl/ejabberd/server.pem:g" \
|
||||
-e "s:pamservicename:xmpp:" \
|
||||
-i ejabberd.yml.example || die
|
||||
|
||||
# correct path to captcha script in default ejabberd.yml
|
||||
sed -e 's|\({captcha_cmd,[[:space:]]*"\).\+"}|\1/usr/'$(get_libdir)'/erlang/lib/'${P}'/priv/bin/captcha.sh"}|' \
|
||||
-i ejabberd.yml.example || die
|
||||
|
||||
# disable mod_irc in ejabberd.yml
|
||||
if ! use mod_irc; then
|
||||
sed -e "s/{mod_irc,/%{mod_irc,/" \
|
||||
-i ejabberd.yml.example || die
|
||||
fi
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/erlang/lib/" \
|
||||
$(use_enable tools) \
|
||||
$(use_enable odbc) \
|
||||
$(use_enable mysql) \
|
||||
$(use_enable postgres pgsql) \
|
||||
$(use_enable pam) \
|
||||
$(use_enable zlib) \
|
||||
$(use_enable riak) \
|
||||
$(use_enable redis) \
|
||||
$(use_enable mod_bosh json) \
|
||||
$(use_enable nls iconv) \
|
||||
$(use_enable elixir) \
|
||||
$(use_enable debug) \
|
||||
--enable-lager \
|
||||
--enable-user=jabber
|
||||
|
||||
# run configure scripts for all prefetched deps
|
||||
./rebar get-deps || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake $(use debug && echo debug=true ejabberd_debug=true)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
# Pam helper module permissions
|
||||
# https://www.process-one.net/docs/ejabberd/guide_en.html#pam
|
||||
if use pam; then
|
||||
pamd_mimic_system xmpp auth account || die "Cannot create pam.d file"
|
||||
fowners root:jabber "/usr/$(get_libdir)/erlang/lib/${PF}/priv/bin/epam"
|
||||
fperms 4750 "/usr/$(get_libdir)/erlang/lib/${PF}/priv/bin/epam"
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/${PN}-3.initd ${PN}
|
||||
newconfd "${FILESDIR}"/${PN}-3.confd ${PN}
|
||||
systemd_dounit "${FILESDIR}"/${PN}.service
|
||||
systemd_dotmpfilesd "${FILESDIR}"/${PN}.tmpfiles.conf
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}"/${PN}.logrotate ${PN}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -z ${REPLACING_VERSIONS} ]] ; then
|
||||
elog "For configuration instructions, please see"
|
||||
elog "/usr/share/doc/${PF}/html/guide.html, or the online version at"
|
||||
elog "http://www.process-one.net/en/ejabberd/docs/guide_en/"
|
||||
else
|
||||
elog "Ejabberd now defaults to using a YAML format for its config file."
|
||||
elog "The old ejabberd.cfg file can be converted using the following instructions:"
|
||||
echo
|
||||
elog "1. Make sure all processes related to the previous version of ejabberd aren't running."
|
||||
elog " Usually this just means the ejabberd daemon and possibly the pam-related processes"
|
||||
elog " (epmd and epam) if pam support is enabled."
|
||||
elog "2. Run \`ejabberdctl start\` with sufficient permissions. Note that this can fail to"
|
||||
elog " start ejabberd properly for various reasons. Check ejabberd's main log file"
|
||||
elog " at /var/log/jabber/ejabberd.log to confirm it started successfully."
|
||||
elog "3. Run \`ejabberdctl convert_to_yaml /etc/jabber/ejabberd.cfg /etc/jabber/ejabberd.yml.new\`"
|
||||
elog " with sufficient permissions, edit and rename /etc/jabber/ejabberd.yml.new to"
|
||||
elog " /etc/jabber/ejabberd.yml, and finally restart ejabberd with the new config file."
|
||||
echo
|
||||
fi
|
||||
|
||||
SSL_ORGANIZATION="${SSL_ORGANIZATION:-Ejabberd XMPP Server}"
|
||||
install_cert /etc/ssl/ejabberd/server
|
||||
# Fix ssl cert permissions bug #369809
|
||||
chown root:jabber "${EROOT}/etc/ssl/ejabberd/server.pem"
|
||||
chmod 0440 "${EROOT}/etc/ssl/ejabberd/server.pem"
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
Set SHELL since the generic jabber user used on Gentoo for jabber servers
|
||||
doesn't have a valid shell set by default and fix EXEC_CMD otherwise it fails
|
||||
with "This account is currently not available" again due to jabber not having
|
||||
a valid shell.
|
||||
|
||||
Also, workaround the assumption that jabber's $HOME is a directory when instead
|
||||
it defaults to /dev/null on Gentoo.
|
||||
|
||||
--- ejabberd-15.03/ejabberdctl.template
|
||||
+++ ejabberd-15.03/ejabberdctl.template
|
||||
@@ -15,6 +15,7 @@
|
||||
IEX={{bindir}}/iex
|
||||
EPMD={{bindir}}/epmd
|
||||
INSTALLUSER={{installuser}}
|
||||
+SHELL=/bin/sh
|
||||
|
||||
# Compatibility in ZSH
|
||||
#setopt shwordsplit 2>/dev/null
|
||||
@@ -25,11 +26,11 @@
|
||||
for GID in `id -G`; do
|
||||
if [ $GID -eq 0 ] ; then
|
||||
INSTALLUSER_HOME=$(getent passwd "$INSTALLUSER" | cut -d: -f6)
|
||||
- if [ -n "$INSTALLUSER_HOME" ] && [ ! -d "$INSTALLUSER_HOME" ] ; then
|
||||
+ if [ -n "$INSTALLUSER_HOME" ] && [ ! -e "$INSTALLUSER_HOME" ] ; then
|
||||
mkdir -p "$INSTALLUSER_HOME"
|
||||
chown "$INSTALLUSER" "$INSTALLUSER_HOME"
|
||||
fi
|
||||
- EXEC_CMD="su $INSTALLUSER -c"
|
||||
+ EXEC_CMD="su $INSTALLUSER -p -c"
|
||||
fi
|
||||
done
|
||||
if [ `id -g` -eq `id -g $INSTALLUSER` ] ; then
|
||||
@@ -111,6 +112,7 @@
|
||||
DATETIME=`date "+%Y%m%d-%H%M%S"`
|
||||
ERL_CRASH_DUMP=$LOGS_DIR/erl_crash_$DATETIME.dump
|
||||
ERL_INETRC=$ETC_DIR/inetrc
|
||||
+HOME=$SPOOL_DIR
|
||||
|
||||
# define erl parameters
|
||||
ERL_OPTIONS=$(echo $ERL_OPTIONS | sed 's/ /\\ /g')
|
||||
@@ -167,6 +169,8 @@
|
||||
export ERL_INETRC
|
||||
export ERL_MAX_PORTS
|
||||
export ERL_MAX_ETS_TABLES
|
||||
+export HOME
|
||||
+export SHELL
|
||||
|
||||
# start server
|
||||
start()
|
@ -1,141 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
WANT_AUTOMAKE="1.13"
|
||||
|
||||
inherit user eutils multilib flag-o-matic autotools
|
||||
|
||||
DESCRIPTION="389 Directory Server (core librares and daemons )"
|
||||
HOMEPAGE="http://port389.org/"
|
||||
SRC_URI="http://directory.fedoraproject.org/sources/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="autobind auto-dn-suffix debug doc +pam-passthru +dna +ldapi +bitwise +presence kerberos selinux"
|
||||
|
||||
# Pinned to db:4.8 as it is the current stable, can change to a later db version < 6 when they stabilize.
|
||||
# The --with-db-inc line in econf will need to be updated as well when changing db version.
|
||||
COMMON_DEPEND="
|
||||
sys-libs/db:4.8
|
||||
>=dev-libs/cyrus-sasl-2.1.19
|
||||
>=net-analyzer/net-snmp-5.1.2
|
||||
>=dev-libs/icu-3.4:=
|
||||
dev-libs/nss[utils]
|
||||
dev-libs/nspr
|
||||
dev-libs/svrcore
|
||||
dev-libs/openssl:0=
|
||||
dev-libs/libpcre:3
|
||||
>=dev-perl/perl-mozldap-1.5.3
|
||||
dev-perl/NetAddr-IP
|
||||
net-nds/openldap
|
||||
sys-libs/pam
|
||||
sys-libs/zlib
|
||||
kerberos? ( >=app-crypt/mit-krb5-1.7-r100[openldap] )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
virtual/pkgconfig
|
||||
sys-devel/libtool
|
||||
doc? ( app-doc/doxygen )
|
||||
sys-apps/sed"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
selinux? ( sec-policy/selinux-dirsrv )
|
||||
virtual/perl-Time-Local
|
||||
virtual/perl-MIME-Base64"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup dirsrv
|
||||
enewuser dirsrv -1 -1 -1 dirsrv
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
#0001-Ticket-47840-add-configure-option-to-disable-instanc.patch
|
||||
# epatch "${FILESDIR}/389-ds-base-1.3.4-no-instance-script.patch"
|
||||
|
||||
# as per 389 documentation, when 64bit, export USE_64
|
||||
use amd64 && export USE_64=1
|
||||
|
||||
# This will be changed in 1.3.5.X
|
||||
# sed -i -e 's/nobody/dirsrv/g' configure.ac || die "sed failed on configure.ac"
|
||||
eautoreconf
|
||||
|
||||
append-lfs-flags
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# for 1.3.5.X, will add --enable-gcc-security.
|
||||
# auto-dn-suffix currently throws warning in configure script,
|
||||
# see https://fedorahosted.org/389/ticket/48710
|
||||
econf \
|
||||
$(use_enable debug) \
|
||||
$(use_enable pam-passthru) \
|
||||
$(use_enable ldapi) \
|
||||
$(use_enable autobind) \
|
||||
$(use_enable dna) \
|
||||
$(use_enable bitwise) \
|
||||
$(use_enable presence) \
|
||||
$(use_with kerberos) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable auto-dn-suffix) \
|
||||
--enable-maintainer-mode \
|
||||
--with-fhs \
|
||||
--with-openldap \
|
||||
--sbindir=/usr/sbin \
|
||||
--bindir=/usr/bin \
|
||||
--with-db-inc=/usr/include/db4.8
|
||||
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
if use doc; then
|
||||
doxygen slapi.doxy || die "cannot run doxygen"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install () {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
# remove redhat style init script
|
||||
rm -rf "${D}"/etc/rc.d || die
|
||||
# Needs a config option to remove this.
|
||||
rm -rf "${D}"/etc/default || die
|
||||
|
||||
# and install gentoo style init script
|
||||
# Get these merged upstream
|
||||
newinitd "${FILESDIR}"/389-ds.initd-r1 389-ds
|
||||
newinitd "${FILESDIR}"/389-ds-snmp.initd 389-ds-snmp
|
||||
|
||||
# cope with libraries being in /usr/lib/dirsrv
|
||||
dodir /etc/env.d
|
||||
echo "LDPATH=/usr/$(get_libdir)/dirsrv" > "${D}"/etc/env.d/08dirsrv
|
||||
|
||||
if use doc; then
|
||||
cd "${S}" || die
|
||||
docinto html/
|
||||
dodoc -r docs/html/.
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
echo
|
||||
elog "If you are planning to use 389-ds-snmp (ldap-agent),"
|
||||
elog "make sure to properly configure: /etc/dirsrv/config/ldap-agent.conf"
|
||||
elog "adding proper 'server' entries, and adding the lines below to"
|
||||
elog " => /etc/snmp/snmpd.conf"
|
||||
elog
|
||||
elog "master agentx"
|
||||
elog "agentXSocket /var/agentx/master"
|
||||
elog
|
||||
elog "To start 389 Directory Server (LDAP service) at boot:"
|
||||
elog
|
||||
elog " rc-update add 389-ds default"
|
||||
elog
|
||||
elog "If you are upgrading from previous 1.2.6 release candidates"
|
||||
elog "please see:"
|
||||
elog "http://directory.fedoraproject.org/wiki/Subtree_Rename#warning:_upgrade_from_389_v1.2.6_.28a.3F.2C_rc1_.7E_rc6.29_to_v1.2.6_rc6_or_newer"
|
||||
echo
|
||||
}
|
@ -1,3 +1,2 @@
|
||||
DIST 389-ds-base-1.3.4.8.tar.bz2 3396105 SHA256 a00468afcfa50de375f921a827a04dd53b6a11b632982bb0db98cafca509e701 SHA512 ac85223cb38d4cebb3ff61b23e3c0312b0cd30a0c6bf0d9644842c6ecfbc9379ea4a639c80b3e78a13a67f273342fec78e9ecf4672cc72e289d72d74c2fa0d8f WHIRLPOOL 4c7645be5b70c108ef437aaf6d50293a99fa6a552c859f649904c6974c8830e5bf96286a0f998c5d187c1f66f3e0922bbe1e756889e6b0a33e8d9db56f0aa005
|
||||
DIST 389-ds-base-1.3.5.1.tar.bz2 3511066 SHA256 1c4134882cedace6c0f801a3096867ec58436560440ba34934204c18fa3ccbc1 SHA512 b04d0c8f392c71d8aa4c557b0ab49b83a2a711d11c55f8bb486948b2872a2eceb722cd2ac2b4931409cca41d23d85f077122326ea34eb65ece84602d277d931e WHIRLPOOL 8132ac29c89d24378c8fdf2df9a70760afa9a9280e77f71dd97bff054e0c8147e024435061d3203f72cbd44d7a9be3e65a237b911be6448f51e10ec362d5427d
|
||||
DIST 389-ds-base-1.3.5.4.tar.bz2 3520056 SHA256 a82f78e56473db4c3aca7a73e012fcd66a508d3b4734bb54936974e4272739b8 SHA512 0cf3a1e403bc6d417525f908263d59689bbee1db887c5ba552fdae28252a59c37ee8e47ec29c48eb18fc1384652b94667f5768df87602f4c37b86d7ef0df284e WHIRLPOOL 1300126fe21c2adcb014364ead33f6766475f2b9dbe43531a11284a0ba21f61e63591804ec227aa118378482e91b34ef44f60f600fa4da5416b68176b2bb1b7b
|
||||
|
@ -0,0 +1,108 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} pypy )
|
||||
DISTUTILS_OPTIONAL=1
|
||||
|
||||
inherit eutils distutils-r1 libtool toolchain-funcs multilib-minimal
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://github.com/glensc/file.git"
|
||||
inherit autotools git-r3
|
||||
else
|
||||
SRC_URI="ftp://ftp.astron.com/pub/file/${P}.tar.gz
|
||||
ftp://ftp.gw.com/mirrors/pub/unix/file/${P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
|
||||
fi
|
||||
|
||||
DESCRIPTION="identify a file's format by scanning binary data for patterns"
|
||||
HOMEPAGE="http://www.darwinsys.com/file/ http://mx.gw.com/pipermail/file/"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0"
|
||||
IUSE="python static-libs zlib"
|
||||
|
||||
DEPEND="
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
)
|
||||
zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )"
|
||||
RDEPEND="${DEPEND}
|
||||
python? ( !dev-python/python-magic )"
|
||||
|
||||
src_prepare() {
|
||||
[[ ${PV} == "9999" ]] && eautoreconf
|
||||
elibtoolize
|
||||
|
||||
# don't let python README kill main README #60043
|
||||
mv python/README{,.python}
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE=${S} \
|
||||
ac_cv_header_zlib_h=$(usex zlib) \
|
||||
ac_cv_lib_z_gzopen=$(usex zlib)
|
||||
econf \
|
||||
--enable-fsect-man5 \
|
||||
$(use_enable static-libs static)
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# when cross-compiling, we need to build up our own file
|
||||
# because people often don't keep matching host/target
|
||||
# file versions #362941
|
||||
if tc-is-cross-compiler && ! ROOT=/ has_version ~${CATEGORY}/${P} ; then
|
||||
mkdir -p "${WORKDIR}"/build
|
||||
cd "${WORKDIR}"/build
|
||||
tc-export_build_env BUILD_C{C,XX}
|
||||
ECONF_SOURCE=${S} \
|
||||
ac_cv_header_zlib_h=no \
|
||||
ac_cv_lib_z_gzopen=no \
|
||||
CHOST=${CBUILD} \
|
||||
CFLAGS=${BUILD_CFLAGS} \
|
||||
CXXFLAGS=${BUILD_CXXFLAGS} \
|
||||
CPPFLAGS=${BUILD_CPPFLAGS} \
|
||||
LDFLAGS="${BUILD_LDFLAGS} -static" \
|
||||
CC=${BUILD_CC} \
|
||||
CXX=${BUILD_CXX} \
|
||||
econf --disable-shared
|
||||
fi
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
if multilib_is_native_abi ; then
|
||||
emake
|
||||
else
|
||||
emake -C src libmagic.la
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if tc-is-cross-compiler && ! ROOT=/ has_version "~${CATEGORY}/${P}" ; then
|
||||
emake -C "${WORKDIR}"/build/src file
|
||||
PATH="${WORKDIR}/build/src:${PATH}"
|
||||
fi
|
||||
multilib-minimal_src_compile
|
||||
|
||||
use python && cd python && distutils-r1_src_compile
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
if multilib_is_native_abi ; then
|
||||
default
|
||||
else
|
||||
emake -C src install-{includeHEADERS,libLTLIBRARIES} DESTDIR="${D}"
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
dodoc ChangeLog MAINT README
|
||||
|
||||
use python && cd python && distutils-r1_src_install
|
||||
prune_libtool_files
|
||||
}
|
@ -0,0 +1,715 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
CHROMIUM_LANGS="am ar bg bn ca cs da de el en_GB es es_419 et fa fi fil fr gu he
|
||||
hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt_BR pt_PT ro ru sk sl sr
|
||||
sv sw ta te th tr uk vi zh_CN zh_TW"
|
||||
|
||||
inherit check-reqs chromium eutils flag-o-matic multilib multiprocessing pax-utils \
|
||||
portability python-any-r1 readme.gentoo-r1 toolchain-funcs versionator virtualx
|
||||
|
||||
DESCRIPTION="Open-source version of Google Chrome web browser"
|
||||
HOMEPAGE="http://chromium.org/"
|
||||
SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||
IUSE="cups gn gnome gnome-keyring gtk3 +hangouts kerberos neon pic +proprietary-codecs pulseaudio selinux +system-ffmpeg +tcmalloc widevine"
|
||||
RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
|
||||
|
||||
# TODO: bootstrapped gn binary hangs when using tcmalloc with portage's sandbox.
|
||||
REQUIRED_USE="gn? ( gnome-keyring !tcmalloc )"
|
||||
|
||||
# Native Client binaries are compiled with different set of flags, bug #452066.
|
||||
QA_FLAGS_IGNORED=".*\.nexe"
|
||||
|
||||
# Native Client binaries may be stripped by the build system, which uses the
|
||||
# right tools for it, bug #469144 .
|
||||
QA_PRESTRIPPED=".*\.nexe"
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
cups? ( >=net-print/cups-1.3.11:= )
|
||||
>=dev-libs/elfutils-0.149
|
||||
dev-libs/expat:=
|
||||
dev-libs/glib:=
|
||||
>=dev-libs/jsoncpp-0.5.0-r1:=
|
||||
dev-libs/nspr:=
|
||||
>=dev-libs/nss-3.14.3:=
|
||||
gnome? ( >=gnome-base/gconf-2.24.0:= )
|
||||
gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= )
|
||||
>=media-libs/alsa-lib-1.0.19:=
|
||||
media-libs/fontconfig:=
|
||||
media-libs/freetype:=
|
||||
media-libs/libexif:=
|
||||
media-libs/speex:=
|
||||
pulseaudio? ( media-sound/pulseaudio:= )
|
||||
system-ffmpeg? ( >=media-video/ffmpeg-2.7.2:= )
|
||||
sys-apps/dbus:=
|
||||
sys-apps/pciutils:=
|
||||
>=sys-libs/libcap-2.22:=
|
||||
virtual/udev
|
||||
x11-libs/cairo:=
|
||||
x11-libs/gdk-pixbuf:=
|
||||
gtk3? ( x11-libs/gtk+:3= )
|
||||
!gtk3? ( x11-libs/gtk+:2= )
|
||||
x11-libs/libdrm
|
||||
x11-libs/libX11:=
|
||||
x11-libs/libXcomposite:=
|
||||
x11-libs/libXcursor:=
|
||||
x11-libs/libXdamage:=
|
||||
x11-libs/libXext:=
|
||||
x11-libs/libXfixes:=
|
||||
>=x11-libs/libXi-1.6.0:=
|
||||
x11-libs/libXinerama:=
|
||||
x11-libs/libXrandr:=
|
||||
x11-libs/libXrender:=
|
||||
x11-libs/libXScrnSaver:=
|
||||
x11-libs/libXtst:=
|
||||
x11-libs/pango:=
|
||||
kerberos? ( virtual/krb5 )
|
||||
!gn? (
|
||||
>=app-accessibility/speech-dispatcher-0.8:=
|
||||
app-arch/snappy:=
|
||||
>=dev-libs/libevent-1.4.13:=
|
||||
dev-libs/libxml2:=[icu]
|
||||
dev-libs/libxslt:=
|
||||
media-libs/flac:=
|
||||
>=media-libs/harfbuzz-0.9.41:=[icu(+)]
|
||||
>=media-libs/libwebp-0.4.0:=
|
||||
sys-libs/zlib:=[minizip]
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
!arm? (
|
||||
dev-lang/yasm
|
||||
)
|
||||
dev-lang/perl
|
||||
dev-perl/JSON
|
||||
>=dev-util/gperf-3.0.3
|
||||
dev-util/ninja
|
||||
sys-apps/hwids[usb(+)]
|
||||
>=sys-devel/bison-2.4.3
|
||||
sys-devel/flex
|
||||
virtual/pkgconfig"
|
||||
|
||||
# For nvidia-drivers blocker, see bug #413637 .
|
||||
RDEPEND+="
|
||||
!=www-client/chromium-9999
|
||||
!<www-plugins/chrome-binary-plugins-37
|
||||
x11-misc/xdg-utils
|
||||
virtual/opengl
|
||||
virtual/ttf-fonts
|
||||
selinux? ( sec-policy/selinux-chromium )
|
||||
tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
|
||||
widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )"
|
||||
|
||||
# Python dependencies. The DEPEND part needs to be kept in sync
|
||||
# with python_check_deps.
|
||||
DEPEND+=" $(python_gen_any_dep '
|
||||
dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]
|
||||
dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
|
||||
dev-python/html5lib[${PYTHON_USEDEP}]
|
||||
dev-python/jinja[${PYTHON_USEDEP}]
|
||||
dev-python/ply[${PYTHON_USEDEP}]
|
||||
dev-python/simplejson[${PYTHON_USEDEP}]
|
||||
')"
|
||||
python_check_deps() {
|
||||
has_version --host-root "dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]" &&
|
||||
has_version --host-root "dev-python/beautifulsoup:4[${PYTHON_USEDEP}]" &&
|
||||
has_version --host-root "dev-python/html5lib[${PYTHON_USEDEP}]" &&
|
||||
has_version --host-root "dev-python/jinja[${PYTHON_USEDEP}]" &&
|
||||
has_version --host-root "dev-python/ply[${PYTHON_USEDEP}]" &&
|
||||
has_version --host-root "dev-python/simplejson[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
|
||||
EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
|
||||
fi
|
||||
|
||||
DISABLE_AUTOFORMATTING="yes"
|
||||
DOC_CONTENTS="
|
||||
Some web pages may require additional fonts to display properly.
|
||||
Try installing some of the following packages if some characters
|
||||
are not displayed properly:
|
||||
- media-fonts/arphicfonts
|
||||
- media-fonts/bitstream-cyberbit
|
||||
- media-fonts/droid
|
||||
- media-fonts/ipamonafont
|
||||
- media-fonts/ja-ipafonts
|
||||
- media-fonts/takao-fonts
|
||||
- media-fonts/wqy-microhei
|
||||
- media-fonts/wqy-zenhei
|
||||
|
||||
Depending on your desktop environment, you may need
|
||||
to install additional packages to get icons on the Downloads page.
|
||||
|
||||
For KDE, the required package is kde-frameworks/oxygen-icons.
|
||||
|
||||
For other desktop environments, try one of the following:
|
||||
- x11-themes/gnome-icon-theme
|
||||
- x11-themes/tango-icon-theme
|
||||
"
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ $(tc-getCC)$ == *gcc* ]] && \
|
||||
[[ $(gcc-major-version)$(gcc-minor-version) -lt 48 ]]; then
|
||||
die 'At least gcc 4.8 is required, see bugs: #535730, #525374, #518668.'
|
||||
fi
|
||||
|
||||
# Check build requirements, bug #541816 and bug #471810 .
|
||||
CHECKREQS_MEMORY="3G"
|
||||
CHECKREQS_DISK_BUILD="5G"
|
||||
eshopts_push -s extglob
|
||||
if is-flagq '-g?(gdb)?([1-9])'; then
|
||||
CHECKREQS_DISK_BUILD="25G"
|
||||
fi
|
||||
eshopts_pop
|
||||
check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if [[ "${SLOT}" == "0" ]]; then
|
||||
CHROMIUM_SUFFIX=""
|
||||
else
|
||||
CHROMIUM_SUFFIX="-${SLOT}"
|
||||
fi
|
||||
CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser${CHROMIUM_SUFFIX}"
|
||||
|
||||
# Make sure the build system will use the right python, bug #344367.
|
||||
python-any-r1_pkg_setup
|
||||
|
||||
chromium_suid_sandbox_check_kernel_config
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/${PN}-system-ffmpeg-r2.patch"
|
||||
epatch "${FILESDIR}/${PN}-system-jinja-r11.patch"
|
||||
epatch "${FILESDIR}/${PN}-widevine-r1.patch"
|
||||
epatch "${FILESDIR}/${PN}-last-commit-position-r0.patch"
|
||||
epatch "${FILESDIR}/${PN}-system-zlib-r0.patch"
|
||||
epatch "${FILESDIR}/${PN}-linker-warnings-r0.patch"
|
||||
epatch "${FILESDIR}/${PN}-gn-r2.patch"
|
||||
|
||||
epatch_user
|
||||
|
||||
local conditional_bundled_libraries=""
|
||||
if ! use system-ffmpeg; then
|
||||
conditional_bundled_libraries+=" third_party/ffmpeg"
|
||||
fi
|
||||
if use gn; then
|
||||
conditional_bundled_libraries+="
|
||||
base/third_party/libevent
|
||||
third_party/adobe
|
||||
third_party/speech-dispatcher
|
||||
third_party/usb_ids
|
||||
third_party/xdg-utils
|
||||
third_party/yasm/run_yasm.py
|
||||
"
|
||||
fi
|
||||
|
||||
# Remove most bundled libraries. Some are still needed.
|
||||
build/linux/unbundle/remove_bundled_libraries.py \
|
||||
${conditional_bundled_libraries} \
|
||||
'base/third_party/dmg_fp' \
|
||||
'base/third_party/dynamic_annotations' \
|
||||
'base/third_party/icu' \
|
||||
'base/third_party/nspr' \
|
||||
'base/third_party/superfasthash' \
|
||||
'base/third_party/symbolize' \
|
||||
'base/third_party/valgrind' \
|
||||
'base/third_party/xdg_mime' \
|
||||
'base/third_party/xdg_user_dirs' \
|
||||
'breakpad/src/third_party/curl' \
|
||||
'chrome/third_party/mozilla_security_manager' \
|
||||
'courgette/third_party' \
|
||||
'net/third_party/mozilla_security_manager' \
|
||||
'net/third_party/nss' \
|
||||
'third_party/WebKit' \
|
||||
'third_party/analytics' \
|
||||
'third_party/angle' \
|
||||
'third_party/angle/src/common/third_party/numerics' \
|
||||
'third_party/angle/src/third_party/compiler' \
|
||||
'third_party/angle/src/third_party/libXNVCtrl' \
|
||||
'third_party/angle/src/third_party/murmurhash' \
|
||||
'third_party/angle/src/third_party/trace_event' \
|
||||
'third_party/boringssl' \
|
||||
'third_party/brotli' \
|
||||
'third_party/cacheinvalidation' \
|
||||
'third_party/catapult' \
|
||||
'third_party/catapult/third_party/py_vulcanize' \
|
||||
'third_party/catapult/third_party/py_vulcanize/third_party/rcssmin' \
|
||||
'third_party/catapult/third_party/py_vulcanize/third_party/rjsmin' \
|
||||
'third_party/catapult/tracing/third_party/components/polymer' \
|
||||
'third_party/catapult/tracing/third_party/d3' \
|
||||
'third_party/catapult/tracing/third_party/gl-matrix' \
|
||||
'third_party/catapult/tracing/third_party/jszip' \
|
||||
'third_party/cld_2' \
|
||||
'third_party/cros_system_api' \
|
||||
'third_party/cython/python_flags.py' \
|
||||
'third_party/devscripts' \
|
||||
'third_party/dom_distiller_js' \
|
||||
'third_party/dom_distiller_js/dist/proto_gen/third_party/dom_distiller_js' \
|
||||
'third_party/fips181' \
|
||||
'third_party/flot' \
|
||||
'third_party/google_input_tools' \
|
||||
'third_party/google_input_tools/third_party/closure_library' \
|
||||
'third_party/google_input_tools/third_party/closure_library/third_party/closure' \
|
||||
'third_party/hunspell' \
|
||||
'third_party/iccjpeg' \
|
||||
'third_party/icu' \
|
||||
'third_party/jstemplate' \
|
||||
'third_party/khronos' \
|
||||
'third_party/leveldatabase' \
|
||||
'third_party/libXNVCtrl' \
|
||||
'third_party/libaddressinput' \
|
||||
'third_party/libjingle' \
|
||||
'third_party/libjpeg_turbo' \
|
||||
'third_party/libphonenumber' \
|
||||
'third_party/libpng' \
|
||||
'third_party/libsecret' \
|
||||
'third_party/libsrtp' \
|
||||
'third_party/libudev' \
|
||||
'third_party/libusb' \
|
||||
'third_party/libvpx' \
|
||||
'third_party/libvpx/source/libvpx/third_party/x86inc' \
|
||||
'third_party/libwebm' \
|
||||
'third_party/libxml/chromium' \
|
||||
'third_party/libyuv' \
|
||||
'third_party/lss' \
|
||||
'third_party/lzma_sdk' \
|
||||
'third_party/mesa' \
|
||||
'third_party/modp_b64' \
|
||||
'third_party/mt19937ar' \
|
||||
'third_party/openh264' \
|
||||
'third_party/openmax_dl' \
|
||||
'third_party/opus' \
|
||||
'third_party/ots' \
|
||||
'third_party/pdfium' \
|
||||
'third_party/pdfium/third_party/agg23' \
|
||||
'third_party/pdfium/third_party/base' \
|
||||
'third_party/pdfium/third_party/bigint' \
|
||||
'third_party/pdfium/third_party/freetype' \
|
||||
'third_party/pdfium/third_party/lcms2-2.6' \
|
||||
'third_party/pdfium/third_party/libjpeg' \
|
||||
'third_party/pdfium/third_party/libopenjpeg20' \
|
||||
'third_party/pdfium/third_party/libpng16' \
|
||||
'third_party/pdfium/third_party/libtiff' \
|
||||
'third_party/pdfium/third_party/zlib_v128' \
|
||||
'third_party/polymer' \
|
||||
'third_party/protobuf' \
|
||||
'third_party/protobuf/third_party/six' \
|
||||
'third_party/qcms' \
|
||||
'third_party/re2' \
|
||||
'third_party/sfntly' \
|
||||
'third_party/skia' \
|
||||
'third_party/smhasher' \
|
||||
'third_party/sqlite' \
|
||||
'third_party/tcmalloc' \
|
||||
'third_party/usrsctp' \
|
||||
'third_party/web-animations-js' \
|
||||
'third_party/webdriver' \
|
||||
'third_party/webrtc' \
|
||||
'third_party/widevine' \
|
||||
'third_party/woff2' \
|
||||
'third_party/x86inc' \
|
||||
'third_party/zlib/google' \
|
||||
'url/third_party/mozilla' \
|
||||
'v8/src/third_party/fdlibm' \
|
||||
'v8/src/third_party/valgrind' \
|
||||
--do-remove || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf_gyp=""
|
||||
local myconf_gn=""
|
||||
|
||||
# GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
|
||||
myconf_gn+=" is_debug=false"
|
||||
|
||||
# Never tell the build system to "enable" SSE2, it has a few unexpected
|
||||
# additions, bug #336871.
|
||||
myconf_gyp+=" -Ddisable_sse2=1"
|
||||
|
||||
# Disable nacl, we can't build without pnacl (http://crbug.com/269560).
|
||||
myconf_gyp+=" -Ddisable_nacl=1"
|
||||
myconf_gn+=" enable_nacl=false"
|
||||
|
||||
# Make it possible to remove third_party/adobe.
|
||||
echo > "${T}/flapper_version.h" || die
|
||||
myconf_gyp+=" -Dflapper_version_h_file=${T}/flapper_version.h"
|
||||
|
||||
# Use system-provided libraries.
|
||||
# TODO: use_system_hunspell (upstream changes needed).
|
||||
# TODO: use_system_icu (bug #576370).
|
||||
# TODO: use_system_libjpeg (bug #584518).
|
||||
# TODO: use_system_libpng (bug #578212).
|
||||
# TODO: use_system_libsrtp (bug #459932).
|
||||
# TODO: use_system_libusb (http://crbug.com/266149).
|
||||
# TODO: use_system_libvpx (http://crbug.com/494939).
|
||||
# TODO: use_system_opus (https://code.google.com/p/webrtc/issues/detail?id=3077).
|
||||
# TODO: use_system_protobuf (bug #525560).
|
||||
# TODO: use_system_re2 (bug #571156).
|
||||
# TODO: use_system_ssl (http://crbug.com/58087).
|
||||
# TODO: use_system_sqlite (http://crbug.com/22208).
|
||||
myconf_gyp+="
|
||||
-Duse_system_bzip2=1
|
||||
-Duse_system_ffmpeg=$(usex system-ffmpeg 1 0)
|
||||
-Duse_system_flac=1
|
||||
-Duse_system_harfbuzz=1
|
||||
-Duse_system_jsoncpp=1
|
||||
-Duse_system_libevent=1
|
||||
-Duse_system_libwebp=1
|
||||
-Duse_system_libxml=1
|
||||
-Duse_system_libxslt=1
|
||||
-Duse_system_minizip=1
|
||||
-Duse_system_nspr=1
|
||||
-Duse_system_snappy=1
|
||||
-Duse_system_speex=1
|
||||
-Duse_system_xdg_utils=1
|
||||
-Duse_system_zlib=1"
|
||||
|
||||
local gn_system_libraries="
|
||||
flac
|
||||
harfbuzz-ng
|
||||
libevent
|
||||
libwebp
|
||||
libxml
|
||||
libxslt
|
||||
snappy
|
||||
yasm
|
||||
zlib"
|
||||
if use system-ffmpeg; then
|
||||
gn_system_libraries+=" ffmpeg"
|
||||
fi
|
||||
build/linux/unbundle/replace_gn_files.py --system-libraries ${gn_system_libraries} || die
|
||||
|
||||
# Needed for system icu - we don't need additional data files.
|
||||
# myconf_gyp+=" -Dicu_use_data_file_flag=0"
|
||||
|
||||
# TODO: patch gyp so that this arm conditional is not needed.
|
||||
if ! use arm; then
|
||||
myconf_gyp+="
|
||||
-Duse_system_yasm=1"
|
||||
fi
|
||||
|
||||
# Optional dependencies.
|
||||
# TODO: linux_link_kerberos, bug #381289.
|
||||
myconf_gyp+="
|
||||
$(gyp_use cups)
|
||||
$(gyp_use gnome use_gconf)
|
||||
$(gyp_use gnome-keyring use_gnome_keyring)
|
||||
$(gyp_use gnome-keyring linux_link_gnome_keyring)
|
||||
$(gyp_use gtk3)
|
||||
$(gyp_use hangouts enable_hangout_services_extension)
|
||||
$(gyp_use kerberos)
|
||||
$(gyp_use pulseaudio)
|
||||
$(gyp_use tcmalloc use_allocator tcmalloc none)
|
||||
$(gyp_use widevine enable_widevine)"
|
||||
|
||||
# TODO: support USE=gnome-keyring for GN
|
||||
myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
|
||||
myconf_gn+=" enable_widevine=$(usex widevine true false)"
|
||||
myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
|
||||
myconf_gn+=" use_cups=$(usex cups true false)"
|
||||
myconf_gn+=" use_gconf=$(usex gnome true false)"
|
||||
myconf_gn+=" use_gtk3=$(usex gtk3 true false)"
|
||||
myconf_gn+=" use_kerberos=$(usex kerberos true false)"
|
||||
myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
|
||||
|
||||
# Use explicit library dependencies instead of dlopen.
|
||||
# This makes breakages easier to detect by revdep-rebuild.
|
||||
myconf_gyp+="
|
||||
-Dlinux_link_gsettings=1
|
||||
-Dlinux_link_libpci=1
|
||||
-Dlinux_link_libspeechd=1
|
||||
-Dlibspeechd_h_prefix=speech-dispatcher/"
|
||||
|
||||
# TODO: link_pulseaudio=true for GN.
|
||||
|
||||
# TODO: use the file at run time instead of effectively compiling it in.
|
||||
myconf_gyp+="
|
||||
-Dusb_ids_path=/usr/share/misc/usb.ids"
|
||||
|
||||
myconf_gyp+=" -Dfieldtrial_testing_like_official_build=1"
|
||||
myconf_gn+=" fieldtrial_testing_like_official_build=true"
|
||||
|
||||
if [[ $(tc-getCC) == *clang* ]]; then
|
||||
myconf_gyp+=" -Dclang=1"
|
||||
myconf_gn+=" is_clang=true"
|
||||
else
|
||||
myconf_gyp+=" -Dclang=0"
|
||||
myconf_gn+=" is_clang=false"
|
||||
fi
|
||||
|
||||
# Never use bundled gold binary. Disable gold linker flags for now.
|
||||
# Do not use bundled clang.
|
||||
myconf_gyp+="
|
||||
-Dclang_use_chrome_plugins=0
|
||||
-Dhost_clang=0
|
||||
-Dlinux_use_bundled_binutils=0
|
||||
-Dlinux_use_bundled_gold=0
|
||||
-Dlinux_use_gold_flags=0
|
||||
-Dsysroot="
|
||||
myconf_gn+=" use_sysroot=false"
|
||||
|
||||
ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
|
||||
myconf_gyp+=" -Dproprietary_codecs=1 -Dffmpeg_branding=${ffmpeg_branding}"
|
||||
myconf_gn+=" proprietary_codecs=true ffmpeg_branding=\"${ffmpeg_branding}\""
|
||||
|
||||
# Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
|
||||
# Note: these are for Gentoo use ONLY. For your own distribution,
|
||||
# please get your own set of keys. Feel free to contact chromium@gentoo.org
|
||||
# for more info.
|
||||
local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
|
||||
local google_default_client_id="329227923882.apps.googleusercontent.com"
|
||||
local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
|
||||
myconf_gyp+=" -Dgoogle_api_key=${google_api_key}
|
||||
-Dgoogle_default_client_id=${google_default_client_id}
|
||||
-Dgoogle_default_client_secret=${google_default_client_secret}"
|
||||
myconf_gn+=" google_api_key=\"${google_api_key}\""
|
||||
myconf_gn+=" google_default_client_id=\"${google_default_client_id}\""
|
||||
myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\""
|
||||
|
||||
local myarch="$(tc-arch)"
|
||||
if [[ $myarch = amd64 ]] ; then
|
||||
target_arch=x64
|
||||
ffmpeg_target_arch=x64
|
||||
elif [[ $myarch = x86 ]] ; then
|
||||
target_arch=ia32
|
||||
ffmpeg_target_arch=ia32
|
||||
elif [[ $myarch = arm64 ]] ; then
|
||||
target_arch=arm64
|
||||
ffmpeg_target_arch=arm64
|
||||
elif [[ $myarch = arm ]] ; then
|
||||
target_arch=arm
|
||||
ffmpeg_target_arch=$(usex neon arm-neon arm)
|
||||
# TODO: re-enable NaCl (NativeClient).
|
||||
local CTARGET=${CTARGET:-${CHOST}}
|
||||
if [[ $(tc-is-softfloat) == "no" ]]; then
|
||||
|
||||
myconf_gyp+=" -Darm_float_abi=hard"
|
||||
fi
|
||||
filter-flags "-mfpu=*"
|
||||
use neon || myconf_gyp+=" -Darm_fpu=${ARM_FPU:-vfpv3-d16}"
|
||||
|
||||
if [[ ${CTARGET} == armv[78]* ]]; then
|
||||
myconf_gyp+=" -Darmv7=1"
|
||||
else
|
||||
myconf_gyp+=" -Darmv7=0"
|
||||
fi
|
||||
myconf_gyp+=" -Dsysroot=
|
||||
$(gyp_use neon arm_neon)
|
||||
-Ddisable_nacl=1"
|
||||
else
|
||||
die "Failed to determine target arch, got '$myarch'."
|
||||
fi
|
||||
|
||||
myconf_gyp+=" -Dtarget_arch=${target_arch}"
|
||||
|
||||
# Make sure that -Werror doesn't get added to CFLAGS by the build system.
|
||||
# Depending on GCC version the warnings are different and we don't want
|
||||
# the build to fail because of that.
|
||||
myconf_gyp+=" -Dwerror="
|
||||
myconf_gn+=" treat_warnings_as_errors=false"
|
||||
|
||||
# Disable fatal linker warnings, bug 506268.
|
||||
myconf_gyp+=" -Ddisable_fatal_linker_warnings=1"
|
||||
|
||||
# Avoid CFLAGS problems, bug #352457, bug #390147.
|
||||
if ! use custom-cflags; then
|
||||
replace-flags "-Os" "-O2"
|
||||
strip-flags
|
||||
|
||||
# Prevent linker from running out of address space, bug #471810 .
|
||||
if use x86; then
|
||||
filter-flags "-g*"
|
||||
fi
|
||||
|
||||
# Prevent libvpx build failures. Bug 530248, 544702, 546984.
|
||||
if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
|
||||
filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2
|
||||
fi
|
||||
fi
|
||||
|
||||
# Make sure the build system will use the right tools, bug #340795.
|
||||
tc-export AR CC CXX NM
|
||||
|
||||
# Tools for building programs to be executed on the build system, bug #410883.
|
||||
if tc-is-cross-compiler; then
|
||||
export AR_host=$(tc-getBUILD_AR)
|
||||
export CC_host=$(tc-getBUILD_CC)
|
||||
export CXX_host=$(tc-getBUILD_CXX)
|
||||
export NM_host=$(tc-getBUILD_NM)
|
||||
fi
|
||||
|
||||
# Bug 491582.
|
||||
export TMPDIR="${WORKDIR}/temp"
|
||||
mkdir -p -m 755 "${TMPDIR}" || die
|
||||
|
||||
if ! use system-ffmpeg; then
|
||||
local build_ffmpeg_args=""
|
||||
if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
|
||||
build_ffmpeg_args+=" --disable-asm"
|
||||
fi
|
||||
|
||||
# Re-configure bundled ffmpeg. See bug #491378 for example reasons.
|
||||
einfo "Configuring bundled ffmpeg..."
|
||||
pushd third_party/ffmpeg > /dev/null || die
|
||||
chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
|
||||
--branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
|
||||
chromium/scripts/copy_config.sh || die
|
||||
chromium/scripts/generate_gyp.py || die
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
|
||||
third_party/libaddressinput/chromium/tools/update-strings.py || die
|
||||
|
||||
touch chrome/test/data/webui/i18n_process_css_test.html || die
|
||||
|
||||
einfo "Configuring Chromium..."
|
||||
if use gn; then
|
||||
tools/gn/bootstrap/bootstrap.py -v --gn-gen-args "${myconf_gn}" || die
|
||||
out/Release/gn gen --args="${myconf_gn}" out/Release || die
|
||||
else
|
||||
build/linux/unbundle/replace_gyp_files.py ${myconf_gyp} || die
|
||||
egyp_chromium ${myconf_gyp} || die
|
||||
fi
|
||||
}
|
||||
|
||||
eninja() {
|
||||
if [[ -z ${NINJAOPTS+set} ]]; then
|
||||
local jobs=$(makeopts_jobs)
|
||||
local loadavg=$(makeopts_loadavg)
|
||||
|
||||
if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
|
||||
NINJAOPTS+=" -j ${jobs}"
|
||||
fi
|
||||
if [[ ${MAKEOPTS} == *-l* && ${loadavg} != 999 ]]; then
|
||||
NINJAOPTS+=" -l ${loadavg}"
|
||||
fi
|
||||
fi
|
||||
set -- ninja -v ${NINJAOPTS} "$@"
|
||||
echo "$@"
|
||||
"$@"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local ninja_targets="chrome chrome_sandbox chromedriver"
|
||||
|
||||
if ! use gn; then
|
||||
# Build mksnapshot and pax-mark it.
|
||||
eninja -C out/Release mksnapshot || die
|
||||
pax-mark m out/Release/mksnapshot
|
||||
fi
|
||||
|
||||
# Even though ninja autodetects number of CPUs, we respect
|
||||
# user's options, for debugging with -j 1 or any other reason.
|
||||
eninja -C out/Release ${ninja_targets} || die
|
||||
|
||||
pax-mark m out/Release/chrome
|
||||
}
|
||||
|
||||
src_install() {
|
||||
exeinto "${CHROMIUM_HOME}"
|
||||
doexe out/Release/chrome || die
|
||||
|
||||
newexe out/Release/chrome_sandbox chrome-sandbox || die
|
||||
fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
|
||||
|
||||
doexe out/Release/chromedriver || die
|
||||
use widevine && doexe out/Release/libwidevinecdmadapter.so
|
||||
|
||||
# if ! use arm; then
|
||||
# doexe out/Release/nacl_helper{,_bootstrap} || die
|
||||
# insinto "${CHROMIUM_HOME}"
|
||||
# doins out/Release/nacl_irt_*.nexe || die
|
||||
# doins out/Release/libppGoogleNaClPluginChrome.so || die
|
||||
# fi
|
||||
|
||||
local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" )
|
||||
if [[ -n ${CHROMIUM_SUFFIX} ]]; then
|
||||
sedargs+=(
|
||||
-e "s:chromium-browser:chromium-browser${CHROMIUM_SUFFIX}:g"
|
||||
-e "s:chromium.desktop:chromium${CHROMIUM_SUFFIX}.desktop:g"
|
||||
-e "s:plugins:plugins --user-data-dir=\${HOME}/.config/chromium${CHROMIUM_SUFFIX}:"
|
||||
)
|
||||
fi
|
||||
sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die
|
||||
doexe chromium-launcher.sh
|
||||
|
||||
# It is important that we name the target "chromium-browser",
|
||||
# xdg-utils expect it; bug #355517.
|
||||
dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser${CHROMIUM_SUFFIX} || die
|
||||
# keep the old symlink around for consistency
|
||||
dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium${CHROMIUM_SUFFIX} || die
|
||||
|
||||
dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver${CHROMIUM_SUFFIX} || die
|
||||
|
||||
# Allow users to override command-line options, bug #357629.
|
||||
dodir /etc/chromium || die
|
||||
insinto /etc/chromium
|
||||
newins "${FILESDIR}/chromium.default" "default" || die
|
||||
|
||||
pushd out/Release/locales > /dev/null || die
|
||||
chromium_remove_language_paks
|
||||
popd
|
||||
|
||||
insinto "${CHROMIUM_HOME}"
|
||||
doins out/Release/*.bin || die
|
||||
doins out/Release/*.pak || die
|
||||
|
||||
doins out/Release/icudtl.dat || die
|
||||
|
||||
doins -r out/Release/locales || die
|
||||
doins -r out/Release/resources || die
|
||||
|
||||
newman out/Release/chrome.1 chromium${CHROMIUM_SUFFIX}.1 || die
|
||||
newman out/Release/chrome.1 chromium-browser${CHROMIUM_SUFFIX}.1 || die
|
||||
|
||||
# Install icons and desktop entry.
|
||||
local branding size
|
||||
for size in 16 22 24 32 48 64 128 256 ; do
|
||||
case ${size} in
|
||||
16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
|
||||
*) branding="chrome/app/theme/chromium" ;;
|
||||
esac
|
||||
newicon -s ${size} "${branding}/product_logo_${size}.png" \
|
||||
chromium-browser${CHROMIUM_SUFFIX}.png
|
||||
done
|
||||
|
||||
local mime_types="text/html;text/xml;application/xhtml+xml;"
|
||||
mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
|
||||
mime_types+="x-scheme-handler/ftp;" # bug #412185
|
||||
mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393
|
||||
make_desktop_entry \
|
||||
chromium-browser${CHROMIUM_SUFFIX} \
|
||||
"Chromium${CHROMIUM_SUFFIX}" \
|
||||
chromium-browser${CHROMIUM_SUFFIX} \
|
||||
"Network;WebBrowser" \
|
||||
"MimeType=${mime_types}\nStartupWMClass=chromium-browser"
|
||||
sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die
|
||||
|
||||
# Install GNOME default application entry (bug #303100).
|
||||
if use gnome; then
|
||||
dodir /usr/share/gnome-control-center/default-apps || die
|
||||
insinto /usr/share/gnome-control-center/default-apps
|
||||
newins "${FILESDIR}"/chromium-browser.xml chromium-browser${CHROMIUM_SUFFIX}.xml || die
|
||||
if [[ "${CHROMIUM_SUFFIX}" != "" ]]; then
|
||||
sed "s:chromium-browser:chromium-browser${CHROMIUM_SUFFIX}:g" -i \
|
||||
"${ED}"/usr/share/gnome-control-center/default-apps/chromium-browser${CHROMIUM_SUFFIX}.xml
|
||||
fi
|
||||
fi
|
||||
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fdo-mime_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
Patch by saiarcot895, https://codereview.chromium.org/2059803002
|
||||
|
||||
Index: tools/gn/bootstrap/bootstrap.py
|
||||
diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
|
||||
index 4648b540acbbba5666ea6a1c4b832e3706f7e642..72ffd6093d22dfa993f523ed425bcec8d3320b02 100755
|
||||
--- a/tools/gn/bootstrap/bootstrap.py
|
||||
+++ b/tools/gn/bootstrap/bootstrap.py
|
||||
@@ -316,6 +316,7 @@ def write_ninja(path, root_gen_dir, options):
|
||||
'base/trace_event/memory_dump_manager.cc',
|
||||
'base/trace_event/memory_dump_request_args.cc',
|
||||
'base/trace_event/memory_dump_session_state.cc',
|
||||
+ 'base/trace_event/memory_infra_background_whitelist.cc',
|
||||
'base/trace_event/process_memory_dump.cc',
|
||||
'base/trace_event/process_memory_maps.cc',
|
||||
'base/trace_event/process_memory_totals.cc',
|
||||
@@ -353,6 +354,7 @@ def write_ninja(path, root_gen_dir, options):
|
||||
'base/process/process_posix.cc',
|
||||
'base/synchronization/condition_variable_posix.cc',
|
||||
'base/synchronization/lock_impl_posix.cc',
|
||||
+ 'base/synchronization/read_write_lock_posix.cc',
|
||||
'base/synchronization/waitable_event_posix.cc',
|
||||
'base/sys_info_posix.cc',
|
||||
'base/threading/platform_thread_internal_posix.cc',
|
@ -0,0 +1,79 @@
|
||||
--- third_party/WebKit/Source/bindings/scripts/scripts.gyp.orig 2014-08-19 09:55:10.330972228 +0000
|
||||
+++ third_party/WebKit/Source/bindings/scripts/scripts.gyp 2014-08-19 09:55:26.387286232 +0000
|
||||
@@ -54,7 +54,6 @@
|
||||
'actions': [{
|
||||
'action_name': 'cache_jinja_templates',
|
||||
'inputs': [
|
||||
- '<@(jinja_module_files)',
|
||||
'code_generator_v8.py',
|
||||
'<@(code_generator_template_files)',
|
||||
],
|
||||
--- third_party/WebKit/Source/build/scripts/scripts.gypi.orig 2014-08-19 10:00:00.216521733 +0000
|
||||
+++ third_party/WebKit/Source/build/scripts/scripts.gypi 2014-08-19 10:00:11.464735099 +0000
|
||||
@@ -2,10 +2,6 @@
|
||||
{
|
||||
'variables': {
|
||||
'scripts_for_in_files': [
|
||||
- # jinja2/__init__.py contains version string, so sufficient as
|
||||
- # dependency for whole jinja2 package
|
||||
- '<(DEPTH)/third_party/jinja2/__init__.py',
|
||||
- '<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep
|
||||
'hasher.py',
|
||||
'in_file.py',
|
||||
'in_generator.py',
|
||||
--- third_party/WebKit/Source/bindings/scripts/scripts.gypi.orig 2014-08-19 10:53:02.824618979 +0000
|
||||
+++ third_party/WebKit/Source/bindings/scripts/scripts.gypi 2014-08-19 10:53:20.784957370 +0000
|
||||
@@ -12,9 +12,6 @@
|
||||
'<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep
|
||||
],
|
||||
'idl_lexer_parser_files': [
|
||||
- # PLY (Python Lex-Yacc)
|
||||
- '<(DEPTH)/third_party/ply/lex.py',
|
||||
- '<(DEPTH)/third_party/ply/yacc.py',
|
||||
# Web IDL lexer/parser (base parser)
|
||||
'<(DEPTH)/tools/idl_parser/idl_lexer.py',
|
||||
'<(DEPTH)/tools/idl_parser/idl_node.py',
|
||||
--- third_party/WebKit/Source/build/scripts/scripts.gni.orig 2016-06-02 09:54:28.510152077 +0000
|
||||
+++ third_party/WebKit/Source/build/scripts/scripts.gni 2016-06-02 09:54:50.966612510 +0000
|
||||
@@ -9,10 +9,6 @@
|
||||
_scripts_dir = "//third_party/WebKit/Source/build/scripts"
|
||||
|
||||
scripts_for_in_files = [
|
||||
- # jinja2/__init__.py contains version string, so sufficient as
|
||||
- # dependency for whole jinja2 package
|
||||
- "//third_party/jinja2/__init__.py",
|
||||
- "//third_party/markupsafe/__init__.py", # jinja2 dep
|
||||
"$_scripts_dir/hasher.py",
|
||||
"$_scripts_dir/in_file.py",
|
||||
"$_scripts_dir/in_generator.py",
|
||||
--- third_party/WebKit/Source/bindings/scripts/BUILD.gn.orig 2016-06-02 10:03:01.100658943 +0000
|
||||
+++ third_party/WebKit/Source/bindings/scripts/BUILD.gn 2016-06-02 10:03:13.240907715 +0000
|
||||
@@ -36,7 +36,7 @@
|
||||
action("cached_jinja_templates") {
|
||||
script = "code_generator_v8.py"
|
||||
|
||||
- inputs = jinja_module_files + [ "code_generator_v8.py" ] +
|
||||
+ inputs = [ "code_generator_v8.py" ] +
|
||||
code_generator_template_files
|
||||
|
||||
# Dummy file to track dependency.
|
||||
--- third_party/WebKit/Source/platform/v8_inspector/v8_inspector.gyp.orig 2016-06-03 12:31:49.844954196 +0000
|
||||
+++ third_party/WebKit/Source/platform/v8_inspector/v8_inspector.gyp 2016-06-03 12:32:01.869198425 +0000
|
||||
@@ -60,7 +60,6 @@
|
||||
{
|
||||
'action_name': 'generateV8InspectorProtocolBackendSources',
|
||||
'inputs': [
|
||||
- '<@(jinja_module_files)',
|
||||
# The python script in action below.
|
||||
'../inspector_protocol/CodeGenerator.py',
|
||||
# Input files for the script.
|
||||
--- third_party/WebKit/Source/core/inspector/inspector.gyp.orig 2016-06-03 12:38:20.712891692 +0000
|
||||
+++ third_party/WebKit/Source/core/inspector/inspector.gyp 2016-06-03 12:38:31.197104557 +0000
|
||||
@@ -52,7 +52,6 @@
|
||||
{
|
||||
'action_name': 'generateInspectorProtocolBackendSources',
|
||||
'inputs': [
|
||||
- '<@(jinja_module_files)',
|
||||
# The python script in action below.
|
||||
'../../platform/inspector_protocol/CodeGenerator.py',
|
||||
# Input files for the script.
|
Loading…
Reference in new issue