forked from mirrors/nixpkgs
Merge recent master into x-updates
Hydra eval: 1131611
This commit is contained in:
commit
dfd80a1b7e
9
.gitignore
vendored
9
.gitignore
vendored
|
@ -3,8 +3,9 @@
|
||||||
.*.swp
|
.*.swp
|
||||||
.*.swo
|
.*.swo
|
||||||
result
|
result
|
||||||
doc/NEWS.html
|
result-*
|
||||||
doc/NEWS.txt
|
/doc/NEWS.html
|
||||||
doc/manual.html
|
/doc/NEWS.txt
|
||||||
doc/manual.pdf
|
/doc/manual.html
|
||||||
|
/doc/manual.pdf
|
||||||
.version-suffix
|
.version-suffix
|
||||||
|
|
|
@ -194,7 +194,7 @@ rec {
|
||||||
|
|
||||||
is transformed into
|
is transformed into
|
||||||
|
|
||||||
[ { boot = set1; } { boot = mkIf cond set2; services mkIf cond set3; } ].
|
[ { boot = set1; } { boot = mkIf cond set2; services = mkIf cond set3; } ].
|
||||||
|
|
||||||
This transform is the critical step that allows mkIf conditions
|
This transform is the critical step that allows mkIf conditions
|
||||||
to refer to the full configuration without creating an infinite
|
to refer to the full configuration without creating an infinite
|
||||||
|
|
|
@ -32,12 +32,12 @@ in
|
||||||
|
|
||||||
kdc = mkOption {
|
kdc = mkOption {
|
||||||
default = "kerberos.mit.edu";
|
default = "kerberos.mit.edu";
|
||||||
description = "Kerberos Domain Controller";
|
description = "Kerberos Domain Controller.";
|
||||||
};
|
};
|
||||||
|
|
||||||
kerberosAdminServer = mkOption {
|
kerberosAdminServer = mkOption {
|
||||||
default = "kerberos.mit.edu";
|
default = "kerberos.mit.edu";
|
||||||
description = "Kerberos Admin Server";
|
description = "Kerberos Admin Server.";
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -134,6 +134,7 @@
|
||||||
teamspeak = 124;
|
teamspeak = 124;
|
||||||
influxdb = 125;
|
influxdb = 125;
|
||||||
nsd = 126;
|
nsd = 126;
|
||||||
|
gitolite = 127;
|
||||||
|
|
||||||
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
||||||
|
|
||||||
|
|
|
@ -101,7 +101,7 @@
|
||||||
./services/databases/virtuoso.nix
|
./services/databases/virtuoso.nix
|
||||||
./services/databases/monetdb.nix
|
./services/databases/monetdb.nix
|
||||||
./services/databases/influxdb.nix
|
./services/databases/influxdb.nix
|
||||||
./services/desktops/accountservice.nix
|
./services/desktops/accountsservice.nix
|
||||||
./services/desktops/geoclue2.nix
|
./services/desktops/geoclue2.nix
|
||||||
./services/desktops/gnome3/at-spi2-core.nix
|
./services/desktops/gnome3/at-spi2-core.nix
|
||||||
./services/desktops/gnome3/evolution-data-server.nix
|
./services/desktops/gnome3/evolution-data-server.nix
|
||||||
|
@ -147,6 +147,7 @@
|
||||||
./services/misc/felix.nix
|
./services/misc/felix.nix
|
||||||
./services/misc/folding-at-home.nix
|
./services/misc/folding-at-home.nix
|
||||||
./services/misc/gpsd.nix
|
./services/misc/gpsd.nix
|
||||||
|
./services/misc/gitolite.nix
|
||||||
./services/misc/nix-daemon.nix
|
./services/misc/nix-daemon.nix
|
||||||
./services/misc/nix-gc.nix
|
./services/misc/nix-gc.nix
|
||||||
./services/misc/nix-ssh-serve.nix
|
./services/misc/nix-ssh-serve.nix
|
||||||
|
@ -160,7 +161,7 @@
|
||||||
./services/monitoring/graphite.nix
|
./services/monitoring/graphite.nix
|
||||||
./services/monitoring/monit.nix
|
./services/monitoring/monit.nix
|
||||||
./services/monitoring/munin.nix
|
./services/monitoring/munin.nix
|
||||||
./services/monitoring/nagios/default.nix
|
./services/monitoring/nagios.nix
|
||||||
./services/monitoring/smartd.nix
|
./services/monitoring/smartd.nix
|
||||||
./services/monitoring/statsd.nix
|
./services/monitoring/statsd.nix
|
||||||
./services/monitoring/systemhealth.nix
|
./services/monitoring/systemhealth.nix
|
||||||
|
|
|
@ -22,7 +22,7 @@ in
|
||||||
interval = 5;
|
interval = 5;
|
||||||
};
|
};
|
||||||
description = ''
|
description = ''
|
||||||
Parameters to be written to <filename>/etc/atoprc</filename>
|
Parameters to be written to <filename>/etc/atoprc</filename>.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,8 @@ in
|
||||||
environment.variables =
|
environment.variables =
|
||||||
{ LOCATE_PATH = "/var/cache/locatedb";
|
{ LOCATE_PATH = "/var/cache/locatedb";
|
||||||
NIXPKGS_CONFIG = "/etc/nix/nixpkgs-config.nix";
|
NIXPKGS_CONFIG = "/etc/nix/nixpkgs-config.nix";
|
||||||
PAGER = "less -R";
|
PAGER = mkDefault "less -R";
|
||||||
EDITOR = "nano";
|
EDITOR = mkDefault "nano";
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.sessionVariables =
|
environment.sessionVariables =
|
||||||
|
|
|
@ -6,12 +6,10 @@ let
|
||||||
cfg = config.security.grsecurity;
|
cfg = config.security.grsecurity;
|
||||||
|
|
||||||
customGrsecPkg =
|
customGrsecPkg =
|
||||||
(import ../../../pkgs/build-support/grsecurity
|
(import ../../../pkgs/build-support/grsecurity {
|
||||||
{
|
grsecOptions = cfg;
|
||||||
inherit lib pkgs;
|
inherit pkgs lib;
|
||||||
grsecOptions = cfg;
|
}).grsecPackage;
|
||||||
}
|
|
||||||
).grsecPackage;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
|
@ -36,14 +34,6 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
vserver = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Enable the stable grsecurity/vserver patches, based on Linux 3.2.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
testing = mkOption {
|
testing = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
|
@ -246,9 +236,6 @@ in
|
||||||
both.
|
both.
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
{ assertion = (cfg.testing -> !cfg.vserver);
|
|
||||||
message = "The vserver patches are only supported in the stable kernel.";
|
|
||||||
}
|
|
||||||
{ assertion = (cfg.config.restrictProc -> !cfg.config.restrictProcWithGroup) ||
|
{ assertion = (cfg.config.restrictProc -> !cfg.config.restrictProcWithGroup) ||
|
||||||
(cfg.config.restrictProcWithGroup -> !cfg.config.restrictProc);
|
(cfg.config.restrictProcWithGroup -> !cfg.config.restrictProc);
|
||||||
message = "You cannot enable both restrictProc and restrictProcWithGroup";
|
message = "You cannot enable both restrictProc and restrictProcWithGroup";
|
||||||
|
|
|
@ -50,7 +50,7 @@ in
|
||||||
|
|
||||||
user = mkOption {
|
user = mkOption {
|
||||||
default = "redis";
|
default = "redis";
|
||||||
description = "User account under which Redis runs";
|
description = "User account under which Redis runs.";
|
||||||
};
|
};
|
||||||
|
|
||||||
pidFile = mkOption {
|
pidFile = mkOption {
|
||||||
|
@ -60,26 +60,26 @@ in
|
||||||
|
|
||||||
port = mkOption {
|
port = mkOption {
|
||||||
default = 6379;
|
default = 6379;
|
||||||
description = "The port for Redis to listen to";
|
description = "The port for Redis to listen to.";
|
||||||
type = with types; int;
|
type = with types; int;
|
||||||
};
|
};
|
||||||
|
|
||||||
bind = mkOption {
|
bind = mkOption {
|
||||||
default = null; # All interfaces
|
default = null; # All interfaces
|
||||||
description = "The IP interface to bind to";
|
description = "The IP interface to bind to.";
|
||||||
example = "127.0.0.1";
|
example = "127.0.0.1";
|
||||||
};
|
};
|
||||||
|
|
||||||
unixSocket = mkOption {
|
unixSocket = mkOption {
|
||||||
default = null;
|
default = null;
|
||||||
description = "The path to the socket to bind to";
|
description = "The path to the socket to bind to.";
|
||||||
example = "/var/run/redis.sock";
|
example = "/var/run/redis.sock";
|
||||||
};
|
};
|
||||||
|
|
||||||
logLevel = mkOption {
|
logLevel = mkOption {
|
||||||
default = "notice"; # debug, verbose, notice, warning
|
default = "notice"; # debug, verbose, notice, warning
|
||||||
example = "debug";
|
example = "debug";
|
||||||
description = "Specify the server verbosity level, options: debug, verbose, notice, warning";
|
description = "Specify the server verbosity level, options: debug, verbose, notice, warning.";
|
||||||
type = with types; string;
|
type = with types; string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -110,19 +110,19 @@ in
|
||||||
|
|
||||||
dbFilename = mkOption {
|
dbFilename = mkOption {
|
||||||
default = "dump.rdb";
|
default = "dump.rdb";
|
||||||
description = "The filename where to dump the DB";
|
description = "The filename where to dump the DB.";
|
||||||
type = with types; string;
|
type = with types; string;
|
||||||
};
|
};
|
||||||
|
|
||||||
dbpath = mkOption {
|
dbpath = mkOption {
|
||||||
default = "/var/lib/redis";
|
default = "/var/lib/redis";
|
||||||
description = "The DB will be written inside this directory, with the filename specified using the 'dbFilename' configuration";
|
description = "The DB will be written inside this directory, with the filename specified using the 'dbFilename' configuration.";
|
||||||
type = with types; string;
|
type = with types; string;
|
||||||
};
|
};
|
||||||
|
|
||||||
slaveOf = mkOption {
|
slaveOf = mkOption {
|
||||||
default = null; # { ip, port }
|
default = null; # { ip, port }
|
||||||
description = "An attribute set with two attributes: ip and port to which this redis instance acts as a slave";
|
description = "An attribute set with two attributes: ip and port to which this redis instance acts as a slave.";
|
||||||
example = { ip = "192.168.1.100"; port = 6379; };
|
example = { ip = "192.168.1.100"; port = 6379; };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -154,26 +154,26 @@ in
|
||||||
|
|
||||||
appendFsync = mkOption {
|
appendFsync = mkOption {
|
||||||
default = "everysec"; # no, always, everysec
|
default = "everysec"; # no, always, everysec
|
||||||
description = "How often to fsync the append-only log, options: no, always, everysec";
|
description = "How often to fsync the append-only log, options: no, always, everysec.";
|
||||||
type = with types; string;
|
type = with types; string;
|
||||||
};
|
};
|
||||||
|
|
||||||
slowLogLogSlowerThan = mkOption {
|
slowLogLogSlowerThan = mkOption {
|
||||||
default = 10000;
|
default = 10000;
|
||||||
description = "Log queries whose execution take longer than X in milliseconds";
|
description = "Log queries whose execution take longer than X in milliseconds.";
|
||||||
example = 1000;
|
example = 1000;
|
||||||
type = with types; int;
|
type = with types; int;
|
||||||
};
|
};
|
||||||
|
|
||||||
slowLogMaxLen = mkOption {
|
slowLogMaxLen = mkOption {
|
||||||
default = 128;
|
default = 128;
|
||||||
description = "Maximum number of items to keep in slow log";
|
description = "Maximum number of items to keep in slow log.";
|
||||||
type = with types; int;
|
type = with types; int;
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = mkOption {
|
extraConfig = mkOption {
|
||||||
default = "";
|
default = "";
|
||||||
description = "Extra configuration options for redis.conf";
|
description = "Extra configuration options for redis.conf.";
|
||||||
type = with types; string;
|
type = with types; string;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -30,11 +30,11 @@ with lib;
|
||||||
|
|
||||||
config = mkIf config.services.accounts-daemon.enable {
|
config = mkIf config.services.accounts-daemon.enable {
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.accountservice ];
|
environment.systemPackages = [ pkgs.accountsservice ];
|
||||||
|
|
||||||
services.dbus.packages = [ pkgs.accountservice ];
|
services.dbus.packages = [ pkgs.accountsservice ];
|
||||||
|
|
||||||
systemd.packages = [ pkgs.accountservice ];
|
systemd.packages = [ pkgs.accountsservice ];
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
|
@ -34,6 +34,12 @@ in
|
||||||
description = "Packages providing extra SANE backends to enable.";
|
description = "Packages providing extra SANE backends to enable.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hardware.sane.configDir = mkOption {
|
||||||
|
type = types.string;
|
||||||
|
default = "${saneConfig}/etc/sane.d";
|
||||||
|
description = "The value of SANE_CONFIG_DIR.";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -42,8 +48,8 @@ in
|
||||||
config = mkIf config.hardware.sane.enable {
|
config = mkIf config.hardware.sane.enable {
|
||||||
|
|
||||||
environment.systemPackages = backends;
|
environment.systemPackages = backends;
|
||||||
environment.variables = {
|
environment.sessionVariables = {
|
||||||
SANE_CONFIG_DIR = mkDefault "${saneConfig}/etc/sane.d";
|
SANE_CONFIG_DIR = config.hardware.sane.configDir;
|
||||||
LD_LIBRARY_PATH = [ "${saneConfig}/lib/sane" ];
|
LD_LIBRARY_PATH = [ "${saneConfig}/lib/sane" ];
|
||||||
};
|
};
|
||||||
services.udev.packages = backends;
|
services.udev.packages = backends;
|
||||||
|
|
|
@ -17,6 +17,11 @@ in
|
||||||
description = "Enable logstash";
|
description = "Enable logstash";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enableWeb = mkOption {
|
||||||
|
default = false;
|
||||||
|
description = "Enable logstash web interface";
|
||||||
|
};
|
||||||
|
|
||||||
inputConfig = mkOption {
|
inputConfig = mkOption {
|
||||||
default = ''stdin { type => "example" }'';
|
default = ''stdin { type => "example" }'';
|
||||||
description = "Logstash input configuration";
|
description = "Logstash input configuration";
|
||||||
|
@ -62,7 +67,7 @@ in
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
systemd.services.logstash = with pkgs; {
|
systemd.services.logstash = with pkgs; {
|
||||||
description = "Logstash daemon";
|
description = "Logstash Daemon";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
@ -78,7 +83,7 @@ in
|
||||||
output {
|
output {
|
||||||
${cfg.outputConfig}
|
${cfg.outputConfig}
|
||||||
}
|
}
|
||||||
''}";
|
''} ${optionalString cfg.enableWeb "-- web"}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
66
nixos/modules/services/misc/gitolite.nix
Normal file
66
nixos/modules/services/misc/gitolite.nix
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.gitolite;
|
||||||
|
pubkeyFile = pkgs.writeText "gitolite-admin.pub" cfg.adminPubkey;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
services.gitolite = {
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Enable gitolite management under the
|
||||||
|
<literal>gitolite</literal> user. The Gitolite home
|
||||||
|
directory is <literal>/var/lib/gitolite</literal>. After
|
||||||
|
switching to a configuration with Gitolite enabled, you can
|
||||||
|
then run <literal>git clone
|
||||||
|
gitolite@host:gitolite-admin.git</literal> to manage it further.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
adminPubkey = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
Initial administrative public key for Gitolite. This should
|
||||||
|
be an SSH Public Key. Note that this key will only be used
|
||||||
|
once, upon the first initialization of the Gitolite user.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
users.extraUsers.gitolite = {
|
||||||
|
description = "Gitolite user";
|
||||||
|
home = "/var/lib/gitolite";
|
||||||
|
createHome = true;
|
||||||
|
uid = config.ids.uids.gitolite;
|
||||||
|
useDefaultShell = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services."gitolite-init" = {
|
||||||
|
description = "Gitolite initialization";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
|
serviceConfig.User = "gitolite";
|
||||||
|
serviceConfig.Type = "oneshot";
|
||||||
|
serviceConfig.RemainAfterExit = true;
|
||||||
|
|
||||||
|
path = [ pkgs.gitolite pkgs.git pkgs.perl pkgs.bash pkgs.openssh ];
|
||||||
|
script = ''
|
||||||
|
cd /var/lib/gitolite
|
||||||
|
mkdir -p .gitolite/logs
|
||||||
|
if [ ! -d repositories ]; then
|
||||||
|
gitolite setup -pk ${pubkeyFile}
|
||||||
|
fi
|
||||||
|
gitolite setup # Upgrade if needed
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.gitolite pkgs.git ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -4,21 +4,12 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
cfg = config.services.nagios;
|
cfg = config.services.nagios;
|
||||||
|
|
||||||
nagiosUser = "nagios";
|
|
||||||
nagiosGroup = "nogroup";
|
|
||||||
|
|
||||||
nagiosState = "/var/lib/nagios";
|
nagiosState = "/var/lib/nagios";
|
||||||
nagiosLogDir = "/var/log/nagios";
|
nagiosLogDir = "/var/log/nagios";
|
||||||
|
|
||||||
nagiosObjectDefs =
|
nagiosObjectDefs = cfg.objectDefs;
|
||||||
[ ./timeperiods.cfg
|
|
||||||
./host-templates.cfg
|
|
||||||
./service-templates.cfg
|
|
||||||
./commands.cfg
|
|
||||||
] ++ cfg.objectDefs;
|
|
||||||
|
|
||||||
nagiosObjectDefsDir = pkgs.runCommand "nagios-objects" {inherit nagiosObjectDefs;}
|
nagiosObjectDefsDir = pkgs.runCommand "nagios-objects" {inherit nagiosObjectDefs;}
|
||||||
"ensureDir $out; ln -s $nagiosObjectDefs $out/";
|
"ensureDir $out; ln -s $nagiosObjectDefs $out/";
|
||||||
|
@ -30,19 +21,20 @@ let
|
||||||
log_archive_path=${nagiosLogDir}/archive
|
log_archive_path=${nagiosLogDir}/archive
|
||||||
status_file=${nagiosState}/status.dat
|
status_file=${nagiosState}/status.dat
|
||||||
object_cache_file=${nagiosState}/objects.cache
|
object_cache_file=${nagiosState}/objects.cache
|
||||||
comment_file=${nagiosState}/comment.dat
|
|
||||||
downtime_file=${nagiosState}/downtime.dat
|
|
||||||
temp_file=${nagiosState}/nagios.tmp
|
temp_file=${nagiosState}/nagios.tmp
|
||||||
lock_file=/var/run/nagios.lock # Not used I think.
|
lock_file=/var/run/nagios.lock # Not used I think.
|
||||||
state_retention_file=${nagiosState}/retention.dat
|
state_retention_file=${nagiosState}/retention.dat
|
||||||
|
query_socket=${nagiosState}/nagios.qh
|
||||||
|
check_result_path=${nagiosState}
|
||||||
|
command_file=${nagiosState}/nagios.cmd
|
||||||
|
|
||||||
# Configuration files.
|
# Configuration files.
|
||||||
#resource_file=resource.cfg
|
#resource_file=resource.cfg
|
||||||
cfg_dir=${nagiosObjectDefsDir}
|
cfg_dir=${nagiosObjectDefsDir}
|
||||||
|
|
||||||
# Uid/gid that the daemon runs under.
|
# Uid/gid that the daemon runs under.
|
||||||
nagios_user=${nagiosUser}
|
nagios_user=nagios
|
||||||
nagios_group=${nagiosGroup}
|
nagios_group=nogroup
|
||||||
|
|
||||||
# Misc. options.
|
# Misc. options.
|
||||||
illegal_macro_output_chars=`~$&|'"<>
|
illegal_macro_output_chars=`~$&|'"<>
|
||||||
|
@ -53,26 +45,24 @@ let
|
||||||
# authentication.
|
# authentication.
|
||||||
nagiosCGICfgFile = pkgs.writeText "nagios.cgi.conf"
|
nagiosCGICfgFile = pkgs.writeText "nagios.cgi.conf"
|
||||||
''
|
''
|
||||||
main_config_file=${nagiosCfgFile}
|
main_config_file=${cfg.mainConfigFile}
|
||||||
use_authentication=0
|
use_authentication=0
|
||||||
url_html_path=/nagios
|
url_html_path=${cfg.urlPath}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
urlPath = cfg.urlPath;
|
|
||||||
|
|
||||||
extraHttpdConfig =
|
extraHttpdConfig =
|
||||||
''
|
''
|
||||||
ScriptAlias ${urlPath}/cgi-bin ${pkgs.nagios}/sbin
|
ScriptAlias ${cfg.urlPath}/cgi-bin ${pkgs.nagios}/sbin
|
||||||
|
|
||||||
<Directory "${pkgs.nagios}/sbin">
|
<Directory "${pkgs.nagios}/sbin">
|
||||||
Options ExecCGI
|
Options ExecCGI
|
||||||
AllowOverride None
|
AllowOverride None
|
||||||
Order allow,deny
|
Order allow,deny
|
||||||
Allow from all
|
Allow from all
|
||||||
SetEnv NAGIOS_CGI_CONFIG ${nagiosCGICfgFile}
|
SetEnv NAGIOS_CGI_CONFIG ${cfg.cgiConfigFile}
|
||||||
</Directory>
|
</Directory>
|
||||||
|
|
||||||
Alias ${urlPath} ${pkgs.nagios}/share
|
Alias ${cfg.urlPath} ${pkgs.nagios}/share
|
||||||
|
|
||||||
<Directory "${pkgs.nagios}/share">
|
<Directory "${pkgs.nagios}/share">
|
||||||
Options None
|
Options None
|
||||||
|
@ -83,14 +73,9 @@ let
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
###### interface
|
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
|
||||||
services.nagios = {
|
services.nagios = {
|
||||||
|
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
default = false;
|
default = false;
|
||||||
description = "
|
description = "
|
||||||
|
@ -116,6 +101,21 @@ in
|
||||||
";
|
";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mainConfigFile = mkOption {
|
||||||
|
default = nagiosCfgFile;
|
||||||
|
description = "
|
||||||
|
Derivation for the main configuration file of Nagios.
|
||||||
|
";
|
||||||
|
};
|
||||||
|
|
||||||
|
cgiConfigFile = mkOption {
|
||||||
|
default = nagiosCGICfgFile;
|
||||||
|
description = "
|
||||||
|
Derivation for the configuration file of Nagios CGI scripts
|
||||||
|
that can be used in web servers for running the Nagios web interface.
|
||||||
|
";
|
||||||
|
};
|
||||||
|
|
||||||
enableWebInterface = mkOption {
|
enableWebInterface = mkOption {
|
||||||
default = false;
|
default = false;
|
||||||
description = "
|
description = "
|
||||||
|
@ -132,55 +132,53 @@ in
|
||||||
<literal>http://<replaceable>server</replaceable>/<replaceable>urlPath</replaceable></literal>.
|
<literal>http://<replaceable>server</replaceable>/<replaceable>urlPath</replaceable></literal>.
|
||||||
";
|
";
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
###### implementation
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
users.extraUsers.nagios = {
|
||||||
users.extraUsers = singleton
|
description = "Nagios user ";
|
||||||
{ name = nagiosUser;
|
uid = config.ids.uids.nagios;
|
||||||
uid = config.ids.uids.nagios;
|
home = nagiosState;
|
||||||
description = "Nagios monitoring daemon";
|
createHome = true;
|
||||||
home = nagiosState;
|
};
|
||||||
};
|
|
||||||
|
|
||||||
# This isn't needed, it's just so that the user can type "nagiostats
|
# This isn't needed, it's just so that the user can type "nagiostats
|
||||||
# -c /etc/nagios.cfg".
|
# -c /etc/nagios.cfg".
|
||||||
environment.etc = singleton
|
environment.etc = [
|
||||||
{ source = nagiosCfgFile;
|
{ source = cfg.mainConfigFile;
|
||||||
target = "nagios.cfg";
|
target = "nagios.cfg";
|
||||||
};
|
}
|
||||||
|
];
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.nagios ];
|
environment.systemPackages = [ pkgs.nagios ];
|
||||||
|
systemd.services.nagios = {
|
||||||
|
description = "Nagios monitoring daemon";
|
||||||
|
path = [ pkgs.nagios ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [ "network-interfaces.target" ];
|
||||||
|
|
||||||
jobs.nagios =
|
serviceConfig = {
|
||||||
{ description = "Nagios monitoring daemon";
|
User = "nagios";
|
||||||
|
Restart = "always";
|
||||||
startOn = "started network-interfaces";
|
RestartSec = 2;
|
||||||
stopOn = "stopping network-interfaces";
|
PermissionsStartOnly = true;
|
||||||
|
|
||||||
preStart =
|
|
||||||
''
|
|
||||||
mkdir -m 0755 -p ${nagiosState} ${nagiosLogDir}
|
|
||||||
chown ${nagiosUser} ${nagiosState} ${nagiosLogDir}
|
|
||||||
'';
|
|
||||||
|
|
||||||
script =
|
|
||||||
''
|
|
||||||
for i in ${toString config.services.nagios.plugins}; do
|
|
||||||
export PATH=$i/bin:$i/sbin:$i/libexec:$PATH
|
|
||||||
done
|
|
||||||
exec ${pkgs.nagios}/bin/nagios ${nagiosCfgFile}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
preStart = ''
|
||||||
|
mkdir -m 0755 -p ${nagiosState} ${nagiosLogDir}
|
||||||
|
chown nagios ${nagiosState} ${nagiosLogDir}
|
||||||
|
'';
|
||||||
|
|
||||||
|
script = ''
|
||||||
|
for i in ${toString cfg.plugins}; do
|
||||||
|
export PATH=$i/bin:$i/sbin:$i/libexec:$PATH
|
||||||
|
done
|
||||||
|
exec ${pkgs.nagios}/bin/nagios ${cfg.mainConfigFile}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
services.httpd.extraConfig = optionalString cfg.enableWebInterface extraHttpdConfig;
|
services.httpd.extraConfig = optionalString cfg.enableWebInterface extraHttpdConfig;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,34 +0,0 @@
|
||||||
define command {
|
|
||||||
command_name host-notify-by-email
|
|
||||||
command_line printf "%b" "To: $CONTACTEMAIL$\nSubject: [Nagios] Host $HOSTSTATE$ alert for $HOSTNAME$\n\n***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | sendmail $CONTACTEMAIL$
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
define command {
|
|
||||||
command_name notify-by-email
|
|
||||||
command_line printf "%b" "To: $CONTACTEMAIL$\nSubject: [Nagios] $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$\n\n***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | sendmail $CONTACTEMAIL$
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
define command {
|
|
||||||
command_name dummy-ok
|
|
||||||
command_line true
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
define command {
|
|
||||||
command_name check-host-alive
|
|
||||||
command_line check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 1
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
define command {
|
|
||||||
command_name check_local_disk
|
|
||||||
command_line check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
define command {
|
|
||||||
command_name check_ssh
|
|
||||||
command_line check_ssh $HOSTADDRESS$
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
define host {
|
|
||||||
name generic-host
|
|
||||||
notifications_enabled 1
|
|
||||||
event_handler_enabled 1
|
|
||||||
flap_detection_enabled 1
|
|
||||||
failure_prediction_enabled 1
|
|
||||||
process_perf_data 1
|
|
||||||
retain_status_information 1
|
|
||||||
retain_nonstatus_information 1
|
|
||||||
notification_period 24x7
|
|
||||||
register 0
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
define host {
|
|
||||||
name generic-server
|
|
||||||
use generic-host
|
|
||||||
check_period 24x7
|
|
||||||
max_check_attempts 10
|
|
||||||
check_command check-host-alive
|
|
||||||
notification_period 24x7
|
|
||||||
notification_interval 120
|
|
||||||
notification_options d,u,r
|
|
||||||
contact_groups admins
|
|
||||||
register 0
|
|
||||||
#check_interval 1
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
define service {
|
|
||||||
name generic-service
|
|
||||||
active_checks_enabled 1
|
|
||||||
passive_checks_enabled 1
|
|
||||||
parallelize_check 1
|
|
||||||
obsess_over_service 1
|
|
||||||
check_freshness 0
|
|
||||||
notifications_enabled 1
|
|
||||||
event_handler_enabled 1
|
|
||||||
flap_detection_enabled 1
|
|
||||||
failure_prediction_enabled 1
|
|
||||||
process_perf_data 1
|
|
||||||
retain_status_information 1
|
|
||||||
retain_nonstatus_information 1
|
|
||||||
is_volatile 0
|
|
||||||
register 0
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
define service {
|
|
||||||
name local-service
|
|
||||||
use generic-service
|
|
||||||
check_period 24x7
|
|
||||||
max_check_attempts 4
|
|
||||||
normal_check_interval 5
|
|
||||||
retry_check_interval 1
|
|
||||||
contact_groups admins
|
|
||||||
notification_options w,u,c,r
|
|
||||||
notification_interval 0 # notify only once
|
|
||||||
notification_period 24x7
|
|
||||||
register 0
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
define timeperiod {
|
|
||||||
timeperiod_name 24x7
|
|
||||||
alias 24 Hours A Day, 7 Days A Week
|
|
||||||
sunday 00:00-24:00
|
|
||||||
monday 00:00-24:00
|
|
||||||
tuesday 00:00-24:00
|
|
||||||
wednesday 00:00-24:00
|
|
||||||
thursday 00:00-24:00
|
|
||||||
friday 00:00-24:00
|
|
||||||
saturday 00:00-24:00
|
|
||||||
}
|
|
|
@ -27,37 +27,37 @@ in {
|
||||||
|
|
||||||
options.services.elasticsearch = {
|
options.services.elasticsearch = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
description = "Whether to enable elasticsearch";
|
description = "Whether to enable elasticsearch.";
|
||||||
default = false;
|
default = false;
|
||||||
type = types.uniq types.bool;
|
type = types.uniq types.bool;
|
||||||
};
|
};
|
||||||
|
|
||||||
host = mkOption {
|
host = mkOption {
|
||||||
description = "Elasticsearch listen address";
|
description = "Elasticsearch listen address.";
|
||||||
default = "127.0.0.1";
|
default = "127.0.0.1";
|
||||||
type = types.str;
|
type = types.str;
|
||||||
};
|
};
|
||||||
|
|
||||||
port = mkOption {
|
port = mkOption {
|
||||||
description = "Elasticsearch port to listen for HTTP traffic";
|
description = "Elasticsearch port to listen for HTTP traffic.";
|
||||||
default = 9200;
|
default = 9200;
|
||||||
type = types.int;
|
type = types.int;
|
||||||
};
|
};
|
||||||
|
|
||||||
tcp_port = mkOption {
|
tcp_port = mkOption {
|
||||||
description = "Elasticsearch port for the node to node communication";
|
description = "Elasticsearch port for the node to node communication.";
|
||||||
default = 9300;
|
default = 9300;
|
||||||
type = types.int;
|
type = types.int;
|
||||||
};
|
};
|
||||||
|
|
||||||
cluster_name = mkOption {
|
cluster_name = mkOption {
|
||||||
description = "Elasticsearch name that identifies your cluster for auto-discovery";
|
description = "Elasticsearch name that identifies your cluster for auto-discovery.";
|
||||||
default = "elasticsearch";
|
default = "elasticsearch";
|
||||||
type = types.str;
|
type = types.str;
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConf = mkOption {
|
extraConf = mkOption {
|
||||||
description = "Extra configuration for elasticsearch";
|
description = "Extra configuration for elasticsearch.";
|
||||||
default = "";
|
default = "";
|
||||||
type = types.str;
|
type = types.str;
|
||||||
example = ''
|
example = ''
|
||||||
|
@ -70,7 +70,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
logging = mkOption {
|
logging = mkOption {
|
||||||
description = "Elasticsearch logging configuration";
|
description = "Elasticsearch logging configuration.";
|
||||||
default = ''
|
default = ''
|
||||||
rootLogger: INFO, console
|
rootLogger: INFO, console
|
||||||
logger:
|
logger:
|
||||||
|
@ -93,18 +93,26 @@ in {
|
||||||
Data directory for elasticsearch.
|
Data directory for elasticsearch.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extraCmdLineOptions = mkOption {
|
||||||
|
description = "Extra command line options for the elasticsearch launcher.";
|
||||||
|
default = [];
|
||||||
|
type = types.listOf types.string;
|
||||||
|
example = [ "-Djava.net.preferIPv4Stack=true" ];
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
###### implementation
|
###### implementation
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
systemd.services.elasticsearch = {
|
systemd.services.elasticsearch = {
|
||||||
description = "Elasticsearch daemon";
|
description = "Elasticsearch Daemon";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "network-interfaces.target" ];
|
after = [ "network-interfaces.target" ];
|
||||||
environment = { ES_HOME = cfg.dataDir; };
|
environment = { ES_HOME = cfg.dataDir; };
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${pkgs.elasticsearch}/bin/elasticsearch -Des.path.conf=${configDir}";
|
ExecStart = "${pkgs.elasticsearch}/bin/elasticsearch -Des.path.conf=${configDir} ${toString cfg.extraCmdLineOptions}";
|
||||||
User = "elasticsearch";
|
User = "elasticsearch";
|
||||||
PermissionsStartOnly = true;
|
PermissionsStartOnly = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -683,6 +683,13 @@ in
|
||||||
description = "Definition of systemd per-user service units.";
|
description = "Definition of systemd per-user service units.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.user.sockets = mkOption {
|
||||||
|
default = {};
|
||||||
|
type = types.attrsOf types.optionSet;
|
||||||
|
options = [ socketOptions unitConfig ];
|
||||||
|
description = "Definition of systemd per-user socket units.";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -767,7 +774,8 @@ in
|
||||||
in nameValuePair "${n}.automount" (automountToUnit n v)) cfg.automounts);
|
in nameValuePair "${n}.automount" (automountToUnit n v)) cfg.automounts);
|
||||||
|
|
||||||
systemd.user.units =
|
systemd.user.units =
|
||||||
mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.user.services;
|
mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.user.services
|
||||||
|
// mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit n v)) cfg.user.sockets;
|
||||||
|
|
||||||
system.requiredKernelConfig = map config.lib.kernelConfig.isEnabled
|
system.requiredKernelConfig = map config.lib.kernelConfig.isEnabled
|
||||||
[ "DEVTMPFS" "CGROUPS" "INOTIFY_USER" "SIGNALFD" "TIMERFD" "EPOLL" "NET"
|
[ "DEVTMPFS" "CGROUPS" "INOTIFY_USER" "SIGNALFD" "TIMERFD" "EPOLL" "NET"
|
||||||
|
|
|
@ -16,28 +16,28 @@ let
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
default = false;
|
default = false;
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
description = "The block device is backed by an encrypted one, adds this device as a initrd luks entry";
|
description = "The block device is backed by an encrypted one, adds this device as a initrd luks entry.";
|
||||||
};
|
};
|
||||||
|
|
||||||
blkDev = mkOption {
|
blkDev = mkOption {
|
||||||
default = null;
|
default = null;
|
||||||
example = "/dev/sda1";
|
example = "/dev/sda1";
|
||||||
type = types.uniq (types.nullOr types.string);
|
type = types.uniq (types.nullOr types.string);
|
||||||
description = "Location of the backing encrypted device";
|
description = "Location of the backing encrypted device.";
|
||||||
};
|
};
|
||||||
|
|
||||||
label = mkOption {
|
label = mkOption {
|
||||||
default = null;
|
default = null;
|
||||||
example = "rootfs";
|
example = "rootfs";
|
||||||
type = types.uniq (types.nullOr types.string);
|
type = types.uniq (types.nullOr types.string);
|
||||||
description = "Label of the backing encrypted device";
|
description = "Label of the backing encrypted device.";
|
||||||
};
|
};
|
||||||
|
|
||||||
keyFile = mkOption {
|
keyFile = mkOption {
|
||||||
default = null;
|
default = null;
|
||||||
example = "/root/.swapkey";
|
example = "/root/.swapkey";
|
||||||
type = types.uniq (types.nullOr types.string);
|
type = types.uniq (types.nullOr types.string);
|
||||||
description = "File system location of keyfile";
|
description = "File system location of keyfile.";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||||
nativeBuildInputs = [ cmake pkgconfig ];
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "high quality software synthesizer";
|
description = "High quality software synthesizer";
|
||||||
homepage = http://zynaddsubfx.sourceforge.net;
|
homepage = http://zynaddsubfx.sourceforge.net;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
|
|
@ -67,6 +67,6 @@ stdenv.mkDerivation rec {
|
||||||
license = "GPLv3+";
|
license = "GPLv3+";
|
||||||
|
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||||
platforms = stdenv.lib.platforms.gnu;
|
platforms = stdenv.lib.platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,6 +45,6 @@ stdenv.mkDerivation rec {
|
||||||
license = "GPLv3+";
|
license = "GPLv3+";
|
||||||
|
|
||||||
maintainers = with stdenv.lib.maintainers; [ chaoflow pSub ];
|
maintainers = with stdenv.lib.maintainers; [ chaoflow pSub ];
|
||||||
platforms = stdenv.lib.platforms.gnu;
|
platforms = stdenv.lib.platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,6 +49,6 @@ stdenv.mkDerivation (rec {
|
||||||
'';
|
'';
|
||||||
homepage = http://proofgeneral.inf.ed.ac.uk;
|
homepage = http://proofgeneral.inf.ed.ac.uk;
|
||||||
license = "GPLv2+";
|
license = "GPLv2+";
|
||||||
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
platforms = stdenv.lib.platforms.unix; # arbitrary choice
|
||||||
};
|
};
|
||||||
})
|
})
|
|
@ -0,0 +1,48 @@
|
||||||
|
{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation (rec {
|
||||||
|
name = "ProofGeneral-4.3pre131011";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://proofgeneral.inf.ed.ac.uk/releases/ProofGeneral-4.3pre131011.tgz;
|
||||||
|
sha256 = "0104iy2xik5npkdg9p2ir6zqyrmdc93azrgm3ayvg0z76vmnb816";
|
||||||
|
};
|
||||||
|
|
||||||
|
sourceRoot = name;
|
||||||
|
|
||||||
|
buildInputs = [ emacs texinfo texLive perl which ];
|
||||||
|
|
||||||
|
prePatch =
|
||||||
|
'' sed -i "Makefile" \
|
||||||
|
-e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \
|
||||||
|
s|/sbin/install-info|install-info|g"
|
||||||
|
|
||||||
|
|
||||||
|
sed -i "bin/proofgeneral" -e's/which/type -p/g'
|
||||||
|
|
||||||
|
# @image{ProofGeneral} fails, so remove it.
|
||||||
|
sed -i '94d' doc/PG-adapting.texi
|
||||||
|
sed -i '96d' doc/ProofGeneral.texi
|
||||||
|
'';
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
make clean;
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase =
|
||||||
|
# Copy `texinfo.tex' in the right place so that `texi2pdf' works.
|
||||||
|
'' cp -v "${automake}/share/"automake-*/texinfo.tex doc
|
||||||
|
make install install-doc
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Proof General, an Emacs front-end for proof assistants";
|
||||||
|
longDescription = ''
|
||||||
|
Proof General is a generic front-end for proof assistants (also known as
|
||||||
|
interactive theorem provers), based on the customizable text editor Emacs.
|
||||||
|
'';
|
||||||
|
homepage = http://proofgeneral.inf.ed.ac.uk;
|
||||||
|
license = "GPLv2+";
|
||||||
|
platforms = stdenv.lib.platforms.unix; # arbitrary choice
|
||||||
|
};
|
||||||
|
})
|
|
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||||
preConfigure = "export gl_cv_func_fstatat_zero_flag=yes";
|
preConfigure = "export gl_cv_func_fstatat_zero_flag=yes";
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "GNU Zile, a lightweight Emacs clone";
|
description = "Lightweight Emacs clone";
|
||||||
|
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
GNU Zile, which is a lightweight Emacs clone. Zile is short
|
GNU Zile, which is a lightweight Emacs clone. Zile is short
|
||||||
|
|
|
@ -22,6 +22,14 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Drawing application";
|
description = "Drawing application";
|
||||||
|
longDescription = ''
|
||||||
|
Alchemy is an open drawing project aimed at exploring how we can sketch,
|
||||||
|
draw, and create on computers in new ways. Alchemy isn’t software for
|
||||||
|
creating finished artwork, but rather a sketching environment that
|
||||||
|
focuses on the absolute initial stage of the creation process.
|
||||||
|
Experimental in nature, Alchemy lets you brainstorm visually to explore
|
||||||
|
an expanded range of ideas and possibilities in a serendipitous way.
|
||||||
|
'';
|
||||||
homepage = http://al.chemy.org/;
|
homepage = http://al.chemy.org/;
|
||||||
license = stdenv.lib.licenses.gpl3Plus;
|
license = stdenv.lib.licenses.gpl3Plus;
|
||||||
maintainers = [stdenv.lib.maintainers.marcweber];
|
maintainers = [stdenv.lib.maintainers.marcweber];
|
||||||
|
|
31
pkgs/applications/misc/camlistore/default.nix
Normal file
31
pkgs/applications/misc/camlistore/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
{ stdenv, lib, go, fetchurl }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
version = "0.7";
|
||||||
|
name = "camlistore-${version}";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/bradfitz/camlistore/archive/0.7.tar.gz";
|
||||||
|
sha256 = "0lc35x2b9llrnma0m5czivly0c3l4lh3ldw9hwn83lkh8n0bzn11";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ go ];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
go run make.go
|
||||||
|
rm bin/README
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
ensureDir $out/bin
|
||||||
|
cp bin/* $out/bin
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Camlistore is a way of storing, syncing, sharing, modelling and backing up content";
|
||||||
|
homepage = https://camlistore.org;
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ cstrahan ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
36
pkgs/applications/misc/kdeconnect/default.nix
Normal file
36
pkgs/applications/misc/kdeconnect/default.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ stdenv, fetchurl, gettext, kdelibs, makeWrapper, qca2, qca2_ossl, qjson }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "kdeconnect-${version}";
|
||||||
|
version = "0.5.2.1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://download.kde.org/unstable/kdeconnect/0.5.2/src/kdeconnect-kde-${version}.tar.xz";
|
||||||
|
sha256 = "0g632ha7xcqf839c4h0dz5637bz6gnn2gz76dc0qq09zbrq49i08";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ gettext kdelibs makeWrapper qca2 qca2_ossl qjson ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram $out/lib/kde4/libexec/kdeconnectd --prefix QT_PLUGIN_PATH : ${qca2_ossl}/lib/qt4/plugins
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A tool to connect and sync your devices with KDE";
|
||||||
|
longDescription = ''
|
||||||
|
The corresponding Android app, "KDE Connect", is available in
|
||||||
|
F-Droid and Google play and has the following features:
|
||||||
|
|
||||||
|
- Share files and URLs to KDE from any app
|
||||||
|
- Clipboard share: copy from or to your desktop
|
||||||
|
- Notifications sync (4.3+): Read your Android notifications from KDE
|
||||||
|
- Multimedia remote control: Use your phone as a remote control
|
||||||
|
- WiFi connection: no usb wire or bluetooth needed
|
||||||
|
- RSA Encryption: your information is safe
|
||||||
|
'';
|
||||||
|
license = licenses.gpl2;
|
||||||
|
homepage = https://projects.kde.org/projects/playground/base/kdeconnect-kde;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = [ maintainers.goibhniu ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -4,11 +4,11 @@
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "st-0.4.1";
|
name = "st-0.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://dl.suckless.org/st/${name}.tar.gz";
|
url = "http://dl.suckless.org/st/${name}.tar.gz";
|
||||||
sha256 = "0cdzwbm5fxrwz8ryxkh90d3vwx54wjyywgj28ymsb5fdv3396bzf";
|
sha256 = "0knxpzaa86pprng6hak8hx8bw22yw22rpz1ffxjpcvqlz3xdv05f";
|
||||||
};
|
};
|
||||||
|
|
||||||
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
|
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
# -> http://get.adobe.com/flashplayer/
|
# -> http://get.adobe.com/flashplayer/
|
||||||
version = "11.2.202.359";
|
version = "11.2.202.378";
|
||||||
|
|
||||||
src =
|
src =
|
||||||
if stdenv.system == "x86_64-linux" then
|
if stdenv.system == "x86_64-linux" then
|
||||||
|
@ -47,7 +47,7 @@ let
|
||||||
else rec {
|
else rec {
|
||||||
inherit version;
|
inherit version;
|
||||||
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
|
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
|
||||||
sha256 = "13myq6f999qy1jbgm73gxnadrxdvasi2jiffdyxmwpbwglhhrpka";
|
sha256 = "08aw532k8y27s64ffdghz2k4zf0jsz65crvn3i9vxan29064la9c";
|
||||||
}
|
}
|
||||||
else if stdenv.system == "i686-linux" then
|
else if stdenv.system == "i686-linux" then
|
||||||
if debug then {
|
if debug then {
|
||||||
|
@ -58,7 +58,7 @@ let
|
||||||
} else rec {
|
} else rec {
|
||||||
inherit version;
|
inherit version;
|
||||||
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
|
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
|
||||||
sha256 = "04wh18jbscp7m3drvsxxhp2vjnhww69vw0pgr23hx81ry0ccvb8m";
|
sha256 = "1njy2pnhgr2hjz6kp9vl4cgxxszw2k6gmhjz88hx92aijv7s93wz";
|
||||||
}
|
}
|
||||||
else throw "Flash Player is not supported on this platform";
|
else throw "Flash Player is not supported on this platform";
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,16 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include -I${libxml2}/include/libxml2";
|
NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include -I${libxml2}/include/libxml2";
|
||||||
|
|
||||||
patchPhase = "sed -i 's/UpnpString_get_String(es_event->PublisherUrl)/es_event->PublisherUrl/' libretroshare/src/upnp/UPnPBase.cpp";
|
patchPhase = ''
|
||||||
|
sed -i 's/UpnpString_get_String(es_event->PublisherUrl)/es_event->PublisherUrl/' \
|
||||||
|
libretroshare/src/upnp/UPnPBase.cpp
|
||||||
|
# Extensions get installed
|
||||||
|
sed -i "s,/usr/lib/retroshare/extensions/,$out/share/retroshare," \
|
||||||
|
libretroshare/src/rsserver/rsinit.cc
|
||||||
|
# For bdboot.txt
|
||||||
|
sed -i "s,/usr/share/RetroShare,$out/share/retroshare," \
|
||||||
|
libretroshare/src/rsserver/rsinit.cc
|
||||||
|
'';
|
||||||
|
|
||||||
buildInputs = [ speex qt libupnp gpgme gnome3.libgnome_keyring glib libssh pkgconfig
|
buildInputs = [ speex qt libupnp gpgme gnome3.libgnome_keyring glib libssh pkgconfig
|
||||||
protobuf bzip2 libXScrnSaver curl libxml2 libxslt ];
|
protobuf bzip2 libXScrnSaver curl libxml2 libxslt ];
|
||||||
|
@ -24,8 +33,15 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
ln -s $out/retroshare-nogui $out/bin
|
mv $out/retroshare-nogui $out/bin
|
||||||
ln -s $out/RetroShare $out/bin
|
mv $out/RetroShare $out/bin
|
||||||
|
|
||||||
|
# plugins
|
||||||
|
mkdir -p $out/share/retroshare
|
||||||
|
mv $out/lib* $out/share/retroshare
|
||||||
|
|
||||||
|
# BT DHT bootstrap
|
||||||
|
cp libbitdht/src/bitdht/bdboot.txt $out/share/retroshare
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
|
|
@ -2,18 +2,16 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "syncthing-${version}";
|
name = "syncthing-${version}";
|
||||||
version = "0.8.11";
|
version = "0.8.15";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://github.com/calmh/syncthing.git";
|
url = "git://github.com/calmh/syncthing.git";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
sha256 = "16dl9sqwhv0n1602pmi10d5j7z2196ijhvz4rfx7732210qbkpnn";
|
sha256 = "0xv8kaji60zqxws72srh5hdi9fyvaipdcsawp6gcyahhr3cz0ddq";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ go ];
|
buildInputs = [ go ];
|
||||||
|
|
||||||
patches = [ ./upnp.patch ];
|
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
mkdir -p "./dependencies/src/github.com/calmh/syncthing"
|
mkdir -p "./dependencies/src/github.com/calmh/syncthing"
|
||||||
|
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
Trying to fix upnp for miniupnpd:
|
|
||||||
https://github.com/calmh/syncthing/issues/211
|
|
||||||
|
|
||||||
diff --git a/upnp/upnp.go b/upnp/upnp.go
|
|
||||||
index 9de719a..9c85b23 100644
|
|
||||||
--- a/upnp/upnp.go
|
|
||||||
+++ b/upnp/upnp.go
|
|
||||||
@@ -60,14 +60,12 @@ func Discover() (*IGD, error) {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
- search := []byte(`
|
|
||||||
-M-SEARCH * HTTP/1.1
|
|
||||||
-Host: 239.255.255.250:1900
|
|
||||||
-St: urn:schemas-upnp-org:device:InternetGatewayDevice:1
|
|
||||||
-Man: "ssdp:discover"
|
|
||||||
-Mx: 3
|
|
||||||
-
|
|
||||||
-`)
|
|
||||||
+ search := []byte("M-SEARCH * HTTP/1.1\r\n" +
|
|
||||||
+"Host: 239.255.255.250:1900\r\n" +
|
|
||||||
+"St: urn:schemas-upnp-org:device:InternetGatewayDevice:1\r\n" +
|
|
||||||
+"Man: \"ssdp:discover\"\r\n" +
|
|
||||||
+"Mx: 3\r\n" +
|
|
||||||
+"\r\n")
|
|
||||||
|
|
||||||
_, err = socket.WriteTo(search, ssdp)
|
|
||||||
if err != nil {
|
|
|
@ -27,7 +27,10 @@ stdenv.mkDerivation {
|
||||||
libgsf enchant wv libjpeg
|
libgsf enchant wv libjpeg
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
description = "Word processing program, similar to Microsof Word";
|
description = "Word processing program, similar to Microsoft Word";
|
||||||
|
homepage = http://www.abisource.com/;
|
||||||
|
license = licenses.gpl3;
|
||||||
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
assert (stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux");
|
assert (stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux");
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "4.0.20";
|
version = "4.0.21.1";
|
||||||
arch = if stdenv.system == "x86_64-linux"
|
arch = if stdenv.system == "x86_64-linux"
|
||||||
then "linux-x86_64"
|
then "linux-x86_64"
|
||||||
else "linux-i686";
|
else "linux-i686";
|
||||||
|
@ -14,8 +14,8 @@ stdenv.mkDerivation {
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.zotero.org/standalone/${version}/Zotero-${version}_${arch}.tar.bz2";
|
url = "https://download.zotero.org/standalone/${version}/Zotero-${version}_${arch}.tar.bz2";
|
||||||
sha256 = if stdenv.system == "x86_64-linux"
|
sha256 = if stdenv.system == "x86_64-linux"
|
||||||
then "0d7813k3h60fpxabdwiw83g5zfy9knxc9irgxxz60z31vd14zi0x"
|
then "1d6ih9q0daxxqqbr134la5y39648hpd53srf43lljjs8wr71wbn8"
|
||||||
else "0nj4mj22bkn2nwbkfs40kg4br6h6gcf718v9lfnvs13cyhx0wapc";
|
else "121myzwxw3frps77lpzza82glyz9qgwbl5bh3zngfx9vwx3n8q0v";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Strip the bundled xulrunner
|
# Strip the bundled xulrunner
|
||||||
|
|
|
@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://bazaar-vcs.org/;
|
homepage = http://bazaar-vcs.org/;
|
||||||
description = "A distributed version control system that Just Works";
|
description = "A distributed version control system that Just Works";
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = stdenv.lib.platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,7 +69,7 @@ rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
tig = import ./tig {
|
tig = import ./tig {
|
||||||
inherit stdenv fetchurl ncurses asciidoc xmlto docbook_xsl docbook_xml_dtd_45;
|
inherit stdenv fetchurl ncurses asciidoc xmlto docbook_xsl docbook_xml_dtd_45 readline;
|
||||||
};
|
};
|
||||||
|
|
||||||
hub = import ./hub {
|
hub = import ./hub {
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
, tastyHunit, tastyQuickcheck, tastyRerun, text, time, transformers
|
, tastyHunit, tastyQuickcheck, tastyRerun, text, time, transformers
|
||||||
, unixCompat, utf8String, uuid, wai, waiExtra, warp, warpTls, which
|
, unixCompat, utf8String, uuid, wai, waiExtra, warp, warpTls, which
|
||||||
, xmlTypes, yesod, yesodCore, yesodDefault, yesodForm, yesodStatic
|
, xmlTypes, yesod, yesodCore, yesodDefault, yesodForm, yesodStatic
|
||||||
|
, fsnotify
|
||||||
}:
|
}:
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
|
@ -21,9 +22,9 @@ cabal.mkDerivation (self: {
|
||||||
isExecutable = true;
|
isExecutable = true;
|
||||||
buildDepends = [
|
buildDepends = [
|
||||||
aeson async blazeBuilder bloomfilter byteable caseInsensitive
|
aeson async blazeBuilder bloomfilter byteable caseInsensitive
|
||||||
clientsession cryptoApi cryptohash dataDefault dataenc DAV dbus
|
clientsession cryptoApi cryptohash dataDefault dataenc DAV
|
||||||
dlist dns editDistance exceptions extensibleExceptions fdoNotify
|
dlist dns editDistance exceptions extensibleExceptions
|
||||||
feed filepath gnutls hamlet hinotify hS3 hslogger HTTP httpClient
|
feed filepath gnutls hamlet hS3 hslogger HTTP httpClient
|
||||||
httpConduit httpTypes IfElse json liftedBase MissingH monadControl
|
httpConduit httpTypes IfElse json liftedBase MissingH monadControl
|
||||||
mtl network networkConduit networkInfo networkMulticast
|
mtl network networkConduit networkInfo networkMulticast
|
||||||
networkProtocolXmpp optparseApplicative QuickCheck random regexTdfa
|
networkProtocolXmpp optparseApplicative QuickCheck random regexTdfa
|
||||||
|
@ -31,19 +32,13 @@ cabal.mkDerivation (self: {
|
||||||
tastyQuickcheck tastyRerun text time transformers unixCompat
|
tastyQuickcheck tastyRerun text time transformers unixCompat
|
||||||
utf8String uuid wai waiExtra warp warpTls xmlTypes yesod yesodCore
|
utf8String uuid wai waiExtra warp warpTls xmlTypes yesod yesodCore
|
||||||
yesodDefault yesodForm yesodStatic
|
yesodDefault yesodForm yesodStatic
|
||||||
];
|
] ++ (if (!self.stdenv.isDarwin) then [
|
||||||
|
dbus fdoNotify hinotify
|
||||||
|
] else [
|
||||||
|
fsnotify
|
||||||
|
]);
|
||||||
buildTools = [ bup curl git gnupg1 lsof openssh perl rsync which ];
|
buildTools = [ bup curl git gnupg1 lsof openssh perl rsync which ];
|
||||||
configureFlags = "-fS3
|
configureFlags = "-fAssistant -fProduction";
|
||||||
-fWebDAV
|
|
||||||
-fInotify
|
|
||||||
-fDbus
|
|
||||||
-fAssistant
|
|
||||||
-fWebapp
|
|
||||||
-fPairing
|
|
||||||
-fXMPP
|
|
||||||
-fDNS
|
|
||||||
-fProduction
|
|
||||||
-fTDFA";
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
export HOME="$NIX_BUILD_TOP/tmp"
|
export HOME="$NIX_BUILD_TOP/tmp"
|
||||||
mkdir "$HOME"
|
mkdir "$HOME"
|
||||||
|
|
|
@ -82,10 +82,6 @@ stdenv.mkDerivation {
|
||||||
# gitweb.cgi, need to patch so that it's found
|
# gitweb.cgi, need to patch so that it's found
|
||||||
sed -i -e "s|'compressor' => \['gzip'|'compressor' => ['${gzip}/bin/gzip'|" \
|
sed -i -e "s|'compressor' => \['gzip'|'compressor' => ['${gzip}/bin/gzip'|" \
|
||||||
$out/share/gitweb/gitweb.cgi
|
$out/share/gitweb/gitweb.cgi
|
||||||
|
|
||||||
wrapProgram $out/bin/git \
|
|
||||||
--set GIT_SSL_CAINFO "\$OPENSSL_X509_CERT_FILE"
|
|
||||||
|
|
||||||
''
|
''
|
||||||
|
|
||||||
+ (if svnSupport then
|
+ (if svnSupport then
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{ stdenv, fetchurl, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45 }:
|
{ stdenv, fetchurl, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45
|
||||||
|
, readline
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "tig-2.0.2";
|
name = "tig-2.0.2";
|
||||||
|
@ -8,7 +10,7 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "0gi7iqiij37b0d3izxymxaw5ns2mv1y7qfic0fhl7xj4s2rz075r";
|
sha256 = "0gi7iqiij37b0d3izxymxaw5ns2mv1y7qfic0fhl7xj4s2rz075r";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ncurses asciidoc xmlto docbook_xsl ];
|
buildInputs = [ ncurses asciidoc xmlto docbook_xsl readline ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
export XML_CATALOG_FILES='${docbook_xsl}/xml/xsl/docbook/catalog.xml ${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml'
|
export XML_CATALOG_FILES='${docbook_xsl}/xml/xsl/docbook/catalog.xml ${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml'
|
||||||
|
|
37
pkgs/applications/version-management/gitolite/default.nix
Normal file
37
pkgs/applications/version-management/gitolite/default.nix
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
{ stdenv, fetchurl, perl, git, fetchgit }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "gitolite-${version}";
|
||||||
|
version = "3.6.1";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "git://github.com/sitaramc/gitolite";
|
||||||
|
rev = "refs/tags/v${version}";
|
||||||
|
sha256 = "47e0e9c3137b05af96c091494ba918d61d1d3396749a04d63e7949ebcc6c6dca";
|
||||||
|
leaveDotGit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ perl git ];
|
||||||
|
buildPhase = "true";
|
||||||
|
|
||||||
|
patchPhase = ''
|
||||||
|
substituteInPlace ./install --replace " 2>/dev/null" ""
|
||||||
|
substituteInPlace src/lib/Gitolite/Hooks/PostUpdate.pm \
|
||||||
|
--replace /usr/bin/perl "/usr/bin/env perl"
|
||||||
|
substituteInPlace src/lib/Gitolite/Hooks/Update.pm \
|
||||||
|
--replace /usr/bin/perl "/usr/bin/env perl"
|
||||||
|
'';
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
git tag v${version} # Gitolite requires a tag for the version information :/
|
||||||
|
perl ./install -to $out/bin
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Finely-grained git repository hosting";
|
||||||
|
homepage = "http://gitolite.com/gitolite/index.html";
|
||||||
|
license = stdenv.lib.licenses.gpl2;
|
||||||
|
platforms = stdenv.lib.platforms.unix;
|
||||||
|
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -41,7 +41,7 @@ stdenv.mkDerivation {
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Cinelerra - Video Editor";
|
description = "Video Editor";
|
||||||
homepage = http://www.cinelerra.org;
|
homepage = http://www.cinelerra.org;
|
||||||
maintainers = [ stdenv.lib.maintainers.marcweber ];
|
maintainers = [ stdenv.lib.maintainers.marcweber ];
|
||||||
license = "GPLv2";
|
license = "GPLv2";
|
||||||
|
|
|
@ -4,11 +4,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "i3-${version}";
|
name = "i3-${version}";
|
||||||
version = "4.7.2";
|
version = "4.8";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://i3wm.org/downloads/${name}.tar.bz2";
|
url = "http://i3wm.org/downloads/${name}.tar.bz2";
|
||||||
sha256 = "14zkn5jgm0b7ablvxcxh9gdzq6mjdd6i1kl9dbmifl2a6rg5dr3g";
|
sha256 = "0sqvd8yqf9vwqrrvbpbf8k93b3qfa3q9289m82xq15r31wlk8b2h";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutil xcbutilwm
|
buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutil xcbutilwm
|
||||||
|
|
|
@ -217,7 +217,9 @@ clone_user_rev() {
|
||||||
fi;;
|
fi;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo "git revision is $(cd $dir && (git rev-parse $rev 2> /dev/null || git rev-parse refs/heads/fetchgit) | tail -n1)"
|
local full_revision=$(cd $dir && (git rev-parse $rev 2> /dev/null || git rev-parse refs/heads/fetchgit) | tail -n1)
|
||||||
|
echo "git revision is $full_revision"
|
||||||
|
echo "git human-readable version is $(cd $dir && (git describe $full_revision 2> /dev/null || git describe --tags $full_revision 2> /dev/null || echo -- none --))"
|
||||||
|
|
||||||
# Allow doing additional processing before .git removal
|
# Allow doing additional processing before .git removal
|
||||||
eval "$NIX_PREFETCH_GIT_CHECKOUT_HOOK"
|
eval "$NIX_PREFETCH_GIT_CHECKOUT_HOOK"
|
||||||
|
|
|
@ -373,4 +373,10 @@ rec {
|
||||||
http://lib.stat.cmu.edu/
|
http://lib.stat.cmu.edu/
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Hackage mirrors
|
||||||
|
hackage = [
|
||||||
|
http://hackage.haskell.org/package/
|
||||||
|
http://hdiff.luite.com/packages/archive/package/
|
||||||
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
153
pkgs/build-support/fetchzip/nix-prefetch-zip
Executable file
153
pkgs/build-support/fetchzip/nix-prefetch-zip
Executable file
|
@ -0,0 +1,153 @@
|
||||||
|
#! /bin/sh -e
|
||||||
|
|
||||||
|
usage(){
|
||||||
|
echo >&2 "syntax: nix-prefetch-zip [OPTIONS] [URL [EXPECTED-HASH]]
|
||||||
|
|
||||||
|
Options:
|
||||||
|
--url url The url of the archive to fetch.
|
||||||
|
--name name The name to use for the store path (defaults to \`basename \$url\`).
|
||||||
|
--hash hash The hash of unpacked archive.
|
||||||
|
--hash-type type Use the specified cryptographic hash algorithm, which can be one of md5, sha1, and sha256.
|
||||||
|
--leave-root Keep the root directory of the archive.
|
||||||
|
--help Show this help text.
|
||||||
|
"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
argi=0
|
||||||
|
argfun=""
|
||||||
|
for arg; do
|
||||||
|
if test -z "$argfun"; then
|
||||||
|
case $arg in
|
||||||
|
--url) argfun=set_url;;
|
||||||
|
--name) argfun=set_name;;
|
||||||
|
--hash) argfun=set_expHash;;
|
||||||
|
--hash-type) argfun=set_hashType;;
|
||||||
|
--leave-root) leaveRoot=true;;
|
||||||
|
--help) usage;;
|
||||||
|
*) argi=$(($argi + 1))
|
||||||
|
case $argi in
|
||||||
|
1) url=$arg;;
|
||||||
|
2) rev=$arg;;
|
||||||
|
3) expHash=$arg;;
|
||||||
|
*) echo "Unexpected argument: $arg" >&2
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
case $argfun in
|
||||||
|
set_*)
|
||||||
|
var=$(echo $argfun | sed 's,^set_,,')
|
||||||
|
eval "$var=\$arg"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
argfun=""
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "$url" ]; then
|
||||||
|
echo "Error: No --url flag given" >&2
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$name" ]; then
|
||||||
|
name=$(basename "$url")
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$hashType"; then
|
||||||
|
hashType=sha256
|
||||||
|
fi
|
||||||
|
|
||||||
|
hashFormat="--base32"
|
||||||
|
|
||||||
|
tmp=$(mktemp -d 2>/dev/null || mktemp -d -t "$$")
|
||||||
|
trap "rm -rf '$tmp'" EXIT
|
||||||
|
|
||||||
|
unpackDir=$tmp/unpacked/$name
|
||||||
|
mkdir -p $unpackDir
|
||||||
|
downloadedFile=$tmp/$name
|
||||||
|
|
||||||
|
unpackFile() {
|
||||||
|
local curSrc="$1"
|
||||||
|
|
||||||
|
case "$curSrc" in
|
||||||
|
*.tar.xz | *.tar.lzma)
|
||||||
|
# Don't rely on tar knowing about .xz.
|
||||||
|
xz -d < $curSrc | tar xf -
|
||||||
|
;;
|
||||||
|
*.tar | *.tar.* | *.tgz | *.tbz2)
|
||||||
|
# GNU tar can automatically select the decompression method
|
||||||
|
# (info "(tar) gzip").
|
||||||
|
tar xf $curSrc
|
||||||
|
;;
|
||||||
|
*.zip)
|
||||||
|
unzip -qq $curSrc
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "source archive $curSrc has unknown type" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# If the hash was given, a file with that hash may already be in the
|
||||||
|
# store.
|
||||||
|
if test -n "$expHash"; then
|
||||||
|
finalPath=$(nix-store --print-fixed-path --recursive "$hashType" "$expHash" "$name")
|
||||||
|
if ! nix-store --check-validity "$finalPath" 2> /dev/null; then
|
||||||
|
finalPath=
|
||||||
|
fi
|
||||||
|
hash=$expHash
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If we don't know the hash or a path with that hash doesn't exist,
|
||||||
|
# download the file and add it to the store.
|
||||||
|
if test -z "$finalPath"; then
|
||||||
|
curl="curl \
|
||||||
|
--location --max-redirs 20 \
|
||||||
|
--disable-epsv \
|
||||||
|
--insecure"
|
||||||
|
|
||||||
|
if ! $curl --fail "$url" --output "$downloadedFile"; then
|
||||||
|
echo "error: could not download $url" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $unpackDir
|
||||||
|
unpackFile "$downloadedFile"
|
||||||
|
|
||||||
|
# FIXME: handle zip files that contain a single regular file.
|
||||||
|
if [ -z "$leaveRoot" ]; then
|
||||||
|
shopt -s dotglob
|
||||||
|
if [ $(ls -d $unpackDir/* | wc -l) != 1 ]; then
|
||||||
|
echo "error: zip file must contain a single directory."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fn=$(cd "$unpackDir" && echo *)
|
||||||
|
mv $unpackDir/$fn/* "$unpackDir/"
|
||||||
|
rmdir "$unpackDir/$fn"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Compute the hash.
|
||||||
|
hash=$(nix-hash --type $hashType $hashFormat $unpackDir)
|
||||||
|
if ! test -n "$QUIET"; then echo "hash is $hash" >&2; fi
|
||||||
|
|
||||||
|
# Add the downloaded file to the Nix store.
|
||||||
|
finalPath=$(nix-store --add-fixed --recursive "$hashType" $unpackDir)
|
||||||
|
|
||||||
|
if test -n "$expHash" -a "$expHash" != "$hash"; then
|
||||||
|
echo "hash mismatch for URL \`$url'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! test -n "$QUIET"; then echo "path is $finalPath" >&2; fi
|
||||||
|
|
||||||
|
echo $hash
|
||||||
|
|
||||||
|
if test -n "$PRINT_PATH"; then
|
||||||
|
echo $finalPath
|
||||||
|
fi
|
|
@ -5,7 +5,6 @@ with lib;
|
||||||
let
|
let
|
||||||
cfg = {
|
cfg = {
|
||||||
stable = grsecOptions.stable or false;
|
stable = grsecOptions.stable or false;
|
||||||
vserver = grsecOptions.vserver or false;
|
|
||||||
testing = grsecOptions.testing or false;
|
testing = grsecOptions.testing or false;
|
||||||
config = {
|
config = {
|
||||||
mode = "auto";
|
mode = "auto";
|
||||||
|
@ -29,12 +28,11 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
test-patch = with pkgs.kernelPatches; grsecurity_unstable;
|
test-patch = with pkgs.kernelPatches; grsecurity_unstable;
|
||||||
stable-patch = with pkgs.kernelPatches;
|
stable-patch = with pkgs.kernelPatches; grsecurity_stable;
|
||||||
if cfg.vserver then grsecurity_vserver else grsecurity_stable;
|
|
||||||
|
|
||||||
grKernel = if (cfg.stable || cfg.vserver)
|
grKernel = if cfg.stable
|
||||||
then mkKernel pkgs.linux_3_2 stable-patch
|
then mkKernel pkgs.linux_3_14 stable-patch
|
||||||
else mkKernel pkgs.linux_3_14 test-patch;
|
else mkKernel pkgs.linux_3_15 test-patch;
|
||||||
|
|
||||||
## -- grsecurity configuration ---------------------------------------------
|
## -- grsecurity configuration ---------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -16,12 +16,6 @@ in
|
||||||
linux_grsec_stable_server_xen =
|
linux_grsec_stable_server_xen =
|
||||||
mkOpts "stable" "security" "server" "guest" "xen" true;
|
mkOpts "stable" "security" "server" "guest" "xen" true;
|
||||||
|
|
||||||
# Stable+vserver kernels - server versions only
|
|
||||||
linux_grsec_vserver_server =
|
|
||||||
mkOpts "vserver" "security" "server" "host" "kvm" true;
|
|
||||||
linux_grsec_vserver_server_xen =
|
|
||||||
mkOpts "vserver" "security" "server" "guest" "xen" true;
|
|
||||||
|
|
||||||
# Testing kernels
|
# Testing kernels
|
||||||
linux_grsec_testing_desktop =
|
linux_grsec_testing_desktop =
|
||||||
mkOpts "testing" "performance" "desktop" "host" "kvm" true;
|
mkOpts "testing" "performance" "desktop" "host" "kvm" true;
|
||||||
|
@ -29,4 +23,4 @@ in
|
||||||
mkOpts "testing" "security" "server" "host" "kvm" true;
|
mkOpts "testing" "security" "server" "host" "kvm" true;
|
||||||
linux_grsec_testing_server_xen =
|
linux_grsec_testing_server_xen =
|
||||||
mkOpts "testing" "security" "server" "guest" "xen" true;
|
mkOpts "testing" "security" "server" "guest" "xen" true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{ stdenv, fetchurlGnome, pkgconfig, glib, popt, zlib, libcanberra
|
{ stdenv, fetchurlGnome, pkgconfig, glib, popt, zlib, libcanberra
|
||||||
, intltool, libbonobo, GConf, gnome_vfs, ORBit2, libtool}:
|
, intltool, libbonobo, GConf, gnome_vfs, ORBit2, libtool, libogg
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = src.pkgname;
|
name = src.pkgname;
|
||||||
|
@ -14,5 +15,5 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [ popt zlib intltool GConf gnome_vfs libcanberra libtool ];
|
buildInputs = [ popt zlib intltool GConf gnome_vfs libcanberra libtool ];
|
||||||
propagatedBuildInputs = [ glib libbonobo ];
|
propagatedBuildInputs = [ glib libbonobo libogg ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountservice, libX11
|
{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountsservice, libX11
|
||||||
, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection }:
|
, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "1rva3djas48m8w1gyv3nds3jxfkirdfl0bk30x79mizrk80456jl";
|
sha256 = "1rva3djas48m8w1gyv3nds3jxfkirdfl0bk30x79mizrk80456jl";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgconfig glib itstool libxml2 intltool accountservice
|
buildInputs = [ pkgconfig glib itstool libxml2 intltool accountsservice
|
||||||
gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ];
|
gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, makeWrapper
|
{ fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, makeWrapper
|
||||||
, libcanberra, accountservice, libpwquality, pulseaudio, fontconfig
|
, libcanberra, accountsservice, libpwquality, pulseaudio, fontconfig
|
||||||
, gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify
|
, gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify
|
||||||
, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
|
, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
|
||||||
, cracklib, python, krb5, networkmanagerapplet, networkmanager
|
, cracklib, python, krb5, networkmanagerapplet, networkmanager
|
||||||
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
||||||
[ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas
|
[ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas
|
||||||
libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus
|
libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus
|
||||||
gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality
|
gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality
|
||||||
accountservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile
|
accountsservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile
|
||||||
shared_mime_info icu libtool docbook_xsl docbook_xsl_ns
|
shared_mime_info icu libtool docbook_xsl docbook_xsl_ns
|
||||||
networkmanager modemmanager makeWrapper ];
|
networkmanager modemmanager makeWrapper ];
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
, python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns
|
, python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns
|
||||||
, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
|
, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
|
||||||
, pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
|
, pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
|
||||||
, accountservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
|
, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
|
||||||
|
|
||||||
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
|
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = with gnome3;
|
buildInputs = with gnome3;
|
||||||
[ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountservice
|
[ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountsservice
|
||||||
libcroco intltool libsecret pkgconfig python libsoup polkit libcanberra gdk_pixbuf librsvg
|
libcroco intltool libsecret pkgconfig python libsoup polkit libcanberra gdk_pixbuf librsvg
|
||||||
clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
|
clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
|
||||||
libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
|
libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
|
||||||
|
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
||||||
wrapProgram "$out/bin/gnome-shell" \
|
wrapProgram "$out/bin/gnome-shell" \
|
||||||
--prefix PATH : "${unzip}/bin" \
|
--prefix PATH : "${unzip}/bin" \
|
||||||
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
|
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
|
||||||
--prefix LD_LIBRARY_PATH : "${accountservice}/lib:${ibus}/lib:${gdm}/lib" \
|
--prefix LD_LIBRARY_PATH : "${accountsservice}/lib:${ibus}/lib:${gdm}/lib" \
|
||||||
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
||||||
--prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:${gtk}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
|
--prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:${gtk}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
|
||||||
buildInputs = [ pkgconfig libxml2 glib ];
|
buildInputs = [ pkgconfig libxml2 glib ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
platforms = platforms.linux;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountservice, libX11
|
{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountsservice, libX11
|
||||||
, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection, dconf }:
|
, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection, dconf }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "cc91fff5afd2a7c3e712c960a0b60744774167dcfc16f486372e1eb3c0aa1cc4";
|
sha256 = "cc91fff5afd2a7c3e712c960a0b60744774167dcfc16f486372e1eb3c0aa1cc4";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgconfig glib itstool libxml2 intltool accountservice dconf
|
buildInputs = [ pkgconfig glib itstool libxml2 intltool accountsservice dconf
|
||||||
gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ];
|
gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, makeWrapper
|
{ fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, makeWrapper
|
||||||
, libcanberra, accountservice, libpwquality, pulseaudio, fontconfig
|
, libcanberra, accountsservice, libpwquality, pulseaudio, fontconfig
|
||||||
, gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify
|
, gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify
|
||||||
, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
|
, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
|
||||||
, cracklib, python, krb5, networkmanagerapplet, networkmanager
|
, cracklib, python, krb5, networkmanagerapplet, networkmanager
|
||||||
|
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||||
[ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas
|
[ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas
|
||||||
libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus
|
libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus
|
||||||
gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality
|
gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality
|
||||||
accountservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile
|
accountsservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile
|
||||||
shared_mime_info icu libtool docbook_xsl docbook_xsl_ns gnome3.grilo
|
shared_mime_info icu libtool docbook_xsl docbook_xsl_ns gnome3.grilo
|
||||||
gdk_pixbuf gnome3.gnome_icon_theme librsvg clutter clutter_gtk
|
gdk_pixbuf gnome3.gnome_icon_theme librsvg clutter clutter_gtk
|
||||||
hicolor_icon_theme gnome3.gnome_icon_theme_symbolic gnome3.vino
|
hicolor_icon_theme gnome3.gnome_icon_theme_symbolic gnome3.vino
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
, python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns
|
, python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns
|
||||||
, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
|
, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
|
||||||
, pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
|
, pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
|
||||||
, accountservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
|
, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
|
||||||
|
|
||||||
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
|
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = with gnome3;
|
buildInputs = with gnome3;
|
||||||
[ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountservice
|
[ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountsservice
|
||||||
libcroco intltool libsecret pkgconfig python libsoup polkit libcanberra gdk_pixbuf librsvg
|
libcroco intltool libsecret pkgconfig python libsoup polkit libcanberra gdk_pixbuf librsvg
|
||||||
clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
|
clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
|
||||||
libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
|
libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
|
||||||
|
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
|
||||||
wrapProgram "$out/bin/gnome-shell" \
|
wrapProgram "$out/bin/gnome-shell" \
|
||||||
--prefix PATH : "${unzip}/bin" \
|
--prefix PATH : "${unzip}/bin" \
|
||||||
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
|
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
|
||||||
--prefix LD_LIBRARY_PATH : "${accountservice}/lib:${ibus}/lib:${gdm}/lib" \
|
--prefix LD_LIBRARY_PATH : "${accountsservice}/lib:${ibus}/lib:${gdm}/lib" \
|
||||||
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
||||||
--prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
|
--prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
|
||||||
|
|
||||||
|
|
|
@ -63,8 +63,13 @@ stdenv.mkDerivation {
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
description = "Functional programming language based on Standard ML";
|
||||||
|
longDescription = ''
|
||||||
|
Alice ML is a functional programming language based on Standard ML,
|
||||||
|
extended with rich support for concurrent, distributed, and constraint
|
||||||
|
programming.
|
||||||
|
'';
|
||||||
homepage = http://www.ps.uni-saarland.de/alice/;
|
homepage = http://www.ps.uni-saarland.de/alice/;
|
||||||
description = "Alice ML is a functional programming language based on Standard ML, extended with rich support for concurrent, distributed, and constraint programming.";
|
|
||||||
license = "BSD";
|
license = "BSD";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ let
|
||||||
revision = "5666.3"; # Apple's fork revision number.
|
revision = "5666.3"; # Apple's fork revision number.
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation rec {
|
||||||
name = "gcc-apple-${version}.${revision}";
|
name = "gcc-apple-${version}.${revision}";
|
||||||
|
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
|
@ -33,8 +33,10 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
sourceRoot = "gcc-${revision}/";
|
sourceRoot = "gcc-${revision}/";
|
||||||
|
|
||||||
|
# The floor_log2_patch is from a Gentoo fix for the same issue:
|
||||||
|
# https://bugs.gentoo.org/attachment.cgi?id=363174&action=diff
|
||||||
patches =
|
patches =
|
||||||
[ ./pass-cxxcpp.patch ]
|
[ ./pass-cxxcpp.patch ./floor_log2_patch.diff ]
|
||||||
++ stdenv.lib.optional noSysDirs ./no-sys-dirs.patch
|
++ stdenv.lib.optional noSysDirs ./no-sys-dirs.patch
|
||||||
++ stdenv.lib.optional langCC ./fix-libstdc++-link.patch;
|
++ stdenv.lib.optional langCC ./fix-libstdc++-link.patch;
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,9 @@ Prevent our libstdc++.dylib from having a runtime dependency on
|
||||||
passed by g++ when it links libstdc++.dylib. Adding "-nostdlib" to
|
passed by g++ when it links libstdc++.dylib. Adding "-nostdlib" to
|
||||||
the g++ invocation prevents this.
|
the g++ invocation prevents this.
|
||||||
|
|
||||||
|
jww (2014-06-21): I've added several more patches to this, for building on
|
||||||
|
Mavericks.
|
||||||
|
|
||||||
diff -ru -x '*~' libstdcxx-39-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstdcxx-39/libstdcxx/libstdc++-v3/src/Makefile.in
|
diff -ru -x '*~' libstdcxx-39-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstdcxx-39/libstdcxx/libstdc++-v3/src/Makefile.in
|
||||||
--- x/libstdcxx/libstdc++-v3/src/Makefile.in 2006-10-16 21:08:22.000000000 +0200
|
--- x/libstdcxx/libstdc++-v3/src/Makefile.in 2006-10-16 21:08:22.000000000 +0200
|
||||||
+++ y/libstdcxx/libstdc++-v3/src/Makefile.in 2012-02-17 18:44:05.210570590 +0100
|
+++ y/libstdcxx/libstdc++-v3/src/Makefile.in 2012-02-17 18:44:05.210570590 +0100
|
||||||
|
@ -15,3 +18,54 @@ diff -ru -x '*~' libstdcxx-39-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstd
|
||||||
|
|
||||||
|
|
||||||
# Use special rules for the deprecated source files so that they find
|
# Use special rules for the deprecated source files so that they find
|
||||||
|
--- x/libstdcxx/libstdc++-v3/libsupc++/unwind-cxx.h
|
||||||
|
+++ y/libstdcxx/libstdc++-v3/libsupc++/unwind-cxx.h
|
||||||
|
@@ -38,7 +38,7 @@
|
||||||
|
#include <typeinfo>
|
||||||
|
#include <exception>
|
||||||
|
#include <cstddef>
|
||||||
|
-#include "unwind.h"
|
||||||
|
+#include "unwind-generic.h"
|
||||||
|
|
||||||
|
#pragma GCC visibility push(default)
|
||||||
|
|
||||||
|
@@ -133,7 +133,7 @@ extern "C" void __cxa_bad_typeid ();
|
||||||
|
// throws, and if bad_exception needs to be thrown. Called from the
|
||||||
|
// compiler.
|
||||||
|
extern "C" void __cxa_call_unexpected (void *) __attribute__((noreturn));
|
||||||
|
-extern "C" void __cxa_call_terminate (void*) __attribute__((noreturn));
|
||||||
|
+extern "C" void __cxa_call_terminate(_Unwind_Exception* ue_header);
|
||||||
|
|
||||||
|
#ifdef __ARM_EABI_UNWINDER__
|
||||||
|
// Arm EABI specified routines.
|
||||||
|
--- x/libstdcxx/libstdc++-v3/include/ext/bitmap_allocator.h
|
||||||
|
+++ y/libstdcxx/libstdc++-v3/include/ext/bitmap_allocator.h
|
||||||
|
@@ -549,6 +549,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
|
||||||
|
*/
|
||||||
|
class free_list
|
||||||
|
{
|
||||||
|
+ public:
|
||||||
|
typedef size_t* value_type;
|
||||||
|
typedef __detail::__mini_vector<value_type> vector_type;
|
||||||
|
typedef vector_type::iterator iterator;
|
||||||
|
--- x/libstdcxx/libstdc++-v3/include/ext/ropeimpl.h
|
||||||
|
+++ y/libstdcxx/libstdc++-v3/include/ext/ropeimpl.h
|
||||||
|
@@ -433,7 +433,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
|
||||||
|
{
|
||||||
|
size_t __old_len = __r->_M_size;
|
||||||
|
_CharT* __new_data = (_CharT*)
|
||||||
|
- _Data_allocate(_S_rounded_up_size(__old_len + __len));
|
||||||
|
+ _Base::_Data_allocate(_S_rounded_up_size(__old_len + __len));
|
||||||
|
_RopeLeaf* __result;
|
||||||
|
|
||||||
|
uninitialized_copy_n(__r->_M_data, __old_len, __new_data);
|
||||||
|
@@ -817,7 +817,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
|
||||||
|
if (__result_len > __lazy_threshold)
|
||||||
|
goto lazy;
|
||||||
|
__section = (_CharT*)
|
||||||
|
- _Data_allocate(_S_rounded_up_size(__result_len));
|
||||||
|
+ _Base::_Data_allocate(_S_rounded_up_size(__result_len));
|
||||||
|
try
|
||||||
|
{ (*(__f->_M_fn))(__start, __result_len, __section); }
|
||||||
|
catch(...)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
--- gcc-5666.3/gcc/toplev.h
|
||||||
|
+++ gcc-5666.3/gcc/toplev.h
|
||||||
|
@@ -151,6 +151,8 @@
|
||||||
|
/* Return true iff flags are set as if -ffast-math. */
|
||||||
|
extern bool fast_math_flags_set_p (void);
|
||||||
|
|
||||||
|
+#if GCC_VERSION < 3004
|
||||||
|
+
|
||||||
|
/* Return log2, or -1 if not exact. */
|
||||||
|
extern int exact_log2 (unsigned HOST_WIDE_INT);
|
||||||
|
|
||||||
|
@@ -158,7 +160,7 @@
|
||||||
|
extern int floor_log2 (unsigned HOST_WIDE_INT);
|
||||||
|
|
||||||
|
/* Inline versions of the above for speed. */
|
||||||
|
-#if GCC_VERSION >= 3004
|
||||||
|
+#else /* GCC_VERSION < 3004 */
|
||||||
|
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
|
||||||
|
# define CLZ_HWI __builtin_clzl
|
||||||
|
# define CTZ_HWI __builtin_ctzl
|
||||||
|
@@ -172,18 +172,18 @@
|
||||||
|
# define CTZ_HWI __builtin_ctz
|
||||||
|
# endif
|
||||||
|
|
||||||
|
-extern inline int
|
||||||
|
+static inline int
|
||||||
|
floor_log2 (unsigned HOST_WIDE_INT x)
|
||||||
|
{
|
||||||
|
return x ? HOST_BITS_PER_WIDE_INT - 1 - (int) CLZ_HWI (x) : -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
-extern inline int
|
||||||
|
+static inline int
|
||||||
|
exact_log2 (unsigned HOST_WIDE_INT x)
|
||||||
|
{
|
||||||
|
return x == (x & -x) && x ? (int) CTZ_HWI (x) : -1;
|
||||||
|
}
|
||||||
|
-#endif /* GCC_VERSION >= 3004 */
|
||||||
|
+#endif /* GCC_VERSION < 3004 */
|
||||||
|
|
||||||
|
/* Functions used to get and set GCC's notion of in what directory
|
||||||
|
compilation was started. */
|
||||||
|
--- gcc-5666.3/gcc/toplev.c
|
||||||
|
+++ gcc-5666.3/gcc/toplev.c
|
||||||
|
@@ -555,7 +555,7 @@
|
||||||
|
for floor_log2 and exact_log2; see toplev.h. That construct, however,
|
||||||
|
conflicts with the ISO C++ One Definition Rule. */
|
||||||
|
|
||||||
|
-#if GCC_VERSION < 3004 || !defined (__cplusplus)
|
||||||
|
+#if GCC_VERSION < 3004
|
||||||
|
|
||||||
|
/* Given X, an unsigned number, return the largest int Y such that 2**Y <= X.
|
||||||
|
If X is 0, return -1. */
|
||||||
|
@@ -607,7 +607,7 @@
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
-#endif /* GCC_VERSION < 3004 || !defined (__cplusplus) */
|
||||||
|
+#endif /* GCC_VERSION < 3004 */
|
||||||
|
|
||||||
|
/* Handler for fatal signals, such as SIGSEGV. These are transformed
|
||||||
|
into ICE messages, which is much more user friendly. In case the
|
94
pkgs/development/compilers/go/1.3.nix
Normal file
94
pkgs/development/compilers/go/1.3.nix
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
{ stdenv, lib, fetchurl, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc }:
|
||||||
|
|
||||||
|
let
|
||||||
|
loader386 = "${glibc}/lib/ld-linux.so.2";
|
||||||
|
loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2";
|
||||||
|
loaderArm = "${glibc}/lib/ld-linux.so.3";
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "go-1.3";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = https://storage.googleapis.com/golang/go1.3.src.tar.gz;
|
||||||
|
sha256 = "10jkqgzlinzynciw3wr15c7n2vw5q4d2ni65hbs3i61bbdn3x67b";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ bison bash makeWrapper ] ++ lib.optionals stdenv.isLinux [ glibc ] ;
|
||||||
|
|
||||||
|
# I'm not sure what go wants from its 'src', but the go installation manual
|
||||||
|
# describes an installation keeping the src.
|
||||||
|
preUnpack = ''
|
||||||
|
mkdir -p $out/share
|
||||||
|
cd $out/share
|
||||||
|
'';
|
||||||
|
|
||||||
|
prePatch = ''
|
||||||
|
# Ensure that the source directory is named go
|
||||||
|
cd ..
|
||||||
|
if [ ! -d go ]; then
|
||||||
|
mv * go
|
||||||
|
fi
|
||||||
|
cd go
|
||||||
|
patchShebangs ./ # replace /bin/bash
|
||||||
|
|
||||||
|
# Disabling the 'os/http/net' tests (they want files not available in
|
||||||
|
# chroot builds)
|
||||||
|
rm src/pkg/net/{multicast_test.go,parse_test.go,port_test.go}
|
||||||
|
# !!! substituteInPlace does not seems to be effective.
|
||||||
|
# The os test wants to read files in an existing path. Just don't let it be /usr/bin.
|
||||||
|
sed -i 's,/usr/bin,'"`pwd`", src/pkg/os/os_test.go
|
||||||
|
sed -i 's,/bin/pwd,'"`type -P pwd`", src/pkg/os/os_test.go
|
||||||
|
# Disable the unix socket test
|
||||||
|
sed -i '/TestShutdownUnix/areturn' src/pkg/net/net_test.go
|
||||||
|
# Disable the hostname test
|
||||||
|
sed -i '/TestHostname/areturn' src/pkg/os/os_test.go
|
||||||
|
sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/pkg/net/lookup_unix.go
|
||||||
|
'' + lib.optionalString stdenv.isLinux ''
|
||||||
|
sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go
|
||||||
|
sed -i 's,/lib/ld-linux.so.3,${loaderArm},' src/cmd/5l/asm.c
|
||||||
|
sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c
|
||||||
|
sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c
|
||||||
|
'';
|
||||||
|
|
||||||
|
patches = [ ./cacert-1.2.patch ];
|
||||||
|
|
||||||
|
GOOS = if stdenv.isDarwin then "darwin" else "linux";
|
||||||
|
GOARCH = if stdenv.isDarwin then "amd64"
|
||||||
|
else if stdenv.system == "i686-linux" then "386"
|
||||||
|
else if stdenv.system == "x86_64-linux" then "amd64"
|
||||||
|
else if stdenv.system == "armv5tel-linux" then "arm"
|
||||||
|
else throw "Unsupported system";
|
||||||
|
GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5";
|
||||||
|
GO386 = 387; # from Arch: don't assume sse2 on i686
|
||||||
|
CGO_ENABLED = 1;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
export CC=cc
|
||||||
|
|
||||||
|
# http://lists.science.uu.nl/pipermail/nix-dev/2013-October/011891.html
|
||||||
|
# Fix for "libgcc_s.so.1 must be installed for pthread_cancel to work"
|
||||||
|
# during tests:
|
||||||
|
export LD_LIBRARY_PATH="$(dirname $(echo ${stdenv.gcc.gcc}/lib*/libgcc_s.so))"
|
||||||
|
|
||||||
|
mkdir -p "$out/bin"
|
||||||
|
export GOROOT="$(pwd)/"
|
||||||
|
export GOBIN="$out/bin"
|
||||||
|
export PATH="$GOBIN:$PATH"
|
||||||
|
cd ./src
|
||||||
|
./all.bash
|
||||||
|
cd -
|
||||||
|
|
||||||
|
# Copy the emacs configuration for Go files.
|
||||||
|
mkdir -p "$out/share/emacs/site-lisp"
|
||||||
|
cp ./misc/emacs/* $out/share/emacs/site-lisp/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://golang.org/;
|
||||||
|
description = "The Go Programming language";
|
||||||
|
license = "BSD";
|
||||||
|
maintainers = with stdenv.lib.maintainers; [ cstrahan ];
|
||||||
|
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
|
||||||
|
};
|
||||||
|
}
|
54
pkgs/development/compilers/go/gox.nix
Normal file
54
pkgs/development/compilers/go/gox.nix
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
{ stdenv, lib, go, fetchFromGitHub }:
|
||||||
|
|
||||||
|
let
|
||||||
|
goDeps = [
|
||||||
|
{
|
||||||
|
root = "github.com/mitchellh/gox";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "mitchellh";
|
||||||
|
repo = "gox";
|
||||||
|
rev = "c7329055e2aeb253a947e5cc876586ff4ca19199";
|
||||||
|
sha256 = "0zhb88jjxqn3sdc4bpzvajqvgi9igp5gk03q12gaksaxhy2wl4jy";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
root = "github.com/mitchellh/iochan";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "mitchellh";
|
||||||
|
repo = "iochan";
|
||||||
|
rev = "b584a329b193e206025682ae6c10cdbe03b0cd77";
|
||||||
|
sha256 = "1fcwdhfci41ibpng2j4c1bqfng578cwzb3c00yw1lnbwwhaq9r6b";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
sources = stdenv.mkDerivation rec {
|
||||||
|
name = "go-deps";
|
||||||
|
buildCommand =
|
||||||
|
lib.concatStrings
|
||||||
|
(map (dep: ''
|
||||||
|
mkdir -p $out/src/`dirname ${dep.root}`
|
||||||
|
ln -s ${dep.src} $out/src/${dep.root}
|
||||||
|
'') goDeps);
|
||||||
|
};
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "gox";
|
||||||
|
|
||||||
|
src = sources;
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ go ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
ensureDir $out/bin
|
||||||
|
export GOPATH=$src
|
||||||
|
go build -v -o $out/bin/gox github.com/mitchellh/gox
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A simple, no-frills tool for Go cross compilation that behaves a lot like standard go build";
|
||||||
|
homepage = https://github.com/mitchellh/gox;
|
||||||
|
maintainers = with maintainers; [ cstrahan ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
31
pkgs/development/compilers/sbcl/bootstrap.nix
Normal file
31
pkgs/development/compilers/sbcl/bootstrap.nix
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
{ stdenv, fetchurl }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "sbcl-bootstrap-${version}";
|
||||||
|
version = "1.1.8";
|
||||||
|
|
||||||
|
src = if stdenv.isDarwin
|
||||||
|
then fetchurl {
|
||||||
|
url = mirror://sourceforge/project/sbcl/sbcl/1.1.8/sbcl-1.1.8-x86-64-darwin-binary.tar.bz2;
|
||||||
|
sha256 = "006pr88053wclvbjfjdypnbiw8wymbzdzi7a6kbkpdfn4zf5943j";
|
||||||
|
}
|
||||||
|
else fetchurl {
|
||||||
|
url = mirror://sourceforge/project/sbcl/sbcl/1.1.8/sbcl-1.1.8-x86-64-linux-binary.tar.bz2;
|
||||||
|
sha256 = "0lh1jglxlfwk4cm6sgwk1jnb6ikhbrkx7p5aha2nbmkd6zl96prx";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
ensureDir $out/bin
|
||||||
|
cp -p src/runtime/sbcl $out/bin
|
||||||
|
ensureDir $out/share/sbcl
|
||||||
|
cp -p output/sbcl.core $out/share/sbcl
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Lisp compiler";
|
||||||
|
homepage = "http://www.sbcl.org";
|
||||||
|
license = "bsd";
|
||||||
|
maintainers = [stdenv.lib.maintainers.raskin];
|
||||||
|
platforms = stdenv.lib.platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,36 +1,18 @@
|
||||||
a :
|
{ stdenv, fetchurl, sbclBootstrap, clisp}:
|
||||||
let
|
|
||||||
fetchurl = a.fetchurl;
|
stdenv.mkDerivation rec {
|
||||||
s= # Generated upstream information
|
name = "sbcl-${version}";
|
||||||
rec {
|
version = "1.2.0";
|
||||||
baseName="sbcl";
|
|
||||||
version="1.2.0";
|
src = fetchurl {
|
||||||
name="${baseName}-${version}";
|
url = mirror://sourceforge/project/sbcl/sbcl/1.2.0/sbcl-1.2.0-source.tar.bz2;
|
||||||
hash="13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2";
|
sha256 = "13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2";
|
||||||
url="mirror://sourceforge/project/sbcl/sbcl/1.2.0/sbcl-1.2.0-source.tar.bz2";
|
|
||||||
sha256="13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2";
|
|
||||||
};
|
};
|
||||||
buildInputs = with a; [
|
|
||||||
clisp makeWrapper
|
|
||||||
];
|
|
||||||
in
|
|
||||||
rec {
|
|
||||||
src = a.fetchUrlFromSrcInfo s;
|
|
||||||
|
|
||||||
inherit buildInputs;
|
buildInputs = [ sbclBootstrap ] ++ stdenv.lib.optional stdenv.isLinux clisp;
|
||||||
configureFlags = [];
|
|
||||||
|
|
||||||
/* doConfigure should be removed if not needed */
|
patchPhase = ''
|
||||||
phaseNames = ["setVars" "doFixNewer" "doFixTests" "setVersion" "doPatch" "doBuild" "doInstall" "doWrap"];
|
echo '"${version}.nixos"' > version.lisp-expr
|
||||||
|
|
||||||
setVars = a.fullDepEntry (''
|
|
||||||
export INSTALL_ROOT=$out
|
|
||||||
mkdir test-home
|
|
||||||
export HOME=$PWD/test-home
|
|
||||||
'') ["minInit"];
|
|
||||||
|
|
||||||
setVersion = a.fullDepEntry (''
|
|
||||||
echo '"${s.version}.nixos"' > version.lisp-expr
|
|
||||||
echo "
|
echo "
|
||||||
(lambda (features)
|
(lambda (features)
|
||||||
(flet ((enable (x)
|
(flet ((enable (x)
|
||||||
|
@ -38,14 +20,11 @@ rec {
|
||||||
(disable (x)
|
(disable (x)
|
||||||
(setf features (remove x features))))
|
(setf features (remove x features))))
|
||||||
(enable :sb-thread))) " > customize-target-features.lisp
|
(enable :sb-thread))) " > customize-target-features.lisp
|
||||||
'') ["minInit" "doUnpack"];
|
|
||||||
|
|
||||||
/* SBCL checks whether files are up-to-date in many places.. Unfortunately, same timestamp
|
|
||||||
is not good enought
|
|
||||||
*/
|
|
||||||
doFixNewer = a.fullDepEntry(''
|
|
||||||
pwd
|
pwd
|
||||||
|
|
||||||
|
# SBCL checks whether files are up-to-date in many places..
|
||||||
|
# Unfortunately, same timestamp is not good enough
|
||||||
sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
|
sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
|
||||||
sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
|
sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
|
||||||
sed -i src/cold/slam.lisp -e \
|
sed -i src/cold/slam.lisp -e \
|
||||||
|
@ -56,13 +35,8 @@ rec {
|
||||||
'/date defaulted-fasl/a)'
|
'/date defaulted-fasl/a)'
|
||||||
sed -i src/code/target-load.lisp -e \
|
sed -i src/code/target-load.lisp -e \
|
||||||
'/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
|
'/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
|
||||||
'') ["minInit" "doUnpack"];
|
|
||||||
|
|
||||||
doWrap = a.fullDepEntry (''
|
# Fix the tests
|
||||||
wrapProgram "$out/bin/sbcl" --set "SBCL_HOME" "$out/lib/sbcl"
|
|
||||||
'') ["minInit" "addInputs"];
|
|
||||||
|
|
||||||
doFixTests = a.fullDepEntry (''
|
|
||||||
sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
|
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 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 .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp
|
||||||
|
@ -70,24 +44,31 @@ rec {
|
||||||
|
|
||||||
sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
|
sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
|
||||||
sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
|
sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
|
||||||
'') ["minInit" "doUnpack"];
|
'';
|
||||||
|
|
||||||
doBuild = a.fullDepEntry (''
|
preBuild = ''
|
||||||
sh make.sh clisp
|
export INSTALL_ROOT=$out
|
||||||
'') ["minInit" "doUnpack" "addInputs"];
|
ensureDir test-home
|
||||||
|
export HOME=$PWD/test-home
|
||||||
|
'';
|
||||||
|
|
||||||
doInstall = a.fullDepEntry (''
|
buildPhase = if stdenv.isLinux
|
||||||
sh install.sh
|
then ''
|
||||||
'') ["doBuild" "minInit" "addInputs"];
|
sh make.sh clisp --prefix=$out
|
||||||
|
''
|
||||||
|
else ''
|
||||||
|
sh make.sh --prefix=$out --xc-host='${sbclBootstrap}/bin/sbcl --core ${sbclBootstrap}/share/sbcl/sbcl.core --disable-debugger --no-userinit --no-sysinit'
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
INSTALL_ROOT=$out sh install.sh
|
||||||
|
'';
|
||||||
|
|
||||||
inherit(s) name;
|
|
||||||
inherit(s) version;
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Lisp compiler";
|
description = "Lisp compiler";
|
||||||
homepage = "http://www.sbcl.org";
|
homepage = http://www.sbcl.org;
|
||||||
license = "bsd";
|
license = stdenv.lib.licenses.bsd3;
|
||||||
maintainers = [a.lib.maintainers.raskin];
|
maintainers = [stdenv.lib.maintainers.raskin];
|
||||||
platforms = with a.lib.platforms; all;
|
platforms = stdenv.lib.platforms.all;
|
||||||
inherit(s) version;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
11
pkgs/development/interpreters/perl/5.20/cpp-precomp.patch
Normal file
11
pkgs/development/interpreters/perl/5.20/cpp-precomp.patch
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- a/hints/darwin.sh 2013-05-08 11:13:45.000000000 -0600
|
||||||
|
+++ b/hints/darwin.sh 2013-05-08 11:15:04.000000000 -0600
|
||||||
|
@@ -129,7 +129,7 @@
|
||||||
|
|
||||||
|
# Avoid Apple's cpp precompiler, better for extensions
|
||||||
|
if [ "X`echo | ${cc} -no-cpp-precomp -E - 2>&1 >/dev/null`" = "X" ]; then
|
||||||
|
- cppflags="${cppflags} -no-cpp-precomp"
|
||||||
|
+ #cppflags="${cppflags} -no-cpp-precomp"
|
||||||
|
|
||||||
|
# This is necessary because perl's build system doesn't
|
||||||
|
# apply cppflags to cc compile lines as it should.
|
68
pkgs/development/interpreters/perl/5.20/default.nix
Normal file
68
pkgs/development/interpreters/perl/5.20/default.nix
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
{ stdenv, fetchurl }:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
libc = if stdenv.gcc.libc or null != null then stdenv.gcc.libc else "/usr";
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
with {
|
||||||
|
inherit (stdenv.lib) optional optionalString;
|
||||||
|
};
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "perl-5.20.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://cpan/src/${name}.tar.gz";
|
||||||
|
sha256 = "00ndpgw4bjing9gy2y6jvs3q46mv2ll6zrxjkhpr12fcdsnji32f";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches =
|
||||||
|
[ # Do not look in /usr etc. for dependencies.
|
||||||
|
./no-sys-dirs.patch
|
||||||
|
]
|
||||||
|
++ optional stdenv.isSunOS ./ld-shared.patch
|
||||||
|
++ stdenv.lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ;
|
||||||
|
|
||||||
|
# Build a thread-safe Perl with a dynamic libperls.o. We need the
|
||||||
|
# "installstyle" option to ensure that modules are put under
|
||||||
|
# $out/lib/perl5 - this is the general default, but because $out
|
||||||
|
# contains the string "perl", Configure would select $out/lib.
|
||||||
|
# Miniperl needs -lm. perl needs -lrt.
|
||||||
|
configureFlags =
|
||||||
|
[ "-de"
|
||||||
|
"-Dcc=gcc"
|
||||||
|
"-Uinstallusrbinperl"
|
||||||
|
"-Dinstallstyle=lib/perl5"
|
||||||
|
"-Duseshrplib"
|
||||||
|
"-Dlocincpth=${libc}/include"
|
||||||
|
"-Dloclibpth=${libc}/lib"
|
||||||
|
]
|
||||||
|
++ optional (stdenv ? glibc) "-Dusethreads";
|
||||||
|
|
||||||
|
configureScript = "${stdenv.shell} ./Configure";
|
||||||
|
|
||||||
|
dontAddPrefix = true;
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
preConfigure =
|
||||||
|
''
|
||||||
|
configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3"
|
||||||
|
|
||||||
|
${optionalString stdenv.isArm ''
|
||||||
|
configureFlagsArray=(-Dldflags="-lm -lrt")
|
||||||
|
''}
|
||||||
|
'';
|
||||||
|
|
||||||
|
preBuild = optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools))
|
||||||
|
''
|
||||||
|
# Make Cwd work on NixOS (where we don't have a /bin/pwd).
|
||||||
|
substituteInPlace dist/PathTools/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'"
|
||||||
|
'';
|
||||||
|
|
||||||
|
setupHook = ./setup-hook.sh;
|
||||||
|
|
||||||
|
passthru.libPrefix = "lib/perl5/site_perl";
|
||||||
|
}
|
11
pkgs/development/interpreters/perl/5.20/ld-shared.patch
Normal file
11
pkgs/development/interpreters/perl/5.20/ld-shared.patch
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- perl-5.16.2/hints/solaris_2.sh.orig 2013-02-14 19:29:49.453988140 +0000
|
||||||
|
+++ perl-5.16.2/hints/solaris_2.sh 2013-02-14 19:30:31.681631019 +0000
|
||||||
|
@@ -568,7 +568,7 @@
|
||||||
|
# ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
|
||||||
|
# fi
|
||||||
|
ldflags="$ldflags -m64"
|
||||||
|
- lddlflags="$lddlflags -G -m64"
|
||||||
|
+ lddlflags="$lddlflags -shared -m64"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
getconfccflags="`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
|
12
pkgs/development/interpreters/perl/5.20/no-libutil.patch
Normal file
12
pkgs/development/interpreters/perl/5.20/no-libutil.patch
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
|
||||||
|
--- perl-5.14.2-orig/Configure 2011-09-26 11:44:34.000000000 +0200
|
||||||
|
+++ perl-5.14.2/Configure 2012-02-16 17:24:50.779839039 +0100
|
||||||
|
@@ -1368,7 +1368,7 @@
|
||||||
|
: List of libraries we want.
|
||||||
|
: If anyone needs extra -lxxx, put those in a hint file.
|
||||||
|
libswanted="socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld sun"
|
||||||
|
-libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
|
||||||
|
+libswanted="$libswanted m crypt sec c cposix posix ucb bsd BSD"
|
||||||
|
: We probably want to search /usr/shlib before most other libraries.
|
||||||
|
: This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
|
||||||
|
glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
|
250
pkgs/development/interpreters/perl/5.20/no-sys-dirs.patch
Normal file
250
pkgs/development/interpreters/perl/5.20/no-sys-dirs.patch
Normal file
|
@ -0,0 +1,250 @@
|
||||||
|
diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure perl-5.20.0/Configure
|
||||||
|
--- perl-5.20.0-orig/Configure 2014-05-26 15:34:18.000000000 +0200
|
||||||
|
+++ perl-5.20.0/Configure 2014-06-25 10:43:35.368285986 +0200
|
||||||
|
@@ -106,15 +106,7 @@
|
||||||
|
fi
|
||||||
|
|
||||||
|
: Proper PATH setting
|
||||||
|
-paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin'
|
||||||
|
-paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin"
|
||||||
|
-paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
|
||||||
|
-paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
|
||||||
|
-paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
|
||||||
|
-paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin"
|
||||||
|
-paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
|
||||||
|
-paths="$paths /sbin /usr/sbin /usr/libexec"
|
||||||
|
-paths="$paths /system/gnu_library/bin"
|
||||||
|
+paths=''
|
||||||
|
|
||||||
|
for p in $paths
|
||||||
|
do
|
||||||
|
@@ -1337,8 +1329,7 @@
|
||||||
|
archname=''
|
||||||
|
: Possible local include directories to search.
|
||||||
|
: Set locincpth to "" in a hint file to defeat local include searches.
|
||||||
|
-locincpth="/usr/local/include /opt/local/include /usr/gnu/include"
|
||||||
|
-locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
|
||||||
|
+locincpth=""
|
||||||
|
:
|
||||||
|
: no include file wanted by default
|
||||||
|
inclwanted=''
|
||||||
|
@@ -1349,17 +1340,12 @@
|
||||||
|
|
||||||
|
libnames=''
|
||||||
|
: change the next line if compiling for Xenix/286 on Xenix/386
|
||||||
|
-xlibpth='/usr/lib/386 /lib/386'
|
||||||
|
+xlibpth=''
|
||||||
|
: Possible local library directories to search.
|
||||||
|
-loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
|
||||||
|
-loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
|
||||||
|
+loclibpth=""
|
||||||
|
|
||||||
|
: general looking path for locating libraries
|
||||||
|
-glibpth="/lib /usr/lib $xlibpth"
|
||||||
|
-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
|
||||||
|
-test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
|
||||||
|
-test -f /shlib/libc.so && glibpth="/shlib $glibpth"
|
||||||
|
-test -d /usr/lib64 && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"
|
||||||
|
+glibpth=""
|
||||||
|
|
||||||
|
: Private path used by Configure to find libraries. Its value
|
||||||
|
: is prepended to libpth. This variable takes care of special
|
||||||
|
@@ -1391,8 +1377,6 @@
|
||||||
|
libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
|
||||||
|
: We probably want to search /usr/shlib before most other libraries.
|
||||||
|
: This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
|
||||||
|
-glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
|
||||||
|
-glibpth="/usr/shlib $glibpth"
|
||||||
|
: Do not use vfork unless overridden by a hint file.
|
||||||
|
usevfork=false
|
||||||
|
|
||||||
|
@@ -2446,7 +2430,6 @@
|
||||||
|
zip
|
||||||
|
"
|
||||||
|
pth=`echo $PATH | sed -e "s/$p_/ /g"`
|
||||||
|
-pth="$pth $sysroot/lib $sysroot/usr/lib"
|
||||||
|
for file in $loclist; do
|
||||||
|
eval xxx=\$$file
|
||||||
|
case "$xxx" in
|
||||||
|
@@ -4936,7 +4919,7 @@
|
||||||
|
: Set private lib path
|
||||||
|
case "$plibpth" in
|
||||||
|
'') if ./mips; then
|
||||||
|
- plibpth="$incpath/usr/lib $sysroot/usr/local/lib $sysroot/usr/ccs/lib"
|
||||||
|
+ plibpth="$incpath/usr/lib"
|
||||||
|
fi;;
|
||||||
|
esac
|
||||||
|
case "$libpth" in
|
||||||
|
@@ -8600,13 +8583,8 @@
|
||||||
|
echo " "
|
||||||
|
case "$sysman" in
|
||||||
|
'')
|
||||||
|
- syspath='/usr/share/man/man1 /usr/man/man1'
|
||||||
|
- syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1"
|
||||||
|
- syspath="$syspath /usr/man/u_man/man1"
|
||||||
|
- syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1"
|
||||||
|
- syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1"
|
||||||
|
- syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1"
|
||||||
|
- sysman=`./loc . /usr/man/man1 $syspath`
|
||||||
|
+ syspath=''
|
||||||
|
+ sysman=''
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if $test -d "$sysman"; then
|
||||||
|
@@ -19900,9 +19878,10 @@
|
||||||
|
case "$full_ar" in
|
||||||
|
'') full_ar=$ar ;;
|
||||||
|
esac
|
||||||
|
+full_ar=ar
|
||||||
|
|
||||||
|
: Store the full pathname to the sed program for use in the C program
|
||||||
|
-full_sed=$sed
|
||||||
|
+full_sed=sed
|
||||||
|
|
||||||
|
: see what type gids are declared as in the kernel
|
||||||
|
echo " "
|
||||||
|
Only in perl-5.20.0/: Configure.orig
|
||||||
|
diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/ext/Errno/Errno_pm.PL perl-5.20.0/ext/Errno/Errno_pm.PL
|
||||||
|
--- perl-5.20.0-orig/ext/Errno/Errno_pm.PL 2014-05-26 15:34:20.000000000 +0200
|
||||||
|
+++ perl-5.20.0/ext/Errno/Errno_pm.PL 2014-06-25 10:31:24.317970047 +0200
|
||||||
|
@@ -126,11 +126,7 @@
|
||||||
|
if ($dep =~ /(\S+errno\.h)/) {
|
||||||
|
$file{$1} = 1;
|
||||||
|
}
|
||||||
|
- } elsif ($^O eq 'linux' &&
|
||||||
|
- $Config{gccversion} ne '' &&
|
||||||
|
- $Config{gccversion} !~ /intel/i
|
||||||
|
- # might be using, say, Intel's icc
|
||||||
|
- ) {
|
||||||
|
+ } elsif (0) {
|
||||||
|
# When cross-compiling we may store a path for gcc's "sysroot" option:
|
||||||
|
my $sysroot = $Config{sysroot} || '';
|
||||||
|
# Some Linuxes have weird errno.hs which generate
|
||||||
|
Only in perl-5.20.0/ext/Errno: Errno_pm.PL.orig
|
||||||
|
diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/freebsd.sh perl-5.20.0/hints/freebsd.sh
|
||||||
|
--- perl-5.20.0-orig/hints/freebsd.sh 2014-01-31 22:55:51.000000000 +0100
|
||||||
|
+++ perl-5.20.0/hints/freebsd.sh 2014-06-25 10:25:53.263964680 +0200
|
||||||
|
@@ -119,21 +119,21 @@
|
||||||
|
objformat=`/usr/bin/objformat`
|
||||||
|
if [ x$objformat = xaout ]; then
|
||||||
|
if [ -e /usr/lib/aout ]; then
|
||||||
|
- libpth="/usr/lib/aout /usr/local/lib /usr/lib"
|
||||||
|
- glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
|
||||||
|
+ libpth=""
|
||||||
|
+ glibpth=""
|
||||||
|
fi
|
||||||
|
lddlflags='-Bshareable'
|
||||||
|
else
|
||||||
|
- libpth="/usr/lib /usr/local/lib"
|
||||||
|
- glibpth="/usr/lib /usr/local/lib"
|
||||||
|
+ libpth=""
|
||||||
|
+ glibpth=""
|
||||||
|
ldflags="-Wl,-E "
|
||||||
|
lddlflags="-shared "
|
||||||
|
fi
|
||||||
|
cccdlflags='-DPIC -fPIC'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
- libpth="/usr/lib /usr/local/lib"
|
||||||
|
- glibpth="/usr/lib /usr/local/lib"
|
||||||
|
+ libpth=""
|
||||||
|
+ glibpth=""
|
||||||
|
ldflags="-Wl,-E "
|
||||||
|
lddlflags="-shared "
|
||||||
|
cccdlflags='-DPIC -fPIC'
|
||||||
|
diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/linux.sh perl-5.20.0/hints/linux.sh
|
||||||
|
--- perl-5.20.0-orig/hints/linux.sh 2014-05-26 15:34:20.000000000 +0200
|
||||||
|
+++ perl-5.20.0/hints/linux.sh 2014-06-25 10:33:47.354883843 +0200
|
||||||
|
@@ -150,25 +150,6 @@
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
-# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
|
||||||
|
-# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us
|
||||||
|
-# where to look. We don't want gcc's own libraries, however, so we
|
||||||
|
-# filter those out.
|
||||||
|
-# This could be conditional on Unbuntu, but other distributions may
|
||||||
|
-# follow suit, and this scheme seems to work even on rather old gcc's.
|
||||||
|
-# This unconditionally uses gcc because even if the user is using another
|
||||||
|
-# compiler, we still need to find the math library and friends, and I don't
|
||||||
|
-# know how other compilers will cope with that situation.
|
||||||
|
-# Morever, if the user has their own gcc earlier in $PATH than the system gcc,
|
||||||
|
-# we don't want its libraries. So we try to prefer the system gcc
|
||||||
|
-# Still, as an escape hatch, allow Configure command line overrides to
|
||||||
|
-# plibpth to bypass this check.
|
||||||
|
-if [ -x /usr/bin/gcc ] ; then
|
||||||
|
- gcc=/usr/bin/gcc
|
||||||
|
-else
|
||||||
|
- gcc=gcc
|
||||||
|
-fi
|
||||||
|
-
|
||||||
|
case "$plibpth" in
|
||||||
|
'') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries |
|
||||||
|
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
|
||||||
|
@@ -178,32 +159,6 @@
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
-case "$libc" in
|
||||||
|
-'')
|
||||||
|
-# If you have glibc, then report the version for ./myconfig bug reporting.
|
||||||
|
-# (Configure doesn't need to know the specific version since it just uses
|
||||||
|
-# gcc to load the library for all tests.)
|
||||||
|
-# We don't use __GLIBC__ and __GLIBC_MINOR__ because they
|
||||||
|
-# are insufficiently precise to distinguish things like
|
||||||
|
-# libc-2.0.6 and libc-2.0.7.
|
||||||
|
- for p in $plibpth
|
||||||
|
- do
|
||||||
|
- for trylib in libc.so.6 libc.so
|
||||||
|
- do
|
||||||
|
- if $test -e $p/$trylib; then
|
||||||
|
- libc=`ls -l $p/$trylib | awk '{print $NF}'`
|
||||||
|
- if $test "X$libc" != X; then
|
||||||
|
- break
|
||||||
|
- fi
|
||||||
|
- fi
|
||||||
|
- done
|
||||||
|
- if $test "X$libc" != X; then
|
||||||
|
- break
|
||||||
|
- fi
|
||||||
|
- done
|
||||||
|
- ;;
|
||||||
|
-esac
|
||||||
|
-
|
||||||
|
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||||
|
# for this test.
|
||||||
|
cat >try.c <<'EOM'
|
||||||
|
@@ -367,33 +322,6 @@
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
-# SuSE8.2 has /usr/lib/libndbm* which are ld scripts rather than
|
||||||
|
-# true libraries. The scripts cause binding against static
|
||||||
|
-# version of -lgdbm which is a bad idea. So if we have 'nm'
|
||||||
|
-# make sure it can read the file
|
||||||
|
-# NI-S 2003/08/07
|
||||||
|
-case "$nm" in
|
||||||
|
- '') ;;
|
||||||
|
- *)
|
||||||
|
- for p in $plibpth
|
||||||
|
- do
|
||||||
|
- if $test -r $p/libndbm.so; then
|
||||||
|
- if $nm $p/libndbm.so >/dev/null 2>&1 ; then
|
||||||
|
- echo 'Your shared -lndbm seems to be a real library.'
|
||||||
|
- _libndbm_real=1
|
||||||
|
- break
|
||||||
|
- fi
|
||||||
|
- fi
|
||||||
|
- done
|
||||||
|
- if $test "X$_libndbm_real" = X; then
|
||||||
|
- echo 'Your shared -lndbm is not a real library.'
|
||||||
|
- set `echo X "$libswanted "| sed -e 's/ ndbm / /'`
|
||||||
|
- shift
|
||||||
|
- libswanted="$*"
|
||||||
|
- fi
|
||||||
|
- ;;
|
||||||
|
-esac
|
||||||
|
-
|
||||||
|
# Linux on Synology.
|
||||||
|
if [ -f /etc/synoinfo.conf -a -d /usr/syno ]; then
|
||||||
|
# Tested on Synology DS213 and DS413
|
5
pkgs/development/interpreters/perl/5.20/setup-hook.sh
Normal file
5
pkgs/development/interpreters/perl/5.20/setup-hook.sh
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
addPerlLibPath () {
|
||||||
|
addToSearchPath PERL5LIB $1/lib/perl5/site_perl
|
||||||
|
}
|
||||||
|
|
||||||
|
envHooks=(${envHooks[@]} addPerlLibPath)
|
|
@ -228,7 +228,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
|
||||||
'' );
|
'' );
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://nl1.php.net/get/php-${version}.tar.bz2/from/this/mirror";
|
url = "http://www.php.net/distributions/php-${version}.tar.bz2";
|
||||||
sha256 = "04w53nn6qacpkd1x381mzd41kqh6k8kjnbyg44yvnkqwcl69db0c";
|
sha256 = "04w53nn6qacpkd1x381mzd41kqh6k8kjnbyg44yvnkqwcl69db0c";
|
||||||
name = "php-${version}.tar.bz2";
|
name = "php-${version}.tar.bz2";
|
||||||
};
|
};
|
||||||
|
|
|
@ -9,7 +9,7 @@ in
|
||||||
|
|
||||||
composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
|
composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
|
||||||
|
|
||||||
version = "5.4.27";
|
version = "5.4.29";
|
||||||
|
|
||||||
name = "php-${version}";
|
name = "php-${version}";
|
||||||
|
|
||||||
|
@ -171,7 +171,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
|
||||||
configureFlags = ["--enable-fpm"];
|
configureFlags = ["--enable-fpm"];
|
||||||
};
|
};
|
||||||
|
|
||||||
mssql = {
|
mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
|
||||||
configureFlags = ["--with-mssql=${freetds}"];
|
configureFlags = ["--with-mssql=${freetds}"];
|
||||||
buildInputs = [freetds];
|
buildInputs = [freetds];
|
||||||
};
|
};
|
||||||
|
@ -218,7 +218,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
|
||||||
zipSupport = config.php.zip or true;
|
zipSupport = config.php.zip or true;
|
||||||
ftpSupport = config.php.ftp or true;
|
ftpSupport = config.php.ftp or true;
|
||||||
fpmSupport = config.php.fpm or true;
|
fpmSupport = config.php.fpm or true;
|
||||||
mssqlSupport = config.php.mssql or true;
|
mssqlSupport = config.php.mssql or (!stdenv.isDarwin);
|
||||||
};
|
};
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
|
@ -242,12 +242,8 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
urls = [
|
url = "http://www.php.net/distributions/php-${version}.tar.bz2";
|
||||||
"http://nl1.php.net/get/php-${version}.tar.bz2/from/this/mirror"
|
sha256 = "19z2n6h1fvj30n6hl2mwhw2f4i1vwhbj3j7abq3gc16gcfh3rkk2";
|
||||||
"http://se1.php.net/get/php-${version}.tar.bz2/from/this/mirror"
|
|
||||||
];
|
|
||||||
md5 = "1c6e99187d25023411b663ea09f145ee";
|
|
||||||
name = "php-${version}.tar.bz2";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -24,4 +24,7 @@ stdenv.mkDerivation rec {
|
||||||
--run "${coreutils}/bin/mkdir -p /var/lib/AccountsService/icons"
|
--run "${coreutils}/bin/mkdir -p /var/lib/AccountsService/icons"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "D-Bus interface for user account query and manipulation";
|
||||||
|
};
|
||||||
}
|
}
|
|
@ -1,12 +1,16 @@
|
||||||
{stdenv, fetchurl}:
|
{stdenv, fetchurl}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "axis-1.3";
|
name = "axis-1.3";
|
||||||
directory = "axis-1_3";
|
directory = "axis-1_3";
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://apache.cs.uu.nl/dist/ws/axis/1_3/axis-bin-1_3.tar.gz";
|
url = "http://archive.apache.org/dist/ws/axis/1_3/axis-bin-1_3.tar.gz";
|
||||||
md5 = "dd8203f08c37872f4fd2bfb45c4bfe04";
|
md5 = "dd8203f08c37872f4fd2bfb45c4bfe04";
|
||||||
};
|
};
|
||||||
inherit stdenv;
|
inherit stdenv;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Implementation of the SOAP (Simple Object Access Protocol) submission to W3C";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,19 @@
|
||||||
{stdenv, fetchurl, python}:
|
{ stdenv, fetchurl, python }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "clearsilver-0.10.3";
|
name = "clearsilver-0.10.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://www.clearsilver.net/downloads/clearsilver-0.10.3.tar.gz;
|
url = http://www.clearsilver.net/downloads/clearsilver-0.10.3.tar.gz;
|
||||||
md5 = "ff4104b0e58bca1b61d528edbd902769";
|
md5 = "ff4104b0e58bca1b61d528edbd902769";
|
||||||
};
|
};
|
||||||
|
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
|
|
||||||
inherit stdenv python;
|
inherit stdenv python;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Fast, powerful, and language-neutral HTML template system";
|
||||||
|
homepage = http://www.clearsilver.net/;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,4 +6,13 @@ stdenv.mkDerivation {
|
||||||
url = http://google-coredumper.googlecode.com/files/coredumper-1.1.tar.gz;
|
url = http://google-coredumper.googlecode.com/files/coredumper-1.1.tar.gz;
|
||||||
sha256 = "1phl1zg2n17rp595dyzz9iw01gfdpsdh0l6wy2hfb5shi71h63rx";
|
sha256 = "1phl1zg2n17rp595dyzz9iw01gfdpsdh0l6wy2hfb5shi71h63rx";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Doesn't build:
|
||||||
|
#
|
||||||
|
# src/elfcore.c: In function 'CreatePipeline':
|
||||||
|
# src/elfcore.c:1424:26: error: 'CLONE_VM' undeclared (first use in this function)
|
||||||
|
# CLONE_VM|CLONE_UNTRACED|SIGCHLD, &args, 0, 0, 0);
|
||||||
|
# ^
|
||||||
|
# src/elfcore.c:1424:26: note: each undeclared identifier is reported only once for each function it appears in
|
||||||
|
meta.broken = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{ fetchurl, stdenv }:
|
{ fetchurl, stdenv }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gsl-1.15";
|
name = "gsl-1.16";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/gsl/${name}.tar.gz";
|
url = "mirror://gnu/gsl/${name}.tar.gz";
|
||||||
sha256 = "18qf6jzz1r3mzb5qynywv4xx3z9g61hgkbpkdrhbgqh2g7jhgfc5";
|
sha256 = "0lrgipi0z6559jqh82yx8n4xgnxkhzj46v96dl77hahdp58jzg3k";
|
||||||
};
|
};
|
||||||
|
|
||||||
# ToDo: there might be more impurities than FMA support check
|
# ToDo: there might be more impurities than FMA support check
|
||||||
|
@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "The GNU Scientific Library, a large numerical library";
|
description = "The GNU Scientific Library, a large numerical library";
|
||||||
|
homepage = http://www.gnu.org/software/gsl/;
|
||||||
|
license = "GPLv3+";
|
||||||
|
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
The GNU Scientific Library (GSL) is a numerical library for C
|
The GNU Scientific Library (GSL) is a numerical library for C
|
||||||
|
@ -27,10 +29,5 @@ stdenv.mkDerivation rec {
|
||||||
fitting. There are over 1000 functions in total with an
|
fitting. There are over 1000 functions in total with an
|
||||||
extensive test suite.
|
extensive test suite.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
homepage = http://www.gnu.org/software/gsl/;
|
|
||||||
license = "GPLv3+";
|
|
||||||
|
|
||||||
maintainers = [ ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
pname = "BoundedChan";
|
pname = "BoundedChan";
|
||||||
version = "1.0.1.0";
|
version = "1.0.3.0";
|
||||||
sha256 = "1v4lmp3j8lzk1m2pv5l90j80y0c6yxm6gb1ww9ffsz2jxfzz8vd8";
|
sha256 = "0vf4mlw08n056g5256cf46m5xsijng5gvjx7ccm4r132gznyl72k";
|
||||||
meta = {
|
meta = {
|
||||||
description = "Implementation of bounded channels";
|
description = "Implementation of bounded channels";
|
||||||
license = self.stdenv.lib.licenses.bsd3;
|
license = self.stdenv.lib.licenses.bsd3;
|
||||||
|
|
|
@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
|
||||||
version = "0.3.1.0";
|
version = "0.3.1.0";
|
||||||
sha256 = "0qarf73c8zq8dgvxdiwqybpjfy8gba9vf4k0skiwyk5iphilxhhq";
|
sha256 = "0qarf73c8zq8dgvxdiwqybpjfy8gba9vf4k0skiwyk5iphilxhhq";
|
||||||
buildDepends = [ extensibleExceptions MonadCatchIOTransformers ];
|
buildDepends = [ extensibleExceptions MonadCatchIOTransformers ];
|
||||||
|
jailbreak = true;
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "http://darcsden.com/jcpetruzza/MonadCatchIO-mtl";
|
homepage = "http://darcsden.com/jcpetruzza/MonadCatchIO-mtl";
|
||||||
description = "Monad-transformer version of the Control.Exception module";
|
description = "Monad-transformer version of the Control.Exception module";
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
pname = "MonadCatchIO-transformers";
|
pname = "MonadCatchIO-transformers";
|
||||||
version = "0.3.1.0";
|
version = "0.3.1.1";
|
||||||
sha256 = "1r5syyalk8a81byhk39yp0j7vdrvlrpppbg52dql1fx6kfhysaxn";
|
sha256 = "1kfq9py053zic69f25gcsm802dhk7y5k01ipsf2jvl8d4r5iw5kk";
|
||||||
buildDepends = [ extensibleExceptions monadsTf transformers ];
|
buildDepends = [ extensibleExceptions monadsTf transformers ];
|
||||||
jailbreak = true;
|
jailbreak = true;
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
pname = "SHA";
|
pname = "SHA";
|
||||||
version = "1.6.4";
|
version = "1.6.4.1";
|
||||||
sha256 = "13d7sg8r0qqs425banrwd15hahy8gnl4k81q0wfqld77xpb2vvbj";
|
sha256 = "03fwpl8hrl9q197w8v1glqi5g1d51c7hz4m8zi5s8x1yvpbwcfvl";
|
||||||
isLibrary = true;
|
isLibrary = true;
|
||||||
isExecutable = true;
|
isExecutable = true;
|
||||||
buildDepends = [ binary ];
|
buildDepends = [ binary ];
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
pname = "amqp";
|
pname = "amqp";
|
||||||
version = "0.8.3";
|
version = "0.9";
|
||||||
sha256 = "0gl5vdhbic8llhbqmhnwj0wvykhbrci6zz53v5cayqfcwi1v1dw2";
|
sha256 = "10yacflzvf7y21yi6frs88gdbhf5g4j99ag8mwv6jrwfzwqszs5j";
|
||||||
isLibrary = true;
|
isLibrary = true;
|
||||||
isExecutable = true;
|
isExecutable = true;
|
||||||
buildDepends = [
|
buildDepends = [
|
||||||
|
|
|
@ -1,57 +0,0 @@
|
||||||
From c401c2c585b5345243211e981c123a92b995b448 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Sergei Trofimovich <slyfox@gentoo.org>
|
|
||||||
Date: Sat, 25 Jan 2014 13:35:52 +0300
|
|
||||||
Subject: [PATCH] authenticate-oauth.cabal: allow RSA-2
|
|
||||||
|
|
||||||
The only cosmetic change is rename of 'ha_SHA1' to 'hashSHA1'
|
|
||||||
|
|
||||||
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
||||||
---
|
|
||||||
authenticate-oauth/Web/Authenticate/OAuth.hs | 10 ++++++++--
|
|
||||||
authenticate-oauth/authenticate-oauth.cabal | 2 +-
|
|
||||||
2 files changed, 9 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/authenticate-oauth/Web/Authenticate/OAuth.hs b/authenticate-oauth/Web/Authenticate/OAuth.hs
|
|
||||||
index 3f38c8c..eccd0f1 100644
|
|
||||||
--- a/authenticate-oauth/Web/Authenticate/OAuth.hs
|
|
||||||
+++ b/authenticate-oauth/Web/Authenticate/OAuth.hs
|
|
||||||
@@ -21,7 +21,7 @@ module Web.Authenticate.OAuth
|
|
||||||
paramEncode, addScope, addMaybeProxy
|
|
||||||
) where
|
|
||||||
import Blaze.ByteString.Builder (toByteString, Builder)
|
|
||||||
-import Codec.Crypto.RSA (ha_SHA1, rsassa_pkcs1_v1_5_sign)
|
|
||||||
+import qualified Codec.Crypto.RSA as RSA
|
|
||||||
import Control.Exception
|
|
||||||
import Control.Monad
|
|
||||||
import Control.Monad.IO.Class (MonadIO, liftIO)
|
|
||||||
@@ -346,7 +346,13 @@ genSign oa tok req =
|
|
||||||
PLAINTEXT ->
|
|
||||||
return $ BS.intercalate "&" $ map paramEncode [oauthConsumerSecret oa, tokenSecret tok]
|
|
||||||
RSASHA1 pr ->
|
|
||||||
- liftM (encode . toStrict . rsassa_pkcs1_v1_5_sign ha_SHA1 pr) (getBaseString tok req)
|
|
||||||
+ liftM (encode . toStrict . RSA.rsassa_pkcs1_v1_5_sign
|
|
||||||
+#if MIN_VERSION_RSA(2, 0, 0)
|
|
||||||
+ RSA.hashSHA1
|
|
||||||
+#else
|
|
||||||
+ RSA.ha_SHA1
|
|
||||||
+#endif
|
|
||||||
+ pr) (getBaseString tok req)
|
|
||||||
|
|
||||||
#if MIN_VERSION_http_conduit(2, 0, 0)
|
|
||||||
addAuthHeader :: BS.ByteString -> Credential -> Request -> Request
|
|
||||||
diff --git a/authenticate-oauth/authenticate-oauth.cabal b/authenticate-oauth/authenticate-oauth.cabal
|
|
||||||
index 00507da..e11c3bd 100644
|
|
||||||
--- a/authenticate-oauth/authenticate-oauth.cabal
|
|
||||||
+++ b/authenticate-oauth/authenticate-oauth.cabal
|
|
||||||
@@ -19,7 +19,7 @@ library
|
|
||||||
, transformers >= 0.1 && < 0.4
|
|
||||||
, bytestring >= 0.9
|
|
||||||
, crypto-pubkey-types >= 0.1 && < 0.5
|
|
||||||
- , RSA >= 1.2 && < 1.3
|
|
||||||
+ , RSA >= 1.2 && < 2.1
|
|
||||||
, time
|
|
||||||
, data-default
|
|
||||||
, base64-bytestring >= 0.1 && < 1.1
|
|
||||||
--
|
|
||||||
1.9.1
|
|
||||||
|
|
|
@ -1,18 +1,15 @@
|
||||||
{ cabal, base64Bytestring, blazeBuilder, blazeBuilderConduit
|
{ cabal, base64Bytestring, blazeBuilder, blazeBuilderConduit
|
||||||
, conduit, cryptoPubkeyTypes, dataDefault, httpConduit, httpTypes
|
, cryptoPubkeyTypes, dataDefault, httpClient, httpTypes, random
|
||||||
, monadControl, random, resourcet, RSA, SHA, time, transformers
|
, RSA, SHA, time, transformers
|
||||||
}:
|
}:
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
pname = "authenticate-oauth";
|
pname = "authenticate-oauth";
|
||||||
version = "1.4.0.8";
|
version = "1.5";
|
||||||
sha256 = "1mc36d6lkmqywzsxhzwv4445mmwdz0rr5ibd2a1nbgw5c5jw76fy";
|
sha256 = "07y9zh4v9by588k86wlyj3czivj5jlb9jk6g4j9p8j1qgbv4hpk9";
|
||||||
patches = [ ./RSA2.patch ];
|
|
||||||
patchFlags = "-p2";
|
|
||||||
buildDepends = [
|
buildDepends = [
|
||||||
base64Bytestring blazeBuilder blazeBuilderConduit conduit
|
base64Bytestring blazeBuilder blazeBuilderConduit cryptoPubkeyTypes
|
||||||
cryptoPubkeyTypes dataDefault httpConduit httpTypes monadControl
|
dataDefault httpClient httpTypes random RSA SHA time transformers
|
||||||
random resourcet RSA SHA time transformers
|
|
||||||
];
|
];
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "http://github.com/yesodweb/authenticate";
|
homepage = "http://github.com/yesodweb/authenticate";
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
pname = "compdata";
|
pname = "compdata";
|
||||||
version = "0.8.1.0";
|
version = "0.8.1.2";
|
||||||
sha256 = "06bsdhf40b8111k0fmfc53i5kib9n431f07qyj83pq8isgkk33xc";
|
sha256 = "1jhfhinkn6klh68rzl5skh1rianjycc6cfkrglsi17j60a723v9x";
|
||||||
buildDepends = [
|
buildDepends = [
|
||||||
deepseq derive mtl QuickCheck thExpandSyns transformers treeView
|
deepseq derive mtl QuickCheck thExpandSyns transformers treeView
|
||||||
];
|
];
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
pname = "cryptohash";
|
pname = "cryptohash";
|
||||||
version = "0.11.5";
|
version = "0.11.6";
|
||||||
sha256 = "0vxnwnjch2r9d54q5f5bfz60npjc7s7x6a5233md7fa756822b9d";
|
sha256 = "0dyzcaxr8vhzqq9hj4240rxpi87h4ps87yz09klz723shls26f6s";
|
||||||
buildDepends = [ byteable ];
|
buildDepends = [ byteable ];
|
||||||
testDepends = [
|
testDepends = [
|
||||||
byteable HUnit QuickCheck tasty tastyHunit tastyQuickcheck
|
byteable HUnit QuickCheck tasty tastyHunit tastyQuickcheck
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
pname = "data-lens-light";
|
pname = "data-lens-light";
|
||||||
version = "0.1.1";
|
version = "0.1.2";
|
||||||
sha256 = "03nsfwpcl7wmw2bgcb8z3w04krlbrbks7bjpnzfdz6cgdr5mnjrs";
|
sha256 = "1xxphcd36vw1ib48rfmrg207h0i1hlby01bm3xsxnq90ygizvxk7";
|
||||||
buildDepends = [ mtl ];
|
buildDepends = [ mtl ];
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://github.com/feuerbach/data-lens-light";
|
homepage = "https://github.com/feuerbach/data-lens-light";
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
{ cabal, binary, dataAccessor, deepseq, distributedStatic, hashable
|
||||||
|
, mtl, networkTransport, random, rank1dynamic, stm, syb, time
|
||||||
|
, transformers
|
||||||
|
}:
|
||||||
|
|
||||||
|
cabal.mkDerivation (self: {
|
||||||
|
pname = "distributed-process";
|
||||||
|
version = "0.5.0";
|
||||||
|
sha256 = "16lfmkhc6jk2n46w39vf0q1ql426h5jrjgdi6cyjgwy1d5kaqcny";
|
||||||
|
buildDepends = [
|
||||||
|
binary dataAccessor deepseq distributedStatic hashable mtl
|
||||||
|
networkTransport random rank1dynamic stm syb time transformers
|
||||||
|
];
|
||||||
|
meta = {
|
||||||
|
homepage = "http://haskell-distributed.github.com/";
|
||||||
|
description = "Cloud Haskell: Erlang-style concurrency in Haskell";
|
||||||
|
license = self.stdenv.lib.licenses.bsd3;
|
||||||
|
platforms = self.ghc.meta.platforms;
|
||||||
|
};
|
||||||
|
})
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
pname = "distributed-static";
|
pname = "distributed-static";
|
||||||
version = "0.2.1.1";
|
version = "0.3.0.0";
|
||||||
sha256 = "08y9554x6avjwdmbf33fw1pw1wl8qmgfngmgb6vgad88krnixq1h";
|
sha256 = "1g8jr01jxlfshsz3mrpzl21q290whwz4va3zjp1h0d1pnfwz6jcj";
|
||||||
buildDepends = [ binary rank1dynamic ];
|
buildDepends = [ binary rank1dynamic ];
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "http://www.github.com/haskell-distributed/distributed-process";
|
homepage = "http://haskell-distributed.github.com";
|
||||||
description = "Compositional, type-safe, polymorphic static values and closures";
|
description = "Compositional, type-safe, polymorphic static values and closures";
|
||||||
license = self.stdenv.lib.licenses.bsd3;
|
license = self.stdenv.lib.licenses.bsd3;
|
||||||
platforms = self.ghc.meta.platforms;
|
platforms = self.ghc.meta.platforms;
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
pname = "dns";
|
pname = "dns";
|
||||||
version = "1.3.0";
|
version = "1.4.0";
|
||||||
sha256 = "1zd639d69ha3g1yz7ssvwarwiwyi975ps4i5y8vrarcq2jnnsb6n";
|
sha256 = "1r004wpq0z98f6n3rqqlkqmb799sdldj5087icksi6rxxr3plrs9";
|
||||||
buildDepends = [
|
buildDepends = [
|
||||||
attoparsec binary blazeBuilder conduit conduitExtra iproute mtl
|
attoparsec binary blazeBuilder conduit conduitExtra iproute mtl
|
||||||
network random resourcet
|
network random resourcet
|
||||||
|
|
|
@ -18,4 +18,5 @@ cabal.mkDerivation (self: {
|
||||||
platforms = self.ghc.meta.platforms;
|
platforms = self.ghc.meta.platforms;
|
||||||
maintainers = [ self.stdenv.lib.maintainers.ocharles ];
|
maintainers = [ self.stdenv.lib.maintainers.ocharles ];
|
||||||
};
|
};
|
||||||
|
jailbreak = true;
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
{ cabal, aeson, attoparsec, dataDefault, filepath, ghcPaths, groom
|
{ cabal, aeson, attoparsec, dataDefault, filepath, ghcPaths, groom
|
||||||
, haskellNames, haskellPackages, haskellSrcExts, languageEcmascript
|
, haskellNames, haskellPackages, haskellSrcExts, languageEcmascript
|
||||||
, mtl, optparseApplicative, safe, sourcemap, split, spoon, syb
|
, mtl, optparseApplicative, safe, sourcemap, split, spoon, syb
|
||||||
, tasty, tastyHunit, tastyTh, text, transformers, uniplate
|
, tasty, tastyHunit, tastyTh, text, time, transformers, uniplate
|
||||||
, unorderedContainers, utf8String, vector
|
, unorderedContainers, utf8String, vector
|
||||||
}:
|
}:
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
pname = "fay";
|
pname = "fay";
|
||||||
version = "0.20.0.4";
|
version = "0.20.1.1";
|
||||||
sha256 = "0cxcd4nxnq8nl03xgxa1nb0932hq4dz1lxpp3gqqs5k5wvs62303";
|
sha256 = "0jcvq880xnkm8aqr69ihwf7by55fc1bbd8wk8152zqgkih74qzc4";
|
||||||
isLibrary = true;
|
isLibrary = true;
|
||||||
isExecutable = true;
|
isExecutable = true;
|
||||||
buildDepends = [
|
buildDepends = [
|
||||||
aeson attoparsec dataDefault filepath ghcPaths groom haskellNames
|
aeson attoparsec dataDefault filepath ghcPaths groom haskellNames
|
||||||
haskellPackages haskellSrcExts languageEcmascript mtl
|
haskellPackages haskellSrcExts languageEcmascript mtl
|
||||||
optparseApplicative safe sourcemap split spoon syb tasty tastyHunit
|
optparseApplicative safe sourcemap split spoon syb tasty tastyHunit
|
||||||
tastyTh text transformers uniplate unorderedContainers utf8String
|
tastyTh text time transformers uniplate unorderedContainers
|
||||||
vector
|
utf8String vector
|
||||||
];
|
];
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "http://fay-lang.org/";
|
homepage = "http://fay-lang.org/";
|
||||||
|
|
|
@ -20,6 +20,7 @@ cabal.mkDerivation (self: {
|
||||||
aeson conduit dataDefault hspec httpConduit HUnit liftedBase
|
aeson conduit dataDefault hspec httpConduit HUnit liftedBase
|
||||||
monadControl QuickCheck resourcet text time transformers
|
monadControl QuickCheck resourcet text time transformers
|
||||||
];
|
];
|
||||||
|
jailbreak = true;
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://github.com/meteficha/fb";
|
homepage = "https://github.com/meteficha/fb";
|
||||||
|
@ -27,5 +28,4 @@ cabal.mkDerivation (self: {
|
||||||
license = self.stdenv.lib.licenses.bsd3;
|
license = self.stdenv.lib.licenses.bsd3;
|
||||||
platforms = self.ghc.meta.platforms;
|
platforms = self.ghc.meta.platforms;
|
||||||
};
|
};
|
||||||
jailbreak = true;
|
|
||||||
})
|
})
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
pname = "foldl";
|
pname = "foldl";
|
||||||
version = "1.0.4";
|
version = "1.0.5";
|
||||||
sha256 = "0l5gyaw2rb0wfdm5q13vsxfr0z2y9ad5nsjh605p1jp8i0rgwgkv";
|
sha256 = "08yjzzplg715hzkhwbf8nv2zm7c5wd2kph4zx94iml0cnc6ip048";
|
||||||
buildDepends = [ primitive text transformers vector ];
|
buildDepends = [ primitive text transformers vector ];
|
||||||
meta = {
|
meta = {
|
||||||
description = "Composable, streaming, and efficient left folds";
|
description = "Composable, streaming, and efficient left folds";
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
{ cabal, comonadTransformers, free, kanExtensions, mtl, comonad
|
|
||||||
, transformers
|
|
||||||
}:
|
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
|
||||||
pname = "free-operational";
|
|
||||||
version = "0.5.0.0";
|
|
||||||
sha256 = "0gim4m0l76sxxg6a8av1gl6qjpwxwdzyviij86d06v1150r08dmb";
|
|
||||||
jailbreak = true; # needs an old version of kan-extensions
|
|
||||||
buildDepends = [
|
|
||||||
comonadTransformers free kanExtensions mtl transformers comonad
|
|
||||||
];
|
|
||||||
meta = {
|
|
||||||
description = "Operational Applicative, Alternative, Monad and MonadPlus from free types";
|
|
||||||
license = self.stdenv.lib.licenses.bsd3;
|
|
||||||
platforms = self.ghc.meta.platforms;
|
|
||||||
};
|
|
||||||
})
|
|
|
@ -4,8 +4,8 @@
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
pname = "ghc-mod";
|
pname = "ghc-mod";
|
||||||
version = "4.1.2";
|
version = "4.1.3";
|
||||||
sha256 = "0xdpy61dc56zvpgr2z9cdyd85d65l426vnbfgsw6w494w0bp3sh7";
|
sha256 = "0n7nbjbiiphlasqfcxx15fa8axwd9csq2nh3r0wvkrgpsazdlw8c";
|
||||||
isLibrary = true;
|
isLibrary = true;
|
||||||
isExecutable = true;
|
isExecutable = true;
|
||||||
buildDepends = [
|
buildDepends = [
|
||||||
|
@ -26,6 +26,7 @@ cabal.mkDerivation (self: {
|
||||||
cd ..
|
cd ..
|
||||||
ensureDir "$out/share/emacs"
|
ensureDir "$out/share/emacs"
|
||||||
mv $pname-$version emacs/site-lisp
|
mv $pname-$version emacs/site-lisp
|
||||||
|
|
||||||
mv $out/bin/ghc-mod $out/bin/.ghc-mod-wrapped
|
mv $out/bin/ghc-mod $out/bin/.ghc-mod-wrapped
|
||||||
cat - > $out/bin/ghc-mod <<EOF
|
cat - > $out/bin/ghc-mod <<EOF
|
||||||
#! ${self.stdenv.shell}
|
#! ${self.stdenv.shell}
|
||||||
|
@ -34,6 +35,15 @@ cabal.mkDerivation (self: {
|
||||||
eval exec $out/bin/.ghc-mod-wrapped \$COMMAND \$( ${self.ghc.GHCGetPackages} ${self.ghc.version} | tr " " "\n" | tail -n +2 | paste -d " " - - | sed 's/.*/-g "&"/' | tr "\n" " ") "\$@"
|
eval exec $out/bin/.ghc-mod-wrapped \$COMMAND \$( ${self.ghc.GHCGetPackages} ${self.ghc.version} | tr " " "\n" | tail -n +2 | paste -d " " - - | sed 's/.*/-g "&"/' | tr "\n" " ") "\$@"
|
||||||
EOF
|
EOF
|
||||||
chmod +x $out/bin/ghc-mod
|
chmod +x $out/bin/ghc-mod
|
||||||
|
|
||||||
|
mv $out/bin/ghc-modi $out/bin/.ghc-modi-wrapped
|
||||||
|
cat - > $out/bin/ghc-modi <<EOF
|
||||||
|
#! ${self.stdenv.shell}
|
||||||
|
COMMAND=\$1
|
||||||
|
shift
|
||||||
|
eval exec $out/bin/.ghc-modi-wrapped \$COMMAND \$( ${self.ghc.GHCGetPackages} ${self.ghc.version} | tr " " "\n" | tail -n +2 | paste -d " " - - | sed 's/.*/-g "&"/' | tr "\n" " ") "\$@"
|
||||||
|
EOF
|
||||||
|
chmod +x $out/bin/ghc-modi
|
||||||
'';
|
'';
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "http://www.mew.org/~kazu/proj/ghc-mod/";
|
homepage = "http://www.mew.org/~kazu/proj/ghc-mod/";
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
pname = "ghcjs-dom";
|
pname = "ghcjs-dom";
|
||||||
version = "0.0.9";
|
version = "0.0.10";
|
||||||
sha256 = "0vphhm9wr80p4brcjzhmp2kh0a5rlwzif26w2q054fshxa97kv2a";
|
sha256 = "0xffr197m6qam4q7ckgcwl0v9kwrxa5fm894c9vyxdmlcjyn38rm";
|
||||||
buildDepends = [ ghcjsBase mtl ];
|
buildDepends = [ ghcjsBase mtl ];
|
||||||
meta = {
|
meta = {
|
||||||
description = "DOM library that supports both GHCJS and WebKitGTK";
|
description = "DOM library that supports both GHCJS and WebKitGTK";
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue