3
0
Fork 0
forked from mirrors/nixpkgs

Merge recent master into x-updates

Hydra eval: 1131611
This commit is contained in:
Vladimír Čunát 2014-06-26 22:05:12 +02:00
commit dfd80a1b7e
245 changed files with 3417 additions and 3876 deletions

9
.gitignore vendored
View file

@ -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

View file

@ -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

View file

@ -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.";
}; };
}; };

View file

@ -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!

View file

@ -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

View file

@ -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>.
''; '';
}; };

View file

@ -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 =

View file

@ -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";

View file

@ -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;
}; };
}; };

View file

@ -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 ];
}; };
} }

View file

@ -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;

View file

@ -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"}";
}; };
}; };
}; };

View 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 ];
};
}

View file

@ -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;
}; };
} }

View file

@ -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$
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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;
}; };

View file

@ -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"

View file

@ -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.";
}; };
}; };
}; };

View file

@ -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;

View file

@ -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;
}; };
} }

View file

@ -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;
}; };
} }

View file

@ -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
}; };
}) })

View file

@ -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
};
})

View file

@ -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

View file

@ -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 isnt 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];

View 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;
};
}

View 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 ];
};
}

View file

@ -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);

View file

@ -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";

View file

@ -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; {

View file

@ -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"

View file

@ -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 {

View file

@ -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;
}; };
} }

View file

@ -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

View file

@ -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;
}; };
} }

View file

@ -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 {

View file

@ -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"

View file

@ -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

View file

@ -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'

View 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 ];
};
}

View file

@ -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";

View file

@ -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

View file

@ -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"

View file

@ -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/
];
} }

View 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

View file

@ -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 ---------------------------------------------

View file

@ -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;
} }

View file

@ -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 ];
} }

View file

@ -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; {

View file

@ -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 ];

View file

@ -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"

View file

@ -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;
}; };
} }

View file

@ -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; {

View file

@ -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

View file

@ -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"

View file

@ -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";
}; };
} }

View file

@ -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;

View file

@ -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(...)

View file

@ -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

View 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;
};
}

View 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;
};
}

View 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;
};
}

View file

@ -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;
}; };
} }

View 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.

View 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";
}

View 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`"

View 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 ! !'`

View 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

View file

@ -0,0 +1,5 @@
addPerlLibPath () {
addToSearchPath PERL5LIB $1/lib/perl5/site_perl
}
envHooks=(${envHooks[@]} addPerlLibPath)

View file

@ -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";
}; };

View file

@ -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 = {

View file

@ -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";
};
} }

View file

@ -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";
};
} }

View file

@ -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/;
};
} }

View file

@ -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;
} }

View file

@ -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 = [ ];
}; };
} }

View file

@ -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;

View file

@ -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";

View file

@ -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 = {

View file

@ -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 ];

View file

@ -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 = [

View file

@ -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

View file

@ -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";

View file

@ -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
]; ];

View file

@ -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

View file

@ -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";

View file

@ -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;
};
})

View file

@ -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;

View file

@ -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

View file

@ -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;
}) })

View file

@ -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/";

View file

@ -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;
}) })

View file

@ -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";

View file

@ -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;
};
})

View file

@ -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/";

View file

@ -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