Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2018-10-31 19:16:32 +01:00
commit ab800ba9ed
89 changed files with 4047 additions and 1182 deletions

View file

@ -670,7 +670,7 @@ python3Packages.buildPythonApplication rec {
sha256 = "035w8gqql36zlan0xjrzz9j4lh9hs0qrsgnbyw07qs7lnkvbdv9x";
};
propagatedBuildInputs = with python3Packages; [ tornado_4 pythondaemon ];
propagatedBuildInputs = with python3Packages; [ tornado_4 python-daemon ];
meta = with lib; {
...

View file

@ -143,6 +143,11 @@
github = "ahmedtd";
name = "Taahir Ahmed";
};
ahuzik = {
email = "ales.guzik@gmail.com";
github = "alesguzik";
name = "Ales Huzik";
};
aij = {
email = "aij+git@mrph.org";
github = "aij";

View file

@ -34,13 +34,4 @@
Similarly, UDP port ranges can be opened through
<xref linkend="opt-networking.firewall.allowedUDPPortRanges"/>.
</para>
<para>
Also of interest is
<programlisting>
<xref linkend="opt-networking.firewall.allowPing"/> = true;
</programlisting>
to allow the machine to respond to ping requests. (ICMPv6 pings are always
allowed.)
</para>
</section>

View file

@ -152,6 +152,26 @@
has been renamed to <varname>postgresql_9_6</varname>.
</para>
</listitem>
<listitem>
<para>
Slurm introduces the new option
<literal>services.slurm.stateSaveLocation</literal>,
which is now set to <literal>/var/spool/slurm</literal> by default
(instead of <literal>/var/spool</literal>).
Make sure to move all files to the new directory or to set the option accordingly.
</para>
<para>
The slurmctld now runs as user <literal>slurm</literal> instead of <literal>root</literal>.
If you want to keep slurmctld running as <literal>root</literal>, set
<literal>services.slurm.user = root</literal>.
</para>
<para>
The options <literal>services.slurm.nodeName</literal> and
<literal>services.slurm.partitionName</literal> are now sets of
strings to correctly reflect that fact that each of these
options can occour more than once in the configuration.
</para>
</listitem>
</itemizedlist>
</section>

View file

@ -228,9 +228,6 @@ in
# /etc/protocols: IP protocol numbers.
"protocols".source = pkgs.iana-etc + "/etc/protocols";
# /etc/rpc: RPC program numbers.
"rpc".source = pkgs.glibc.out + "/etc/rpc";
# /etc/hosts: Hostname-to-IP mappings.
"hosts".text = let
oneToString = set: ip: ip + " " + concatStringsSep " " set.${ip};
@ -268,6 +265,9 @@ in
"resolv.conf".source = "${pkgs.systemd}/lib/systemd/resolv.conf";
} // optionalAttrs (config.services.resolved.enable && dnsmasqResolve) {
"dnsmasq-resolv.conf".source = "/run/systemd/resolve/resolv.conf";
} // optionalAttrs (pkgs.stdenv.hostPlatform.libc == "glibc") {
# /etc/rpc: RPC program numbers.
"rpc".source = pkgs.glibc.out + "/etc/rpc";
};
networking.proxy.envVars =

View file

@ -19,7 +19,9 @@ let
pkgs.diffutils
pkgs.findutils
pkgs.gawk
pkgs.glibc # for ldd, getent
pkgs.stdenv.cc.libc
pkgs.getent
pkgs.getconf
pkgs.gnugrep
pkgs.gnupatch
pkgs.gnused

View file

@ -331,6 +331,7 @@
zeronet = 304;
lirc = 305;
lidarr = 306;
slurm = 307;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -622,6 +623,7 @@
zeronet = 304;
lirc = 305;
lidarr = 306;
slurm = 307;
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal

View file

