parent
ab269b86ef
commit
f5591e3e4c
@ -1 +1,2 @@
|
||||
DIST ansible-2.3.1.0-pycryptodome.patch 32463 SHA256 fe464db648783871618ef26b9b1d8ffa7c090a558caed30857953eec65ef6a65 SHA512 0ed750d5d27378b942808a7db9be968cfe281a2985d40a13476763572b5aa95a4e336eda9b91b4fda4e20320214d7dabc38a69c18baf404696cb4bdb70c395cf WHIRLPOOL 9b2f754a31926c54bed9416d273d9e6b790b7652721c0f7de2abc8ccb25354925b64fbf98a02ab42f89fe9bc58c495bec54e12f8a541599b1d409914af6628af
|
||||
DIST ansible-2.3.1.0.tar.gz 4263357 SHA256 cd4b8f53720fcd0c351156b840fdd15ecfbec22c951b5406ec503de49d40b9f5 SHA512 7b4b33c56a15c41d756f095944d7a0dbf894557350879430df21061b717b9574aae624a276bf7e1a13d043b718aeaccac1ce510a3cb085983311ddf06fa832bc WHIRLPOOL 5552ff64e8cac722a705bd1e72465c8bfe583a1c5efc587ca141b34eaa35d2af0ea2e1084a072ecb7dbb28d59d7f56e47c4c73f9e3e0f7f2451ef4e7134ad1af
|
||||
|
@ -1,135 +0,0 @@
|
||||
From ed56f51f185a1ffd7ea57130d260098686fcc7c2 Mon Sep 17 00:00:00 2001
|
||||
From: James Cammarata <jimi@sngx.net>
|
||||
Date: Mon, 8 May 2017 10:37:10 -0500
|
||||
Subject: [PATCH] Fixing security issue with lookup returns not tainting the
|
||||
jinja2 environment
|
||||
|
||||
CVE-2017-7481
|
||||
|
||||
Lookup returns wrap the result in unsafe, however when used through the
|
||||
standard templar engine, this does not result in the jinja2 environment being
|
||||
marked as unsafe as a whole. This means the lookup result looses the unsafe
|
||||
protection and may become simple unicode strings, which can result in bad
|
||||
things being re-templated.
|
||||
|
||||
This also adds a global lookup param and cfg options for lookups to allow
|
||||
unsafe returns, so users can force the previous (insecure) behavior.
|
||||
---
|
||||
docs/docsite/rst/intro_configuration.rst | 14 ++++++++++++++
|
||||
examples/ansible.cfg | 8 +++++++-
|
||||
lib/ansible/constants.py | 1 +
|
||||
lib/ansible/template/__init__.py | 11 +++++++++--
|
||||
4 files changed, 31 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/docs/docsite/rst/intro_configuration.rst b/docs/docsite/rst/intro_configuration.rst
|
||||
index 3647e22..259e107 100644
|
||||
--- a/docs/docsite/rst/intro_configuration.rst
|
||||
+++ b/docs/docsite/rst/intro_configuration.rst
|
||||
@@ -86,6 +86,20 @@ different locations::
|
||||
Most users will not need to use this feature. See :doc:`dev_guide/developing_plugins` for more details.
|
||||
|
||||
|
||||
+.. _allow_unsafe_lookups:
|
||||
+
|
||||
+allow_unsafe_lookups
|
||||
+====================
|
||||
+
|
||||
+.. versionadded:: 2.2.3, 2.3.1
|
||||
+
|
||||
+When enabled, this option allows lookup plugins (whether used in variables as `{{lookup('foo')}}` or as a loop as `with_foo`) to return data that is **not** marked "unsafe". By default, such data is marked as unsafe to prevent the templating engine from evaluating any jinja2 templating language, as this could represent a security risk.
|
||||
+
|
||||
+This option is provided to allow for backwards-compatibility, however users should first consider adding `allow_unsafe=True` to any lookups which may be expected to contain data which may be run through the templating engine later. For example::
|
||||
+
|
||||
+ {{lookup('pipe', '/path/to/some/command', allow_unsafe=True)}}
|
||||
+
|
||||
+
|
||||
.. _allow_world_readable_tmpfiles:
|
||||
|
||||
allow_world_readable_tmpfiles
|
||||
diff --git a/examples/ansible.cfg b/examples/ansible.cfg
|
||||
index e283064..77ba5d2 100644
|
||||
--- a/examples/ansible.cfg
|
||||
+++ b/examples/ansible.cfg
|
||||
@@ -282,7 +282,7 @@
|
||||
# Controls showing custom stats at the end, off by default
|
||||
#show_custom_stats = True
|
||||
|
||||
-# Controlls which files to ignore when using a directory as inventory with
|
||||
+# Controls which files to ignore when using a directory as inventory with
|
||||
# possibly multiple sources (both static and dynamic)
|
||||
#inventory_ignore_extensions = ~, .orig, .bak, .ini, .cfg, .retry, .pyc, .pyo
|
||||
|
||||
@@ -294,6 +294,12 @@
|
||||
# Setting to True keeps them under the ansible_facts namespace, the default is False
|
||||
#restrict_facts_namespace: True
|
||||
|
||||
+# When enabled, this option allows lookups (via variables like {{lookup('foo')}} or when used as
|
||||
+# a loop with `with_foo`) to return data that is not marked "unsafe". This means the data may contain
|
||||
+# jinja2 templating language which will be run through the templating engine.
|
||||
+# ENABLING THIS COULD BE A SECURITY RISK
|
||||
+#allow_unsafe_lookups = False
|
||||
+
|
||||
[privilege_escalation]
|
||||
#become=True
|
||||
#become_method=sudo
|
||||
diff --git a/lib/ansible/constants.py b/lib/ansible/constants.py
|
||||
index da45037..40d1038 100644
|
||||
--- a/lib/ansible/constants.py
|
||||
+++ b/lib/ansible/constants.py
|
||||
@@ -236,6 +236,7 @@ def load_config_file():
|
||||
["~", ".orig", ".bak", ".ini", ".cfg", ".retry", ".pyc", ".pyo"], value_type='list')
|
||||
DEFAULT_VAR_COMPRESSION_LEVEL = get_config(p, DEFAULTS, 'var_compression_level', 'ANSIBLE_VAR_COMPRESSION_LEVEL', 0, value_type='integer')
|
||||
DEFAULT_INTERNAL_POLL_INTERVAL = get_config(p, DEFAULTS, 'internal_poll_interval', None, 0.001, value_type='float')
|
||||
+DEFAULT_ALLOW_UNSAFE_LOOKUPS = get_config(p, DEFAULTS, 'allow_unsafe_lookups', None, False, value_type='boolean')
|
||||
ERROR_ON_MISSING_HANDLER = get_config(p, DEFAULTS, 'error_on_missing_handler', 'ANSIBLE_ERROR_ON_MISSING_HANDLER', True, value_type='boolean')
|
||||
SHOW_CUSTOM_STATS = get_config(p, DEFAULTS, 'show_custom_stats', 'ANSIBLE_SHOW_CUSTOM_STATS', False, value_type='boolean')
|
||||
NAMESPACE_FACTS = get_config(p, DEFAULTS, 'restrict_facts_namespace', 'ANSIBLE_RESTRICT_FACTS', False, value_type='boolean')
|
||||
diff --git a/lib/ansible/template/__init__.py b/lib/ansible/template/__init__.py
|
||||
index 5d551d7..49de8aa 100644
|
||||
--- a/lib/ansible/template/__init__.py
|
||||
+++ b/lib/ansible/template/__init__.py
|
||||
@@ -252,6 +252,9 @@ def __init__(self, loader, shared_loader_obj=None, variables=dict()):
|
||||
loader=FileSystemLoader(self._basedir),
|
||||
)
|
||||
|
||||
+ # the current rendering context under which the templar class is working
|
||||
+ self.cur_context = None
|
||||
+
|
||||
self.SINGLE_VAR = re.compile(r"^%s\s*(\w*)\s*%s$" % (self.environment.variable_start_string, self.environment.variable_end_string))
|
||||
|
||||
self._clean_regex = re.compile(r'(?:%s|%s|%s|%s)' % (
|
||||
@@ -574,6 +577,7 @@ def _lookup(self, name, *args, **kwargs):
|
||||
|
||||
if instance is not None:
|
||||
wantlist = kwargs.pop('wantlist', False)
|
||||
+ allow_unsafe = kwargs.pop('allow_unsafe', C.DEFAULT_ALLOW_UNSAFE_LOOKUPS)
|
||||
|
||||
from ansible.utils.listify import listify_lookup_plugin_terms
|
||||
loop_terms = listify_lookup_plugin_terms(terms=args, templar=self, loader=self._loader, fail_on_undefined=True, convert_bare=False)
|
||||
@@ -510,7 +510,7 @@
|
||||
raise AnsibleError("An unhandled exception occurred while running the lookup plugin '%s'. Error was a %s, original message: %s" % (name, type(e), e))
|
||||
ran = None
|
||||
|
||||
- if ran:
|
||||
+ if ran and not allow_unsafe:
|
||||
from ansible.vars.unsafe_proxy import UnsafeProxy, wrap_var
|
||||
if wantlist:
|
||||
ran = wrap_var(ran)
|
||||
@@ -600,6 +605,8 @@ def _lookup(self, name, *args, **kwargs):
|
||||
else:
|
||||
ran = wrap_var(ran)
|
||||
|
||||
+ if self.cur_context:
|
||||
+ self.cur_context.unsafe = True
|
||||
return ran
|
||||
else:
|
||||
raise AnsibleError("lookup plugin (%s) not found" % name)
|
||||
@@ -656,7 +663,7 @@ def do_template(self, data, preserve_trailing_newlines=True, escape_backslashes=
|
||||
|
||||
jvars = AnsibleJ2Vars(self, t.globals)
|
||||
|
||||
- new_context = t.new_context(jvars, shared=True)
|
||||
+ self.cur_context = new_context = t.new_context(jvars, shared=True)
|
||||
rf = t.root_render_func(new_context)
|
||||
|
||||
try:
|
@ -1,8 +0,0 @@
|
||||
You can define parameters through shell variables OR use config files
|
||||
Examples of config files installed in /usr/share/ansible/examples
|
||||
You have to create ansible hosts file!
|
||||
More info on http://docs.ansible.com/intro_getting_started.html
|
||||
|
||||
Some optional dependencies, you might want to install:
|
||||
dev-python/keyczar - needed to support accelerated mode
|
||||
dev-python/paramiko - alternative SSH backend"
|
@ -1,905 +0,0 @@
|
||||
diff -uNr ansible-2.3.0.0.ORIG/lib/ansible/executor/process/worker.py ansible-2.3.0.0/lib/ansible/executor/process/worker.py
|
||||
--- ansible-2.3.0.0.ORIG/lib/ansible/executor/process/worker.py 2017-05-23 14:23:12.313595450 +0100
|
||||
+++ ansible-2.3.0.0/lib/ansible/executor/process/worker.py 2017-05-23 14:24:22.116598926 +0100
|
||||
@@ -26,14 +26,6 @@
|
||||
|
||||
from jinja2.exceptions import TemplateNotFound
|
||||
|
||||
-# TODO: not needed if we use the cryptography library with its default RNG
|
||||
-# engine
|
||||
-HAS_ATFORK=True
|
||||
-try:
|
||||
- from Crypto.Random import atfork
|
||||
-except ImportError:
|
||||
- HAS_ATFORK=False
|
||||
-
|
||||
from ansible.errors import AnsibleConnectionFailure
|
||||
from ansible.executor.task_executor import TaskExecutor
|
||||
from ansible.executor.task_result import TaskResult
|
||||
@@ -95,9 +87,6 @@
|
||||
#pr = cProfile.Profile()
|
||||
#pr.enable()
|
||||
|
||||
- if HAS_ATFORK:
|
||||
- atfork()
|
||||
-
|
||||
try:
|
||||
# execute the task and build a TaskResult from the result
|
||||
display.debug("running TaskExecutor() for %s/%s" % (self._host, self._task))
|
||||
diff -uNr ansible-2.3.0.0.ORIG/lib/ansible/modules/cloud/amazon/ec2_win_password.py ansible-2.3.0.0/lib/ansible/modules/cloud/amazon/ec2_win_password.py
|
||||
--- ansible-2.3.0.0.ORIG/lib/ansible/modules/cloud/amazon/ec2_win_password.py 2017-05-23 14:23:12.299595449 +0100
|
||||
+++ ansible-2.3.0.0/lib/ansible/modules/cloud/amazon/ec2_win_password.py 2017-05-23 14:29:51.003615305 +0100
|
||||
@@ -93,9 +93,10 @@
|
||||
'''
|
||||
|
||||
from base64 import b64decode
|
||||
-from Crypto.Cipher import PKCS1_v1_5
|
||||
-from Crypto.PublicKey import RSA
|
||||
import datetime
|
||||
+from cryptography.hazmat.backends import default_backend
|
||||
+from cryptography.hazmat.primitives.asymmetric.padding import PKCS1v15
|
||||
+from cryptography.hazmat.primitives.serialization import load_pem_private_key
|
||||
|
||||
try:
|
||||
import boto.ec2
|
||||
@@ -103,6 +104,9 @@
|
||||
except ImportError:
|
||||
HAS_BOTO = False
|
||||
|
||||
+BACKEND = default_backend()
|
||||
+
|
||||
+
|
||||
def main():
|
||||
argument_spec = ec2_argument_spec()
|
||||
argument_spec.update(dict(
|
||||
@@ -151,15 +155,12 @@
|
||||
else:
|
||||
try:
|
||||
with f:
|
||||
- key = RSA.importKey(f.read(), key_passphrase)
|
||||
- except (ValueError, IndexError, TypeError) as e:
|
||||
+ key = load_pem_private_key(f.read(), key_passphrase, BACKEND)
|
||||
+ except (ValueError, TypeError) as e:
|
||||
module.fail_json(msg = "unable to parse key file")
|
||||
|
||||
- cipher = PKCS1_v1_5.new(key)
|
||||
- sentinel = 'password decryption failed!!!'
|
||||
-
|
||||
try:
|
||||
- decrypted = cipher.decrypt(decoded, sentinel)
|
||||
+ decrypted = key.decrypt(decoded, PKCS1v15())
|
||||
except ValueError as e:
|
||||
decrypted = None
|
||||
|
||||
diff -uNr ansible-2.3.0.0.ORIG/lib/ansible/parsing/vault/__init__.py ansible-2.3.0.0/lib/ansible/parsing/vault/__init__.py
|
||||
--- ansible-2.3.0.0.ORIG/lib/ansible/parsing/vault/__init__.py 2017-05-23 14:23:12.311595449 +0100
|
||||
+++ ansible-2.3.0.0/lib/ansible/parsing/vault/__init__.py 2017-05-23 14:31:23.267619901 +0100
|
||||
@@ -25,7 +25,6 @@
|
||||
import sys
|
||||
import tempfile
|
||||
import random
|
||||
-from io import BytesIO
|
||||
from subprocess import call
|
||||
from hashlib import sha256
|
||||
from binascii import hexlify
|
||||
@@ -35,32 +34,14 @@
|
||||
# Note: Only used for loading obsolete VaultAES files. All files are written
|
||||
# using the newer VaultAES256 which does not require md5
|
||||
|
||||
-try:
|
||||
- from Crypto.Hash import SHA256, HMAC
|
||||
- HAS_HASH = True
|
||||
-except ImportError:
|
||||
- HAS_HASH = False
|
||||
-
|
||||
-# Counter import fails for 2.0.1, requires >= 2.6.1 from pip
|
||||
-try:
|
||||
- from Crypto.Util import Counter
|
||||
- HAS_COUNTER = True
|
||||
-except ImportError:
|
||||
- HAS_COUNTER = False
|
||||
-
|
||||
-# KDF import fails for 2.0.1, requires >= 2.6.1 from pip
|
||||
-try:
|
||||
- from Crypto.Protocol.KDF import PBKDF2
|
||||
- HAS_PBKDF2 = True
|
||||
-except ImportError:
|
||||
- HAS_PBKDF2 = False
|
||||
-
|
||||
-# AES IMPORTS
|
||||
-try:
|
||||
- from Crypto.Cipher import AES as AES
|
||||
- HAS_AES = True
|
||||
-except ImportError:
|
||||
- HAS_AES = False
|
||||
+from cryptography.exceptions import InvalidSignature
|
||||
+from cryptography.hazmat.backends import default_backend
|
||||
+from cryptography.hazmat.primitives import hashes, padding
|
||||
+from cryptography.hazmat.primitives.hmac import HMAC
|
||||
+from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
|
||||
+from cryptography.hazmat.primitives.ciphers import (
|
||||
+ Cipher as C_Cipher, algorithms, modes
|
||||
+)
|
||||
|
||||
from ansible.compat.six import PY3, binary_type
|
||||
from ansible.compat.six.moves import zip
|
||||
@@ -73,26 +54,8 @@
|
||||
from ansible.utils.display import Display
|
||||
display = Display()
|
||||
|
||||
-# OpenSSL pbkdf2_hmac
|
||||
-HAS_PBKDF2HMAC = False
|
||||
-try:
|
||||
- from cryptography.hazmat.primitives.hashes import SHA256 as c_SHA256
|
||||
- from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
|
||||
- from cryptography.hazmat.backends import default_backend
|
||||
- HAS_PBKDF2HMAC = True
|
||||
-except ImportError:
|
||||
- pass
|
||||
-except Exception as e:
|
||||
- display.vvvv("Optional dependency 'cryptography' raised an exception, falling back to 'Crypto'.")
|
||||
- import traceback
|
||||
- display.vvvv("Traceback from import of cryptography was {0}".format(traceback.format_exc()))
|
||||
-
|
||||
-HAS_ANY_PBKDF2HMAC = HAS_PBKDF2 or HAS_PBKDF2HMAC
|
||||
-
|
||||
-
|
||||
-CRYPTO_UPGRADE = "ansible-vault requires a newer version of pycrypto than the one installed on your platform." \
|
||||
- " You may fix this with OS-specific commands such as: yum install python-devel; rpm -e --nodeps python-crypto; pip install pycrypto"
|
||||
|
||||
+BACKEND = default_backend()
|
||||
b_HEADER = b'$ANSIBLE_VAULT'
|
||||
CIPHER_WHITELIST = frozenset((u'AES', u'AES256'))
|
||||
CIPHER_WRITE_WHITELIST = frozenset((u'AES256',))
|
||||
@@ -100,12 +63,6 @@
|
||||
# (used in VaultFile header) to a cipher class
|
||||
|
||||
|
||||
-def check_prereqs():
|
||||
-
|
||||
- if not HAS_AES or not HAS_COUNTER or not HAS_ANY_PBKDF2HMAC or not HAS_HASH:
|
||||
- raise AnsibleError(CRYPTO_UPGRADE)
|
||||
-
|
||||
-
|
||||
class AnsibleVaultError(AnsibleError):
|
||||
pass
|
||||
|
||||
@@ -410,8 +367,6 @@
|
||||
|
||||
def encrypt_file(self, filename, output_file=None):
|
||||
|
||||
- check_prereqs()
|
||||
-
|
||||
# A file to be encrypted into a vaultfile could be any encoding
|
||||
# so treat the contents as a byte string.
|
||||
|
||||
@@ -424,8 +379,6 @@
|
||||
|
||||
def decrypt_file(self, filename, output_file=None):
|
||||
|
||||
- check_prereqs()
|
||||
-
|
||||
# follow the symlink
|
||||
filename = os.path.realpath(filename)
|
||||
|
||||
@@ -440,8 +393,6 @@
|
||||
def create_file(self, filename):
|
||||
""" create a new encrypted file """
|
||||
|
||||
- check_prereqs()
|
||||
-
|
||||
# FIXME: If we can raise an error here, we can probably just make it
|
||||
# behave like edit instead.
|
||||
if os.path.isfile(filename):
|
||||
@@ -451,8 +402,6 @@
|
||||
|
||||
def edit_file(self, filename):
|
||||
|
||||
- check_prereqs()
|
||||
-
|
||||
# follow the symlink
|
||||
filename = os.path.realpath(filename)
|
||||
|
||||
@@ -471,7 +420,6 @@
|
||||
|
||||
def plaintext(self, filename):
|
||||
|
||||
- check_prereqs()
|
||||
ciphertext = self.read_data(filename)
|
||||
|
||||
try:
|
||||
@@ -483,8 +431,6 @@
|
||||
|
||||
def rekey_file(self, filename, b_new_password):
|
||||
|
||||
- check_prereqs()
|
||||
-
|
||||
# follow the symlink
|
||||
filename = os.path.realpath(filename)
|
||||
|
||||
@@ -581,10 +527,6 @@
|
||||
|
||||
# Note: strings in this class should be byte strings by default.
|
||||
|
||||
- def __init__(self):
|
||||
- if not HAS_AES:
|
||||
- raise AnsibleError(CRYPTO_UPGRADE)
|
||||
-
|
||||
def _aes_derive_key_and_iv(self, b_password, b_salt, key_length, iv_length):
|
||||
|
||||
""" Create a key and an initialization vector """
|
||||
@@ -620,41 +562,22 @@
|
||||
' switch to the newer VaultAES256 format', version='2.3')
|
||||
# http://stackoverflow.com/a/14989032
|
||||
|
||||
- b_ciphertext = unhexlify(b_vaulttext)
|
||||
-
|
||||
- in_file = BytesIO(b_ciphertext)
|
||||
- in_file.seek(0)
|
||||
- out_file = BytesIO()
|
||||
+ b_vaultdata = unhexlify(b_vaulttext)
|
||||
+ b_tmpsalt = b_vaultdata[:16]
|
||||
+ b_ciphertext = b_vaultdata[16:]
|
||||
|
||||
- bs = AES.block_size
|
||||
- b_tmpsalt = in_file.read(bs)
|
||||
+ bs = algorithms.AES.block_size // 8
|
||||
b_salt = b_tmpsalt[len(b'Salted__'):]
|
||||
b_key, b_iv = self._aes_derive_key_and_iv(b_password, b_salt, key_length, bs)
|
||||
- cipher = AES.new(b_key, AES.MODE_CBC, b_iv)
|
||||
- b_next_chunk = b''
|
||||
- finished = False
|
||||
-
|
||||
- while not finished:
|
||||
- b_chunk, b_next_chunk = b_next_chunk, cipher.decrypt(in_file.read(1024 * bs))
|
||||
- if len(b_next_chunk) == 0:
|
||||
- if PY3:
|
||||
- padding_length = b_chunk[-1]
|
||||
- else:
|
||||
- padding_length = ord(b_chunk[-1])
|
||||
+ cipher = C_Cipher(algorithms.AES(b_key), modes.CBC(b_iv), BACKEND).decryptor()
|
||||
+ unpadder = padding.PKCS7(algorithms.AES.block_size).unpadder()
|
||||
|
||||
- b_chunk = b_chunk[:-padding_length]
|
||||
- finished = True
|
||||
-
|
||||
- out_file.write(b_chunk)
|
||||
- out_file.flush()
|
||||
-
|
||||
- # reset the stream pointer to the beginning
|
||||
- out_file.seek(0)
|
||||
- b_out_data = out_file.read()
|
||||
- out_file.close()
|
||||
+ b_plaintext = unpadder.update(
|
||||
+ cipher.update(b_ciphertext) + cipher.finalize()
|
||||
+ ) + unpadder.finalize()
|
||||
|
||||
# split out sha and verify decryption
|
||||
- b_split_data = b_out_data.split(b"\n", 1)
|
||||
+ b_split_data = b_plaintext.split(b"\n", 1)
|
||||
b_this_sha = b_split_data[0]
|
||||
b_plaintext = b_split_data[1]
|
||||
b_test_sha = to_bytes(sha256(b_plaintext).hexdigest())
|
||||
@@ -676,19 +599,16 @@
|
||||
|
||||
# Note: strings in this class should be byte strings by default.
|
||||
|
||||
- def __init__(self):
|
||||
-
|
||||
- check_prereqs()
|
||||
-
|
||||
@staticmethod
|
||||
def _create_key(b_password, b_salt, keylength, ivlength):
|
||||
- hash_function = SHA256
|
||||
-
|
||||
- # make two keys and one iv
|
||||
- pbkdf2_prf = lambda p, s: HMAC.new(p, s, hash_function).digest()
|
||||
+ kdf = PBKDF2HMAC(
|
||||
+ algorithm=hashes.SHA256(),
|
||||
+ length=2 * keylength + ivlength,
|
||||
+ salt=b_salt,
|
||||
+ iterations=10000,
|
||||
+ backend=BACKEND)
|
||||
+ b_derivedkey = kdf.derive(b_password)
|
||||
|
||||
- b_derivedkey = PBKDF2(b_password, b_salt, dkLen=(2 * keylength) + ivlength,
|
||||
- count=10000, prf=pbkdf2_prf)
|
||||
return b_derivedkey
|
||||
|
||||
@classmethod
|
||||
@@ -696,55 +616,31 @@
|
||||
# 16 for AES 128, 32 for AES256
|
||||
keylength = 32
|
||||
|
||||
- # match the size used for counter.new to avoid extra work
|
||||
- ivlength = 16
|
||||
+ # AES is a 128-bit block cipher, so IVs and counter nonces are 16 bytes
|
||||
+ ivlength = algorithms.AES.block_size // 8
|
||||
|
||||
- if HAS_PBKDF2HMAC:
|
||||
- backend = default_backend()
|
||||
- kdf = PBKDF2HMAC(
|
||||
- algorithm=c_SHA256(),
|
||||
- length=2 * keylength + ivlength,
|
||||
- salt=b_salt,
|
||||
- iterations=10000,
|
||||
- backend=backend)
|
||||
- b_derivedkey = kdf.derive(b_password)
|
||||
- else:
|
||||
- b_derivedkey = cls._create_key(b_password, b_salt, keylength, ivlength)
|
||||
+ b_derivedkey = cls._create_key(b_password, b_salt, keylength, ivlength)
|
||||
|
||||
b_key1 = b_derivedkey[:keylength]
|
||||
b_key2 = b_derivedkey[keylength:(keylength * 2)]
|
||||
b_iv = b_derivedkey[(keylength * 2):(keylength * 2) + ivlength]
|
||||
|
||||
- return b_key1, b_key2, hexlify(b_iv)
|
||||
+ return b_key1, b_key2, b_iv
|
||||
|
||||
def encrypt(self, b_plaintext, b_password):
|
||||
b_salt = os.urandom(32)
|
||||
b_key1, b_key2, b_iv = self._gen_key_initctr(b_password, b_salt)
|
||||
|
||||
- # PKCS#7 PAD DATA http://tools.ietf.org/html/rfc5652#section-6.3
|
||||
- bs = AES.block_size
|
||||
- padding_length = (bs - len(b_plaintext) % bs) or bs
|
||||
- b_plaintext += to_bytes(padding_length * chr(padding_length), encoding='ascii', errors='strict')
|
||||
-
|
||||
- # COUNTER.new PARAMETERS
|
||||
- # 1) nbits (integer) - Length of the counter, in bits.
|
||||
- # 2) initial_value (integer) - initial value of the counter. "iv" from _gen_key_initctr
|
||||
-
|
||||
- ctr = Counter.new(128, initial_value=int(b_iv, 16))
|
||||
-
|
||||
- # AES.new PARAMETERS
|
||||
- # 1) AES key, must be either 16, 24, or 32 bytes long -- "key" from _gen_key_initctr
|
||||
- # 2) MODE_CTR, is the recommended mode
|
||||
- # 3) counter=<CounterObject>
|
||||
-
|
||||
- cipher = AES.new(b_key1, AES.MODE_CTR, counter=ctr)
|
||||
-
|
||||
- # ENCRYPT PADDED DATA
|
||||
- b_ciphertext = cipher.encrypt(b_plaintext)
|
||||
+ cipher = C_Cipher(algorithms.AES(b_key1), modes.CTR(b_iv), BACKEND)
|
||||
+ encryptor = cipher.encryptor()
|
||||
+ padder = padding.PKCS7(algorithms.AES.block_size).padder()
|
||||
+ b_ciphertext = encryptor.update(padder.update(b_plaintext) + padder.finalize())
|
||||
+ b_ciphertext += encryptor.finalize()
|
||||
|
||||
# COMBINE SALT, DIGEST AND DATA
|
||||
- hmac = HMAC.new(b_key2, b_ciphertext, SHA256)
|
||||
- b_vaulttext = b'\n'.join([hexlify(b_salt), to_bytes(hmac.hexdigest()), hexlify(b_ciphertext)])
|
||||
+ hmac = HMAC(b_key2, hashes.SHA256(), BACKEND)
|
||||
+ hmac.update(b_ciphertext)
|
||||
+ b_vaulttext = b'\n'.join([hexlify(b_salt), hexlify(hmac.finalize()), hexlify(b_ciphertext)])
|
||||
b_vaulttext = hexlify(b_vaulttext)
|
||||
return b_vaulttext
|
||||
|
||||
@@ -757,48 +653,21 @@
|
||||
b_key1, b_key2, b_iv = self._gen_key_initctr(b_password, b_salt)
|
||||
|
||||
# EXIT EARLY IF DIGEST DOESN'T MATCH
|
||||
- hmacDecrypt = HMAC.new(b_key2, b_ciphertext, SHA256)
|
||||
- if not self._is_equal(b_cryptedHmac, to_bytes(hmacDecrypt.hexdigest())):
|
||||
+ hmac = HMAC(b_key2, hashes.SHA256(), BACKEND)
|
||||
+ hmac.update(b_ciphertext)
|
||||
+ try:
|
||||
+ hmac.verify(unhexlify(b_cryptedHmac))
|
||||
+ except InvalidSignature:
|
||||
return None
|
||||
- # SET THE COUNTER AND THE CIPHER
|
||||
- ctr = Counter.new(128, initial_value=int(b_iv, 16))
|
||||
- cipher = AES.new(b_key1, AES.MODE_CTR, counter=ctr)
|
||||
-
|
||||
- # DECRYPT PADDED DATA
|
||||
- b_plaintext = cipher.decrypt(b_ciphertext)
|
||||
-
|
||||
- # UNPAD DATA
|
||||
- if PY3:
|
||||
- padding_length = b_plaintext[-1]
|
||||
- else:
|
||||
- padding_length = ord(b_plaintext[-1])
|
||||
|
||||
- b_plaintext = b_plaintext[:-padding_length]
|
||||
- return b_plaintext
|
||||
+ cipher = C_Cipher(algorithms.AES(b_key1), modes.CTR(b_iv), BACKEND)
|
||||
+ decryptor = cipher.decryptor()
|
||||
+ unpadder = padding.PKCS7(128).unpadder()
|
||||
+ b_plaintext = unpadder.update(
|
||||
+ decryptor.update(b_ciphertext) + decryptor.finalize()
|
||||
+ ) + unpadder.finalize()
|
||||
|
||||
- @staticmethod
|
||||
- def _is_equal(b_a, b_b):
|
||||
- """
|
||||
- Comparing 2 byte arrrays in constant time
|
||||
- to avoid timing attacks.
|
||||
-
|
||||
- It would be nice if there was a library for this but
|
||||
- hey.
|
||||
- """
|
||||
- if not (isinstance(b_a, binary_type) and isinstance(b_b, binary_type)):
|
||||
- raise TypeError('_is_equal can only be used to compare two byte strings')
|
||||
-
|
||||
- # http://codahale.com/a-lesson-in-timing-attacks/
|
||||
- if len(b_a) != len(b_b):
|
||||
- return False
|
||||
-
|
||||
- result = 0
|
||||
- for b_x, b_y in zip(b_a, b_b):
|
||||
- if PY3:
|
||||
- result |= b_x ^ b_y
|
||||
- else:
|
||||
- result |= ord(b_x) ^ ord(b_y)
|
||||
- return result == 0
|
||||
+ return b_plaintext
|
||||
|
||||
|
||||
# Keys could be made bytes later if the code that gets the data is more
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/runner/requirements/integration.txt ansible-2.3.0.0/test/runner/requirements/integration.txt
|
||||
--- ansible-2.3.0.0.ORIG/test/runner/requirements/integration.txt 2017-05-23 14:23:12.379595453 +0100
|
||||
+++ ansible-2.3.0.0/test/runner/requirements/integration.txt 2017-05-23 14:24:22.118598926 +0100
|
||||
@@ -1,8 +1,8 @@
|
||||
+cryptography
|
||||
jinja2
|
||||
jmespath
|
||||
junit-xml
|
||||
ordereddict ; python_version < '2.7'
|
||||
paramiko
|
||||
passlib
|
||||
-pycrypto
|
||||
pyyaml
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/runner/requirements/network-integration.txt ansible-2.3.0.0/test/runner/requirements/network-integration.txt
|
||||
--- ansible-2.3.0.0.ORIG/test/runner/requirements/network-integration.txt 2017-05-23 14:23:12.379595453 +0100
|
||||
+++ ansible-2.3.0.0/test/runner/requirements/network-integration.txt 2017-05-23 14:24:22.119598926 +0100
|
||||
@@ -1,5 +1,5 @@
|
||||
+cryptography
|
||||
jinja2
|
||||
junit-xml
|
||||
paramiko
|
||||
-pycrypto
|
||||
pyyaml
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/runner/requirements/sanity.txt ansible-2.3.0.0/test/runner/requirements/sanity.txt
|
||||
--- ansible-2.3.0.0.ORIG/test/runner/requirements/sanity.txt 2017-05-23 14:23:12.379595453 +0100
|
||||
+++ ansible-2.3.0.0/test/runner/requirements/sanity.txt 2017-05-23 14:26:01.910603896 +0100
|
||||
@@ -1,5 +1,7 @@
|
||||
+cryptography
|
||||
jinja2
|
||||
mock
|
||||
+paramiko
|
||||
pep8
|
||||
pylint
|
||||
pytest
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/runner/requirements/units.txt ansible-2.3.0.0/test/runner/requirements/units.txt
|
||||
--- ansible-2.3.0.0.ORIG/test/runner/requirements/units.txt 2017-05-23 14:23:12.379595453 +0100
|
||||
+++ ansible-2.3.0.0/test/runner/requirements/units.txt 2017-05-23 14:24:22.119598926 +0100
|
||||
@@ -1,10 +1,10 @@
|
||||
boto
|
||||
boto3
|
||||
+cryptography
|
||||
jinja2
|
||||
mock
|
||||
nose
|
||||
passlib
|
||||
-pycrypto
|
||||
pytest
|
||||
pytest-mock
|
||||
pytest-xdist
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/runner/requirements/windows-integration.txt ansible-2.3.0.0/test/runner/requirements/windows-integration.txt
|
||||
--- ansible-2.3.0.0.ORIG/test/runner/requirements/windows-integration.txt 2017-05-23 14:23:12.379595453 +0100
|
||||
+++ ansible-2.3.0.0/test/runner/requirements/windows-integration.txt 2017-05-23 14:24:22.119598926 +0100
|
||||
@@ -1,4 +1,6 @@
|
||||
+cryptography
|
||||
jinja2
|
||||
junit-xml
|
||||
+paramiko
|
||||
pywinrm
|
||||
pyyaml
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/units/parsing/vault/test_vault_editor.py ansible-2.3.0.0/test/units/parsing/vault/test_vault_editor.py
|
||||
--- ansible-2.3.0.0.ORIG/test/units/parsing/vault/test_vault_editor.py 2017-05-23 14:23:12.324595450 +0100
|
||||
+++ ansible-2.3.0.0/test/units/parsing/vault/test_vault_editor.py 2017-05-23 14:24:22.120598926 +0100
|
||||
@@ -22,7 +22,6 @@
|
||||
|
||||
import os
|
||||
import tempfile
|
||||
-from nose.plugins.skip import SkipTest
|
||||
|
||||
from ansible.compat.tests import unittest
|
||||
from ansible.compat.tests.mock import patch
|
||||
@@ -32,27 +31,6 @@
|
||||
from ansible.module_utils._text import to_bytes, to_text
|
||||
|
||||
|
||||
-# Counter import fails for 2.0.1, requires >= 2.6.1 from pip
|
||||
-try:
|
||||
- from Crypto.Util import Counter
|
||||
- HAS_COUNTER = True
|
||||
-except ImportError:
|
||||
- HAS_COUNTER = False
|
||||
-
|
||||
-# KDF import fails for 2.0.1, requires >= 2.6.1 from pip
|
||||
-try:
|
||||
- from Crypto.Protocol.KDF import PBKDF2
|
||||
- HAS_PBKDF2 = True
|
||||
-except ImportError:
|
||||
- HAS_PBKDF2 = False
|
||||
-
|
||||
-# AES IMPORTS
|
||||
-try:
|
||||
- from Crypto.Cipher import AES as AES
|
||||
- HAS_AES = True
|
||||
-except ImportError:
|
||||
- HAS_AES = False
|
||||
-
|
||||
v10_data = """$ANSIBLE_VAULT;1.0;AES
|
||||
53616c7465645f5fd0026926a2d415a28a2622116273fbc90e377225c12a347e1daf4456d36a77f9
|
||||
9ad98d59f61d06a4b66718d855f16fb7bdfe54d1ec8aeaa4d06c2dc1fa630ae1846a029877f0eeb1
|
||||
@@ -423,9 +401,6 @@
|
||||
|
||||
def test_decrypt_1_0(self):
|
||||
# Skip testing decrypting 1.0 files if we don't have access to AES, KDF or Counter.
|
||||
- if not HAS_AES or not HAS_COUNTER or not HAS_PBKDF2:
|
||||
- raise SkipTest
|
||||
-
|
||||
v10_file = tempfile.NamedTemporaryFile(delete=False)
|
||||
with v10_file as f:
|
||||
f.write(to_bytes(v10_data))
|
||||
@@ -451,9 +426,6 @@
|
||||
assert fdata.strip() == "foo", "incorrect decryption of 1.0 file: %s" % fdata.strip()
|
||||
|
||||
def test_decrypt_1_1(self):
|
||||
- if not HAS_AES or not HAS_COUNTER or not HAS_PBKDF2:
|
||||
- raise SkipTest
|
||||
-
|
||||
v11_file = tempfile.NamedTemporaryFile(delete=False)
|
||||
with v11_file as f:
|
||||
f.write(to_bytes(v11_data))
|
||||
@@ -478,10 +450,6 @@
|
||||
assert fdata.strip() == "foo", "incorrect decryption of 1.0 file: %s" % fdata.strip()
|
||||
|
||||
def test_rekey_migration(self):
|
||||
- # Skip testing rekeying files if we don't have access to AES, KDF or Counter.
|
||||
- if not HAS_AES or not HAS_COUNTER or not HAS_PBKDF2:
|
||||
- raise SkipTest
|
||||
-
|
||||
v10_file = tempfile.NamedTemporaryFile(delete=False)
|
||||
with v10_file as f:
|
||||
f.write(to_bytes(v10_data))
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/units/parsing/vault/test_vault.py ansible-2.3.0.0/test/units/parsing/vault/test_vault.py
|
||||
--- ansible-2.3.0.0.ORIG/test/units/parsing/vault/test_vault.py 2017-05-23 14:23:12.324595450 +0100
|
||||
+++ ansible-2.3.0.0/test/units/parsing/vault/test_vault.py 2017-05-23 14:24:22.120598926 +0100
|
||||
@@ -38,28 +38,6 @@
|
||||
from ansible.module_utils._text import to_bytes, to_text
|
||||
|
||||
|
||||
-# Counter import fails for 2.0.1, requires >= 2.6.1 from pip
|
||||
-try:
|
||||
- from Crypto.Util import Counter
|
||||
- HAS_COUNTER = True
|
||||
-except ImportError:
|
||||
- HAS_COUNTER = False
|
||||
-
|
||||
-# KDF import fails for 2.0.1, requires >= 2.6.1 from pip
|
||||
-try:
|
||||
- from Crypto.Protocol.KDF import PBKDF2
|
||||
- HAS_PBKDF2 = True
|
||||
-except ImportError:
|
||||
- HAS_PBKDF2 = False
|
||||
-
|
||||
-# AES IMPORTS
|
||||
-try:
|
||||
- from Crypto.Cipher import AES as AES
|
||||
- HAS_AES = True
|
||||
-except ImportError:
|
||||
- HAS_AES = False
|
||||
-
|
||||
-
|
||||
class TestVaultIsEncrypted(unittest.TestCase):
|
||||
def test_bytes_not_encrypted(self):
|
||||
b_data = b"foobar"
|
||||
@@ -181,38 +159,6 @@
|
||||
self.assertIsInstance(b_key, six.binary_type)
|
||||
self.assertEqual(b_key, b_key_2)
|
||||
|
||||
- def test_is_equal_is_equal(self):
|
||||
- self.assertTrue(self.vault_cipher._is_equal(b'abcdefghijklmnopqrstuvwxyz', b'abcdefghijklmnopqrstuvwxyz'))
|
||||
-
|
||||
- def test_is_equal_unequal_length(self):
|
||||
- self.assertFalse(self.vault_cipher._is_equal(b'abcdefghijklmnopqrstuvwxyz', b'abcdefghijklmnopqrstuvwx and sometimes y'))
|
||||
-
|
||||
- def test_is_equal_not_equal(self):
|
||||
- self.assertFalse(self.vault_cipher._is_equal(b'abcdefghijklmnopqrstuvwxyz', b'AbcdefghijKlmnopQrstuvwxZ'))
|
||||
-
|
||||
- def test_is_equal_empty(self):
|
||||
- self.assertTrue(self.vault_cipher._is_equal(b'', b''))
|
||||
-
|
||||
- def test_is_equal_non_ascii_equal(self):
|
||||
- utf8_data = to_bytes(u'私はガラスを食べられます。それは私を傷つけません。')
|
||||
- self.assertTrue(self.vault_cipher._is_equal(utf8_data, utf8_data))
|
||||
-
|
||||
- def test_is_equal_non_ascii_unequal(self):
|
||||
- utf8_data = to_bytes(u'私はガラスを食べられます。それは私を傷つけません。')
|
||||
- utf8_data2 = to_bytes(u'Pot să mănânc sticlă și ea nu mă rănește.')
|
||||
-
|
||||
- # Test for the len optimization path
|
||||
- self.assertFalse(self.vault_cipher._is_equal(utf8_data, utf8_data2))
|
||||
- # Test for the slower, char by char comparison path
|
||||
- self.assertFalse(self.vault_cipher._is_equal(utf8_data, utf8_data[:-1] + b'P'))
|
||||
-
|
||||
- def test_is_equal_non_bytes(self):
|
||||
- """ Anything not a byte string should raise a TypeError """
|
||||
- self.assertRaises(TypeError, self.vault_cipher._is_equal, u"One fish", b"two fish")
|
||||
- self.assertRaises(TypeError, self.vault_cipher._is_equal, b"One fish", u"two fish")
|
||||
- self.assertRaises(TypeError, self.vault_cipher._is_equal, 1, b"red fish")
|
||||
- self.assertRaises(TypeError, self.vault_cipher._is_equal, b"blue fish", 2)
|
||||
-
|
||||
|
||||
class TestVaultLib(unittest.TestCase):
|
||||
def setUp(self):
|
||||
@@ -267,8 +213,6 @@
|
||||
self.assertEqual(self.v.b_version, b"9.9", msg="version was not properly set")
|
||||
|
||||
def test_encrypt_decrypt_aes(self):
|
||||
- if not HAS_AES or not HAS_COUNTER or not HAS_PBKDF2:
|
||||
- raise SkipTest
|
||||
self.v.cipher_name = u'AES'
|
||||
self.v.b_password = b'ansible'
|
||||
# AES encryption code has been removed, so this is old output for
|
||||
@@ -282,8 +226,6 @@
|
||||
self.assertEqual(b_plaintext, b"foobar", msg="decryption failed")
|
||||
|
||||
def test_encrypt_decrypt_aes256(self):
|
||||
- if not HAS_AES or not HAS_COUNTER or not HAS_PBKDF2:
|
||||
- raise SkipTest
|
||||
self.v.cipher_name = u'AES256'
|
||||
plaintext = u"foobar"
|
||||
b_vaulttext = self.v.encrypt(plaintext)
|
||||
@@ -292,8 +234,6 @@
|
||||
self.assertEqual(b_plaintext, b"foobar", msg="decryption failed")
|
||||
|
||||
def test_encrypt_decrypt_aes256_existing_vault(self):
|
||||
- if not HAS_AES or not HAS_COUNTER or not HAS_PBKDF2:
|
||||
- raise SkipTest
|
||||
self.v.cipher_name = u'AES256'
|
||||
b_orig_plaintext = b"Setec Astronomy"
|
||||
vaulttext = u'''$ANSIBLE_VAULT;1.1;AES256
|
||||
@@ -314,8 +254,6 @@
|
||||
# FIXME This test isn't working quite yet.
|
||||
raise SkipTest
|
||||
|
||||
- if not HAS_AES or not HAS_COUNTER or not HAS_PBKDF2:
|
||||
- raise SkipTest
|
||||
self.v.cipher_name = 'AES256'
|
||||
# plaintext = "Setec Astronomy"
|
||||
enc_data = '''$ANSIBLE_VAULT;1.1;AES256
|
||||
@@ -350,8 +288,6 @@
|
||||
self.v.decrypt(b_invalid_ciphertext)
|
||||
|
||||
def test_encrypt_encrypted(self):
|
||||
- if not HAS_AES or not HAS_COUNTER or not HAS_PBKDF2:
|
||||
- raise SkipTest
|
||||
self.v.cipher_name = u'AES'
|
||||
b_vaulttext = b"$ANSIBLE_VAULT;9.9;TEST\n%s" % hexlify(b"ansible")
|
||||
vaulttext = to_text(b_vaulttext, errors='strict')
|
||||
@@ -359,8 +295,6 @@
|
||||
self.assertRaises(errors.AnsibleError, self.v.encrypt, vaulttext)
|
||||
|
||||
def test_decrypt_decrypted(self):
|
||||
- if not HAS_AES or not HAS_COUNTER or not HAS_PBKDF2:
|
||||
- raise SkipTest
|
||||
plaintext = u"ansible"
|
||||
self.assertRaises(errors.AnsibleError, self.v.decrypt, plaintext)
|
||||
|
||||
@@ -368,9 +302,6 @@
|
||||
self.assertRaises(errors.AnsibleError, self.v.decrypt, b_plaintext)
|
||||
|
||||
def test_cipher_not_set(self):
|
||||
- # not setting the cipher should default to AES256
|
||||
- if not HAS_AES or not HAS_COUNTER or not HAS_PBKDF2:
|
||||
- raise SkipTest
|
||||
plaintext = u"ansible"
|
||||
self.v.encrypt(plaintext)
|
||||
self.assertEquals(self.v.cipher_name, "AES256")
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/utils/docker/centos6/Dockerfile ansible-2.3.0.0/test/utils/docker/centos6/Dockerfile
|
||||
--- ansible-2.3.0.0.ORIG/test/utils/docker/centos6/Dockerfile 2017-05-23 14:23:12.321595450 +0100
|
||||
+++ ansible-2.3.0.0/test/utils/docker/centos6/Dockerfile 2017-05-23 14:24:22.121598926 +0100
|
||||
@@ -9,6 +9,8 @@
|
||||
file \
|
||||
gcc \
|
||||
git \
|
||||
+ libffi \
|
||||
+ libffi-devel \
|
||||
make \
|
||||
mercurial \
|
||||
mysql \
|
||||
@@ -16,6 +18,7 @@
|
||||
mysql-server \
|
||||
openssh-clients \
|
||||
openssh-server \
|
||||
+ openssl-devel \
|
||||
python-coverage \
|
||||
python-devel \
|
||||
python-httplib2 \
|
||||
@@ -40,8 +43,6 @@
|
||||
&& \
|
||||
yum clean all
|
||||
|
||||
-RUN rpm -e --nodeps python-crypto && pip install --upgrade pycrypto
|
||||
-
|
||||
RUN /bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers
|
||||
RUN mkdir /etc/ansible/
|
||||
RUN /bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/utils/docker/centos7/Dockerfile ansible-2.3.0.0/test/utils/docker/centos7/Dockerfile
|
||||
--- ansible-2.3.0.0.ORIG/test/utils/docker/centos7/Dockerfile 2017-05-23 14:23:12.321595450 +0100
|
||||
+++ ansible-2.3.0.0/test/utils/docker/centos7/Dockerfile 2017-05-23 14:24:22.121598926 +0100
|
||||
@@ -17,15 +17,20 @@
|
||||
bzip2 \
|
||||
dbus-python \
|
||||
file \
|
||||
+ gcc \
|
||||
git \
|
||||
iproute \
|
||||
+ libffi \
|
||||
+ libffi-devel \
|
||||
make \
|
||||
mariadb-server \
|
||||
mercurial \
|
||||
MySQL-python \
|
||||
openssh-clients \
|
||||
openssh-server \
|
||||
+ openssl-devel \
|
||||
python-coverage \
|
||||
+ python-devel \
|
||||
python-httplib2 \
|
||||
python-jinja2 \
|
||||
python-keyczar \
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/utils/docker/fedora24/Dockerfile ansible-2.3.0.0/test/utils/docker/fedora24/Dockerfile
|
||||
--- ansible-2.3.0.0.ORIG/test/utils/docker/fedora24/Dockerfile 2017-05-23 14:23:12.321595450 +0100
|
||||
+++ ansible-2.3.0.0/test/utils/docker/fedora24/Dockerfile 2017-05-23 14:24:22.121598926 +0100
|
||||
@@ -17,18 +17,23 @@
|
||||
dbus-python \
|
||||
file \
|
||||
findutils \
|
||||
+ gcc \
|
||||
git \
|
||||
glibc-locale-source \
|
||||
iproute \
|
||||
+ libffi \
|
||||
+ libffi-devel \
|
||||
make \
|
||||
mariadb-server \
|
||||
mercurial \
|
||||
MySQL-python \
|
||||
openssh-clients \
|
||||
openssh-server \
|
||||
+ openssl-devel \
|
||||
procps \
|
||||
python2-dnf \
|
||||
python-coverage \
|
||||
+ python-devel \
|
||||
python-httplib2 \
|
||||
python-jinja2 \
|
||||
python-keyczar \
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/utils/docker/fedora25/Dockerfile ansible-2.3.0.0/test/utils/docker/fedora25/Dockerfile
|
||||
--- ansible-2.3.0.0.ORIG/test/utils/docker/fedora25/Dockerfile 2017-05-23 14:23:12.321595450 +0100
|
||||
+++ ansible-2.3.0.0/test/utils/docker/fedora25/Dockerfile 2017-05-23 14:24:22.121598926 +0100
|
||||
@@ -20,12 +20,15 @@
|
||||
git \
|
||||
glibc-locale-source \
|
||||
iproute \
|
||||
+ libffi \
|
||||
+ libffi-devel \
|
||||
make \
|
||||
mariadb-server \
|
||||
mercurial \
|
||||
MySQL-python \
|
||||
openssh-clients \
|
||||
openssh-server \
|
||||
+ openssl-devel \
|
||||
procps \
|
||||
python2-dnf \
|
||||
python-coverage \
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/utils/docker/opensuse42.1/Dockerfile ansible-2.3.0.0/test/utils/docker/opensuse42.1/Dockerfile
|
||||
--- ansible-2.3.0.0.ORIG/test/utils/docker/opensuse42.1/Dockerfile 2017-05-23 14:23:12.321595450 +0100
|
||||
+++ ansible-2.3.0.0/test/utils/docker/opensuse42.1/Dockerfile 2017-05-23 14:24:22.121598926 +0100
|
||||
@@ -21,6 +21,8 @@
|
||||
openssh \
|
||||
postgresql-server \
|
||||
python-coverage \
|
||||
+ python-cryptography \
|
||||
+ python-devel \
|
||||
python-httplib2 \
|
||||
python-jinja2 \
|
||||
python-keyczar \
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/utils/docker/opensuse42.2/Dockerfile ansible-2.3.0.0/test/utils/docker/opensuse42.2/Dockerfile
|
||||
--- ansible-2.3.0.0.ORIG/test/utils/docker/opensuse42.2/Dockerfile 2017-05-23 14:23:12.321595450 +0100
|
||||
+++ ansible-2.3.0.0/test/utils/docker/opensuse42.2/Dockerfile 2017-05-23 14:24:22.122598926 +0100
|
||||
@@ -21,6 +21,7 @@
|
||||
openssh \
|
||||
postgresql-server \
|
||||
python-coverage \
|
||||
+ python-cryptography \
|
||||
python-httplib2 \
|
||||
python-jinja2 \
|
||||
python-keyczar \
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/utils/docker/ubuntu1204/Dockerfile ansible-2.3.0.0/test/utils/docker/ubuntu1204/Dockerfile
|
||||
--- ansible-2.3.0.0.ORIG/test/utils/docker/ubuntu1204/Dockerfile 2017-05-23 14:23:12.321595450 +0100
|
||||
+++ ansible-2.3.0.0/test/utils/docker/ubuntu1204/Dockerfile 2017-05-23 14:24:22.122598926 +0100
|
||||
@@ -17,6 +17,8 @@
|
||||
gawk \
|
||||
gcc \
|
||||
git \
|
||||
+ libffi-dev \
|
||||
+ libssl-dev \
|
||||
libxml2-utils \
|
||||
locales \
|
||||
make \
|
||||
@@ -50,8 +52,6 @@
|
||||
&& \
|
||||
apt-get clean
|
||||
|
||||
-RUN pip install --upgrade pycrypto
|
||||
-
|
||||
# helpful things taken from the ubuntu-upstart Dockerfile:
|
||||
# https://github.com/tianon/dockerfiles/blob/4d24a12b54b75b3e0904d8a285900d88d3326361/sbin-init/ubuntu/upstart/14.04/Dockerfile
|
||||
ADD init-fake.conf /etc/init/fake-container-events.conf
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/utils/docker/ubuntu1404/Dockerfile ansible-2.3.0.0/test/utils/docker/ubuntu1404/Dockerfile
|
||||
--- ansible-2.3.0.0.ORIG/test/utils/docker/ubuntu1404/Dockerfile 2017-05-23 14:23:12.321595450 +0100
|
||||
+++ ansible-2.3.0.0/test/utils/docker/ubuntu1404/Dockerfile 2017-05-23 14:24:22.122598926 +0100
|
||||
@@ -16,6 +16,8 @@
|
||||
fakeroot \
|
||||
gawk \
|
||||
git \
|
||||
+ libffi-dev \
|
||||
+ libssl-dev \
|
||||
libxml2-utils \
|
||||
locales \
|
||||
make \
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/utils/docker/ubuntu1604/Dockerfile ansible-2.3.0.0/test/utils/docker/ubuntu1604/Dockerfile
|
||||
--- ansible-2.3.0.0.ORIG/test/utils/docker/ubuntu1604/Dockerfile 2017-05-23 14:23:12.321595450 +0100
|
||||
+++ ansible-2.3.0.0/test/utils/docker/ubuntu1604/Dockerfile 2017-05-23 14:24:22.122598926 +0100
|
||||
@@ -17,6 +17,8 @@
|
||||
gawk \
|
||||
git \
|
||||
iproute2 \
|
||||
+ libffi-dev \
|
||||
+ libssl-dev \
|
||||
libxml2-utils \
|
||||
locales \
|
||||
lsb-release \
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/utils/docker/ubuntu1604py3/Dockerfile ansible-2.3.0.0/test/utils/docker/ubuntu1604py3/Dockerfile
|
||||
--- ansible-2.3.0.0.ORIG/test/utils/docker/ubuntu1604py3/Dockerfile 2017-05-23 14:23:12.321595450 +0100
|
||||
+++ ansible-2.3.0.0/test/utils/docker/ubuntu1604py3/Dockerfile 2017-05-23 14:24:22.122598926 +0100
|
||||
@@ -15,6 +15,8 @@
|
||||
gawk \
|
||||
git \
|
||||
iproute2 \
|
||||
+ libffi-dev \
|
||||
+ libssl-dev \
|
||||
libxml2-utils \
|
||||
locales \
|
||||
lsb-release \
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/utils/shippable/other.sh ansible-2.3.0.0/test/utils/shippable/other.sh
|
||||
--- ansible-2.3.0.0.ORIG/test/utils/shippable/other.sh 2017-05-23 14:23:12.320595450 +0100
|
||||
+++ ansible-2.3.0.0/test/utils/shippable/other.sh 2017-05-23 14:24:22.123598926 +0100
|
||||
@@ -12,6 +12,8 @@
|
||||
retry.py apt-get install -qq \
|
||||
shellcheck \
|
||||
python2.4 \
|
||||
+ libssl-dev \
|
||||
+ libffi-dev \
|
||||
|
||||
ln -sf x86_64-linux-gnu-gcc-4.9 /usr/bin/x86_64-linux-gnu-gcc
|
||||
|
||||
diff -uNr ansible-2.3.0.0.ORIG/test/utils/tox/requirements.txt ansible-2.3.0.0/test/utils/tox/requirements.txt
|
||||
--- ansible-2.3.0.0.ORIG/test/utils/tox/requirements.txt 2017-05-23 14:23:12.321595450 +0100
|
||||
+++ ansible-2.3.0.0/test/utils/tox/requirements.txt 2017-05-23 14:24:22.123598926 +0100
|
||||
@@ -11,7 +11,7 @@
|
||||
redis
|
||||
python-memcached
|
||||
python-systemd
|
||||
-pycrypto
|
||||
+cryptography
|
||||
botocore
|
||||
boto3
|
||||
pytest
|
@ -1,2 +0,0 @@
|
||||
# Use ssh transport by default. Comment it out if you want to use paramiko
|
||||
ANSIBLE_TRANSPORT="ssh"
|
@ -1 +1 @@
|
||||
DIST mei-amt-check-0_p20170514.tar.gz 10795 SHA256 c51e633b0e174578afead03ae7fa2aaae32e20400655bc744ce1597bfc640567 SHA512 31f4e28bf21f366890ca1d2d64b70b44eca04d7271543188254884d59c65201d0bb85bc70aeba7885b065c8af929f1529fe04280aeb3a93f55edf439ee1a84d5 WHIRLPOOL 3d1008fd32a809f547866086acda4ee001426111bb9cb4f8a3468ea6ea7aeced1266f5c494cf7df537b95b6ff137d1deb5cfe5bc70685223bd8d17655da7c968
|
||||
DIST mei-amt-check-0_p20170515.tar.gz 10793 SHA256 d84d8b25b60cc434236cad0c5a59ac0763ab3e61fe5c563c300e72b2a1860e34 SHA512 62ac6d3b2cacfc4770a076bffad1a4f8ba9233acef09b2e7bc77da545a67886b86e4076cceecd5ca8aab38c661cf8a1ddb178e7caf181b2da6171c467fbd8988 WHIRLPOOL 8e179423972082618162654c413a776e6b9d04be7c8d73b8b7c079f3cb1e439aa1f0c56c39a65c1f4349e5816c56046b67b53ff9ad1a84b2e6c72e23f7db43e2
|
||||
|
@ -1,3 +1,3 @@
|
||||
DIST monit-5.20.0.tar.gz 1267991 SHA256 ebac395ec50c1ae64d568db1260bc049d0e0e624c00e79d7b1b9a59c2679b98d SHA512 653cba9d63fad42acf8c27ee9c050d047fc78e0b7e8cdb0f3d0a533d5b5e01ccf1b82d443cb6518d286547087a021e37a59cbffedbb3daf49ff8f95e8c64b884 WHIRLPOOL 28f9fcfa86c346fb390654e4730cc52ce30b794b2dc1e02a484079b55a8bcb50d78a71e2e856f1ce1e161dc99bcd6913b4db92ed0deab64e969c5c6a464c584d
|
||||
DIST monit-5.21.0.tar.gz 1302859 SHA256 fbf76163ed4a180854d378af60fed0cdbc5a8772823957234efc182ead10c03c SHA512 ab0f255bc5f2d1c4b642694b411fca202258360bc24e9da8631026cde868a336b9472b6f341517248bcbbaeefeeb9c07477194f450410cf14f64b5016b2c009b WHIRLPOOL 4a9b1b080192b08af486c840c833c8e5f6d29795b07ecb653e73d2409a3b620bc59a2d13c4f541840128c1d83b0675a9cfa8fe95e8aebd2dc0f94f404b20d90c
|
||||
DIST monit-5.22.0.tar.gz 1296354 SHA256 9fc58b5e3caafd64f0b6fff3e65ae757239fab37d04fb33efce177da15176183 SHA512 d7325d463f92eb5e1d6c8cdae01cbf787c23799ac4dd79e66931fe47960d69dba0ed76afb0715be2e877dc42bf77cd73886f5080e10b87084cce4e0da5f71961 WHIRLPOOL 0959136e1a15b56d3b0632630402dd123f9a782f6445ea83a88c25c9938878f1645fa1d9788fbab7400ab41d4f8b375a1ecaef52c1d75f507db3e44e0bb64159
|
||||
DIST monit-5.23.0.tar.gz 1298472 SHA256 dd39fe3a379c02402ba9c44c201b3ba925ebdc8f04225918820607b6c5d56713 SHA512 6ca3de51c7fdb8a677feafb684dc459f4064539fe5501dfa53a2027bb7b1e6f6121b7fa593c9e373f009d2fd0eeca2b9dd659c337f056dfe769908a3aa7ec5b8 WHIRLPOOL 1d02ec6ca5152c9df3131e851354ae5af58f8526f7934184c5d4f423bbba9a620c70a6d2731336aa8862d4e33cf4bebdc9b7ef1d3950bea1b49caa2dd660ca88
|
||||
|
@ -0,0 +1,35 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
GENTOO_DEPEND_ON_PERL_SUBSLOT=yes
|
||||
inherit perl-app
|
||||
|
||||
DESCRIPTION="Simple log watcher"
|
||||
HOMEPAGE="https://sourceforge.net/projects/swatch/"
|
||||
SRC_URI="mirror://sourceforge/swatch/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="dev-perl/Date-Manip
|
||||
dev-perl/Date-Calc
|
||||
dev-perl/File-Tail
|
||||
dev-perl/TimeDate
|
||||
>=virtual/perl-Time-HiRes-1.12
|
||||
!app-admin/swatch"
|
||||
|
||||
src_install() {
|
||||
emake install
|
||||
newinitd "${FILESDIR}/${PN}-init" "${PN}"
|
||||
newconfd "${FILESDIR}/${PN}-confd" "${PN}"
|
||||
insinto /etc
|
||||
doins "${FILESDIR}/${PN}rc"
|
||||
|
||||
# Clean up perl localpod and packlist (bug #620886)
|
||||
perl_delete_localpod
|
||||
perl_fix_packlist
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="The .iso image of SystemRescueCD rescue disk, x86 (+ amd64) variant"
|
||||
HOMEPAGE="http://www.sysresccd.org/"
|
||||
# Large ISO mirroring explicitly approved by infra in bug #588766
|
||||
SRC_URI="mirror://sourceforge/systemrescuecd/sysresccd-${PN#*-}/${PV}/${P}.iso"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="${PV}"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="+isohybrid"
|
||||
|
||||
DEPEND="isohybrid? ( >=sys-boot/syslinux-4 )"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
src_install() {
|
||||
insinto "/usr/share/${PN%-*}"
|
||||
doins "${DISTDIR}/${P}.iso"
|
||||
|
||||
if use isohybrid; then
|
||||
set -- isohybrid -u "${ED}usr/share/${PN%-*}/${P}.iso"
|
||||
echo "${@}"
|
||||
"${@}" || die "${*} failed"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local f=${EROOT%/}/usr/share/${PN%-*}/${PN}-newest.iso
|
||||
|
||||
# no version newer than ours? we're the newest!
|
||||
if ! has_version ">${CATEGORY}/${PF}"; then
|
||||
ln -f -s -v "${P}.iso" "${f}" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
local f=${EROOT%/}/usr/share/${PN%-*}/${PN}-newest.iso
|
||||
|
||||
# if there is no version newer than ours installed
|
||||
if ! has_version ">${CATEGORY}/${PF}"; then
|
||||
# and we are truly and completely uninstalled...
|
||||
if [[ ! ${REPLACED_BY_VERSION} ]]; then
|
||||
# then find an older version to set the symlink to
|
||||
local newest_version=$(best_version "<${CATEGORY}/${PF}")
|
||||
|
||||
if [[ ${newest_version} ]]; then
|
||||
# update the symlink
|
||||
ln -f -s -v "${newest_version%-r*}.iso" "${f}" || die
|
||||
else
|
||||
# last version removed? clean up the symlink
|
||||
rm -v "${f}" || die
|
||||
# and the parent directory
|
||||
rmdir "${f%/*}" || die
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST certbot-0.14.1.tar.gz 851705 SHA256 7992fced742649e7b7668e4db7685de12248a4ffba66810cb336e9b6412e3567 SHA512 309e0e1d071960ae9a5cc4c9f965cc623b68d3d61f69282f21629514553a75af4d384d2c29fd3beee6eb8447c7b6651ce86c33c4f3916876fac7a91a08d2075d WHIRLPOOL f5a5be776f0a9bb9096a6e8dfa64942bd00583559cba64d3c1a5b991578bb8c7cac5076895e4291e1ec4c8fa767f026a90e0c1312c4f425ffcb5bf08bd0e9e40
|
||||
DIST certbot-0.15.0.tar.gz 942788 SHA256 87d306b1c013b472b8f548b38ccc476c125816435bb3b99e932fed09ac777296 SHA512 e884b34985a1128ce94d6b2be77af6ee86ded8b870e066f3f4bc22f78501f3f0a51060edcf75a11cd31dd525388adb8ccc4e2da0068b5b75be131d0fb0ca6844 WHIRLPOOL 01b172e8c7ac5d3678ee608b36d93f23943bf17f1e9c593cc1af3febcf0549b03961e69e537f099643dd9ee268497f76c2c18d8fa7a1d45753bc50e670375317
|
||||
DIST letsencrypt-0.1.0.tar.gz 524821 SHA256 1c1ac7b41e5e0fc0e41a7ef159ac9147a4aafff54453d57b519eb05bf52ade14 SHA512 6a786290362741ac97dcb4b59bc4cba56f3e8b5193bbc10be19086d462f76e6124259c42bac36afe9eb818f4bb9edec34f8e2a02bd8c855e3b35404f4ee81f96 WHIRLPOOL cdc41a3466de54ab8ddfeedea9935205d78383028769dcfbc876be0c2ef80c2d14f5d0e4a9c56a751163718f5ababb07848822989a060de7031ea8ebdf6424a0
|
||||
|
@ -0,0 +1,38 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
else
|
||||
SRC_URI="https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> certbot-${PV}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
S=${WORKDIR}/certbot-${PV}/acme
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="An implementation of the ACME protocol"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND=">=dev-python/cryptography-0.8[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
|
||||
dev-python/pyrfc3339[${PYTHON_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-2.10[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]"
|
||||
DEPEND="test? ( ${RDEPEND} dev-python/nose[${PYTHON_USEDEP}] )
|
||||
>=dev-python/setuptools-1.0[${PYTHON_USEDEP}]"
|
||||
|
||||
python_test() {
|
||||
nosetests -w ${PN} || die
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit python-any-r1
|
||||
|
||||
DESCRIPTION="GNU Image Manipulation Program help files"
|
||||
HOMEPAGE="https://docs.gimp.org/"
|
||||
SRC_URI="mirror://gimp/help/${P}.tar.bz2"
|
||||
|
||||
LICENSE="FDL-1.2"
|
||||
SLOT="2"
|
||||
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
dev-libs/libxslt
|
||||
sys-devel/gettext
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
econf --without-gimp
|
||||
}
|
@ -0,0 +1,136 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit flag-o-matic pax-utils
|
||||
|
||||
DESCRIPTION="The Ubiquitous Amiga Emulator with an emulation core largely based on WinUAE"
|
||||
HOMEPAGE="http://www.rcdrummond.net/uae/"
|
||||
# We support _rcX for WIPX versions and _preYYYYMMDD for CVS snapshots.
|
||||
if [[ "${PV%%_rc*}" = "${PV}" ]] ; then
|
||||
# _pre is used, cvs version
|
||||
my_ver=${PV%%_pre*}
|
||||
snap_ver=${PV##*_pre}
|
||||
S="${WORKDIR}"/${PN}-${my_ver}-${snap_ver}
|
||||
SRC_URI="http://www.rcdrummond.net/uae/test/${snap_ver}/${PN}-${my_ver}-${snap_ver}.tar.bz2"
|
||||
else
|
||||
my_ver=${PV%%_rc*}
|
||||
WIP_ver=${PV##*_rc}
|
||||
S="${WORKDIR}"/${PN}-${my_ver}-WIP${WIP_ver}
|
||||
SRC_URI="http://www.rcdrummond.net/uae/${PN}-${my_ver}-WIP${WIP_ver}/${PN}-${my_ver}-WIP${WIP_ver}.tar.bz2"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE="X dga ncurses sdl alsa oss sdl-sound capslib"
|
||||
|
||||
# Note: opposed to ./configure --help zlib support required! Check
|
||||
# src/Makefile.am that includes zfile.c unconditionaly.
|
||||
RDEPEND="X? ( x11-libs/libXt
|
||||
x11-libs/libxkbfile
|
||||
x11-libs/libXext
|
||||
x11-misc/xkeyboard-config
|
||||
dga? ( x11-libs/libXxf86dga
|
||||
x11-libs/libXxf86vm )
|
||||
)
|
||||
!X? ( sdl? ( media-libs/libsdl )
|
||||
!sdl? ( sys-libs/ncurses:0= ) )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
!alsa? ( sdl-sound? ( media-libs/sdl-sound ) )
|
||||
capslib? ( >=games-emulation/caps-20060612 )
|
||||
sys-libs/zlib
|
||||
virtual/cdrtools"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
X? ( dga? ( x11-proto/xf86vidmodeproto
|
||||
x11-proto/xf86dgaproto ) )"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
# Fix for high cpu use when compiled with --disable-audio
|
||||
use alsa || use sdl-sound || use oss || eapply "${FILESDIR}"/${P}-high-cpu-usage.patch
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
strip-flags
|
||||
|
||||
local myconf
|
||||
|
||||
# Sound setup.
|
||||
if use alsa; then
|
||||
elog "Choosing alsa as sound target to use."
|
||||
myconf="--with-alsa --without-sdl-sound"
|
||||
elif use sdl-sound ; then
|
||||
if ! use sdl ; then
|
||||
ewarn "sdl-sound is not enabled because sdl USE flag is disabled. Leaving"
|
||||
ewarn "sound on oss autodetection."
|
||||
myconf="--without-alsa --without-sdl-sound"
|
||||
else
|
||||
elog "Choosing sdl-sound as sound target to use."
|
||||
ewarn "E-UAE with the SDL audio back-end doesn't work correctly in Linux."
|
||||
ewarn "Better use alsa... You've been warned ;)"
|
||||
myconf="--without-alsa --with-sdl-sound"
|
||||
fi
|
||||
elif use oss ; then
|
||||
elog "Choosing oss as sound target to use."
|
||||
ewarn "oss will be autodetected. See output of configure."
|
||||
myconf="--without-alsa --without-sdl-sound"
|
||||
else
|
||||
ewarn "There is no alsa, sdl-sound or oss in USE. Sound target disabled!"
|
||||
myconf="--disable-audio"
|
||||
fi
|
||||
|
||||
# VIDEO setup. X is autodetected (there is no --with-X option).
|
||||
if use X ; then
|
||||
elog "Using X11 for video output."
|
||||
ewarn "Fullscreen mode is not working in X11 currently. Use sdl."
|
||||
myconf="$myconf --without-curses --without-sdl-gfx"
|
||||
use dga && ewarn "To use dga you have to run e-uae as root."
|
||||
use dga && myconf="$myconf --enable-dga --enable-vidmode"
|
||||
elif use sdl ; then
|
||||
elog "Using sdl for video output."
|
||||
myconf="$myconf --with-sdl --with-sdl-gfx --without-curses"
|
||||
elif use ncurses; then
|
||||
elog "Using ncurses for video output."
|
||||
myconf="$myconf --with-curses --without-sdl-gfx"
|
||||
else
|
||||
ewarn "There is no X or sdl or ncurses in USE!"
|
||||
ewarn "Following upstream falling back on ncurses."
|
||||
myconf="$myconf --with-curses --without-sdl-gfx"
|
||||
fi
|
||||
|
||||
# bug #415787
|
||||
myconf="$myconf --disable-ui"
|
||||
|
||||
myconf="$myconf $(use_with capslib caps)"
|
||||
|
||||
myconf="$myconf --with-zlib"
|
||||
|
||||
# And explicitly state defaults:
|
||||
myconf="$myconf --enable-aga"
|
||||
myconf="$myconf --enable-autoconfig --enable-scsi-device --enable-cdtv --enable-cd32"
|
||||
myconf="$myconf --enable-bsdsock"
|
||||
|
||||
econf ${myconf} \
|
||||
--with-libscg-includedir="${EPREFIX}"/usr/include/scsilib
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1
|
||||
}
|
||||
|
||||
src_install() {
|
||||
make DESTDIR="${D}" install || die "make install failed"
|
||||
|
||||
# The emulator needs to be able to create executable heap
|
||||
# - doesn't need trampoline emulation though.
|
||||
pax-mark me "${ED}/usr/bin/uae"
|
||||
|
||||
# Rename it to e-uae
|
||||
mv "${ED}/usr/bin/uae" "${ED}/usr/bin/e-uae"
|
||||
mv "${ED}/usr/bin/readdisk" "${ED}/usr/bin/e-readdisk"
|
||||
|
||||
dodoc docs/* README ChangeLog
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST fuse-1.0.0.tar.gz 1628751 SHA256 a00add3abc0148247f7990e6feebcc32d82ebe857897d9426e5230222425aeb9 SHA512 dfa3647d12f515f4fbea1481e074b947adc552f1fdec23c20b550bdce619e7efdd977cad7ecb75ab50eb2da785d95ef9d8908d44600412d12da4ca5751d0d7c3 WHIRLPOOL 4329df04555d031f41581d47d1284ebd73aaec19320df3dbd9a2aa594085a95734aaae9275487809800ae371e2ce6d4c14a6fdb628f959f2db791c19fdeeae9c
|
||||
DIST fuse-1.1.1.tar.gz 1881332 SHA256 a857d4bd62e01d18429897467508af15624cbaf343caed8b9ba1ab3a8879444e SHA512 67d12c56057a13121d8a5c073002dd2168268894669bdb50f3aba977cb1f53afa48774bfcb438a627a5afdbd2288248d4449e57d744e17b9e3eba00970685a14 WHIRLPOOL b64dd50037a4cba617bd0e10794c01e1a63bc2e68cd990636c1daa88e9a515032216b34e72ca6876f432a72d214d1220b808d2aae2ba849ee66f3d3784f14b73
|
||||
|
@ -1,95 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=4
|
||||
inherit eutils flag-o-matic
|
||||
|
||||
DESCRIPTION="Free Unix Spectrum Emulator by Philip Kendall"
|
||||
HOMEPAGE="http://fuse-emulator.sourceforge.net"
|
||||
SRC_URI="mirror://sourceforge/fuse-emulator/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc x86"
|
||||
IUSE="alsa ao fbcon gpm gtk joystick memlimit png sdl svga X xml"
|
||||
|
||||
# This build is heavily use dependent. Fuse user interface use flags are, in
|
||||
# order of precedence: gtk, sdl, X, svga and fbcon. X version of fuse will
|
||||
# be built if no valid user interface flag is chosen.
|
||||
RDEPEND="~app-emulation/libspectrum-1.0.0
|
||||
gtk? ( x11-libs/gtk+:2
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
!alsa? ( ao? ( media-libs/libao ) )
|
||||
joystick? ( media-libs/libjsw ) )
|
||||
!gtk? (
|
||||
sdl? ( >=media-libs/libsdl-1.2.4 )
|
||||
!sdl? (
|
||||
X? ( x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
!alsa? ( ao? ( media-libs/libao ) )
|
||||
joystick? ( media-libs/libjsw ) )
|
||||
!X? (
|
||||
svga? ( media-libs/svgalib
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
!alsa? ( ao? ( media-libs/libao ) ) )
|
||||
!svga? (
|
||||
fbcon? ( virtual/linux-sources
|
||||
gpm? ( sys-libs/gpm )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
!alsa? ( ao? ( media-libs/libao ) )
|
||||
joystick? ( media-libs/libjsw ) )
|
||||
!fbcon? ( x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
!alsa? ( ao? ( media-libs/libao ) )
|
||||
joystick? ( media-libs/libjsw ) ) ) ) ) )
|
||||
dev-libs/glib:2
|
||||
png? ( media-libs/libpng sys-libs/zlib )
|
||||
xml? ( dev-libs/libxml2 )"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-lang/perl
|
||||
virtual/pkgconfig"
|
||||
|
||||
DOCS=( AUTHORS ChangeLog README THANKS )
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${P}-libpng15.patch
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local guiflag
|
||||
|
||||
if use gtk; then
|
||||
guiflag=""
|
||||
elif use sdl; then
|
||||
guiflag="--with-sdl"
|
||||
elif use X; then
|
||||
guiflag="--without-gtk"
|
||||
elif use svga; then
|
||||
guiflag="--with-svgalib"
|
||||
elif use fbcon; then
|
||||
guiflag="--with-fb"
|
||||
else # We default to X user interface
|
||||
guiflag="--without-gtk"
|
||||
fi
|
||||
|
||||
append-libs -lm #370265, fixed in 1.1.1
|
||||
|
||||
econf \
|
||||
--without-win32 \
|
||||
${guiflag} \
|
||||
$(use_with gpm) \
|
||||
$(use_with alsa) \
|
||||
$(use_with ao libao) \
|
||||
$(use_with joystick) \
|
||||
$(use_enable joystick ui-joystick) \
|
||||
$(use_with xml libxml2) \
|
||||
$(use_with png ) \
|
||||
$(use_enable memlimit smallmem)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
doman man/fuse.1
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST libspectrum-1.0.0.tar.gz 462552 SHA256 cdf8f5006676c0f68939e331eeadeda5d608d777f1234b080b97f677f1dd287c SHA512 1ed3e36e9d62d69b470e959509d2a56e5a3608a9ea9f3f6f0ddd78e4f5f4a75da957e4120a0ffdf6366c3e90e148de9d83954fc711414389687e55bbc91f1bc8 WHIRLPOOL bf245f20181c82bae9e985e230729c3f341134f84239d82133231b2de5d8fe61533a1e11a9004b6d5a0971bdd97622ba453912522c66292b82715a5a937d351b
|
||||
DIST libspectrum-1.1.1.tar.gz 502942 SHA256 178d3607af2109b6b8dafac4f91912745b9f3c087319945c3a886bb7fe7989d5 SHA512 61197c8d1d6b4b595b55cf7e8f8c43423935291a9fbc688f1bb06d4c3ef53dbcf391a96f0528443518c2ca2d6fe187ee56d5ed915702f13a16ad44aa16037f49 WHIRLPOOL c89c7c3183f9d960dcedf789c763687e66cdaea1b2c41fdd41c1f1b0484cc9039790415bf8f231ff2bea0914fe2ababfd6d174338141bee13859521bf73caa92
|
||||
|
@ -1,41 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="3"
|
||||
|
||||
DESCRIPTION="Spectrum emulation library"
|
||||
HOMEPAGE="http://fuse-emulator.sourceforge.net/libspectrum.php"
|
||||
SRC_URI="mirror://sourceforge/fuse-emulator/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc x86"
|
||||
IUSE="audiofile bzip2 gcrypt zlib"
|
||||
|
||||
RDEPEND="zlib? ( sys-libs/zlib )
|
||||
bzip2? ( >=app-arch/bzip2-1.0 )
|
||||
>=dev-libs/glib-2
|
||||
gcrypt? ( dev-libs/libgcrypt:0 )
|
||||
audiofile? ( >=media-libs/audiofile-0.2.3 )"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-lang/perl
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_configure() {
|
||||
econf --with-glib \
|
||||
$(use_with zlib zlib) \
|
||||
$(use_with bzip2 bzip2) \
|
||||
$(use_with audiofile libaudiofile) \
|
||||
$(use_with gcrypt libgcrypt) \
|
||||
|| die "econf failed!"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake || die "Compilation failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake install DESTDIR="${D}" || die "Make install failed"
|
||||
dodoc AUTHORS ChangeLog README THANKS doc/*.txt *.txt
|
||||
doman doc/libspectrum.3
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST libvirt-3.2.0.tar.xz 14057340 SHA256 9481a083b567a07927f239553dd70b5c0d1bff5b9b4ec61be1899981c646209e SHA512 35a9db3d59a3817d15fd6a586a2a73860b3d8a2d2ff37dbea1b4045fe1514c3535fce2eeba0f09df2d0bb9072ed9f1078ca9bad61a37c586eb019ddad3f898c4 WHIRLPOOL 499eb2cbf1367c99c106a747c76087f6ed980cc057cdb10cefe50a8a823a294f67925c98b1baa6ac7e12dcc20c90145b9a0c1e0927772e3b4a046bb4414391a0
|
||||
DIST libvirt-3.3.0.tar.xz 14043384 SHA256 29e00984174e33cf2183b478382c017de26860452ffee17b73871051264ebb1b SHA512 69166ddd7d4b9ef3b1bf2466e781139ef9b4d224a64acc7b8e6fca8786d36482138a1fe7b7407c0fca3b3d012cb418d168671a3e65e428f023c16493b7718c2d WHIRLPOOL 1b2688f6b9a89608677070b5ce1fd2b2af115336126d4214071bc1abba25056d54dbbf16d6bdfab7582b252a833d3e53e51175d552d5c936b08973c0eed76643
|
||||
DIST libvirt-3.4.0.tar.xz 14630904 SHA256 42186af6225904d2ada0b494fda4fa777fe5e662a9134686816e7919332c248d SHA512 41a3374e8a171827dfc11feb2ae8c1a9d889912257191b94111f53bbe0521d5bc73c824ea856e4cece257918b244120e9f44c800abe23d0296c85c18b5d14461 WHIRLPOOL 3b4b9ad35f590748fbc63595fab86671f66674d2c40fa8e02860265a39be5b48ed9c66c14ac235b36d29d833475aebbbf57f691e53ac2bd324dacb16507793bf
|
||||
|
@ -0,0 +1,382 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools eutils user linux-info systemd readme.gentoo-r1
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="git://libvirt.org/libvirt.git"
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
SLOT="0"
|
||||
else
|
||||
# Versions with 4 numbers are stable updates:
|
||||
if [[ ${PV} =~ ^[0-9]+(\.[0-9]+){3} ]]; then
|
||||
SRC_URI="http://libvirt.org/sources/stable_updates/${P}.tar.xz"
|
||||
else
|
||||
SRC_URI="http://libvirt.org/sources/${P}.tar.xz"
|
||||
fi
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="http://www.libvirt.org/"
|
||||
LICENSE="LGPL-2.1"
|
||||
IUSE="
|
||||
apparmor audit +caps +dbus firewalld fuse glusterfs iscsi +libvirtd lvm
|
||||
libssh lxc +macvtap nfs nls numa openvz parted pcap phyp policykit
|
||||
+qemu rbd sasl selinux +udev uml +vepa virtualbox virt-network
|
||||
wireshark-plugins xen zeroconf zfs elibc_glibc
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
policykit? ( dbus )
|
||||
qemu? ( libvirtd )
|
||||
uml? ( libvirtd )
|
||||
vepa? ( macvtap )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
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 )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dbus? ( sys-apps/dbus )
|
||||
elibc_glibc? ( sys-libs/glibc[rpc(+)] )
|
||||
firewalld? ( net-firewall/firewalld )
|
||||
fuse? ( >=sys-fs/fuse-2.8.6 )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
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[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? ( >=sys-auth/polkit-0.9 )
|
||||
qemu? (
|
||||
>=app-emulation/qemu-0.13.0
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
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
|
||||
)
|
||||
zeroconf? ( >=net-dns/avahi-0.6[dbus] )
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
virtual/pkgconfig"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.3.0-do_not_use_sysconf.patch
|
||||
"${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-3.0.0-fix_paths_for_apparmor.patch
|
||||
"${FILESDIR}"/${PN}-1.3.4-glibc-2.23.patch
|
||||
"${FILESDIR}"/${PN}-3.1.0-musl-fix-includes.patch # bug #609488
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
if use qemu; then
|
||||
enewgroup qemu 77
|
||||
enewuser qemu 77 -1 -1 "qemu,kvm"
|
||||
fi
|
||||
|
||||
use policykit && enewgroup libvirt
|
||||
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use macvtap && CONFIG_CHECK+="
|
||||
~MACVTAP"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
# Handle specific kernel versions for different features
|
||||
kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR"
|
||||
if kernel_is ge 3 6; then
|
||||
CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP "
|
||||
kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM "
|
||||
fi
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap"
|
||||
|
||||
default
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# git checkouts require bootstrapping to create the configure script.
|
||||
# Additionally the submodules must be cloned to the right locations
|
||||
# bug #377279
|
||||
./bootstrap || die "bootstrap failed"
|
||||
(
|
||||
git submodule status | sed 's/^[ +-]//;s/ .*//'
|
||||
git hash-object bootstrap.conf
|
||||
) >.git-module-status
|
||||
fi
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r16" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-e "s/USE_FLAG_AVAHI/$(usex zeroconf 'use avahi-daemon' '')/" \
|
||||
-e "s/USE_FLAG_ISCSI/$(usex iscsi 'use iscsid' '')/" \
|
||||
-e "s/USE_FLAG_RBD/$(usex rbd 'use ceph' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
$(use_with apparmor)
|
||||
$(use_with apparmor apparmor-profiles)
|
||||
$(use_with audit)
|
||||
$(use_with caps capng)
|
||||
$(use_with dbus)
|
||||
$(use_with firewalld)
|
||||
$(use_with fuse)
|
||||
$(use_with glusterfs)
|
||||
$(use_with glusterfs storage-gluster)
|
||||
$(use_with iscsi storage-iscsi)
|
||||
$(use_with libvirtd)
|
||||
$(use_with libssh)
|
||||
$(use_with lvm storage-lvm)
|
||||
$(use_with lvm storage-mpath)
|
||||
$(use_with lxc)
|
||||
$(use_with macvtap)
|
||||
$(use_enable nls)
|
||||
$(use_with numa numactl)
|
||||
$(use_with numa numad)
|
||||
$(use_with openvz)
|
||||
$(use_with parted storage-disk)
|
||||
$(use_with pcap libpcap)
|
||||
$(use_with phyp)
|
||||
$(use_with policykit polkit)
|
||||
$(use_with qemu)
|
||||
$(use_with qemu yajl)
|
||||
$(use_with rbd storage-rbd)
|
||||
$(use_with sasl)
|
||||
$(use_with selinux)
|
||||
$(use_with udev)
|
||||
$(use_with uml)
|
||||
$(use_with vepa virtualport)
|
||||
$(use_with virt-network network)
|
||||
$(use_with wireshark-plugins wireshark-dissector)
|
||||
$(use_with xen)
|
||||
$(use_with xen xen-inotify)
|
||||
$(use_with xen libxl)
|
||||
$(use_with zeroconf avahi)
|
||||
$(use_with zfs storage-zfs)
|
||||
|
||||
--without-hal
|
||||
--without-netcf
|
||||
--without-sanlock
|
||||
--without-xenapi
|
||||
|
||||
--with-esx
|
||||
--with-init-script=systemd
|
||||
--with-qemu-group=$(usex caps qemu root)
|
||||
--with-qemu-user=$(usex caps qemu root)
|
||||
--with-remote
|
||||
--with-storage-fs
|
||||
--with-vmware
|
||||
|
||||
--disable-static
|
||||
--disable-werror
|
||||
|
||||
--with-html-subdir=${PF}/html
|
||||
--localstatedir=/var
|
||||
)
|
||||
|
||||
if use virtualbox && has_version app-emulation/virtualbox-ose; then
|
||||
myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ )
|
||||
else
|
||||
myeconfargs+=( $(use_with virtualbox vbox) )
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# Restore gnulib's config.sub and config.guess
|
||||
# bug #377279
|
||||
(cd .gnulib && git reset --hard > /dev/null)
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
# remove problematic tests, bug #591416, bug #591418
|
||||
sed -i -e 's#commandtest$(EXEEXT) # #' \
|
||||
-e 's#virfirewalltest$(EXEEXT) # #' \
|
||||
-e 's#nwfilterebiptablestest$(EXEEXT) # #' \
|
||||
-e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \
|
||||
tests/Makefile
|
||||
|
||||
export VIR_TEST_DEBUG=1
|
||||
HOME="${T}" emake check || die "tests failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" \
|
||||
SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install
|
||||
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
|
||||
# Remove bogus, empty directories. They are either not used, or
|
||||
# libvirtd is able to create them on demand
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var/cache
|
||||
rm -rf "${D}"/var/run
|
||||
rm -rf "${D}"/var/log
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
systemd_install_serviced \
|
||||
"${FILESDIR}"/libvirtd.service.conf libvirtd.service
|
||||
|
||||
systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd || die
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r2" libvirt-guests || die
|
||||
newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die
|
||||
newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r2")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# we only ever want to generate this once
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -0,0 +1,77 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="MIPS Simulator"
|
||||
HOMEPAGE="http://spimsimulator.sourceforge.net/"
|
||||
SRC_URI="http://www.cs.wisc.edu/~larus/SPIM/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
IUSE="doc X"
|
||||
|
||||
RDEPEND="X? ( media-fonts/font-adobe-100dpi
|
||||
x11-libs/libXaw
|
||||
x11-libs/libXp )"
|
||||
DEPEND="${RDEPEND}
|
||||
X? ( x11-misc/imake
|
||||
x11-proto/xproto )
|
||||
>=sys-apps/sed-4
|
||||
sys-devel/bison"
|
||||
# test hangs forever, disabling it
|
||||
RESTRICT="test"
|
||||
|
||||
src_prepare() {
|
||||
# fix bugs 240005 and 243588
|
||||
eapply "${FILESDIR}/${P}-r1-respect_env.patch"
|
||||
|
||||
#fix bug 330389
|
||||
sed -i -e 's:-12-\*-75-:-14-\*-100-:g' xspim/xspim.c || die
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC
|
||||
emake -C spim configuration
|
||||
|
||||
if use X; then
|
||||
emake -C xspim configuration
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake DESTDIR="${EPREFIX}" -C spim
|
||||
|
||||
if use X; then
|
||||
emake DESTDIR="${EPREFIX}" EXCEPTION_DIR=/var/lib/spim \
|
||||
-C xspim -j1 xspim
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${ED}" -C spim install
|
||||
newman Documentation/spim.man spim.1
|
||||
|
||||
if use X; then
|
||||
emake DESTDIR="${ED}" -C xspim install
|
||||
newman Documentation/xspim.man xspim.1
|
||||
fi
|
||||
|
||||
doicon "${FILESDIR}"/xspim.svg
|
||||
make_desktop_entry xspim xSPIM xspim "ComputerScience;Science;Education"
|
||||
|
||||
dodoc Documentation/SPIM.html
|
||||
dodoc ChangeLog Documentation/BLURB README VERSION
|
||||
if use doc ; then
|
||||
dodoc Documentation/TeX/{cycle,spim}.ps
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake -C spim test
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="Manages the /usr/bin/miniAudicle symlink"
|
||||
HOMEPAGE="https://www.gentoo.org/"
|
||||
SRC_URI="mirror://gentoo/miniaudicle.eselect-${PV}.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND=">=app-admin/eselect-1.2.3"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
src_prepare() {
|
||||
# Fixes listing as described in bug 320189, not upstream yet
|
||||
eapply "${FILESDIR}"/miniaudicle-1.0.1_list.patch
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/eselect/modules
|
||||
newins "${WORKDIR}/miniaudicle.eselect-${PV}" miniaudicle.eselect
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
DIST man-pages-fr-2.39.0.tar.bz2 893093 SHA256 0a9157868ef7f5be469a4252d0df08d0df0cf7b57b986a55e9e4e7592c212da2 SHA512 1c3d856a16cb42a55293d89806c176b6bd952119e1ca2300d1f4e66471147877a25dba9050e3998a6110592c7de6bcd36bd60f945b2f30d663248ccfc80274ea WHIRLPOOL d47fbdf9eb2e2164c7643fb2f91480c360b80f6338afcd74bde733d9b3a1e7a4279b509e2ac96befdd0e757eadd1adbf4ddb53773a03e90ae488c6397c407f04
|
||||
DIST man-pages-fr-3.40.1.tar.bz2 1136351 SHA256 0bab5b5f703c805139bfa38ceb2360173044aca5dd398bc1e307da9745e35988 SHA512 58027da7b78a442a84448ed6d7c6c89ccbe97fd811afb26a9c6580da2e15b86f7fae4c876d773f7ceca1fbe92c265693eae01b76ad4795b52c0298ba25ac1330 WHIRLPOOL dcf6a253a149e41d489fc4362e8430ce37b823f0d7804fc80f2aa97d0f4f9fe1def1804bad69f8f1de4e8ee79c1297b8a32e0b9a4449b4c2b64da4408fe28dbe
|
||||
DIST man-pages-fr-3.70-1.tar.xz 1143156 SHA256 6d07c3b51a75c10b72eaab703c3eb5d315fd6fa8b354e145cc29da12e9a158a6 SHA512 7bb6991b2278c898d67d465ebe434dc3a969e9ec5c962ed6b6fdb41e66121a1924573f529d310adf30cd8494515888627b3226f26b906452a8882c4851c290d8 WHIRLPOOL 4858ad94730f9ef509e8684656fb982d8c547f960f8278121e7d514953303d8f40a66540335a71cab6ac5470bad5bd5da1167bdf4d0eb26fff3e07117b1540cb
|
||||
|
@ -1,23 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
DESCRIPTION="A somewhat comprehensive collection of french Linux man pages"
|
||||
HOMEPAGE="http://fr.tldp.org/manfr.php"
|
||||
SRC_URI="ftp://ftp.win.tue.nl/pub/linux-local/manpages/translations/${P}.tar.bz2"
|
||||
|
||||
LICENSE="man-pages GPL-2+ BSD MIT LDP-1 public-domain"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-linux"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="virtual/man"
|
||||
|
||||
src_compile() { :; }
|
||||
|
||||
src_install() {
|
||||
dodoc LISEZ_MOI changements
|
||||
for x in man? ; do
|
||||
insinto /usr/share/man/fr/${x}
|
||||
doins ${x}/* || die "doins ${x}"
|
||||
done
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="A somewhat comprehensive collection of french Linux man pages"
|
||||
HOMEPAGE="https://traduc.org/perkamon"
|
||||
SRC_URI="https://alioth.debian.org/frs/download.php/file/4119/${P}-1.tar.xz"
|
||||
|
||||
LICENSE="BSD FDL-1.1 FDL-1.2 GPL-2 GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="virtual/man"
|
||||
DEPEND=""
|
||||
|
||||
S="${WORKDIR}/fr"
|
||||
|
||||
src_install() {
|
||||
dodoc README.fr
|
||||
doman -i18n=fr man*/*
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=4
|
||||
|
||||
DESCRIPTION="Converts DVI files to SVG"
|
||||
HOMEPAGE="http://dvisvgm.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
IUSE="test"
|
||||
# Tests don't work from $WORKDIR: kpathsea tries to search in relative
|
||||
# directories from where the binary is executed.
|
||||
# We cannot really use absolute paths in the kpathsea configuration since that
|
||||
# would make it harder for prefix installs.
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="virtual/tex-base
|
||||
app-text/ghostscript-gpl
|
||||
>=media-gfx/potrace-1.10-r1
|
||||
media-libs/freetype:2
|
||||
sys-libs/zlib"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
test? ( dev-cpp/gtest )"
|
@ -1,42 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils toolchain-funcs flag-o-matic autotools
|
||||
|
||||
DESCRIPTION="Converts DVI files to SVG"
|
||||
HOMEPAGE="http://dvisvgm.bplaced.net/"
|
||||
SRC_URI="https://github.com/mgieseki/dvisvgm/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
IUSE="test"
|
||||
# Tests don't work from $WORKDIR: kpathsea tries to search in relative
|
||||
# directories from where the binary is executed.
|
||||
# We cannot really use absolute paths in the kpathsea configuration since that
|
||||
# would make it harder for prefix installs.
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="virtual/tex-base
|
||||
app-text/ghostscript-gpl
|
||||
>=media-gfx/potrace-1.10-r1
|
||||
media-libs/freetype:2
|
||||
dev-libs/kpathsea
|
||||
sys-libs/zlib"
|
||||
DEPEND="${RDEPEND}
|
||||
app-text/xmlto
|
||||
app-text/asciidoc
|
||||
virtual/pkgconfig
|
||||
test? ( dev-cpp/gtest )"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${P}-c99-compile.patch
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
has_version '>=dev-libs/kpathsea-6.2.1' && append-cppflags "$($(tc-getPKG_CONFIG) --cflags kpathsea)"
|
||||
default
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit toolchain-funcs flag-o-matic
|
||||
|
||||
DESCRIPTION="Converts DVI files to SVG"
|
||||
HOMEPAGE="http://dvisvgm.bplaced.net/"
|
||||
SRC_URI="https://github.com/mgieseki/dvisvgm/releases/download/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
IUSE="test"
|
||||
# Tests don't work from $WORKDIR: kpathsea tries to search in relative
|
||||
# directories from where the binary is executed.
|
||||
# We cannot really use absolute paths in the kpathsea configuration since that
|
||||
# would make it harder for prefix installs.
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="virtual/tex-base
|
||||
app-text/ghostscript-gpl
|
||||
>=media-gfx/potrace-1.10-r1
|
||||
media-libs/freetype:2
|
||||
dev-libs/kpathsea
|
||||
sys-libs/zlib"
|
||||
DEPEND="${RDEPEND}
|
||||
app-text/xmlto
|
||||
app-text/asciidoc
|
||||
dev-libs/libxslt
|
||||
virtual/pkgconfig
|
||||
test? ( dev-cpp/gtest )"
|
||||
|
||||
src_configure() {
|
||||
has_version '>=dev-libs/kpathsea-6.2.1' && append-cppflags "$($(tc-getPKG_CONFIG) --cflags kpathsea)"
|
||||
default
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit toolchain-funcs flag-o-matic
|
||||
|
||||
DESCRIPTION="Converts DVI files to SVG"
|
||||
HOMEPAGE="http://dvisvgm.bplaced.net/"
|
||||
SRC_URI="https://github.com/mgieseki/dvisvgm/releases/download/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
IUSE="test"
|
||||
# Tests don't work from $WORKDIR: kpathsea tries to search in relative
|
||||
# directories from where the binary is executed.
|
||||
# We cannot really use absolute paths in the kpathsea configuration since that
|
||||
# would make it harder for prefix installs.
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="virtual/tex-base
|
||||
app-text/ghostscript-gpl
|
||||
>=media-gfx/potrace-1.10-r1
|
||||
media-libs/freetype:2
|
||||
dev-libs/kpathsea
|
||||
sys-libs/zlib"
|
||||
DEPEND="${RDEPEND}
|
||||
app-text/xmlto
|
||||
app-text/asciidoc
|
||||
dev-libs/libxslt
|
||||
virtual/pkgconfig
|
||||
test? ( dev-cpp/gtest )"
|
||||
|
||||
src_configure() {
|
||||
has_version '>=dev-libs/kpathsea-6.2.1' && append-cppflags "$($(tc-getPKG_CONFIG) --cflags kpathsea)"
|
||||
default
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit toolchain-funcs flag-o-matic
|
||||
|
||||
DESCRIPTION="Converts DVI files to SVG"
|
||||
HOMEPAGE="http://dvisvgm.bplaced.net/"
|
||||
SRC_URI="https://github.com/mgieseki/dvisvgm/releases/download/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
IUSE="test"
|
||||
# Tests don't work from $WORKDIR: kpathsea tries to search in relative
|
||||
# directories from where the binary is executed.
|
||||
# We cannot really use absolute paths in the kpathsea configuration since that
|
||||
# would make it harder for prefix installs.
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="virtual/tex-base
|
||||
app-text/ghostscript-gpl
|
||||
>=media-gfx/potrace-1.10-r1
|
||||
media-libs/freetype:2
|
||||
dev-libs/kpathsea
|
||||
sys-libs/zlib"
|
||||
DEPEND="${RDEPEND}
|
||||
app-text/xmlto
|
||||
app-text/asciidoc
|
||||
dev-libs/libxslt
|
||||
virtual/pkgconfig
|
||||
test? ( dev-cpp/gtest )"
|
||||
|
||||
src_configure() {
|
||||
has_version '>=dev-libs/kpathsea-6.2.1' && append-cppflags "$($(tc-getPKG_CONFIG) --cflags kpathsea)"
|
||||
default
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
From 4aaf49080cfc84c2aa4a271b8dd12e9e9fa8b7bd Mon Sep 17 00:00:00 2001
|
||||
From: Martin Gieseking <martin.gieseking@uos.de>
|
||||
Date: Wed, 16 Nov 2016 18:36:09 +0100
|
||||
Subject: [PATCH] ensure compiling C files with --std=c99
|
||||
|
||||
---
|
||||
configure.ac | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 1044096..6a317be 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -17,8 +17,9 @@ AH_TEMPLATE([TARGET_SYSTEM], [The machine triplet of the target system])
|
||||
AC_DEFINE_UNQUOTED([TARGET_SYSTEM], ["$target"])
|
||||
|
||||
# Checks for programs.
|
||||
-AC_PROG_CXX
|
||||
AC_PROG_CC
|
||||
+AC_PROG_CC_C99
|
||||
+AC_PROG_CXX
|
||||
AX_CXX_COMPILE_STDCXX([11], [noext])
|
||||
|
||||
AC_PROG_RANLIB
|
@ -1,3 +1,2 @@
|
||||
DIST glibmm-2.48.1.tar.xz 6235724 SHA256 dc225f7d2f466479766332483ea78f82dc349d59399d30c00de50e5073157cdf SHA512 280949315e592ff8f3f7cfa6376d129211ffb6832146578d6533c4792aafef8b4ea5354943d5623ebf34ce31b8c71b6055a51de2b8ae8cfb419e6e033d9f98fa WHIRLPOOL 81c369bf7bf7ebc1f88e47943ed4b352644cad05566ec2fa04f0974a9e48dbc56b3cbd2f3bde9f55412da886e9b99fde096a1936834c65c77ede3781be30e0fd
|
||||
DIST glibmm-2.50.0.tar.xz 6435208 SHA256 df726e3c6ef42b7621474b03b644a2e40ec4eef94a1c5a932c1e740a78f95e94 SHA512 ed1043fbb5d16dfcb1e71f73e2c998110aa0dbc42b3fc9d8d1cc03e299b171021f2d2ac3055f5685d11b4dc1ddef42d9378eaac895163ddd80f39a627cecdc60 WHIRLPOOL b9c6867876311381b986f5123b6574bae01b45054e80a00c83688d756ed2a8e213dc3b1153a0aeb2672d9db998771fd6f538e1d592ffcb695ff7ac6147094975
|
||||
DIST glibmm-2.50.1.tar.xz 6444576 SHA256 1fd85051da9cb402cc8348cec72dfe4d79f9345df4a1dbf68703a4ded45846a4 SHA512 4f25c75c1628ca2f4db1c29cebc63187d372603066b06aa6a66c6da792f9e02cb4a413e41f058a81e2d5a2b38d625de13df76115b278f010ce2fc493fe6e6bbb WHIRLPOOL 54b656e04550a050994061db1498a3ac066b1e37643faa218ec1ef04604c0d37c799572b546e79c29f1b35586b1a5b0c354eca72151756eb99f4434a27fa7ae2
|
||||
|
@ -1,65 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit gnome2 multilib-minimal
|
||||
|
||||
DESCRIPTION="C++ interface for glib2"
|
||||
HOMEPAGE="https://www.gtkmm.org"
|
||||
|
||||
LICENSE="LGPL-2.1+ GPL-2+" # GPL-2+ applies only to the build system
|
||||
SLOT="2"
|
||||
KEYWORDS="alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
|
||||
IUSE="doc debug test"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libsigc++-2.9.1:2[${MULTILIB_USEDEP}]
|
||||
>=dev-libs/glib-2.50.0:2[${MULTILIB_USEDEP}]
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
doc? ( app-doc/doxygen )
|
||||
"
|
||||
# dev-cpp/mm-common needed for eautoreconf
|
||||
|
||||
src_prepare() {
|
||||
if ! use test; then
|
||||
# don't waste time building tests
|
||||
sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' \
|
||||
-i Makefile.am Makefile.in || die "sed 1 failed"
|
||||
fi
|
||||
|
||||
# don't build examples - we want to install example sources, not binaries
|
||||
sed 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' \
|
||||
-i Makefile.am Makefile.in || die "sed 2 failed"
|
||||
|
||||
gnome2_src_prepare
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE="${S}" gnome2_src_configure \
|
||||
$(use_enable debug debug-refcounting) \
|
||||
$(multilib_native_use_enable doc documentation) \
|
||||
--enable-deprecated-api
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
cd tests
|
||||
default
|
||||
|
||||
for i in */test; do
|
||||
${i} || die "Running tests failed at ${i}"
|
||||
done
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
gnome2_src_install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
find examples -type d -name '.deps' -exec rm -rf {} \; 2>/dev/null
|
||||
find examples -type f -name 'Makefile*' -exec rm -f {} \; 2>/dev/null
|
||||
dodoc -r examples
|
||||
}
|
@ -1,6 +1,4 @@
|
||||
DIST etcd-2.3.7.tar.gz 2209051 SHA256 aa3a6340bb08d072d1d2ecfbe3c1e02235251760d031a2b699ee1710510ee883 SHA512 a551287ebf6e881e2c6a56a7e75c273d125ed2b4b3ea58533e4481bc12ca21167de02820aaa1f4775b81385e96e65f882e97121920be02d72abe82f43652daf9 WHIRLPOOL e01bf51978b9287e9e662f8689630d80eb79aace43fe0c81f1898718ccec1a0a93e53543c3df001dfc12dac2a3844f5a4fe2de28d97654b671648ad93681185a
|
||||
DIST etcd-2.3.8.tar.gz 2206562 SHA256 6a138b2005e42b0961a12886cc641b792e991cd631fdb502ec5c614b65231cd1 SHA512 4268de32797cab23e9e47784d31d5abd6982068c53d3cc9735a06719740dba45b73f4e067cbc7aa8aef5ca7c56d8be067f1076685ac82f64012b760d8b7f2bfc WHIRLPOOL 4db1b4fe6d0ff917adfc53bd959bb7ac2937da794483e4a4a95e5fb557cf4fbfd43d5bb3c5e21e499432f80f6606407accaa69bc03a3982621276deb529c07da
|
||||
DIST etcd-3.0.17.tar.gz 2208002 SHA256 c56c68a8cd5d120a51432f3a79a2c19082a6824493e4bb08c4e440aefbf73d8f SHA512 6eb6a61210f225b6fe7e911ad135e5014f80f71a04adccc3f382ca7b5e1b1b692b12dde26335ecac176cb8b8f4586732cb6e650b32730ec68ef7fbcbba7ab160 WHIRLPOOL 102dc47d120a1f4173b67168e5e51f64025da280ca41161131a6bd2ef9521605ef19e03166848f6c32862a3adbfc0a026f547dc7764018e85f6ac28f89c8d256
|
||||
DIST etcd-3.1.0.tar.gz 2516872 SHA256 62ecb70a470b45436814e2882d36742a4035e1d62e6634450e71ca0ed951919b SHA512 b377ac492dd842a0f24d2816cd37bb40e692289efbbab63ab54e1b31e7999f26c6c0f2887249f5fd775266919a614699e561ecfc82c8a687d2cf1b25fdb7478f WHIRLPOOL b47a81ea597617a4eab6ee29d51b964f942b8dc324063e6633e2818320ce3b19e1907975a28ca3186cc112553b4e8580c210ad4854945484dcc26f359d0c60e6
|
||||
DIST etcd-3.1.6.tar.gz 2522712 SHA256 9bc6f280f3875f7e5dd6685c4dbe1a237306669843cced38d08ea53580bafb19 SHA512 3ff6d7c85c345d5d4515f7c8cc40c01758ef34bfe65a8f23149dfea5037e4dee5c382e3a28c17d7e8865b8e916c2e61cc350277c9e5be7f5b7853c4f59a2bfe3 WHIRLPOOL 87f9835a1a6ed40bcfedb051973140e81b72874da6be22777f70e8a2a6046a2be5ebd00b2e98220d77eb185ef9e044032cc2fbfc2513187633b606b9087347c2
|
||||
DIST etcd-3.1.8.tar.gz 2524139 SHA256 f68700f710dfd9c5fefb41a60e96f9d0c7907e6abe21518ab0a05f6e425a3d4e SHA512 8228f4556501fbc860eb381df9ec806be0973cc92550e1285f88800575760ee7f0bc277edb6c32eb3b7c6bea7af3a1074986c9ceb6b4d97166623f16bc3dc36a WHIRLPOOL 1edca7e720d76f4b532a805e096cc33289c2fc981b11fc37d4327aead394aaddc89f199f65392e0b3b2caa14bc9c8e6abf62895fd0fbf8eaef8e9c74ba09f4b9
|
||||
DIST etcd-3.1.9.tar.gz 2524517 SHA256 94cf6a970ca707eec16e3264b8cd20ef8963d0683958ef087b52f490ab784a6f SHA512 e4727f2bafaf38c139608726947258f3ae3aa91452b145710ff527f5b57cbda18474902450581882e668befc422f6a1b9f1232a23e3eeedefae2ed2da1814cfc WHIRLPOOL c0241b76220cfccc331db3caf19c1ab33485b0219d31656a26e577c0ae9ae606f17f05b34a1c58644b24a2a712b61982429c25489923892ccb09806ac0a2eb24
|
||||
DIST etcd-3.2.0.tar.gz 2869095 SHA256 b047756eea4d1592d373582e3300c0aec58c508e6a08bf6582c08d3571f3578d SHA512 a5d119eace3ffb441b847613bed0f011f53666eba0130b0da48b4511b61918228412f1caa93775c5b4e32f9c9cb549382f922257fd1b93f844967521686b86c6 WHIRLPOOL 95df6f3f271016bdf8288a6cd3424f7706a8695e473a7828eac625b1b810af9d9e10b2e164755659d989744e7d041db96839e94d748152184a65c6e8391565bc
|
||||
|
@ -1,58 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit user systemd
|
||||
|
||||
KEYWORDS="~amd64"
|
||||
DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
|
||||
HOMEPAGE="https://github.com/coreos/etcd/"
|
||||
SRC_URI="https://github.com/coreos/etcd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="doc"
|
||||
DEPEND=">=dev-lang/go-1.4:="
|
||||
RDEPEND="!dev-db/etcdctl"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup ${PN}
|
||||
enewuser ${PN} -1 -1 /var/lib/${PN} ${PN}
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
sed -e 's|GIT_SHA=.*|GIT_SHA=v${PV}|'\
|
||||
-e 's|-ldflags "-s.*"|-v -x|' \
|
||||
-e 's|-ldflags "-s|-v -x "|' \
|
||||
-i build || die
|
||||
sed -e 's|go test|\0 -v|'\
|
||||
-i test || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
./build || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /etc/${PN}
|
||||
doins "${FILESDIR}/${PN}.conf"
|
||||
dobin bin/*
|
||||
dodoc README.md
|
||||
use doc && dodoc -r Documentation
|
||||
systemd_dounit "${FILESDIR}/${PN}.service"
|
||||
systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf
|
||||
newinitd "${FILESDIR}"/${PN}.initd ${PN}
|
||||
newconfd "${FILESDIR}"/${PN}.confd ${PN}
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}/${PN}.logrotated" "${PN}"
|
||||
dodir /var/lib/${PN}
|
||||
fowners ${PN}:${PN} /var/lib/${PN}
|
||||
fperms 755 /var/lib/${PN}
|
||||
dodir /var/log/${PN}
|
||||
fowners ${PN}:${PN} /var/log/${PN}
|
||||
fperms 755 /var/log/${PN}
|
||||
}
|
||||
|
||||
src_test() {
|
||||
./test || die
|
||||
}
|
@ -1,60 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit user systemd golang-vcs-snapshot
|
||||
|
||||
KEYWORDS="~amd64"
|
||||
EGO_PN=github.com/coreos/etcd
|
||||
DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
|
||||
HOMEPAGE="https://${EGO_PN}/"
|
||||
SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="doc"
|
||||
DEPEND=">=dev-lang/go-1.6:="
|
||||
RDEPEND="!dev-db/etcdctl"
|
||||
|
||||
src_prepare() {
|
||||
eapply_user
|
||||
sed -e 's|GIT_SHA=.*|GIT_SHA=v${PV}|'\
|
||||
-i "${S}"/src/${EGO_PN}/build || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup ${PN}
|
||||
enewuser ${PN} -1 -1 /var/lib/${PN} ${PN}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export GOPATH=${S}
|
||||
cd "${S}"/src/${EGO_PN} || die
|
||||
./build || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd "${S}"/src/${EGO_PN} || die
|
||||
insinto /etc/${PN}
|
||||
doins "${FILESDIR}/${PN}.conf"
|
||||
dobin bin/*
|
||||
dodoc README.md
|
||||
use doc && dodoc -r Documentation
|
||||
systemd_dounit "${FILESDIR}/${PN}.service"
|
||||
systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf
|
||||
newinitd "${FILESDIR}"/${PN}.initd ${PN}
|
||||
newconfd "${FILESDIR}"/${PN}.confd ${PN}
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}/${PN}.logrotated" "${PN}"
|
||||
dodir /var/lib/${PN}
|
||||
fowners ${PN}:${PN} /var/lib/${PN}
|
||||
fperms 755 /var/lib/${PN}
|
||||
dodir /var/log/${PN}
|
||||
fowners ${PN}:${PN} /var/log/${PN}
|
||||
fperms 755 /var/log/${PN}
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${S}"/src/${EGO_PN} || die
|
||||
./test || die
|
||||
}
|
@ -0,0 +1,261 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator
|
||||
|
||||
SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))"
|
||||
DOC_PV="${SRC_PV}"
|
||||
# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))"
|
||||
|
||||
DESCRIPTION="A SQL Database Engine in a C Library"
|
||||
HOMEPAGE="https://sqlite.org/"
|
||||
SRC_URI="doc? ( https://sqlite.org/2017/${PN}-doc-${DOC_PV}.zip )
|
||||
tcl? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip )
|
||||
test? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip )
|
||||
tools? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip )
|
||||
!tcl? ( !test? ( !tools? ( https://sqlite.org/2017/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )"
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="3"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
|
||||
|
||||
RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
|
||||
readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
|
||||
tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
|
||||
tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( app-arch/unzip )
|
||||
tcl? ( app-arch/unzip )
|
||||
test? (
|
||||
app-arch/unzip
|
||||
dev-lang/tcl:0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
tools? ( app-arch/unzip )"
|
||||
|
||||
full_tarball() {
|
||||
use tcl || use test || use tools
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if full_tarball; then
|
||||
S="${WORKDIR}/${PN}-src-${SRC_PV}"
|
||||
else
|
||||
S="${WORKDIR}/${PN}-autoconf-${SRC_PV}"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if full_tarball; then
|
||||
eapply -p0 "${FILESDIR}/${PN}-3.18.0-full_tarball-build.patch"
|
||||
|
||||
eapply_user
|
||||
|
||||
# Fix AC_CHECK_FUNCS.
|
||||
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
|
||||
sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed"
|
||||
else
|
||||
eapply -p0 "${FILESDIR}/${PN}-3.16.0-nonfull_tarball-build.patch"
|
||||
|
||||
eapply_user
|
||||
|
||||
# Fix AC_CHECK_FUNCS.
|
||||
# https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
|
||||
sed \
|
||||
-e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \
|
||||
-e "/AC_CHECK_FUNCS(posix_fallocate)/d" \
|
||||
-i configure.ac || die "sed failed"
|
||||
fi
|
||||
|
||||
eautoreconf
|
||||
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local CPPFLAGS="${CPPFLAGS}" options=()
|
||||
|
||||
options+=(
|
||||
--enable-$(full_tarball && echo load-extension || echo dynamic-extensions)
|
||||
--enable-threadsafe
|
||||
)
|
||||
if ! full_tarball; then
|
||||
options+=(--disable-static-shell)
|
||||
fi
|
||||
|
||||
# Support detection of misuse of SQLite API.
|
||||
# https://sqlite.org/compile.html#enable_api_armor
|
||||
append-cppflags -DSQLITE_ENABLE_API_ARMOR
|
||||
|
||||
# Support column metadata functions.
|
||||
# https://sqlite.org/c3ref/column_database_name.html
|
||||
append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
|
||||
|
||||
# Support dbstat virtual table.
|
||||
# https://sqlite.org/dbstat.html
|
||||
append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
|
||||
|
||||
# Support comments in output of EXPLAIN.
|
||||
# https://sqlite.org/compile.html#enable_explain_comments
|
||||
append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
|
||||
|
||||
# Support Full-Text Search versions 3, 4 and 5.
|
||||
# https://sqlite.org/fts3.html
|
||||
# https://sqlite.org/fts5.html
|
||||
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
|
||||
options+=(--enable-fts5)
|
||||
|
||||
# Support hidden columns.
|
||||
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
|
||||
|
||||
# Support JSON1 extension.
|
||||
# https://sqlite.org/json1.html
|
||||
append-cppflags -DSQLITE_ENABLE_JSON1
|
||||
|
||||
# Support memsys5 memory allocator.
|
||||
# https://sqlite.org/malloc.html#memsys5
|
||||
append-cppflags -DSQLITE_ENABLE_MEMSYS5
|
||||
|
||||
# Support Resumable Bulk Update extension.
|
||||
# https://sqlite.org/rbu.html
|
||||
append-cppflags -DSQLITE_ENABLE_RBU
|
||||
|
||||
# Support R*Trees.
|
||||
# https://sqlite.org/rtree.html
|
||||
append-cppflags -DSQLITE_ENABLE_RTREE
|
||||
|
||||
# Support scan status functions.
|
||||
# https://sqlite.org/c3ref/stmt_scanstatus.html
|
||||
# https://sqlite.org/c3ref/stmt_scanstatus_reset.html
|
||||
append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
|
||||
|
||||
# Support Session extension.
|
||||
# https://sqlite.org/sessionintro.html
|
||||
options+=(--enable-session)
|
||||
|
||||
# Support unknown() function.
|
||||
# https://sqlite.org/compile.html#enable_unknown_sql_function
|
||||
append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
|
||||
|
||||
# Support unlock notification.
|
||||
# https://sqlite.org/unlock_notify.html
|
||||
append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
|
||||
|
||||
# Support soundex() function.
|
||||
# https://sqlite.org/lang_corefunc.html#soundex
|
||||
append-cppflags -DSQLITE_SOUNDEX
|
||||
|
||||
# debug USE flag.
|
||||
if full_tarball; then
|
||||
options+=($(use_enable debug))
|
||||
else
|
||||
if use debug; then
|
||||
append-cppflags -DSQLITE_DEBUG
|
||||
else
|
||||
append-cppflags -DNDEBUG
|
||||
fi
|
||||
fi
|
||||
|
||||
# icu USE flag.
|
||||
if use icu; then
|
||||
# Support ICU extension.
|
||||
# https://sqlite.org/compile.html#enable_icu
|
||||
append-cppflags -DSQLITE_ENABLE_ICU
|
||||
if full_tarball; then
|
||||
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
|
||||
else
|
||||
sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
|
||||
fi
|
||||
fi
|
||||
|
||||
# readline USE flag.
|
||||
options+=(
|
||||
--disable-editline
|
||||
$(use_enable readline)
|
||||
)
|
||||
if full_tarball && use readline; then
|
||||
options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline")
|
||||
fi
|
||||
|
||||
# secure-delete USE flag.
|
||||
if use secure-delete; then
|
||||
# Enable secure_delete pragma by default.
|
||||
# https://sqlite.org/pragma.html#pragma_secure_delete
|
||||
append-cppflags -DSQLITE_SECURE_DELETE
|
||||
fi
|
||||
|
||||
# static-libs USE flag.
|
||||
options+=($(use_enable static-libs static))
|
||||
|
||||
# tcl, test, tools USE flags.
|
||||
if full_tarball; then
|
||||
options+=(--enable-tcl)
|
||||
fi
|
||||
|
||||
if [[ "${CHOST}" == *-mint* ]]; then
|
||||
append-cppflags -DSQLITE_OMIT_WAL
|
||||
fi
|
||||
|
||||
econf "${options[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
|
||||
|
||||
if use tools && multilib_is_native_abi; then
|
||||
emake changeset dbdump dbhash rbu scrub showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
if [[ "${EUID}" -eq 0 ]]; then
|
||||
ewarn "Skipping tests due to root permissions"
|
||||
return
|
||||
fi
|
||||
|
||||
emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
|
||||
|
||||
if use tools && multilib_is_native_abi; then
|
||||
install_tool() {
|
||||
if [[ -f ".libs/${1}" ]]; then
|
||||
newbin ".libs/${1}" "${2}"
|
||||
else
|
||||
newbin "${1}" "${2}"
|
||||
fi
|
||||
}
|
||||
|
||||
install_tool changeset sqlite3-changeset
|
||||
install_tool dbdump sqlite3-db-dump
|
||||
install_tool dbhash sqlite3-db-hash
|
||||
install_tool rbu sqlite3-rbu
|
||||
install_tool scrub sqlite3-scrub
|
||||
install_tool showdb sqlite3-show-db
|
||||
install_tool showjournal sqlite3-show-journal
|
||||
install_tool showstat4 sqlite3-show-stat4
|
||||
install_tool showwal sqlite3-show-wal
|
||||
install_tool sqldiff sqlite3-diff
|
||||
install_tool sqlite3_analyzer sqlite3-analyzer
|
||||
|
||||
unset -f install_tool
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
prune_libtool_files
|
||||
|
||||
doman sqlite3.1
|
||||
|
||||
if use doc; then
|
||||
rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt}
|
||||
(
|
||||
docinto html
|
||||
dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"*
|
||||
)
|
||||
fi
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
|
||||
inherit versionator java-pkg-2 java-pkg-simple
|
||||
|
||||
MAJOR=v$(get_version_component_range 3-4)
|
||||
MAJOR=$(replace_version_separator 1 ur ${MAJOR})
|
||||
MY_PV=${MAJOR}-b$(get_version_component_range 5)
|
||||
MY_PN=${PN/-//}
|
||||
ZIP="glassfish-${MY_PV}-src.zip"
|
||||
|
||||
DESCRIPTION="Java Transaction API"
|
||||
HOMEPAGE="https://glassfish.dev.java.net/"
|
||||
|
||||
SRC_URI="http://download.java.net/javaee5/${MAJOR}/promoted/source/${ZIP}"
|
||||
|
||||
LICENSE="|| ( CDDL GPL-2 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
|
||||
|
||||
RDEPEND=">=virtual/jre-1.6"
|
||||
DEPEND=">=virtual/jdk-1.6"
|
||||
|
||||
S="${WORKDIR}/${MY_PN}"
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
unzip \
|
||||
-q -o -f \
|
||||
"${DISTDIR}/${ZIP}" \
|
||||
"${MY_PN}/*" "glassfish/bootstrap/*" || die "unpacking failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg-simple_src_install
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
JAVA_PKG_IUSE="source test doc"
|
||||
|
||||
inherit java-pkg-2 java-ant-2
|
||||
|
||||
DESCRIPTION="A library that allows you to use ANSI escape sequences in your console output"
|
||||
HOMEPAGE="http://jansi.fusesource.org/"
|
||||
SRC_URI="https://github.com/fusesource/${PN}/archive/${P}.zip"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc64 x86"
|
||||
|
||||
CDEPEND="dev-java/jansi-native:0"
|
||||
|
||||
DEPEND="${CDEPEND}
|
||||
test? (
|
||||
dev-java/ant-junit4:0
|
||||
dev-java/junit:4
|
||||
)
|
||||
>=virtual/jdk-1.6"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
>=virtual/jre-1.6"
|
||||
|
||||
S="${WORKDIR}/${PN}-${P}"
|
||||
|
||||
EANT_GENTOO_CLASSPATH="jansi-native"
|
||||
JAVA_ANT_REWRITE_CLASSPATH="true"
|
||||
|
||||
java_prepare() {
|
||||
cp "${FILESDIR}"/${P}-build.xml build.xml || die
|
||||
}
|
||||
|
||||
EANT_TEST_GENTOO_CLASSPATH="ant-junit4,junit-4"
|
||||
|
||||
src_test() {
|
||||
EANT_EXTRA_ARGS="-Djunit.present=true"
|
||||
java-pkg-2_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg_newjar "target/${P}.jar" "${PN}.jar"
|
||||
use source && java-pkg_dosrc src/main/java/org
|
||||
use doc && java-pkg_dojavadoc target/site/apidocs
|
||||
}
|
@ -1,3 +1,2 @@
|
||||
DIST laf-plugin-0.2-src.tar.bz2 13799 SHA256 e2252f74efbaa1f0c32a475c320283e614932e3af2d98a65462bf0e1f8cc00ba SHA512 91ac3f9f5ebfcd70e7cc76f2e028e9578c6113a848b0ccdc6b001fff006bf5aaa12af08b1752851693d218d4b2d7d053f62461481e49d5a0bde21e5a7d086331 WHIRLPOOL 6aaea36bbcc22eca1704185faf866fba1b723cd3d6ff02197f28287ded67fc43bb4c2f9cbe8a2dce9e82eaa88774b1fdb4c66e54cdc4f09ad946718641cb1334
|
||||
DIST laf-plugin-0.2.tar.bz2 13799 SHA256 e2252f74efbaa1f0c32a475c320283e614932e3af2d98a65462bf0e1f8cc00ba SHA512 91ac3f9f5ebfcd70e7cc76f2e028e9578c6113a848b0ccdc6b001fff006bf5aaa12af08b1752851693d218d4b2d7d053f62461481e49d5a0bde21e5a7d086331 WHIRLPOOL 6aaea36bbcc22eca1704185faf866fba1b723cd3d6ff02197f28287ded67fc43bb4c2f9cbe8a2dce9e82eaa88774b1fdb4c66e54cdc4f09ad946718641cb1334
|
||||
DIST laf-plugin-1.1.jar 8105 SHA256 2b7919c502906983307b556284d6e86df2034b69ebf3394f303490e99936500d SHA512 2ca265d23ac95e5d194e4905ead4c975cb8739a0aa30096c028d2f6467b148de2ac0ff71c6730752a666eee53551867d9d8c852d25238a873fbd4bd994cf80c0 WHIRLPOOL cda35e80834745d00ab2e1a3f3531ecc0e5cf4b140c5a167b86ffd213ccf9cdf0bb76d4582ec1745d738fbccd5fa81e1267e6f54a7a330521cd78fb6897d6e3d
|
||||
|
@ -1,31 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
|
||||
inherit java-pkg-2 java-ant-2
|
||||
|
||||
DESCRIPTION="A generic plugin framework for look-and-feels"
|
||||
HOMEPAGE="http://laf-plugin.dev.java.net/"
|
||||
SRC_URI="mirror://gentoo/${P}-src.tar.bz2"
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE=""
|
||||
DEPEND=">=virtual/jdk-1.4"
|
||||
RDEPEND=">=virtual/jre-1.4"
|
||||
|
||||
EANT_BUILD_TARGET="dist"
|
||||
|
||||
java_prepare() {
|
||||
cp "${FILESDIR}/${P}-build.xml" build.xml || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg_dojar "dist/${PN}.jar"
|
||||
|
||||
use doc && java-pkg_dojavadoc api
|
||||
use source && java-pkg_dosrc src/org
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue