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
.*.swo
result
doc/NEWS.html
doc/NEWS.txt
doc/manual.html
doc/manual.pdf
result-*
/doc/NEWS.html
/doc/NEWS.txt
/doc/manual.html
/doc/manual.pdf
.version-suffix

View File

@ -194,7 +194,7 @@ rec {
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
to refer to the full configuration without creating an infinite

View File

@ -32,12 +32,12 @@ in
kdc = mkOption {
default = "kerberos.mit.edu";
description = "Kerberos Domain Controller";
description = "Kerberos Domain Controller.";
};
kerberosAdminServer = mkOption {
default = "kerberos.mit.edu";
description = "Kerberos Admin Server";
description = "Kerberos Admin Server.";
};
};

View File

@ -134,6 +134,7 @@
teamspeak = 124;
influxdb = 125;
nsd = 126;
gitolite = 127;
# 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/monetdb.nix
./services/databases/influxdb.nix
./services/desktops/accountservice.nix
./services/desktops/accountsservice.nix
./services/desktops/geoclue2.nix
./services/desktops/gnome3/at-spi2-core.nix
./services/desktops/gnome3/evolution-data-server.nix
@ -147,6 +147,7 @@
./services/misc/felix.nix
./services/misc/folding-at-home.nix
./services/misc/gpsd.nix
./services/misc/gitolite.nix
./services/misc/nix-daemon.nix
./services/misc/nix-gc.nix
./services/misc/nix-ssh-serve.nix
@ -160,7 +161,7 @@
./services/monitoring/graphite.nix
./services/monitoring/monit.nix
./services/monitoring/munin.nix
./services/monitoring/nagios/default.nix
./services/monitoring/nagios.nix
./services/monitoring/smartd.nix
./services/monitoring/statsd.nix
./services/monitoring/systemhealth.nix

View File

@ -22,7 +22,7 @@ in
interval = 5;
};
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 =
{ LOCATE_PATH = "/var/cache/locatedb";
NIXPKGS_CONFIG = "/etc/nix/nixpkgs-config.nix";
PAGER = "less -R";
EDITOR = "nano";
PAGER = mkDefault "less -R";
EDITOR = mkDefault "nano";
};
environment.sessionVariables =

View File