@ -28,7 +28,7 @@ with lib;
capability setuid,
network inet raw,
${pkgs.glibc.out}/lib/*.so mr,
${pkgs.stdenv.cc.libc.out}/lib/*.so mr,
${pkgs.libcap.lib}/lib/libcap.so* mr,
${pkgs.attr.out}/lib/libattr.so* mr,

View file

@ -170,4 +170,6 @@ in {
'';
}) cfg.params;
};
meta.maintainers = with lib.maintainers; [ ekleog ];
}

View file

@ -6,13 +6,18 @@ let
cfg = config.services.slurm;
# configuration file can be generated by http://slurm.schedmd.com/configurator.html
defaultUser = "slurm";
configFile = pkgs.writeTextDir "slurm.conf"
''
ClusterName=${cfg.clusterName}
StateSaveLocation=${cfg.stateSaveLocation}
SlurmUser=${cfg.user}
${optionalString (cfg.controlMachine != null) ''controlMachine=${cfg.controlMachine}''}
${optionalString (cfg.controlAddr != null) ''controlAddr=${cfg.controlAddr}''}
${optionalString (cfg.nodeName != null) ''nodeName=${cfg.nodeName}''}
${optionalString (cfg.partitionName != null) ''partitionName=${cfg.partitionName}''}
${toString (map (x: "NodeName=${x}\n") cfg.nodeName)}
${toString (map (x: "PartitionName=${x}\n") cfg.partitionName)}
PlugStackConfig=${plugStackConfig}
ProctrackType=${cfg.procTrackType}
${cfg.extraConfig}
@ -24,12 +29,19 @@ let
${cfg.extraPlugstackConfig}
'';
cgroupConfig = pkgs.writeTextDir "cgroup.conf"
''
${cfg.extraCgroupConfig}
'';
slurmdbdConf = pkgs.writeTextDir "slurmdbd.conf"
''
DbdHost=${cfg.dbdserver.dbdHost}
SlurmUser=${cfg.user}
StorageType=accounting_storage/mysql
${cfg.dbdserver.extraConfig}
'';
# slurm expects some additional config files to be
# in the same directory as slurm.conf
etcSlurm = pkgs.symlinkJoin {
@ -43,6 +55,8 @@ in
###### interface
meta.maintainers = [ maintainers.markuskowa ];
options = {
services.slurm = {
@ -60,6 +74,27 @@ in
};
};
dbdserver = {
enable = mkEnableOption "SlurmDBD service";
dbdHost = mkOption {
type = types.str;
default = config.networking.hostName;
description = ''
Hostname of the machine where <literal>slurmdbd</literal>
is running (i.e. name returned by <literal>hostname -s</literal>).
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Extra configuration for <literal>slurmdbd.conf</literal>
'';
};
};
client = {
enable = mkEnableOption "slurm client daemon";
};
@ -116,9 +151,9 @@ in
};
nodeName = mkOption {
type = types.nullOr types.str;
default = null;
example = "linux[1-32] CPUs=1 State=UNKNOWN";
type = types.listOf types.str;
default = [];
example = literalExample ''[ "linux[1-32] CPUs=1 State=UNKNOWN" ];'';
description = ''
Name that SLURM uses to refer to a node (or base partition for BlueGene
systems). Typically this would be the string that "/bin/hostname -s"
@ -127,9 +162,9 @@ in
};
partitionName = mkOption {
type = types.nullOr types.str;
default = null;
example = "debug Nodes=linux[1-32] Default=YES MaxTime=INFINITE State=UP";
type = types.listOf types.str;
default = [];
example = literalExample ''[ "debug Nodes=linux[1-32] Default=YES MaxTime=INFINITE State=UP" ];'';
description = ''
Name by which the partition may be referenced. Note that now you have
to write the partition's parameters after the name.
@ -150,7 +185,7 @@ in
};
procTrackType = mkOption {
type = types.string;
type = types.str;
default = "proctrack/linuxproc";
description = ''
Plugin to be used for process tracking on a job step basis.
@ -159,6 +194,25 @@ in
'';
};
stateSaveLocation = mkOption {
type = types.str;
default = "/var/spool/slurmctld";
description = ''
Directory into which the Slurm controller, slurmctld, saves its state.
'';
};
user = mkOption {
type = types.str;
default = defaultUser;
description = ''
Set this option when you want to run the slurmctld daemon
as something else than the default slurm user "slurm".
Note that the UID of this user needs to be the same
on all nodes.
'';
};
extraConfig = mkOption {
default = "";
type = types.lines;
@ -184,6 +238,8 @@ in
used when <literal>procTrackType=proctrack/cgroup</literal>.
'';
};
};
};
@ -220,12 +276,24 @@ in
'';
};
in mkIf (cfg.enableStools || cfg.client.enable || cfg.server.enable) {
in mkIf ( cfg.enableStools ||
cfg.client.enable ||
cfg.server.enable ||
cfg.dbdserver.enable ) {
environment.systemPackages = [ wrappedSlurm ];
services.munge.enable = mkDefault true;
# use a static uid as default to ensure it is the same on all nodes
users.users.slurm = mkIf (cfg.user == defaultUser) {
name = defaultUser;
group = "slurm";
uid = config.ids.uids.slurm;
};
users.groups.slurm.gid = config.ids.uids.slurm;
systemd.services.slurmd = mkIf (cfg.client.enable) {
path = with pkgs; [ wrappedSlurm coreutils ]
++ lib.optional cfg.enableSrunX11 slurm-spank-x11;
@ -261,6 +329,29 @@ in
PIDFile = "/run/slurmctld.pid";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
};
preStart = ''
mkdir -p ${cfg.stateSaveLocation}
chown -R ${cfg.user}:slurm ${cfg.stateSaveLocation}
'';
};
systemd.services.slurmdbd = mkIf (cfg.dbdserver.enable) {
path = with pkgs; [ wrappedSlurm munge coreutils ];
wantedBy = [ "multi-user.target" ];
after = [ "network.target" "munged.service" "mysql.service" ];
requires = [ "munged.service" "mysql.service" ];
# slurm strips the last component off the path
environment.SLURM_CONF = "${slurmdbdConf}/slurm.conf";
serviceConfig = {
Type = "forking";
ExecStart = "${cfg.package}/bin/slurmdbd";
PIDFile = "/run/slurmdbd.pid";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
};
};
};

View file

@ -176,4 +176,6 @@ in
}
) cfg.instances);
};
meta.maintainers = with lib.maintainers; [ ekleog ];
}

View file

@ -115,4 +115,6 @@ in
};
};
};
meta.maintainers = with lib.maintainers; [ ekleog ];
}

View file

@ -267,4 +267,6 @@ in
"ip46tables -t nat -D OUTPUT -p tcp ${redCond block} -j ${chain} 2>/dev/null || true"
) cfg.redsocks;
};
meta.maintainers = with lib.maintainers; [ ekleog ];
}

View file

@ -22,7 +22,7 @@ let
# This wrapper ensures that we actually get themes
makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \
$out/greeter \
--prefix PATH : "${pkgs.glibc.bin}/bin" \
--prefix PATH : "${lib.getBin pkgs.stdenv.cc.libc}/bin" \
--set GDK_PIXBUF_MODULE_FILE "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" \
--set GTK_PATH "${theme}:${pkgs.gtk3.out}" \
--set GTK_EXE_PREFIX "${theme}" \

View file

@ -21,7 +21,7 @@ let
[ coreutils
gnugrep
findutils
glibc # needed for getent
getent
shadow
nettools # needed for hostname
utillinux # needed for mount and mountpoint

View file

@ -147,7 +147,7 @@ let
${config.boot.initrd.extraUtilsCommands}
# Copy ld manually since it isn't detected correctly
cp -pv ${pkgs.glibc.out}/lib/ld*.so.? $out/lib
cp -pv ${pkgs.stdenv.cc.libc.out}/lib/ld*.so.? $out/lib
# Copy all of the needed libraries
find $out/bin $out/lib -type f | while read BIN; do

View file

@ -112,6 +112,7 @@ in {
environment.etc."systemd/nspawn".source = generateUnits "nspawn" units [] [];
systemd.targets."multi-user".wants = [ "machines.target "];
};
}

View file

@ -243,6 +243,9 @@ let
Restart = "on-failure";
Slice = "machine.slice";
Delegate = true;
# Hack: we don't want to kill systemd-nspawn, since we call
# "machinectl poweroff" in preStop to shut down the
# container cleanly. But systemd requires sending a signal
@ -657,6 +660,8 @@ in
serviceConfig = serviceDirectives dummyConfig;
};
in {
systemd.targets."multi-user".wants = [ "machines.target" ];
systemd.services = listToAttrs (filter (x: x.value != null) (
# The generic container template used by imperative containers
[{ name = "container@"; value = unit; }]
@ -680,7 +685,7 @@ in
} // (
if config.autoStart then
{
wantedBy = [ "multi-user.target" ];
wantedBy = [ "machines.target" ];
wants = [ "network.target" ];
after = [ "network.target" ];
restartTriggers = [ config.path ];

View file

@ -196,6 +196,8 @@ in {
wantedBy = [ "multi-user.target" ];
path = with pkgs; [ coreutils libvirt gawk ];
restartIfChanged = false;
environment.ON_SHUTDOWN = "${cfg.onShutdown}";
};
systemd.sockets.virtlogd = {

View file

@ -10,9 +10,8 @@ import ./make-test.nix ({pkgs, ...}: rec {
emptyDiskImages = [ 20480 20480 ];
vlans = [ 1 ];
};
networking = {
firewall.allowPing = true;
useDHCP = false;
interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
{ address = "192.168.1.1"; prefixLength = 24; }
@ -54,7 +53,7 @@ import ./make-test.nix ({pkgs, ...}: rec {
};
};
};
testScript = { ... }: ''
startAll;
@ -83,7 +82,7 @@ import ./make-test.nix ({pkgs, ...}: rec {
# Can't check ceph status until a mon is up
$aio->succeed("ceph -s | grep 'mon: 1 daemons'");
# Start the ceph-mgr daemon, it has no deps and hardly any setup
$aio->mustSucceed(
"ceph auth get-or-create mgr.aio mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-aio/keyring",

View file

@ -13,9 +13,6 @@ let
# CJDNS output is incompatible with the XML log.
systemd.services.cjdns.serviceConfig.StandardOutput = "null";
#networking.firewall.enable = true;
networking.firewall.allowPing = true;
#networking.firewall.rejectPackets = true;
};
in

View file

@ -42,7 +42,6 @@ import ./make-test.nix ({ pkgs, ...} : {
{ services.httpd.enable = true;
services.httpd.adminAddr = "foo@example.org";
networking.firewall.allowedTCPPorts = [ 80 ];
networking.firewall.allowPing = true;
};
};

View file

@ -43,7 +43,6 @@ import ./make-test.nix ({ pkgs, ...} : {
config =
{
networking.firewall.allowedTCPPorts = [ 80 ];
networking.firewall.allowPing = true;
};
};

View file

@ -20,7 +20,6 @@ import ./make-test.nix ({ pkgs, ...} : {
{ services.httpd.enable = true;
services.httpd.adminAddr = "foo@example.org";
networking.firewall.allowedTCPPorts = [ 80 ];
networking.firewall.allowPing = true;
system.stateVersion = "18.03";
};
};

View file

@ -25,7 +25,6 @@ import ./make-test.nix ({ pkgs, ...} : {
{ services.httpd.enable = true;
services.httpd.adminAddr = "foo@example.org";
networking.firewall.allowedTCPPorts = [ 80 ];
networking.firewall.allowPing = true;
};
};

View file

@ -28,7 +28,6 @@ import ./make-test.nix ({ pkgs, ...} : {
{ services.httpd.enable = true;
services.httpd.adminAddr = "foo@example.org";
networking.firewall.allowedTCPPorts = [ 80 ];
networking.firewall.allowPing = true;
};
};

View file

@ -10,7 +10,6 @@ let
hostBridge = "br0";
config = {
networking.firewall.enable = false;
networking.firewall.allowPing = true;
networking.interfaces.eth0.ipv4.addresses = [
{ address = "192.168.1.122"; prefixLength = 24; }
];

View file

@ -11,7 +11,6 @@ import ./make-test.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false,
lib.mkMerge [
{ virtualisation.vlans = [ 2 1 ];
networking.firewall.enable = withFirewall;
networking.firewall.allowPing = true;
networking.nat.internalIPs = [ "192.168.1.0/24" ];
networking.nat.externalInterface = "eth1";
}
@ -33,7 +32,6 @@ import ./make-test.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false,
{ pkgs, nodes, ... }:
lib.mkMerge [
{ virtualisation.vlans = [ 1 ];
networking.firewall.allowPing = true;
networking.defaultGateway =
(pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ipv4.addresses).address;
}

View file

@ -17,7 +17,6 @@ let
networking = {
useDHCP = false;
useNetworkd = networkd;
firewall.allowPing = true;
firewall.checkReversePath = true;
firewall.allowedUDPPorts = [ 547 ];
interfaces = mkOverride 0 (listToAttrs (flip map vlanIfs (n:
@ -86,7 +85,6 @@ let
virtualisation.vlans = [ 1 2 ];
networking = {
useNetworkd = networkd;
firewall.allowPing = true;
useDHCP = false;
defaultGateway = "192.168.1.1";
interfaces.eth1.ipv4.addresses = mkOverride 0 [
@ -139,7 +137,6 @@ let
virtualisation.vlans = [ 1 2 ];
networking = {
useNetworkd = networkd;
firewall.allowPing = true;
useDHCP = true;
interfaces.eth1 = {
ipv4.addresses = mkOverride 0 [ ];
@ -194,7 +191,6 @@ let
virtualisation.vlans = [ 1 2 ];
networking = {
useNetworkd = networkd;
firewall.allowPing = true;
useDHCP = false;
interfaces.eth1 = {
ipv4.addresses = mkOverride 0 [ ];
@ -234,7 +230,6 @@ let
virtualisation.vlans = [ 1 2 ];
networking = {
useNetworkd = networkd;
firewall.allowPing = true;
useDHCP = false;
bonds.bond = {
interfaces = [ "eth1" "eth2" ];
@ -271,7 +266,6 @@ let
virtualisation.vlans = [ vlan ];
networking = {
useNetworkd = networkd;
firewall.allowPing = true;
useDHCP = false;
interfaces.eth1.ipv4.addresses = mkOverride 0
[ { inherit address; prefixLength = 24; } ];
@ -285,7 +279,6 @@ let
virtualisation.vlans = [ 1 2 ];
networking = {
useNetworkd = networkd;
firewall.allowPing = true;
useDHCP = false;
bridges.bridge.interfaces = [ "eth1" "eth2" ];
interfaces.eth1.ipv4.addresses = mkOverride 0 [ ];
@ -329,7 +322,6 @@ let
# reverse path filtering rules for the macvlan interface seem
# to be incorrect, causing the test to fail. Disable temporarily.
firewall.checkReversePath = false;
firewall.allowPing = true;
useDHCP = true;
macvlans.macvlan.interface = "eth1";
interfaces.eth1.ipv4.addresses = mkOverride 0 [ ];
@ -415,7 +407,6 @@ let
#virtualisation.vlans = [ 1 ];
networking = {
useNetworkd = networkd;
firewall.allowPing = true;
useDHCP = false;
vlans.vlan = {
id = 1;

View file

@ -66,7 +66,6 @@ import ./make-test.nix ({ pkgs, ... }:
virtualisation.vlans = [ 3 ];
networking.defaultGateway = ifAddr nodes.router2 "eth1";
networking.firewall.allowedTCPPorts = [ 80 ];
networking.firewall.allowPing = true;
services.httpd.enable = true;
services.httpd.adminAddr = "foo@example.com";
};

View file

@ -1,22 +1,27 @@
import ./make-test.nix ({ ... }:
let mungekey = "mungeverryweakkeybuteasytointegratoinatest";
import ./make-test.nix ({ lib, ... }:
let
mungekey = "mungeverryweakkeybuteasytointegratoinatest";
slurmconfig = {
controlMachine = "control";
nodeName = ''
control
NodeName=node[1-3] CPUs=1 State=UNKNOWN
nodeName = [ "node[1-3] CPUs=1 State=UNKNOWN" ];
partitionName = [ "debug Nodes=node[1-3] Default=YES MaxTime=INFINITE State=UP" ];
extraConfig = ''
AccountingStorageHost=dbd
AccountingStorageType=accounting_storage/slurmdbd
'';
partitionName = "debug Nodes=node[1-3] Default=YES MaxTime=INFINITE State=UP";
};
in {
name = "slurm";
meta.maintainers = [ lib.maintainers.markuskowa ];
nodes =
let
computeNode =
{ ...}:
{
# TODO slrumd port and slurmctld port should be configurations and
# TODO slurmd port and slurmctld port should be configurations and
# automatically allowed by the firewall.
networking.firewall.enable = false;
services.slurm = {
@ -43,6 +48,24 @@ in {
} // slurmconfig;
};
dbd =
{ pkgs, ... } :
{
networking.firewall.enable = false;
services.slurm.dbdserver = {
enable = true;
};
services.mysql = {
enable = true;
package = pkgs.mysql;
ensureDatabases = [ "slurm_acct_db" ];
ensureUsers = [{
ensurePermissions = { "slurm_acct_db.*" = "ALL PRIVILEGES"; };
name = "slurm";
}];
};
};
node1 = computeNode;
node2 = computeNode;
node3 = computeNode;
@ -54,7 +77,7 @@ in {
startAll;
# Set up authentification across the cluster
foreach my $node (($submit,$control,$node1,$node2,$node3))
foreach my $node (($submit,$control,$dbd,$node1,$node2,$node3))
{
$node->waitForUnit("default.target");
@ -63,10 +86,22 @@ in {
$node->succeed("chmod 0400 /etc/munge/munge.key");
$node->succeed("chown munge:munge /etc/munge/munge.key");
$node->succeed("systemctl restart munged");
}
$node->waitForUnit("munged");
};
# Restart the services since they have probably failed due to the munge init
# failure
subtest "can_start_slurmdbd", sub {
$dbd->succeed("systemctl restart slurmdbd");
$dbd->waitForUnit("slurmdbd.service");
};
# there needs to be an entry for the current
# cluster in the database before slurmctld is restarted
subtest "add_account", sub {
$control->succeed("sacctmgr -i add cluster default");
};
subtest "can_start_slurmctld", sub {
$control->succeed("systemctl restart slurmctld");
@ -81,12 +116,17 @@ in {
}
};
# Test that the cluster work and can distribute jobs;
# Test that the cluster works and can distribute jobs;
subtest "run_distributed_command", sub {
# Run `hostname` on 3 nodes of the partition (so on all the 3 nodes).
# The output must contain the 3 different names
$submit->succeed("srun -N 3 hostname | sort | uniq | wc -l | xargs test 3 -eq");
};
subtest "check_slurm_dbd", sub {
# find the srun job from above in the database
$submit->succeed("sacct | grep hostname");
};
'';
})

View file

@ -0,0 +1,29 @@
{ stdenv, fetchFromGitHub, xorg, xproto, cairo, lv2, pkgconfig }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "GxPlugins.lv2";
version = "0.5";
src = fetchFromGitHub {
owner = "brummer10";
repo = pname;
rev = "v${version}";
sha256 = "16r5bj7w726d9327flg530fn0bli4crkxjss7i56yhb1bsi39mbv";
fetchSubmodules = true;
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
xorg.libX11 xproto cairo lv2
];
installFlags = [ "INSTALL_DIR=$(out)/lib/lv2" ];
meta = with stdenv.lib; {
homepage = https://github.com/brummer10/GxPlugins.lv2;
description = "A set of extra lv2 plugins from the guitarix project";
maintainers = [ maintainers.magnetophon ];
license = licenses.gpl3;
};
}

View file

@ -0,0 +1,47 @@
{ stdenv, fetchFromGitHub , libjack2, lv2, xorg, liblo, libGL, libXcursor, pkgconfig }:
stdenv.mkDerivation rec {
name = "wolf-shaper-${version}";
version = "0.1.6";
src = fetchFromGitHub {
owner = "pdesaulniers";
repo = "wolf-shaper";
rev = "v${version}";
sha256 = "01h5dm1nrr0i54ancwznr7wn4vpw08dw0b69v3axy32r5j7plw6s";
fetchSubmodules = true;
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libjack2 lv2 xorg.libX11 liblo libGL libXcursor ];
makeFlags = [
"BUILD_LV2=true"
"BUILD_DSSI=true"
"BUILD_VST2=true"
"BUILD_JACK=true"
];
patchPhase = ''
patchShebangs ./dpf/utils/generate-ttl.sh
'';
installPhase = ''
mkdir -p $out/lib/lv2
mkdir -p $out/lib/dssi
mkdir -p $out/lib/vst
mkdir -p $out/bin/
cp -r bin/wolf-shaper.lv2 $out/lib/lv2/
cp -r bin/wolf-shaper-dssi* $out/lib/dssi/
cp -r bin/wolf-shaper-vst.so $out/lib/vst/
cp -r bin/wolf-shaper $out/bin/
'';
meta = with stdenv.lib; {
homepage = https://pdesaulniers.github.io/wolf-shaper/;
description = "Waveshaper plugin with spline-based graph editor";
license = licenses.gpl3;
maintainers = [ maintainers.magnetophon ];
platforms = [ "i686-linux" "x86_64-linux" ];
};
}

View file

@ -3,7 +3,7 @@
let
pname = "albert";
version = "0.14.21";
version = "0.14.22";
in
mkDerivation rec {
name = "${pname}-${version}";
@ -12,7 +12,7 @@ mkDerivation rec {
owner = "albertlauncher";
repo = "albert";
rev = "v${version}";
sha256 = "16nk9krn1mwr0bh57viig9hizqyp3slna0qg7s5a736nsfxy226w";
sha256 = "0i9kss5szirmd0pzw3cm692kl9rhkan1zfywfqrjdf3i3b6914sg";
fetchSubmodules = true;
};
@ -48,7 +48,7 @@ mkDerivation rec {
homepage = https://albertlauncher.github.io/;
description = "Desktop agnostic launcher";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ ericsagnes ];
maintainers = with maintainers; [ ericsagnes synthetica ];
platforms = platforms.linux;
};
}

View file

@ -1,8 +1,8 @@
{ stdenv, buildGoPackage, fetchFromGitHub, fetchpatch }:
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "hugo-${version}";
version = "0.49.2";
version = "0.50";
goPackagePath = "github.com/gohugoio/hugo";
@ -10,16 +10,9 @@ buildGoPackage rec {
owner = "gohugoio";
repo = "hugo";
rev = "v${version}";
sha256 = "0a320mv6x770vppbz0aw5ikywmy0mxqq1lhc0syp48hgg42d46is";
sha256 = "1shrw7pxwrz9g5x9bq6k5qvhn3fqmwznadpw7i07msh97p8b3dyn";
};
patches = [
(fetchpatch {
url = "https://github.com/gohugoio/hugo/commit/b137ad4dbd6d14d0a9af68c044aaee61f2c87fe5.diff";
sha256 = "0w1gpg11idqywqcpwzvx4xabn02kk8y4jmyz4h67mc3yh2dhq3ll";
})
];
goDeps = ./deps.nix;
buildFlags = "-tags extended";

View file

@ -555,8 +555,8 @@
fetch = {
type = "git";
url = "https://github.com/spf13/jwalterweatherman";
rev = "4a4406e478ca";
sha256 = "093fmmvavv84pv4q84hav7ph3fmrq87bvspjj899q0qsx37yvdr8";
rev = "94f6ae3ed3bc";
sha256 = "1ywmkwci5zyd88ijym6f30fj5c0k2yayxarkmnazf5ybljv50q7b";
};
}
@ -605,8 +605,8 @@
fetch = {
type = "git";
url = "https://github.com/tdewolff/minify";
rev = "v2.3.5";
sha256 = "0x67kgjhc6mfzjhr4xmw0j3qapzhkgwwahvv5b44rb449ml2qx5m";
rev = "v2.3.6";
sha256 = "0p4v4ab49lm5y438k5aks06fpiagbjw2j2x7i8jaa273mkgicrbb";
};
}
@ -615,8 +615,8 @@
fetch = {
type = "git";
url = "https://github.com/tdewolff/parse";
rev = "v2.3.3";
sha256 = "190y2jykp8qyp6y58ky1v1fvmaqjnrsr1ksbqrrspf1gpjy69i94";
rev = "fced451e0bed";
sha256 = "1n6wcapk8xbck2zjxd4l5cgfn1v12rr7znrdpd5y2xp1nc3739c3";
};
}
@ -625,8 +625,8 @@
fetch = {
type = "git";
url = "https://github.com/tdewolff/test";
rev = "265427085153";
sha256 = "1h0cmsjjia92w50dzr06c5h10zd5c7snhpixqjv94wbl7dv80yp0";
rev = "v1.0.0";
sha256 = "10vyp4bhanzg3yl9k8zqfdrxpsmx8yc53xv4lqxfymd7jjyqgssj";
};
}

View file

@ -14,7 +14,7 @@ python3Packages.buildPythonApplication rec {
sed -i 's/<2.2.0//' setup.py
'';
propagatedBuildInputs = with python3Packages; [ tornado_4 pythondaemon ];
propagatedBuildInputs = with python3Packages; [ tornado_4 python-daemon ];
# Requires tox, hadoop, and google cloud
doCheck = false;

View file

@ -0,0 +1,50 @@
{ stdenv, buildEnv, pkgconfig, python3, fetchhg, gtk3, glib, gdbm, gtkspell3, itstool, libappindicator-gtk3, perlPackages, glibcLocales, meson, ninja }:
stdenv.mkDerivation rec {
name = "modem-manager-gui-${version}";
version = "0.0.19.1";
src = fetchhg {
url = https://linuxonly@bitbucket.org/linuxonly/modem-manager-gui;
rev = "version ${version}";
sha256 = "11iibh36567814h2bz41sa1072b86p1l13xyj670pwkh9k8kw8fd";
};
LC_ALL = "en_US.utf-8";
nativeBuildInputs = [
pkgconfig
python3
perlPackages.Po4a
itstool
glibcLocales
meson
ninja
];
buildInputs = [
gtk3
glib
gdbm
gtkspell3
libappindicator-gtk3
];
postPatch = ''
patchShebangs man/manhelper.py
'';
meta = with stdenv.lib; {
description = "An app to send/receive SMS, make USSD requests, control mobile data usage and more";
longDescription = ''
A simple GTK+ based GUI compatible with Modem manager, Wader and oFono
system services able to control EDGE/3G/4G broadband modem specific
functions. You can check balance of your SIM card, send or receive SMS
messages, control mobile traffic consumption and more.
'';
homepage = https://linuxonly.ru/page/modem-manager-gui;
license = licenses.gpl3;
maintainers = with maintainers; [ ahuzik ];
platforms = platforms.linux;
};
}

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitLab, cmake, pkgconfig, wrapGAppsHook
{ stdenv, fetchFromGitLab, cmake, ninja, pkgconfig, wrapGAppsHook
, glib, gtk3, gettext, libxkbfile, libX11
, freerdp, libssh, libgcrypt, gnutls, makeDesktopItem
, pcre, libdbusmenu-gtk3, libappindicator-gtk3
@ -7,24 +7,11 @@
, openssl, gsettings-desktop-schemas, json-glib
# The themes here are soft dependencies; only icons are missing without them.
, hicolor-icon-theme, adwaita-icon-theme
, gnomeSupport ? true, libgnome-keyring
}:
with stdenv.lib;
let
desktopItem = makeDesktopItem {
name = "remmina";
desktopName = "Remmina";
genericName = "Remmina Remote Desktop Client";
exec = "remmina";
icon = "remmina";
comment = "Connect to remote desktops";
categories = "GTK;GNOME;X-GNOME-NetworkSettings;Network;";
};
in stdenv.mkDerivation rec {
stdenv.mkDerivation {
name = "remmina-${version}";
version = "1.2.32";
@ -35,22 +22,16 @@ in stdenv.mkDerivation rec {
sha256 = "15szv1xs6drxq6qyksmxcfdz516ja4zm52r4yf6hwij3fgl8qdpw";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ cmake ninja pkgconfig wrapGAppsHook ];
buildInputs = [
cmake wrapGAppsHook gsettings-desktop-schemas
gsettings-desktop-schemas
glib gtk3 gettext libxkbfile libX11
freerdp libssh libgcrypt gnutls
pcre libdbusmenu-gtk3 libappindicator-gtk3
libvncserver libpthreadstubs libXdmcp libxkbcommon
libsecret libsoup spice-protocol spice-gtk epoxy at-spi2-core
openssl hicolor-icon-theme adwaita-icon-theme json-glib
]
++ optional gnomeSupport libgnome-keyring;
preConfigure = optionalString (!gnomeSupport) ''
substituteInPlace CMakeLists.txt \
--replace "add_subdirectory(remmina-plugins-gnome)" ""
'';
];
cmakeFlags = [
"-DWITH_VTE=OFF"
@ -68,13 +49,8 @@ in stdenv.mkDerivation rec {
)
'';
postInstall = ''
mkdir -pv $out/share/applications
cp ${desktopItem}/share/applications/* $out/share/applications
'';
meta = {
license = stdenv.lib.licenses.gpl2;
license = licenses.gpl2;
homepage = https://gitlab.com/Remmina/Remmina;
description = "Remote desktop client written in GTK+";
maintainers = with maintainers; [ melsigl ryantm ];

View file

@ -7,11 +7,11 @@
stdenv.mkDerivation rec {
name = "smartgithg-${version}";
version = "18_1_4";
version = "18_1_5";
src = fetchurl {
url = "https://www.syntevo.com/downloads/smartgit/smartgit-linux-${version}.tar.gz";
sha256 = "18gyfcs5g7xq8fqnn1zjzx350jaynrniain0giay8sxych12p4cm";
sha256 = "0f2aj3259jvn7n0x6m8sbwliikln9lqffd00jg75dblhxwl8adg3";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -28,7 +28,7 @@ in runCommand name {
passthru = passthru // {
env = runCommand "${name}-shell-env" {
shellHook = ''
exec ${chrootenv} ${init "bash"} "$(pwd)"
exec ${chrootenv} ${init runScript} "$(pwd)"
'';
} ''
echo >&2 ""

View file

@ -44,14 +44,14 @@ class SPECTemplate(object):
self.key = self.getSelfKey()
tmpDir = os.path.join(outputDir, self.rewriteName(self.spec.sourceHeader['name']))
if self.translateTable != None:
if self.translateTable is not None:
self.relOutputDir = self.translateTable.path(self.key,tmpDir)
else:
self.relOutputDir = tmpDir
self.final_output_dir = os.path.normpath( self.relOutputDir )
if self.repositoryDir != None:
if self.repositoryDir is not None:
self.potential_repository_dir = os.path.normpath( os.path.join(self.repositoryDir,self.relOutputDir) )
@ -59,7 +59,7 @@ class SPECTemplate(object):
def rewriteCommands(self, string):
string = string.replace('SPACER_DIR_FOR_REMOVAL/','')
string = string.replace('SPACER_DIR_FOR_REMOVAL','')
string = '\n'.join(map(lambda line: ' '.join(map(lambda x: x.replace('SOURCE_DIR_SPACER/',('${./' if (self.buildRootInclude == None) else '${buildRoot}/usr/share/buildroot/SOURCES/'))+('}' if (self.buildRootInclude == None) else '') if x.startswith('SOURCE_DIR_SPACER/') else x, line.split(' '))), string.split('\n')))
string = '\n'.join(map(lambda line: ' '.join(map(lambda x: x.replace('SOURCE_DIR_SPACER/',('${./' if (self.buildRootInclude is None) else '${buildRoot}/usr/share/buildroot/SOURCES/'))+('}' if (self.buildRootInclude is None) else '') if x.startswith('SOURCE_DIR_SPACER/') else x, line.split(' '))), string.split('\n')))
string = string.replace('\n','\n ')
string = string.rstrip()
return string
@ -82,7 +82,7 @@ class SPECTemplate(object):
rewrite = lambda l: ''.join(camelcase(filterDoc(filterDevel(l))))
def filterPackageGroup(target):
if target == None:
if target is None:
return [ rewrite(x.split('-')) for x in inputs if (not x.split('-')[0] in self.packageGroups) or (len(x.split('-')) == 1) ]
elif target in self.packageGroups:
return [ target + '_' + rewrite(x.split('-')[1:]) for x in inputs if (x.split('-')[0] == target) and (len(x.split('-')) > 1)]
@ -90,7 +90,7 @@ class SPECTemplate(object):
raise Exception("Unknown target")
return []
if target == None:
if target is None:
packages = filterPackageGroup(None)
packages.sort()
elif target in self.packageGroups:
@ -111,7 +111,7 @@ class SPECTemplate(object):
def getBuildInputs(self,target=None):
inputs = self.rewriteInputs(target,self.spec.sourceHeader['requires'])
if self.translateTable != None:
if self.translateTable is not None:
return map(lambda x: self.translateTable.name(x), inputs)
else:
return inputs
@ -125,7 +125,7 @@ class SPECTemplate(object):
return key
def getSelf(self):
if self.translateTable != None:
if self.translateTable is not None:
return self.translateTable.name(self.key)
else:
return self.key
@ -161,7 +161,7 @@ class SPECTemplate(object):
facts["sha256"].append(sha256)
patches = [source for (source, _, flag) in self.spec.sources if flag==2]
if self.buildRootInclude == None:
if self.buildRootInclude is None:
facts["patches"] = map(lambda x: './'+x, patches)
else:
facts["patches"] = map(lambda x: '"${buildRoot}/usr/share/buildroot/SOURCES/'+x+'"', reversed(patches))
@ -292,7 +292,7 @@ class SPECTemplate(object):
if not os.path.exists(self.final_output_dir):
os.makedirs(self.final_output_dir)
if self.inputDir != None:
if self.inputDir is not None:
self.copySources(self.inputDir, self.final_output_dir)
self.copyPatches(self.inputDir, self.final_output_dir)
@ -334,19 +334,19 @@ class NixTemplate(object):
url = re.match(r'^\s*url\s*=\s*"?(.*?)"?\s*;\s*$', line)
sha256 = re.match(r'^\s*sha256\s*=\s*"(.*?)"\s*;\s*$', line)
patches = re.match(r'^\s*patches\s*=\s*(\[.*?\])\s*;\s*$', line)
if name != None and self.original["name"] == None:
if name is not None and self.original["name"] is None:
self.original["name"] = name.group(1)
self.matchedLines[n] = "name"
if version != None and self.original["version"] == None:
if version is not None and self.original["version"] is None:
self.original["version"] = version.group(1)
self.matchedLines[n] = "version"
if url != None and self.original["url"] == None:
if url is not None and self.original["url"] is None:
self.original["url"] = url.group(1)
self.matchedLines[n] = "url"
if sha256 != None and self.original["sha256"] == None:
if sha256 is not None and self.original["sha256"] is None:
self.original["sha256"] = sha256.group(1)
self.matchedLines[n] = "sha256"
if patches != None and self.original["patches"] == None:
if patches is not None and self.original["patches"] is None:
self.original["patches"] = patches.group(1)
self.matchedLines[n] = "patches"
@ -355,7 +355,7 @@ class NixTemplate(object):
nixTemplateFile = open(os.path.normpath(self.nixfile),'r')
nixOutFile = open(os.path.normpath(nixOut),'w')
for (n,line) in enumerate(nixTemplateFile):
if self.matchedLines.has_key(n) and self.update[self.matchedLines[n]] != None:
if self.matchedLines.has_key(n) and self.update[self.matchedLines[n]] is not None:
nixOutFile.write(line.replace(self.original[self.matchedLines[n]], self.update[self.matchedLines[n]], 1))
else:
nixOutFile.write(line)
@ -383,14 +383,14 @@ class TranslationTable(object):
def update(self, key, path, name=None):
self.tablePath[key] = path
if name != None:
if name is not None:
self.tableName[key] = name
def readTable(self, tableFile):
with file(tableFile, 'r') as infile:
for line in infile:
match = re.match(r'^(.+?)\s+(.+?)\s+(.+?)\s*$', line)
if match != None:
if match is not None:
if not self.tablePath.has_key(match.group(1)):
self.tablePath[match.group(1)] = match.group(2)
if not self.tableName.has_key(match.group(1)):
@ -449,7 +449,7 @@ if __name__ == "__main__":
nameMap = {}
newTable = TranslationTable()
if args.translate != None:
if args.translate is not None:
table = TranslationTable()
table.readTable(args.translate)
newTable.readTable(args.translate)
@ -461,7 +461,7 @@ if __name__ == "__main__":
sys.stderr.write("INFO: generate nix file from: %s\n" % specPath)
spec = SPECTemplate(specPath, args.output, args.inputSources, args.buildRoot, table, args.repository, allPackagesDir, args.maintainer)
if args.repository != None:
if args.repository is not None:
if os.path.exists(os.path.join(spec.potential_repository_dir,'default.nix')):
nixTemplate = NixTemplate(os.path.join(spec.potential_repository_dir,'default.nix'))
nixTemplate.loadUpdate(spec.facts)
@ -470,12 +470,12 @@ if __name__ == "__main__":
nixTemplate.generateUpdated(os.path.join(spec.final_output_dir,'default.nix'))
else:
sys.stderr.write("WARNING: Repository does not contain template: %s\n" % os.path.join(spec.potential_repository_dir,'default.nix'))
if args.buildRoot == None:
if args.buildRoot is None:
spec.generateCombined()
else:
buildRootContent[spec.key] = spec.generateSplit()
else:
if args.buildRoot == None:
if args.buildRoot is None:
spec.generateCombined()
else:
buildRootContent[spec.key] = spec.generateSplit()
@ -486,7 +486,7 @@ if __name__ == "__main__":
except Exception, e:
sys.stderr.write("ERROR: %s failed with:\n%s\n%s\n" % (specPath,e.message,traceback.format_exc()))
if args.translateOut != None:
if args.translateOut is not None:
if not os.path.exists(os.path.dirname(os.path.normpath(args.translateOut))):
os.makedirs(os.path.dirname(os.path.normpath(args.translateOut)))
newTable.writeTable(args.translateOut)
@ -502,7 +502,7 @@ if __name__ == "__main__":
allPackagesFile.write( '\n\n'.join(map(lambda x: x.callPackage(), map(lambda x: nameMap[x], sortedSpecs))) )
allPackagesFile.close()
if args.buildRoot != None:
if args.buildRoot is not None:
buildRootFilename = os.path.normpath( args.buildRoot )
if not os.path.exists(os.path.dirname(buildRootFilename)):
os.makedirs(os.path.dirname(buildRootFilename))

View file

@ -1,4 +1,4 @@
{ mkXfceDerivation, gtk3, libxfce4ui, vte }:
{ mkXfceDerivation, gtk3, libxfce4ui, wrapGAppsHook, vte }:
mkXfceDerivation rec {
category = "apps";
@ -8,6 +8,7 @@ mkXfceDerivation rec {
sha256 = "1s1dq560icg602jjb2ja58x7hxg4ikp3jrrf74v3qgi0ir950k2y";
buildInputs = [ gtk3 libxfce4ui vte ];
nativeBuildInputs = [ wrapGAppsHook ];
meta = {
description = "A modern terminal emulator";

View file

@ -1,8 +1,8 @@
import ./generic.nix {
major_version = "4";
minor_version = "07";
patch_version = "0";
sha256 = "03wzkzv6w4rdiiva20g5amz0n4x75swpjl8d80468p6zm8hgfnzl";
patch_version = "1";
sha256 = "1f07hgj5k45cylj1q3k5mk8yi02cwzx849b1fwnwia8xlcfqpr6z";
# If the executable is stripped it does not work
dontStrip = true;

View file

@ -99,31 +99,16 @@ self: super: {
# https://github.com/bmillwood/haskell-src-meta/pull/80
haskell-src-meta = doJailbreak super.haskell-src-meta;
# The official 1.12 release is broken and unmaintained.
polyparse = appendPatch (overrideCabal super.polyparse (drv: { editedCabalFile = null; })) (pkgs.fetchpatch {
url = https://github.com/bergmark/polyparse/commit/8a69ee7e57db798c106d8b56dce05b1dfc4fed37.patch;
sha256 = "11r73wx1w6bfrkrnk6r9k7rfzp6qrvkdikb2by37ld06c0w6nn57";
});
# https://github.com/skogsbaer/HTF/issues/69
HTF = markBrokenVersion "0.13.2.4" super.HTF;
# https://github.com/jgm/skylighting/issues/55
skylighting-core = dontCheck super.skylighting-core;
# https://github.com/joelburget/easytest/issues/12
easytest = appendPatch super.easytest (pkgs.fetchpatch {
url = https://github.com/joelburget/easytest/pull/13.patch;
sha256 = "0gnsgga8x2yxyg27pya6rhmxfsxf167vsi4xdj98fn8v0j7zz1v1";
});
# https://github.com/jgm/pandoc/issues/4974
pandoc = doJailbreak super.pandoc_2_3_1;
# Break out of "yaml >=0.10.4.0 && <0.11".
stack = doJailbreak super.stack;
# https://github.com/vimus/libmpd-haskell/issues/109
xmobar = disableCabalFlag (super.xmobar.override { libmpd = null; }) "with_mpd";
}

View file

@ -45,7 +45,7 @@ default-package-overrides:
- base-compat-batteries ==0.10.1
# Newer versions don't work in LTS-12.x
- cassava-megaparsec < 2
# LTS Haskell 12.14
# LTS Haskell 12.16
- abstract-deque ==0.3
- abstract-deque-tests ==0.3
- abstract-par ==0.3.3
@ -180,7 +180,7 @@ default-package-overrides:
- amazonka-xray ==1.6.0
- amqp ==0.18.1
- annotated-wl-pprint ==0.7.0
- ansi-terminal ==0.8.1
- ansi-terminal ==0.8.2
- ansi-wl-pprint ==0.6.8.2
- ANum ==0.2.0.2
- api-field-json-th ==0.1.0.2
@ -436,7 +436,7 @@ default-package-overrides:
- concurrency ==1.6.1.0
- concurrent-extra ==0.7.0.12
- concurrent-output ==1.10.7
- concurrent-split ==0.0.1
- concurrent-split ==0.0.1.1
- concurrent-supply ==0.1.8
- cond ==0.4.1.1
- conduit ==1.3.1
@ -552,7 +552,7 @@ default-package-overrides:
- data-serializer ==0.3.4
- datasets ==0.2.5
- data-textual ==0.3.0.2
- data-tree-print ==0.1.0.1
- data-tree-print ==0.1.0.2
- dataurl ==0.1.0.0
- DAV ==1.3.2
- dawg-ord ==0.5.1.0
@ -638,7 +638,7 @@ default-package-overrides:
- dyre ==0.8.12
- Earley ==0.12.1.0
- easy-file ==0.2.2
- easytest ==0.2
- easytest ==0.2.1
- Ebnf2ps ==1.0.15
- echo ==0.1.3
- ed25519 ==0.0.5.0
@ -880,6 +880,12 @@ default-package-overrides:
- greskell-core ==0.1.2.4
- greskell-websocket ==0.1.1.2
- groom ==0.1.2.1
- groundhog ==0.9.0
- groundhog-inspector ==0.9.0
- groundhog-mysql ==0.9.0
- groundhog-postgresql ==0.9.0.1
- groundhog-sqlite ==0.9.0
- groundhog-th ==0.9.0.1
- groups ==0.4.1.0
- gtk ==0.14.10
- gtk2hs-buildtools ==0.13.4.0
@ -896,7 +902,7 @@ default-package-overrides:
- hamtsolo ==1.0.3
- HandsomeSoup ==0.4.2
- handwriting ==0.1.0.3
- hapistrano ==0.3.6.1
- hapistrano ==0.3.7.0
- happstack-server ==7.5.1.1
- happy ==1.19.9
- hasbolt ==0.1.3.0
@ -1004,8 +1010,8 @@ default-package-overrides:
- hsdns ==1.7.1
- hsebaysdk ==0.4.0.0
- hsemail ==2
- HSet ==0.0.1
- hset ==2.2.0
- HSet ==0.0.1
- hsexif ==0.6.1.6
- hs-functors ==0.1.3.0
- hs-GeoIP ==0.3
@ -1248,7 +1254,7 @@ default-package-overrides:
- libffi ==0.1
- libgit ==0.3.1
- libgraph ==1.14
- libmpd ==0.9.0.8
- libmpd ==0.9.0.9
- libxml-sax ==0.7.5
- LibZip ==1.0.1
- lifted-async ==0.10.0.3
@ -1523,7 +1529,7 @@ default-package-overrides:
- palette ==0.3.0.1
- pandoc ==2.2.1
- pandoc-citeproc ==0.14.8
- pandoc-types ==1.17.5.2
- pandoc-types ==1.17.5.4
- pango ==0.13.5.0
- papillon ==0.1.0.6
- parallel ==3.2.2.0
@ -1746,7 +1752,7 @@ default-package-overrides:
- require ==0.2.1
- req-url-extra ==0.1.0.0
- reroute ==0.5.0.0
- resolv ==0.1.1.1
- resolv ==0.1.1.2
- resource-pool ==0.2.3.2
- resourcet ==1.2.2
- rest-stringmap ==0.2.0.7
@ -1785,8 +1791,8 @@ default-package-overrides:
- sandman ==0.2.0.1
- say ==0.1.0.1
- sbp ==2.3.17
- SCalendar ==1.1.0
- scalendar ==1.2.0
- SCalendar ==1.1.0
- scalpel ==0.5.1
- scalpel-core ==0.5.1
- scanner ==0.2
@ -1952,7 +1958,7 @@ default-package-overrides:
- storable-record ==0.0.4
- storable-tuple ==0.0.3.3
- storablevector ==0.2.13
- store ==0.5.0
- store ==0.5.0.1
- store-core ==0.4.4
- Strafunski-StrategyLib ==5.0.1.0
- stratosphere ==0.24.4
@ -2042,7 +2048,7 @@ default-package-overrides:
- test-framework-th ==0.2.4
- testing-feat ==1.1.0.0
- testing-type-modifiers ==0.1.0.1
- texmath ==0.11.1.1
- texmath ==0.11.1.2
- text ==1.2.3.1
- text-binary ==0.2.1.1
- text-builder ==0.5.4.3
@ -2133,7 +2139,7 @@ default-package-overrides:
- type-level-kv-list ==1.1.0
- type-level-numbers ==0.1.1.1
- typelits-witnesses ==0.3.0.3
- typenums ==0.1.2
- typenums ==0.1.2.1
- type-of-html ==1.4.0.1
- type-of-html-static ==0.1.0.2
- type-operators ==0.1.0.4
@ -2580,6 +2586,7 @@ dont-distribute-packages:
fltkhs-demos: [ i686-linux, x86_64-linux, x86_64-darwin ]
fltkhs-fluid-demos: [ i686-linux, x86_64-linux, x86_64-darwin ]
fltkhs-hello-world: [ i686-linux, x86_64-linux, x86_64-darwin ]
fltkhs-themes: [ i686-linux, x86_64-linux, x86_64-darwin ]
ghcjs-dom-hello: [ i686-linux, x86_64-linux, x86_64-darwin ]
ghcjs-dom-webkit: [ i686-linux, x86_64-linux, x86_64-darwin ]
gi-javascriptcore: [ i686-linux, x86_64-linux, x86_64-darwin ]

File diff suppressed because it is too large Load diff

View file

@ -354,4 +354,19 @@ rec {
in
builtins.listToAttrs (map toKeyVal haskellPaths);
# Modify a Haskell package to add completion scripts for the given executable
# produced by it. These completion scripts will be picked up automatically if
# the resulting derivation is installed, e.g. by `nix-env -i`.
addOptparseApplicativeCompletionScripts = exeName: pkg: overrideCabal pkg (drv: {
postInstall = (drv.postInstall or "") + ''
bashCompDir="$out/share/bash-completion/completions"
zshCompDir="$out/share/zsh/vendor-completions"
fishCompDir="$out/share/fish/vendor_completions.d"
mkdir -p "$bashCompDir" "$zshCompDir" "$fishCompDir"
"$out/bin/${exeName}" --bash-completion-script "$out/bin/${exeName}" >"$bashCompDir/${exeName}"
"$out/bin/${exeName}" --zsh-completion-script "$out/bin/${exeName}" >"$zshCompDir/_${exeName}"
"$out/bin/${exeName}" --fish-completion-script "$out/bin/${exeName}" >"$fishCompDir/${exeName}.fish"
'';
});
}

View file

@ -1,54 +1,66 @@
{ stdenv, fetchurl, libgtop, libwnck3, glib, vala, pkgconfig
, libstartup_notification, gobjectIntrospection, gtk-doc
{ stdenv, autoconf, automake, libtool, gnome3, which, fetchgit, libgtop, libwnck3, glib, vala, pkgconfig
, libstartup_notification, gobjectIntrospection, gtk-doc, docbook_xsl
, xorgserver, dbus, python2 }:
stdenv.mkDerivation rec {
pname = "bamf";
version = "0.5.3";
name = "${pname}-${version}";
name = "bamf-2018-02-07";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "https://launchpad.net/${pname}/0.5/${version}/+download/${name}.tar.gz";
sha256 = "051vib8ndp09ph5bfwkgmzda94varzjafwxf6lqx7z1s8rd7n39l";
src = fetchgit {
url = https://git.launchpad.net/~unity-team/bamf;
rev = "0.5.3+18.04.20180207.2-0ubuntu1";
sha256 = "0hvbgzi0mzzzvcamd9mi1ykbk2l6zxffspyk5fpik8bij56nhzym";
};
nativeBuildInputs = [
pkgconfig
gtk-doc
autoconf
automake
docbook_xsl
gnome3.gnome-common
gobjectIntrospection
gtk-doc
libtool
pkgconfig
vala
which
# Tests
xorgserver
python2
python2.pkgs.libxslt
python2.pkgs.libxml2
dbus
(python2.withPackages (pkgs: with pkgs; [ libxslt libxml2 ]))
xorgserver
];
buildInputs = [
libgtop
libwnck3
libstartup_notification
glib
libgtop
libstartup_notification
libwnck3
];
# Fix hard-coded path
# https://bugs.launchpad.net/bamf/+bug/1780557
postPatch = ''
substituteInPlace data/Makefile.in \
substituteInPlace data/Makefile.am \
--replace '/usr/lib/systemd/user' '@prefix@/lib/systemd/user'
'';
configureFlags = [
"--enable-headless-tests"
"--enable-gtk-doc"
];
# fix paths
makeFlags = [
"INTROSPECTION_GIRDIR=$(dev)/share/gir-1.0/"
"INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"
"INTROSPECTION_GIRDIR=${placeholder ''dev''}/share/gir-1.0/"
"INTROSPECTION_TYPELIBDIR=${placeholder ''out''}/lib/girepository-1.0"
];
preConfigure = ''
./autogen.sh
'';
# TODO: Requires /etc/machine-id
doCheck = false;

View file

@ -0,0 +1,31 @@
{ stdenv, fetchzip, libtool, ghostscript, groff }:
stdenv.mkDerivation rec {
name = "fstrcmp-${version}";
version = "0.7";
src = fetchzip {
url = "https://sourceforge.net/projects/fstrcmp/files/fstrcmp/${version}/fstrcmp-${version}.D001.tar.gz";
sha256 = "0yg3y3k0wz50gmhgigfi2dx725w1gc8snb95ih7vpcnj6kabgz9a";
};
outputs = [ "out" "dev" "doc" "man" "devman" ];
nativeBuildInputs = [ libtool ghostscript groff ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Make fuzzy comparisons of strings and byte arrays";
longDescription = ''
The fstrcmp project provides a library that is used to make fuzzy
comparisons of strings and byte arrays, including multi-byte character
strings.
'';
homepage = http://fstrcmp.sourceforge.net/;
downloadPage = https://sourceforge.net/projects/fstrcmp/;
license = licenses.gpl3;
maintainers = [ maintainers.sephalon ];
platforms = platforms.unix;
};
}

View file

@ -12,11 +12,7 @@ stdenv.mkDerivation (rec {
# By default, jemalloc puts a je_ prefix onto all its symbols on OSX, which
# then stops downstream builds (mariadb in particular) from detecting it. This
# option should remove the prefix and give us a working jemalloc.
configureFlags = stdenv.lib.optional stdenv.isDarwin "--with-jemalloc-prefix="
# jemalloc is unable to correctly detect transparent hugepage support on
# ARM (https://github.com/jemalloc/jemalloc/issues/526), and the default
# kernel ARMv6/7 kernel does not enable it, so we explicitly disable support
++ stdenv.lib.optional stdenv.isAarch32 "--disable-thp";
configureFlags = stdenv.lib.optional stdenv.isDarwin "--with-jemalloc-prefix=";
doCheck = true;
enableParallelBuilding = true;

View file

@ -1,10 +1,6 @@
{ stdenv, fetchurl, fetchpatch }:
import ./common.nix {
inherit stdenv fetchurl;
version = "5.0.1";
sha256 = "4814781d395b0ef093b21a08e8e6e0bd3dab8762f9935bbfb71679b0dea7c3e9";
patches = stdenv.lib.optional stdenv.isAarch64 (fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/jemalloc/jemalloc/pull/1035.patch";
sha256 = "02y0q3dp253bipxv4r954nqipbjbj92p6ww9bx5bk3d8pa81wkqq";
});
version = "5.1.0";
sha256 = "0s3jpcyhzia8d4k0xyc67is78kg416p9yc3c2f9w6fhhqqffd5jk";
}

View file

@ -1,6 +1,6 @@
<?xml version="1.0" ?>
<sdk:sdk-addon xmlns:sdk="http://schemas.android.com/sdk/android/addon/7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!--Generated on 2017-09-08 08:19:28.153828 with ADRT.-->
<!--Generated on 2018-09-27 12:07:52.862255 with ADRT.-->
<sdk:license id="android-sdk-license" type="text">Terms and Conditions
This is the Android Software Development Kit License Agreement
@ -35,7 +35,7 @@ This is the Android Software Development Kit License Agreement
3.3 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK.
3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement.
@ -587,7 +587,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>3</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:49 2016.-->
<!--Built on: Sat May 19 22:41:19 2018.-->
<sdk:size>34908058</sdk:size>
<sdk:checksum type="sha1">1f92abf3a76be66ae8032257fc7620acbd2b2e3a</sdk:checksum>
<sdk:url>google_apis-3-r03.zip</sdk:url>
@ -614,7 +614,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>2</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:49 2016.-->
<!--Built on: Sun Jun 3 14:03:04 2018.-->
<sdk:size>42435735</sdk:size>
<sdk:checksum type="sha1">9b6e86d8568558de4d606a7debc4f6049608dbd0</sdk:checksum>
<sdk:url>google_apis-4_r02.zip</sdk:url>
@ -641,7 +641,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:51 2016.-->
<!--Built on: Tue Jun 5 17:50:33 2018.-->
<sdk:size>49123776</sdk:size>
<sdk:checksum type="sha1">46eaeb56b645ee7ffa24ede8fa17f3df70db0503</sdk:checksum>
<sdk:url>google_apis-5_r01.zip</sdk:url>
@ -668,7 +668,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:51 2016.-->
<!--Built on: Sun Jun 10 12:37:49 2018.-->
<sdk:size>53382941</sdk:size>
<sdk:checksum type="sha1">5ff545d96e031e09580a6cf55713015c7d4936b2</sdk:checksum>
<sdk:url>google_apis-6_r01.zip</sdk:url>
@ -695,7 +695,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:52 2016.-->
<!--Built on: Wed May 30 22:32:20 2018.-->
<sdk:size>53691339</sdk:size>
<sdk:checksum type="sha1">2e7f91e0fe34fef7f58aeced973c6ae52361b5ac</sdk:checksum>
<sdk:url>google_apis-7_r01.zip</sdk:url>
@ -722,7 +722,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>2</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:52 2016.-->
<!--Built on: Mon Jun 11 03:39:55 2018.-->
<sdk:size>59505020</sdk:size>
<sdk:checksum type="sha1">3079958e7ec87222cac1e6b27bc471b27bf2c352</sdk:checksum>
<sdk:url>google_apis-8_r02.zip</sdk:url>
@ -749,7 +749,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>2</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:50 2016.-->
<!--Built on: Wed May 23 15:52:14 2018.-->
<sdk:size>63401546</sdk:size>
<sdk:checksum type="sha1">78664645a1e9accea4430814f8694291a7f1ea5d</sdk:checksum>
<sdk:url>google_apis-9_r02.zip</sdk:url>
@ -776,7 +776,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>2</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:52 2016.-->
<!--Built on: Tue May 29 03:55:38 2018.-->
<sdk:size>65781578</sdk:size>
<sdk:checksum type="sha1">cc0711857c881fa7534f90cf8cc09b8fe985484d</sdk:checksum>
<sdk:url>google_apis-10_r02.zip</sdk:url>
@ -807,7 +807,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:54 2016.-->
<!--Built on: Thu Jun 14 15:13:30 2018.-->
<sdk:size>83477179</sdk:size>
<sdk:checksum type="sha1">5eab5e81addee9f3576d456d205208314b5146a5</sdk:checksum>
<sdk:url>google_apis-11_r01.zip</sdk:url>
@ -834,7 +834,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:51 2016.-->
<!--Built on: Mon Jun 11 10:52:20 2018.-->
<sdk:size>86099835</sdk:size>
<sdk:checksum type="sha1">e9999f4fa978812174dfeceec0721c793a636e5d</sdk:checksum>
<sdk:url>google_apis-12_r01.zip</sdk:url>
@ -865,7 +865,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:54 2016.-->
<!--Built on: Sun May 27 03:09:43 2018.-->
<sdk:size>88615525</sdk:size>
<sdk:checksum type="sha1">3b153edd211c27dc736c893c658418a4f9041417</sdk:checksum>
<sdk:url>google_apis-13_r01.zip</sdk:url>
@ -896,7 +896,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>2</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:53 2016.-->
<!--Built on: Wed Jun 13 22:44:43 2018.-->
<sdk:size>106533714</sdk:size>
<sdk:checksum type="sha1">f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39</sdk:checksum>
<sdk:url>google_apis-14_r02.zip</sdk:url>
@ -925,7 +925,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>3</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:54 2016.-->
<!--Built on: Fri Jun 15 19:37:58 2018.-->
<sdk:size>106624396</sdk:size>
<sdk:checksum type="sha1">d0d2bf26805eb271693570a1aaec33e7dc3f45e9</sdk:checksum>
<sdk:url>google_apis-15_r03.zip</sdk:url>
@ -958,7 +958,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>4</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:54 2016.-->
<!--Built on: Sun Jun 10 20:07:39 2018.-->
<sdk:size>127341982</sdk:size>
<sdk:checksum type="sha1">ee6acf1b01020bfa8a8e24725dbc4478bee5e792</sdk:checksum>
<sdk:url>google_apis-16_r04.zip</sdk:url>
@ -991,7 +991,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>4</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:55 2016.-->
<!--Built on: Wed May 30 17:17:51 2018.-->
<sdk:size>137231243</sdk:size>
<sdk:checksum type="sha1">a076be0677f38df8ca5536b44dfb411a0c808c4f</sdk:checksum>
<sdk:url>google_apis-17_r04.zip</sdk:url>
@ -1024,7 +1024,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>4</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:54 2016.-->
<!--Built on: Sun May 27 23:13:56 2018.-->
<sdk:size>143195183</sdk:size>
<sdk:checksum type="sha1">6109603409debdd40854d4d4a92eaf8481462c8b</sdk:checksum>
<sdk:url>google_apis-18_r04.zip</sdk:url>
@ -1057,7 +1057,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>20</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 04:16:31 2016.-->
<!--Built on: Sat Jun 2 14:21:02 2018.-->
<sdk:size>147081</sdk:size>
<sdk:checksum type="sha1">5b933abe830b2f25b4c0f171d45e9e0651e56311</sdk:checksum>
<sdk:url>google_apis-19_r20.zip</sdk:url>
@ -1090,7 +1090,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Sep 8 15:11:39 2016.-->
<!--Built on: Fri Jun 1 04:12:18 2018.-->
<sdk:size>154865</sdk:size>
<sdk:checksum type="sha1">31361c2868f27343ee917fbd259c1463821b6145</sdk:checksum>
<sdk:url>google_apis-24_r1.zip</sdk:url>
@ -1123,7 +1123,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Apr 25 23:37:40 2017.-->
<!--Built on: Tue Jun 12 20:09:06 2018.-->
<sdk:size>154871</sdk:size>
<sdk:checksum type="sha1">550e83eea9513ab11c44919ac6da54b36084a9f3</sdk:checksum>
<sdk:url>google_apis-25_r1.zip</sdk:url>
@ -1156,7 +1156,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:45 2016.-->
<!--Built on: Mon Jun 11 05:08:59 2018.-->
<sdk:size>179499</sdk:size>
<sdk:checksum type="sha1">66a754efb24e9bb07cc51648426443c7586c9d4a</sdk:checksum>
<sdk:url>google_apis-21_r01.zip</sdk:url>
@ -1189,7 +1189,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:45 2016.-->
<!--Built on: Fri Jun 15 06:11:24 2018.-->
<sdk:size>179259</sdk:size>
<sdk:checksum type="sha1">5def0f42160cba8acff51b9c0c7e8be313de84f5</sdk:checksum>
<sdk:url>google_apis-22_r01.zip</sdk:url>
@ -1222,7 +1222,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:45 2016.-->
<!--Built on: Sun Jun 10 08:57:09 2018.-->
<sdk:size>179900</sdk:size>
<sdk:checksum type="sha1">04c5cc1a7c88967250ebba9561d81e24104167db</sdk:checksum>
<sdk:url>google_apis-23_r01.zip</sdk:url>
@ -1256,7 +1256,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>2</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:54 2016.-->
<!--Built on: Sun May 27 03:16:19 2018.-->
<sdk:size>78266751</sdk:size>
<sdk:checksum type="sha1">92128a12e7e8b0fb5bac59153d7779b717e7b840</sdk:checksum>
<sdk:url>google_tv-12_r02.zip</sdk:url>
@ -1278,7 +1278,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Mon Aug 15 05:06:54 2016.-->
<!--Built on: Tue Jun 19 05:04:20 2018.-->
<sdk:size>87721879</sdk:size>
<sdk:checksum type="sha1">b73f7c66011ac8180b44aa4e83b8d78c66ea9a09</sdk:checksum>
<sdk:url>google_tv-13_r01.zip</sdk:url>
@ -1303,7 +1303,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Wed Mar 22 18:05:52 2017.-->
<!--Built on: Mon Jun 11 04:51:54 2018.-->
<sdk:size>355529608</sdk:size>
<sdk:checksum type="sha1">a0d22beacc106a6977321f2b07d692ce4979e96a</sdk:checksum>
<sdk:url>android_m2repository_r47.zip</sdk:url>
@ -1323,7 +1323,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Wed Sep 6 06:12:47 2017.-->
<!--Built on: Mon Jun 11 11:10:27 2018.-->
<sdk:size>215426029</sdk:size>
<sdk:checksum type="sha1">05086add9e3a0eb1b67111108d7757a4337c3f10</sdk:checksum>
<sdk:url>google_m2repository_gms_v11_3_rc05_wear_2_0_5.zip</sdk:url>
@ -1343,7 +1343,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Apr 5 11:38:56 2016.-->
<!--Built on: Sun Jun 10 01:20:16 2018.-->
<sdk:size>75109</sdk:size>
<sdk:checksum type="sha1">355e8dc304a92a5616db235af8ee7bd554356254</sdk:checksum>
<sdk:url>market_licensing-r02.zip</sdk:url>
@ -1364,7 +1364,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Apr 5 11:38:59 2016.-->
<!--Built on: Sun Jun 17 19:31:02 2018.-->
<sdk:size>110201</sdk:size>
<sdk:checksum type="sha1">5305399dc1a56814e86b8459ce24871916f78b8c</sdk:checksum>
<sdk:url>market_apk_expansion-r03.zip</sdk:url>
@ -1386,7 +1386,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Apr 5 11:39:02 2016.-->
<!--Built on: Sun May 27 10:44:16 2018.-->
<sdk:size>5265389</sdk:size>
<sdk:checksum type="sha1">92558dbc380bba3d55d0ec181167fb05ce7c79d9</sdk:checksum>
<sdk:url>google_play_services_3265130_r12.zip</sdk:url>
@ -1401,16 +1401,16 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:path>google_play_services_froyo</sdk:path>
</sdk:extra>
<sdk:extra>
<!--Generated from bid:164902609, branch:perforce-->
<!--Generated from bid:189640690, branch:perforce-->
<sdk:revision>
<sdk:major>44</sdk:major>
<sdk:major>49</sdk:major>
</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Aug 10 14:27:42 2017.-->
<sdk:size>13796755</sdk:size>
<sdk:checksum type="sha1">d2bb583a3f62b068d448df10544c1852d910526f</sdk:checksum>
<sdk:url>google_play_services_v12_1_rc11.zip</sdk:url>
<!--Built on: Mon Jun 11 08:08:54 2018.-->
<sdk:size>15456884</sdk:size>
<sdk:checksum type="sha1">f95bf19634e2ab0430923247fe2c50246432d2e9</sdk:checksum>
<sdk:url>google_play_services_v16_1_rc09.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:uses-license ref="android-sdk-license"/>
@ -1428,7 +1428,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Apr 5 11:39:08 2016.-->
<!--Built on: Thu Jun 7 01:53:27 2018.-->
<sdk:size>8682859</sdk:size>
<sdk:checksum type="sha1">dc8a2ed2fbd7246d4caf9ab10ffe7749dc35d1cc</sdk:checksum>
<sdk:url>usb_driver_r11-windows.zip</sdk:url>
@ -1443,28 +1443,6 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:name-display>Google USB Driver</sdk:name-display>
<sdk:path>usb_driver</sdk:path>
</sdk:extra>
<sdk:extra>
<!--Generated from bid:53928043, branch:perforce-->
<sdk:revision>
<sdk:major>5</sdk:major>
</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Apr 5 11:39:11 2016.-->
<sdk:size>436654</sdk:size>
<sdk:checksum type="sha1">bd2ac5ce7127070ac3229003eb69cfb806628ac9</sdk:checksum>
<sdk:url>play_billing_r05.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:uses-license ref="android-sdk-license"/>
<sdk:vendor-id>google</sdk:vendor-id>
<sdk:vendor-display>Google Inc.</sdk:vendor-display>
<sdk:description>Google Play Billing files and sample code</sdk:description>
<sdk:desc-url>http://developer.android.com/google/play/billing/index.html</sdk:desc-url>
<sdk:name-display>Google Play Billing Library</sdk:name-display>
<sdk:path>play_billing</sdk:path>
<sdk:old-paths>market_billing</sdk:old-paths>
</sdk:extra>
<sdk:extra>
<!--Generated from bid:45484492, branch:perforce-->
<sdk:obsolete/>
@ -1473,7 +1451,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Apr 5 11:39:14 2016.-->
<!--Built on: Thu Jun 7 11:48:51 2018.-->
<sdk:size>704512</sdk:size>
<sdk:checksum type="sha1">0102859d9575baa0bf4fd5eb422af2ad0fe6cb82</sdk:checksum>
<sdk:url>GoogleAdMobAdsSdkAndroid-6.4.1.zip</sdk:url>
@ -1495,7 +1473,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Apr 5 11:39:17 2016.-->
<!--Built on: Tue Jun 5 05:29:27 2018.-->
<sdk:size>211432</sdk:size>
<sdk:checksum type="sha1">dc14026bf0ce78315cb5dd00552607de0894de83</sdk:checksum>
<sdk:url>GoogleAnalyticsAndroid_2.0beta5.zip</sdk:url>
@ -1516,7 +1494,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Apr 5 11:39:20 2016.-->
<!--Built on: Thu May 31 20:21:33 2018.-->
<sdk:size>4055193</sdk:size>
<sdk:checksum type="sha1">13f3a3b2670a5fc04a7342861644be9a01b07e38</sdk:checksum>
<sdk:url>webdriver_r02.zip</sdk:url>
@ -1538,7 +1516,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Apr 5 11:39:23 2016.-->
<!--Built on: Sun May 27 10:27:10 2018.-->
<sdk:size>5901400</sdk:size>
<sdk:checksum type="sha1">ad066fd0dc7fc99d8aadac09c65a3c2519fbc7bf</sdk:checksum>
<sdk:url>gcm_r03.zip</sdk:url>
@ -1559,7 +1537,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Apr 5 11:39:26 2016.-->
<!--Built on: Tue Jun 5 14:06:56 2018.-->
<sdk:size>2167286</sdk:size>
<sdk:checksum type="sha1">4fb5344e34e8faab4db18af07dace44c50db26a7</sdk:checksum>
<sdk:url>simulator_r01.zip</sdk:url>
@ -1581,21 +1559,21 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Apr 5 11:39:34 2016.-->
<!--Built on: Sat Jun 16 20:44:31 2018.-->
<sdk:size>1346009</sdk:size>
<sdk:checksum type="sha1">202a6e1b3009a0eb815f8c672d2d5b3717de6169</sdk:checksum>
<sdk:url>desktop-head-unit-linux_r01.1.zip</sdk:url>
<sdk:host-os>linux</sdk:host-os>
</sdk:archive>
<sdk:archive>
<!--Built on: Tue Apr 5 11:39:35 2016.-->
<!--Built on: Tue Jun 12 06:56:07 2018.-->
<sdk:size>2375533</sdk:size>
<sdk:checksum type="sha1">8179cbb3914493ebc5eb65b731cba061582f2e84</sdk:checksum>
<sdk:url>desktop-head-unit-macosx_r01.1.zip</sdk:url>
<sdk:host-os>macosx</sdk:host-os>
</sdk:archive>
<sdk:archive>
<!--Built on: Tue Apr 5 11:39:34 2016.-->
<!--Built on: Tue Jun 12 13:47:09 2018.-->
<sdk:size>2691901</sdk:size>
<sdk:checksum type="sha1">99c4a7172d73673552119347bc24c58b47da177b</sdk:checksum>
<sdk:url>desktop-head-unit-windows_r01.1.zip</sdk:url>
@ -1611,26 +1589,26 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
<sdk:path>auto</sdk:path>
</sdk:extra>
<sdk:extra>
<!--Generated from bid:155747253, branch:perforce-->
<!--Generated from bid:214678223, branch:perforce-->
<sdk:revision>
<sdk:major>1</sdk:major>
<sdk:minor>0</sdk:minor>
<sdk:minor>5</sdk:minor>
<sdk:micro>0</sdk:micro>
</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu May 11 08:10:37 2017.-->
<sdk:size>450468876</sdk:size>
<sdk:checksum type="sha1">50074a0f0312ee1d0d81d2cddc3d84a8a9e97a53</sdk:checksum>
<sdk:url>aiasdk-1.0.0.zip</sdk:url>
<!--Built on: Wed Sep 26 15:20:22 2018.-->
<sdk:size>33351418</sdk:size>
<sdk:checksum type="sha1">6c282b9c686e819fe7f5ac8f2249d2479acb63b4</sdk:checksum>
<sdk:url>iasdk-1.5.0-1538000167.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:uses-license ref="android-sdk-license"/>
<sdk:vendor-id>google</sdk:vendor-id>
<sdk:vendor-display>Google Inc.</sdk:vendor-display>
<sdk:description>Android Instant Apps Development SDK</sdk:description>
<sdk:desc-url>https://developer.android.com/topic/instant-apps/index.html</sdk:desc-url>
<sdk:name-display>Instant Apps Development SDK</sdk:name-display>
<sdk:description>Google Play Instant Development SDK</sdk:description>
<sdk:desc-url>https://developer.android.com/topic/google-play-instant/</sdk:desc-url>
<sdk:name-display>Google Play Instant Development SDK</sdk:name-display>
<sdk:path>instantapps</sdk:path>
</sdk:extra>
</sdk:sdk-addon>

View file

@ -296,8 +296,8 @@ in
google_play_services = buildGoogleApis {
name = "google_play_services";
src = fetchurl {
url = https://dl.google.com/android/repository/google_play_services_v12_1_rc11.zip;
sha1 = "d2bb583a3f62b068d448df10544c1852d910526f";
url = https://dl.google.com/android/repository/google_play_services_v16_1_rc09.zip;
sha1 = "f95bf19634e2ab0430923247fe2c50246432d2e9";
};
meta = {
description = "Google Play services client library and sample code";
@ -308,8 +308,8 @@ in
instant_apps = buildGoogleApis {
name = "instant_apps_sdk";
src = fetchurl {
url = https://dl.google.com/android/repository/aiasdk-1.0.0.zip;
sha1 = "50074a0f0312ee1d0d81d2cddc3d84a8a9e97a53";
url = https://dl.google.com/android/repository/iasdk-1.5.0-1538000167.zip;
sha1 = "6c282b9c686e819fe7f5ac8f2249d2479acb63b4";
};
meta = {
description = "Android Instant Apps Development SDK";
@ -317,4 +317,5 @@ in
};
};
}

View file

@ -89,6 +89,16 @@ let
do
wrapProgram "$(pwd)/$i" --prefix PATH : "${runtime_paths}"
done
${stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") ''
for i in ${pkg_path}/prebuilt/linux-x86_64/bin/*
do
if ! isELF $i; then continue; fi
patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 $i
patchelf --set-rpath ${stdenv.cc.cc.lib}/lib64 $i
done
''}
# make some executables available in PATH
mkdir -pv ${bin_path}
for i in \

View file

@ -4,10 +4,18 @@
, freetype, fontconfig, glib, gtk2, atk, file, jdk, coreutils, libpulseaudio, dbus
, zlib, glxinfo, xkeyboardconfig
, includeSources
, licenseAccepted
}:
{ platformVersions, abiVersions, useGoogleAPIs, useExtraSupportLibs ? false
{ platformVersions, abiVersions, useGoogleAPIs, buildToolsVersions ? [], useExtraSupportLibs ? false
, useGooglePlayServices ? false, useInstantApps ? false }:
if !licenseAccepted then throw ''
You must accept the Android Software Development Kit License Agreement at
https://developer.android.com/studio/terms
by setting nixpkgs config option 'android_sdk.accept_license = true;'
''
else assert licenseAccepted;
let inherit (stdenv.lib) makeLibraryPath;
googleRepository = let version = "gms_v9_rc41_wear_2_0_rc6";
@ -20,16 +28,16 @@ in
stdenv.mkDerivation rec {
name = "android-sdk-${version}";
version = "25.2.5";
version = "26.1.1";
src = if (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux")
then fetchurl {
url = "https://dl.google.com/android/repository/tools_r${version}-linux.zip";
sha256 = "0gnk49pkwy4m0nqwm1xnf3w4mfpi9w0kk7841xlawpwbkj0icxap";
url = "https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip";
sha256 = "1yfy0qqxz1ixpsci1pizls1nrncmi8p16wcb9rimdn4q3mdfxzwj";
}
else if stdenv.hostPlatform.system == "x86_64-darwin" then fetchurl {
url = "http://dl.google.com/android/repository/tools_r${version}-macosx.zip";
sha256 = "0yg7wjmyw70xsh8k4hgbqb5rilam2a94yc8dwbh7fjwqcmpxgwqb";
url = "https://dl.google.com/android/repository/sdk-tools-darwin-4333796.zip";
sha256 = "0gl5c30m40kx0vvrpbaa8cw8wq2vb89r14hgzb1df4qgpic97cpc";
}
else throw "platform not ${stdenv.hostPlatform.system} supported!";
@ -39,7 +47,7 @@ stdenv.mkDerivation rec {
unpackFile $src
cd tools
for f in android traceview draw9patch hierarchyviewer monitor ddms screenshot2 uiautomatorviewer monkeyrunner jobb lint
for f in monitor bin/monkeyrunner bin/uiautomatorviewer
do
sed -i -e "s|/bin/ls|${coreutils}/bin/ls|" "$f"
done
@ -54,24 +62,6 @@ stdenv.mkDerivation rec {
patchelf --set-rpath ${stdenv_32bit.cc.cc.lib}/lib $i
done
${stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") ''
for i in bin64/{mkfs.ext4,fsck.ext4,e2fsck,tune2fs,resize2fs}
do
patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 $i
patchelf --set-rpath ${stdenv.cc.cc.lib}/lib64 $i
done
''}
${stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") ''
# We must also patch the 64-bit emulator instances, if needed
for i in emulator emulator64-arm emulator64-mips emulator64-x86 emulator64-crash-service emulator-check qemu/linux-x86_64/qemu-system-*
do
patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 $i
patchelf --set-rpath ${stdenv.cc.cc.lib}/lib64 $i
done
''}
# The following scripts used SWT and wants to dynamically load some GTK+ stuff.
# Creating these wrappers ensure that they can be found:
@ -79,22 +69,18 @@ stdenv.mkDerivation rec {
--prefix PATH : ${jdk}/bin \
--prefix LD_LIBRARY_PATH : ${makeLibraryPath [ glib gtk2 libXtst ]}
wrapProgram `pwd`/uiautomatorviewer \
--prefix PATH : ${jdk}/bin \
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ glib gtk2 libXtst ]}
wrapProgram `pwd`/hierarchyviewer \
wrapProgram `pwd`/bin/uiautomatorviewer \
--prefix PATH : ${jdk}/bin \
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ glib gtk2 libXtst ]}
# The emulators need additional libraries, which are dynamically loaded => let's wrap them
${stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") ''
for i in emulator emulator64-arm emulator64-mips emulator64-x86 emulator64-crash-service
for i in emulator emulator-check
do
wrapProgram `pwd`/$i \
--prefix PATH : ${stdenv.lib.makeBinPath [ file glxinfo ]} \
--suffix LD_LIBRARY_PATH : `pwd`/lib64:`pwd`/lib64/qt/lib:${makeLibraryPath [ stdenv.cc.cc libX11 libxcb libXau libXdmcp libXext libGLU_combined alsaLib zlib libpulseaudio dbus.lib ]} \
--suffix LD_LIBRARY_PATH : `pwd`/lib:${makeLibraryPath [ stdenv.cc.cc libX11 libxcb libXau libXdmcp libXext libGLU_combined alsaLib zlib libpulseaudio dbus.lib ]} \
--suffix QT_XKB_CONFIG_ROOT : ${xkeyboardconfig}/share/X11/xkb
done
''}
@ -134,9 +120,17 @@ stdenv.mkDerivation rec {
cd ..
ln -s ${platformTools}/platform-tools
ln -s ${buildTools}/build-tools
ln -s ${support}/support
mkdir -p build-tools
cd build-tools
${stdenv.lib.concatMapStrings
(v: "ln -s ${builtins.getAttr "v${builtins.replaceStrings ["."] ["_"] v}" buildTools}/build-tools/*")
(if (builtins.length buildToolsVersions) == 0 then platformVersions else buildToolsVersions)}
cd ..
# Symlink required Google API add-ons
mkdir -p add-ons
@ -245,6 +239,14 @@ stdenv.mkDerivation rec {
fi
done
for i in $out/libexec/tools/bin/*
do
if [ ! -d $i ] && [ -x $i ]
then
ln -sf $i $out/bin/$(basename $i)
fi
done
for i in $out/libexec/platform-tools/*
do
if [ ! -d $i ] && [ -x $i ]
@ -260,6 +262,11 @@ stdenv.mkDerivation rec {
ln -sf $i $out/bin/$(basename $i)
fi
done
wrapProgram $out/bin/sdkmanager \
--set JAVA_HOME ${jdk}
yes | ANDROID_SDK_HOME=$(mktemp -d) $out/bin/sdkmanager --licenses || true
'';
buildInputs = [ unzip makeWrapper ];

View file

@ -0,0 +1,376 @@
# This file is generated from generate-tools.sh. DO NOT EDIT.
# Execute generate-tools.sh or fetch.sh to update the file.
{ fetchurl }:
{
v17 = {
version = "17.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r17-linux.zip;
sha1 = "2c2872bc3806aabf16a12e3959c2183ddc866e6d";
};
};
v18_0_1 = {
version = "18.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r18.0.1-linux.zip;
sha1 = "f11618492b0d2270c332325d45d752d3656a9640";
};
};
v18_1_0 = {
version = "18.1.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r18.1-linux.zip;
sha1 = "f314a0599e51397f0886fe888b50dd98f2f050d8";
};
};
v18_1_1 = {
version = "18.1.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r18.1.1-linux.zip;
sha1 = "68c9acbfc0cec2d51b19efaed39831a17055d998";
};
};
v19 = {
version = "19.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r19-linux.zip;
sha1 = "55c1a6cf632e7d346f0002b275ec41fd3137fd83";
};
};
v19_0_1 = {
version = "19.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r19.0.1-linux.zip;
sha1 = "18d2312dc4368858914213087f4e61445aca4517";
};
};
v19_0_2 = {
version = "19.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r19.0.2-linux.zip;
sha1 = "a03a6bdea0091aea32e1b35b90a7294c9f04e3dd";
};
};
v19_0_3 = {
version = "19.0.3";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r19.0.3-linux.zip;
sha1 = "c2d6055478e9d2d4fba476ee85f99181ddd1160c";
};
};
v19_1_0 = {
version = "19.1.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r19.1-linux.zip;
sha1 = "1ff20ac15fa47a75d00346ec12f180d531b3ca89";
};
};
v20 = {
version = "20.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r20-linux.zip;
sha1 = "b688905526a5584d1327a662d871a635ff502758";
};
};
v21 = {
version = "21.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r21-linux.zip;
sha1 = "4933328fdeecbd554a29528f254f4993468e1cf4";
};
};
v21_0_1 = {
version = "21.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r21.0.1-linux.zip;
sha1 = "e573069eea3e5255e7a65bedeb767f4fd0a5f49a";
};
};
v21_0_2 = {
version = "21.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r21.0.2-linux.zip;
sha1 = "e1236ab8897b62b57414adcf04c132567b2612a5";
};
};
v21_1_0 = {
version = "21.1.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r21.1-linux.zip;
sha1 = "b7455e543784d52a8925f960bc880493ed1478cb";
};
};
v21_1_1 = {
version = "21.1.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r21.1.1-linux.zip;
sha1 = "1c712ee3a1ba5a8b0548f9c32f17d4a0ddfd727d";
};
};
v21_1_2 = {
version = "21.1.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r21.1.2-linux.zip;
sha1 = "5e35259843bf2926113a38368b08458735479658";
};
};
v22 = {
version = "22.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r22-linux.zip;
sha1 = "a8a1619dd090e44fac957bce6842e62abf87965b";
};
};
v22_0_1 = {
version = "22.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r22.0.1-linux.zip;
sha1 = "da8b9c5c3ede39298e6cf0283c000c2ee9029646";
};
};
v23 = {
version = "23.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r23-linux.zip;
sha1 = "c1d6209212b01469f80fa804e0c1d39a06bc9060";
};
};
v23_0_1 = {
version = "23.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r23.0.1-linux.zip;
sha1 = "b6ba7c399d5fa487d95289d8832e4ad943aed556";
};
};
v23_0_2 = {
version = "23.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r23.0.2-linux.zip;
sha1 = "8a9f2b37f6fcf7a9fa784dc21aeaeb41bbb9f2c3";
};
};
v23_0_3 = {
version = "23.0.3";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r23.0.3-linux.zip;
sha1 = "368f2600feac7e9b511b82f53d1f2240ae4a91a3";
};
};
v24 = {
version = "24.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r24-linux.zip;
sha1 = "c6271c4d78a5612ea6c7150688bcd5b7313de8d1";
};
};
v24_0_1 = {
version = "24.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r24.0.1-linux.zip;
sha1 = "84f18c392919a074fcbb9b1d967984e6b2fef8b4";
};
};
v24_0_2 = {
version = "24.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r24.0.2-linux.zip;
sha1 = "f199a7a788c3fefbed102eea34d6007737b803cf";
};
};
v24_0_3 = {
version = "24.0.3";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r24.0.3-linux.zip;
sha1 = "9e8cc49d66e03fa1a8ecc1ac3e58f1324f5da304";
};
};
v25 = {
version = "25.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r25-linux.zip;
sha1 = "f2bbda60403e75cabd0f238598c3b4dfca56ea44";
};
};
v25_0_1 = {
version = "25.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r25.0.1-linux.zip;
sha1 = "ff063d252ab750d339f5947d06ff782836f22bac";
};
};
v25_0_2 = {
version = "25.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r25.0.2-linux.zip;
sha1 = "ff953c0177e317618fda40516f3e9d95fd43c7ae";
};
};
v25_0_3 = {
version = "25.0.3";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r25.0.3-linux.zip;
sha1 = "db95f3a0ae376534d4d69f4cdb6fad20649f3509";
};
};
v26 = {
version = "26.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r26-linux.zip;
sha1 = "1cbe72929876f8a872ab1f1b1040a9f720261f59";
};
};
v26_rc1 = {
version = "26.0.0-rc1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r26-rc1-linux.zip;
sha1 = "8cd6388dc96db2d7a49d06159cf990d3bbc78d04";
};
};
v26_rc2 = {
version = "26.0.0-rc2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r26-rc2-linux.zip;
sha1 = "629bbd8d2e415bf64871fb0b4c0540fd6d0347a0";
};
};
v26_0_1 = {
version = "26.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r26.0.1-linux.zip;
sha1 = "5378c2c78091b414d0eac40a6bd37f2faa31a365";
};
};
v26_0_2 = {
version = "26.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r26.0.2-linux.zip;
sha1 = "5b2b7b66c7bf2151f2af183b5b50a17808850592";
};
};
v26_0_3 = {
version = "26.0.3";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r26.0.3-linux.zip;
sha1 = "8a2e6c1bcd845844523a68aa17e5442f0dce328c";
};
};
v27 = {
version = "27.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r27-linux.zip;
sha1 = "28542332ba97cf4a08c3eddfcf5edd70e3cf1260";
};
};
v27_0_1 = {
version = "27.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r27.0.1-linux.zip;
sha1 = "7f4eedb1077ef948b848040dcd15de9e8a759f4a";
};
};
v27_0_2 = {
version = "27.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r27.0.2-linux.zip;
sha1 = "b687ddf6be84f11607871138aad32cf857d0b837";
};
};
v27_0_3 = {
version = "27.0.3";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r27.0.3-linux.zip;
sha1 = "d85e7a6320eddffe7eeace3437605079dac938ca";
};
};
v28 = {
version = "28.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r28-linux.zip;
sha1 = "d9f8a754d833ccd334f56fcc6089c5925cd82abb";
};
};
v28_rc1 = {
version = "28.0.0-rc1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r28-rc1-linux.zip;
sha1 = "1601977fae25fd478bcfaa0481ca5ea3c609d840";
};
};
v28_rc2 = {
version = "28.0.0-rc2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r28-rc2-linux.zip;
sha1 = "efe9c0dde0646a07544c864276390ca6e96b24dc";
};
};
v28_0_1 = {
version = "28.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r28.0.1-linux.zip;
sha1 = "ee70dfa1fccb58b37cebc9544830511f36a137a0";
};
};
v28_0_2 = {
version = "28.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r28.0.2-linux.zip;
sha1 = "b4492209810a3fd48deaa982f9852fef12433d55";
};
};
v28_0_3 = {
version = "28.0.3";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r28.0.3-linux.zip;
sha1 = "ea6f2f7103cd9da9ff0bdf6e37fbbba548fa4165";
};
};
}

View file

@ -0,0 +1,376 @@
# This file is generated from generate-tools.sh. DO NOT EDIT.
# Execute generate-tools.sh or fetch.sh to update the file.
{ fetchurl }:
{
v17 = {
version = "17.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r17-macosx.zip;
sha1 = "602ee709be9dbb8f179b1e4075148a57f9419930";
};
};
v18_0_1 = {
version = "18.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r18.0.1-macosx.zip;
sha1 = "d84f5692fb44d60fc53e5b2507cebf9f24626902";
};
};
v18_1_0 = {
version = "18.1.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r18.1-macosx.zip;
sha1 = "16ddb299b8b43063e5bb3387ec17147c5053dfd8";
};
};
v18_1_1 = {
version = "18.1.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r18.1.1-macosx.zip;
sha1 = "a9d9d37f6ddf859e57abc78802a77aaa166e48d4";
};
};
v19 = {
version = "19.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r19-macosx.zip;
sha1 = "86ec1c12db1bc446b7bcaefc5cc14eb361044e90";
};
};
v19_0_1 = {
version = "19.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r19.0.1-macosx.zip;
sha1 = "efaf50fb19a3edb8d03efbff76f89a249ad2920b";
};
};
v19_0_2 = {
version = "19.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r19.0.2-macosx.zip;
sha1 = "145bc43065d45f756d99d87329d899052b9a9288";
};
};
v19_0_3 = {
version = "19.0.3";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r19.0.3-macosx.zip;
sha1 = "651cf8754373b2d52e7f6aab2c52eabffe4e9ea4";
};
};
v19_1_0 = {
version = "19.1.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r19.1-macosx.zip;
sha1 = "0d11aae3417de1efb4b9a0e0a7855904a61bcec1";
};
};
v20 = {
version = "20.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r20-macosx.zip;
sha1 = "1240f629411c108a714c4ddd756937c7fab93f83";
};
};
v21 = {
version = "21.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r21-macosx.zip;
sha1 = "9bef7989b51436bd4e5114d8a0330359f077cbfa";
};
};
v21_0_1 = {
version = "21.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r21.0.1-macosx.zip;
sha1 = "b60c8f9b810c980abafa04896706f3911be1ade7";
};
};
v21_0_2 = {
version = "21.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r21.0.2-macosx.zip;
sha1 = "f17471c154058f3734729ef3cc363399b1cd3de1";
};
};
v21_1_0 = {
version = "21.1.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r21.1-macosx.zip;
sha1 = "df619356c2359aa5eacdd48699d15b335d9bd246";
};
};
v21_1_1 = {
version = "21.1.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r21.1.1-macosx.zip;
sha1 = "836a146eab0504aa9387a5132e986fe7c7381571";
};
};
v21_1_2 = {
version = "21.1.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r21.1.2-macosx.zip;
sha1 = "e7c906b4ba0eea93b32ba36c610dbd6b204bff48";
};
};
v22 = {
version = "22.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r22-macosx.zip;
sha1 = "af95429b24088d704bc5db9bd606e34ac1b82c0d";
};
};
v22_0_1 = {
version = "22.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r22.0.1-macosx.zip;
sha1 = "53dad7f608e01d53b17176ba11165acbfccc5bbf";
};
};
v23 = {
version = "23.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r23-macosx.zip;
sha1 = "90ba6e716f7703a236cd44b2e71c5ff430855a03";
};
};
v23_0_1 = {
version = "23.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r23.0.1-macosx.zip;
sha1 = "d96ec1522721e9a179ae2c591c99f75d31d39718";
};
};
v23_0_2 = {
version = "23.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r23.0.2-macosx.zip;
sha1 = "482c4cbceef8ff58aefd92d8155a38610158fdaf";
};
};
v23_0_3 = {
version = "23.0.3";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r23.0.3-macosx.zip;
sha1 = "fbc98cd303fd15a31d472de6c03bd707829f00b0";
};
};
v24 = {
version = "24.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r24-macosx.zip;
sha1 = "97fc4ed442f23989cc488d02c1d1de9bdde241de";
};
};
v24_0_1 = {
version = "24.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r24.0.1-macosx.zip;
sha1 = "5c6457fcdfa07724fb086d8ff4e8316fc0742848";
};
};
v24_0_2 = {
version = "24.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r24.0.2-macosx.zip;
sha1 = "8bb8fc575477491d5957de743089df412de55cda";
};
};
v24_0_3 = {
version = "24.0.3";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r24.0.3-macosx.zip;
sha1 = "a01c15f1b105c34595681075e1895d58b3fff48c";
};
};
v25 = {
version = "25.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r25-macosx.zip;
sha1 = "273c5c29a65cbed00e44f3aa470bbd7dce556606";
};
};
v25_0_1 = {
version = "25.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r25.0.1-macosx.zip;
sha1 = "7bf7f22d7d48ef20b6ab0e3d7a2912e5c088340f";
};
};
v25_0_2 = {
version = "25.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r25.0.2-macosx.zip;
sha1 = "12a5204bb3b6e39437535469fde7ddf42da46b16";
};
};
v25_0_3 = {
version = "25.0.3";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r25.0.3-macosx.zip;
sha1 = "160d2fefb5ce68e443427fc30a793a703b63e26e";
};
};
v26 = {
version = "26.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r26-macosx.zip;
sha1 = "d01a1aeca03747245f1f5936b3cb01759c66d086";
};
};
v26_rc1 = {
version = "26.0.0-rc1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r26-rc1-macosx.zip;
sha1 = "5c5a1de7d5f4f000d36ae349229fe0be846d6137";
};
};
v26_rc2 = {
version = "26.0.0-rc2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r26-rc2-macosx.zip;
sha1 = "cb1eb738a1f7003025af267a9b8cc2d259533c70";
};
};
v26_0_1 = {
version = "26.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r26.0.1-macosx.zip;
sha1 = "cbde59de198916b390777dd0227921bfa2120832";
};
};
v26_0_2 = {
version = "26.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r26.0.2-macosx.zip;
sha1 = "d9ed7c7f149ce38be5dc08979aea8acec1459ca0";
};
};
v26_0_3 = {
version = "26.0.3";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r26.0.3-macosx.zip;
sha1 = "5bb90ed935d99e5bc90686f43b852e68c5ad40df";
};
};
v27 = {
version = "27.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r27-macosx.zip;
sha1 = "fb4e8d7e6b8d29a77090e34024077a80458d5ae1";
};
};
v27_0_1 = {
version = "27.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r27.0.1-macosx.zip;
sha1 = "1edd07bfdbadd95652d093040e16d858f7489594";
};
};
v27_0_2 = {
version = "27.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r27.0.2-macosx.zip;
sha1 = "6d5d9cf2a47877f273f4b742b19e712a051a31be";
};
};
v27_0_3 = {
version = "27.0.3";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r27.0.3-macosx.zip;
sha1 = "61d9fb18790c68d66ff73bf1e7ad56bc1f1eef2d";
};
};
v28 = {
version = "28.0.0";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r28-macosx.zip;
sha1 = "72088d32d1d82cc3c2cf7cf6618b6130c0c84ade";
};
};
v28_rc1 = {
version = "28.0.0-rc1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r28-rc1-macosx.zip;
sha1 = "2c77821967a2330b7b227072d0b1c02ef19fe2fc";
};
};
v28_rc2 = {
version = "28.0.0-rc2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r28-rc2-macosx.zip;
sha1 = "0d0314b353589feb10e528b44c5a685b6658d797";
};
};
v28_0_1 = {
version = "28.0.1";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r28.0.1-macosx.zip;
sha1 = "aeef42ad953f1630dd6f5d71eefdc0b825211462";
};
};
v28_0_2 = {
version = "28.0.2";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r28.0.2-macosx.zip;
sha1 = "c10dd5a7825578622fb362a8a34f76eb3ba0c0a9";
};
};
v28_0_3 = {
version = "28.0.3";
src = fetchurl {
url = https://dl.google.com/android/repository/build-tools_r28.0.3-macosx.zip;
sha1 = "f8c333a2991b1ab05a671bc6248b78e00edcd83a";
};
};
}

View file

@ -1,56 +1,53 @@
{stdenv, stdenv_32bit, fetchurl, unzip, zlib_32bit, ncurses_32bit, file, zlib, ncurses}:
{stdenv, lib, stdenv_32bit, fetchurl, unzip, zlib_32bit, ncurses_32bit, file, zlib, ncurses, coreutils, buildToolsSources}:
stdenv.mkDerivation rec {
version = "26.0.2";
name = "android-build-tools-r${version}";
src = if (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux")
then fetchurl {
url = "https://dl.google.com/android/repository/build-tools_r${version}-linux.zip";
sha256 = "1kii880bwhjkc343zwx1ysxyisxhczrwhphnxbwsgi45mjgq8lm7";
}
else if stdenv.hostPlatform.system == "x86_64-darwin" then fetchurl {
url = "https://dl.google.com/android/repository/build-tools_r${version}-macosx.zip";
sha256 = "1x0ycprl6hgsm23kck5ind7x00hzydc5k3h3ch4a13407xbpvzvx";
}
else throw "System ${stdenv.hostPlatform.system} not supported!";
let buildBuildTools = name: { version, src }:
stdenv.mkDerivation rec {
inherit version src;
name = "android-build-tools-r${version}";
buildCommand = ''
mkdir -p $out/build-tools
cd $out/build-tools
unzip $src
mv android-* ${version}
buildCommand = ''
mkdir -p $out/build-tools
cd $out/build-tools
unzip $src
mv android-* ${version}
cd ${version}
${stdenv.lib.optionalString (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux")
''
cd ${version}
for f in $(grep -Rl /bin/ls .); do
sed -i -e "s|/bin/ls|${coreutils}/bin/ls|" "$f"
done
ln -s ${ncurses.out}/lib/libncurses.so.5 `pwd`/lib64/libtinfo.so.5
${stdenv.lib.optionalString (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux")
''
find . -type f -print0 | while IFS= read -r -d "" file
do
type=$(file "$file")
## Patch 64-bit binaries
if grep -q "ELF 64-bit" <<< "$type"
then
if grep -q "interpreter" <<< "$type"
ln -s ${ncurses.out}/lib/libncurses.so.5 `pwd`/lib64/libtinfo.so.5
find . -type f -print0 | while IFS= read -r -d "" file
do
type=$(file "$file")
## Patch 64-bit binaries
if grep -q "ELF 64-bit" <<< "$type"
then
patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 "$file"
fi
patchelf --set-rpath `pwd`/lib64:${stdenv.cc.cc.lib.out}/lib:${zlib.out}/lib:${ncurses.out}/lib "$file"
## Patch 32-bit binaries
elif grep -q "ELF 32-bit" <<< "$type"
then
if grep -q "interpreter" <<< "$type"
if grep -q "interpreter" <<< "$type"
then
patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 "$file"
fi
patchelf --set-rpath `pwd`/lib64:${stdenv.cc.cc.lib.out}/lib:${zlib.out}/lib:${ncurses.out}/lib "$file"
## Patch 32-bit binaries
elif grep -q "ELF 32-bit" <<< "$type"
then
patchelf --set-interpreter ${stdenv_32bit.cc.libc.out}/lib/ld-linux.so.2 "$file"
if grep -q "interpreter" <<< "$type"
then
patchelf --set-interpreter ${stdenv_32bit.cc.libc.out}/lib/ld-linux.so.2 "$file"
fi
patchelf --set-rpath ${stdenv_32bit.cc.cc.lib.out}/lib:${zlib_32bit.out}/lib:${ncurses_32bit.out}/lib "$file"
fi
patchelf --set-rpath ${stdenv_32bit.cc.cc.lib.out}/lib:${zlib_32bit.out}/lib:${ncurses_32bit.out}/lib "$file"
fi
done
''}
done
''}
patchShebangs .
'';
patchShebangs .
'';
buildInputs = [ unzip file ];
}
buildInputs = [ unzip file ];
};
in
lib.mapAttrs buildBuildTools buildToolsSources

View file

@ -1,5 +1,5 @@
{ buildPackages, pkgs, pkgs_i686, targetPackages
, includeSources ? true
, includeSources ? true, licenseAccepted ? false
}:
# TODO: use callPackage instead of import to avoid so many inherits
@ -9,8 +9,19 @@ rec {
inherit buildPackages pkgs;
};
buildToolsSources = let
system = pkgs.stdenv.hostPlatform.system;
path = if (system == "i686-linux" || system == "x86_64-linux")
then ./build-tools-srcs-linux.nix
else if system == "x86_64-darwin"
then ./build-tools-srcs-macosx.nix
else throw "System: ${system} not supported!";
in
import path { inherit (pkgs) fetchurl; };
buildTools = import ./build-tools.nix {
inherit (pkgs) stdenv fetchurl unzip zlib file;
inherit (pkgs) stdenv lib fetchurl unzip zlib file coreutils;
inherit buildToolsSources;
stdenv_32bit = pkgs_i686.stdenv;
zlib_32bit = pkgs_i686.zlib;
ncurses_32bit = pkgs_i686.ncurses5;
@ -57,7 +68,7 @@ rec {
inherit platformTools buildTools support
supportRepository platforms sysimages
addons sources includeSources;
addons sources includeSources licenseAccepted;
stdenv_32bit = pkgs_i686.stdenv;
};
@ -222,7 +233,37 @@ rec {
useInstantApps = true;
};
androidsdk_latest = androidsdk_8_0;
androidsdk_8_1 = androidsdk {
platformVersions = [ "27" ];
abiVersions = [ "x86" "x86_64"];
useGoogleAPIs = true;
};
androidsdk_8_1_extras = androidsdk {
platformVersions = [ "27" ];
abiVersions = [ "x86" "x86_64"];
useGoogleAPIs = true;
useExtraSupportLibs = true;
useGooglePlayServices = true;
useInstantApps = true;
};
androidsdk_9_0 = androidsdk {
platformVersions = [ "28" ];
abiVersions = [ "x86" "x86_64"];
useGoogleAPIs = true;
};
androidsdk_9_0_extras = androidsdk {
platformVersions = [ "28" ];
abiVersions = [ "x86" "x86_64"];
useGoogleAPIs = true;
useExtraSupportLibs = true;
useGooglePlayServices = true;
useInstantApps = true;
};
androidsdk_latest = androidsdk_9_0;
androidndk_10e = pkgs.callPackage ./androidndk.nix {
inherit (buildPackages)

View file

@ -1,8 +1,5 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash --pure -p androidsdk curl libxslt
# this shows a list of available xmls
android list sdk | grep 'Parse XML:' | cut -f8- -d\ # | xargs -n 1 curl -O
#! nix-shell -i bash --pure -p curl libxslt
# we skip the intel addons, as they are Windows+osX only
# we skip the default sys-img (arm?) because it is empty
@ -14,3 +11,4 @@ curl -o sys-img.xml https://dl.google.com/android/repository/sys-img/andro
./generate-platforms.sh
./generate-sysimages.sh
./generate-sources.sh
./generate-tools.sh

View file

@ -0,0 +1,4 @@
#!/bin/sh -e
xsltproc --stringparam os linux generate-tools.xsl repository-11.xml > build-tools-srcs-linux.nix
xsltproc --stringparam os macosx generate-tools.xsl repository-11.xml > build-tools-srcs-macosx.nix

View file

@ -0,0 +1,43 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sdk="http://schemas.android.com/sdk/android/repository/11">
<xsl:param name="os" />
<xsl:output omit-xml-declaration="yes" indent="no" />
<xsl:template name="repository-url">
<xsl:variable name="raw-url" select="sdk:archives/sdk:archive[sdk:host-os=$os or count(sdk:host-os) = 0]/sdk:url"/>
<xsl:choose>
<xsl:when test="starts-with($raw-url, 'http')">
<xsl:value-of select="$raw-url"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>https://dl.google.com/android/repository/</xsl:text>
<xsl:value-of select="$raw-url"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="/sdk:sdk-repository">
# This file is generated from generate-tools.sh. DO NOT EDIT.
# Execute generate-tools.sh or fetch.sh to update the file.
{ fetchurl }:
{
<xsl:for-each select="sdk:build-tool">
<xsl:sort select="sdk:revision/sdk:major" data-type="number"/>
<xsl:sort select="sdk:revision/sdk:minor" data-type="number"/>
<xsl:sort select="sdk:revision/sdk:micro" data-type="number"/>
<xsl:sort select="sdk:revision/sdk:preview" data-type="number"/>
v<xsl:value-of select="sdk:revision/sdk:major"/><xsl:if test="sdk:revision/sdk:minor + sdk:revision/sdk:micro > 0">_<xsl:value-of select="sdk:revision/sdk:minor" />_<xsl:value-of select="sdk:revision/sdk:micro"/></xsl:if><xsl:if test="sdk:revision/sdk:preview > 0">_rc<xsl:value-of select="sdk:revision/sdk:preview"/></xsl:if> = {
version = "<xsl:value-of select="sdk:revision/sdk:major"/>.<xsl:value-of select="sdk:revision/sdk:minor" />.<xsl:value-of select="sdk:revision/sdk:micro"/><xsl:if test="sdk:revision/sdk:preview > 0">-rc<xsl:value-of select="sdk:revision/sdk:preview"/></xsl:if>";
src = fetchurl {
url = <xsl:call-template name="repository-url"/>;
sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[sdk:host-os=$os or count(sdk:host-os) = 0]/sdk:checksum[@type='sha1']" />";
};
};
</xsl:for-each>
}
</xsl:template>
</xsl:stylesheet>

View file

@ -316,4 +316,28 @@ in
};
};
platform_27 = buildPlatform {
name = "android-platform-8.1.0";
src = fetchurl {
url = https://dl.google.com/android/repository/platform-27_r03.zip;
sha1 = "35f747e7e70b2d16e0e4246876be28d15ea1c353";
};
meta = {
description = "Android SDK Platform 27";
homepage = http://developer.android.com/sdk/;
};
};
platform_28 = buildPlatform {
name = "android-platform-9";
src = fetchurl {
url = https://dl.google.com/android/repository/platform-28_r06.zip;
sha1 = "9a4e52b1d55bd2e24216b150aafae2503d3efba6";
};
meta = {
description = "Android SDK Platform 28";
homepage = http://developer.android.com/sdk/;
};
};
}

View file

@ -316,4 +316,28 @@ in
};
};
platform_27 = buildPlatform {
name = "android-platform-8.1.0";
src = fetchurl {
url = https://dl.google.com/android/repository/platform-27_r03.zip;
sha1 = "35f747e7e70b2d16e0e4246876be28d15ea1c353";
};
meta = {
description = "Android SDK Platform 27";
homepage = http://developer.android.com/sdk/;
};
};
platform_28 = buildPlatform {
name = "android-platform-9";
src = fetchurl {
url = https://dl.google.com/android/repository/platform-28_r06.zip;
sha1 = "9a4e52b1d55bd2e24216b150aafae2503d3efba6";
};
meta = {
description = "Android SDK Platform 28";
homepage = http://developer.android.com/sdk/;
};
};
}

File diff suppressed because it is too large Load diff

View file

@ -148,4 +148,37 @@ in
};
};
source_26 = buildSource {
name = "android-source-26";
src = fetchurl {
url = https://dl.google.com/android/repository/sources-26_r01.zip;
sha1 = "2af701ee3223d580409288540b1d06932fd8f9b9";
};
meta = {
description = "Source code for Android API 26";
};
};
source_27 = buildSource {
name = "android-source-27";
src = fetchurl {
url = https://dl.google.com/android/repository/sources-27_r01.zip;
sha1 = "7b714670561d08f54751af42aca929867b806596";
};
meta = {
description = "Source code for Android API 27";
};
};
source_28 = buildSource {
name = "android-source-28";
src = fetchurl {
url = https://dl.google.com/android/repository/sources-28_r01.zip;
sha1 = "5610e0c24235ee3fa343c899ddd551be30315255";
};
meta = {
description = "Source code for Android API 28";
};
};
}

View file

@ -1,6 +1,6 @@
<?xml version="1.0" ?>
<sdk:sdk-sys-img xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!--Generated on 2017-08-28 14:42:29.488243 with ADRT.-->
<!--Generated on 2018-09-27 12:07:51.414125 with ADRT.-->
<sdk:license id="android-sdk-license" type="text">Terms and Conditions
This is the Android Software Development Kit License Agreement
@ -35,7 +35,7 @@ This is the Android Software Development Kit License Agreement
3.3 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK.
3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement.
@ -411,7 +411,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>4</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Fri Sep 16 16:38:16 2016.-->
<!--Built on: Fri Jul 27 08:50:45 2018.-->
<sdk:size>67918042</sdk:size>
<sdk:checksum type="sha1">54680383118eb5c95a11e1cc2a14aa572c86ee69</sdk:checksum>
<sdk:url>armv7-10_r04.zip</sdk:url>
@ -428,7 +428,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>2</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Mar 29 18:25:05 2016.-->
<!--Built on: Thu Jul 26 20:46:32 2018.-->
<sdk:size>99621822</sdk:size>
<sdk:checksum type="sha1">d8991b0c06b18d7d6ed4169d67460ee1add6661b</sdk:checksum>
<sdk:url>sysimg_armv7a-14_r02.zip</sdk:url>
@ -445,7 +445,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>4</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Nov 10 17:19:27 2016.-->
<!--Built on: Fri Jul 27 08:53:17 2018.-->
<sdk:size>102079727</sdk:size>
<sdk:checksum type="sha1">363223bd62f5afc0b2bd760b54ce9d26b31eacf1</sdk:checksum>
<sdk:url>armeabi-v7a-15_r04.zip</sdk:url>
@ -462,7 +462,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>4</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Mar 29 18:24:59 2016.-->
<!--Built on: Thu Jul 26 16:01:22 2018.-->
<sdk:size>112608076</sdk:size>
<sdk:checksum type="sha1">39c093ea755098f0ee79f607be7df9e54ba4943f</sdk:checksum>
<sdk:url>sysimg_armv7a-16_r04.zip</sdk:url>
@ -479,7 +479,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>5</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Nov 10 17:19:54 2016.-->
<!--Built on: Fri Jul 27 08:53:02 2018.-->
<sdk:size>124238679</sdk:size>
<sdk:checksum type="sha1">7460e8110f4a87f9644f1bdb5511a66872d50fd9</sdk:checksum>
<sdk:url>armeabi-v7a-17_r05.zip</sdk:url>
@ -496,7 +496,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>4</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Nov 10 17:20:07 2016.-->
<!--Built on: Fri Jul 27 08:53:09 2018.-->
<sdk:size>130394401</sdk:size>
<sdk:checksum type="sha1">0bf34ecf4ddd53f6b1b7fe7dfa12f2887c17e642</sdk:checksum>
<sdk:url>armeabi-v7a-18_r04.zip</sdk:url>
@ -513,7 +513,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>5</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Nov 10 17:20:23 2016.-->
<!--Built on: Fri Jul 27 08:53:25 2018.-->
<sdk:size>159871567</sdk:size>
<sdk:checksum type="sha1">d1a5fd4f2e1c013c3d3d9bfe7e9db908c3ed56fa</sdk:checksum>
<sdk:url>armeabi-v7a-19_r05.zip</sdk:url>
@ -530,7 +530,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>4</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Fri Sep 16 16:35:34 2016.-->
<!--Built on: Fri Jul 27 08:50:26 2018.-->
<sdk:size>187163871</sdk:size>
<sdk:checksum type="sha1">8c606f81306564b65e41303d2603e4c42ded0d10</sdk:checksum>
<sdk:url>armeabi-v7a-21_r04.zip</sdk:url>
@ -547,7 +547,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>2</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Fri Sep 16 16:35:50 2016.-->
<!--Built on: Fri Jul 27 08:50:08 2018.-->
<sdk:size>194596267</sdk:size>
<sdk:checksum type="sha1">2114ec015dbf3a16cbcb4f63e8a84a1b206a07a1</sdk:checksum>
<sdk:url>armeabi-v7a-22_r02.zip</sdk:url>
@ -564,7 +564,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>6</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Fri Sep 16 16:41:26 2016.-->
<!--Built on: Fri Jul 27 08:50:36 2018.-->
<sdk:size>238333358</sdk:size>
<sdk:checksum type="sha1">7cf2ad756e54a3acfd81064b63cb0cb9dff2798d</sdk:checksum>
<sdk:url>armeabi-v7a-23_r06.zip</sdk:url>
@ -582,7 +582,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>7</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Sep 6 08:28:18 2016.-->
<!--Built on: Fri Jul 27 08:51:39 2018.-->
<sdk:size>283677512</sdk:size>
<sdk:checksum type="sha1">3454546b4eed2d6c3dd06d47757d6da9f4176033</sdk:checksum>
<sdk:url>armeabi-v7a-24_r07.zip</sdk:url>
@ -599,7 +599,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>7</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Sep 6 08:28:58 2016.-->
<!--Built on: Fri Jul 27 08:51:37 2018.-->
<sdk:size>384556503</sdk:size>
<sdk:checksum type="sha1">e8ab2e49e4efe4b064232b33b5eeaded61437d7f</sdk:checksum>
<sdk:url>arm64-v8a-24_r07.zip</sdk:url>
@ -609,23 +609,6 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:abi>arm64-v8a</sdk:abi>
<sdk:tag-id>default</sdk:tag-id>
</sdk:system-image>
<sdk:system-image>
<!--Generated from bid:1741834, branch:git_ics-mr1-->
<sdk:api-level>15</sdk:api-level>
<sdk:description>MIPS System Image</sdk:description>
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Mar 29 18:24:59 2016.-->
<sdk:size>117503178</sdk:size>
<sdk:checksum type="sha1">a753bb4a6783124dad726c500ce9aec9d2c1b2d9</sdk:checksum>
<sdk:url>sysimg_mips-15_r01.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:uses-license ref="mips-android-sysimage-license"/>
<sdk:abi>mips</sdk:abi>
<sdk:tag-id>default</sdk:tag-id>
</sdk:system-image>
<sdk:system-image>
<!--Generated from bid:1741836, branch:git_jb-dev-->
<sdk:api-level>16</sdk:api-level>
@ -633,7 +616,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Mar 29 18:25:00 2016.-->
<!--Built on: Thu Jul 26 16:01:28 2018.-->
<sdk:size>122482530</sdk:size>
<sdk:checksum type="sha1">67943c54fb3943943ffeb05fdd39c0b753681f6e</sdk:checksum>
<sdk:url>sysimg_mips-16_r04.zip</sdk:url>
@ -650,7 +633,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Mar 29 18:25:00 2016.-->
<!--Built on: Thu Jul 26 16:01:38 2018.-->
<sdk:size>131781761</sdk:size>
<sdk:checksum type="sha1">f0c6e153bd584c29e51b5c9723cfbf30f996a05d</sdk:checksum>
<sdk:url>sysimg_mips-17_r01.zip</sdk:url>
@ -667,7 +650,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>4</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Fri Sep 16 16:10:43 2016.-->
<!--Built on: Fri Jul 27 08:50:47 2018.-->
<sdk:size>75382637</sdk:size>
<sdk:checksum type="sha1">655ffc5cc89dd45a3aca154b254009016e473aeb</sdk:checksum>
<sdk:url>x86-10_r04.zip</sdk:url>
@ -684,7 +667,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>4</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Nov 10 17:20:36 2016.-->
<!--Built on: Fri Jul 27 08:53:18 2018.-->
<sdk:size>115324561</sdk:size>
<sdk:checksum type="sha1">e45c728b64881c0e86529a8f7ea9c103a3cd14c1</sdk:checksum>
<sdk:url>x86-15_r04.zip</sdk:url>
@ -695,16 +678,16 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:tag-id>default</sdk:tag-id>
</sdk:system-image>
<sdk:system-image>
<!--Generated from bid:3462064, branch:git_jb-emu-release-->
<!--Generated from bid:4875369, branch:git_jb-emu-release-->
<sdk:api-level>16</sdk:api-level>
<sdk:description>Intel x86 Atom System Image</sdk:description>
<sdk:revision>5</sdk:revision>
<sdk:revision>6</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Nov 10 17:20:52 2016.-->
<sdk:size>134339698</sdk:size>
<sdk:checksum type="sha1">7ea16da3a8fdb880b1b290190fcc1bde2821c1e0</sdk:checksum>
<sdk:url>x86-16_r05.zip</sdk:url>
<!--Built on: Tue Jul 17 16:27:13 2018.-->
<sdk:size>134926152</sdk:size>
<sdk:checksum type="sha1">bf1bf8c5591346118d2235da1ad20e7be8a3e9cd</sdk:checksum>
<sdk:url>x86-16_r06.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:uses-license ref="android-sdk-license"/>
@ -712,16 +695,16 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:tag-id>default</sdk:tag-id>
</sdk:system-image>
<sdk:system-image>
<!--Generated from bid:3453820, branch:git_jb-mr1.1-emu-release-->
<!--Generated from bid:4875371, branch:git_jb-mr1.1-emu-release-->
<sdk:api-level>17</sdk:api-level>
<sdk:description>Intel x86 Atom System Image</sdk:description>
<sdk:revision>3</sdk:revision>
<sdk:revision>4</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Nov 10 17:21:06 2016.-->
<sdk:size>142951842</sdk:size>
<sdk:checksum type="sha1">eb30274460ff0d61f3ed37862b567811bebd8270</sdk:checksum>
<sdk:url>x86-17_r03.zip</sdk:url>
<!--Built on: Tue Jul 17 16:30:45 2018.-->
<sdk:size>143278662</sdk:size>
<sdk:checksum type="sha1">03c6d022ab2dcbbcf655d78ba5ccb0431cadcaec</sdk:checksum>
<sdk:url>x86-17_r04.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:uses-license ref="android-sdk-license"/>
@ -735,7 +718,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>3</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Nov 10 17:21:19 2016.-->
<!--Built on: Fri Jul 27 08:53:12 2018.-->
<sdk:size>149657535</sdk:size>
<sdk:checksum type="sha1">03a0cb23465c3de15215934a1dbc9715b56e9458</sdk:checksum>
<sdk:url>x86-18_r03.zip</sdk:url>
@ -752,7 +735,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>6</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Jul 13 12:41:20 2017.-->
<!--Built on: Wed Jun 13 18:42:22 2018.-->
<sdk:size>185886274</sdk:size>
<sdk:checksum type="sha1">2ac82153aae97f7eae4c5a0761224fe04321d03d</sdk:checksum>
<sdk:url>x86-19_r06.zip</sdk:url>
@ -769,7 +752,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>5</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Jul 13 12:42:18 2017.-->
<!--Built on: Tue May 22 03:41:51 2018.-->
<sdk:size>208212529</sdk:size>
<sdk:checksum type="sha1">00f0eb0a1003efe3316347f762e20a85d8749cff</sdk:checksum>
<sdk:url>x86-21_r05.zip</sdk:url>
@ -786,7 +769,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>6</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Jul 13 12:43:18 2017.-->
<!--Built on: Sun May 20 00:45:19 2018.-->
<sdk:size>214268954</sdk:size>
<sdk:checksum type="sha1">e33e2a6cc3f1cc56b2019dbef3917d2eeb26f54e</sdk:checksum>
<sdk:url>x86-22_r06.zip</sdk:url>
@ -803,7 +786,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>10</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Jul 13 12:44:25 2017.-->
<!--Built on: Tue Jun 5 22:05:27 2018.-->
<sdk:size>260804863</sdk:size>
<sdk:checksum type="sha1">f6c3e3dd7bd951454795aa75c3a145fd05ac25bb</sdk:checksum>
<sdk:url>x86-23_r10.zip</sdk:url>
@ -820,7 +803,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>8</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Jul 13 12:45:47 2017.-->
<!--Built on: Tue May 22 10:30:01 2018.-->
<sdk:size>313489224</sdk:size>
<sdk:checksum type="sha1">c1cae7634b0216c0b5990f2c144eb8ca948e3511</sdk:checksum>
<sdk:url>x86-24_r08.zip</sdk:url>
@ -830,6 +813,77 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:abi>x86</sdk:abi>
<sdk:tag-id>default</sdk:tag-id>
</sdk:system-image>
<sdk:system-image>
<!--Generated from bid:4931657, branch:git_nyc-mr1-emu-release-->
<sdk:api-level>25</sdk:api-level>
<sdk:description>Intel x86 Atom System Image</sdk:description>
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Aug 7 14:04:45 2018.-->
<sdk:size>316695942</sdk:size>
<sdk:checksum type="sha1">78ce7eb1387d598685633b9f7cbb300c3d3aeb5f</sdk:checksum>
<sdk:url>x86-25_r01.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:uses-license ref="android-sdk-license"/>
<sdk:abi>x86</sdk:abi>
<sdk:tag-id>default</sdk:tag-id>
</sdk:system-image>
<sdk:system-image>
<!--Generated from bid:4931640, branch:git_oc-emu-release-->
<sdk:api-level>26</sdk:api-level>
<sdk:description>Intel x86 Atom System Image</sdk:description>
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Aug 7 14:05:14 2018.-->
<sdk:size>350195807</sdk:size>
<sdk:checksum type="sha1">e613d6e0da668e30daf547f3c6627a6352846f90</sdk:checksum>
<sdk:url>x86-26_r01.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:uses-license ref="android-sdk-license"/>
<sdk:abi>x86</sdk:abi>
<sdk:tag-id>default</sdk:tag-id>
<sdk:tag-display>Default Android System Image</sdk:tag-display>
</sdk:system-image>
<sdk:system-image>
<!--Generated from bid:4931629, branch:git_oc-mr1-emu-release-->
<sdk:api-level>27</sdk:api-level>
<sdk:description>Intel x86 Atom System Image</sdk:description>
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Aug 7 14:05:43 2018.-->
<sdk:size>360984187</sdk:size>
<sdk:checksum type="sha1">4ec990fac7b62958decd12e18a4cd389dfe7c582</sdk:checksum>
<sdk:url>x86-27_r01.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:uses-license ref="android-sdk-license"/>
<sdk:abi>x86</sdk:abi>
<sdk:tag-id>default</sdk:tag-id>
<sdk:tag-display>Default Android System Image</sdk:tag-display>
</sdk:system-image>
<sdk:system-image>
<!--Generated from bid:4923214, branch:git_pi-emu-release-->
<sdk:api-level>28</sdk:api-level>
<sdk:description>Intel x86 Atom System Image</sdk:description>
<sdk:revision>4</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Jul 31 17:43:13 2018.-->
<sdk:size>437320152</sdk:size>
<sdk:checksum type="sha1">ce03c42d80c0fc6dc47f6455dbee7aa275d02780</sdk:checksum>
<sdk:url>x86-28_r04.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:uses-license ref="android-sdk-preview-license"/>
<sdk:abi>x86</sdk:abi>
<sdk:tag-id>default</sdk:tag-id>
<sdk:tag-display>Default Android System Image</sdk:tag-display>
</sdk:system-image>
<sdk:system-image>
<!--Generated from bid:4174711, branch:git_lmp-emu-release-->
<sdk:api-level>21</sdk:api-level>
@ -837,7 +891,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>5</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Jul 13 12:46:57 2017.-->
<!--Built on: Wed Jun 6 04:05:38 2018.-->
<sdk:size>292623982</sdk:size>
<sdk:checksum type="sha1">9078a095825a69e5e215713f0866c83cef65a342</sdk:checksum>
<sdk:url>x86_64-21_r05.zip</sdk:url>
@ -854,7 +908,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>6</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Jul 13 12:48:15 2017.-->
<!--Built on: Sun May 27 01:45:29 2018.-->
<sdk:size>299976630</sdk:size>
<sdk:checksum type="sha1">5db3b27f78cd9c4c5092b1cad5a5dd479fb5b2e4</sdk:checksum>
<sdk:url>x86_64-22_r06.zip</sdk:url>
@ -871,7 +925,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>10</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Jul 13 12:49:37 2017.-->
<!--Built on: Tue Jun 12 05:59:42 2018.-->
<sdk:size>365009313</sdk:size>
<sdk:checksum type="sha1">7cbc291483ca07dc67b71268c5f08a5755f50f51</sdk:checksum>
<sdk:url>x86_64-23_r10.zip</sdk:url>
@ -888,7 +942,7 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:revision>8</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Thu Jul 13 12:51:15 2017.-->
<!--Built on: Sat Jun 16 05:29:19 2018.-->
<sdk:size>419261998</sdk:size>
<sdk:checksum type="sha1">f6559e1949a5879f31a9662f4f0e50ad60181684</sdk:checksum>
<sdk:url>x86_64-24_r08.zip</sdk:url>
@ -898,4 +952,75 @@ ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS
<sdk:abi>x86_64</sdk:abi>
<sdk:tag-id>default</sdk:tag-id>
</sdk:system-image>
<sdk:system-image>
<!--Generated from bid:4931657, branch:git_nyc-mr1-emu-release-->
<sdk:api-level>25</sdk:api-level>
<sdk:description>Intel x86 Atom_64 System Image</sdk:description>
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Aug 7 14:06:13 2018.-->
<sdk:size>422702097</sdk:size>
<sdk:checksum type="sha1">7093d7b39216020226ff430a3b7b81c94d31ad37</sdk:checksum>
<sdk:url>x86_64-25_r01.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:uses-license ref="android-sdk-license"/>
<sdk:abi>x86_64</sdk:abi>
<sdk:tag-id>default</sdk:tag-id>
</sdk:system-image>
<sdk:system-image>
<!--Generated from bid:4931640, branch:git_oc-emu-release-->
<sdk:api-level>26</sdk:api-level>
<sdk:description>Intel x86 Atom_64 System Image</sdk:description>
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Aug 7 14:06:52 2018.-->
<sdk:size>474178332</sdk:size>
<sdk:checksum type="sha1">432f149c048bffce7f9de526ec65b336daf7a0a3</sdk:checksum>
<sdk:url>x86_64-26_r01.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:uses-license ref="android-sdk-license"/>
<sdk:abi>x86_64</sdk:abi>
<sdk:tag-id>default</sdk:tag-id>
<sdk:tag-display>Default Android System Image</sdk:tag-display>
</sdk:system-image>
<sdk:system-image>
<!--Generated from bid:4931629, branch:git_oc-mr1-emu-release-->
<sdk:api-level>27</sdk:api-level>
<sdk:description>Intel x86 Atom_64 System Image</sdk:description>
<sdk:revision>1</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Aug 7 14:07:35 2018.-->
<sdk:size>491675204</sdk:size>
<sdk:checksum type="sha1">2878261011a59ca3de29dc5b457a495fdb268d60</sdk:checksum>
<sdk:url>x86_64-27_r01.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:uses-license ref="android-sdk-license"/>
<sdk:abi>x86_64</sdk:abi>
<sdk:tag-id>default</sdk:tag-id>
<sdk:tag-display>Default Android System Image</sdk:tag-display>
</sdk:system-image>
<sdk:system-image>
<!--Generated from bid:4923214, branch:git_pi-emu-release-->
<sdk:api-level>28</sdk:api-level>
<sdk:description>Intel x86 Atom_64 System Image</sdk:description>
<sdk:revision>4</sdk:revision>
<sdk:archives>
<sdk:archive>
<!--Built on: Tue Jul 31 17:43:48 2018.-->
<sdk:size>564792723</sdk:size>
<sdk:checksum type="sha1">d47a85c8f4e9fd57df97814ad8884eeb0f3a0ef0</sdk:checksum>
<sdk:url>x86_64-28_r04.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:uses-license ref="android-sdk-preview-license"/>
<sdk:abi>x86_64</sdk:abi>
<sdk:tag-id>default</sdk:tag-id>
<sdk:tag-display>Default Android System Image</sdk:tag-display>
</sdk:system-image>
</sdk:sdk-sys-img>

View file

@ -47,14 +47,6 @@ in
};
};
sysimg_mips_15 = buildSystemImage {
name = "sysimg-mips-15";
src = fetchurl {
url = https://dl.google.com/android/repository/sys-img/android/sysimg_mips-15_r01.zip;
sha1 = "a753bb4a6783124dad726c500ce9aec9d2c1b2d9";
};
};
sysimg_x86_15 = buildSystemImage {
name = "sysimg-x86-15";
src = fetchurl {
@ -82,8 +74,8 @@ in
sysimg_x86_16 = buildSystemImage {
name = "sysimg-x86-16";
src = fetchurl {
url = https://dl.google.com/android/repository/sys-img/android/x86-16_r05.zip;
sha1 = "7ea16da3a8fdb880b1b290190fcc1bde2821c1e0";
url = https://dl.google.com/android/repository/sys-img/android/x86-16_r06.zip;
sha1 = "bf1bf8c5591346118d2235da1ad20e7be8a3e9cd";
};
};
@ -106,8 +98,8 @@ in
sysimg_x86_17 = buildSystemImage {
name = "sysimg-x86-17";
src = fetchurl {
url = https://dl.google.com/android/repository/sys-img/android/x86-17_r03.zip;
sha1 = "eb30274460ff0d61f3ed37862b567811bebd8270";
url = https://dl.google.com/android/repository/sys-img/android/x86-17_r04.zip;
sha1 = "03c6d022ab2dcbbcf655d78ba5ccb0431cadcaec";
};
};
@ -250,17 +242,64 @@ in
sysimg_x86_25 = buildSystemImage {
name = "sysimg-x86-25";
src = fetchurl {
url = https://dl.google.com/android/repository/sys-img/android/x86-25_r03.zip;
sha1 = "7dd19cfee4e43a1f60e0f5f058404d92d9544b33";
url = https://dl.google.com/android/repository/sys-img/android/x86-25_r01.zip;
sha1 = "78ce7eb1387d598685633b9f7cbb300c3d3aeb5f";
};
};
sysimg_x86_64_25 = buildSystemImage {
name = "sysimg-x86_64-25";
src = fetchurl {
url = https://dl.google.com/android/repository/sys-img/android/x86_64-25_r03.zip;
sha1 = "4593ee04811df21c339f3374fc5917843db06f8d";
url = https://dl.google.com/android/repository/sys-img/android/x86_64-25_r01.zip;
sha1 = "7093d7b39216020226ff430a3b7b81c94d31ad37";
};
};
sysimg_x86_26 = buildSystemImage {
name = "sysimg-x86-26";
src = fetchurl {
url = https://dl.google.com/android/repository/sys-img/android/x86-26_r01.zip;
sha1 = "e613d6e0da668e30daf547f3c6627a6352846f90";
};
};
sysimg_x86_64_26 = buildSystemImage {
name = "sysimg-x86_64-26";
src = fetchurl {
url = https://dl.google.com/android/repository/sys-img/android/x86_64-26_r01.zip;
sha1 = "432f149c048bffce7f9de526ec65b336daf7a0a3";
};
};
sysimg_x86_27 = buildSystemImage {
name = "sysimg-x86-27";
src = fetchurl {
url = https://dl.google.com/android/repository/sys-img/android/x86-27_r01.zip;
sha1 = "4ec990fac7b62958decd12e18a4cd389dfe7c582";
};
};
sysimg_x86_64_27 = buildSystemImage {
name = "sysimg-x86_64-27";
src = fetchurl {
url = https://dl.google.com/android/repository/sys-img/android/x86_64-27_r01.zip;
sha1 = "2878261011a59ca3de29dc5b457a495fdb268d60";
};
};
sysimg_x86_28 = buildSystemImage {
name = "sysimg-x86-28";
src = fetchurl {
url = https://dl.google.com/android/repository/sys-img/android/x86-28_r04.zip;
sha1 = "ce03c42d80c0fc6dc47f6455dbee7aa275d02780";
};
};
sysimg_x86_64_28 = buildSystemImage {
name = "sysimg-x86_64-28";
src = fetchurl {
url = https://dl.google.com/android/repository/sys-img/android/x86_64-28_r04.zip;
sha1 = "d47a85c8f4e9fd57df97814ad8884eeb0f3a0ef0";
};
};
}

View file

@ -0,0 +1,40 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, xmltodict
, datamodeldict
, numpy
, matplotlib
, scipy
, pandas
, cython
, numericalunits
, pytest
}:
buildPythonPackage rec {
version = "1.2.3";
pname = "atomman";
src = fetchPypi {
inherit pname version;
sha256 = "9eb6acc5497263cfa89be8d0f383a9a69f0726b4ac6798c1b1d96f26705ec09c";
};
checkInputs = [ pytest ];
propagatedBuildInputs = [ xmltodict datamodeldict numpy matplotlib scipy pandas cython numericalunits ];
# tests not included with Pypi release
doCheck = false;
checkPhase = ''
py.test tests
'';
meta = with stdenv.lib; {
homepage = https://github.com/usnistgov/atomman/;
description = "Atomistic Manipulation Toolkit";
license = licenses.mit;
maintainers = [ maintainers.costrouc ];
};
}

View file

@ -1,7 +1,7 @@
{ stdenv, buildPythonPackage, fetchPypi, isPy3k
, beautifulsoup4, bottle, chardet, dateutil
, google_api_python_client, lxml, ply, python_magic
, nose, requests }:
, pytest, requests }:
buildPythonPackage rec {
version = "2.1.3";
@ -14,13 +14,8 @@ buildPythonPackage rec {
sha256 = "4b7b0d3633c82ca88d3cb3d31ad2fd2e45a42401cfa94eaa1cb938ffece34f22";
};
checkInputs = [ nose ];
# Automatic tests cannot be run because it needs to import some local modules for tests.
# No tests in archive
doCheck = false;
checkPhase = ''
nosetests
'';
propagatedBuildInputs = [
beautifulsoup4
@ -32,6 +27,9 @@ buildPythonPackage rec {
ply
python_magic
requests
# pytest really is a runtime dependency
# https://bitbucket.org/blais/beancount/commits/554e13057551951e113835196770847c788dd592
pytest
];
meta = {

View file

@ -1,5 +1,5 @@
{ stdenv, buildPythonPackage, fetchPypi
, stompclient, pythondaemon, redis, pid, pytest, six, click, coverage
, stompclient, python-daemon, redis, pid, pytest, six, click, coverage
, sqlalchemy }:
buildPythonPackage rec {
@ -11,7 +11,7 @@ buildPythonPackage rec {
sha256 = "4cbfeb5ed2459df14902c1380157be6267702b1271682924cd316ccad8a29d1d";
};
propagatedBuildInputs = [ stompclient pythondaemon redis pid ];
propagatedBuildInputs = [ stompclient python-daemon redis pid ];
buildInputs = [ pytest six click coverage sqlalchemy ];
# The teste data is not included in the distribution

View file

@ -0,0 +1,27 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, xmltodict
}:
buildPythonPackage rec {
version = "0.9.4";
pname = "DataModelDict";
src = fetchPypi {
inherit pname version;
sha256 = "97d8e999e000cf69c48e57b1a72eb45a27d83576a38c6cd8550c230b018be7af";
};
propagatedBuildInputs = [ xmltodict ];
# no tests
doCheck = false;
meta = with stdenv.lib; {
homepage = https://github.com/usnistgov/DataModelDict/;
description = "Class allowing for data models equivalently represented as Python dictionaries, JSON, and XML";
license = licenses.mit;
maintainers = [ maintainers.costrouc ];
};
}

View file

@ -4,18 +4,18 @@
buildPythonPackage rec {
pname = "gplaycli";
version = "3.21";
version = "3.25";
src = fetchFromGitHub {
owner = "matlink";
repo = "gplaycli";
rev = version;
sha256 = "1r5nzi9yzswam0866gypjcvv3f1rw13jwx9s49chp8byxy1dyrs2";
sha256 = "1rygx5cg4b1vwpkiaq6jcpbc1ly7cspslv3sy7x8n8ba61ryq6h4";
};
disabled = !isPy3k;
disabled = !isPy3k;
propagatedBuildInputs = [ libffi pyasn1 clint ndg-httpsclient protobuf requests args gpapi pyaxmlparser ];
propagatedBuildInputs = [ libffi pyasn1 clint ndg-httpsclient protobuf requests args gpapi pyaxmlparser ];
meta = with stdenv.lib; {
homepage = https://github.com/matlink/gplaycli;

View file

@ -1,6 +1,6 @@
{ stdenv, fetchPypi, buildPythonPackage, ed25519, ecdsa , semver, mnemonic,
unidecode, mock, pytest , backports-shutil-which, ConfigArgParse,
pythondaemon, pymsgbox }:
python-daemon, pymsgbox }:
buildPythonPackage rec {
pname = "libagent";
@ -12,7 +12,7 @@ buildPythonPackage rec {
};
propagatedBuildInputs = [ unidecode backports-shutil-which ConfigArgParse
pythondaemon pymsgbox ecdsa ed25519 mnemonic semver ];
python-daemon pymsgbox ecdsa ed25519 mnemonic semver ];
checkInputs = [ mock pytest ];

View file

@ -2,7 +2,7 @@
let
pname = "nbxmpp";
version = "0.6.6";
version = "0.6.8";
name = "${pname}-${version}";
in buildPythonPackage rec {
inherit pname version;
@ -11,7 +11,7 @@ in buildPythonPackage rec {
name = "${name}.tar.bz2";
url = "https://dev.gajim.org/gajim/python-nbxmpp/repository/archive.tar.bz2?"
+ "ref=${name}";
sha256 = "10n7z613p00q15dplsvdrz11s9yq26jy2qack6nd8k7fivfhlcmz";
sha256 = "09zrqz01j45kvayfscd66avkrnn237lbjg9li5hjhyw92h6hkkc4";
};
propagatedBuildInputs = [ pyopenssl ];

View file

@ -0,0 +1,24 @@
{ stdenv
, buildPythonPackage
, fetchPypi
}:
buildPythonPackage rec {
version = "1.16";
pname = "numericalunits";
src = fetchPypi {
inherit pname version;
sha256 = "71ae8e236c7a223bccefffb670dca68be476dd63b7b9009641fc64099455da25";
};
# no tests
doCheck = false;
meta = with stdenv.lib; {
homepage = http://pypi.python.org/pypi/numericalunits;
description = "A package that lets you define quantities with unit";
license = licenses.mit;
maintainers = [ maintainers.costrouc ];
};
}

View file

@ -2,7 +2,7 @@
, fetchPypi
, pytest
, tornado
, zeromq3
, zeromq
, py
, python
}:
@ -17,7 +17,7 @@ buildPythonPackage rec {
};
checkInputs = [ pytest tornado ];
buildInputs = [ zeromq3];
buildInputs = [ zeromq ];
propagatedBuildInputs = [ py ];
# test_socket.py seems to be hanging

View file

@ -1,5 +1,5 @@
{ stdenv, buildPythonPackage, fetchPypi, nose, dnspython
, chardet, lmtpd, pythondaemon, six, jinja2, mock }:
, chardet, lmtpd, python-daemon, six, jinja2, mock }:
buildPythonPackage rec {
pname = "salmon-mail";
@ -11,7 +11,7 @@ buildPythonPackage rec {
};
checkInputs = [ nose jinja2 mock ];
propagatedBuildInputs = [ chardet dnspython lmtpd pythondaemon six ];
propagatedBuildInputs = [ chardet dnspython lmtpd python-daemon six ];
# The tests use salmon executable installed by salmon itself so we need to add
# that to PATH

View file

@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
mkdir -p "$out/bin"
makeWrapper "${jre}/bin/java" "$out/bin/apktool" \
--add-flags "-jar $out/libexec/apktool/apktool.jar" \
--prefix PATH : "${buildTools}/build-tools/25.0.1/"
--prefix PATH : "${buildTools.v25_0_1}/build-tools/25.0.1/"
'';
meta = with stdenv.lib; {

View file

@ -0,0 +1,31 @@
{ stdenv, lib, fetchFromGitHub, python3Packages }:
with python3Packages;
buildPythonApplication rec {
name = "cppclean-unstable-${version}";
version = "2018-05-12";
src = fetchFromGitHub {
owner = "myint";
repo = "cppclean";
rev = "e7da41eca5e1fd2bd1dddd6655e50128bb96dc28";
sha256 = "0pymh6r7y19bwcypfkmgwyixrx36pmz338jd83yrjflsbjlriqm4";
};
postUnpack = ''
patchShebangs .
'';
checkPhase = ''
./test.bash
'';
meta = with stdenv.lib; {
description = "Finds problems in C++ source that slow development of large code bases";
homepage = https://github.com/myint/cppclean;
license = licenses.asl20;
maintainers = with maintainers; [ nthorne ];
platforms = platforms.linux;
};
}

View file

@ -62,6 +62,7 @@ stdenv.mkDerivation rec {
'';
homepage = https://github.com/martinpaljak/GlobalPlatformPro;
license = with licenses; [ lgpl3 ];
maintainers = with maintainers; [ ekleog ];
platforms = platforms.all;
};
}

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "strace-${version}";
version = "4.24";
version = "4.25";
src = fetchurl {
url = "https://strace.io/files/${version}/${name}.tar.xz";
sha256 = "0d061cdzk6a1822ds4wpqxg10ny27mi4i9zjmnsbz8nz3vy5jkhz";
sha256 = "00f7zagfh3np5gwi0z7hi7zjd7s5nixcaq7z78n87dvhakkgi1fn";
};
depsBuildBuild = [ buildPackages.stdenv.cc ];

View file

@ -1,4 +1,4 @@
{ stdenv, fetchzip, vscode-utils, jq, mono46, clang-tools, writeScript
{ stdenv, fetchzip, vscode-utils, jq, mono, clang-tools, writeScript
, gdbUseFixed ? true, gdb # The gdb default setting will be fixed to specified. Use version from `PATH` otherwise.
}:
@ -59,7 +59,7 @@ let
export PATH=''${PATH}''${PATH:+:}${gdb}/bin
''
else ""}
${mono46}/bin/mono $BIN_DIR/bin/OpenDebugAD7.exe $*
${mono}/bin/mono $BIN_DIR/bin/OpenDebugAD7.exe $*
'';
in

View file

@ -16,11 +16,14 @@
buildPythonPackage rec {
pname = "youtube-dl";
version = "2018.10.05";
# The websites youtube-dl deals with are a very moving target. That means that
# downloads break constantly. Because of that, updates should always be backported
# to the latest stable release.
version = "2018.10.29";
src = fetchurl {
url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
sha256 = "1iq02kwxdgh07bf0w0fvbsjbdshs4kja35gy8m70ji9cj10l1mbw";
sha256 = "1ndkkpnmjdyz5gjjmvaf18761lxa2c0kypicm9bpqpaj7sdr9s27";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -218,8 +218,29 @@ in buildEnv {
ln -sv "$(realpath $s)" "$out/bin/$tName" # wrapped below
done
)
'' +
# A hacky way to provide repstopdf
# * Copy is done to have a correct "$0" so that epstopdf enables the restricted mode
# * ./bin/repstopdf needs to be a symlink to be processed by wrapBin
''
if [[ -e ./bin/epstopdf ]]; then
cp $(realpath ./bin/epstopdf) ./share/texmf/scripts/repstopdf
ln -s "$out"/share/texmf/scripts/repstopdf ./bin/repstopdf
fi
'' +
# finish up the wrappers
''
rm "$out"/bin/*-sys
wrapBin
'' +
# Perform a small test to verify that the restricted mode get enabled when
# needed (detected by checking if it disallows --gscmd)
''
if [[ -e ./bin/epstopdf ]]; then
echo "Testing restricted mode for {,r}epstopdf"
! (epstopdf --gscmd echo /dev/null 2>&1 || true) | grep forbidden
(repstopdf --gscmd echo /dev/null 2>&1 || true) | grep forbidden
fi
'' +
# TODO: a context trigger https://www.preining.info/blog/2015/06/debian-tex-live-2015-the-new-layout/
# http://wiki.contextgarden.net/ConTeXt_Standalone#Unix-like_platforms_.28Linux.2FMacOS_X.2FFreeBSD.2FSolaris.29

View file

@ -770,6 +770,7 @@ with pkgs;
androidenv = callPackage ../development/mobile/androidenv {
pkgs_i686 = pkgsi686Linux;
licenseAccepted = (config.android_sdk.accept_license or false);
};
inherit (androidenv) androidndk;
@ -1029,10 +1030,10 @@ with pkgs;
cue2pops = callPackage ../tools/cd-dvd/cue2pops { };
cabal2nix = haskell.lib.overrideCabal haskellPackages.cabal2nix (drv: {
cabal2nix = haskell.lib.overrideCabal (haskell.lib.addOptparseApplicativeCompletionScripts "cabal2nix" haskellPackages.cabal2nix) (drv: {
isLibrary = false;
enableSharedExecutables = false;
executableToolDepends = [ makeWrapper ];
executableToolDepends = (drv.executableToolDepends or []) ++ [ makeWrapper ];
postInstall = ''
exe=$out/libexec/${drv.pname}-${drv.version}/${drv.pname}
install -D $out/bin/${drv.pname} $exe
@ -1040,11 +1041,7 @@ with pkgs;
makeWrapper $exe $out/bin/${drv.pname} \
--prefix PATH ":" "${nix}/bin" \
--prefix PATH ":" "${nix-prefetch-scripts}/bin"
mkdir -p $out/share/{bash-completion/completions,zsh/vendor-completions,fish/completions}
$exe --bash-completion-script $exe >$out/share/bash-completion/completions/${drv.pname}
$exe --zsh-completion-script $exe >$out/share/zsh/vendor-completions/_${drv.pname}
$exe --fish-completion-script $exe >$out/share/fish/completions/${drv.pname}.fish
'';
'' + (drv.postInstall or "");
});
stack2nix = with haskell.lib; overrideCabal (justStaticExecutables haskellPackages.stack2nix) (drv: {
@ -1179,6 +1176,8 @@ with pkgs;
coursier = callPackage ../development/tools/coursier {};
cppclean = callPackage ../development/tools/cppclean {};
cri-tools = callPackage ../tools/virtualization/cri-tools {};
crip = callPackage ../applications/audio/crip { };
@ -4156,6 +4155,8 @@ with pkgs;
modemmanager = callPackage ../tools/networking/modem-manager {};
modem-manager-gui = callPackage ../applications/networking/modem-manager-gui {};
modsecurity_standalone = callPackage ../tools/security/modsecurity { };
molly-guard = callPackage ../os-specific/linux/molly-guard { };
@ -6187,6 +6188,8 @@ with pkgs;
wol = callPackage ../tools/networking/wol { };
wolf-shaper = callPackage ../applications/audio/wolf-shaper { };
wring = nodePackages.wring;
wrk = callPackage ../tools/networking/wrk { };
@ -9542,6 +9545,8 @@ with pkgs;
frog = self.languageMachines.frog;
fstrcmp = callPackage ../development/libraries/fstrcmp { };
fstrm = callPackage ../development/libraries/fstrm { };
cfitsio = callPackage ../development/libraries/cfitsio { };
@ -17153,6 +17158,8 @@ with pkgs;
gxmessage = callPackage ../applications/misc/gxmessage { };
gxplugins-lv2 = callPackage ../applications/audio/gxplugins-lv2 { };
hackrf = callPackage ../applications/misc/hackrf { };
hakuneko = callPackage ../tools/misc/hakuneko { };

View file

@ -12484,7 +12484,8 @@ let
export PERL_MB_OPT="--install_base=$out --prefix=$out"
substituteInPlace Po4aBuilder.pm --replace "\$self->install_sets(\$self->installdirs)->{'bindoc'}" "'$out/share/man/man1'"
'';
buildPhase = "perl Build.PL --install_base=$out; ./Build build";
buildPhase = "perl Build.PL --install_base=$out --install_path=\"lib=$out/${perl.libPrefix}\"; ./Build build";
installPhase = "./Build install";
checkPhase = ''
export SGML_CATALOG_FILES=${pkgs.docbook_sgml_dtd_41}/sgml/dtd/docbook-4.1/docbook.cat

View file

@ -212,6 +212,8 @@ in {
aws-adfs = callPackage ../development/python-modules/aws-adfs { };
atomman = callPackage ../development/python-modules/atomman { };
# packages defined elsewhere
amazon_kclpy = callPackage ../development/python-modules/amazon_kclpy { };
@ -284,6 +286,8 @@ in {
btchip = callPackage ../development/python-modules/btchip { };
datamodeldict = callPackage ../development/python-modules/datamodeldict { };
dbf = callPackage ../development/python-modules/dbf { };
dbfread = callPackage ../development/python-modules/dbfread { };
@ -428,6 +432,8 @@ in {
nvchecker = callPackage ../development/python-modules/nvchecker { };
numericalunits = callPackage ../development/python-modules/numericalunits { };
oauthenticator = callPackage ../development/python-modules/oauthenticator { };
ordered-set = callPackage ../development/python-modules/ordered-set { };
@ -6554,7 +6560,7 @@ in {
};
in if isPy3k then py3 else py2;
pythondaemon = callPackage ../development/python-modules/python-daemon { };
python-daemon = callPackage ../development/python-modules/python-daemon { };
sympy = callPackage ../development/python-modules/sympy { };