Merge branch 'master' into staging

This commit is contained in:
Vladimír Čunát 2017-12-15 21:40:23 +01:00
commit 24d81d6332
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
170 changed files with 8466 additions and 7901 deletions

View File

@ -286,6 +286,7 @@
iblech = "Ingo Blechschmidt <iblech@speicherleck.de>";
igsha = "Igor Sharonov <igor.sharonov@gmail.com>";
ikervagyok = "Balázs Lengyel <ikervagyok@gmail.com>";
ilya-kolpakov = "Ilya Kolpakov <ilya.kolpakov@gmail.com>";
infinisil = "Silvan Mosberger <infinisil@icloud.com>";
ironpinguin = "Michele Catalano <michele@catalano.de>";
ivan-tkatchev = "Ivan Tkatchev <tkatchev@gmail.com>";

View File

@ -36,7 +36,7 @@ stdenv.mkDerivation {
hasBadPaths=1
fi
if [ "$mode" != 444 ] && [ "$mode" != 555 ]; then
echo "Store path '$path' has invalid permissions."
echo "Store path '$path' has invalid permissions ($mode)."
hasBadPaths=1
fi
done

View File

@ -281,8 +281,8 @@
stanchion = 262;
riak-cs = 263;
infinoted = 264;
keystone = 265;
glance = 266;
# keystone = 265; # unused, removed 2017-12-13
# glance = 266; # unused, removed 2017-12-13
couchpotato = 267;
gogs = 268;
pdns-recursor = 269;
@ -551,8 +551,8 @@
stanchion = 262;
riak-cs = 263;
infinoted = 264;
keystone = 265;
glance = 266;
# keystone = 265; # unused, removed 2017-12-13
# glance = 266; # unused, removed 2017-12-13
couchpotato = 267;
gogs = 268;
kresd = 270;

View File

@ -354,6 +354,7 @@
./services/misc/taskserver
./services/misc/tzupdate.nix
./services/misc/uhub.nix
./services/misc/xmr-stak.nix
./services/misc/zookeeper.nix
./services/monitoring/apcupsd.nix
./services/monitoring/arbtt.nix
@ -748,6 +749,4 @@
./virtualisation/vmware-guest.nix
./virtualisation/xen-dom0.nix
./virtualisation/xe-guest-utilities.nix
./virtualisation/openstack/keystone.nix
./virtualisation/openstack/glance.nix
]

View File

@ -28,14 +28,15 @@ with lib;
###### implementation
config = mkIf config.services.gnome3.at-spi2-core.enable {
config = mkMerge [
(mkIf config.services.gnome3.at-spi2-core.enable {
environment.systemPackages = [ pkgs.at_spi2_core ];
services.dbus.packages = [ pkgs.at_spi2_core ];
systemd.packages = [ pkgs.at_spi2_core ];
})
};
(mkIf (!config.services.gnome3.at-spi2-core.enable) {
environment.variables.NO_AT_BRIDGE = "1";
})
];
}

View File

@ -0,0 +1,73 @@
{ lib, config, pkgs, ... }:
with lib;
let
cfg = config.services.xmr-stak;
pkg = pkgs.xmr-stak.override {
inherit (cfg) openclSupport cudaSupport;
};
xmrConfArg = optionalString (cfg.configText != "") ("-c " +
pkgs.writeText "xmr-stak-config.txt" cfg.configText);
in
{
options = {
services.xmr-stak = {
enable = mkEnableOption "xmr-stak miner";
openclSupport = mkEnableOption "support for OpenCL (AMD/ATI graphics cards)";
cudaSupport = mkEnableOption "support for CUDA (NVidia graphics cards)";
extraArgs = mkOption {
type = types.listOf types.str;
default = [];
example = [ "--noCPU" "--currency monero" ];
description = "List of parameters to pass to xmr-stak.";
};
configText = mkOption {
type = types.lines;
default = "";
example = ''
"currency" : "monero",
"pool_list" :
[ { "pool_address" : "pool.supportxmr.com:5555",
"wallet_address" : "<long-hash>",
"pool_password" : "minername",
"pool_weight" : 1,
},
],
'';
description = ''
Verbatim xmr-stak config.txt. If empty, the <literal>-c</literal>
parameter will not be added to the xmr-stak command.
'';
};
};
};
config = mkIf cfg.enable {
systemd.services.xmr-stak = {
wantedBy = [ "multi-user.target" ];
bindsTo = [ "network-online.target" ];
after = [ "network-online.target" ];
environment = mkIf cfg.cudaSupport {
LD_LIBRARY_PATH = "${pkgs.linuxPackages_latest.nvidia_x11}/lib";
};
script = ''
exec ${pkg}/bin/xmr-stak ${xmrConfArg} ${concatStringsSep " " cfg.extraArgs}
'';
serviceConfig = let rootRequired = cfg.openclSupport || cfg.cudaSupport; in {
# xmr-stak generates cpu and/or gpu configuration files
WorkingDirectory = "/tmp";
PrivateTmp = true;
DynamicUser = !rootRequired;
LimitMEMLOCK = toString (1024*1024);
};
};
};
}

View File

@ -56,6 +56,7 @@ let
serviceConfig = {
ExecStart = "${samba}/sbin/${appName} ${args}";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
LimitNOFILE = 16384;
Type = "notify";
};

View File

@ -50,11 +50,14 @@ let
"mod_geoip"
"mod_magnet"
"mod_mysql_vhost"
"mod_openssl" # since v1.4.46
"mod_scgi"
"mod_setenv"
"mod_trigger_b4_dl"
"mod_uploadprogress"
"mod_vhostdb" # since v1.4.46
"mod_webdav"
"mod_wstunnel" # since v1.4.46
];
maybeModuleString = moduleName:

View File

@ -193,16 +193,6 @@ in
theme = mkDefault "breeze";
};
boot.plymouth = {
theme = mkDefault "breeze";
themePackages = mkDefault [
(pkgs.breeze-plymouth.override {
nixosBranding = true;
nixosVersion = config.system.nixosRelease;
})
];
};
security.pam.services.kde = { allowNullPassword = true; };
# Doing these one by one seems silly, but we currently lack a better

View File

@ -8,9 +8,14 @@ let
cfg = config.boot.plymouth;
breezePlymouth = pkgs.breeze-plymouth.override {
nixosBranding = true;
nixosVersion = config.system.nixosRelease;
};
themesEnv = pkgs.buildEnv {
name = "plymouth-themes";
paths = [ plymouth ] ++ cfg.themePackages;
paths = [ plymouth breezePlymouth ] ++ cfg.themePackages;
};
configFile = pkgs.writeText "plymouthd.conf" ''
@ -38,7 +43,7 @@ in
};
theme = mkOption {
default = "fade-in";
default = "breeze";
type = types.str;
description = ''
Splash screen theme.

View File

@ -223,21 +223,21 @@ let self = {
"17.03".us-west-2.hvm-ebs = "ami-a93daac9";
"17.03".us-west-2.hvm-s3 = "ami-5139ae31";
# 17.09.1483.d0f0657ca0
"17.09".eu-west-1.hvm-ebs = "ami-cf33e7b6";
"17.09".eu-west-2.hvm-ebs = "ami-7d061419";
"17.09".eu-central-1.hvm-ebs = "ami-7548fa1a";
"17.09".us-east-1.hvm-ebs = "ami-6f669d15";
"17.09".us-east-2.hvm-ebs = "ami-cbe1ccae";
"17.09".us-west-1.hvm-ebs = "ami-9d95a5fd";
"17.09".us-west-2.hvm-ebs = "ami-d3956fab";
"17.09".ca-central-1.hvm-ebs = "ami-ee4ef78a";
"17.09".ap-southeast-1.hvm-ebs = "ami-1dfc807e";
"17.09".ap-southeast-2.hvm-ebs = "ami-dcb350be";
"17.09".ap-northeast-1.hvm-ebs = "ami-00ec3d66";
"17.09".ap-northeast-2.hvm-ebs = "ami-1107dd7f";
"17.09".sa-east-1.hvm-ebs = "ami-0377086f";
"17.09".ap-south-1.hvm-ebs = "ami-4a064625";
# 17.09.2356.cb751f9b1c3
"17.09".eu-west-1.hvm-ebs = "ami-d40185ad";
"17.09".eu-west-2.hvm-ebs = "ami-c5445da1";
"17.09".eu-central-1.hvm-ebs = "ami-e758d388";
"17.09".us-east-1.hvm-ebs = "ami-865327fc";
"17.09".us-east-2.hvm-ebs = "ami-074d6562";
"17.09".us-west-1.hvm-ebs = "ami-992c28f9";
"17.09".us-west-2.hvm-ebs = "ami-2bd87953";
"17.09".ca-central-1.hvm-ebs = "ami-c4bb01a0";
"17.09".ap-southeast-1.hvm-ebs = "ami-5ff79723";
"17.09".ap-southeast-2.hvm-ebs = "ami-57e71135";
"17.09".ap-northeast-1.hvm-ebs = "ami-5249c434";
"17.09".ap-northeast-2.hvm-ebs = "ami-f1288e9f";
"17.09".sa-east-1.hvm-ebs = "ami-5492d438";
"17.09".ap-south-1.hvm-ebs = "ami-c4fab2ab";
latest = self."17.09";
}; in self

View File

@ -1,174 +0,0 @@
# Module for Nova, a.k.a. OpenStack Compute.
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.virtualisation.nova;
nova = pkgs.nova;
novaConf = pkgs.writeText "nova.conf"
''
--nodaemon
--verbose
${cfg.extraConfig}
'';
in
{
###### interface
options = {
virtualisation.nova.enableSingleNode =
mkOption {
default = false;
description =
''
This option enables Nova, also known as OpenStack Compute,
a cloud computing system, as a single-machine
installation. That is, all of Nova's components are
enabled on this machine, using SQLite as Nova's database.
This is useful for evaluating and experimenting with Nova.
However, for a real cloud computing environment, you'll
want to enable some of Nova's services on other machines,
and use a database such as MySQL.
'';
};
virtualisation.nova.extraConfig =
mkOption {
default = "";
description =
''
Additional text appended to <filename>nova.conf</filename>,
the main Nova configuration file.
'';
};
};
###### implementation
config = mkIf cfg.enableSingleNode {
environment.systemPackages = [ nova pkgs.euca2ools pkgs.novaclient ];
environment.etc =
[ { source = novaConf;
target = "nova/nova.conf";
}
];
# Nova requires libvirtd and RabbitMQ.
virtualisation.libvirtd.enable = true;
services.rabbitmq.enable = true;
# `qemu-nbd' required the `nbd' kernel module.
boot.kernelModules = [ "nbd" ];
system.activationScripts.nova =
''
mkdir -m 755 -p /var/lib/nova
mkdir -m 755 -p /var/lib/nova/networks
mkdir -m 700 -p /var/lib/nova/instances
mkdir -m 700 -p /var/lib/nova/keys
# Allow the CA certificate generation script (called by
# nova-api) to work.
mkdir -m 700 -p /var/lib/nova/CA /var/lib/nova/CA/private
# Initialise the SQLite database.
${nova}/bin/nova-manage db sync
'';
# `nova-api' receives and executes external client requests from
# tools such as euca2ools. It listens on port 8773 (XML) and 8774
# (JSON).
jobs.nova_api =
{ name = "nova-api";
description = "Nova API service";
startOn = "ip-up";
# `openssl' is required to generate the CA. `openssh' is
# required to generate key pairs.
path = [ pkgs.openssl config.programs.ssh.package pkgs.bash ];
respawn = false;
exec = "${nova}/bin/nova-api --flagfile=${novaConf} --api_paste_config=${nova}/etc/nova/api-paste.ini";
};
# `nova-objectstore' is a simple image server. Useful if you're
# not running the OpenStack Imaging Service (Swift). It serves
# images placed in /var/lib/nova/images/.
jobs.nova_objectstore =
{ name = "nova-objectstore";
description = "Nova Simple Object Store Service";
startOn = "ip-up";
preStart =
''
mkdir -m 700 -p /var/lib/nova/images
'';
exec = "${nova}/bin/nova-objectstore --flagfile=${novaConf}";
};
# `nova-scheduler' schedules VM execution requests.
jobs.nova_scheduler =
{ name = "nova-scheduler";
description = "Nova Scheduler Service";
startOn = "ip-up";
exec = "${nova}/bin/nova-scheduler --flagfile=${novaConf}";
};
# `nova-compute' starts and manages virtual machines.
jobs.nova_compute =
{ name = "nova-compute";
description = "Nova Compute Service";
startOn = "ip-up";
path =
[ pkgs.sudo pkgs.vlan pkgs.nettools pkgs.iptables pkgs.qemu_kvm
pkgs.e2fsprogs pkgs.utillinux pkgs.multipath-tools pkgs.iproute
pkgs.bridge-utils
];
exec = "${nova}/bin/nova-compute --flagfile=${novaConf}";
};
# `nova-network' manages networks and allocates IP addresses.
jobs.nova_network =
{ name = "nova-network";
description = "Nova Network Service";
startOn = "ip-up";
path =
[ pkgs.sudo pkgs.vlan pkgs.dnsmasq pkgs.nettools pkgs.iptables
pkgs.iproute pkgs.bridge-utils pkgs.radvd
];
exec = "${nova}/bin/nova-network --flagfile=${novaConf}";
};
};
}

View File

@ -1,84 +0,0 @@
{ lib }:
with lib;
rec {
# A shell script string helper to get the value of a secret at
# runtime.
getSecret = secretOption:
if secretOption.storage == "fromFile"
then ''$(cat ${secretOption.value})''
else ''${secretOption.value}'';
# A shell script string help to replace at runtime in a file the
# pattern of a secret by its value.
replaceSecret = secretOption: filename: ''
sed -i "s/${secretOption.pattern}/${getSecret secretOption}/g" ${filename}
'';
# This generates an option that can be used to declare secrets which
# can be stored in the nix store, or not. A pattern is written in
# the nix store to represent the secret. The pattern can
# then be overwritten with the value of the secret at runtime.
mkSecretOption = {name, description ? ""}:
mkOption {
description = description;
type = types.submodule ({
options = {
pattern = mkOption {
type = types.str;
default = "##${name}##";
description = "The pattern that represent the secret.";
};
storage = mkOption {
type = types.enum [ "fromNixStore" "fromFile" ];
description = ''
Choose the way the password is provisionned. If
fromNixStore is used, the value is the password and it is
written in the nix store. If fromFile is used, the value
is a path from where the password will be read at
runtime. This is generally used with <link
xlink:href="https://nixos.org/nixops/manual/#opt-deployment.keys">
deployment keys</link> of Nixops.
'';};
value = mkOption {
type = types.str;
description = ''
If the storage is fromNixStore, the value is the password itself,
otherwise it is a path to the file that contains the password.
'';
};
};});
};
databaseOption = name: {
host = mkOption {
type = types.str;
default = "localhost";
description = ''
Host of the database.
'';
};
name = mkOption {
type = types.str;
default = name;
description = ''
Name of the existing database.
'';
};
user = mkOption {
type = types.str;
default = name;
description = ''
The database user. The user must exist and has access to
the specified database.
'';
};
password = mkSecretOption {
name = name + "MysqlPassword";
description = "The database user's password";};
};
}

View File

@ -1,245 +0,0 @@
{ config, lib, pkgs, ... }:
with lib; with import ./common.nix {inherit lib;};
let
cfg = config.virtualisation.openstack.glance;
commonConf = ''
[database]
connection = "mysql://${cfg.database.user}:${cfg.database.password.pattern}@${cfg.database.host}/${cfg.database.name}"
notification_driver = noop
[keystone_authtoken]
auth_url = ${cfg.authUrl}
auth_plugin = password
project_name = service
project_domain_id = default
user_domain_id = default
username = ${cfg.serviceUsername}
password = ${cfg.servicePassword.pattern}
[glance_store]
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
'';
glanceApiConfTpl = pkgs.writeText "glance-api.conf" ''
${commonConf}
[paste_deploy]
flavor = keystone
config_file = ${cfg.package}/etc/glance-api-paste.ini
'';
glanceRegistryConfTpl = pkgs.writeText "glance-registry.conf" ''
${commonConf}
[paste_deploy]
config_file = ${cfg.package}/etc/glance-registry-paste.ini
'';
glanceApiConf = "/var/lib/glance/glance-api.conf";
glanceRegistryConf = "/var/lib/glance/glance-registry.conf";
in {
options.virtualisation.openstack.glance = {
package = mkOption {
type = types.package;
default = pkgs.glance;
defaultText = "pkgs.glance";
description = ''
Glance package to use.
'';
};
enable = mkOption {
default = false;
type = types.bool;
description = ''
This option enables Glance as a single-machine
installation. That is, all of Glance's components are
enabled on this machine. This is useful for evaluating and
experimenting with Glance. Note we are currently not
providing any configurations for a multi-node setup.
'';
};
authUrl = mkOption {
type = types.str;
default = http://localhost:5000;
description = ''
Complete public Identity (Keystone) API endpoint. Note this is
unversionned.
'';
};
serviceUsername = mkOption {
type = types.str;
default = "glance";
description = ''
The Glance service username. This user is created if bootstrap
is enable, otherwise it has to be manually created before
starting this service.
'';
};
servicePassword = mkSecretOption {
name = "glanceAdminPassword";
description = ''
The Glance service user's password.
'';
};
database = databaseOption "glance";
bootstrap = {
enable = mkOption {
default = false;
type = types.bool;
description = ''
Bootstrap the Glance service by creating the service tenant,
an admin account and a public endpoint. This option provides
a ready-to-use glance service. This is only done at the
first Glance execution by the systemd post start section.
The keystone admin account is used to create required
Keystone resource for the Glance service.
<note><para> This option is a helper for setting up
development or testing environments.</para></note>
'';
};
endpointPublic = mkOption {
type = types.str;
default = "http://localhost:9292";
description = ''
The public image endpoint. The link <link
xlink:href="http://docs.openstack.org/liberty/install-guide-rdo/keystone-services.html">
create endpoint</link> provides more informations
about that.
'';
};
keystoneAdminUsername = mkOption {
type = types.str;
default = "admin";
description = ''
The keystone admin user name used to create the Glance account.
'';
};
keystoneAdminPassword = mkSecretOption {
name = "keystoneAdminPassword";
description = ''
The keystone admin user's password.
'';
};
keystoneAdminTenant = mkOption {
type = types.str;
default = "admin";
description = ''
The keystone admin tenant used to create the Glance account.
'';
};
keystoneAuthUrl = mkOption {
type = types.str;
default = "http://localhost:5000/v2.0";
description = ''
The keystone auth url used to create the Glance account.
'';
};
};
};
config = mkIf cfg.enable {
users.extraUsers = [{
name = "glance";
group = "glance";
uid = config.ids.gids.glance;
}];
users.extraGroups = [{
name = "glance";
gid = config.ids.gids.glance;
}];
systemd.services.glance-registry = {
description = "OpenStack Glance Registry Daemon";
after = [ "network.target"];
path = [ pkgs.curl pkgs.pythonPackages.keystoneclient pkgs.gawk ];
wantedBy = [ "multi-user.target" ];
preStart = ''
mkdir -m 775 -p /var/lib/glance/{images,scrubber,image_cache}
chown glance:glance /var/lib/glance/{images,scrubber,image_cache}
# Secret file managment
cp ${glanceRegistryConfTpl} ${glanceRegistryConf};
chown glance:glance ${glanceRegistryConf};
chmod 640 ${glanceRegistryConf}
${replaceSecret cfg.database.password glanceRegistryConf}
${replaceSecret cfg.servicePassword glanceRegistryConf}
cp ${glanceApiConfTpl} ${glanceApiConf};
chown glance:glance ${glanceApiConf};
chmod 640 ${glanceApiConf}
${replaceSecret cfg.database.password glanceApiConf}
${replaceSecret cfg.servicePassword glanceApiConf}
# Initialise the database
${cfg.package}/bin/glance-manage --config-file=${glanceApiConf} --config-file=${glanceRegistryConf} db_sync
'';
postStart = ''
set -eu
export OS_AUTH_URL=${cfg.bootstrap.keystoneAuthUrl}
export OS_USERNAME=${cfg.bootstrap.keystoneAdminUsername}
export OS_PASSWORD=${getSecret cfg.bootstrap.keystoneAdminPassword}
export OS_TENANT_NAME=${cfg.bootstrap.keystoneAdminTenant}
# Wait until the keystone is available for use
count=0
while ! keystone user-get ${cfg.bootstrap.keystoneAdminUsername} > /dev/null
do
if [ $count -eq 30 ]
then
echo "Tried 30 times, giving up..."
exit 1
fi
echo "Keystone not yet started. Waiting for 1 second..."
count=$((count++))
sleep 1
done
# If the service glance doesn't exist, we consider glance is
# not initialized
if ! keystone service-get glance
then
keystone service-create --type image --name glance
ID=$(keystone service-get glance | awk '/ id / { print $4 }')
keystone endpoint-create --region RegionOne --service $ID --internalurl http://localhost:9292 --adminurl http://localhost:9292 --publicurl ${cfg.bootstrap.endpointPublic}
keystone user-create --name ${cfg.serviceUsername} --tenant service --pass ${getSecret cfg.servicePassword}
keystone user-role-add --tenant service --user ${cfg.serviceUsername} --role admin
fi
'';
serviceConfig = {
PermissionsStartOnly = true; # preStart must be run as root
TimeoutStartSec = "600"; # 10min for initial db migrations
User = "glance";
Group = "glance";
ExecStart = "${cfg.package}/bin/glance-registry --config-file=${glanceRegistryConf}";
};
};
systemd.services.glance-api = {
description = "OpenStack Glance API Daemon";
after = [ "glance-registry.service" "network.target"];
requires = [ "glance-registry.service" "network.target"];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
PermissionsStartOnly = true; # preStart must be run as root
User = "glance";
Group = "glance";
ExecStart = "${cfg.package}/bin/glance-api --config-file=${glanceApiConf}";
};
};
};
}

View File

@ -1,220 +0,0 @@
{ config, lib, pkgs, ... }:
with lib; with import ./common.nix {inherit lib;};
let
cfg = config.virtualisation.openstack.keystone;
keystoneConfTpl = pkgs.writeText "keystone.conf" ''
[DEFAULT]
admin_token = ${cfg.adminToken.pattern}
policy_file=${cfg.package}/etc/policy.json
[database]
connection = "mysql://${cfg.database.user}:${cfg.database.password.pattern}@${cfg.database.host}/${cfg.database.name}"
[paste_deploy]
config_file = ${cfg.package}/etc/keystone-paste.ini
${cfg.extraConfig}
'';
keystoneConf = "/var/lib/keystone/keystone.conf";
in {
options.virtualisation.openstack.keystone = {
package = mkOption {
type = types.package;
example = literalExample "pkgs.keystone";
description = ''
Keystone package to use.
'';
};
enable = mkOption {
default = false;
type = types.bool;
description = ''
Enable Keystone, the OpenStack Identity Service
'';
};
extraConfig = mkOption {
default = "";
type = types.lines;
description = ''
Additional text appended to <filename>keystone.conf</filename>,
the main Keystone configuration file.
'';
};
adminToken = mkSecretOption {
name = "adminToken";
description = ''
This is the admin token used to boostrap keystone,
ie. to provision first resources.
'';
};
bootstrap = {
enable = mkOption {
default = false;
type = types.bool;
description = ''
Bootstrap the Keystone service by creating the service
tenant, an admin account and a public endpoint. This options
provides a ready-to-use admin account. This is only done at
the first Keystone execution by the systemd post start.
Note this option is a helper for setting up development or
testing environments.
'';
};
endpointPublic = mkOption {
type = types.str;
default = "http://localhost:5000/v2.0";
description = ''
The public identity endpoint. The link <link
xlink:href="http://docs.openstack.org/liberty/install-guide-rdo/keystone-services.html">
create keystone endpoint</link> provides more informations
about that.
'';
};
adminUsername = mkOption {
type = types.str;
default = "admin";
description = ''
A keystone admin username.
'';
};
adminPassword = mkSecretOption {
name = "keystoneAdminPassword";
description = ''
The keystone admin user's password.
'';
};
adminTenant = mkOption {
type = types.str;
default = "admin";
description = ''
A keystone admin tenant name.
'';
};
};
database = {
host = mkOption {
type = types.str;
default = "localhost";
description = ''
Host of the database.
'';
};
name = mkOption {
type = types.str;
default = "keystone";
description = ''
Name of the existing database.
'';
};
user = mkOption {
type = types.str;
default = "keystone";
description = ''
The database user. The user must exist and has access to
the specified database.
'';
};
password = mkSecretOption {
name = "mysqlPassword";
description = "The database user's password";};
};
};
config = mkIf cfg.enable {
# Note: when changing the default, make it conditional on
# system.stateVersion to maintain compatibility with existing
# systems!
virtualisation.openstack.keystone.package = mkDefault pkgs.keystone;
users.extraUsers = [{
name = "keystone";
group = "keystone";
uid = config.ids.uids.keystone;
}];
users.extraGroups = [{
name = "keystone";
gid = config.ids.gids.keystone;
}];
systemd.services.keystone-all = {
description = "OpenStack Keystone Daemon";
after = [ "network.target"];
path = [ cfg.package pkgs.mysql pkgs.curl pkgs.pythonPackages.keystoneclient pkgs.gawk ];
wantedBy = [ "multi-user.target" ];
preStart = ''
mkdir -m 755 -p /var/lib/keystone
cp ${keystoneConfTpl} ${keystoneConf};
chown keystone:keystone ${keystoneConf};
chmod 640 ${keystoneConf}
${replaceSecret cfg.database.password keystoneConf}
${replaceSecret cfg.adminToken keystoneConf}
# Initialise the database
${cfg.package}/bin/keystone-manage --config-file=${keystoneConf} db_sync
# Set up the keystone's PKI infrastructure
${cfg.package}/bin/keystone-manage --config-file=${keystoneConf} pki_setup --keystone-user keystone --keystone-group keystone
'';
postStart = optionalString cfg.bootstrap.enable ''
set -eu
# Wait until the keystone is available for use
count=0
while ! curl --fail -s http://localhost:35357/v2.0 > /dev/null
do
if [ $count -eq 30 ]
then
echo "Tried 30 times, giving up..."
exit 1
fi
echo "Keystone not yet started. Waiting for 1 second..."
count=$((count++))
sleep 1
done
# We use the service token to create a first admin user
export OS_SERVICE_ENDPOINT=http://localhost:35357/v2.0
export OS_SERVICE_TOKEN=${getSecret cfg.adminToken}
# If the tenant service doesn't exist, we consider
# keystone is not initialized
if ! keystone tenant-get service
then
keystone tenant-create --name service
keystone tenant-create --name ${cfg.bootstrap.adminTenant}
keystone user-create --name ${cfg.bootstrap.adminUsername} --tenant ${cfg.bootstrap.adminTenant} --pass ${getSecret cfg.bootstrap.adminPassword}
keystone role-create --name admin
keystone role-create --name Member
keystone user-role-add --tenant ${cfg.bootstrap.adminTenant} --user ${cfg.bootstrap.adminUsername} --role admin
keystone service-create --type identity --name keystone
ID=$(keystone service-get keystone | awk '/ id / { print $4 }')
keystone endpoint-create --region RegionOne --service $ID --publicurl ${cfg.bootstrap.endpointPublic} --adminurl http://localhost:35357/v2.0 --internalurl http://localhost:5000/v2.0
fi
'';
serviceConfig = {
PermissionsStartOnly = true; # preStart must be run as root
TimeoutStartSec = "600"; # 10min for initial db migrations
User = "keystone";
Group = "keystone";
ExecStart = "${cfg.package}/bin/keystone-all --config-file=${keystoneConf}";
};
};
};
}

View File

@ -267,7 +267,6 @@ in rec {
tests.fleet = hydraJob (import tests/fleet.nix { system = "x86_64-linux"; });
#tests.gitlab = callTest tests/gitlab.nix {};
tests.gitolite = callTest tests/gitolite.nix {};
tests.glance = callTest tests/glance.nix {};
tests.gocd-agent = callTest tests/gocd-agent.nix {};
tests.gocd-server = callTest tests/gocd-server.nix {};
tests.gnome3 = callTest tests/gnome3.nix {};
@ -293,7 +292,6 @@ in rec {
tests.kernel-copperhead = callTest tests/kernel-copperhead.nix {};
tests.kernel-latest = callTest tests/kernel-latest.nix {};
tests.kernel-lts = callTest tests/kernel-lts.nix {};
tests.keystone = callTest tests/keystone.nix {};
tests.kubernetes = hydraJob (import tests/kubernetes/default.nix { system = "x86_64-linux"; });
tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; };
tests.ldap = callTest tests/ldap.nix {};

View File

@ -1,77 +0,0 @@
{ system ? builtins.currentSystem }:
with import ../lib/testing.nix { inherit system; };
with pkgs.lib;
let
glanceMysqlPassword = "glanceMysqlPassword";
glanceAdminPassword = "glanceAdminPassword";
createDb = pkgs.writeText "db-provisionning.sql" ''
create database keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';
create database glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '${glanceMysqlPassword}';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '${glanceMysqlPassword}';
'';
image =
(import ../lib/eval-config.nix {
inherit system;
modules = [ ../../nixos/modules/virtualisation/nova-image.nix ];
}).config.system.build.novaImage;
# The admin keystone account
adminOpenstackCmd = "OS_TENANT_NAME=admin OS_USERNAME=admin OS_PASSWORD=keystone OS_AUTH_URL=http://localhost:5000/v3 OS_IDENTITY_API_VERSION=3 openstack";
in makeTest {
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ lewo ];
};
machine =
{ config, pkgs, ... }:
{
services.mysql.enable = true;
services.mysql.package = pkgs.mysql;
services.mysql.initialScript = createDb;
virtualisation = {
openstack.keystone = {
enable = true;
database.password = { value = "keystone"; storage = "fromNixStore"; };
adminToken = { value = "adminToken"; storage = "fromNixStore"; };
bootstrap.enable = true;
bootstrap.adminPassword = { value = "keystone"; storage = "fromNixStore"; };
};
openstack.glance = {
enable = true;
database.password = { value = glanceMysqlPassword; storage = "fromNixStore"; };
servicePassword = { value = glanceAdminPassword; storage = "fromNixStore"; };
bootstrap = {
enable = true;
keystoneAdminPassword = { value = "keystone"; storage = "fromNixStore"; };
};
};
memorySize = 2096;
diskSize = 4 * 1024;
};
environment.systemPackages = with pkgs.pythonPackages; with pkgs; [
openstackclient
];
};
testScript =
''
$machine->waitForUnit("glance-api.service");
# Since Glance api can take time to start, we retry until success
$machine->waitUntilSucceeds("${adminOpenstackCmd} image create nixos --file ${image}/nixos.img --disk-format qcow2 --container-format bare --public");
$machine->succeed("${adminOpenstackCmd} image list") =~ /nixos/ or die;
'';
}

View File

@ -36,6 +36,9 @@ import ./make-test.nix ({ pkgs, ...} : {
startAll;
$master->waitForUnit("jenkins");
$master->mustSucceed("curl http://localhost:8080 | grep 'Authentication required'");
print $master->execute("sudo -u jenkins groups");
$master->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users");

View File

@ -1,82 +0,0 @@
{ system ? builtins.currentSystem }:
with import ../lib/testing.nix { inherit system; };
with pkgs.lib;
let
keystoneMysqlPassword = "keystoneMysqlPassword";
keystoneMysqlPasswordFile = "/var/run/keystoneMysqlPassword";
keystoneAdminPassword = "keystoneAdminPassword";
createKeystoneDb = pkgs.writeText "create-keystone-db.sql" ''
create database keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '${keystoneMysqlPassword}';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '${keystoneMysqlPassword}';
'';
# The admin keystone account
adminOpenstackCmd = "OS_TENANT_NAME=admin OS_USERNAME=admin OS_PASSWORD=${keystoneAdminPassword} OS_AUTH_URL=http://localhost:5000/v3 OS_IDENTITY_API_VERSION=3 openstack";
# The created demo keystone account
demoOpenstackCmd = "OS_TENANT_NAME=demo OS_USERNAME=demo OS_PASSWORD=demo OS_AUTH_URL=http://localhost:5000/v3 OS_IDENTITY_API_VERSION=3 openstack";
in makeTest {
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ lewo ];
};
machine =
{ config, pkgs, ... }:
{
# This is to simulate nixops deployment process.
# https://nixos.org/nixops/manual/#opt-deployment.keys
boot.postBootCommands = "echo ${keystoneMysqlPassword} > ${keystoneMysqlPasswordFile}";
services.mysql.enable = true;
services.mysql.initialScript = createKeystoneDb;
virtualisation = {
openstack.keystone = {
enable = true;
# Check if we can get the secret from a file
database.password = {
value = keystoneMysqlPasswordFile;
storage = "fromFile";
};
adminToken = {
value = "adminToken";
storage = "fromNixStore";
};
bootstrap.enable = true;
# Check if we can get the secret from the store
bootstrap.adminPassword = {
value = keystoneAdminPassword;
storage = "fromNixStore";
};
};
memorySize = 2096;
diskSize = 4 * 1024;
};
environment.systemPackages = with pkgs.pythonPackages; with pkgs; [
openstackclient
];
};
testScript =
''
$machine->waitForUnit("keystone-all.service");
# Verify that admin ccount is working
$machine->succeed("${adminOpenstackCmd} token issue");
# Try to create a new user
$machine->succeed("${adminOpenstackCmd} project create --domain default --description 'Demo Project' demo");
$machine->succeed("${adminOpenstackCmd} user create --domain default --password demo demo");
$machine->succeed("${adminOpenstackCmd} role create user");
$machine->succeed("${adminOpenstackCmd} role add --project demo --user demo user");
# Verify this new account is working
$machine->succeed("${demoOpenstackCmd} token issue");
'';
}

View File