@ -6,12 +6,10 @@ let
cfg = config.security.grsecurity;
customGrsecPkg =
(import ../../../pkgs/build-support/grsecurity
{
inherit lib pkgs;
grsecOptions = cfg;
}
).grsecPackage;
(import ../../../pkgs/build-support/grsecurity {
grsecOptions = cfg;
inherit pkgs lib;
}).grsecPackage;
in
{
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 {
type = types.bool;
default = false;
@ -246,9 +236,6 @@ in
both.
'';
}
{ assertion = (cfg.testing -> !cfg.vserver);
message = "The vserver patches are only supported in the stable kernel.";
}
{ assertion = (cfg.config.restrictProc -> !cfg.config.restrictProcWithGroup) ||
(cfg.config.restrictProcWithGroup -> !cfg.config.restrictProc);
message = "You cannot enable both restrictProc and restrictProcWithGroup";

View File

@ -50,7 +50,7 @@ in
user = mkOption {
default = "redis";
description = "User account under which Redis runs";
description = "User account under which Redis runs.";
};
pidFile = mkOption {
@ -60,26 +60,26 @@ in
port = mkOption {
default = 6379;
description = "The port for Redis to listen to";
description = "The port for Redis to listen to.";
type = with types; int;
};
bind = mkOption {
default = null; # All interfaces
description = "The IP interface to bind to";
description = "The IP interface to bind to.";
example = "127.0.0.1";
};
unixSocket = mkOption {
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";
};
logLevel = mkOption {
default = "notice"; # debug, verbose, notice, warning
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;
};
@ -110,19 +110,19 @@ in
dbFilename = mkOption {
default = "dump.rdb";
description = "The filename where to dump the DB";
description = "The filename where to dump the DB.";
type = with types; string;
};
dbpath = mkOption {
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;
};
slaveOf = mkOption {
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; };
};
@ -154,26 +154,26 @@ in
appendFsync = mkOption {
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;
};
slowLogLogSlowerThan = mkOption {
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;
type = with types; int;
};
slowLogMaxLen = mkOption {
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;
};
extraConfig = mkOption {
default = "";
description = "Extra configuration options for redis.conf";
description = "Extra configuration options for redis.conf.";
type = with types; string;
};
};

View File

@ -30,11 +30,11 @@ with lib;
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.";
};
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 {
environment.systemPackages = backends;
environment.variables = {
SANE_CONFIG_DIR = mkDefault "${saneConfig}/etc/sane.d";
environment.sessionVariables = {
SANE_CONFIG_DIR = config.hardware.sane.configDir;
LD_LIBRARY_PATH = [ "${saneConfig}/lib/sane" ];
};
services.udev.packages = backends;

View File

@ -17,6 +17,11 @@ in
description = "Enable logstash";
};
enableWeb = mkOption {
default = false;
description = "Enable logstash web interface";
};
inputConfig = mkOption {
default = ''stdin { type => "example" }'';
description = "Logstash input configuration";
@ -62,7 +67,7 @@ in
config = mkIf cfg.enable {
systemd.services.logstash = with pkgs; {
description = "Logstash daemon";
description = "Logstash Daemon";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
@ -78,7 +83,7 @@ in
output {
${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;
let
cfg = config.services.nagios;
nagiosUser = "nagios";
nagiosGroup = "nogroup";
nagiosState = "/var/lib/nagios";
nagiosLogDir = "/var/log/nagios";
nagiosObjectDefs =
[ ./timeperiods.cfg
./host-templates.cfg
./service-templates.cfg
./commands.cfg
] ++ cfg.objectDefs;
nagiosObjectDefs = cfg.objectDefs;
nagiosObjectDefsDir = pkgs.runCommand "nagios-objects" {inherit nagiosObjectDefs;}
"ensureDir $out; ln -s $nagiosObjectDefs $out/";
@ -30,19 +21,20 @@ let
log_archive_path=${nagiosLogDir}/archive
status_file=${nagiosState}/status.dat
object_cache_file=${nagiosState}/objects.cache
comment_file=${nagiosState}/comment.dat
downtime_file=${nagiosState}/downtime.dat
temp_file=${nagiosState}/nagios.tmp
lock_file=/var/run/nagios.lock # Not used I think.
state_retention_file=${nagiosState}/retention.dat
query_socket=${nagiosState}/nagios.qh
check_result_path=${nagiosState}
command_file=${nagiosState}/nagios.cmd
# Configuration files.
#resource_file=resource.cfg
cfg_dir=${nagiosObjectDefsDir}
# Uid/gid that the daemon runs under.
nagios_user=${nagiosUser}
nagios_group=${nagiosGroup}
nagios_user=nagios
nagios_group=nogroup
# Misc. options.
illegal_macro_output_chars=`~$&|'"<>
@ -53,26 +45,24 @@ let
# authentication.
nagiosCGICfgFile = pkgs.writeText "nagios.cgi.conf"
''
main_config_file=${nagiosCfgFile}
main_config_file=${cfg.mainConfigFile}
use_authentication=0
url_html_path=/nagios
url_html_path=${cfg.urlPath}
'';
urlPath = cfg.urlPath;
extraHttpdConfig =
''
ScriptAlias ${urlPath}/cgi-bin ${pkgs.nagios}/sbin
ScriptAlias ${cfg.urlPath}/cgi-bin ${pkgs.nagios}/sbin
<Directory "${pkgs.nagios}/sbin">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
SetEnv NAGIOS_CGI_CONFIG ${nagiosCGICfgFile}
SetEnv NAGIOS_CGI_CONFIG ${cfg.cgiConfigFile}
</Directory>
Alias ${urlPath} ${pkgs.nagios}/share
Alias ${cfg.urlPath} ${pkgs.nagios}/share
<Directory "${pkgs.nagios}/share">
Options None
@ -83,14 +73,9 @@ let
'';
in
{
###### interface
options = {
services.nagios = {
enable = mkOption {
default = false;
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 {
default = false;
description = "
@ -132,55 +132,53 @@ in
<literal>http://<replaceable>server</replaceable>/<replaceable>urlPath</replaceable></literal>.
";
};
};
};
###### implementation
config = mkIf cfg.enable {
users.extraUsers = singleton
{ name = nagiosUser;
uid = config.ids.uids.nagios;
description = "Nagios monitoring daemon";
home = nagiosState;
};
users.extraUsers.nagios = {
description = "Nagios user ";
uid = config.ids.uids.nagios;
home = nagiosState;
createHome = true;
};
# This isn't needed, it's just so that the user can type "nagiostats
# -c /etc/nagios.cfg".
environment.etc = singleton
{ source = nagiosCfgFile;
environment.etc = [
{ source = cfg.mainConfigFile;
target = "nagios.cfg";
};
}
];
environment.systemPackages = [ pkgs.nagios ];
systemd.services.nagios = {
description = "Nagios monitoring daemon";
path = [ pkgs.nagios ];
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
jobs.nagios =
{ description = "Nagios monitoring daemon";
startOn = "started network-interfaces";
stopOn = "stopping network-interfaces";
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}
'';
serviceConfig = {
User = "nagios";
Restart = "always";
RestartSec = 2;
PermissionsStartOnly = true;
};
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;
};
}

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 = {
enable = mkOption {
description = "Whether to enable elasticsearch";
description = "Whether to enable elasticsearch.";
default = false;
type = types.uniq types.bool;
};
host = mkOption {
description = "Elasticsearch listen address";
description = "Elasticsearch listen address.";
default = "127.0.0.1";
type = types.str;
};
port = mkOption {
description = "Elasticsearch port to listen for HTTP traffic";
description = "Elasticsearch port to listen for HTTP traffic.";
default = 9200;
type = types.int;
};
tcp_port = mkOption {
description = "Elasticsearch port for the node to node communication";
description = "Elasticsearch port for the node to node communication.";
default = 9300;
type = types.int;
};
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";
type = types.str;
};
extraConf = mkOption {
description = "Extra configuration for elasticsearch";
description = "Extra configuration for elasticsearch.";
default = "";
type = types.str;
example = ''
@ -70,7 +70,7 @@ in {
};
logging = mkOption {
description = "Elasticsearch logging configuration";
description = "Elasticsearch logging configuration.";
default = ''
rootLogger: INFO, console
logger:
@ -93,18 +93,26 @@ in {
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
config = mkIf cfg.enable {
systemd.services.elasticsearch = {
description = "Elasticsearch daemon";
description = "Elasticsearch Daemon";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
environment = { ES_HOME = cfg.dataDir; };
serviceConfig = {
ExecStart = "${pkgs.elasticsearch}/bin/elasticsearch -Des.path.conf=${configDir}";
ExecStart = "${pkgs.elasticsearch}/bin/elasticsearch -Des.path.conf=${configDir} ${toString cfg.extraCmdLineOptions}";
User = "elasticsearch";
PermissionsStartOnly = true;
};

View File

@ -683,6 +683,13 @@ in
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);
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
[ "DEVTMPFS" "CGROUPS" "INOTIFY_USER" "SIGNALFD" "TIMERFD" "EPOLL" "NET"

View File

@ -16,28 +16,28 @@ let
enable = mkOption {
default = false;
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 {
default = null;
example = "/dev/sda1";
type = types.uniq (types.nullOr types.string);
description = "Location of the backing encrypted device";
description = "Location of the backing encrypted device.";
};
label = mkOption {
default = null;
example = "rootfs";
type = types.uniq (types.nullOr types.string);
description = "Label of the backing encrypted device";
description = "Label of the backing encrypted device.";
};
keyFile = mkOption {
default = null;
example = "/root/.swapkey";
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 ];
meta = with stdenv.lib; {
description = "high quality software synthesizer";
description = "High quality software synthesizer";
homepage = http://zynaddsubfx.sourceforge.net;
license = licenses.gpl2;
platforms = platforms.linux;

View File

@ -67,6 +67,6 @@ stdenv.mkDerivation rec {
license = "GPLv3+";
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+";
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;
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";
meta = {
description = "GNU Zile, a lightweight Emacs clone";
description = "Lightweight Emacs clone";
longDescription = ''
GNU Zile, which is a lightweight Emacs clone. Zile is short

View File

@ -22,6 +22,14 @@ stdenv.mkDerivation {
meta = {
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/;
license = stdenv.lib.licenses.gpl3Plus;
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;
stdenv.mkDerivation rec {
name = "st-0.4.1";
name = "st-0.5";
src = fetchurl {
url = "http://dl.suckless.org/st/${name}.tar.gz";
sha256 = "0cdzwbm5fxrwz8ryxkh90d3vwx54wjyywgj28ymsb5fdv3396bzf";
sha256 = "0knxpzaa86pprng6hak8hx8bw22yw22rpz1ffxjpcvqlz3xdv05f";
};
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);

View File

@ -36,7 +36,7 @@
let
# -> http://get.adobe.com/flashplayer/
version = "11.2.202.359";
version = "11.2.202.378";
src =
if stdenv.system == "x86_64-linux" then
@ -47,7 +47,7 @@ let
else rec {
inherit version;
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
if debug then {
@ -58,7 +58,7 @@ let
} else rec {
inherit version;
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";

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";
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
protobuf bzip2 libXScrnSaver curl libxml2 libxslt ];
@ -24,8 +33,15 @@ stdenv.mkDerivation {
postInstall = ''
mkdir -p $out/bin
ln -s $out/retroshare-nogui $out/bin
ln -s $out/RetroShare $out/bin
mv $out/retroshare-nogui $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; {

View File

@ -2,18 +2,16 @@
stdenv.mkDerivation rec {
name = "syncthing-${version}";
version = "0.8.11";
version = "0.8.15";
src = fetchgit {
url = "git://github.com/calmh/syncthing.git";
rev = "refs/tags/v${version}";
sha256 = "16dl9sqwhv0n1602pmi10d5j7z2196ijhvz4rfx7732210qbkpnn";
sha256 = "0xv8kaji60zqxws72srh5hdi9fyvaipdcsawp6gcyahhr3cz0ddq";
};
buildInputs = [ go ];
patches = [ ./upnp.patch ];
buildPhase = ''
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
];
meta = {
description = "Word processing program, similar to Microsof Word";
meta = with stdenv.lib; {
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");
let
version = "4.0.20";
version = "4.0.21.1";
arch = if stdenv.system == "x86_64-linux"
then "linux-x86_64"
else "linux-i686";
@ -14,8 +14,8 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://download.zotero.org/standalone/${version}/Zotero-${version}_${arch}.tar.bz2";
sha256 = if stdenv.system == "x86_64-linux"
then "0d7813k3h60fpxabdwiw83g5zfy9knxc9irgxxz60z31vd14zi0x"
else "0nj4mj22bkn2nwbkfs40kg4br6h6gcf718v9lfnvs13cyhx0wapc";
then "1d6ih9q0daxxqqbr134la5y39648hpd53srf43lljjs8wr71wbn8"
else "121myzwxw3frps77lpzza82glyz9qgwbl5bh3zngfx9vwx3n8q0v";
};
# Strip the bundled xulrunner

View File

@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://bazaar-vcs.org/;
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 {
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 {

View File

@ -11,6 +11,7 @@
, tastyHunit, tastyQuickcheck, tastyRerun, text, time, transformers
, unixCompat, utf8String, uuid, wai, waiExtra, warp, warpTls, which
, xmlTypes, yesod, yesodCore, yesodDefault, yesodForm, yesodStatic
, fsnotify
}:
cabal.mkDerivation (self: {
@ -21,9 +22,9 @@ cabal.mkDerivation (self: {
isExecutable = true;
buildDepends = [
aeson async blazeBuilder bloomfilter byteable caseInsensitive
clientsession cryptoApi cryptohash dataDefault dataenc DAV dbus
dlist dns editDistance exceptions extensibleExceptions fdoNotify
feed filepath gnutls hamlet hinotify hS3 hslogger HTTP httpClient
clientsession cryptoApi cryptohash dataDefault dataenc DAV
dlist dns editDistance exceptions extensibleExceptions
feed filepath gnutls hamlet hS3 hslogger HTTP httpClient
httpConduit httpTypes IfElse json liftedBase MissingH monadControl
mtl network networkConduit networkInfo networkMulticast
networkProtocolXmpp optparseApplicative QuickCheck random regexTdfa
@ -31,19 +32,13 @@ cabal.mkDerivation (self: {
tastyQuickcheck tastyRerun text time transformers unixCompat
utf8String uuid wai waiExtra warp warpTls xmlTypes yesod yesodCore
yesodDefault yesodForm yesodStatic
];
] ++ (if (!self.stdenv.isDarwin) then [
dbus fdoNotify hinotify
] else [
fsnotify
]);
buildTools = [ bup curl git gnupg1 lsof openssh perl rsync which ];
configureFlags = "-fS3
-fWebDAV
-fInotify
-fDbus
-fAssistant
-fWebapp
-fPairing
-fXMPP
-fDNS
-fProduction
-fTDFA";
configureFlags = "-fAssistant -fProduction";
preConfigure = ''
export HOME="$NIX_BUILD_TOP/tmp"
mkdir "$HOME"

View File

@ -82,10 +82,6 @@ stdenv.mkDerivation {
# gitweb.cgi, need to patch so that it's found
sed -i -e "s|'compressor' => \['gzip'|'compressor' => ['${gzip}/bin/gzip'|" \
$out/share/gitweb/gitweb.cgi
wrapProgram $out/bin/git \
--set GIT_SSL_CAINFO "\$OPENSSL_X509_CERT_FILE"
''
+ (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 {
name = "tig-2.0.2";
@ -8,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "0gi7iqiij37b0d3izxymxaw5ns2mv1y7qfic0fhl7xj4s2rz075r";
};
buildInputs = [ ncurses asciidoc xmlto docbook_xsl ];
buildInputs = [ ncurses asciidoc xmlto docbook_xsl readline ];
preConfigure = ''
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 = {
description = "Cinelerra - Video Editor";
description = "Video Editor";
homepage = http://www.cinelerra.org;
maintainers = [ stdenv.lib.maintainers.marcweber ];
license = "GPLv2";

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "i3-${version}";
version = "4.7.2";
version = "4.8";
src = fetchurl {
url = "http://i3wm.org/downloads/${name}.tar.bz2";
sha256 = "14zkn5jgm0b7ablvxcxh9gdzq6mjdd6i1kl9dbmifl2a6rg5dr3g";
sha256 = "0sqvd8yqf9vwqrrvbpbf8k93b3qfa3q9289m82xq15r31wlk8b2h";
};
buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutil xcbutilwm

View File

@ -217,7 +217,9 @@ clone_user_rev() {
fi;;
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
eval "$NIX_PREFETCH_GIT_CHECKOUT_HOOK"

View File

@ -373,4 +373,10 @@ rec {
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
cfg = {
stable = grsecOptions.stable or false;
vserver = grsecOptions.vserver or false;
testing = grsecOptions.testing or false;
config = {
mode = "auto";
@ -29,12 +28,11 @@ let
};
test-patch = with pkgs.kernelPatches; grsecurity_unstable;
stable-patch = with pkgs.kernelPatches;
if cfg.vserver then grsecurity_vserver else grsecurity_stable;
stable-patch = with pkgs.kernelPatches; grsecurity_stable;
grKernel = if (cfg.stable || cfg.vserver)
then mkKernel pkgs.linux_3_2 stable-patch
else mkKernel pkgs.linux_3_14 test-patch;
grKernel = if cfg.stable
then mkKernel pkgs.linux_3_14 stable-patch
else mkKernel pkgs.linux_3_15 test-patch;
## -- grsecurity configuration ---------------------------------------------

View File

@ -16,12 +16,6 @@ in
linux_grsec_stable_server_xen =
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
linux_grsec_testing_desktop =
mkOpts "testing" "performance" "desktop" "host" "kvm" true;
@ -29,4 +23,4 @@ in
mkOpts "testing" "security" "server" "host" "kvm" true;
linux_grsec_testing_server_xen =
mkOpts "testing" "security" "server" "guest" "xen" true;
}
}

View File

@ -1,5 +1,6 @@
{ 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 {
name = src.pkgname;
@ -14,5 +15,5 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
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 }:
stdenv.mkDerivation rec {
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "1rva3djas48m8w1gyv3nds3jxfkirdfl0bk30x79mizrk80456jl";
};
buildInputs = [ pkgconfig glib itstool libxml2 intltool accountservice
buildInputs = [ pkgconfig glib itstool libxml2 intltool accountsservice
gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ];
meta = with stdenv.lib; {

View File

@ -1,5 +1,5 @@
{ 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
, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
, cracklib, python, krb5, networkmanagerapplet, networkmanager
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
[ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas
libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus
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
networkmanager modemmanager makeWrapper ];

View File

@ -2,7 +2,7 @@
, python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns
, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
, 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
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
};
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
clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
wrapProgram "$out/bin/gnome-shell" \
--prefix PATH : "${unzip}/bin" \
--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" \
--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 ];
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 }:
stdenv.mkDerivation rec {
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
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 ];
meta = with stdenv.lib; {

View File

@ -1,5 +1,5 @@
{ 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
, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
, cracklib, python, krb5, networkmanagerapplet, networkmanager
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
[ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas
libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus
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
gdk_pixbuf gnome3.gnome_icon_theme librsvg clutter clutter_gtk
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
, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
, 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
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
};
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
clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
wrapProgram "$out/bin/gnome-shell" \
--prefix PATH : "${unzip}/bin" \
--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" \
--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;
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/;
description = "Alice ML is a functional programming language based on Standard ML, extended with rich support for concurrent, distributed, and constraint programming.";
license = "BSD";
};
}

View File

@ -12,7 +12,7 @@ let
revision = "5666.3"; # Apple's fork revision number.
in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
name = "gcc-apple-${version}.${revision}";
builder = ./builder.sh;
@ -33,8 +33,10 @@ stdenv.mkDerivation {
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 =
[ ./pass-cxxcpp.patch ]
[ ./pass-cxxcpp.patch ./floor_log2_patch.diff ]
++ stdenv.lib.optional noSysDirs ./no-sys-dirs.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
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
--- 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
@ -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
--- 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 :
let
fetchurl = a.fetchurl;
s= # Generated upstream information
rec {
baseName="sbcl";
version="1.2.0";
name="${baseName}-${version}";
hash="13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2";
url="mirror://sourceforge/project/sbcl/sbcl/1.2.0/sbcl-1.2.0-source.tar.bz2";
sha256="13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2";
{ stdenv, fetchurl, sbclBootstrap, clisp}:
stdenv.mkDerivation rec {
name = "sbcl-${version}";
version = "1.2.0";
src = fetchurl {
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;
configureFlags = [];
buildInputs = [ sbclBootstrap ] ++ stdenv.lib.optional stdenv.isLinux clisp;
/* doConfigure should be removed if not needed */
phaseNames = ["setVars" "doFixNewer" "doFixTests" "setVersion" "doPatch" "doBuild" "doInstall" "doWrap"];
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
patchPhase = ''
echo '"${version}.nixos"' > version.lisp-expr
echo "
(lambda (features)
(flet ((enable (x)
@ -38,14 +20,11 @@ rec {
(disable (x)
(setf features (remove x features))))
(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
# 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 '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
sed -i src/cold/slam.lisp -e \
@ -56,13 +35,8 @@ rec {
'/date defaulted-fasl/a)'
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)))'
'') ["minInit" "doUnpack"];
doWrap = a.fullDepEntry (''
wrapProgram "$out/bin/sbcl" --set "SBCL_HOME" "$out/lib/sbcl"
'') ["minInit" "addInputs"];
doFixTests = a.fullDepEntry (''
# Fix the tests
sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp
sed -e '/deftest .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp
@ -70,24 +44,31 @@ rec {
sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
'') ["minInit" "doUnpack"];
'';
doBuild = a.fullDepEntry (''
sh make.sh clisp
'') ["minInit" "doUnpack" "addInputs"];
preBuild = ''
export INSTALL_ROOT=$out
ensureDir test-home
export HOME=$PWD/test-home
'';
doInstall = a.fullDepEntry (''
sh install.sh
'') ["doBuild" "minInit" "addInputs"];
buildPhase = if stdenv.isLinux
then ''
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 = {
description = "Lisp compiler";
homepage = "http://www.sbcl.org";
license = "bsd";
maintainers = [a.lib.maintainers.raskin];
platforms = with a.lib.platforms; all;
inherit(s) version;
homepage = http://www.sbcl.org;
license = stdenv.lib.licenses.bsd3;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.all;
};
}

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 {
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";
name = "php-${version}.tar.bz2";
};

View File

@ -9,7 +9,7 @@ in
composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
version = "5.4.27";
version = "5.4.29";
name = "php-${version}";
@ -171,7 +171,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
configureFlags = ["--enable-fpm"];
};
mssql = {
mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
configureFlags = ["--with-mssql=${freetds}"];
buildInputs = [freetds];
};
@ -218,7 +218,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
zipSupport = config.php.zip or true;
ftpSupport = config.php.ftp or true;
fpmSupport = config.php.fpm or true;
mssqlSupport = config.php.mssql or true;
mssqlSupport = config.php.mssql or (!stdenv.isDarwin);
};
configurePhase = ''
@ -242,12 +242,8 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
'';
src = fetchurl {
urls = [
"http://nl1.php.net/get/php-${version}.tar.bz2/from/this/mirror"
"http://se1.php.net/get/php-${version}.tar.bz2/from/this/mirror"
];
md5 = "1c6e99187d25023411b663ea09f145ee";
name = "php-${version}.tar.bz2";
url = "http://www.php.net/distributions/php-${version}.tar.bz2";
sha256 = "19z2n6h1fvj30n6hl2mwhw2f4i1vwhbj3j7abq3gc16gcfh3rkk2";
};
meta = {

View File

@ -24,4 +24,7 @@ stdenv.mkDerivation rec {
--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.mkDerivation {
name = "axis-1.3";
directory = "axis-1_3";
builder = ./builder.sh;
src = fetchurl {
url = "http://apache.cs.uu.nl/dist/ws/axis/1_3/axis-bin-1_3.tar.gz";
md5 = "dd8203f08c37872f4fd2bfb45c4bfe04";
};
inherit stdenv;
name = "axis-1.3";
directory = "axis-1_3";
builder = ./builder.sh;
src = fetchurl {
url = "http://archive.apache.org/dist/ws/axis/1_3/axis-bin-1_3.tar.gz";
md5 = "dd8203f08c37872f4fd2bfb45c4bfe04";
};
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 {
name = "clearsilver-0.10.3";
src = fetchurl {
url = http://www.clearsilver.net/downloads/clearsilver-0.10.3.tar.gz;
md5 = "ff4104b0e58bca1b61d528edbd902769";
};
builder = ./builder.sh;
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;
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 }:
stdenv.mkDerivation rec {
name = "gsl-1.15";
name = "gsl-1.16";
src = fetchurl {
url = "mirror://gnu/gsl/${name}.tar.gz";
sha256 = "18qf6jzz1r3mzb5qynywv4xx3z9g61hgkbpkdrhbgqh2g7jhgfc5";
sha256 = "0lrgipi0z6559jqh82yx8n4xgnxkhzj46v96dl77hahdp58jzg3k";
};
# ToDo: there might be more impurities than FMA support check
@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
meta = {
description = "The GNU Scientific Library, a large numerical library";
homepage = http://www.gnu.org/software/gsl/;
license = "GPLv3+";
longDescription = ''
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
extensive test suite.
'';
homepage = http://www.gnu.org/software/gsl/;
license = "GPLv3+";
maintainers = [ ];
};
}

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "BoundedChan";
version = "1.0.1.0";
sha256 = "1v4lmp3j8lzk1m2pv5l90j80y0c6yxm6gb1ww9ffsz2jxfzz8vd8";
version = "1.0.3.0";
sha256 = "0vf4mlw08n056g5256cf46m5xsijng5gvjx7ccm4r132gznyl72k";
meta = {
description = "Implementation of bounded channels";
license = self.stdenv.lib.licenses.bsd3;

View File

@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
version = "0.3.1.0";
sha256 = "0qarf73c8zq8dgvxdiwqybpjfy8gba9vf4k0skiwyk5iphilxhhq";
buildDepends = [ extensibleExceptions MonadCatchIOTransformers ];
jailbreak = true;
meta = {
homepage = "http://darcsden.com/jcpetruzza/MonadCatchIO-mtl";
description = "Monad-transformer version of the Control.Exception module";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "MonadCatchIO-transformers";
version = "0.3.1.0";
sha256 = "1r5syyalk8a81byhk39yp0j7vdrvlrpppbg52dql1fx6kfhysaxn";
version = "0.3.1.1";
sha256 = "1kfq9py053zic69f25gcsm802dhk7y5k01ipsf2jvl8d4r5iw5kk";
buildDepends = [ extensibleExceptions monadsTf transformers ];
jailbreak = true;
meta = {

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "SHA";
version = "1.6.4";
sha256 = "13d7sg8r0qqs425banrwd15hahy8gnl4k81q0wfqld77xpb2vvbj";
version = "1.6.4.1";
sha256 = "03fwpl8hrl9q197w8v1glqi5g1d51c7hz4m8zi5s8x1yvpbwcfvl";
isLibrary = true;
isExecutable = true;
buildDepends = [ binary ];

View File

@ -5,8 +5,8 @@
cabal.mkDerivation (self: {
pname = "amqp";
version = "0.8.3";
sha256 = "0gl5vdhbic8llhbqmhnwj0wvykhbrci6zz53v5cayqfcwi1v1dw2";
version = "0.9";
sha256 = "10yacflzvf7y21yi6frs88gdbhf5g4j99ag8mwv6jrwfzwqszs5j";
isLibrary = true;
isExecutable = true;
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
, conduit, cryptoPubkeyTypes, dataDefault, httpConduit, httpTypes
, monadControl, random, resourcet, RSA, SHA, time, transformers
, cryptoPubkeyTypes, dataDefault, httpClient, httpTypes, random
, RSA, SHA, time, transformers
}:
cabal.mkDerivation (self: {
pname = "authenticate-oauth";
version = "1.4.0.8";
sha256 = "1mc36d6lkmqywzsxhzwv4445mmwdz0rr5ibd2a1nbgw5c5jw76fy";
patches = [ ./RSA2.patch ];
patchFlags = "-p2";
version = "1.5";
sha256 = "07y9zh4v9by588k86wlyj3czivj5jlb9jk6g4j9p8j1qgbv4hpk9";
buildDepends = [
base64Bytestring blazeBuilder blazeBuilderConduit conduit
cryptoPubkeyTypes dataDefault httpConduit httpTypes monadControl
random resourcet RSA SHA time transformers
base64Bytestring blazeBuilder blazeBuilderConduit cryptoPubkeyTypes
dataDefault httpClient httpTypes random RSA SHA time transformers
];
meta = {
homepage = "http://github.com/yesodweb/authenticate";

View File

@ -5,8 +5,8 @@
cabal.mkDerivation (self: {
pname = "compdata";
version = "0.8.1.0";
sha256 = "06bsdhf40b8111k0fmfc53i5kib9n431f07qyj83pq8isgkk33xc";
version = "0.8.1.2";
sha256 = "1jhfhinkn6klh68rzl5skh1rianjycc6cfkrglsi17j60a723v9x";
buildDepends = [
deepseq derive mtl QuickCheck thExpandSyns transformers treeView
];

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "cryptohash";
version = "0.11.5";
sha256 = "0vxnwnjch2r9d54q5f5bfz60npjc7s7x6a5233md7fa756822b9d";
version = "0.11.6";
sha256 = "0dyzcaxr8vhzqq9hj4240rxpi87h4ps87yz09klz723shls26f6s";
buildDepends = [ byteable ];
testDepends = [
byteable HUnit QuickCheck tasty tastyHunit tastyQuickcheck

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "data-lens-light";
version = "0.1.1";
sha256 = "03nsfwpcl7wmw2bgcb8z3w04krlbrbks7bjpnzfdz6cgdr5mnjrs";
version = "0.1.2";
sha256 = "1xxphcd36vw1ib48rfmrg207h0i1hlby01bm3xsxnq90ygizvxk7";
buildDepends = [ mtl ];
meta = {
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: {
pname = "distributed-static";
version = "0.2.1.1";
sha256 = "08y9554x6avjwdmbf33fw1pw1wl8qmgfngmgb6vgad88krnixq1h";
version = "0.3.0.0";
sha256 = "1g8jr01jxlfshsz3mrpzl21q290whwz4va3zjp1h0d1pnfwz6jcj";
buildDepends = [ binary rank1dynamic ];
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";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "dns";
version = "1.3.0";
sha256 = "1zd639d69ha3g1yz7ssvwarwiwyi975ps4i5y8vrarcq2jnnsb6n";
version = "1.4.0";
sha256 = "1r004wpq0z98f6n3rqqlkqmb799sdldj5087icksi6rxxr3plrs9";
buildDepends = [
attoparsec binary blazeBuilder conduit conduitExtra iproute mtl
network random resourcet

View File

@ -18,4 +18,5 @@ cabal.mkDerivation (self: {
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.ocharles ];
};
jailbreak = true;
})

View File

@ -1,22 +1,22 @@
{ cabal, aeson, attoparsec, dataDefault, filepath, ghcPaths, groom
, haskellNames, haskellPackages, haskellSrcExts, languageEcmascript
, mtl, optparseApplicative, safe, sourcemap, split, spoon, syb
, tasty, tastyHunit, tastyTh, text, transformers, uniplate
, tasty, tastyHunit, tastyTh, text, time, transformers, uniplate
, unorderedContainers, utf8String, vector
}:
cabal.mkDerivation (self: {
pname = "fay";
version = "0.20.0.4";
sha256 = "0cxcd4nxnq8nl03xgxa1nb0932hq4dz1lxpp3gqqs5k5wvs62303";
version = "0.20.1.1";
sha256 = "0jcvq880xnkm8aqr69ihwf7by55fc1bbd8wk8152zqgkih74qzc4";
isLibrary = true;
isExecutable = true;
buildDepends = [
aeson attoparsec dataDefault filepath ghcPaths groom haskellNames
haskellPackages haskellSrcExts languageEcmascript mtl
optparseApplicative safe sourcemap split spoon syb tasty tastyHunit
tastyTh text transformers uniplate unorderedContainers utf8String
vector
tastyTh text time transformers uniplate unorderedContainers
utf8String vector
];
meta = {
homepage = "http://fay-lang.org/";

View File

@ -20,6 +20,7 @@ cabal.mkDerivation (self: {
aeson conduit dataDefault hspec httpConduit HUnit liftedBase
monadControl QuickCheck resourcet text time transformers
];
jailbreak = true;
doCheck = false;
meta = {
homepage = "https://github.com/meteficha/fb";
@ -27,5 +28,4 @@ cabal.mkDerivation (self: {
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
jailbreak = true;
})

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "foldl";
version = "1.0.4";
sha256 = "0l5gyaw2rb0wfdm5q13vsxfr0z2y9ad5nsjh605p1jp8i0rgwgkv";
version = "1.0.5";
sha256 = "08yjzzplg715hzkhwbf8nv2zm7c5wd2kph4zx94iml0cnc6ip048";
buildDepends = [ primitive text transformers vector ];
meta = {
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: {
pname = "ghc-mod";
version = "4.1.2";
sha256 = "0xdpy61dc56zvpgr2z9cdyd85d65l426vnbfgsw6w494w0bp3sh7";
version = "4.1.3";
sha256 = "0n7nbjbiiphlasqfcxx15fa8axwd9csq2nh3r0wvkrgpsazdlw8c";
isLibrary = true;
isExecutable = true;
buildDepends = [
@ -26,6 +26,7 @@ cabal.mkDerivation (self: {
cd ..
ensureDir "$out/share/emacs"
mv $pname-$version emacs/site-lisp
mv $out/bin/ghc-mod $out/bin/.ghc-mod-wrapped
cat - > $out/bin/ghc-mod <<EOF
#! ${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" " ") "\$@"
EOF
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 = {
homepage = "http://www.mew.org/~kazu/proj/ghc-mod/";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "ghcjs-dom";
version = "0.0.9";
sha256 = "0vphhm9wr80p4brcjzhmp2kh0a5rlwzif26w2q054fshxa97kv2a";
version = "0.0.10";
sha256 = "0xffr197m6qam4q7ckgcwl0v9kwrxa5fm894c9vyxdmlcjyn38rm";
buildDepends = [ ghcjsBase mtl ];
meta = {
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