mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-13 09:17:07 +03:00
Merge branch 'master' into staging
Conflict: rename of pythondaemon -> python-daemon.
This commit is contained in:
commit
a92a2c8e15
@ -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; {
|
||||
...
|
||||
|
@ -400,6 +400,10 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
|
||||
free = false;
|
||||
};
|
||||
|
||||
jasper = spdx {
|
||||
spdxId = "JasPer-2.0";
|
||||
fullName = "JasPer License";
|
||||
};
|
||||
|
||||
lgpl2 = spdx {
|
||||
spdxId = "LGPL-2.0";
|
||||
|
@ -471,6 +471,7 @@ rec {
|
||||
"x86_64-linux" = pc64;
|
||||
"armv5tel-linux" = sheevaplug;
|
||||
"armv6l-linux" = raspberrypi;
|
||||
"armv7a-linux" = armv7l-hf-multiplatform;
|
||||
"armv7l-linux" = armv7l-hf-multiplatform;
|
||||
"aarch64-linux" = aarch64-multiplatform;
|
||||
"mipsel-linux" = fuloong2f_n32;
|
||||
|
@ -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";
|
||||
|
@ -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>
|
||||
|
@ -99,6 +99,16 @@
|
||||
start org.nixos.nix-daemon</command>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The Syncthing state and configuration data has been moved from
|
||||
<varname>services.syncthing.dataDir</varname> to the newly defined
|
||||
<varname>services.syncthing.configDir</varname>, which default to
|
||||
<literal>/var/lib/syncthing/.config/syncthing</literal>.
|
||||
This change makes possible to share synced directories using ACLs
|
||||
without Syncthing resetting the permission on every start.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@ -154,6 +164,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>
|
||||
|
||||
|
@ -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 =
|
||||
|
@ -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
|
||||
|
@ -331,6 +331,8 @@
|
||||
zeronet = 304;
|
||||
lirc = 305;
|
||||
lidarr = 306;
|
||||
slurm = 307;
|
||||
kapacitor = 308;
|
||||
|
||||
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
||||
|
||||
@ -622,6 +624,8 @@
|
||||
zeronet = 304;
|
||||
lirc = 305;
|
||||
lidarr = 306;
|
||||
slurm = 307;
|
||||
kapacitor = 308;
|
||||
|
||||
# When adding a gid, make sure it doesn't match an existing
|
||||
# uid. Users and groups with the same name should have equal
|
||||
|
@ -433,6 +433,7 @@
|
||||
./services/monitoring/hdaps.nix
|
||||
./services/monitoring/heapster.nix
|
||||
./services/monitoring/incron.nix
|
||||
./services/monitoring/kapacitor.nix
|
||||
./services/monitoring/longview.nix
|
||||
./services/monitoring/monit.nix
|
||||
./services/monitoring/munin.nix
|
||||
|
@ -13,7 +13,7 @@ with lib;
|
||||
# Set up the per-user profile.
|
||||
mkdir -m 0755 -p "$NIX_USER_PROFILE_DIR"
|
||||
if [ "$(stat --printf '%u' "$NIX_USER_PROFILE_DIR")" != "$(id -u)" ]; then
|
||||
echo "WARNING: bad ownership on $NIX_USER_PROFILE_DIR, should be $(id -u)" >&2
|
||||
echo "WARNING: the per-user profile dir $NIX_USER_PROFILE_DIR should belong to user id $(id -u)" >&2
|
||||
fi
|
||||
|
||||
if [ -w "$HOME" ]; then
|
||||
@ -35,7 +35,7 @@ with lib;
|
||||
NIX_USER_GCROOTS_DIR="/nix/var/nix/gcroots/per-user/$USER"
|
||||
mkdir -m 0755 -p "$NIX_USER_GCROOTS_DIR"
|
||||
if [ "$(stat --printf '%u' "$NIX_USER_GCROOTS_DIR")" != "$(id -u)" ]; then
|
||||
echo "WARNING: bad ownership on $NIX_USER_GCROOTS_DIR, should be $(id -u)" >&2
|
||||
echo "WARNING: the per-user gcroots dir $NIX_USER_GCROOTS_DIR should belong to user id $(id -u)" >&2
|
||||
fi
|
||||
|
||||
# Set up a default Nix expression from which to install stuff.
|
||||
|
@ -28,7 +28,10 @@ with lib;
|
||||
(config:
|
||||
let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config;
|
||||
in if enabled then [ pkgs.gutenprint ] else [ ]))
|
||||
(mkRenamedOptionModule [ "services" "ddclient" "domain" ] [ "services" "ddclient" "domains" ])
|
||||
(mkChangedOptionModule [ "services" "ddclient" "domain" ] [ "services" "ddclient" "domains" ]
|
||||
(config:
|
||||
let value = getAttrFromPath [ "services" "ddclient" "domain" ] config;
|
||||
in if value != "" then [ value ] else []))
|
||||
(mkRemovedOptionModule [ "services" "ddclient" "homeDir" ] "")
|
||||
(mkRenamedOptionModule [ "services" "elasticsearch" "host" ] [ "services" "elasticsearch" "listenAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "graphite" "api" "host" ] [ "services" "graphite" "api" "listenAddress" ])
|
||||
|
@ -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,
|
||||
|
||||
|
@ -170,4 +170,6 @@ in {
|
||||
'';
|
||||
}) cfg.params;
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ ekleog ];
|
||||
}
|
||||
|
@ -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";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -176,4 +176,6 @@ in
|
||||
}
|
||||
) cfg.instances);
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ ekleog ];
|
||||
}
|
||||
|
@ -115,4 +115,6 @@ in
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ ekleog ];
|
||||
}
|
||||
|
@ -157,6 +157,7 @@ in {
|
||||
Restart = "on-failure";
|
||||
ProtectSystem = "strict";
|
||||
ReadWritePaths = "${cfg.configDir}";
|
||||
KillSignal = "SIGINT";
|
||||
PrivateTmp = true;
|
||||
RemoveIPC = true;
|
||||
};
|
||||
|
154
nixos/modules/services/monitoring/kapacitor.nix
Normal file
154
nixos/modules/services/monitoring/kapacitor.nix
Normal file
@ -0,0 +1,154 @@
|
||||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.kapacitor;
|
||||
|
||||
kapacitorConf = pkgs.writeTextFile {
|
||||
name = "kapacitord.conf";
|
||||
text = ''
|
||||
hostname="${config.networking.hostName}"
|
||||
data_dir="${cfg.dataDir}"
|
||||
|
||||
[http]
|
||||
bind-address = "${cfg.bind}:${toString cfg.port}"
|
||||
log-enabled = false
|
||||
auth-enabled = false
|
||||
|
||||
[task]
|
||||
dir = "${cfg.dataDir}/tasks"
|
||||
snapshot-interval = "${cfg.taskSnapshotInterval}"
|
||||
|
||||
[replay]
|
||||
dir = "${cfg.dataDir}/replay"
|
||||
|
||||
[storage]
|
||||
boltdb = "${cfg.dataDir}/kapacitor.db"
|
||||
|
||||
${optionalString (cfg.loadDirectory != null) ''
|
||||
[load]
|
||||
enabled = true
|
||||
dir = "${cfg.loadDirectory}"
|
||||
''}
|
||||
|
||||
${optionalString (cfg.defaultDatabase.enable) ''
|
||||
[[influxdb]]
|
||||
name = "default"
|
||||
enabled = true
|
||||
default = true
|
||||
urls = [ "${cfg.defaultDatabase.url}" ]
|
||||
username = "${cfg.defaultDatabase.username}"
|
||||
password = "${cfg.defaultDatabase.password}"
|
||||
''}
|
||||
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
options.services.kapacitor = {
|
||||
enable = mkEnableOption "kapacitor";
|
||||
|
||||
dataDir = mkOption {
|
||||
type = types.path;
|
||||
example = "/var/lib/kapacitor";
|
||||
default = "/var/lib/kapacitor";
|
||||
description = "Location where Kapacitor stores its state";
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
default = 9092;
|
||||
description = "Port of Kapacitor";
|
||||
};
|
||||
|
||||
bind = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
example = literalExample "0.0.0.0";
|
||||
description = "Address to bind to. The default is to bind to all addresses";
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
description = "These lines go into kapacitord.conf verbatim.";
|
||||
default = "";
|
||||
type = types.lines;
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "kapacitor";
|
||||
description = "User account under which Kapacitor runs";
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
default = "kapacitor";
|
||||
description = "Group under which Kapacitor runs";
|
||||
};
|
||||
|
||||
taskSnapshotInterval = mkOption {
|
||||
type = types.str;
|
||||
description = "Specifies how often to snapshot the task state (in InfluxDB time units)";
|
||||
default = "1m0s";
|
||||
example = "1m0s";
|
||||
};
|
||||
|
||||
loadDirectory = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
description = "Directory where to load services from, such as tasks, templates and handlers (or null to disable service loading on startup)";
|
||||
default = null;
|
||||
};
|
||||
|
||||
defaultDatabase = {
|
||||
enable = mkEnableOption "kapacitor.defaultDatabase";
|
||||
|
||||
url = mkOption {
|
||||
description = "The URL to an InfluxDB server that serves as the default database";
|
||||
example = "http://localhost:8086";
|
||||
type = types.string;
|
||||
};
|
||||
|
||||
username = mkOption {
|
||||
description = "The username to connect to the remote InfluxDB server";
|
||||
type = types.string;
|
||||
};
|
||||
|
||||
password = mkOption {
|
||||
description = "The password to connect to the remote InfluxDB server";
|
||||
type = types.string;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ pkgs.kapacitor ];
|
||||
|
||||
systemd.services.kapacitor = {
|
||||
description = "Kapacitor Real-Time Stream Processing Engine";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "networking.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.kapacitor}/bin/kapacitord -config ${kapacitorConf}";
|
||||
User = "kapacitor";
|
||||
Group = "kapacitor";
|
||||
PermissionsStartOnly = true;
|
||||
};
|
||||
preStart = ''
|
||||
mkdir -p ${cfg.dataDir}
|
||||
chown ${cfg.user}:${cfg.group} ${cfg.dataDir}
|
||||
'';
|
||||
};
|
||||
|
||||
users.users.kapacitor = {
|
||||
uid = config.ids.uids.kapacitor;
|
||||
description = "Kapacitor user";
|
||||
home = cfg.dataDir;
|
||||
};
|
||||
|
||||
users.groups.kapacitor = {
|
||||
gid = config.ids.gids.kapacitor;
|
||||
};
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
}
|
||||
|
@ -62,9 +62,21 @@ in {
|
||||
dataDir = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/syncthing";
|
||||
description = ''
|
||||
Path where synced directories will exist.
|
||||
'';
|
||||
};
|
||||
|
||||
configDir = mkOption {
|
||||
type = types.path;
|
||||
description = ''
|
||||
Path where the settings and keys will exist.
|
||||
'';
|
||||
default =
|
||||
let
|
||||
nixos = config.system.stateVersion;
|
||||
cond = versionAtLeast nixos "19.03";
|
||||
in cfg.dataDir + (optionalString cond "/.config/syncthing");
|
||||
};
|
||||
|
||||
openDefaultPorts = mkOption {
|
||||
@ -144,7 +156,7 @@ in {
|
||||
${cfg.package}/bin/syncthing \
|
||||
-no-browser \
|
||||
-gui-address=${cfg.guiAddress} \
|
||||
-home=${cfg.dataDir}
|
||||
-home=${cfg.configDir}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
@ -39,7 +39,8 @@ in
|
||||
systemd.services.zerotierone = {
|
||||
description = "ZeroTierOne";
|
||||
path = [ cfg.package ];
|
||||
after = [ "network.target" ];
|
||||
bindsTo = [ "network-online.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
preStart = ''
|
||||
mkdir -p /var/lib/zerotier-one/networks.d
|
||||
|
@ -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}" \
|
||||
|
@ -21,7 +21,8 @@ let
|
||||
[ coreutils
|
||||
gnugrep
|
||||
findutils
|
||||
glibc # needed for getent
|
||||
getent
|
||||
stdenv.cc.libc # nscd in update-users-groups.pl
|
||||
shadow
|
||||
nettools # needed for hostname
|
||||
utillinux # needed for mount and mountpoint
|
||||
|
@ -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
|
||||
|
@ -112,6 +112,7 @@ in {
|
||||
|
||||
environment.etc."systemd/nspawn".source = generateUnits "nspawn" units [] [];
|
||||
|
||||
systemd.targets."multi-user".wants = [ "machines.target "];
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -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 ];
|
||||
|
@ -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 = {
|
||||
|
@ -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",
|
||||
|
@ -12,8 +12,10 @@ with pkgs.lib;
|
||||
|
||||
mapAttrs (channel: chromiumPkg: makeTest rec {
|
||||
name = "chromium-${channel}";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ aszlig ];
|
||||
meta = {
|
||||
maintainers = with maintainers; [ aszlig ];
|
||||
# https://github.com/NixOS/hydra/issues/591#issuecomment-435125621
|
||||
inherit (chromiumPkg.meta) timeout;
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
@ -166,7 +168,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
|
||||
|
||||
my $clipboard = $machine->succeed(ru "${pkgs.xclip}/bin/xclip -o");
|
||||
die "sandbox not working properly: $clipboard"
|
||||
unless $clipboard =~ /namespace sandbox.*yes/mi
|
||||
unless $clipboard =~ /layer 1 sandbox.*namespace/mi
|
||||
&& $clipboard =~ /pid namespaces.*yes/mi
|
||||
&& $clipboard =~ /network namespaces.*yes/mi
|
||||
&& $clipboard =~ /seccomp.*sandbox.*yes/mi
|
||||
@ -184,7 +186,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
|
||||
|
||||
my $clipboard = $machine->succeed(ru "${pkgs.xclip}/bin/xclip -o");
|
||||
die "copying twice in a row does not work properly: $clipboard"
|
||||
unless $clipboard =~ /namespace sandbox.*yes/mi
|
||||
unless $clipboard =~ /layer 1 sandbox.*namespace/mi
|
||||
&& $clipboard =~ /pid namespaces.*yes/mi
|
||||
&& $clipboard =~ /network namespaces.*yes/mi
|
||||
&& $clipboard =~ /seccomp.*sandbox.*yes/mi
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -43,7 +43,6 @@ import ./make-test.nix ({ pkgs, ...} : {
|
||||
config =
|
||||
{
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
networking.firewall.allowPing = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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; }
|
||||
];
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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";
|
||||
};
|
||||
|
@ -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");
|
||||
};
|
||||
'';
|
||||
})
|
||||
|
30
pkgs/applications/audio/avldrums-lv2/default.nix
Normal file
30
pkgs/applications/audio/avldrums-lv2/default.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, pango, cairo, libGLU, lv2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "avldrums.lv2";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "x42";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0w51gdshq2i5bix2x5l3g3gnycy84nlzf5sj0jkrw0zrnbk6ghwg";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
installFlags = "PREFIX=$(out)";
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [
|
||||
pango cairo libGLU lv2
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Dedicated AVLDrumkits LV2 Plugin";
|
||||
homepage = http://x42-plugins.com/x42/x42-avldrums;
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
};
|
||||
}
|
29
pkgs/applications/audio/gxplugins-lv2/default.nix
Normal file
29
pkgs/applications/audio/gxplugins-lv2/default.nix
Normal 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;
|
||||
};
|
||||
}
|
49
pkgs/applications/audio/hybridreverb2/default.nix
Normal file
49
pkgs/applications/audio/hybridreverb2/default.nix
Normal file
@ -0,0 +1,49 @@
|
||||
{ stdenv, fetchFromGitHub, fetchzip, cmake, pkgconfig, lv2, alsaLib, libjack2,
|
||||
freetype, libX11, gtk3, pcre, libpthreadstubs, libXdmcp, libxkbcommon,
|
||||
epoxy, at-spi2-core, dbus, curl, fftwFloat }:
|
||||
|
||||
let
|
||||
pname = "HybridReverb2";
|
||||
version = "2.1.1";
|
||||
owner = "jpcima";
|
||||
DBversion = "1.0.0";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
impulseDB = fetchzip {
|
||||
url = "https://github.com/${owner}/${pname}-impulse-response-database/archive/v${DBversion}.zip";
|
||||
sha256 = "1hlfxbbkahm1k2sk3c3n2mjaz7k80ky3r55xil8nfbvbv0qan89z";
|
||||
};
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit owner;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "15mba9qvlis0qrklr50wp3jdysvmk33m7pvclp0k1is9pirj97cb";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig cmake ];
|
||||
buildInputs = [ lv2 alsaLib libjack2 freetype libX11 gtk3 pcre
|
||||
libpthreadstubs libXdmcp libxkbcommon epoxy at-spi2-core dbus curl fftwFloat ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DHybridReverb2_AdvancedJackStandalone=ON"
|
||||
"-DHybridReverb2_UseLocalDatabase=ON"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/${pname}/
|
||||
cp -r ${impulseDB}/* $out/share/${pname}/
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www2.ika.ruhr-uni-bochum.de/HybridReverb2;
|
||||
description = "Reverb effect using hybrid impulse convolution";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
47
pkgs/applications/audio/wolf-shaper/default.nix
Normal file
47
pkgs/applications/audio/wolf-shaper/default.nix
Normal 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" ];
|
||||
};
|
||||
}
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "lightdm-mini-greeter-${version}";
|
||||
version = "0.3.2";
|
||||
version = "0.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "prikhi";
|
||||
repo = "lightdm-mini-greeter";
|
||||
rev = version;
|
||||
sha256 = "1g3lrh034w38hiq96b0xmghmlf87hcycwdh06dwkdksr0hl08wxy";
|
||||
sha256 = "1xlj5wqagp765rqw40ci4wir21qwyszasynk82x8308k5d3asvwb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
||||
description = "A minimal, configurable, single-user GTK3 LightDM greeter";
|
||||
homepage = https://github.com/prikhi/lightdm-mini-greeter;
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ mnacamura ];
|
||||
maintainers = with maintainers; [ mnacamura prikhi ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -13,9 +13,9 @@ let
|
||||
sha256Hash = "117skqjax1xz9plarhdnrw2rwprjpybdc7mx7wggxapyy920vv5r";
|
||||
};
|
||||
betaVersion = {
|
||||
version = "3.3.0.13"; # "Android Studio 3.3 Beta 1"
|
||||
build = "182.5073496";
|
||||
sha256Hash = "0bg1h0msd6mpkvirkg4pssa1ak32smv2rlxxsjdm3p29p8gg59px";
|
||||
version = "3.3.0.14"; # "Android Studio 3.3 Beta 2"
|
||||
build = "182.5078385";
|
||||
sha256Hash = "10jw508fzxbknfl1l058ksnnli2nav91wmh2x2p0mz96lkf5bvhn";
|
||||
};
|
||||
latestVersion = { # canary & dev
|
||||
version = "3.4.0.1"; # "Android Studio 3.4 Canary 2"
|
||||
|
@ -3,14 +3,14 @@
|
||||
let
|
||||
versions = {
|
||||
atom = {
|
||||
version = "1.32.0";
|
||||
sha256 = "0dha8zi4gshxj993ns7ybi7q86pfqwzsasrk3a7b5xrdqbrcm5md";
|
||||
version = "1.32.1";
|
||||
sha256 = "1x22jbhvagqw9mvq0v7z4z09qp727vl0rkyvaxn98xnj9gvcfkq9";
|
||||
};
|
||||
|
||||
atom-beta = {
|
||||
version = "1.33.0";
|
||||
beta = 0;
|
||||
sha256 = "1x4s12zvfd2gjy7mimndbhs6x9k37jq4dyy6r1mzhwfysix74val";
|
||||
beta = 1;
|
||||
sha256 = "0sf98apmb57msgr5p1xly0mffzn2s808nsfsmbisk4qqmm9fv2m3";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -129,6 +129,7 @@ let
|
||||
kontact = callPackage ./kontact.nix {};
|
||||
kontactinterface = callPackage ./kontactinterface.nix {};
|
||||
konquest = callPackage ./konquest.nix {};
|
||||
konqueror = callPackage ./konqueror.nix {};
|
||||
korganizer = callPackage ./korganizer.nix {};
|
||||
kpimtextedit = callPackage ./kpimtextedit.nix {};
|
||||
ksmtp = callPackage ./ksmtp {};
|
||||
|
20
pkgs/applications/kde/konqueror.nix
Normal file
20
pkgs/applications/kde/konqueror.nix
Normal file
@ -0,0 +1,20 @@
|
||||
{ lib
|
||||
, mkDerivation
|
||||
, extra-cmake-modules, kdoctools
|
||||
, kdelibs4support, kcmutils, khtml, kdesu
|
||||
, qtwebkit, qtwebengine, qtx11extras, qtscript, qtwayland
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
name = "konqueror";
|
||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
||||
buildInputs = [
|
||||
kdelibs4support kcmutils khtml kdesu
|
||||
qtwebkit qtwebengine qtx11extras qtscript qtwayland
|
||||
];
|
||||
meta = {
|
||||
license = with lib.licenses; [ gpl2 ];
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
71
pkgs/applications/misc/gImageReader/default.nix
Normal file
71
pkgs/applications/misc/gImageReader/default.nix
Normal file
@ -0,0 +1,71 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, pkgconfig, libuuid
|
||||
, sane-backends, podofo, libjpeg, djvulibre, libxmlxx3, libzip, tesseract
|
||||
, enchant, intltool, poppler, json-glib
|
||||
, ninja
|
||||
, python3
|
||||
|
||||
# Gtk deps
|
||||
# upstream gImagereader supports Qt too
|
||||
, gtk3, gobjectIntrospection, wrapGAppsHook
|
||||
, gnome3, gtkspell3, gtkspellmm, cairomm
|
||||
}:
|
||||
|
||||
let
|
||||
variant = "gtk";
|
||||
pythonEnv = python3.withPackages( ps: with ps;[ pygobject3 ] );
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gImageReader-${version}";
|
||||
version = "3.2.99";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner= "manisandro";
|
||||
repo = "gImageReader";
|
||||
rev = "v${version}";
|
||||
sha256 = "19dbxq83j77lbvi10a8x0xxgw5hbsqyc852c196zzvmwk3km6pnc";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake ninja
|
||||
intltool
|
||||
pkgconfig
|
||||
pythonEnv
|
||||
|
||||
# Gtk specific
|
||||
wrapGAppsHook
|
||||
gobjectIntrospection
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
enchant
|
||||
libxmlxx3
|
||||
libzip
|
||||
libuuid
|
||||
sane-backends
|
||||
podofo
|
||||
libjpeg
|
||||
djvulibre
|
||||
tesseract
|
||||
poppler
|
||||
|
||||
# Gtk specific
|
||||
gnome3.gtkmm
|
||||
gtkspell3
|
||||
gtkspellmm
|
||||
gnome3.gtksourceview
|
||||
gnome3.gtksourceviewmm
|
||||
cairomm
|
||||
json-glib
|
||||
];
|
||||
|
||||
# interface type can be where <type> is either gtk, qt5, qt4
|
||||
cmakeFlags = [ "-DINTERFACE_TYPE=${variant}" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A simple Gtk/Qt front-end to tesseract-ocr";
|
||||
homepage = https://github.com/manisandro/gImageReader;
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [teto];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -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";
|
||||
|
16
pkgs/applications/misc/hugo/deps.nix
generated
16
pkgs/applications/misc/hugo/deps.nix
generated
@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jre10 }:
|
||||
{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jdk11 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "josm-${version}";
|
||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "102dph3479qskzf72cpb9139pq9ifka6pzna1c6s5rs2il6mfvsb";
|
||||
};
|
||||
|
||||
buildInputs = [ jre10 makeWrapper ];
|
||||
buildInputs = [ jdk11 makeWrapper ];
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "josm";
|
||||
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||
mkdir -p $out/bin $out/share/java
|
||||
cp -v $src $out/share/java/josm.jar
|
||||
|
||||
makeWrapper ${jre10}/bin/java $out/bin/josm \
|
||||
makeWrapper ${jdk11}/bin/java $out/bin/josm \
|
||||
--add-flags "-jar $out/share/java/josm.jar"
|
||||
|
||||
mkdir -p $out/share/applications
|
||||
|
@ -64,10 +64,15 @@ stdenv.mkDerivation rec {
|
||||
(if i3Support || i3GapsSupport then makeWrapper else null)
|
||||
];
|
||||
|
||||
fixupPhase = if (i3Support || i3GapsSupport) then ''
|
||||
wrapProgram $out/bin/polybar \
|
||||
--prefix PATH : "${if i3Support then i3 else i3-gaps}/bin"
|
||||
'' else null;
|
||||
postConfigure = ''
|
||||
substituteInPlace ../include/settings.hpp --replace \
|
||||
"${stdenv.cc}" "${stdenv.cc.name}"
|
||||
'';
|
||||
|
||||
postInstall = if (i3Support || i3GapsSupport) then ''
|
||||
wrapProgram $out/bin/polybar \
|
||||
--prefix PATH : "${if i3Support then i3 else i3-gaps}/bin"
|
||||
'' else "";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake pkgconfig
|
||||
|
@ -1,4 +1,5 @@
|
||||
{ stdenv, fetchFromGitHub, python3Packages, hackrf, rtl-sdr }:
|
||||
{ stdenv, fetchFromGitHub, python3Packages
|
||||
, hackrf, rtl-sdr, airspy, limesuite }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
name = "urh-${version}";
|
||||
@ -11,7 +12,7 @@ python3Packages.buildPythonApplication rec {
|
||||
sha256 = "0cwbqcv0yffg6fa3g4zknwffa6119i6827w6jm74fhlfa9kwy34c";
|
||||
};
|
||||
|
||||
buildInputs = [ hackrf rtl-sdr ];
|
||||
buildInputs = [ hackrf rtl-sdr airspy limesuite ];
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
pyqt5 numpy psutil cython pyzmq
|
||||
];
|
||||
|
@ -222,6 +222,8 @@ let
|
||||
use_gold = true;
|
||||
gold_path = "${stdenv.cc}/bin";
|
||||
is_debug = false;
|
||||
# at least 2X compilation speedup
|
||||
use_jumbo_build = true;
|
||||
|
||||
proprietary_codecs = false;
|
||||
use_sysroot = false;
|
||||
|
@ -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;
|
||||
|
@ -56,11 +56,11 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "signal-desktop-${version}";
|
||||
version = "1.17.2";
|
||||
version = "1.17.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||
sha256 = "1ibci07w4dh7r0dkwb3nbqm470rgak2a98rlqf8390rxrinfli3p";
|
||||
sha256 = "1k0gj24562jfj748s7qcn1f7brr1c0zn2dppxvfv2ka2r2n0z1h4";
|
||||
};
|
||||
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
|
50
pkgs/applications/networking/modem-manager-gui/default.nix
Normal file
50
pkgs/applications/networking/modem-manager-gui/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -3,11 +3,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "tribler-${version}";
|
||||
version = "7.0.2";
|
||||
version = "7.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.xz";
|
||||
sha256 = "1p0d0l0sa0nrnbyx2gg50nklkljwvl581i9w3z5qbkfzc7jsdy42";
|
||||
url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.gz";
|
||||
sha256 = "1ayzqx4358qlx56hsnsn5s8xl6mzdb6nw4kwsalmp86dw6vmmis8";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
@ -41,6 +41,8 @@ stdenv.mkDerivation rec {
|
||||
pythonPackages.psutil
|
||||
pythonPackages.meliae
|
||||
pythonPackages.sip
|
||||
pythonPackages.pillow
|
||||
pythonPackages.networkx
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -2,7 +2,7 @@
|
||||
libsecret, libGL, libpulseaudio, glib, makeWrapper, makeDesktopItem }:
|
||||
|
||||
let
|
||||
version = "1.0.6-1";
|
||||
version = "1.1.0-1";
|
||||
|
||||
description = ''
|
||||
An application that runs on your computer in the background and seamlessly encrypts
|
||||
@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://protonmail.com/download/protonmail-bridge_${version}_amd64.deb";
|
||||
sha256 = "1as4xdsik2w9clbrwp1k00491324cg6araz3jq2m013yg1cild28";
|
||||
sha256 = "0l29z208krnd3dginc203m4p5dlmnxf08vpmbm9xzlckwmswizkb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
@ -38,10 +38,10 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,lib,share/applications}
|
||||
# mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
|
||||
mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
|
||||
|
||||
cp -r usr/lib/protonmail/bridge/Desktop-Bridge{,.sh} $out/lib
|
||||
# cp usr/share/icons/protonmail/Desktop-Bridge.svg $out/share/icons/hicolor/scalable/apps/desktop-bridge.svg
|
||||
cp usr/share/icons/protonmail/Desktop-Bridge.svg $out/share/icons/hicolor/scalable/apps/desktop-bridge.svg
|
||||
cp ${desktopItem}/share/applications/* $out/share/applications
|
||||
|
||||
ln -s $out/lib/Desktop-Bridge $out/bin/Desktop-Bridge
|
||||
|
@ -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 ];
|
||||
|
@ -4,8 +4,8 @@ let
|
||||
hts-nim = fetchFromGitHub {
|
||||
owner = "brentp";
|
||||
repo = "hts-nim";
|
||||
rev = "9cd83e30522ab64cd71eb8209be4154aa5579ce1";
|
||||
sha256 = "10g408idy14667varq1syf06rrbpk63i3ib7i5dh1md4ib19av6f";
|
||||
rev = "v0.2.5";
|
||||
sha256 = "1fma99rjqxgg9dihkd10hm1jjp5amsk5wsxnvq1lk4mcsjix5xqb";
|
||||
};
|
||||
|
||||
docopt = fetchFromGitHub {
|
||||
@ -28,7 +28,10 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [ nim ];
|
||||
|
||||
buildPhase = "nim -p:${hts-nim}/src -p:${docopt}/src c -d:release mosdepth.nim";
|
||||
buildPhase = ''
|
||||
HOME=$TMPDIR
|
||||
nim -p:${hts-nim}/src -p:${docopt}/src c --nilseqs:on -d:release mosdepth.nim
|
||||
'';
|
||||
installPhase = "install -Dt $out/bin mosdepth";
|
||||
fixupPhase = "patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ stdenv.cc.cc htslib pcre ]} $out/bin/mosdepth";
|
||||
|
||||
|
@ -13,11 +13,11 @@ with lib;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "kicad-${version}";
|
||||
series = "5.0";
|
||||
version = "5.0.0";
|
||||
version = "5.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://launchpad.net/kicad/${series}/${version}/+download/kicad-${version}.tar.xz";
|
||||
sha256 = "17nqjszyvd25wi6550j981whlnb1wxzmlanljdjihiki53j84x9p";
|
||||
sha256 = "0skig2wdxxc2677m8a8m1xrg3pkhqiqnmkcyr2hv0b2j30rzdr2z";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "z3-${version}";
|
||||
version = "4.7.1";
|
||||
version = "4.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Z3Prover";
|
||||
repo = "z3";
|
||||
rev = "3b1b82bef05a1b5fd69ece79c80a95fb6d72a990";
|
||||
sha256 = "1s850r6qifwl83zzgvrb5l0jigvmymzpv18ph71hg2bcpk7kjw3d";
|
||||
rev = name;
|
||||
sha256 = "1vr57bwx40sd5riijyrhy70i2wnv9xrdihf6y5zdz56yq88rl48f";
|
||||
};
|
||||
|
||||
buildInputs = [ python fixDarwinDylibNames ];
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, buildGo19Package, fetchFromGitHub, curl, libgit2_0_27, ncurses, pkgconfig, readline }:
|
||||
let
|
||||
version = "0.2.0";
|
||||
version = "0.3.0";
|
||||
in
|
||||
buildGo19Package {
|
||||
name = "grv-${version}";
|
||||
@ -14,10 +14,14 @@ buildGo19Package {
|
||||
owner = "rgburke";
|
||||
repo = "grv";
|
||||
rev = "v${version}";
|
||||
sha256 = "0hlqw6b51jglqzzjgazncckpgarp25ghshl0lxv1mff80jg8wd1a";
|
||||
sha256 = "00v502mwnpv09l7fsbq3s72i5fz5dxbildwxgw0r8zzf6d54xrgl";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
rm util/update_latest_release.go
|
||||
'';
|
||||
|
||||
buildFlagsArray = [ "-ldflags=" "-X main.version=${version}" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "hub-${version}";
|
||||
version = "2.5.1";
|
||||
version = "2.6.0";
|
||||
|
||||
goPackagePath = "github.com/github/hub";
|
||||
|
||||
@ -10,10 +10,11 @@ buildGoPackage rec {
|
||||
owner = "github";
|
||||
repo = "hub";
|
||||
rev = "v${version}";
|
||||
sha256 = "0a5i351v998vdwf883qhh39c15x56db01fr9hscz4ha7r9550pqg";
|
||||
sha256 = "0hxmbpyv2yjxg4v3z50x5ikgcz7mgv5prya8jcpi277vq2s0wwa1";
|
||||
};
|
||||
|
||||
buildInputs = [ groff ronn ruby utillinux ] ++
|
||||
nativeBuildInputs = [ groff ronn utillinux ];
|
||||
buildInputs = [ ruby ] ++
|
||||
stdenv.lib.optional stdenv.isDarwin Security;
|
||||
|
||||
postPatch = ''
|
||||
@ -29,7 +30,7 @@ buildGoPackage rec {
|
||||
install -D etc/hub.fish_completion "$bin/share/fish/vendor_completions.d/hub.fish"
|
||||
|
||||
make man-pages
|
||||
cp -r share/man $bin/share/man
|
||||
cp -vr --parents share/man/man[1-9]/*.[1-9] $bin/
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -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 ];
|
||||
|
@ -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 ""
|
||||
|
@ -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))
|
||||
|
@ -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";
|
||||
|
@ -1,17 +1,57 @@
|
||||
{ stdenv, buildPythonPackage, fetchPypi
|
||||
{ stdenv, lib, buildPythonApplication, fetchFromGitHub
|
||||
, bottle, click, colorama
|
||||
, lockfile, pyserial, requests
|
||||
, semantic-version
|
||||
, pytest, semantic-version, tox
|
||||
, git
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "platformio";
|
||||
version = "3.5.3";
|
||||
let
|
||||
args = lib.concatStringsSep " " ((map (e: "--deselect tests/${e}") [
|
||||
"commands/test_ci.py::test_ci_boards"
|
||||
"commands/test_ci.py::test_ci_project_conf"
|
||||
"commands/test_ci.py::test_ci_lib_and_board"
|
||||
"commands/test_init.py::test_init_enable_auto_uploading"
|
||||
"commands/test_init.py::test_init_custom_framework"
|
||||
"commands/test_init.py::test_init_incorrect_board"
|
||||
"commands/test_init.py::test_init_ide_atom"
|
||||
"commands/test_init.py::test_init_ide_eclipse"
|
||||
"commands/test_init.py::test_init_duplicated_boards"
|
||||
"commands/test_init.py::test_init_special_board"
|
||||
"commands/test_lib.py::test_search"
|
||||
"commands/test_lib.py::test_install_duplicates"
|
||||
"commands/test_lib.py::test_global_lib_update_check"
|
||||
"commands/test_lib.py::test_global_lib_update"
|
||||
"commands/test_lib.py::test_global_lib_uninstall"
|
||||
"commands/test_lib.py::test_lib_show"
|
||||
"commands/test_lib.py::test_lib_stats"
|
||||
"commands/test_lib.py::test_global_install_registry"
|
||||
"commands/test_lib.py::test_global_install_archive"
|
||||
"commands/test_lib.py::test_global_install_repository"
|
||||
"commands/test_lib.py::test_global_lib_list"
|
||||
"commands/test_test.py::test_local_env"
|
||||
"test_builder.py::test_build_flags"
|
||||
"test_builder.py::test_build_unflags"
|
||||
"test_misc.py::test_api_cache"
|
||||
"test_misc.py::test_ping_internet_ips"
|
||||
"test_pkgmanifest.py::test_packages"
|
||||
]) ++ (map (e: "--ignore=tests/${e}") [
|
||||
"commands/test_boards.py"
|
||||
"commands/test_platform.py"
|
||||
"commands/test_update.py"
|
||||
"test_maintenance.py"
|
||||
"test_ino2cpp.py"
|
||||
]));
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1l4s2xh1p9h767amk9zapzivz4irl2y3kff3dna6icvsgq6rz011";
|
||||
in buildPythonApplication rec {
|
||||
pname = "platformio";
|
||||
version = "3.6.1";
|
||||
|
||||
# pypi tarball doesn't contain tests
|
||||
src = fetchFromGitHub {
|
||||
owner = "platformio";
|
||||
repo = "platformio-core";
|
||||
rev = "v${version}";
|
||||
sha256 = "01xz9figqrzb0m9467q14lg51vmgq0hbaap0xdx08n5v2ycmzj0v";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -19,12 +59,25 @@ buildPythonPackage rec {
|
||||
pyserial requests semantic-version
|
||||
];
|
||||
|
||||
HOME = "/tmp";
|
||||
|
||||
checkInputs = [ pytest tox ];
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
py.test -v tests ${args}
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
patches = [ ./fix-searchpath.patch ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
broken = stdenv.isAarch64;
|
||||
description = "An open source ecosystem for IoT development";
|
||||
homepage = http://platformio.org;
|
||||
maintainers = with maintainers; [ mog makefu ];
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ mog makefu ];
|
||||
};
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "closure-compiler-${version}";
|
||||
version = "20180805";
|
||||
version = "20180910";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
|
||||
sha256 = "1jis9ykbbynq6pa8sl1jy8888l2bk9g4xsiiiab51zn62shqnq26";
|
||||
sha256 = "12k4cp9f8g03k3zf2g70pn6ybx8gk0hfh81ypiyb5hkfij95bi9k";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
@ -149,8 +149,7 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
in {
|
||||
|
||||
in rec {
|
||||
cudatoolkit_6 = common {
|
||||
version = "6.0.37";
|
||||
url = "http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run";
|
||||
@ -199,8 +198,8 @@ in {
|
||||
gcc = gcc6;
|
||||
};
|
||||
|
||||
cudatoolkit_9 = common {
|
||||
version = "9.1.85.1";
|
||||
cudatoolkit_9_1 = common {
|
||||
version = "9.1.85.3";
|
||||
url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/local_installers/cuda_9.1.85_387.26_linux";
|
||||
sha256 = "0lz9bwhck1ax4xf1fyb5nicb7l1kssslj518z64iirpy2qmwg5l4";
|
||||
runPatches = [
|
||||
@ -208,9 +207,40 @@ in {
|
||||
url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/1/cuda_9.1.85.1_linux";
|
||||
sha256 = "1f53ij5nb7g0vb5pcpaqvkaj1x4mfq3l0mhkfnqbk8sfrvby775g";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/2/cuda_9.1.85.2_linux";
|
||||
sha256 = "16g0w09h3bqmas4hy1m0y6j5ffyharslw52fn25gql57bfihg7ym";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/3/cuda_9.1.85.3_linux";
|
||||
sha256 = "12mcv6f8z33z8y41ja8bv5p5iqhv2vx91mv3b5z6fcj7iqv98422";
|
||||
})
|
||||
];
|
||||
gcc = gcc6;
|
||||
};
|
||||
|
||||
}
|
||||
cudatoolkit_9_2 = common {
|
||||
version = "9.2.148.1";
|
||||
url = "https://developer.nvidia.com/compute/cuda/9.2/Prod2/local_installers/cuda_9.2.148_396.37_linux";
|
||||
sha256 = "04c6v9b50l4awsf9w9zj5vnxvmc0hk0ypcfjksbh4vnzrz14wigm";
|
||||
runPatches = [
|
||||
(fetchurl {
|
||||
url = "https://developer.nvidia.com/compute/cuda/9.2/Prod2/patches/1/cuda_9.2.148.1_linux";
|
||||
sha256 = "1kx6l4yzsamk6q1f4vllcpywhbfr2j5wfl4h5zx8v6dgfpsjm2lw";
|
||||
})
|
||||
];
|
||||
gcc = gcc6;
|
||||
};
|
||||
|
||||
cudatoolkit_9 = cudatoolkit_9_2;
|
||||
|
||||
cudatoolkit_10_0 = common {
|
||||
version = "10.0.130";
|
||||
url = "https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux";
|
||||
sha256 = "16p3bv1lwmyqpxil8r951h385sy9asc578afrc7lssa68c71ydcj";
|
||||
|
||||
gcc = gcc6;
|
||||
};
|
||||
|
||||
cudatoolkit_10 = cudatoolkit_10_0;
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
# based on https://github.com/nim-lang/Nim/blob/v0.18.0/.travis.yml
|
||||
|
||||
{ stdenv, lib, fetchurl, makeWrapper, nodejs-slim-8_x, openssl, pcre, readline, sqlite, boehmgc, sfml, tzdata, coreutils }:
|
||||
{ stdenv, lib, fetchurl, makeWrapper, nodejs-slim-10_x, openssl, pcre, readline, boehmgc, sfml, tzdata, coreutils }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "nim-${version}";
|
||||
version = "0.18.0";
|
||||
version = "0.19.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://nim-lang.org/download/${name}.tar.xz";
|
||||
sha256 = "45c74adb35f08dfa9add1112ae17330e5d902ebb4a36e7046caee8b79e6f3bd0";
|
||||
sha256 = "0biwvw1gividp5lkf0daq1wp9v6ms4xy6dkf5zj0sn9w4m3n76d1";
|
||||
};
|
||||
|
||||
doCheck = !stdenv.isDarwin;
|
||||
@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
|
||||
"-lcrypto"
|
||||
"-lpcre"
|
||||
"-lreadline"
|
||||
"-lsqlite3"
|
||||
"-lgc"
|
||||
];
|
||||
|
||||
@ -28,12 +27,21 @@ stdenv.mkDerivation rec {
|
||||
# used for bootstrapping, but koch insists on moving the nim compiler around
|
||||
# as part of building it, so it cannot be read-only
|
||||
|
||||
buildInputs = [
|
||||
makeWrapper nodejs-slim-8_x tzdata coreutils
|
||||
openssl pcre readline sqlite boehmgc sfml
|
||||
nativeBuildInputs = [
|
||||
makeWrapper nodejs-slim-10_x tzdata coreutils
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl pcre readline boehmgc sfml
|
||||
];
|
||||
|
||||
phases = [ "unpackPhase" "patchPhase" "buildPhase" "installPhase" "checkPhase" ];
|
||||
|
||||
buildPhase = ''
|
||||
# use $CC to trigger the linker since calling ld in build.sh causes an error
|
||||
LD=$CC
|
||||
# build.sh wants to write to $HOME/.cache
|
||||
HOME=$TMPDIR
|
||||
sh build.sh
|
||||
./bin/nim c koch
|
||||
./koch boot -d:release \
|
||||
@ -51,33 +59,24 @@ stdenv.mkDerivation rec {
|
||||
--suffix PATH : ${lib.makeBinPath [ stdenv.cc ]}
|
||||
'';
|
||||
|
||||
postPatch =
|
||||
patchPhase =
|
||||
let disableTest = ''sed -i '1i discard \"\"\"\n disabled: true\n\"\"\"\n\n' '';
|
||||
disableStdLibTest = ''sed -i -e '/^when isMainModule/,/^END$/{s/^/#/}' '';
|
||||
disableCompile = ''sed -i -e 's/^/#/' '';
|
||||
in ''
|
||||
substituteInPlace ./tests/async/tioselectors.nim --replace "/bin/sleep" "sleep"
|
||||
substituteInPlace ./tests/osproc/tworkingdir.nim --replace "/usr/bin" "${coreutils}/bin"
|
||||
substituteInPlace ./tests/stdlib/ttimes.nim --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
|
||||
|
||||
# disable supposedly broken tests
|
||||
${disableTest} ./tests/errmsgs/tproper_stacktrace2.nim
|
||||
${disableTest} ./tests/vm/trgba.nim
|
||||
|
||||
# disable tests requiring network access (not available in the build container)
|
||||
${disableTest} ./tests/stdlib/thttpclient.nim
|
||||
${disableTest} ./tests/cpp/tasync_cpp.nim
|
||||
${disableTest} ./tests/niminaction/Chapter7/Tweeter/src/tweeter.nim
|
||||
|
||||
# disable tests requiring un-downloadable dependencies (using nimble, which isn't available in the fetch phase)
|
||||
${disableCompile} ./tests/manyloc/keineschweine/keineschweine.nim
|
||||
${disableTest} ./tests/manyloc/keineschweine/keineschweine.nim
|
||||
${disableCompile} ./tests/manyloc/nake/nakefile.nim
|
||||
${disableTest} ./tests/manyloc/nake/nakefile.nim
|
||||
${disableCompile} ./tests/manyloc/named_argument_bug/main.nim
|
||||
${disableTest} ./tests/manyloc/named_argument_bug/main.nim
|
||||
'' + lib.optionalString stdenv.isAarch64 ''
|
||||
# disable test supposedly broken on aarch64
|
||||
${disableStdLibTest} ./lib/pure/stats.nim
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
PATH=$PATH:$out/bin
|
||||
./koch tests
|
||||
'';
|
||||
|
||||
|
@ -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;
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, lib, fetchurl, bash, cpio, pkgconfig, file, which, unzip, zip, cups, freetype
|
||||
{ stdenv, lib, fetchurl, bash, cpio, autoconf, pkgconfig, file, which, unzip, zip, cups, freetype
|
||||
, alsaLib, bootjdk, perl, liberation_ttf, fontconfig, zlib, lndir
|
||||
, libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama, libXcursor, libXrandr
|
||||
, libjpeg, giflib
|
||||
@ -10,31 +10,30 @@
|
||||
let
|
||||
|
||||
/**
|
||||
* The JRE libraries are in directories that depend on the CPU.
|
||||
* The JDK libraries are in directories that depend on the CPU.
|
||||
*/
|
||||
architecture =
|
||||
if stdenv.hostPlatform.system == "i686-linux" then
|
||||
"i386"
|
||||
else "amd64";
|
||||
|
||||
update = "10.0.2";
|
||||
major = "11";
|
||||
update = ".0.1";
|
||||
build = "13";
|
||||
repover = "jdk-${update}+${build}";
|
||||
repover = "jdk-${major}${update}+${build}";
|
||||
paxflags = if stdenv.isi686 then "msp" else "m";
|
||||
|
||||
openjdk10 = stdenv.mkDerivation {
|
||||
name = "openjdk-${update}-b${build}";
|
||||
openjdk = stdenv.mkDerivation {
|
||||
name = "openjdk-${major}${update}-b${build}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://hg.openjdk.java.net/jdk-updates/jdk10u/archive/${repover}.tar.gz";
|
||||
sha256 = "0y7hyzgvn6z8gyp3h9xvxwj6zda899y6i629jn6yxqzj96q56jpk";
|
||||
url = "http://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/${repover}.tar.gz";
|
||||
sha256 = "1ri3fv67rvs9xxhc3ynklbprhxbdsgpwafbw6wqj950xy5crgysm";
|
||||
};
|
||||
|
||||
outputs = [ "out" "jre" ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [
|
||||
cpio file which unzip zip perl bootjdk zlib cups freetype alsaLib
|
||||
autoconf cpio file which unzip zip perl bootjdk zlib cups freetype alsaLib
|
||||
libjpeg giflib libX11 libICE libXext libXrender libXtst libXt libXtst
|
||||
libXi libXinerama libXcursor libXrandr lndir fontconfig
|
||||
] ++ lib.optionals (!minimal && enableGnome2) [
|
||||
@ -55,12 +54,11 @@ let
|
||||
|
||||
configureFlagsArray=(
|
||||
"--with-boot-jdk=${bootjdk.home}"
|
||||
"--with-update-version=${update}"
|
||||
"--with-update-version=${major}${update}"
|
||||
"--with-build-number=${build}"
|
||||
"--with-milestone=fcs"
|
||||
"--enable-unlimited-crypto"
|
||||
"--disable-debug-symbols"
|
||||
"--disable-freetype-bundling"
|
||||
"--with-zlib=system"
|
||||
"--with-giflib=system"
|
||||
"--with-stdc++lib=dynamic"
|
||||
@ -86,7 +84,7 @@ let
|
||||
buildFlags = [ "all" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk
|
||||
mkdir -p $out/lib/openjdk $out/share
|
||||
|
||||
cp -av build/*/images/jdk/* $out/lib/openjdk
|
||||
|
||||
@ -101,57 +99,29 @@ let
|
||||
# jni.h expects jni_md.h to be in the header search path.
|
||||
ln -s $out/include/linux/*_md.h $out/include/
|
||||
|
||||
# Copy the JRE to a separate output and setup fallback fonts
|
||||
cp -av build/*/images/jre $jre/lib/openjdk/
|
||||
mkdir $out/lib/openjdk/jre
|
||||
${lib.optionalString (!minimal) ''
|
||||
mkdir -p $jre/lib/openjdk/jre/lib/fonts/fallback
|
||||
lndir ${liberation_ttf}/share/fonts/truetype $jre/lib/openjdk/jre/lib/fonts/fallback
|
||||
''}
|
||||
|
||||
# Remove crap from the installation.
|
||||
rm -rf $out/lib/openjdk/demo
|
||||
${lib.optionalString minimal ''
|
||||
for d in $out/lib/openjdk/lib $jre/lib/openjdk/jre/lib; do
|
||||
rm ''${d}/{libjsound,libjsoundalsa,libfontmanager}.so
|
||||
done
|
||||
rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so
|
||||
''}
|
||||
|
||||
lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre
|
||||
|
||||
# Set PaX markings
|
||||
exes=$(file $out/lib/openjdk/bin/* $jre/lib/openjdk/jre/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
|
||||
exes=$(file $out/lib/openjdk/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
|
||||
echo "to mark: *$exes*"
|
||||
for file in $exes; do
|
||||
echo "marking *$file*"
|
||||
paxmark ${paxflags} "$file"
|
||||
done
|
||||
|
||||
# Remove duplicate binaries.
|
||||
for i in $(cd $out/lib/openjdk/bin && echo *); do
|
||||
if [ "$i" = java ]; then continue; fi
|
||||
if cmp -s $out/lib/openjdk/bin/$i $jre/lib/openjdk/jre/bin/$i; then
|
||||
ln -sfn $jre/lib/openjdk/jre/bin/$i $out/lib/openjdk/bin/$i
|
||||
fi
|
||||
done
|
||||
|
||||
ln -s $out/lib/openjdk/bin $out/bin
|
||||
ln -s $jre/lib/openjdk/jre/bin $jre/bin
|
||||
ln -s $jre/lib/openjdk/jre $out/jre
|
||||
'';
|
||||
|
||||
# FIXME: this is unnecessary once the multiple-outputs branch is merged.
|
||||
preFixup = ''
|
||||
prefix=$jre stripDirs "$STRIP" "$stripDebugList" "''${stripDebugFlags:--S}"
|
||||
patchELF $jre
|
||||
propagatedBuildInputs+=" $jre"
|
||||
|
||||
# Propagate the setJavaClassPath setup hook from the JRE so that
|
||||
# any package that depends on the JRE has $CLASSPATH set up
|
||||
# properly.
|
||||
mkdir -p $jre/nix-support
|
||||
# Propagate the setJavaClassPath setup hook so that any package
|
||||
# that depends on the JDK has $CLASSPATH set up properly.
|
||||
mkdir -p $out/nix-support
|
||||
#TODO or printWords? cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040
|
||||
echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-build-inputs
|
||||
echo -n "${setJavaClassPath}" > $out/nix-support/propagated-build-inputs
|
||||
|
||||
# Set JAVA_HOME automatically.
|
||||
mkdir -p $out/nix-support
|
||||
@ -196,7 +166,7 @@ let
|
||||
|
||||
passthru = {
|
||||
inherit architecture;
|
||||
home = "${openjdk10}/lib/openjdk";
|
||||
home = "${openjdk}/lib/openjdk";
|
||||
};
|
||||
};
|
||||
in openjdk10
|
||||
in openjdk
|
@ -16,12 +16,12 @@ let
|
||||
src = if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
(if version == "10" then fetchboot "10" "x86_64" "08085fsxc1qhqiv3yi38w8lrg3vm7s0m2yvnwr1c92v019806yq2"
|
||||
else if version == "8" then fetchboot "8" "x86_64" "18zqx6jhm3lizn9hh6ryyqc9dz3i96pwaz8f6nxfllk70qi5gvks"
|
||||
else throw "No bootstrap for version")
|
||||
else throw "No bootstrap jdk for version ${version}")
|
||||
else if stdenv.hostPlatform.system == "i686-linux" then
|
||||
(if version == "10" then fetchboot "10" "i686" "1blb9gyzp8gfyggxvggqgpcgfcyi00ndnnskipwgdm031qva94p7"
|
||||
else if version == "8" then fetchboot "8" "i686" "1yx04xh8bqz7amg12d13rw5vwa008rav59mxjw1b9s6ynkvfgqq9"
|
||||
else throw "No bootstrap for version")
|
||||
else throw "No bootstrap for system";
|
||||
else throw "No bootstrap jdk for system ${stdenv.hostPlatform.system}";
|
||||
|
||||
bootstrap = runCommand "openjdk-bootstrap" {
|
||||
passthru.home = "${bootstrap}/lib/openjdk";
|
||||
|
@ -6,13 +6,13 @@ let
|
||||
sha256 = "0nk7m0lgcbsvldq2wbfni2pzq8h818523z912i7v8hdcij5s48c0";
|
||||
};
|
||||
|
||||
jdk = stdenv.mkDerivation {
|
||||
name = "zulu10.3+5-jdk10";
|
||||
jdk = stdenv.mkDerivation rec {
|
||||
name = "zulu11.2.3-jdk11.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-macosx_x64.zip;
|
||||
sha256 = "05pxfjn8fqw6ddr8m5hzyphwzqgrq8w6b4h3lwc1s7ymh05xmspz";
|
||||
curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-linux/";
|
||||
url = "https://cdn.azul.com/zulu/bin/${name}-macosx_x64.tar.gz";
|
||||
sha256 = "1jxnxmy79inwf3146ygry1mzv3dj6yrzqll16j7dpr91x1p3dpqy";
|
||||
curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-mac/";
|
||||
};
|
||||
|
||||
buildInputs = [ unzip freetype ];
|
||||
@ -34,8 +34,8 @@ let
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
# Propagate the setJavaClassPath setup hook from the JRE so that
|
||||
# any package that depends on the JRE has $CLASSPATH set up
|
||||
# Propagate the setJavaClassPath setup hook from the JDK so that
|
||||
# any package that depends on the JDK has $CLASSPATH set up
|
||||
# properly.
|
||||
mkdir -p $out/nix-support
|
||||
printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
|
||||
@ -49,7 +49,6 @@ let
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
jre = jdk;
|
||||
home = jdk;
|
||||
};
|
||||
|
@ -1,156 +0,0 @@
|
||||
{ swingSupport ? true
|
||||
, stdenv
|
||||
, requireFile
|
||||
, makeWrapper
|
||||
, file
|
||||
, xorg ? null
|
||||
, packageType ? "JDK" # JDK, JRE, or ServerJRE
|
||||
, glib
|
||||
, libxml2
|
||||
, ffmpeg_2
|
||||
, libxslt
|
||||
, libGL
|
||||
, freetype
|
||||
, fontconfig
|
||||
, gtk2
|
||||
, pango
|
||||
, cairo
|
||||
, alsaLib
|
||||
, atk
|
||||
, gdk_pixbuf
|
||||
, zlib
|
||||
, elfutils
|
||||
, setJavaClassPath
|
||||
}:
|
||||
|
||||
assert swingSupport -> xorg != null;
|
||||
|
||||
let
|
||||
version = "10.0.2";
|
||||
|
||||
downloadUrlBase = http://www.oracle.com/technetwork/java/javase/downloads;
|
||||
|
||||
rSubPaths = [
|
||||
"lib/jli"
|
||||
"lib/server"
|
||||
"lib"
|
||||
];
|
||||
|
||||
in
|
||||
|
||||
let result = stdenv.mkDerivation rec {
|
||||
name = if packageType == "JDK" then "oraclejdk-${version}"
|
||||
else if packageType == "JRE" then "oraclejre-${version}"
|
||||
else if packageType == "ServerJRE" then "oracleserverjre-${version}"
|
||||
else abort "unknown package Type ${packageType}";
|
||||
|
||||
src =
|
||||
if packageType == "JDK" then
|
||||
requireFile {
|
||||
name = "jdk-${version}_linux-x64_bin.tar.gz";
|
||||
url = "${downloadUrlBase}/jdk10-downloads-4416644.html";
|
||||
sha256 = "0arpzac64apji1s8d0gzizkvrjz0fbhz7l34af1j0365ac6w4cv6";
|
||||
}
|
||||
else if packageType == "JRE" then
|
||||
requireFile {
|
||||
name = "jre-${version}_linux-x64_bin.tar.gz";
|
||||
url = "${downloadUrlBase}/jre10-downloads-4417026.html";
|
||||
sha256 = "0pc4a0a3fl6874vfaflf6jvpm9da647vp41pj0hihkspjyjhjabx";
|
||||
}
|
||||
else if packageType == "ServerJRE" then
|
||||
requireFile {
|
||||
name = "serverjre-${version}_linux-x64_bin.tar.gz";
|
||||
url = "${downloadUrlBase}/sjre10-downloads-4417025.html";
|
||||
sha256 = "0hbcb4c6ncy0sbz02gyygyqcwkz0xpv4fwrx4sripia6vph9592c";
|
||||
}
|
||||
else abort "unknown package Type ${packageType}";
|
||||
|
||||
nativeBuildInputs = [ file ];
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
# See: https://github.com/NixOS/patchelf/issues/10
|
||||
dontStrip = 1;
|
||||
|
||||
installPhase = ''
|
||||
cd ..
|
||||
|
||||
# Set PaX markings
|
||||
exes=$(file $sourceRoot/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
|
||||
for file in $exes; do
|
||||
paxmark m "$file"
|
||||
# On x86 for heap sizes over 700MB disable SEGMEXEC and PAGEEXEC as well.
|
||||
${stdenv.lib.optionalString stdenv.isi686 ''paxmark msp "$file"''}
|
||||
done
|
||||
|
||||
mv $sourceRoot $out
|
||||
|
||||
shopt -s extglob
|
||||
for file in $out/*
|
||||
do
|
||||
if test -f $file ; then
|
||||
rm $file
|
||||
fi
|
||||
done
|
||||
|
||||
if test -z "$pluginSupport"; then
|
||||
rm -f $out/bin/javaws
|
||||
fi
|
||||
|
||||
mkdir $out/lib/plugins
|
||||
ln -s $out/lib/libnpjp2.so $out/lib/plugins
|
||||
|
||||
# for backward compatibility
|
||||
ln -s $out $out/jre
|
||||
|
||||
mkdir -p $out/nix-support
|
||||
printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
|
||||
|
||||
# Set JAVA_HOME automatically.
|
||||
cat <<EOF >> $out/nix-support/setup-hook
|
||||
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
|
||||
EOF
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
rpath+="''${rpath:+:}${stdenv.lib.concatStringsSep ":" (map (a: "$out/${a}") rSubPaths)}"
|
||||
|
||||
# set all the dynamic linkers
|
||||
find $out -type f -perm -0100 \
|
||||
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "$rpath" {} \;
|
||||
|
||||
find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
|
||||
|
||||
# Oracle Java Mission Control needs to know where libgtk-x11 and related is
|
||||
if test -x $out/bin/jmc; then
|
||||
wrapProgram "$out/bin/jmc" \
|
||||
--suffix-each LD_LIBRARY_PATH ':' "$rpath"
|
||||
fi
|
||||
'';
|
||||
|
||||
/**
|
||||
* libXt is only needed on amd64
|
||||
*/
|
||||
libraries =
|
||||
[stdenv.cc.libc glib libxml2 ffmpeg_2 libxslt libGL xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk_pixbuf atk zlib elfutils] ++
|
||||
(if swingSupport then [xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt xorg.libXrender stdenv.cc.cc] else []);
|
||||
|
||||
rpath = stdenv.lib.strings.makeLibraryPath libraries;
|
||||
|
||||
passthru.mozillaPlugin = "/lib/plugins";
|
||||
|
||||
passthru.jre = result; # FIXME: use multiple outputs or return actual JRE package
|
||||
|
||||
passthru.home = result;
|
||||
|
||||
# for backward compatibility
|
||||
passthru.architecture = "";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ]; # some inherit jre.meta.platforms
|
||||
knownVulnerabilities = [ "Support ended in September 2018. Use OpenJDK or JDK 8." ];
|
||||
};
|
||||
|
||||
}; in result
|
@ -5,17 +5,20 @@
|
||||
# Note that the created binaries still need `patchelf --set-interpreter ...`
|
||||
# to get rid of ${glibc} dependency.
|
||||
, purgeNixReferences ? false
|
||||
, texinfo
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "sbcl-${version}";
|
||||
version = "1.4.12";
|
||||
version = "1.4.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
|
||||
sha256 = "0maa4h5zdykq050hdqk5wd74dhl6k7br3qrhfd4f2387skk8ky7a";
|
||||
sha256 = "120rnnz8367lk7ljqlf8xidm4b0d738xqsib4kq0q5ms5r7fzgvm";
|
||||
};
|
||||
|
||||
buildInputs = [texinfo];
|
||||
|
||||
patchPhase = ''
|
||||
echo '"${version}.nixos"' > version.lisp-expr
|
||||
echo "
|
||||
@ -46,11 +49,6 @@ stdenv.mkDerivation rec {
|
||||
'/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
|
||||
|
||||
# Fix the tests
|
||||
sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
|
||||
sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp
|
||||
sed -e '/deftest .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp
|
||||
sed -e '/deftest \(pw\|gr\)ent/,+3d' -i contrib/sb-posix/posix-tests.lisp
|
||||
|
||||
sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
|
||||
sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
|
||||
|
||||
@ -83,6 +81,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildPhase = ''
|
||||
sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}"
|
||||
(cd doc/manual ; make info)
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
|
@ -32,11 +32,10 @@
|
||||
, makeWrapper
|
||||
, gnumake
|
||||
, file
|
||||
#, systemtap
|
||||
}:
|
||||
|
||||
let
|
||||
v_base = "4.1.3";
|
||||
v_base = "4.2.1";
|
||||
version = "${v_base}-RELEASE";
|
||||
version_friendly = "${v_base}";
|
||||
|
||||
@ -54,15 +53,15 @@ let
|
||||
# For more inforation, see: https://github.com/apple/swift/pull/3594#issuecomment-234169759
|
||||
clang = fetch {
|
||||
repo = "swift-clang";
|
||||
sha256 = "0j8bi6jv4m4hqiib02q5cvnxd9j6bwiri853x6px86vai3mdff0h";
|
||||
sha256 = "0l6w4xzpl3w2nax9a0b885nfzhfj38p2g99158nb5bzfd4s0man7";
|
||||
};
|
||||
llvm = fetch {
|
||||
repo = "swift-llvm";
|
||||
sha256 = "0q5cv4iydm8c1kcax32573y3q2cbpihwgj5aa8ws1fnpy4jvq934";
|
||||
sha256 = "1664zwxbq0a1cmxr9n5a0vw6vdk6ygr7rpglpdsfc7ki857vpsyv";
|
||||
};
|
||||
compilerrt = fetch {
|
||||
repo = "swift-compiler-rt";
|
||||
sha256 = "1wkymmxi2v759xkwlzfrq9rivndjfvp6ikrzz10mvvrvyvrgwqnl";
|
||||
sha256 = "19s6qxn4i0kxpf39xjp2i7zg427iinbmaxqkbb1p91g616y367sf";
|
||||
};
|
||||
cmark = fetch {
|
||||
repo = "swift-cmark";
|
||||
@ -70,32 +69,32 @@ let
|
||||
};
|
||||
lldb = fetch {
|
||||
repo = "swift-lldb";
|
||||
sha256 = "1d0pa7xm289bjb6r52hkkmlngkqkwbwgixnmm30bin2q18mkxk7s";
|
||||
sha256 = "00kz0xhj1p6ckyandj2gs1yfl29kxv84x9pfph00r8crbkd2jz7b";
|
||||
};
|
||||
llbuild = fetch {
|
||||
repo = "swift-llbuild";
|
||||
sha256 = "04y0ihfyam2n671vmpk9gy0gb9lb3ivh6mr19862p5kg5bmrcic1";
|
||||
sha256 = "1mkkhydshhxr28igbldzr0hhqvb6ql43cpf3ba5vglfkbcz6wh6q";
|
||||
};
|
||||
pm = fetch {
|
||||
repo = "swift-package-manager";
|
||||
sha256 = "08d87fc29qq7m92jaxkiczsa7b567pwbibiwwkzdrj6a0gr11qn3";
|
||||
sha256 = "1aqvmgq9g5zs4k2qnkvw3h3mar66d690hqq6g2dmrapsyb321j9l";
|
||||
};
|
||||
xctest = fetch {
|
||||
repo = "swift-corelibs-xctest";
|
||||
sha256 = "1alkgxx8jsr2jjv2kchnjaaddb1byjwim015m1z3qxh6lknqm0k5";
|
||||
sha256 = "1n4w7bfgy73vjzbvbphlwayy0dw73bbrayrpkqq8lbidg0x9lam8";
|
||||
};
|
||||
foundation = fetch {
|
||||
repo = "swift-corelibs-foundation";
|
||||
sha256 = "1bhrag63rmz41bg2g6ap01qrdpq37hislgf5hg6myy2v69q7mahx";
|
||||
sha256 = "1bfnkj8s3v327cy0czkngz0ryzmz7amjzkkxbsg2zyrhf9a9f0f7";
|
||||
};
|
||||
libdispatch = fetch {
|
||||
repo = "swift-corelibs-libdispatch";
|
||||
sha256 = "198vskbajch8s168a649qz5an92i2mxmmmzcjlgxlzh38fgxri0n";
|
||||
sha256 = "0fibrx54nbaawhsgd7cbr356ji9qvf8y8ahd5bdx28fpj6q0cnwc";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
swift = fetch {
|
||||
repo = "swift";
|
||||
sha256 = "1ydx11pkvaasgjbr29lnha0lpnak758gd5l0aqzmp3q6mcyvfm7a";
|
||||
sha256 = "0y277wi0m6zp1yph9s14mmc65m21q5fm6lgzkn2rkrbaz25fdzak";
|
||||
};
|
||||
};
|
||||
|
||||
@ -111,7 +110,6 @@ let
|
||||
ncurses
|
||||
sqlite
|
||||
swig
|
||||
# systemtap?
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
@ -215,8 +213,11 @@ stdenv.mkDerivation rec {
|
||||
|
||||
substituteInPlace swift/stdlib/public/Platform/CMakeLists.txt \
|
||||
--replace '/usr/include' "${stdenv.cc.libc.dev}/include"
|
||||
substituteInPlace swift-corelibs-libdispatch/src/CMakeLists.txt \
|
||||
--replace '/usr/include' "${stdenv.cc.libc.dev}/include"
|
||||
substituteInPlace swift/utils/build-script-impl \
|
||||
--replace '/usr/include/c++' "${clang.cc.gcc}/include/c++"
|
||||
patch -p1 -d swift -i ${./patches/glibc-arch-headers.patch}
|
||||
'' + stdenv.lib.optionalString stdenv.needsPax ''
|
||||
patch -p1 -d swift -i ${./patches/build-script-pax.patch}
|
||||
'' + ''
|
||||
@ -228,24 +229,24 @@ stdenv.mkDerivation rec {
|
||||
-e 's/^test-installable-package$/# \0/' \
|
||||
-e 's/^test$/# \0/' \
|
||||
-e 's/^validation-test$/# \0/' \
|
||||
-e 's/^long-test$/# \0/'
|
||||
-e 's/^long-test$/# \0/' \
|
||||
-e 's/^stress-test$/# \0/' \
|
||||
-e 's/^test-optimized$/# \0/'
|
||||
|
||||
# https://bugs.swift.org/browse/SR-5779
|
||||
sed -i -e 's|"-latomic"|"-Wl,-rpath,${clang.cc.gcc.lib}/lib" "-L${clang.cc.gcc.lib}/lib" "-latomic"|' swift/cmake/modules/AddSwift.cmake
|
||||
|
||||
substituteInPlace clang/lib/Driver/ToolChains/Linux.cpp \
|
||||
--replace ' addPathIfExists(D, SysRoot + "/usr/lib", Paths);' \
|
||||
' addPathIfExists(D, SysRoot + "/usr/lib", Paths); addPathIfExists(D, "${glibc}/lib", Paths);'
|
||||
--replace 'SysRoot + "/usr/lib' '"${glibc}/lib" "'
|
||||
patch -p1 -d clang -i ${./patches/llvm-include-dirs.patch}
|
||||
patch -p1 -d clang -i ${./purity.patch}
|
||||
|
||||
# Workaround hardcoded dep on "libcurses" (vs "libncurses"):
|
||||
sed -i 's,curses,ncurses,' llbuild/*/*/CMakeLists.txt
|
||||
|
||||
# This test fails on one of my machines, not sure why.
|
||||
# Disabling for now.
|
||||
rm llbuild/tests/Examples/buildsystem-capi.llbuild
|
||||
|
||||
PREFIX=''${out/#\/}
|
||||
substituteInPlace swift-corelibs-foundation/build.py \
|
||||
--replace usr/lib "$PREFIX/lib"
|
||||
substituteInPlace swift-corelibs-xctest/build_script.py \
|
||||
--replace usr "$PREFIX"
|
||||
substituteInPlace swiftpm/Utilities/bootstrap \
|
||||
@ -263,6 +264,7 @@ stdenv.mkDerivation rec {
|
||||
# Extract the generated tarball into the store
|
||||
PREFIX=''${out/#\/}
|
||||
tar xf $INSTALLABLE_PACKAGE -C $out --strip-components=3 $PREFIX
|
||||
find $out -type d -empty -delete
|
||||
|
||||
paxmark pmr $out/bin/swift
|
||||
paxmark pmr $out/bin/*
|
||||
@ -290,4 +292,3 @@ stdenv.mkDerivation rec {
|
||||
broken = stdenv.isAarch64; # 2018-09-04, never built on Hydra
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ diff --git a/utils/build-presets.ini b/utils/build-presets.ini
|
||||
index 7ee57ad2df..e6b0af3581 100644
|
||||
--- a/utils/build-presets.ini
|
||||
+++ b/utils/build-presets.ini
|
||||
@@ -686,7 +686,7 @@ swiftpm
|
||||
@@ -717,7 +717,7 @@ swiftpm
|
||||
xctest
|
||||
dash-dash
|
||||
|
||||
|
@ -11,7 +11,7 @@ diff --git a/utils/build-presets.ini b/utils/build-presets.ini
|
||||
index e6b0af3581..1095cbaab7 100644
|
||||
--- a/utils/build-presets.ini
|
||||
+++ b/utils/build-presets.ini
|
||||
@@ -708,7 +708,7 @@ install-lldb
|
||||
@@ -723,7 +723,7 @@ install-lldb
|
||||
install-llbuild
|
||||
install-swiftpm
|
||||
install-xctest
|
||||
|
@ -11,7 +11,7 @@ diff --git a/utils/build-presets.ini b/utils/build-presets.ini
|
||||
index 1739e91dc2..0608fed9c1 100644
|
||||
--- a/utils/build-presets.ini
|
||||
+++ b/utils/build-presets.ini
|
||||
@@ -708,6 +708,8 @@ install-destdir=%(install_destdir)s
|
||||
@@ -740,6 +740,8 @@ install-destdir=%(install_destdir)s
|
||||
# Path to the .tar.gz package we would create.
|
||||
installable-package=%(installable_package)s
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- swift/utils/build-script-impl 2017-01-23 12:47:20.401326309 -0600
|
||||
+++ swift-pax/utils/build-script-impl 2017-01-23 13:24:10.339366996 -0600
|
||||
@@ -1823,6 +1823,17 @@ function set_lldb_xcodebuild_options() {
|
||||
@@ -1837,6 +1837,17 @@ function set_lldb_xcodebuild_options() {
|
||||
fi
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
#
|
||||
# Configure and build each product
|
||||
#
|
||||
@@ -2624,6 +2634,12 @@ for host in "${ALL_HOSTS[@]}"; do
|
||||
@@ -2735,6 +2746,12 @@ for host in "${ALL_HOSTS[@]}"; do
|
||||
fi
|
||||
|
||||
call "${CMAKE_BUILD[@]}" "${build_dir}" $(cmake_config_opt ${product}) -- "${BUILD_ARGS[@]}" ${build_targets[@]}
|
||||
|
@ -0,0 +1,13 @@
|
||||
The Nix glibc headers do not use include/x86_64-linux-gnu subdirectories.
|
||||
|
||||
--- swift/stdlib/public/Platform/CMakeLists.txt 2018-09-30 17:51:51.581766303 +0200
|
||||
+++ swift/stdlib/public/Platform/CMakeLists.txt 2018-09-30 18:40:04.118956708 +0200
|
||||
@@ -65,7 +65,7 @@
|
||||
endif()
|
||||
|
||||
set(GLIBC_INCLUDE_PATH "${GLIBC_SYSROOT_RELATIVE_INCLUDE_PATH}")
|
||||
- set(GLIBC_ARCH_INCLUDE_PATH "${GLIBC_SYSROOT_RELATIVE_ARCH_INCLUDE_PATH}")
|
||||
+ set(GLIBC_ARCH_INCLUDE_PATH "${GLIBC_SYSROOT_RELATIVE_INCLUDE_PATH}")
|
||||
|
||||
if(NOT "${SWIFT_SDK_${sdk}_ARCH_${arch}_PATH}" STREQUAL "/")
|
||||
set(GLIBC_INCLUDE_PATH "${SWIFT_SDK_${sdk}_ARCH_${arch}_PATH}${GLIBC_INCLUDE_PATH}")
|
@ -0,0 +1,13 @@
|
||||
Only use the Nix include dirs when no sysroot is configured.
|
||||
|
||||
--- clang/lib/Driver/ToolChains/Linux.cpp 2018-10-05 18:01:15.731109551 +0200
|
||||
+++ clang/lib/Driver/ToolChains/Linux.cpp 2018-10-05 18:00:27.959509924 +0200
|
||||
@@ -565,7 +565,7 @@
|
||||
|
||||
// Check for configure-time C include directories.
|
||||
StringRef CIncludeDirs(C_INCLUDE_DIRS);
|
||||
- if (CIncludeDirs != "") {
|
||||
+ if (CIncludeDirs != "" && (SysRoot.empty() || SysRoot == "/")) {
|
||||
SmallVector<StringRef, 5> dirs;
|
||||
CIncludeDirs.split(dirs, ":");
|
||||
for (StringRef dir : dirs) {
|
@ -11,7 +11,7 @@ diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
|
||||
index fe3c0191bb..c6a482bece 100644
|
||||
--- a/lib/Driver/ToolChains/Gnu.cpp
|
||||
+++ b/lib/Driver/ToolChains/Gnu.cpp
|
||||
@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
@@ -398,13 +398,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
if (!Args.hasArg(options::OPT_static)) {
|
||||
if (Args.hasArg(options::OPT_rdynamic))
|
||||
CmdArgs.push_back("-export-dynamic");
|
||||
|
@ -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";
|
||||
|
||||
}
|
||||
|
@ -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 ]
|
||||
|
1893
pkgs/development/haskell-modules/hackage-packages.nix
generated
1893
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@ -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"
|
||||
'';
|
||||
});
|
||||
}
|
||||
|
@ -186,7 +186,7 @@ in rec {
|
||||
|
||||
# the latest Devel version
|
||||
perldevel = common {
|
||||
version = "5.29.3";
|
||||
sha256 = "054xi629408p2hv9475jghv6zd1bj69qqpiby8cy9qw5vismgi17";
|
||||
version = "5.29.4";
|
||||
sha256 = "153r0f6jdqrl7hxrvhfivf5g8ivhbvggfhg841q3hi3db5rc86k4";
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
31
pkgs/development/libraries/fstrcmp/default.nix
Normal file
31
pkgs/development/libraries/fstrcmp/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -15,7 +15,9 @@ stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [libjpeg libXext libX11 xextproto libtiff libungif libpng];
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
meta = with stdenv.lib; {
|
||||
description = "An image loading and rendering library for X11";
|
||||
platforms = platforms.unix;
|
||||
license = with licenses; [ gpl2 lgpl2 ];
|
||||
};
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
stdenv.mkDerivation rec {
|
||||
name = "incrtcl-${version}";
|
||||
version = "4.0.4";
|
||||
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl4.0.4.tar.gz;
|
||||
sha256 = "1ppc9b13cvmc6rp77k7dl2zb26xk0z30vxygmr4h1xr2r8w091k3";
|
||||
@ -22,9 +22,10 @@ stdenv.mkDerivation rec {
|
||||
libPrefix = "itcl3.4";
|
||||
};
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://incrtcl.sourceforge.net/;
|
||||
description = "Object Oriented Enhancements for Tcl/Tk";
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
platforms = platforms.unix;
|
||||
license = licenses.tcltk;
|
||||
};
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user