@ -6,11 +6,11 @@
stdenv.mkDerivation rec {
name = "bitwig-studio-${version}";
version = "2.1.3";
version = "2.2.2";
src = fetchurl {
url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
sha256 = "0blfw7dayl1wzys11mdixlkbr1p1d5rnwrvim1hblfpnw2zmlslb";
sha256 = "1x4wka32xlygmhdh9rb15s37zh5qjrgap2qk35y34c52lf5aak22";
};
nativeBuildInputs = [ dpkg makeWrapper ];

View File

@ -1,21 +1,23 @@
{ stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
, lv2, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom
, lv2Unstable, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom
, suil
}:
stdenv.mkDerivation rec {
name = "ingen-unstable-${rev}";
rev = "2017-01-18";
rev = "2017-07-22";
src = fetchgit {
url = "http://git.drobilla.net/cgit.cgi/ingen.git";
rev = "02ae3e9d8bf3f6a5e844706721aad8c0ac9f4340";
sha256 = "15s8nrzn68hc2s6iw0zshbz3lfnsq0mr6gflq05xm911b7xbp74k";
url = "https://git.drobilla.net/cgit.cgi/ingen.git";
rev = "cc4a4db33f4d126a07a4a498e053c5fb9a883be3";
sha256 = "1gmwmml486r9zq4w65v91mfaz36af9zzyjkmi74m8qmh67ffqn3w";
deepClone = true;
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
boost ganv glibmm gtkmm2 libjack2 lilv lv2 makeWrapper
boost ganv glibmm gtkmm2 libjack2 lilv lv2Unstable makeWrapper
python raul serd sord sratom suil
];

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = "qsampler-${version}";
version = "0.4.3";
version = "0.5.0";
src = fetchurl {
url = "mirror://sourceforge/qsampler/${name}.tar.gz";
sha256 = "1wg19022gyzy8rk9npfav9kz9z2qicqwwb2x5jz5hshzf3npx1fi";
sha256 = "0kn1mv31ygjjsric03pkbv7r8kg3bri9ldx2ajc9pyx0p8ggnbmc";
};
nativeBuildInputs = [ autoconf automake libtool pkgconfig qttools ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "atom-${version}";
version = "1.22.0";
version = "1.23.1";
src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
sha256 = "1jxw0m1hfaisf1f875wr28f0mr3h0wjml6pjhfxbybvcblpnd27k";
sha256 = "14cwg48cxrhkcj8ahfznqr1ym316437xds7aw5011dqbmswb0v4f";
name = "${name}.deb";
};

View File

@ -46,6 +46,9 @@ self:
# upstream issue: missing file header
bufshow = markBroken super.bufshow;
# part of a larger package
caml = dontConfigure super.caml;
# part of a larger package
# upstream issue: missing package version
cmake-mode = markBroken (dontConfigure super.cmake-mode);

View File

@ -45,6 +45,9 @@ self:
# upstream issue: missing file header
bufshow = markBroken super.bufshow;
# part of a larger package
caml = dontConfigure super.caml;
# part of a larger package
# upstream issue: missing package version
cmake-mode = markBroken (dontConfigure super.cmake-mode);

View File

@ -1,18 +1,20 @@
{ stdenv, fetchFromGitHub, getopt, which, pkgconfig, gtk3 } :
{ stdenv, fetchFromGitHub, pkgconfig
, ffmpeg, gtk3, imagemagick, libarchive, libspectre, libwebp, poppler
}:
stdenv.mkDerivation (rec {
name = "pqiv-${version}";
version = "2.10.1";
version = "2.10.2";
src = fetchFromGitHub {
owner = "phillipberndt";
repo = "pqiv";
rev = version;
sha256 = "06blqckj3bpbi2kl5ndv2d10r7nw62r386kfwrkic9amynlv9gki";
sha256 = "0zn7ps73lw04l9i4777c90ik07v3hkg66mnpz8vvvwjyi40i77a7";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ getopt which gtk3 ];
buildInputs = [ ffmpeg gtk3 imagemagick libarchive libspectre libwebp poppler ];
prePatch = "patchShebangs .";

View File

@ -1,10 +1,10 @@
{ callPackage, fetchgit, ... } @ args:
callPackage ./generic.nix (args // {
version = "2016-06-11";
version = "2017-12-01";
src = fetchgit {
sha256 = "0jpavig7bg7l72drlwipmsg03j6qdy5aq2r3kj6a2h6ahpnm2549";
rev = "5ba37467e88ca8052973b37128ce8fd36ad5d61d";
sha256 = "0qf7d7268kdxnb723c03m6icxhbgx0vw8gqvck2q1w5b948dy9g8";
rev = "e895ee55bec8a3320a0e972b32c05d35b47fe226";
url = "git://alioth.debian.org/git/sane/sane-backends.git";
};
})

View File

@ -25,7 +25,6 @@ in
description = "Host tools and driver library for the AirSpy SDR";
license = licenses.free;
platforms = platforms.linux;
maintainer = with maintainers; [ markuskowa ];
maintainers = with maintainers; [ markuskowa ];
};
}

View File

@ -1,35 +0,0 @@
{ stdenv, lib, go, fetchgit, git, buildGoPackage }:
buildGoPackage rec {
name = "camlistore-${version}";
version = "0.9";
src = fetchgit {
url = "https://github.com/camlistore/camlistore";
rev = "refs/tags/${version}";
sha256 = "1ypplr939ny9drsdngapa029fgak0wic8sbna588m79cbl17psya";
leaveDotGit = true;
};
buildInputs = [ git ];
goPackagePath = "";
buildPhase = ''
cd go/src/camlistore
go run make.go
'';
installPhase = ''
mkdir -p $bin/bin
rm bin/README
cp bin/* $bin/bin
'';
meta = with stdenv.lib; {
description = "A way of storing, syncing, sharing, modelling and backing up content";
homepage = https://camlistore.org;
license = licenses.asl20;
maintainers = with maintainers; [ cstrahan ];
platforms = platforms.unix;
};
}

View File

@ -2,12 +2,13 @@
stdenv.mkDerivation rec {
name = "ipmicfg-${version}";
version = "1.27.0";
buildVersion = "170620";
version = "1.27.1";
buildVersion = "170901";
src = fetchzip {
url = "ftp://ftp.supermicro.com/utility/IPMICFG/IPMICFG_${version}_build.${buildVersion}.zip";
sha256 = "0jr2vih4hzymb62mbqyykwcrjhbhazf6wr1g0cq8ji586i3z3vw5";
sha256 = "11xhzw36pg4has8857pypf44cni8m2mg8qsqi1s4bfjbxlfgxgwk";
extraPostFetch = "chmod u+rwX,go-rwx+X $out/";
};
installPhase = ''

View File

@ -7,13 +7,13 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "keepassxc-${version}";
version = "2.2.2";
version = "2.2.4";
src = fetchFromGitHub {
owner = "keepassxreboot";
repo = "keepassxc";
rev = "${version}";
sha256 = "01pqpa3vzk2q1vrj2lqayr7a3nzpnj176yhnqbrwlm3s9rga4wzn";
sha256 = "0q913v2ka6p7jr7c4w9fq8aqh5v6nxqgcv9h7zllk5p0amsf8d80";
};
cmakeFlags = [

View File

@ -0,0 +1,31 @@
{ stdenv, lib, go_1_8, fetchzip, git }:
stdenv.mkDerivation rec {
name = "perkeep-${version}";
version = "20170505";
src = fetchzip {
url = "https://perkeep.org/dl/monthly/camlistore-${version}-src.zip";
sha256 = "1vliyvkyzmhdi6knbh8rdsswmz3h0rpxdpq037jwbdbkjccxjdwa";
};
buildInputs = [ git go_1_8 ];
goPackagePath = "";
buildPhase = ''
go run make.go
'';
installPhase = ''
mkdir -p $out/bin
cp bin/* $out/bin
'';
meta = with stdenv.lib; {
description = "A way of storing, syncing, sharing, modelling and backing up content (née Camlistore)";
homepage = https://perkeep.org;
license = licenses.asl20;
maintainers = with maintainers; [ cstrahan ];
platforms = platforms.unix;
};
}

View File

@ -1,28 +1,30 @@
{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd, openssl
, opencl-headers, ocl-icd, hwloc, cudatoolkit
, devDonationLevel ? "0.0"
, cudaSupport ? false # doesn't work currently
, cudaSupport ? false
, openclSupport ? false
}:
stdenv.mkDerivation rec {
name = "xmr-stak-${version}";
version = "2.0.0";
version = "2.1.0";
src = fetchFromGitHub {
owner = "fireice-uk";
repo = "xmr-stak";
rev = "v${version}";
sha256 = "1gsp5d2qmc8qwbfm87c2vnak6ks6y9csfjbsi0570pdciapaf8vs";
sha256 = "0ijhimsd03v1psj7pyj70z4rrgfvphpf69y7g72p06010xq1agp8";
};
NIX_CFLAGS_COMPILE = "-O3";
cmakeFlags = lib.optional (!cudaSupport) "-DCUDA_ENABLE=OFF";
cmakeFlags = lib.optional (!cudaSupport) "-DCUDA_ENABLE=OFF"
++ lib.optional (!openclSupport) "-DOpenCL_ENABLE=OFF";
nativeBuildInputs = [ cmake ];
buildInputs =
[ libmicrohttpd openssl opencl-headers ocl-icd hwloc ]
++ lib.optional cudaSupport cudatoolkit;
buildInputs = [ libmicrohttpd openssl hwloc ]
++ lib.optional cudaSupport cudatoolkit
++ lib.optionals openclSupport [ opencl-headers ocl-icd ];
postPatch = ''
substituteInPlace xmrstak/donate-level.hpp \

View File

@ -94,12 +94,12 @@ let
flash = stdenv.mkDerivation rec {
name = "flashplayer-ppapi-${version}";
version = "27.0.0.187";
version = "28.0.0.126";
src = fetchzip {
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
+ "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
sha256 = "102z9aflm0a29klc26jch3wl4y8hdrxzqdqvf5yj0bnibx3hwpsy";
sha256 = "10q005jp5vcfqx35jzwp138djv9g7jp83jqbyism40k67ah33i1z";
stripRoot = false;
};

View File

@ -73,25 +73,25 @@ let
in
stdenv.mkDerivation rec {
name = "flashplayer-${version}";
version = "27.0.0.187";
version = "28.0.0.126";
src = fetchurl {
url =
if debug then
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/27/flash_player_npapi_linux_debug.${arch}.tar.gz"
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/28/flash_player_npapi_linux_debug.${arch}.tar.gz"
else
"https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz";
sha256 =
if debug then
if arch == "x86_64" then
"1ii97fa1diyggarh1gkg43ia42ws7x84hpjzvrdhxcf6s47lh2ld"
"16ivf0j7kr7hak2pxs4mbhw5g0i8ky72mvdkaxpfq42g4mr7qf62"
else
"1gphlgy64ddzn4bbgr2k1kh8xwq9ghf0z0c6zilry0nq33i64xa1"
"09dn1zr5bcfvkb46z86p7gr2g9p0a3nj9vvw1qw2fblvbajmznk0"
else
if arch == "x86_64" then
"1hfcphcvdam62k983rm6r42mnkih4nfwyrnx0v88z3nw14mjr4c3"
"0z5p3zimvx8zas649gn2nzp4gfvwc69hklza3d2hpmzb35ckfqbc"
else
"06jb4jd5840w125wd4l35f0b1iqjak07ajy02k9j8srglwi0ffmw";
"0kyyjqim7qq0am2hr9ldcbm4sx8dsbgf3916km9gbgg8vjddgxwy";
};
nativeBuildInputs = [ unzip ];

View File

@ -55,19 +55,19 @@ let
in
stdenv.mkDerivation rec {
name = "flashplayer-standalone-${version}";
version = "27.0.0.187";
version = "28.0.0.126";
src = fetchurl {
url =
if debug then
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/27/flash_player_sa_linux_debug.x86_64.tar.gz"
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/28/flash_player_sa_linux_debug.x86_64.tar.gz"
else
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/27/flash_player_sa_linux.x86_64.tar.gz";
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/28/flash_player_sa_linux.x86_64.tar.gz";
sha256 =
if debug then
"1857g4yy62pj02pnw7p9bpqazp98jf17yv2xdh1fkqiibzahjc6m"
"07692qivf09zh36vlaczwwq93f8p7v1afnsgkry7m9yybxh1753d"
else
"0kywx7c3qb1hfljc14ddzm1cyhvwygbbdfxp1rdhqw8s3b6ns0hw";
"14xj55wjp9jvm01n8bwrbwmkhpcrxc44yfqi3jq8f8pzrqi7smck";
};
nativeBuildInputs = [ unzip ];

View File

@ -29,13 +29,13 @@ let
in buildPythonApplication rec {
name = "qutebrowser-${version}${fix_postfix}";
fix_postfix = "-1";
version = "1.0.3";
fix_postfix = "";
version = "1.0.4";
namePrefix = "";
src = fetchurl {
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${name}.tar.gz";
sha256 = "04d6hg2yf2wjwn0sd05bpx3zngnb93g7rizbdq17bbpmnwxchzap";
sha256 = "0z8zrgr914bfmimqk3l17dxyc7gzh42sw8lfp041zzvj6fxw3lkr";
};
# Needs tox

View File

@ -23,7 +23,7 @@ let
in buildGoPackage rec {
pname = "minikube";
name = "${pname}-${version}";
version = "0.23.0";
version = "0.24.1";
goPackagePath = "k8s.io/minikube";
@ -31,7 +31,7 @@ in buildGoPackage rec {
owner = "kubernetes";
repo = "minikube";
rev = "v${version}";
sha256 = "1f7kjn26y7knmab5avj8spb40ny1y0jix5j5p0dqfjvg9climl0h";
sha256 = "18b5ic4lcn84hq2ji5alyx58x9vi0b03544i5xzfgn3h2k78kynk";
};
patches = [
@ -65,6 +65,8 @@ in buildGoPackage rec {
postInstall = ''
mkdir -p $bin/share/bash-completion/completions/
MINIKUBE_WANTUPDATENOTIFICATION=false HOME=$PWD $bin/bin/minikube completion bash > $bin/share/bash-completion/completions/minikube
mkdir -p $bin/share/zsh/site-functions/
MINIKUBE_WANTUPDATENOTIFICATION=false HOME=$PWD $bin/bin/minikube completion zsh > $bin/share/zsh/site-functions/_minikube
'';
postFixup = "wrapProgram $bin/bin/${pname} --prefix PATH : ${stdenv.lib.makeBinPath binPath}";

View File

@ -7,12 +7,12 @@
stdenv.mkDerivation rec {
pname = "discord";
version = "0.0.2";
version = "0.0.3";
name = "${pname}-${version}";
src = fetchurl {
url = "https://cdn.discordapp.com/apps/linux/${version}/${pname}-${version}.tar.gz";
sha256 = "0sb7l0rrpqxzn4fndjr50r5xfiid1f81p22gda4mz943yv37mhfz";
sha256 = "1yxxy9q75zlgk1b4winw4zy9yxk5pn8x4camh52n6v3mw6gq0bfh";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -1,4 +1,4 @@
{stdenv, fetchFromGitHub, ocamlPackages, opam}:
{ stdenv, fetchFromGitHub, ocamlPackages }:
assert stdenv.lib.versionAtLeast ocamlPackages.ocaml.version "4.02.2";
@ -16,13 +16,12 @@ stdenv.mkDerivation rec {
buildInputs = with ocamlPackages; [
ocaml ocamlbuild findlib topkg ppx_sexp_conv
erm_xmpp_0_3 tls nocrypto x509 ocaml_lwt otr astring
ptime notty sexplib_p4 hex uutf opam
ptime notty sexplib_p4 hex uutf
];
buildPhase = with ocamlPackages;
"ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib pkg/pkg.ml build --pinned true";
buildPhase = "${ocamlPackages.topkg.run} build --pinned true";
installPhase = "opam-installer --prefix=$out --script | sh";
inherit (ocamlPackages.topkg) installPhase;
meta = with stdenv.lib; {
homepage = https://github.com/hannesm/jackline;

View File

@ -4,6 +4,8 @@
let
# Please keep the version x.y.0.z and do not update to x.y.76.z because the
# source of the latter disappears much faster.
version = "8.11.0.4";
rpath = stdenv.lib.makeLibraryPath [
@ -55,7 +57,7 @@ let
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb";
sha256 = "1dq7k4zlqqsx7786phialia5xbpc3cp1wrjhqrvga09yg4dl505c";
sha256 = "1chwc4rqcwwim03n6nski5dar33bb1gnadbvcjg6gln3xqr0ipib";
}
else
throw "Skype for linux is not supported on ${stdenv.system}";

View File

@ -15,14 +15,14 @@ let
'';
in stdenv.mkDerivation rec {
version = "20171027";
version = "20171208";
name = "neomutt-${version}";
src = fetchFromGitHub {
owner = "neomutt";
repo = "neomutt";
rev = "neomutt-${version}";
sha256 = "0pwc5zdxc9h23658dfkzndfj1ld3ijyvcxmsiv793y3i4dig0s3n";
sha256 = "1fn28q4akfz0nq3ysp8n53j8yqp2mx6yhbvb59c4zm6zgd4qzgp1";
};
buildInputs = [

View File

@ -1,18 +1,18 @@
# - coqide compilation can be disabled by setting lablgtk to null;
{stdenv, fetchurl, pkgconfig, ocaml, camlp5}:
{ stdenv, fetchFromGitHub, pkgconfig, ocaml }:
stdenv.mkDerivation rec {
name = "ott-${version}";
version = "0.25";
version = "0.27";
src = fetchurl {
url = "http://www.cl.cam.ac.uk/~pes20/ott/ott_distro_${version}.tar.gz";
sha256 = "0i8ad1yrz9nrrgpi8db4z0aii5s0sy35mmzdfw5nq183mvbx8qqd";
src = fetchFromGitHub {
owner = "ott-lang";
repo = "ott";
rev = version;
sha256 = "12hzpyinswqaxwp6y793h7ywrv6289cw4911ah2yzq04ji095pfb";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ ocaml camlp5 ];
buildInputs = [ ocaml ];
installPhase = ''
mkdir -p $out/bin
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
ln -s $out/bin/ott.opt $out/bin/ott
mkdir -p $out/share/emacs/site-lisp
cp emacs/ottmode.el $out/share/emacs/site-lisp
cp emacs/ott-mode.el $out/share/emacs/site-lisp
'';
meta = {

View File

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub, python2, fixDarwinDylibNames }:
let
python = python2;
in stdenv.mkDerivation rec {
name = "z3-${version}";
version = "4.5.0";
src = fetchFromGitHub {
owner = "Z3Prover";
repo = "z3";
rev = "z3-4.5.0";
sha256 = "0ssp190ksak93hiz61z90x6hy9hcw1ywp8b2dzmbhn6fbd4bnxzp";
};
buildInputs = [ python fixDarwinDylibNames ];
enableParallelBuilding = true;
configurePhase = ''
${python.interpreter} scripts/mk_make.py --prefix=$out --python --pypkgdir=$out/${python.sitePackages}
cd build
'';
meta = {
description = "A high-performance theorem prover and SMT solver";
homepage = "https://github.com/Z3Prover/z3";
license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
};
}

View File

@ -2,16 +2,16 @@
stdenv.mkDerivation rec {
name = "gerrit-${version}";
version = "2.14.3";
version = "2.14.6";
src = fetchurl {
url = "https://gerrit-releases.storage.googleapis.com/gerrit-${version}.war";
sha256 = "1hxrlhp5l5q4lp5b5bq8va7856cnm4blfv01rgqq3yhvn432sq6v";
sha256 = "0fsqwfsnyb4nbxgb1i1mp0vshl0mk8bwqlddzqr9x2v99mbca28q";
};
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "1j1afxv7yj2fxaw0wy8kmxi6sl9fwj8xsxs5kzg9qz5gzayb26kp";
outputHash = "1qrmvqqnlbabqz4yx06vi030ci12v0063iq2palxmbj3whrzv9la";
buildCommand = ''
mkdir -p "$out"/webapps/

View File

@ -0,0 +1,26 @@
{ fetchFromGitHub, pythonPackages, stdenv }:
pythonPackages.buildPythonApplication rec {
ver = "0.8.5";
name = "gitless-${ver}";
src = fetchFromGitHub {
owner = "sdg-mit";
repo = "gitless";
rev = "v${ver}";
sha256 = "1v22i5lardswpqb6vxjgwra3ac8652qyajbijfj18vlkhajz78hq";
};
propagatedBuildInputs = with pythonPackages; [ sh pygit2 clint ];
doCheck = false;
meta = with stdenv.lib; {
homepage = http://gitless.com/;
description = "A version control system built on top of Git";
license = licenses.gpl2;
platforms = platforms.all;
maintainers = [ maintainers.cransom ];
};
}

View File

@ -1,69 +0,0 @@
{ stdenv, fetchurl, python2Packages, sqlite, which, strace }:
python2Packages.buildPythonApplication rec {
name = "glance-${version}";
version = "11.0.0";
namePrefix = "";
PBR_VERSION = "${version}";
src = fetchurl {
url = "https://github.com/openstack/glance/archive/${version}.tar.gz";
sha256 = "05rz1lmzdmpnw8sf87vvi0l6q9g6s840z934zyinw17yfcvmqrdg";
};
# https://github.com/openstack/glance/blob/stable/liberty/requirements.txt
propagatedBuildInputs = with python2Packages; [
pbr sqlalchemy anyjson eventlet PasteDeploy routes webob sqlalchemy_migrate
httplib2 pycrypto iso8601 stevedore futurist keystonemiddleware paste
jsonschema keystoneclient pyopenssl six retrying semantic-version qpid-python
WSME osprofiler glance_store castellan taskflow cryptography xattr pysendfile
# oslo componenets
oslo-config oslo-context oslo-concurrency oslo-service oslo-utils oslo-db
oslo-i18n oslo-log oslo-messaging oslo-middleware oslo-policy oslo-serialization
MySQL_python
];
buildInputs = with python2Packages; [
Babel coverage fixtures mox3 mock oslosphinx requests testrepository pep8
testresources testscenarios testtools psutil_1 oslotest psycopg2
sqlite which strace
];
patchPhase = ''
# it's not a test, but a class mixin
sed -i 's/ImageCacheTestCase/ImageCacheMixin/' glance/tests/unit/test_image_cache.py
# these require network access, see https://bugs.launchpad.net/glance/+bug/1508868
sed -i 's/test_get_image_data_http/noop/' glance/tests/unit/common/scripts/test_scripts_utils.py
sed -i 's/test_set_image_data_http/noop/' glance/tests/unit/common/scripts/image_import/test_main.py
sed -i 's/test_create_image_with_nonexistent_location_url/noop/' glance/tests/unit/v1/test_api.py
sed -i 's/test_upload_image_http_nonexistent_location_url/noop/' glance/tests/unit/v1/test_api.py
# TODO: couldn't figure out why this test is failing
sed -i 's/test_all_task_api/noop/' glance/tests/integration/v2/test_tasks_api.py
'';
postInstall = ''
# check all binaries don't crash
for i in $out/bin/*; do
case "$i" in
*glance-artifacts) # https://bugs.launchpad.net/glance/+bug/1508879
:
;;
*)
$i --help
esac
done
cp etc/*-paste.ini $out/etc/
'';
meta = with stdenv.lib; {
homepage = http://glance.openstack.org/;
description = "Services for discovering, registering, and retrieving virtual machine images";
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -1,55 +0,0 @@
{ stdenv, fetchurl, python2Packages, xmlsec, which, openssl }:
python2Packages.buildPythonApplication rec {
name = "keystone-${version}";
version = "8.0.0";
namePrefix = "";
PBR_VERSION = "${version}";
src = fetchurl {
url = "https://github.com/openstack/keystone/archive/${version}.tar.gz";
sha256 = "1xbrs7xgwjzrs07zyxxcl2lq18dh582gd6lx1zzzji8c0qmffy0z";
};
# remove on next version bump
patches = [ ./remove-oslo-policy-tests.patch ];
# https://github.com/openstack/keystone/blob/stable/liberty/requirements.txt
propagatedBuildInputs = with python2Packages; [
pbr webob eventlet greenlet PasteDeploy paste routes cryptography six
sqlalchemy sqlalchemy_migrate stevedore passlib keystoneclient memcached
keystonemiddleware oauthlib pysaml2 dogpile_cache jsonschema pycadf msgpack
xmlsec MySQL_python
# oslo
oslo-cache oslo-concurrency oslo-config oslo-context oslo-messaging oslo-db
oslo-i18n oslo-log oslo-middleware oslo-policy oslo-serialization oslo-service
oslo-utils
];
buildInputs = with python2Packages; [
coverage fixtures mock subunit tempest-lib testtools testrepository
ldap ldappool webtest requests oslotest pep8 pymongo which
];
makeWrapperArgs = ["--prefix PATH : '${openssl.bin}/bin:$PATH'"];
postInstall = ''
# install .ini files
mkdir -p $out/etc
cp etc/* $out/etc
# check all binaries don't crash
for i in $out/bin/*; do
$i --help
done
'';
meta = with stdenv.lib; {
homepage = http://keystone.openstack.org/;
description = "Authentication, authorization and service discovery mechanisms via HTTP";
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -1,93 +0,0 @@
From 3aefdf4de76fdcdc02093bc631e339f9ecd4c707 Mon Sep 17 00:00:00 2001
From: James Page <james.page@ubuntu.com>
Date: Fri, 18 Sep 2015 16:38:47 +0100
Subject: Add compatibility with iproute2 >= 4.0
The ip netns list command adds additional id data in more recent
versions of iproute2 of the format:
qdhcp-35fc068a-750d-4add-b1d2-af392dbd8790 (id: 1)
Update parsing to deal with old and new formats.
Change-Id: I0d3fc4262284172f5ad31e4f2f78ae1fb33b4228
Closes-Bug: 1497309
---
neutron/agent/linux/ip_lib.py | 6 +++---
neutron/tests/functional/agent/test_l3_agent.py | 2 +-
neutron/tests/unit/agent/linux/test_ip_lib.py | 15 +++++++++++++++
3 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/neutron/agent/linux/ip_lib.py b/neutron/agent/linux/ip_lib.py
index 551341a..a717bf6 100644
--- a/neutron/agent/linux/ip_lib.py
+++ b/neutron/agent/linux/ip_lib.py
@@ -208,7 +208,7 @@ class IPWrapper(SubProcessBase):
@classmethod
def get_namespaces(cls):
output = cls._execute([], 'netns', ('list',))
- return [l.strip() for l in output.split('\n')]
+ return [l.split()[0] for l in output.splitlines()]
class IPDevice(SubProcessBase):
@@ -819,8 +819,8 @@ class IpNetnsCommand(IpCommandBase):
output = self._parent._execute(
['o'], 'netns', ['list'],
run_as_root=cfg.CONF.AGENT.use_helper_for_ns_read)
- for line in output.split('\n'):
- if name == line.strip():
+ for line in [l.split()[0] for l in output.splitlines()]:
+ if name == line:
return True
return False
diff --git a/neutron/tests/functional/agent/test_l3_agent.py b/neutron/tests/functional/agent/test_l3_agent.py
index ffa20e6..84b16df 100644
--- a/neutron/tests/functional/agent/test_l3_agent.py
+++ b/neutron/tests/functional/agent/test_l3_agent.py
@@ -790,7 +790,7 @@ class L3HATestFramework(L3AgentTestFramework):
get_ns_name = mock.patch.object(
namespaces.RouterNamespace, '_get_ns_name').start()
get_ns_name.return_value = "%s%s%s" % (
- namespaces.RouterNamespace._get_ns_name(router_info['id']),
+ 'qrouter-' + router_info['id'],
self.NESTED_NAMESPACE_SEPARATOR, self.agent.host)
router1 = self.manage_router(self.agent, router_info)
diff --git a/neutron/tests/unit/agent/linux/test_ip_lib.py b/neutron/tests/unit/agent/linux/test_ip_lib.py
index 2de408d..bdfc9d7 100644
--- a/neutron/tests/unit/agent/linux/test_ip_lib.py
+++ b/neutron/tests/unit/agent/linux/test_ip_lib.py
@@ -27,6 +27,11 @@ NETNS_SAMPLE = [
'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb',
'cccccccc-cccc-cccc-cccc-cccccccccccc']
+NETNS_SAMPLE_IPROUTE2_4 = [
+ '12345678-1234-5678-abcd-1234567890ab (id: 1)',
+ 'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb (id: 0)',
+ 'cccccccc-cccc-cccc-cccc-cccccccccccc (id: 2)']
+
LINK_SAMPLE = [
'1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN \\'
'link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0',
@@ -279,6 +284,16 @@ class TestIpWrapper(base.BaseTestCase):
self.execute.assert_called_once_with([], 'netns', ('list',))
+ def test_get_namespaces_iproute2_4(self):
+ self.execute.return_value = '\n'.join(NETNS_SAMPLE_IPROUTE2_4)
+ retval = ip_lib.IPWrapper.get_namespaces()
+ self.assertEqual(retval,
+ ['12345678-1234-5678-abcd-1234567890ab',
+ 'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb',
+ 'cccccccc-cccc-cccc-cccc-cccccccccccc'])
+
+ self.execute.assert_called_once_with([], 'netns', ('list',))
+
def test_add_tuntap(self):
ip_lib.IPWrapper().add_tuntap('tap0')
self.execute.assert_called_once_with([], 'tuntap',
--
cgit v0.11.2

View File

@ -1,69 +0,0 @@
{ stdenv, fetchurl, python2Packages, xmlsec, which, dnsmasq }:
python2Packages.buildPythonApplication rec {
name = "neutron-${version}";
version = "7.0.0";
namePrefix = "";
PBR_VERSION = "${version}";
src = fetchurl {
url = "https://github.com/openstack/neutron/archive/${version}.tar.gz";
sha256 = "02ll081xly7zfjmgkal81fy3aplbnn5zgx8xfy3yy1nv3kfnyi40";
};
# https://github.com/openstack/neutron/blob/stable/liberty/requirements.txt
propagatedBuildInputs = with python2Packages; [
pbr paste PasteDeploy routes debtcollector eventlet greenlet httplib2 requests
jinja2 keystonemiddleware netaddr retrying sqlalchemy webob alembic six
stevedore pecan ryu networking-hyperv MySQL_python
# clients
keystoneclient neutronclient novaclient
# oslo components
oslo-concurrency oslo-config oslo-context oslo-db oslo-i18n oslo-log oslo-messaging
oslo-middleware oslo-policy oslo-rootwrap oslo-serialization oslo-service oslo-utils
oslo-versionedobjects
];
# make sure we include migrations
prePatch = ''
echo "graft neutron" >> MANIFEST.in
substituteInPlace etc/neutron/rootwrap.d/dhcp.filters --replace "/sbin/dnsmasq" "${dnsmasq}/bin/dnsmasq"
'';
patches = [ ./neutron-iproute-4.patch ];
buildInputs = with python2Packages; [
cliff coverage fixtures mock subunit requests-mock oslosphinx testrepository
testtools testresources testscenarios webtest oslotest os-testr tempest-lib
ddt pep8
];
postInstall = ''
# requires extra optional dependencies
# TODO: package networking_mlnx, networking_vsphere, bsnstacklib, XenAPI
rm $out/bin/{neutron-mlnx-agent,neutron-ovsvapp-agent,neutron-restproxy-agent,neutron-rootwrap-xen-dom0}
# check all binaries don't crash
for i in $out/bin/*; do
case "$i" in
*neutron-pd-notify|*neutron-rootwrap-daemon|*neutron-rootwrap)
:
;;
*)
$i --help
esac
done
'';
meta = with stdenv.lib; {
homepage = http://neutron.openstack.org/;
description = "Virtual network service for Openstack";
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.linux;
# Marked as broken due to needing an update for security issues.
# See: https://github.com/NixOS/nixpkgs/issues/18856
broken = true;
};
}

View File

@ -1,71 +0,0 @@
{ stdenv, fetchurl, python2Packages, openssl, openssh }:
python2Packages.buildPythonApplication rec {
name = "nova-${version}";
version = "12.0.0";
namePrefix = "";
PBR_VERSION = "${version}";
src = fetchurl {
url = "https://github.com/openstack/nova/archive/${version}.tar.gz";
sha256 = "175n1znvmy8f5vqvabc2fa4qy8y17685z4gzpq8984mdsdnpv21w";
};
# otherwise migrate.cfg is not installed
patchPhase = ''
echo "graft nova" >> MANIFEST.in
# remove transient error test, see http://hydra.nixos.org/build/40203534
rm nova/tests/unit/compute/test_{shelve,compute_utils}.py
'';
# https://github.com/openstack/nova/blob/stable/liberty/requirements.txt
propagatedBuildInputs = with python2Packages; [
pbr sqlalchemy boto decorator eventlet jinja2 lxml routes cryptography
webob greenlet PasteDeploy paste prettytable sqlalchemy_migrate netaddr
netifaces paramiko Babel iso8601 jsonschema keystoneclient requests six
stevedore websockify rfc3986 os-brick psutil_1 alembic psycopg2 pymysql
keystonemiddleware MySQL_python
# oslo components
oslo-rootwrap oslo-reports oslo-utils oslo-i18n oslo-config oslo-context
oslo-log oslo-serialization oslo-middleware oslo-db oslo-service oslo-messaging
oslo-concurrency oslo-versionedobjects
# clients
cinderclient neutronclient glanceclient
];
buildInputs = with python2Packages; [
coverage fixtures mock mox3 subunit requests-mock pillow oslosphinx
oslotest testrepository testresources testtools tempest-lib bandit
oslo-vmware pep8 barbicanclient ironicclient openssl openssh
];
postInstall = ''
cp -prvd etc $out/etc
# check all binaries don't crash
for i in $out/bin/*; do
case "$i" in
*nova-dhcpbridge*)
:
;;
*nova-rootwrap*)
:
;;
*)
$i --help
;;
esac
done
'';
meta = with stdenv.lib; {
homepage = http://nova.openstack.org/;
description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller";
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -1,61 +0,0 @@
From 6016d017004acaae288312b196ef07ea98e9962d Mon Sep 17 00:00:00 2001
From: Brant Knudson <bknudson@us.ibm.com>
Date: Mon, 12 Oct 2015 15:12:45 -0500
Subject: [PATCH] Remove oslo.policy implementation tests from keystone
oslo.policy 0.12.0 contains a change to use requests to do the http
check rather than urllib. This change caused keystone tests to fail
because the keystone tests were mocking urllib, making assumptions
about how oslo.policy is implemented. Keystone doesn't need to test
internal features of oslo.policy, so these tests are removed.
Change-Id: I9d6e4950b9fe75cbb94100c8effdcec002642027
Closes-Bug: 1505374
---
keystone/tests/unit/test_policy.py | 24 ------------------------
1 file changed, 24 deletions(-)
diff --git a/keystone/tests/unit/test_policy.py b/keystone/tests/unit/test_policy.py
index b2f0e52..686e2b7 100644
--- a/keystone/tests/unit/test_policy.py
+++ b/keystone/tests/unit/test_policy.py
@@ -16,10 +16,8 @@
import json
import os
-import mock
from oslo_policy import policy as common_policy
import six
-from six.moves.urllib import request as urlrequest
from testtools import matchers
from keystone import exception
@@ -118,28 +116,6 @@ def test_enforce_good_action(self):
action = "example:allowed"
rules.enforce(self.credentials, action, self.target)
- def test_enforce_http_true(self):
-
- def fakeurlopen(url, post_data):
- return six.StringIO("True")
-
- action = "example:get_http"
- target = {}
- with mock.patch.object(urlrequest, 'urlopen', fakeurlopen):
- result = rules.enforce(self.credentials, action, target)
- self.assertTrue(result)
-
- def test_enforce_http_false(self):
-
- def fakeurlopen(url, post_data):
- return six.StringIO("False")
-
- action = "example:get_http"
- target = {}
- with mock.patch.object(urlrequest, 'urlopen', fakeurlopen):
- self.assertRaises(exception.ForbiddenAction, rules.enforce,
- self.credentials, action, target)
-
def test_templatized_enforcement(self):
target_mine = {'project_id': 'fake'}
target_not_mine = {'project_id': 'another'}

View File

@ -14,5 +14,11 @@ stdenv.mkDerivation {
meta = {
platforms = stdenv.lib.platforms.linux;
description = "An LD_PRELOAD library to intercept and rewrite the paths in glibc calls";
longDescription = ''
libredirect is an LD_PRELOAD library to intercept and rewrite the paths in
glibc calls based on the value of $NIX_REDIRECTS, a colon-separated list
of path prefixes to be rewritten, e.g. "/src=/dst:/usr/=/nix/store/".
'';
};
}

View File

@ -1,14 +1,22 @@
{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango
, libxml2Python, perl, intltool, gettext, gnome3 }:
, libxml2, perl, intltool, gettext, gnome3, dbus, xvfb_run, shared_mime_info }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
propagatedBuildInputs = [ gtk3 ];
propagatedBuildInputs = [
# Required by gtksourceview-3.0.pc
gtk3
# Used by gtk_source_language_manager_guess_language
shared_mime_info
];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ atk cairo glib pango
libxml2Python perl intltool gettext ];
outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkgconfig intltool gettext perl ]
++ stdenv.lib.optionals doCheck checkInputs;
buildInputs = [ atk cairo glib pango libxml2 ];
checkInputs = [ xvfb_run dbus ];
preBuild = ''
substituteInPlace gtksourceview/gtksourceview-utils.c --replace "@NIX_SHARE_PATH@" "$out/share"
@ -16,6 +24,14 @@ stdenv.mkDerivation rec {
patches = [ ./nix_share_path.patch ];
doCheck = true;
checkPhase = ''
export NO_AT_BRIDGE=1
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
--config-file=${dbus.daemon}/share/dbus-1/session.conf \
make check
'';
meta = with stdenv.lib; {
platforms = with platforms; linux ++ darwin;
maintainers = gnome3.maintainers;

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gtksourceview-3.24.5";
name = "gtksourceview-3.24.6";
src = fetchurl {
url = mirror://gnome/sources/gtksourceview/3.24/gtksourceview-3.24.5.tar.xz;
sha256 = "0246185fcc20c4734d01419a83f58f251a82e2a902fe60bb0335187fcf658181";
url = mirror://gnome/sources/gtksourceview/3.24/gtksourceview-3.24.6.tar.xz;
sha256 = "7aa6bdfebcdc73a763dddeaa42f190c40835e6f8495bb9eb8f78587e2577c188";
};
}

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, makeWrapper, bootstrap-chicken ? null }:
let
version = "4.11.0";
version = "4.13.0";
platform = with stdenv;
if isDarwin then "macosx"
else if isCygwin then "cygwin"
@ -17,7 +17,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://code.call-cc.org/releases/${version}/chicken-${version}.tar.gz";
sha256 = "12ddyiikqknpr8h6llsxbg2fz75xnayvcnsvr1cwv8xnjn7jpp73";
sha256 = "0hvckhi5gfny3mlva6d7y9pmx7cbwvq0r7mk11k3sdiik9hlkmdd";
};
setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh;

View File

@ -94,6 +94,9 @@ let
# Change the #error on GCC > 4.9 to a #warning.
sed -i $out/include/host_config.h -e 's/#error\(.*unsupported GNU version\)/#warning\1/'
# Fix builds with newer glibc version
sed -i "1 i#define _BITS_FLOATN_H" "$out/include/host_defines.h"
# Ensure that cmake can find CUDA.
mkdir -p $out/nix-support
echo "cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'" >> $out/nix-support/setup-hook

View File

@ -1,15 +1,14 @@
{ stdenv, fetchurl, makeWrapper, jre, unzip }:
let
version = "1.1.60";
release = "55";
version = "1.2.10";
in stdenv.mkDerivation rec {
inherit version;
name = "kotlin-${version}";
src = fetchurl {
url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}-release-${release}.zip";
sha256 = "04vlhpc92pg0bcgapd5w2b3039sgv52km8i0m4mc5yf0ik6hx1s9";
url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
sha256 = "1qr61i5fjd5p7bi05hplagmcxgb05k4xdh5yjjvaq8cij5l4b1wm";
};
propagatedBuildInputs = [ jre ] ;

View File

@ -0,0 +1,45 @@
{ stdenv, fetchgit, coq, ssreflect }:
let param =
{
"8.6" = {
version = "20171214";
rev = "babf9c013506da1dbd67171e4a3ae87fdb7e9d00";
sha256 = "16fsf4cggx9s9fkijnpi4g614nmdb2yx7inzqqn070f8p959qcrd";
};
"8.7" = {
version = "20171214";
rev = "babf9c013506da1dbd67171e4a3ae87fdb7e9d00";
sha256 = "16fsf4cggx9s9fkijnpi4g614nmdb2yx7inzqqn070f8p959qcrd";
};
}."${coq.coq-version}"
; in
stdenv.mkDerivation rec {
name = "coq${coq.coq-version}-category-theory-${param.version}";
src = fetchgit {
url = git://github.com/jwiegley/category-theory.git;
inherit (param) rev sha256;
};
buildInputs = [ coq.ocaml coq.camlp5 coq.findlib ];
propagatedBuildInputs = [ coq ssreflect ];
enableParallelBuilding = false;
installPhase = ''
make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install
'';
meta = with stdenv.lib; {
homepage = git://github.com/jwiegley/category-theory.git;
description = "A formalization of category theory in Coq for personal study and practical work";
maintainers = with maintainers; [ jwiegley ];
platforms = coq.meta.platforms;
};
}

View File

@ -0,0 +1,51 @@
{ stdenv, fetchgit, coq, ssreflect }:
let param =
{
"8.5" = {
version = "20171215";
rev = "e2cf8b270c2efa3b56fab1ef6acc376c2c3de968";
sha256 = "09dq1vvshhlhgjccrhqgbhnq2hrys15xryfszqq11rzpgvl2zgdv";
};
"8.6" = {
version = "20171215";
rev = "e2cf8b270c2efa3b56fab1ef6acc376c2c3de968";
sha256 = "09dq1vvshhlhgjccrhqgbhnq2hrys15xryfszqq11rzpgvl2zgdv";
};
"8.7" = {
version = "20171215";
rev = "e2cf8b270c2efa3b56fab1ef6acc376c2c3de968";
sha256 = "09dq1vvshhlhgjccrhqgbhnq2hrys15xryfszqq11rzpgvl2zgdv";
};
}."${coq.coq-version}"
; in
stdenv.mkDerivation rec {
name = "coq${coq.coq-version}-coq-haskell-${param.version}";
src = fetchgit {
url = git://github.com/jwiegley/coq-haskell.git;
inherit (param) rev sha256;
};
buildInputs = [ coq.ocaml coq.camlp5 coq.findlib ];
propagatedBuildInputs = [ coq ssreflect ];
enableParallelBuilding = false;
installPhase = ''
make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install
'';
meta = with stdenv.lib; {
homepage = git://github.com/jwiegley/coq-haskell.git;
description = "A library for formalizing Haskell types and functions in Coq";
maintainers = with maintainers; [ jwiegley ];
platforms = coq.meta.platforms;
};
}

View File

@ -95,7 +95,7 @@ self: super: {
name = "git-annex-${drv.version}-src";
url = "git://git-annex.branchable.com/";
rev = "refs/tags/" + drv.version;
sha256 = "1bnnrwamw3d37fz7cwykxhi1ryy22dq8r6ld59gsbgcv23drqzax";
sha256 = "1fd7lyrwr60dp55swc5iwl0mkkzmdzpmj9qmx1qca2r7y9wc5w5k";
};
})).override {
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@ -513,14 +513,14 @@ self: super: {
hslua_0_9_3 = super.hslua_0_9_3.override { lua5_1 = pkgs.lua5_3; };
hslua-module-text = super.hslua-module-text.override { hslua = self.hslua_0_9_3; };
texmath_0_10 = super.texmath_0_10.override { pandoc-types = self.pandoc-types_1_17_3; };
pandoc_2_0_4 = super.pandoc_2_0_4.override {
pandoc_2_0_5 = super.pandoc_2_0_5.override {
doctemplates = self.doctemplates_0_2_1;
pandoc-types = self.pandoc-types_1_17_3;
skylighting = self.skylighting_0_4_4_1;
texmath = self.texmath_0_10;
};
pandoc-citeproc_0_12_1 = super.pandoc-citeproc_0_12_1.override {
pandoc = self.pandoc_2_0_4;
pandoc = self.pandoc_2_0_5;
pandoc-types = self.pandoc-types_1_17_3;
};
@ -642,7 +642,8 @@ self: super: {
'';
});
# Fine-tune the build.
# Build the latest git version instead of the official release. This isn't
# ideal, but Chris doesn't seem to make official releases any more.
structured-haskell-mode = (overrideCabal super.structured-haskell-mode (drv: {
src = pkgs.fetchFromGitHub {
owner = "chrisdone";
@ -1003,7 +1004,7 @@ self: super: {
# Newer hpack's needs newer HUnit, but we cannot easily override the version
# used in the build, so we take the easy way out and disable the test suite.
hpack_0_20_0 = dontCheck super.hpack_0_20_0;
hpack_0_21_0 = dontCheck super.hpack_0_21_0;
hpack_0_21_2 = dontCheck super.hpack_0_21_2;
# Stack 1.6.1 needs newer versions than LTS-9 provides.
stack = super.stack.overrideScope (self: super: {
@ -1016,4 +1017,7 @@ self: super: {
unliftio = self.unliftio_0_2_0_0;
});
# Hoogle needs a newer version than lts-9 provides.
hoogle = super.hoogle.override { haskell-src-exts = self.haskell-src-exts_1_20_1; };
}

View File

@ -37,7 +37,7 @@ core-packages:
- ghcjs-base-0
default-package-overrides:
# LTS Haskell 9.17
# LTS Haskell 9.18
- abstract-deque ==0.3
- abstract-deque-tests ==0.3
- abstract-par ==0.3.3
@ -170,6 +170,7 @@ default-package-overrides:
- ansigraph ==0.3.0.4
- ansi-terminal ==0.6.3.1
- ansi-wl-pprint ==0.6.7.3
- apecs ==0.2.4.7
- api-field-json-th ==0.1.0.2
- appar ==0.1.4
- apportionment ==0.0.0.2
@ -232,7 +233,7 @@ default-package-overrides:
- base-unicode-symbols ==0.2.2.4
- basic-prelude ==0.6.1.1
- bcrypt ==0.0.10
- bench ==1.0.6
- bench ==1.0.7
- benchpress ==0.2.2.10
- bencode ==0.6.0.0
- bento ==0.1.0
@ -251,7 +252,7 @@ default-package-overrides:
- binary-search ==1.0.0.3
- binary-tagged ==0.1.4.2
- binary-typed ==1.0
- bindings-DSL ==1.0.23
- bindings-DSL ==1.0.24
- bindings-GLFW ==3.1.2.3
- bindings-libzip ==1.0.1
- bioace ==0.0.1
@ -327,7 +328,7 @@ default-package-overrides:
- c2hs ==0.28.2
- Cabal ==1.24.2.0
- cabal-dependency-licenses ==0.2.0.0
- cabal-doctest ==1.0.3
- cabal-doctest ==1.0.4
- cabal-file-th ==0.2.4
- cabal-helper ==0.7.3.0
- cabal-rpm ==0.11.2
@ -404,7 +405,7 @@ default-package-overrides:
- code-page ==0.1.3
- codo-notation ==0.5.2
- colorful-monoids ==0.2.1.0
- colour ==2.3.3
- colour ==2.3.4
- comfort-graph ==0.0.2.1
- commutative ==0.0.1.4
- comonad ==5.0.2
@ -422,7 +423,7 @@ default-package-overrides:
- concurrent-split ==0.0.1
- concurrent-supply ==0.1.8
- conduit ==1.2.12.1
- conduit-combinators ==1.1.1
- conduit-combinators ==1.1.2
- conduit-connection ==0.1.0.3
- conduit-extra ==1.1.17
- conduit-iconv ==0.1.1.2
@ -516,7 +517,7 @@ default-package-overrides:
- data-ordlist ==0.4.7.0
- data-ref ==0.0.1.1
- data-reify ==0.6.1
- data-serializer ==0.3
- data-serializer ==0.3.2
- data-textual ==0.3.0.2
- dataurl ==0.1.0.0
- DAV ==1.3.1
@ -781,9 +782,9 @@ default-package-overrides:
- gi-gdk ==3.0.14
- gi-gdkpixbuf ==2.0.14
- gi-gio ==2.0.14
- gi-glib ==2.0.14
- gi-glib ==2.0.15
- gi-gobject ==2.0.15
- gi-gtk ==3.0.17
- gi-gtk ==3.0.18
- gi-javascriptcore ==3.0.14
- ginger ==0.5.3.0
- gio ==0.13.4.0
@ -933,7 +934,7 @@ default-package-overrides:
- groundhog-mysql ==0.8
- groundhog-postgresql ==0.8.0.1
- groundhog-sqlite ==0.8
- groundhog-th ==0.8.0.1
- groundhog-th ==0.8.0.2
- group-by-date ==0.1.0.2
- grouped-list ==0.2.1.3
- groupoids ==4.0
@ -941,6 +942,7 @@ default-package-overrides:
- gtk ==0.14.7
- gtk2hs-buildtools ==0.13.3.1
- gtk3 ==0.14.8
- gym-http-api ==0.1.0.0
- H ==0.9.0.1
- h2c ==1.0.0
- hackage-db ==1.22
@ -959,7 +961,7 @@ default-package-overrides:
- hamlet ==1.2.0
- HandsomeSoup ==0.4.2
- handwriting ==0.1.0.3
- hapistrano ==0.3.4.0
- hapistrano ==0.3.5.0
- happstack-hsp ==7.3.7.3
- happstack-jmacro ==7.0.12
- happstack-server ==7.4.6.4
@ -971,9 +973,9 @@ default-package-overrides:
- hashable-time ==0.2.0.1
- hashmap ==1.3.2
- hashtables ==1.2.2.1
- haskeline ==0.7.4.0
- haskeline ==0.7.4.1
- haskell-gi ==0.20.3
- haskell-gi-base ==0.20.5
- haskell-gi-base ==0.20.7
- haskell-gi-overloading ==1.0
- haskell-import-graph ==1.0.3
- haskell-lexer ==1.0.1
@ -1025,7 +1027,7 @@ default-package-overrides:
- heaps ==0.3.5
- heatshrink ==0.1.0.0
- hebrew-time ==0.1.1
- hedgehog ==0.5
- hedgehog ==0.5.1
- hedgehog-quickcheck ==0.1
- hedis ==0.9.12
- here ==1.2.11
@ -1074,8 +1076,8 @@ default-package-overrides:
- hp2pretty ==0.8.0.2
- hpack ==0.18.1
- hpc-coveralls ==1.0.10
- hPDB ==1.2.0.9
- hPDB-examples ==1.2.0.7
- hPDB ==1.2.0.10
- hPDB-examples ==1.2.0.8
- HPDF ==1.4.10
- hpio ==0.8.0.10
- hpp ==0.4.1
@ -1094,8 +1096,8 @@ default-package-overrides:
- hsebaysdk ==0.4.0.0
- hse-cpp ==0.2
- hsemail ==2
- HSet ==0.0.1
- hset ==2.2.0
- HSet ==0.0.1
- hsexif ==0.6.1.5
- hs-GeoIP ==0.3
- hsignal ==0.2.7.5
@ -1126,7 +1128,7 @@ default-package-overrides:
- hspec-wai ==0.8.0
- hspec-wai-json ==0.8.0
- hspec-webdriver ==1.2.0
- hsshellscript ==3.4.2
- hsshellscript ==3.4.5
- hstatistics ==0.3
- hstatsd ==0.1
- HStringTemplate ==0.8.6
@ -1147,13 +1149,13 @@ default-package-overrides:
- http-client-openssl ==0.2.1.1
- http-client-tls ==0.3.5.1
- http-common ==0.8.2.0
- http-conduit ==2.2.3.2
- http-conduit ==2.2.4
- http-date ==0.0.6.1
- httpd-shed ==0.4.0.3
- http-link-header ==1.0.3
- http-media ==0.6.4
- http-reverse-proxy ==0.4.5
- http-streams ==0.8.5.3
- http-streams ==0.8.5.5
- http-types ==0.9.1
- human-readable-duration ==0.2.0.3
- HUnit ==1.5.0.0
@ -1258,7 +1260,7 @@ default-package-overrides:
- jmacro-rpc-snap ==0.3
- jni ==0.3.1
- jose ==0.6.0.3
- jose-jwt ==0.7.7
- jose-jwt ==0.7.8
- js-flot ==0.8.3
- js-jquery ==3.2.1
- json ==0.9.1
@ -1334,7 +1336,7 @@ default-package-overrides:
- licensor ==0.2.1
- lifted-async ==0.9.3
- lifted-base ==0.2.3.11
- lift-generics ==0.1.1
- lift-generics ==0.1.2
- line ==3.1.0
- linear ==1.20.7
- linear-accelerate ==0.4.1
@ -1400,8 +1402,8 @@ default-package-overrides:
- median-stream ==0.7.0.0
- med-module ==0.1.1
- megaparsec ==5.3.1
- mega-sdist ==0.3.0.4
- memory ==0.14.9
- mega-sdist ==0.3.0.5
- memory ==0.14.10
- MemoTrie ==0.6.8
- mersenne-random-pure64 ==0.2.2.0
- messagepack ==0.5.4
@ -1470,9 +1472,9 @@ default-package-overrides:
- monoid-extras ==0.4.2
- monoid-subclasses ==0.4.4
- monoid-transformer ==0.0.3
- mono-traversable ==1.0.4.0
- mono-traversable ==1.0.5.0
- mono-traversable-instances ==0.1.0.0
- morte ==1.6.11
- morte ==1.6.12
- mountpoints ==1.0.2
- mstate ==0.2.7
- mtl ==2.2.1
@ -1515,7 +1517,7 @@ default-package-overrides:
- network-carbon ==1.0.10
- network-conduit-tls ==1.2.2
- network-house ==0.1.0.2
- network-info ==0.2.0.8
- network-info ==0.2.0.9
- network-ip ==0.3.0.2
- network-msgpack-rpc ==0.0.3
- network-multicast ==0.2.0
@ -1533,8 +1535,8 @@ default-package-overrides:
- nfc ==0.1.0
- nicify-lib ==1.0.1
- NineP ==0.0.2.1
- nix-paths ==1.0.0.1
- nonce ==1.0.4
- nix-paths ==1.0.1
- nonce ==1.0.5
- nondeterminism ==1.4
- non-empty ==0.3
- non-empty-sequence ==0.2.0.2
@ -1556,7 +1558,7 @@ default-package-overrides:
- objective ==1.1.1
- ObjectName ==1.1.0.1
- octane ==0.20.2
- Octree ==0.5.4.3
- Octree ==0.5.4.4
- oeis ==0.3.9
- ofx ==0.4.2.0
- old-locale ==1.0.0.7
@ -1691,7 +1693,7 @@ default-package-overrides:
- posix-realtime ==0.0.0.4
- postgresql-binary ==0.12.1
- postgresql-libpq ==0.9.3.1
- postgresql-schema ==0.1.13
- postgresql-schema ==0.1.14
- postgresql-simple ==0.5.3.0
- postgresql-simple-migration ==0.1.11.0
- postgresql-simple-opts ==0.2.0.2
@ -1718,7 +1720,7 @@ default-package-overrides:
- prettyprinter-compat-annotated-wl-pprint ==1
- prettyprinter-compat-ansi-wl-pprint ==1.0.1
- prettyprinter-compat-wl-pprint ==1.0.0.1
- pretty-show ==1.6.13
- pretty-show ==1.6.14
- pretty-simple ==2.0.1.0
- pretty-types ==0.2.3.1
- primes ==0.2.1.0
@ -1855,7 +1857,7 @@ default-package-overrides:
- result ==0.2.6.0
- rethinkdb ==2.2.0.10
- rethinkdb-client-driver ==0.0.25
- retry ==0.7.4.3
- retry ==0.7.5.0
- rev-state ==0.1.2
- rfc5051 ==0.1.0.3
- rng-utils ==0.2.1
@ -1887,7 +1889,7 @@ default-package-overrides:
- scotty ==0.11.0
- scrape-changes ==0.1.0.5
- scrypt ==0.5.0
- SDL ==0.6.5.1
- SDL ==0.6.6.0
- sdl2 ==2.2.0
- sdl2-gfx ==0.2
- sdl2-image ==2.0.0
@ -2114,7 +2116,7 @@ default-package-overrides:
- tasty-kat ==0.0.3
- tasty-program ==1.0.5
- tasty-quickcheck ==0.8.4
- tasty-rerun ==1.1.7
- tasty-rerun ==1.1.8
- tasty-silver ==3.1.10
- tasty-smallcheck ==0.8.1
- tasty-stats ==0.2.0.3
@ -2191,7 +2193,7 @@ default-package-overrides:
- thumbnail-plus ==1.0.5
- th-utilities ==0.2.0.1
- thyme ==0.3.5.5
- tidal ==0.9.4
- tidal ==0.9.5
- time-compat ==0.1.0.3
- timeit ==1.0.0.0
- timelens ==0.2.0.2
@ -2209,7 +2211,7 @@ default-package-overrides:
- tldr ==0.2.3
- tls ==1.3.11
- tls-debug ==0.4.4
- tls-session-manager ==0.0.0.1
- tls-session-manager ==0.0.0.2
- tmp-postgres ==0.1.1.1
- token-bucket ==0.1.0.1
- torrent ==10000.1.1
@ -2339,7 +2341,7 @@ default-package-overrides:
- wai-app-static ==3.1.6.1
- wai-cli ==0.1.1
- wai-conduit ==3.0.0.3
- wai-cors ==0.2.5
- wai-cors ==0.2.6
- wai-eventsource ==3.0.0
- wai-extra ==3.0.20.2
- wai-handler-launch ==3.0.2.3
@ -2361,7 +2363,7 @@ default-package-overrides:
- wai-routes ==0.10.0
- wai-routing ==0.13.0
- wai-session ==0.3.2
- wai-session-postgresql ==0.2.1.1
- wai-session-postgresql ==0.2.1.2
- wai-slack-middleware ==0.2.0
- waitra ==0.0.4.0
- wai-transformers ==0.0.7
@ -2387,7 +2389,7 @@ default-package-overrides:
- websockets-rpc ==0.4.0
- websockets-simple ==0.0.2
- websockets-snap ==0.10.2.4
- weeder ==0.1.7
- weeder ==0.1.9
- weigh ==0.0.7
- wikicfp-scraper ==0.1.0.9
- wild-bind ==0.1.0.3
@ -2461,7 +2463,7 @@ default-package-overrides:
- Yampa ==0.10.6.2
- YampaSynth ==0.2
- yesod ==1.4.5
- yesod-auth ==1.4.20
- yesod-auth ==1.4.21
- yesod-auth-account ==1.4.3
- yesod-auth-basic ==0.1.0.2
- yesod-auth-fb ==1.8.1
@ -8330,7 +8332,6 @@ dont-distribute-packages:
type-level-bst: [ i686-linux, x86_64-linux, x86_64-darwin ]
type-level-natural-number-induction: [ i686-linux, x86_64-linux, x86_64-darwin ]
type-level-natural-number-operations: [ i686-linux, x86_64-linux, x86_64-darwin ]
type-of-html: [ i686-linux, x86_64-linux, x86_64-darwin ]
type-ord-spine-cereal: [ i686-linux, x86_64-linux, x86_64-darwin ]
type-ord: [ i686-linux, x86_64-linux, x86_64-darwin ]
type-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ]

View File

@ -506,5 +506,6 @@ self: super: builtins.intersectAttrs super {
# Break cyclic reference that results in an infinite recursion.
partial-semigroup = dontCheck super.partial-semigroup;
colour = dontCheck super.colour;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,23 +1,25 @@
{ stdenv, fetchurl, unzip, ant, jdk, makeWrapper }:
{ stdenv, fetchurl, jdk, makeWrapper }:
let version = "1.8.0"; in
let version = "1.9.0.273"; in
stdenv.mkDerivation {
name = "clojure-${version}";
src = fetchurl {
url = "http://repo1.maven.org/maven2/org/clojure/clojure/${version}/clojure-${version}.zip";
sha256 = "1nip095fz5c492sw15skril60i1vd21ibg6szin4jcvyy3xr6cym";
url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
sha256 = "0xmrq3xvr002jgq8m1j0y5ld0rcr49608g3gqxgyxzjqswacglb4";
};
buildInputs = [ unzip ant jdk makeWrapper ];
buildPhase = "ant jar";
buildInputs = [ jdk makeWrapper ];
installPhase = ''
mkdir -p $out/share/java $out/bin
install -t $out/share/java clojure.jar
makeWrapper ${jdk.jre}/bin/java $out/bin/clojure --add-flags "-cp $out/share/java/clojure.jar clojure.main"
pwd
ls -la
mkdir -p $out/libexec $out/bin
cp -f deps.edn example-deps.edn $out
cp -f clojure-tools-${version}.jar $out/libexec
sed -i -e "s@PREFIX@$out@g" clojure
cp -f clj clojure $out/bin
'';
meta = with stdenv.lib; {

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
name = "lv2-unstable-${version}";
version = "2016-10-23";
version = "2017-07-08";
src = fetchgit {
url = "http://lv2plug.in/git/cgit.cgi/lv2.git";
rev = "b36868f3b96a436961c0c51b5b2dd71d05da9b12";
sha256 = "1sx39j0gary2nayzv7xgqcra7z1rcw9hrafkji05aksdwf7q0pdm";
rev = "39c7c726cd52b2863fcea356cafe1bcab2ba7f37";
sha256 = "1gp2rd99dfmpibvpixrqn115mrhybzf3if3h8bssf6siyi13f29r";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
name = "raul-unstable-${rev}";
rev = "2016-09-20";
rev = "2017-07-23";
src = fetchgit {
url = "http://git.drobilla.net/cgit.cgi/raul.git";
rev = "f8bf77d3c3b77830aedafb9ebb5cdadfea7ed07a";
sha256 = "1lby508fb0n8ks6iz959sh18fc37br39d6pbapwvbcw5nckdrxwj";
rev = "4db870b2b20b0a608ec0283139056b836c5b1624";
sha256 = "04fajrass3ymr72flx5js5vxc601ccrmx8ny8scp0rw7j0igyjdr";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -14,13 +14,13 @@ let
else throw "Unsupported system!";
in stdenv.mkDerivation rec {
name = "aws-sdk-cpp-${version}";
version = "1.1.18";
version = "1.3.22";
src = fetchFromGitHub {
owner = "awslabs";
repo = "aws-sdk-cpp";
rev = version;
sha256 = "1i85zpns3gj5by45ppg4rfk9csix8mjazpyj6dqic40b2wshnw8c";
sha256 = "0sdgy8kqhxnw7n0sw4m3p3ay7yic3rhad5ab8m5lbx61ad9bq3c2";
};
# FIXME: might be nice to put different APIs in different outputs

View File

@ -4,21 +4,13 @@
let inherit (stdenv) lib system; in
stdenv.mkDerivation rec {
name = "gpgme-1.9.0";
name = "gpgme-1.10.0";
src = fetchurl {
url = "mirror://gnupg/gpgme/${name}.tar.bz2";
sha256 = "1ssc0gs02r4fasabk7c6v6r865k2j02mpb5g1vkpbmzsigdzwa8v";
sha256 = "14q619lxbk64vz7lih5gjb928qm28jrnn1h3yhsrrff3jw8yv3qs";
};
patches = [
(fetchpatch {
url = "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=commitdiff_plain;h=5d4f977dac542340c877fdd4b1304fa8f6e058e6";
sha256 = "0swpxzd3x3b6h2ry2py9j8l0xp3vdw8rixxhgfavzia5p869qyyx";
name = "qgpgme-format-security.patch";
})
];
outputs = [ "out" "dev" "info" ];
outputBin = "dev"; # gpgme-config; not so sure about gpgme-tool

View File

@ -1,16 +1,24 @@
{ stdenv, fetchurl, pkgconfig, cairo, expat, ncurses, libX11
, pciutils, numactl }:
{ stdenv, fetchurl, pkgconfig, expat, ncurses, pciutils, numactl
, cairo, libX11
, x11Support ? (!stdenv.isCygwin)
}:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "hwloc-1.11.6";
name = "hwloc-1.11.8";
src = fetchurl {
url = "http://www.open-mpi.org/software/hwloc/v1.11/downloads/${name}.tar.bz2";
sha256 = "1yl7dm2qplwmnidd712zy12qfvxk28k8ccs694n42ybwdjwzg1bn";
sha256 = "0karxv4r1r8sa7ki5aamlxdvyvz0bvzq4gdhq0yi5nc4a0k11vzc";
};
hardeningDisable = [ "format" ];
configureFlags = [
"--localstatedir=/var"
];
# XXX: libX11 is not directly needed, but needed as a propagated dep of Cairo.
nativeBuildInputs = [ pkgconfig ];
@ -18,7 +26,7 @@ stdenv.mkDerivation rec {
# derivation and set optional dependencies to `null'.
buildInputs = stdenv.lib.filter (x: x != null)
([ expat ncurses ]
++ (optionals (!stdenv.isCygwin) [ cairo libX11 ])
++ (optionals x11Support [ cairo libX11 ])
++ (optionals stdenv.isLinux [ numactl ]));
propagatedBuildInputs =
@ -37,7 +45,7 @@ stdenv.mkDerivation rec {
test -d "$numalibdir"
fi
sed -i "$out/lib/libhwloc.la" \
sed -i "$lib/lib/libhwloc.la" \
-e "s|-lnuma|-L$numalibdir -lnuma|g"
'';
@ -45,6 +53,8 @@ stdenv.mkDerivation rec {
# fail on some build machines.
doCheck = false;
outputs = [ "out" "lib" "dev" "doc" "man" ];
meta = {
description = "Portable abstraction of hierarchical architectures for high-performance computing";
longDescription = ''

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "liblscp-${version}";
version = "0.5.8";
version = "0.6.0";
src = fetchurl {
url = "http://download.linuxsampler.org/packages/${name}.tar.gz";
sha256 = "00cfafkw1n80sdjwm9zdsg5vx287wqpgpbajd3zmiz415wzr84dn";
url = "https://download.linuxsampler.org/packages/${name}.tar.gz";
sha256 = "1rl7ssdzj0z3658yvdijmb27n2lcwmplx4qxg5mwrm07pvs7i75k";
};
nativeBuildInputs = [ autoconf automake libtool pkgconfig ];

View File

@ -0,0 +1,29 @@
{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig
, libdrm, libva
}:
stdenv.mkDerivation rec {
name = "libva-utils-${version}";
inherit (libva) version;
src = fetchFromGitHub {
owner = "01org";
repo = "libva-utils";
rev = version;
sha256 = "02n51cvp8bzzjk4fargwvgh7z71y8spg24hqgaawbp3p3ahh7xxi";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ libdrm libva ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "VAAPI tools: Video Acceleration API";
homepage = http://www.freedesktop.org/wiki/Software/vaapi;
license = licenses.mit;
maintainers = with maintainers; [ garbas ];
platforms = platforms.unix;
};
}

View File

@ -1,36 +1,43 @@
{ stdenv, lib, fetchurl, libX11, pkgconfig, libXext, libdrm, libXfixes, wayland, libffi
{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig
, libXext, libdrm, libXfixes, wayland, libffi, libX11
, mesa_noglu
, minimal ? true, libva
}:
stdenv.mkDerivation rec {
name = "libva-${version}";
version = "1.7.3";
name = "libva-${lib.optionalString (!minimal) "full-"}${version}";
version = "2.0.0";
src = fetchurl {
url = "http://www.freedesktop.org/software/vaapi/releases/libva/${name}.tar.bz2";
sha256 = "1ndrf136rlw03xag7j1xpmf9015d1h0dpnv6v587jnh6k2a17g12";
src = fetchFromGitHub {
owner = "01org";
repo = "libva";
rev = version;
sha256 = "1x8rlmv5wfqjz3j87byrxb4d9vp5b4lrrin2fx254nwl3aqy15hy";
};
outputs = [ "bin" "dev" "out" ];
outputs = [ "dev" "out" ];
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ libdrm ]
++ lib.optionals (!minimal) [ libva libX11 libXext libXfixes wayland libffi mesa_noglu ];
# TODO: share libs between minimal and !minimal - perhaps just symlink them
configureFlags =
[ "--with-drivers-path=${mesa_noglu.driverLink}/lib/dri" ] ++
lib.optionals (!minimal) [ "--enable-glx" ];
enableParallelBuilding = true;
installFlags = [ "dummy_drv_video_ladir=$(out)/lib/dri" ];
configureFlags = [
"--with-drivers-path=${mesa_noglu.driverLink}/lib/dri"
] ++ lib.optionals (!minimal) [ "--enable-glx" ];
installFlags = [
"dummy_drv_video_ladir=$(out)/lib/dri"
];
meta = with stdenv.lib; {
description = "VAAPI library: Video Acceleration API";
homepage = http://www.freedesktop.org/wiki/Software/vaapi;
license = licenses.mit;
description = "VAAPI library: Video Acceleration API";
platforms = platforms.unix;
maintainers = with maintainers; [ garbas ];
platforms = platforms.unix;
};
}

View File

@ -8,10 +8,9 @@ stdenv.mkDerivation rec {
sha256 = "06n7gnbcqa3r6c9gv00y0y1r48dyyazm6yj403i7ma0r2k6p3lvj";
};
cmakeFlags = "-DWITH_ASF=ON -DWITH_MP4=ON";
nativeBuildInputs = [ cmake ];
buildInputs = [ zlib ];
nativeBuildInputs = [ cmake ];
meta = {
homepage = http://developer.kde.org/~wheeler/taglib.html;

View File

@ -8,16 +8,17 @@ stdenv.mkDerivation rec {
sha256 = "0ssjcdjv4qf9liph5ry1kngam1y7zp8fzr9xv4wzzrma22kabldn";
};
cmakeFlags = [ "-DWITH_ASF=ON" "-DWITH_MP4=ON" ];
nativeBuildInputs = [ cmake ];
buildInputs = [ zlib ];
nativeBuildInputs = [ cmake ];
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
meta = with stdenv.lib; {
homepage = http://taglib.org/;
repositories.git = git://github.com/taglib/taglib.git;
shortDescription = "A library for reading and editing audio file metadata.";
description = ''
description = "A library for reading and editing audio file metadata.";
longDescription = ''
TagLib is a library for reading and editing the meta-data of several
popular audio formats. Currently it supports both ID3v1 and ID3v2 for MP3
files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC,

View File

@ -1,14 +1,16 @@
{ stdenv, fetchurl, gnum4, pkgconfig, python2
{ stdenv, fetchFromGitHub, autoreconfHook, gnum4, pkgconfig, python2
, intel-gpu-tools, libdrm, libva, libX11, mesa_noglu, wayland, libXext
}:
stdenv.mkDerivation rec {
name = "intel-vaapi-driver-${version}";
version = "1.8.2";
inherit (libva) version;
src = fetchurl {
url = "http://www.freedesktop.org/software/vaapi/releases/libva-intel-driver/${name}.tar.bz2";
sha256 = "00mpcvininwr5c4wyhp16s4bddg7vclxxjm2sfq5h7lifjcxyv46";
src = fetchFromGitHub {
owner = "01org";
repo = "libva-intel-driver";
rev = version;
sha256 = "1832nnva3d33wv52bj59bv62q7a807sdxjqqq0my7l9x7a4qdkzz";
};
patchPhase = ''
@ -25,10 +27,12 @@ stdenv.mkDerivation rec {
"--enable-wayland"
];
nativeBuildInputs = [ gnum4 pkgconfig python2 ];
nativeBuildInputs = [ autoreconfHook gnum4 pkgconfig python2 ];
buildInputs = [ intel-gpu-tools libdrm libva libX11 libXext mesa_noglu wayland ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = http://cgit.freedesktop.org/vaapi/intel-driver/;
license = licenses.mit;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, topkg, opam, jbuilder
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, topkg, jbuilder
, cmdliner, astring, fmt, result
}:
@ -12,7 +12,7 @@ let param =
} else {
version = "0.7.2";
sha256 = "1qgsz2zz5ky6s5pf3j3shc4fjc36rqnjflk8x0wl1fcpvvkr52md";
buildInputs = [ ocamlbuild opam topkg ];
buildInputs = [ ocamlbuild topkg ];
inherit (topkg) buildPhase installPhase;
};
in

View File

@ -1,6 +1,4 @@
{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, cstruct, zarith, ounit, result, topkg, opam }:
let ocamlFlags = "-I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/"; in
{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, cstruct, zarith, ounit, result, topkg }:
buildOcaml rec {
name = "asn1-combinators";
@ -15,20 +13,17 @@ buildOcaml rec {
sha256 = "0hpn049i46sdnv2i6m7r6m6ch0jz8argybh71wykbvcqdby08zxj";
};
buildInputs = [ ocaml findlib ounit topkg opam ];
buildInputs = [ ocaml findlib ounit topkg ];
propagatedBuildInputs = [ result cstruct zarith ];
createFindlibDestdir = true;
buildPhase = "ocaml ${ocamlFlags} pkg/pkg.ml build --tests true";
buildPhase = "${topkg.run} build --tests true";
installPhase = ''
opam-installer --script --prefix=$out | sh
ln -s $out/lib/asn1-combinators $out/lib/ocaml/${ocaml.version}/site-lib
'';
inherit (topkg) installPhase;
doCheck = true;
checkPhase = "ocaml ${ocamlFlags} pkg/pkg.ml test";
checkPhase = "${topkg.run} test";
meta = {
homepage = https://github.com/mirleft/ocaml-asn1-combinators;

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, buildOcaml, ocaml, findlib, ocamlbuild, topkg, opam}:
{ stdenv, fetchurl, buildOcaml, ocaml, findlib, ocamlbuild, topkg }:
buildOcaml rec {
version = "0.8.3";
@ -11,16 +11,9 @@ buildOcaml rec {
unpackCmd = "tar -xf $curSrc";
buildInputs = [ ocaml findlib ocamlbuild topkg opam ];
buildInputs = [ ocaml findlib ocamlbuild topkg ];
buildPhase = ''
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ pkg/pkg.ml build
'';
installPhase = ''
opam-installer --script --prefix=$out astring.install | sh
ln -s $out/lib/astring $out/lib/ocaml/${ocaml.version}/site-lib/
'';
inherit (topkg) buildPhase installPhase;
meta = {
homepage = http://erratique.ch/software/astring;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg
, astring, fmt, fpath, logs, rresult
}:
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild opam topkg ];
buildInputs = [ ocaml findlib ocamlbuild topkg ];
propagatedBuildInputs = [ astring fmt fpath logs rresult ];
inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, result }:
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, result }:
let
pname = "cmdliner";
@ -17,20 +17,11 @@ stdenv.mkDerivation rec {
unpackCmd = "tar xjf $src";
nativeBuildInputs = [ ocamlbuild opam topkg ];
nativeBuildInputs = [ ocamlbuild topkg ];
buildInputs = [ ocaml findlib ];
propagatedBuildInputs = [ result ];
createFindlibDestdir = true;
buildPhase = ''
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib pkg/pkg.ml build
'';
installPhase = ''
opam-installer --script --prefix=$out | sh
ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml.version}/site-lib/
'';
inherit (topkg) buildPhase installPhase;
meta = with stdenv.lib; {
homepage = http://erratique.ch/software/cmdliner;

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, ocaml, findlib
, ocamlbuild, topkg, opam
, ocamlbuild, topkg
, uri, xmlm, omd, ezjsonm }:
stdenv.mkDerivation rec {
@ -13,9 +13,7 @@ stdenv.mkDerivation rec {
sha256 = "0snhabg7rfrrcq2ksr3qghiawd61cw3y4kp6rl7vs87j4cnk3kr2";
};
createFindlibDestdir = true;
buildInputs = [ ocaml opam ocamlbuild findlib topkg ];
buildInputs = [ ocaml ocamlbuild findlib topkg ];
propagatedBuildInputs = [ xmlm uri ezjsonm omd ];
inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, ocb-stubblr }:
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, ocb-stubblr }:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-cpuid-0.1.0";
@ -10,7 +10,7 @@ stdenv.mkDerivation {
unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild opam topkg ocb-stubblr ];
buildInputs = [ ocaml findlib ocamlbuild topkg ocb-stubblr ];
inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg, opam
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg
}:
if !stdenv.lib.versionAtLeast ocaml.version "4.03"
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
sha256 = "0hfs5zrvimzvjwdg57vrxx9bb7irvlm07dk2yv3s5qhj30zimd08";
};
buildInputs = [ ocaml findlib ocamlbuild topkg opam ];
buildInputs = [ ocaml findlib ocamlbuild topkg ];
inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, cmdliner, result, uchar }:
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, cmdliner, result, uchar }:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-fmt-0.8.4";
@ -10,13 +10,11 @@ stdenv.mkDerivation {
unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild opam topkg cmdliner ];
buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ];
propagatedBuildInputs = [ result uchar ];
inherit (topkg) buildPhase installPhase;
createFindlibDestdir = true;
meta = {
homepage = http://erratique.ch/software/fmt;
license = stdenv.lib.licenses.isc;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, astring }:
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, astring }:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-fpath-0.7.2";
@ -9,7 +9,7 @@ stdenv.mkDerivation {
unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild opam topkg ];
buildInputs = [ ocaml findlib ocamlbuild topkg ];
propagatedBuildInputs = [ astring ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg
, bos, cmdliner, ocamlgraph
}:
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild opam topkg ];
buildInputs = [ ocaml findlib ocamlbuild topkg ];
propagatedBuildInputs = [ bos cmdliner ocamlgraph ];
inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, opam }:
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg }:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-integers-0.2.2";
@ -10,7 +10,7 @@ stdenv.mkDerivation {
unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild topkg opam ];
buildInputs = [ ocaml findlib ocamlbuild topkg ];
inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, opam, uutf }:
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uutf }:
let version = "1.0.1"; in
@ -10,13 +10,11 @@ stdenv.mkDerivation {
sha256 = "1176dcmxb11fnw49b7yysvkjh0kpzx4s48lmdn5psq9vshp5c29w";
};
buildInputs = [ ocaml findlib ocamlbuild topkg opam ];
buildInputs = [ ocaml findlib ocamlbuild topkg ];
propagatedBuildInputs = [ uutf ];
unpackCmd = "tar xjf $src";
createFindlibDestdir = true;
inherit (topkg) buildPhase installPhase;
meta = {

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild
, topkg, result, lwt, cmdliner, fmt }:
let
pname = "logs";
@ -18,18 +18,13 @@ stdenv.mkDerivation rec {
unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild opam topkg fmt cmdliner lwt ];
buildInputs = [ ocaml findlib ocamlbuild topkg fmt cmdliner lwt ];
propagatedBuildInputs = [ result ];
buildPhase = ''
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ pkg/pkg.ml build \
--with-js_of_ocaml false
'';
buildPhase = "${topkg.run} build --with-js_of_ocaml false";
inherit (topkg) installPhase;
createFindlibDestdir = true;
meta = with stdenv.lib; {
description = "Logging infrastructure for OCaml";
homepage = "${webpage}";

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, opam, js_of_ocaml
{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, js_of_ocaml
, jsooSupport ? true
}:
@ -25,7 +25,7 @@ stdenv.mkDerivation {
unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild opam topkg ]
buildInputs = [ ocaml findlib ocamlbuild topkg ]
++ stdenv.lib.optional jsooSupport js_of_ocaml;
buildPhase = "${topkg.buildPhase} --with-js_of_ocaml ${boolToString jsooSupport}";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, opam, topkg
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg
, cpuid, ocb-stubblr
, cstruct, zarith, ppx_sexp_conv, sexplib
, cstruct-lwt ? null
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
sha256 = "0nhnlpbqh3mf9y2cxivlvfb70yfbdpvg6jslzq64xblpgjyg443p";
};
buildInputs = [ ocaml findlib ocamlbuild topkg opam cpuid ocb-stubblr
buildInputs = [ ocaml findlib ocamlbuild topkg cpuid ocb-stubblr
ppx_sexp_conv ];
propagatedBuildInputs = [ cstruct zarith sexplib ] ++ optional withLwt cstruct-lwt;
@ -28,8 +28,6 @@ stdenv.mkDerivation rec {
'';
inherit (topkg) installPhase;
createFindlibDestdir = true;
meta = {
homepage = https://github.com/mirleft/ocaml-nocrypto;
description = "Simplest possible crypto to support TLS";

View File

@ -1,4 +1,4 @@
{ stdenv, buildOcaml, fetchpatch, fetchFromGitHub, findlib, topkg, opam, ocb-stubblr
{ stdenv, buildOcaml, fetchpatch, fetchFromGitHub, findlib, topkg, ocb-stubblr
, result, uucp, uuseg, uutf
, lwt ? null }:
@ -24,7 +24,7 @@ buildOcaml rec {
sha256 = "0pklplbnjbsjriqj73pc8fsadg404px534w7zknz2617zb44m6x6";
})];
buildInputs = [ findlib opam topkg ocb-stubblr ];
buildInputs = [ findlib topkg ocb-stubblr ];
propagatedBuildInputs = [ result uucp uuseg uutf ] ++
optional withLwt lwt;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, opam, topkg, astring }:
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, topkg, astring }:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ocb-stubblr-0.1.0";
@ -10,7 +10,7 @@ stdenv.mkDerivation {
patches = [ ./pkg-config.patch ];
buildInputs = [ ocaml findlib ocamlbuild opam topkg ];
buildInputs = [ ocaml findlib ocamlbuild topkg ];
propagatedBuildInputs = [ astring ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, opam }:
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg }:
if !stdenv.lib.versionAtLeast ocaml.version "4.03"
then throw "octavius is not available for OCaml ${ocaml.version}" else
@ -12,7 +12,7 @@ stdenv.mkDerivation {
unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib ocamlbuild topkg opam ];
buildInputs = [ ocaml findlib ocamlbuild topkg ];
inherit (topkg) buildPhase installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, uutf, result }:
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uutf, result }:
let
pname = "otfm";
@ -17,12 +17,10 @@ stdenv.mkDerivation rec {
sha256 = "054s82539k3kc9na6s47g3scsl04icjahpas7pv5351jmsgqcq3k";
};
buildInputs = [ ocaml findlib ocamlbuild opam topkg ];
buildInputs = [ ocaml findlib ocamlbuild topkg ];
propagatedBuildInputs = [ uutf result ];
createFindlibDestdir = true;
unpackCmd = "tar xjf $src";
inherit (topkg) buildPhase installPhase;

View File

@ -1,7 +1,6 @@
{stdenv, buildOcaml, fetchFromGitHub, ocamlbuild, findlib, topkg, ocaml, opam,
ppx_tools, ppx_sexp_conv, cstruct, ppx_cstruct, sexplib, result, nocrypto, astring}:
let ocamlFlags = "-I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/"; in
{ stdenv, buildOcaml, fetchFromGitHub, ocamlbuild, findlib, topkg, ocaml
, ppx_tools, ppx_sexp_conv, cstruct, ppx_cstruct, sexplib, result, nocrypto, astring
}:
buildOcaml rec {
name = "otr";
@ -16,23 +15,15 @@ buildOcaml rec {
sha256 = "07zzix5mfsasqpqdx811m0x04gp8mq1ayf4b64998k98027v01rr";
};
buildInputs = [ ocamlbuild findlib topkg ppx_tools ppx_sexp_conv opam ppx_cstruct ];
buildInputs = [ ocamlbuild findlib topkg ppx_tools ppx_sexp_conv ppx_cstruct ];
propagatedBuildInputs = [ cstruct sexplib result nocrypto astring ];
buildPhase = ''
ocaml ${ocamlFlags} pkg/pkg.ml build \
--tests true
'';
buildPhase = "${topkg.run} build --tests true";
installPhase = ''
opam-installer --prefix=$out --script | sh
ln -s $out/lib/otr $out/lib/ocaml/${ocaml.version}/site-lib
'';
inherit (topkg) installPhase;
doCheck = true;
checkPhase = "ocaml ${ocamlFlags} pkg/pkg.ml test";
createFindlibDestdir = true;
checkPhase = "${topkg.run} test";
meta = with stdenv.lib; {
homepage = https://github.com/hannesm/ocaml-otr;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, opam, topkg, cppo
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg, cppo
, ppx_import, ppx_deriving, yojson, ounit
}:
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
sha256 = "1pwfnq7z60nchba4gnf58918ll11w3gj5i88qhz1p2jm45hxqgnw";
};
buildInputs = [ ocaml findlib ocamlbuild opam cppo ounit ppx_import ];
buildInputs = [ ocaml findlib ocamlbuild cppo ounit ppx_import ];
propagatedBuildInputs = [ ppx_deriving yojson ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, buildOcaml, ocaml, findlib, ocamlbuild, topkg, result, opam, js_of_ocaml }:
{ stdenv, fetchurl, buildOcaml, ocaml, findlib, ocamlbuild, topkg, result, js_of_ocaml }:
buildOcaml rec {
version = "0.8.3";
@ -11,13 +11,11 @@ buildOcaml rec {
unpackCmd = "tar -xf $curSrc";
buildInputs = [ ocaml findlib ocamlbuild topkg opam js_of_ocaml ];
buildInputs = [ ocaml findlib ocamlbuild topkg js_of_ocaml ];
propagatedBuildInputs = [ result ];
buildPhase = ''
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ pkg/pkg.ml build --with-js_of_ocaml true
'';
buildPhase = "${topkg.run} build --with-js_of_ocaml true";
inherit (topkg) installPhase;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, topkg, ocamlbuild, opam }:
{ stdenv, fetchurl, ocaml, findlib, topkg, ocamlbuild }:
stdenv.mkDerivation {
name = "ocaml-react-1.2.1";
@ -9,9 +9,7 @@ stdenv.mkDerivation {
};
unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib topkg ocamlbuild opam ];
createFindlibDestdir = true;
buildInputs = [ ocaml findlib topkg ocamlbuild ];
inherit (topkg) buildPhase installPhase;

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