Merge recent master into staging

Hydra nixpkgs: ?compare=1151601
This commit is contained in:
Vladimír Čunát 2014-09-13 21:44:45 +02:00
parent 6a63d1e1e1
commit d957b4bd78
138 changed files with 9314 additions and 7050 deletions

View File

@ -233,6 +233,17 @@ twisted = buildPythonPackage {
</section> </section>
<section xml:id="ssec-language-java"><title>Ruby</title>
<para>For example, to package yajl-ruby package, use gem-nix:</para>
<screen>
$ nix-env -i gem-nix
$ gem-nix --no-user-install --nix-file=pkgs/development/interpreters/ruby/generated.nix yajl-ruby
$ nix-build -A rubyLibs.yajl-ruby
</screen>
</section>
<section xml:id="ssec-language-java"><title>Java</title> <section xml:id="ssec-language-java"><title>Java</title>
<para>Ant-based Java packages are typically built from source as follows: <para>Ant-based Java packages are typically built from source as follows:

View File

@ -72,6 +72,11 @@ rec {
fullName = "Creative Commons Attribution 3.0"; fullName = "Creative Commons Attribution 3.0";
}; };
cc-by-40 = spdx {
shortName = "CC-BY-4.0";
fullName = "Creative Commons Attribution 4.0";
};
cddl = spdx { cddl = spdx {
shortName = "CDDL-1.0"; shortName = "CDDL-1.0";
fullName = "Common Development and Distribution License 1.0"; fullName = "Common Development and Distribution License 1.0";

View File

@ -41,6 +41,7 @@
cstrahan = "Charles Strahan <charles.c.strahan@gmail.com>"; cstrahan = "Charles Strahan <charles.c.strahan@gmail.com>";
DamienCassou = "Damien Cassou <damien.cassou@gmail.com>"; DamienCassou = "Damien Cassou <damien.cassou@gmail.com>";
DerGuteMoritz = "Moritz Heidkamp <moritz@twoticketsplease.de>"; DerGuteMoritz = "Moritz Heidkamp <moritz@twoticketsplease.de>";
dbohdan = "Danyil Bohdan <danyil.bohdan@gmail.com>";
doublec = "Chris Double <chris.double@double.co.nz>"; doublec = "Chris Double <chris.double@double.co.nz>";
ederoyd46 = "Matthew Brown <matt@ederoyd.co.uk>"; ederoyd46 = "Matthew Brown <matt@ederoyd.co.uk>";
edwtjo = "Edward Tjörnhammar <ed@cflags.cc>"; edwtjo = "Edward Tjörnhammar <ed@cflags.cc>";
@ -118,6 +119,7 @@
ttuegel = "Thomas Tuegel <ttuegel@gmail.com>"; ttuegel = "Thomas Tuegel <ttuegel@gmail.com>";
tv = "Tomislav Viljetić <tv@shackspace.de>"; tv = "Tomislav Viljetić <tv@shackspace.de>";
urkud = "Yury G. Kudryashov <urkud+nix@ya.ru>"; urkud = "Yury G. Kudryashov <urkud+nix@ya.ru>";
vandenoever = "Jos van den Oever <jos@vandenoever.info>";
vbmithr = "Vincent Bernardoff <vb@luminar.eu.org>"; vbmithr = "Vincent Bernardoff <vb@luminar.eu.org>";
vcunat = "Vladimír Čunát <vcunat@gmail.com>"; vcunat = "Vladimír Čunát <vcunat@gmail.com>";
viric = "Lluís Batlle i Rossell <viric@viric.name>"; viric = "Lluís Batlle i Rossell <viric@viric.name>";

View File

@ -57,7 +57,7 @@ let
}; };
optionsDocBook = runCommand "options-db.xml" {} '' optionsDocBook = runCommand "options-db.xml" {} ''
optionsXML=${options'}/doc/share/nixos/options.xml optionsXML=${options'}/share/doc/nixos/options.xml
if grep /nixpkgs/nixos/modules $optionsXML; then if grep /nixpkgs/nixos/modules $optionsXML; then
echo "The manual appears to depend on the location of Nixpkgs, which is bad" echo "The manual appears to depend on the location of Nixpkgs, which is bad"
echo "since this prevents sharing via the NixOS channel. This is typically" echo "since this prevents sharing via the NixOS channel. This is typically"
@ -127,7 +127,7 @@ in rec {
mkdir -p $out/nix-support mkdir -p $out/nix-support
echo "nix-build out $out" >> $out/nix-support/hydra-build-products echo "nix-build out $out" >> $out/nix-support/hydra-build-products
echo "doc manual $dst manual.html" >> $out/nix-support/hydra-build-products echo "doc manual $dst" >> $out/nix-support/hydra-build-products
''; # */ ''; # */
meta.description = "The NixOS manual in HTML format"; meta.description = "The NixOS manual in HTML format";

View File

@ -9,8 +9,8 @@
<xsl:template match="logfile"> <xsl:template match="logfile">
<html> <html>
<head> <head>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script> <script type="text/javascript" src="jquery-ui.min.js"></script>
<script type="text/javascript" src="treebits.js" /> <script type="text/javascript" src="treebits.js" />
<link rel="stylesheet" href="logfile.css" type="text/css" /> <link rel="stylesheet" href="logfile.css" type="text/css" />
<title>Log File</title> <title>Log File</title>

View File

@ -53,6 +53,8 @@ rec {
xsltproc --output $out/log.html ${./test-driver/log2html.xsl} $out/log.xml xsltproc --output $out/log.html ${./test-driver/log2html.xsl} $out/log.xml
ln -s ${./test-driver/logfile.css} $out/logfile.css ln -s ${./test-driver/logfile.css} $out/logfile.css
ln -s ${./test-driver/treebits.js} $out/treebits.js ln -s ${./test-driver/treebits.js} $out/treebits.js
ln -s ${jquery}/js/jquery.min.js $out/
ln -s ${jquery-ui}/js/jquery-ui.min.js $out/
touch $out/nix-support/hydra-build-products touch $out/nix-support/hydra-build-products
echo "report testlog $out log.html" >> $out/nix-support/hydra-build-products echo "report testlog $out log.html" >> $out/nix-support/hydra-build-products

View File

@ -301,7 +301,7 @@ let
uidsAreUnique = idsAreUnique (filterAttrs (n: u: u.uid != null) cfg.extraUsers) "uid"; uidsAreUnique = idsAreUnique (filterAttrs (n: u: u.uid != null) cfg.extraUsers) "uid";
gidsAreUnique = idsAreUnique (filterAttrs (n: g: g.gid != null) cfg.extraGroups) "gid"; gidsAreUnique = idsAreUnique (filterAttrs (n: g: g.gid != null) cfg.extraGroups) "gid";
spec = builtins.toFile "users-groups.json" (builtins.toJSON { spec = pkgs.writeText "users-groups.json" (builtins.toJSON {
inherit (cfg) mutableUsers; inherit (cfg) mutableUsers;
users = mapAttrsToList (n: u: users = mapAttrsToList (n: u:
{ inherit (u) { inherit (u)

View File

@ -194,13 +194,13 @@ if [ -z "$rollback" ]; then
nix-env "${extraBuildFlags[@]}" -p "$profile" -f '<nixpkgs/nixos>' --set -A system nix-env "${extraBuildFlags[@]}" -p "$profile" -f '<nixpkgs/nixos>' --set -A system
pathToConfig="$profile" pathToConfig="$profile"
elif [ "$action" = test -o "$action" = build -o "$action" = dry-run ]; then elif [ "$action" = test -o "$action" = build -o "$action" = dry-run ]; then
nix-build '<nixpkgs/nixos>' -A system -K -k "${extraBuildFlags[@]}" > /dev/null nix-build '<nixpkgs/nixos>' -A system -k "${extraBuildFlags[@]}" > /dev/null
pathToConfig=./result pathToConfig=./result
elif [ "$action" = build-vm ]; then elif [ "$action" = build-vm ]; then
nix-build '<nixpkgs/nixos>' -A vm -K -k "${extraBuildFlags[@]}" > /dev/null nix-build '<nixpkgs/nixos>' -A vm -k "${extraBuildFlags[@]}" > /dev/null
pathToConfig=./result pathToConfig=./result
elif [ "$action" = build-vm-with-bootloader ]; then elif [ "$action" = build-vm-with-bootloader ]; then
nix-build '<nixpkgs/nixos>' -A vmWithBootLoader -K -k "${extraBuildFlags[@]}" > /dev/null nix-build '<nixpkgs/nixos>' -A vmWithBootLoader -k "${extraBuildFlags[@]}" > /dev/null
pathToConfig=./result pathToConfig=./result
else else
showSyntax showSyntax
@ -226,7 +226,7 @@ fi
# default and/or activate it now. # default and/or activate it now.
if [ "$action" = switch -o "$action" = boot -o "$action" = test ]; then if [ "$action" = switch -o "$action" = boot -o "$action" = test ]; then
if ! $pathToConfig/bin/switch-to-configuration "$action"; then if ! $pathToConfig/bin/switch-to-configuration "$action"; then
echo "warning: there were error switching to the new configuration" >&2 echo "warning: error(s) occured while switching to the new configuration" >&2
exit 1 exit 1
fi fi
fi fi

View File

@ -95,6 +95,8 @@
./services/backup/rsnapshot.nix ./services/backup/rsnapshot.nix
./services/backup/sitecopy-backup.nix ./services/backup/sitecopy-backup.nix
./services/backup/tarsnap.nix ./services/backup/tarsnap.nix
./services/computing/torque/server.nix
./services/computing/torque/mom.nix
./services/continuous-integration/jenkins/default.nix ./services/continuous-integration/jenkins/default.nix
./services/continuous-integration/jenkins/slave.nix ./services/continuous-integration/jenkins/slave.nix
./services/databases/4store-endpoint.nix ./services/databases/4store-endpoint.nix

View File

@ -59,6 +59,13 @@ in
''; '';
}; };
package = mkOption {
default = pkgs.openssh;
description = ''
The package used for the openssh client and daemon.
'';
};
}; };
}; };
@ -92,7 +99,7 @@ in
wantedBy = [ "default.target" ]; wantedBy = [ "default.target" ];
serviceConfig = serviceConfig =
{ ExecStartPre = "${pkgs.coreutils}/bin/rm -f %t/ssh-agent"; { ExecStartPre = "${pkgs.coreutils}/bin/rm -f %t/ssh-agent";
ExecStart = "${pkgs.openssh}/bin/ssh-agent -a %t/ssh-agent"; ExecStart = "${cfg.package}/bin/ssh-agent -a %t/ssh-agent";
StandardOutput = "null"; StandardOutput = "null";
Type = "forking"; Type = "forking";
Restart = "on-failure"; Restart = "on-failure";

View File

@ -0,0 +1,63 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.torque.mom;
torque = pkgs.torque;
momConfig = pkgs.writeText "torque-mom-config" ''
$pbsserver ${cfg.serverNode}
$logevent 225
'';
in
{
options = {
services.torque.mom = {
enable = mkEnableOption "torque computing node";
serverNode = mkOption {
type = types.str;
description = "Hostname running pbs server.";
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.torque ];
systemd.services.torque-mom-init = {
path = with pkgs; [ torque utillinux procps inetutils ];
script = ''
pbs_mkdirs -v aux
pbs_mkdirs -v mom
hostname > /var/spool/torque/server_name
cp -v ${momConfig} /var/spool/torque/mom_priv/config
'';
serviceConfig.Type = "oneshot";
unitConfig.ConditionPathExists = "!/var/spool/torque";
};
systemd.services.torque-mom = {
path = [ torque ];
wantedBy = [ "multi-user.target" ];
requires = [ "torque-mom-init.service" ];
after = [ "torque-mom-init.service" "network.target" ];
serviceConfig = {
Type = "forking";
ExecStart = "${torque}/bin/pbs_mom";
PIDFile = "/var/spool/torque/mom_priv/mom.lock";
};
};
};
}

View File

@ -0,0 +1,96 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.torque.server;
torque = pkgs.torque;
in
{
options = {
services.torque.server = {
enable = mkEnableOption "torque server";
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.torque ];
systemd.services.torque-server-init = {
path = with pkgs; [ torque utillinux procps inetutils ];
script = ''
tmpsetup=$(mktemp -t torque-XXXX)
cp -p ${torque}/bin/torque.setup $tmpsetup
sed -i $tmpsetup -e 's/pbs_server -t create/pbs_server -f -t create/'
pbs_mkdirs -v aux
pbs_mkdirs -v server
hostname > /var/spool/torque/server_name
cp -prv ${torque}/var/spool/torque/* /var/spool/torque/
$tmpsetup root
sleep 1
rm -f $tmpsetup
kill $(pgrep pbs_server) 2>/dev/null
kill $(pgrep trqauthd) 2>/dev/null
'';
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
unitConfig = {
ConditionPathExists = "!/var/spool/torque";
};
};
systemd.services.trqauthd = {
path = [ torque ];
requires = [ "torque-server-init.service" ];
after = [ "torque-server-init.service" ];
serviceConfig = {
Type = "forking";
ExecStart = "${torque}/bin/trqauthd";
};
};
systemd.services.torque-server = {
path = [ torque ];
wantedBy = [ "multi-user.target" ];
wants = [ "torque-scheduler.service" "trqauthd.service" ];
before = [ "trqauthd.service" ];
requires = [ "torque-server-init.service" ];
after = [ "torque-server-init.service" "network.target" ];
serviceConfig = {
Type = "forking";
ExecStart = "${torque}/bin/pbs_server";
ExecStop = "${torque}/bin/qterm";
PIDFile = "/var/spool/torque/server_priv/server.lock";
};
};
systemd.services.torque-scheduler = {
path = [ torque ];
requires = [ "torque-server-init.service" ];
after = [ "torque-server-init.service" ];
serviceConfig = {
Type = "forking";
ExecStart = "${torque}/bin/pbs_sched";
PIDFile = "/var/spool/torque/sched_priv/sched.lock";
};
};
};
}

View File

@ -15,7 +15,7 @@ in {
user = mkOption { user = mkOption {
default = "jenkins"; default = "jenkins";
type = with types; string; type = types.str;
description = '' description = ''
User the jenkins server should execute under. User the jenkins server should execute under.
''; '';
@ -23,16 +23,25 @@ in {
group = mkOption { group = mkOption {
default = "jenkins"; default = "jenkins";
type = with types; string; type = types.str;
description = '' description = ''
If the default user "jenkins" is configured then this is the primary If the default user "jenkins" is configured then this is the primary
group of that user. group of that user.
''; '';
}; };
extraGroups = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "wheel" "dialout" ];
description = ''
List of extra groups that the "jenkins" user should be a part of.
'';
};
home = mkOption { home = mkOption {
default = "/var/lib/jenkins"; default = "/var/lib/jenkins";
type = with types; string; type = types.path;
description = '' description = ''
The path to use as JENKINS_HOME. If the default user "jenkins" is configured then The path to use as JENKINS_HOME. If the default user "jenkins" is configured then
this is the home of the "jenkins" user. this is the home of the "jenkins" user.
@ -57,12 +66,21 @@ in {
environment = mkOption { environment = mkOption {
default = { NIX_REMOTE = "daemon"; }; default = { NIX_REMOTE = "daemon"; };
type = with types; attrsOf string; type = with types; attrsOf str;
description = '' description = ''
Additional environment variables to be passed to the jenkins process. Additional environment variables to be passed to the jenkins process.
The environment will always include JENKINS_HOME. The environment will always include JENKINS_HOME.
''; '';
}; };
extraOptions = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "--debug=9" "--httpListenAddress=localhost" ];
description = ''
Additional command line arguments to pass to Jenkins.
'';
};
}; };
}; };
@ -78,6 +96,7 @@ in {
createHome = true; createHome = true;
home = cfg.home; home = cfg.home;
group = cfg.group; group = cfg.group;
extraGroups = cfg.extraGroups;
useDefaultShell = true; useDefaultShell = true;
uid = config.ids.uids.jenkins; uid = config.ids.uids.jenkins;
}; };
@ -94,7 +113,7 @@ in {
path = cfg.packages; path = cfg.packages;
script = '' script = ''
${pkgs.jdk}/bin/java -jar ${pkgs.jenkins} --httpPort=${toString cfg.port} ${pkgs.jdk}/bin/java -jar ${pkgs.jenkins} --httpPort=${toString cfg.port} ${concatStringsSep " " cfg.extraOptions}
''; '';
postStart = '' postStart = ''

View File

@ -23,7 +23,7 @@ in {
user = mkOption { user = mkOption {
default = "jenkins"; default = "jenkins";
type = with types; string; type = types.str;
description = '' description = ''
User the jenkins slave agent should execute under. User the jenkins slave agent should execute under.
''; '';
@ -31,7 +31,7 @@ in {
group = mkOption { group = mkOption {
default = "jenkins"; default = "jenkins";
type = with types; string; type = types.str;
description = '' description = ''
If the default slave agent user "jenkins" is configured then this is If the default slave agent user "jenkins" is configured then this is
the primary group of that user. the primary group of that user.
@ -40,7 +40,7 @@ in {
home = mkOption { home = mkOption {
default = "/var/lib/jenkins"; default = "/var/lib/jenkins";
type = with types; string; type = types.path;
description = '' description = ''
The path to use as JENKINS_HOME. If the default user "jenkins" is configured then The path to use as JENKINS_HOME. If the default user "jenkins" is configured then
this is the home of the "jenkins" user. this is the home of the "jenkins" user.

View File

@ -8,13 +8,20 @@ let
configFile = pkgs.writeText "statsd.conf" '' configFile = pkgs.writeText "statsd.conf" ''
{ {
host: "${cfg.host}", address: "${cfg.host}",
port: "${toString cfg.port}", port: "${toString cfg.port}",
mgmt_address: "${cfg.mgmt_address}", mgmt_address: "${cfg.mgmt_address}",
mgmt_port: "${toString cfg.mgmt_port}", mgmt_port: "${toString cfg.mgmt_port}",
backends: [${concatMapStrings (el: ''"./backends/${el}",'') cfg.backends}], backends: [${concatMapStringsSep "," (el: if (nixType el) == "string" then ''"./backends/${el}"'' else ''"${head el.names}"'') cfg.backends}],
graphiteHost: "${cfg.graphiteHost}", ${optionalString (cfg.graphiteHost!=null) ''graphiteHost: "${cfg.graphiteHost}",''}
graphitePort: "${toString cfg.graphitePort}", ${optionalString (cfg.graphitePort!=null) ''graphitePort: "${toString cfg.graphitePort}",''}
console: {
prettyprint: false
},
log: {
backend: "syslog"
},
automaticConfigReload: false${optionalString (cfg.extraConfig != null) ","}
${cfg.extraConfig} ${cfg.extraConfig}
} }
''; '';
@ -60,24 +67,26 @@ in
backends = mkOption { backends = mkOption {
description = "List of backends statsd will use for data persistance"; description = "List of backends statsd will use for data persistance";
default = ["graphite"]; default = ["graphite"];
example = ["graphite" pkgs.nodePackages."statsd-influxdb-backend"];
type = types.listOf (types.either types.str types.package);
}; };
graphiteHost = mkOption { graphiteHost = mkOption {
description = "Hostname or IP of Graphite server"; description = "Hostname or IP of Graphite server";
default = config.services.graphite.web.host; default = null;
type = types.str; type = types.nullOr types.str;
}; };
graphitePort = mkOption { graphitePort = mkOption {
description = "Port of Graphite server (i.e. carbon-cache)."; description = "Port of Graphite server (i.e. carbon-cache).";
default = 2003; default = null;
type = types.uniq types.int; type = types.nullOr types.int;
}; };
extraConfig = mkOption { extraConfig = mkOption {
default = "";
description = "Extra configuration options for statsd"; description = "Extra configuration options for statsd";
type = types.str; default = "";
type = types.nullOr types.str;
}; };
}; };
@ -95,6 +104,9 @@ in
systemd.services.statsd = { systemd.services.statsd = {
description = "Statsd Server"; description = "Statsd Server";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
environment = {
NODE_PATH=concatMapStringsSep ":" (el: "${el}/lib/node_modules") (filter (el: (nixType el) != "string") cfg.backends);
};
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.nodePackages.statsd}/bin/statsd ${configFile}"; ExecStart = "${pkgs.nodePackages.statsd}/bin/statsd ${configFile}";
User = "statsd"; User = "statsd";

View File

@ -291,7 +291,7 @@ in
}; };
environment.etc = authKeysFiles ++ [ environment.etc = authKeysFiles ++ [
{ source = "${pkgs.openssh}/etc/ssh/moduli"; { source = "${cfgc.package}/etc/ssh/moduli";
target = "ssh/moduli"; target = "ssh/moduli";
} }
{ source = knownHostsFile; { source = knownHostsFile;
@ -308,7 +308,7 @@ in
stopIfChanged = false; stopIfChanged = false;
path = [ pkgs.openssh pkgs.gawk ]; path = [ cfgc.package pkgs.gawk ];
environment.LD_LIBRARY_PATH = nssModulesPath; environment.LD_LIBRARY_PATH = nssModulesPath;
@ -325,7 +325,7 @@ in
serviceConfig = serviceConfig =
{ ExecStart = { ExecStart =
"${pkgs.openssh}/sbin/sshd " + (optionalString cfg.startWhenNeeded "-i ") + "${cfgc.package}/sbin/sshd " + (optionalString cfg.startWhenNeeded "-i ") +
"-f ${pkgs.writeText "sshd_config" cfg.extraConfig}"; "-f ${pkgs.writeText "sshd_config" cfg.extraConfig}";
KillMode = "process"; KillMode = "process";
} // (if cfg.startWhenNeeded then { } // (if cfg.startWhenNeeded then {
@ -394,7 +394,7 @@ in
''} ''}
${optionalString cfg.allowSFTP '' ${optionalString cfg.allowSFTP ''
Subsystem sftp ${pkgs.openssh}/libexec/sftp-server Subsystem sftp ${cfgc.package}/libexec/sftp-server
''} ''}
PermitRootLogin ${cfg.permitRootLogin} PermitRootLogin ${cfg.permitRootLogin}

View File

@ -5,7 +5,7 @@ with lib;
let let
cfg = config.services.tomcat; cfg = config.services.tomcat;
tomcat = pkgs.tomcat7; tomcat = cfg.package;
in in
{ {
@ -21,6 +21,15 @@ in
description = "Whether to enable Apache Tomcat"; description = "Whether to enable Apache Tomcat";
}; };
package = mkOption {
type = types.package;
default = pkgs.tomcat7;
example = lib.literalExample "pkgs.tomcat8";
description = ''
Which tomcat package to use.
'';
};
baseDir = mkOption { baseDir = mkOption {
default = "/var/tomcat"; default = "/var/tomcat";
description = "Location where Tomcat stores configuration files, webapplications and logfiles"; description = "Location where Tomcat stores configuration files, webapplications and logfiles";

View File

@ -245,12 +245,6 @@ in
ip route add $LOCAL_ADDRESS dev $ifaceHost ip route add $LOCAL_ADDRESS dev $ifaceHost
fi fi
fi fi
# This blocks until the container-startup-done service
# writes something to this pipe. FIXME: it also hangs
# until the start timeout expires if systemd-nspawn exits.
read x < $root/var/lib/startup-done
rm -f $root/var/lib/startup-done
''; '';
preStop = preStop =

View File

@ -201,15 +201,32 @@ sub runInContainer {
die "cannot run nsenter: $!\n"; die "cannot run nsenter: $!\n";
} }
# Remove a directory while recursively unmounting all mounted filesystems within
# that directory and unmounting/removing that directory afterwards as well.
#
# NOTE: If the specified path is a mountpoint, its contents will be removed,
# only mountpoints underneath that path will be unmounted properly.
sub safeRemoveTree {
my ($path) = @_;
system("find", $path, "-mindepth", "1", "-xdev",
"(", "-type", "d", "-exec", "mountpoint", "-q", "{}", ";", ")",
"-exec", "umount", "-fR", "{}", "+");
system("rm", "--one-file-system", "-rf", $path);
if (-e $path) {
system("umount", "-fR", $path);
system("rm", "--one-file-system", "-rf", $path);
}
}
if ($action eq "destroy") { if ($action eq "destroy") {
die "$0: cannot destroy declarative container (remove it from your configuration.nix instead)\n" die "$0: cannot destroy declarative container (remove it from your configuration.nix instead)\n"
unless POSIX::access($confFile, &POSIX::W_OK); unless POSIX::access($confFile, &POSIX::W_OK);
stopContainer if isContainerRunning; stopContainer if isContainerRunning;
rmtree($profileDir) if -e $profileDir; safeRemoveTree($profileDir) if -e $profileDir;
rmtree($gcRootsDir) if -e $gcRootsDir; safeRemoveTree($gcRootsDir) if -e $gcRootsDir;
rmtree($root) if -e $root; safeRemoveTree($root) if -e $root;
unlink($confFile) or die; unlink($confFile) or die;
} }

View File

@ -56,12 +56,35 @@ import ./make-test.nix {
die if $id1 eq $id2; die if $id1 eq $id2;
# Put the root of $id2 into a bind mount.
$machine->succeed(
"mv /var/lib/containers/$id2 /id2-bindmount",
"mount --bind /id2-bindmount /var/lib/containers/$id1"
);
my $ip1 = $machine->succeed("nixos-container show-ip $id1"); my $ip1 = $machine->succeed("nixos-container show-ip $id1");
chomp $ip1; chomp $ip1;
my $ip2 = $machine->succeed("nixos-container show-ip $id2"); my $ip2 = $machine->succeed("nixos-container show-ip $id2");
chomp $ip2; chomp $ip2;
die if $ip1 eq $ip2; die if $ip1 eq $ip2;
# Create a directory and a file we can later check if it still exists
# after destruction of the container.
$machine->succeed(
"mkdir /nested-bindmount",
"echo important data > /nested-bindmount/dummy",
);
# Create a directory with a dummy file and bind-mount it into both
# containers.
foreach ($id1, $id2) {
my $importantPath = "/var/lib/containers/$_/very/important/data";
$machine->succeed(
"mkdir -p $importantPath",
"mount --bind /nested-bindmount $importantPath"
);
}
# Start one of them. # Start one of them.
$machine->succeed("nixos-container start $id1"); $machine->succeed("nixos-container start $id1");
@ -72,6 +95,13 @@ import ./make-test.nix {
$machine->succeed("nixos-container destroy $id1"); $machine->succeed("nixos-container destroy $id1");
$machine->succeed("nixos-container destroy $id2"); $machine->succeed("nixos-container destroy $id2");
$machine->succeed(
# Check whether destruction of any container has killed important data
"grep -qF 'important data' /nested-bindmount/dummy",
# Ensure that the container path is gone
"test ! -e /var/lib/containers/$id1"
);
# Destroying a declarative container should fail. # Destroying a declarative container should fail.
$machine->fail("nixos-container destroy webserver"); $machine->fail("nixos-container destroy webserver");
''; '';

View File

@ -0,0 +1,33 @@
{ stdenv, fetchurl, makeWrapper, cmake, qt4, pkgconfig, alsaLib, portaudio, jack2, libsndfile}:
stdenv.mkDerivation rec {
name = "musescore-1.3";
src = fetchurl {
url = "http://ftp.osuosl.org/pub/musescore/releases/MuseScore-1.3/mscore-1.3.tar.bz2";
sha256 = "a0b60cc892ac0266c58fc6392be72c0a21c3aa7fd0b6e4f1dddad1c8b36be683";
};
buildInputs = [ makeWrapper cmake qt4 pkgconfig alsaLib portaudio jack2 libsndfile ];
configurePhase = ''
cd mscore;
mkdir build;
cd build;
cmake -DCMAKE_INSTALL_PREFIX=$out -DQT_PLUGINS_DIR=$out/lib/qt4/plugins -DCMAKE_BUILD_TYPE=Release ..'';
preBuild = ''make lrelease;'';
postInstall = ''
wrapProgram $out/bin/mscore --prefix QT_PLUGIN_PATH : $out/lib/qt4/plugins
'';
meta = with stdenv.lib; {
description = "Qt-based score editor";
homepage = http://musescore.org/;
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ stdenv.lib.maintainers.vandenoever ];
repositories.git = https://github.com/musescore/MuseScore;
};
}

View File

@ -42,7 +42,9 @@ let
mkdir -p $out/bin mkdir -p $out/bin
jdk=${jdk}/lib/openjdk [ -d ${jdk}/lib/openjdk ] \
&& jdk=${jdk}/lib/openjdk \
|| jdk=${jdk}
makeWrapper $out/idea-$build/bin/idea.sh $out/bin/idea \ makeWrapper $out/idea-$build/bin/idea.sh $out/bin/idea \
--prefix PATH : ${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin \ --prefix PATH : ${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin \

View File

@ -1,11 +1,11 @@
{ fetchurl, stdenv, libjpeg, libpng, libtiff, perl }: { fetchurl, stdenv, libjpeg, libpng, libtiff, perl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libpano13-2.9.18"; name = "libpano13-2.9.19";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/panotools/${name}.tar.gz"; url = "mirror://sourceforge/panotools/${name}.tar.gz";
sha256 = "0wm1r9waa47n482yrl3hnphicdahr581rahgbklk0d2wy51lwpfy"; sha256 = "1a4m3plmfcrrplqs9zfzhc5apibn10m5sajpizm1sd3q74w5fwq3";
}; };
buildInputs = [ perl libjpeg libpng libtiff ]; buildInputs = [ perl libjpeg libpng libtiff ];

View File

@ -5,11 +5,11 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "calibre-2.2.0"; name = "calibre-2.3.0";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/calibre/${name}.tar.xz"; url = "mirror://sourceforge/calibre/${name}.tar.xz";
sha256 = "03qljbb3995cq25azwy9qh087dq7m6igia5301v89y98vxxg2lxm"; sha256 = "13ny8d569hl7yv8m89216fmg0qdqqy6l9vgzf3cmbbb8i3l1lpxf";
}; };
inherit python; inherit python;

View File

@ -1,6 +1,5 @@
{ stdenv, fetchurl, pkgconfig, autoconf, automake, gettext { stdenv, fetchurl, pkgconfig, autoconf, automake, gettext
, fluxbox, bc, gtkmm, glibmm, libglademm, libsigcxx , fluxbox, bc, gtkmm, glibmm, libglademm, libsigcxx }:
}:
stdenv.mkDerivation rec{ stdenv.mkDerivation rec{
@ -18,7 +17,7 @@ stdenv.mkDerivation rec{
./autogen.sh ./autogen.sh
''; '';
meta = { meta = with stdenv.lib; {
description = "Editor for Fluxbox menus"; description = "Editor for Fluxbox menus";
longDescription = '' longDescription = ''
Fluxbox Menu Editor is a menu editor for the Window Manager Fluxbox written in C++ Fluxbox Menu Editor is a menu editor for the Window Manager Fluxbox written in C++
@ -27,8 +26,8 @@ stdenv.mkDerivation rec{
a row, a submenu, etc very easily. a row, a submenu, etc very easily.
''; '';
homepage = https://github.com/rdehouss/fme/; homepage = https://github.com/rdehouss/fme/;
license = stdenv.lib.licenses.gpl2; license = licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; maintainers = [ maintainers.AndersonTorres ];
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -1,6 +1,5 @@
{ stdenv, fetchurl { stdenv, fetchurl
, intltool, pkgconfig, gtk , intltool, pkgconfig, gtk }:
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -14,7 +13,7 @@ stdenv.mkDerivation rec {
buildInputs = [ intltool pkgconfig gtk ]; buildInputs = [ intltool pkgconfig gtk ];
meta = { meta = with stdenv.lib; {
description = "A GTK 2/3 algebraic and RPN calculator"; description = "A GTK 2/3 algebraic and RPN calculator";
longDescription = '' longDescription = ''
galculator is a GTK 2 / GTK 3 based calculator. Its main features include: galculator is a GTK 2 / GTK 3 based calculator. Its main features include:
@ -29,7 +28,8 @@ stdenv.mkDerivation rec {
- Quad-precision floating point arithmetic, and 112-bit binary arithmetic - Quad-precision floating point arithmetic, and 112-bit binary arithmetic
''; '';
homepage = http://galculator.sourceforge.net/; homepage = http://galculator.sourceforge.net/;
license = stdenv.lib.licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
}; };
} }

View File

@ -22,14 +22,14 @@ stdenv.mkDerivation rec {
--enable-safe-mode --enable-safe-mode
''; '';
meta = { meta = with stdenv.lib; {
description = "A fast, lightweight terminal emulator"; description = "A fast, lightweight terminal emulator";
longDescription = '' longDescription = ''
LilyTerm is a terminal emulator based off of libvte that aims to be fast and lightweight. LilyTerm is a terminal emulator based off of libvte that aims to be fast and lightweight.
''; '';
homepage = http://lilyterm.luna.com.tw/; homepage = http://lilyterm.luna.com.tw/;
license = stdenv.lib.licenses.gpl3; license = licenses.gpl3;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; maintainers = with maintainers; [ AndersonTorres ];
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -3,14 +3,14 @@
}: }:
let let
version = "0.9.4"; version = "0.9.2";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "spacefm-${version}"; name = "spacefm-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/IgnorantGuru/spacefm/blob/pkg/${version}/${name}.tar.xz?raw=true"; url = "https://github.com/IgnorantGuru/spacefm/blob/pkg/${version}/${name}.tar.xz?raw=true";
sha256 = "0marwa031jk24q8hy90dr7yw6rv5hn1shar404zpb1k57v4nr23m"; sha256 = "3767137d74aa78597ffb42a6121784e91a4276efcd5d718b3793b9790f82268c";
}; };
buildInputs = [ gtk3 udev desktop_file_utils shared_mime_info intltool pkgconfig makeWrapper ]; buildInputs = [ gtk3 udev desktop_file_utils shared_mime_info intltool pkgconfig makeWrapper ];

View File

@ -1,8 +1,7 @@
{ stdenv, fetchurl, pkgconfig { stdenv, fetchurl, pkgconfig
, autoreconfHook, gettext, expat , autoreconfHook, gettext, expat
, confuse, vte, gtk , confuse, vte, gtk
, makeWrapper , makeWrapper }:
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {

View File

@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
qmake PREFIX="$out" qmake PREFIX="$out"
''; '';
meta = { meta = with stdenv.lib; {
description = "A mind-mapping software"; description = "A mind-mapping software";
longDescription = '' longDescription = ''
VYM (View Your Mind) is a tool to generate and manipulate maps which show your thoughts. VYM (View Your Mind) is a tool to generate and manipulate maps which show your thoughts.
@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
vym offers much more features to work with such maps. vym offers much more features to work with such maps.
''; '';
homepage = http://www.insilmaril.de/vym/; homepage = http://www.insilmaril.de/vym/;
license = stdenv.lib.licenses.gpl2; license = licenses.gpl2;
maintainer = [ stdenv.lib.maintainers.AndersonTorres ]; maintainer = [ maintainers.AndersonTorres ];
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -7,8 +7,7 @@
, libgsf, gconf , libgsf, gconf
, gtkhtml, libgtkhtml, libglade, scrollkeeper , gtkhtml, libgtkhtml, libglade, scrollkeeper
, webkitgtk , webkitgtk
, dbus_glib, enchant, isocodes, libuuid , dbus_glib, enchant, isocodes, libuuid }:
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "xiphos-${version}"; name = "xiphos-${version}";
@ -42,16 +41,17 @@ stdenv.mkDerivation rec {
python waf install python waf install
''; '';
meta = { meta = with stdenv.lib; {
description = "A GTK Bible study tool"; description = "A GTK Bible study tool";
longDescription = '' longDescription = ''
Xiphos (formerly known as GnomeSword) is a Bible study tool written for Linux, UNIX, Xiphos (formerly known as GnomeSword) is a Bible study tool
and Windows using GTK, offering a rich and featureful environment for reading, study, written for Linux, UNIX, and Windows using GTK, offering a rich
and research using modules from The SWORD Project and elsewhere. and featureful environment for reading, study, and research using
modules from The SWORD Project and elsewhere.
''; '';
homepage = http://www.xiphos.org/; homepage = http://www.xiphos.org/;
license = stdenv.lib.licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; maintainers = [ maintainers.AndersonTorres ];
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -3,8 +3,7 @@
, openssl , openssl
, libjpeg, libpng , libjpeg, libpng
, perl , perl
, libXcursor, libXi, libXinerama , libXcursor, libXi, libXinerama }:
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "3.0.4"; version = "3.0.4";
@ -22,10 +21,13 @@ stdenv.mkDerivation rec {
configureFlags = "--enable-ssl"; configureFlags = "--enable-ssl";
meta = { meta = with stdenv.lib; {
homepage = http://www.dillo.org/; homepage = http://www.dillo.org/;
description = "A fast graphical web browser with a small footprint"; description = "A fast graphical web browser with a small footprint";
maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; longDescription = ''
platforms = stdenv.lib.platforms.linux; Dillo is a small, fast web browser, tailored for older machines.
'';
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
}; };
} }

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool { stdenv, glib, fetchurl, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool
, perl, perlXMLParser, evolution_data_server, gnome_doc_utils, avahi, autoreconfHook , perl, perlXMLParser, evolution_data_server, gnome_doc_utils, avahi, autoreconfHook
, libsigcxx, gtk, dbus_glib, libnotify, libXext, xextproto, gnome3, boost, libsecret , libsigcxx, gtk, dbus_glib, libnotify, libXext, xextproto, gnome3, boost, libsecret
, pkgconfig, libxml2, videoproto, unixODBC, db, nspr, nss, zlib, hicolor_icon_theme , pkgconfig, libxml2, videoproto, unixODBC, db, nspr, nss, zlib, hicolor_icon_theme
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
buildInputs = [ cyrus_sasl gettext openldap ptlib opal libXv rarian intltool buildInputs = [ cyrus_sasl gettext openldap ptlib opal libXv rarian intltool
perl perlXMLParser evolution_data_server gnome_doc_utils avahi perl perlXMLParser evolution_data_server gnome_doc_utils avahi
libsigcxx gtk dbus_glib libnotify libXext xextproto sqlite libsigcxx gtk dbus_glib libnotify libXext xextproto sqlite
gnome3.libsoup gnome3.libsoup glib gnome3.gnome_icon_theme_symbolic
hicolor_icon_theme gnome3.gnome_icon_theme boost autoreconfHook hicolor_icon_theme gnome3.gnome_icon_theme boost autoreconfHook
pkgconfig libxml2 videoproto unixODBC db nspr nss zlib libsecret pkgconfig libxml2 videoproto unixODBC db nspr nss zlib libsecret
libXrandr randrproto which libxslt libtasn1 gmp nettle makeWrapper ]; libXrandr randrproto which libxslt libtasn1 gmp nettle makeWrapper ];
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
postInstall = '' postInstall = ''
wrapProgram "$out"/bin/ekiga \ wrapProgram "$out"/bin/ekiga \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -0,0 +1,34 @@
{ stdenv, fetchurl, qt5, pkgconfig, boost, wirelesstools, iw }:
stdenv.mkDerivation rec {
name = "linssid-${version}";
version = "2.7";
src = fetchurl {
url = "mirror://sourceforge/project/linssid/LinSSID_${version}/linssid_${version}.orig.tar.gz";
sha256 = "13d35rlcjncd8lx3khkgn9x8is2xjd5fp6ns5xsn3w6l4xj9b4gl";
};
buildInputs = [ qt5 pkgconfig boost ];
postPatch = ''
sed -e "s|/usr/include/|/nonexistent/|g" -i linssid-app/*.pro
sed -e 's|^LIBS .*= .*libboost_regex.a|LIBS += -lboost_regex|' \
-e "s|/usr|$out|g" \
-i linssid-app/linssid-app.pro linssid-app/linssid.desktop
sed -e "s|\.\./\.\./\.\./\.\./usr|$out|g" -i linssid-app/*.ui
sed -e "s|iwlist|${wirelesstools}/sbin/iwlist|g" -i linssid-app/Getter.cpp
sed -e "s|iw dev|${iw}/sbin/iw dev|g" -i linssid-app/MainForm.cpp
'';
configurePhase = "qmake linssid.pro";
meta = with stdenv.lib; {
description = "Graphical wireless scanning for Linux";
homepage = http://sourceforge.net/projects/linssid/;
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.bjornfor ];
};
}

View File

@ -10,7 +10,7 @@ buildPythonPackage rec {
}; };
propagatedBuildInputs = with pythonPackages; [ propagatedBuildInputs = with pythonPackages; [
pillow jinja2 spambayes pythonPackages."lxml-2.3.6" python.modules.readline or null]; pillow jinja2 spambayes pythonPackages.lxml python.modules.readline or null];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A modern, fast web-mail client with user-friendly encryption and privacy features"; description = "A modern, fast web-mail client with user-friendly encryption and privacy features";

View File

@ -3,7 +3,7 @@
{stdenv, fetchgit, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}: {stdenv, fetchgit, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
let let
version = "8.5pre-c70d5b2"; version = "8.5pre-fbbb86b";
buildIde = lablgtk != null; buildIde = lablgtk != null;
ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
idePath = if buildIde then '' idePath = if buildIde then ''
@ -16,8 +16,8 @@ stdenv.mkDerivation {
src = fetchgit { src = fetchgit {
url = git://scm.gforge.inria.fr/coq/coq.git; url = git://scm.gforge.inria.fr/coq/coq.git;
rev = "c70d5b27ad5872c74e20b6c997383fb4462a68dc"; rev = "f7c6b864a509a4cca11cac5fbd5d37efc";
sha256 = "02wks2aivgjcf4h3ss9rn683vyawz8gl8rbysdq7awxh062316l2"; sha256 = "0v84pjxx361afkipgwkc4d2wmn7v1c5n2y8d264kc26i58cgrrf4";
}; };
buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ]; buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];

View File

@ -6,11 +6,11 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "R-3.1.0"; name = "R-3.1.1";
src = fetchurl { src = fetchurl {
url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz"; url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz";
sha256 = "1qjzbw341bvi1h4jwbvdkvq8j0z9l3m85mpgrlfw0n2cz2806s4a"; sha256 = "06bs5jk2bgib2wvd76yq9kf1vyim2j344midxkqyhk216ig4sp6f";
}; };
buildInputs = [ blas bzip2 gfortran liblapack libX11 libXmu libXt buildInputs = [ blas bzip2 gfortran liblapack libX11 libXmu libXt

View File

@ -28,6 +28,6 @@ stdenv.mkDerivation {
description = "Visual diff and merge tool"; description = "Visual diff and merge tool";
homepage = http://meld.sourceforge.net; homepage = http://meld.sourceforge.net;
license = stdenv.lib.licenses.gpl2Plus; license = stdenv.lib.licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux ++ stdenv.lib.platforms.darwin;
}; };
} }

View File

@ -0,0 +1,59 @@
{ stdenv, fetchurl, lib, makeWrapper
, jdk
, gtk, glib
, libXtst
, git, mercurial, subversion
, which
}:
let
the_version = "6_0_6";
in
stdenv.mkDerivation rec {
name = "smartgithg-${the_version}";
src = fetchurl {
url = "http://www.syntevo.com/download/smartgithg/" +
"smartgithg-generic-${the_version}.tar.gz";
sha256 = "13e41560138ef18395fbe0bf56d4d29e8614eee004d51d7dd03381080d8426e6";
};
buildInputs = [
makeWrapper
jdk
];
buildCommand = let
pkg_path = "$out/${name}";
bin_path = "$out/bin";
runtime_paths = lib.makeSearchPath "bin" [
jdk
git mercurial subversion
which
];
runtime_lib_paths = lib.makeLibraryPath [
gtk glib
libXtst
];
in ''
tar xvzf $src
mkdir -pv $out
# unpacking should have produced a dir named ${name}
cp -a ${name} $out
mkdir -pv ${bin_path}
makeWrapper ${pkg_path}/bin/smartgithg.sh ${bin_path}/smartgithg \
--prefix PATH : ${runtime_paths} \
--prefix LD_LIBRARY_PATH : ${runtime_lib_paths} \
--prefix JDK_HOME : ${jdk}/lib/openjdk
patchShebangs $out
'';
meta = with stdenv.lib; {
description = "GUI for Git, Mercurial, Subversion";
homepage = http://www.syntevo.com/smartgithg/;
license = licenses.unfree;
platforms = platforms.linux;
};
}

View File

@ -10,8 +10,7 @@
, openalSupport ? false, openal ? null , openalSupport ? false, openal ? null
, alsaSupport ? true, alsaLib ? null , alsaSupport ? true, alsaLib ? null
, pulseaudioSupport ? true, pulseaudio ? null , pulseaudioSupport ? true, pulseaudio ? null
, portaudioSupport ? false, portaudio ? null , portaudioSupport ? false, portaudio ? null }:
}:
assert spellChecking -> (hunspell != null); assert spellChecking -> (hunspell != null);
assert automationSupport -> (lua != null); assert automationSupport -> (lua != null);
@ -62,6 +61,5 @@ stdenv.mkDerivation rec {
# - so the resulting program will be GPL # - so the resulting program will be GPL
maintainers = [ maintainers.AndersonTorres ]; maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -22,8 +22,7 @@
# for Youtube support # for Youtube support
, quviSupport ? false, libquvi ? null , quviSupport ? false, libquvi ? null
, cacaSupport ? false, libcaca ? null , cacaSupport ? false, libcaca ? null
, vaapiSupport ? false, libva ? null , vaapiSupport ? false, libva ? null }:
}:
assert x11Support -> (libX11 != null && libXext != null && mesa != null && libXxf86vm != null); assert x11Support -> (libX11 != null && libXext != null && mesa != null && libXxf86vm != null);
assert xineramaSupport -> (libXinerama != null && x11Support); assert xineramaSupport -> (libXinerama != null && x11Support);
@ -114,15 +113,17 @@ stdenv.mkDerivation rec {
ln -s ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mpv/subfont.ttf ln -s ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mpv/subfont.ttf
''; '';
meta = { meta = with stdenv.lib;{
description = "A movie player that supports many video formats (MPlayer and mplayer2 fork)"; description = "A movie player that supports many video formats (MPlayer and mplayer2 fork)";
longDescription = '' longDescription = ''
mpv is a free and open-source general-purpose video player, based on the MPlayer and mplayer2 projects, with great improvements above both. mpv is a free and open-source general-purpose video player,
based on the MPlayer and mplayer2 projects, with great
improvements above both.
''; '';
homepage = "http://mpv.io"; homepage = http://mpv.io;
license = stdenv.lib.licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; maintainers = [ maintainers.AndersonTorres ];
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -9,8 +9,7 @@
, mjpegtools , mjpegtools
, alsaLib , alsaLib
, libv4l , libv4l
, cimg , cimg }:
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -35,7 +34,7 @@ stdenv.mkDerivation rec {
make install prefix="$out" wxcamdocdir="$out/share/doc/wxcam" make install prefix="$out" wxcamdocdir="$out/share/doc/wxcam"
''; '';
meta = { meta = with stdenv.lib; {
description = "An open-source, wxGTK-based webcam app for Linux"; description = "An open-source, wxGTK-based webcam app for Linux";
longDescription = '' longDescription = ''
wxCam is a webcam application for linux. It supports video recording wxCam is a webcam application for linux. It supports video recording
@ -45,8 +44,8 @@ stdenv.mkDerivation rec {
so it should work on a very large number of devices. so it should work on a very large number of devices.
''; '';
homepage = http://wxcam.sourceforge.net/; homepage = http://wxcam.sourceforge.net/;
license = stdenv.lib.licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; maintainers = [ maintainers.AndersonTorres ];
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -1,7 +1,6 @@
{ stdenv, fetchurl { stdenv, fetchurl
, localBios ? true, nasm ? null , localBios ? true, nasm ? null
, sdlSupport ? true, SDL ? null , sdlSupport ? true, SDL ? null }:
}:
assert sdlSupport -> (SDL != null); assert sdlSupport -> (SDL != null);

View File

@ -5,8 +5,7 @@
, termSupport ? true , ncurses ? null, readline ? null , termSupport ? true , ncurses ? null, readline ? null
, wxSupport ? false, wxGTK ? null , wxSupport ? false, wxGTK ? null
, wgetSupport ? false, wget ? null , wgetSupport ? false, wget ? null
, curlSupport ? false, curl ? null , curlSupport ? false, curl ? null }:
}:
assert sdlSupport -> (SDL != null); assert sdlSupport -> (SDL != null);
assert termSupport -> (ncurses != null&& readline != null); assert termSupport -> (ncurses != null&& readline != null);
@ -52,15 +51,19 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE="-I${gtk}/include/gtk-2.0/"; NIX_CFLAGS_COMPILE="-I${gtk}/include/gtk-2.0/";
meta = { meta = with stdenv.lib; {
description = "An open-source IA-32 (x86) PC emulator"; description = "An open-source IA-32 (x86) PC emulator";
longDescription = '' longDescription = ''
Bochs is an open-source (LGPL), highly portable IA-32 PC emulator, written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS. Bochs is an open-source (LGPL), highly portable IA-32 PC emulator,
written in C++, that runs on most popular platforms. It includes
emulation of the Intel x86 CPU, common I/O devices, and a custom
BIOS.
''; '';
homepage = http://bochs.sourceforge.net/; homepage = http://bochs.sourceforge.net/;
license = stdenv.lib.licenses.lgpl2Plus; license = licenses.lgpl2Plus;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; maintainers = [ maintainers.AndersonTorres ];
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
}; };
} }
# TODO: study config.bochs.* implementation (like config.ffmpeg.* options) # TODO: study config.bochs.* implementation (like config.ffmpeg.* options)

View File

@ -2,8 +2,7 @@
, freetype, fribidi , freetype, fribidi
, libXext, libXft, libXpm, libXrandr, libXrender, xextproto , libXext, libXft, libXpm, libXrandr, libXrender, xextproto
, libXinerama , libXinerama
, imlib2 , imlib2 }:
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -17,17 +16,19 @@ stdenv.mkDerivation rec {
sha256 = "164dd7bf59791d09a1e729a4fcd5e7347a1004ba675629860a5cf1a271c32983"; sha256 = "164dd7bf59791d09a1e729a4fcd5e7347a1004ba675629860a5cf1a271c32983";
}; };
meta = { meta = with stdenv.lib; {
description = "Full-featured, light-resource X window manager"; description = "Full-featured, light-resource X window manager";
longDescription = '' longDescription = ''
Fluxbox is a X window manager based on Blackbox 0.61.1 window manager sources. Fluxbox is a X window manager based on Blackbox 0.61.1 window
It is very light on resources and easy to handle but yet full of features to make an easy, manager sources. It is very light on resources and easy to
and extremely fast, desktop experience. It is written in C++ and licensed under MIT license. handle but yet full of features to make an easy, and extremely
fast, desktop experience. It is written in C++ and licensed
under MIT license.
''; '';
homepage = http://fluxbox.org/; homepage = http://fluxbox.org/;
license = stdenv.lib.licenses.mit; license = licenses.mit;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; maintainers = [ maintainers.AndersonTorres ];
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
}; };
} }
# Many thanks Jack Ryan from Nix-dev mailing list! # Many thanks Jack Ryan from Nix-dev mailing list!

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
name = "jwm-2.2.2"; name = "jwm-2.2.2";
src = fetchurl { src = fetchurl {
url = "http://www.joewing.net/programs/jwm/releases/${name}.tar.xz"; url = "http://www.joewing.net/projects/jwm/releases/${name}.tar.xz";
sha256 = "0nhyy78c6imk85d47bakk460x0cfhkyghqq82zghmb00dhwiryln"; sha256 = "0nhyy78c6imk85d47bakk460x0cfhkyghqq82zghmb00dhwiryln";
}; };

View File

@ -3,7 +3,7 @@
chrootenvDest=/run/chrootenv/@name@ chrootenvDest=/run/chrootenv/@name@
# Remove bind mount points # Remove bind mount points
rmdir $chrootenvDest/{dev,nix/store,nix,proc,sys,host-etc,home,var,run} rmdir $chrootenvDest/{dev,nix/store,nix,proc,sys,host-etc,home,var,run,tmp}
# Remove symlinks to the software that should be part of the chroot system profile # Remove symlinks to the software that should be part of the chroot system profile
for i in @chrootEnv@/sw/* for i in @chrootEnv@/sw/*
@ -15,7 +15,8 @@ do
done done
# Remove the remaining folders # Remove the remaining folders
rm -Rf $chrootenvDest/{etc,root,tmp} rm -Rf $chrootenvDest/{etc,root}
rm -Rf /tmp/chrootenv-@name@
# Remove the chroot environment folder # Remove the chroot environment folder
rmdir $chrootenvDest rmdir $chrootenvDest

View File

@ -45,4 +45,5 @@ ln -s ../../../host-etc/static/fonts/conf.d/00-nixos.conf $chrootenvDest/etc/fon
mkdir $chrootenvDest/root mkdir $chrootenvDest/root
# Create tmp folder # Create tmp folder
mkdir -m1777 $chrootenvDest/tmp mkdir -m1777 $chrootenvDest/tmp
mkdir -m1777 -p /tmp/chrootenv-@name@

View File

@ -21,3 +21,6 @@ mount --rbind /run $chrootenvDest/run
# Bind mount the host system's /etc # Bind mount the host system's /etc
mount --bind /etc $chrootenvDest/host-etc mount --bind /etc $chrootenvDest/host-etc
# Bind mount /tmp
mount --bind /tmp/chrootenv-@name@ /run/chrootenv/steam/tmp

View File

@ -3,4 +3,4 @@
chrootenvDest=/run/chrootenv/@name@ chrootenvDest=/run/chrootenv/@name@
# Unmount all (r)bind mounts # Unmount all (r)bind mounts
umount -l $chrootenvDest/{dev/pts,dev/shm,dev,nix/store,proc,sys,host-etc,home,var,run} umount -l $chrootenvDest/{dev/pts,dev/shm,dev,nix/store,proc,sys,host-etc,home,var,tmp,run}

View File

@ -32,7 +32,7 @@ let
grKernel = if cfg.stable grKernel = if cfg.stable
then mkKernel pkgs.linux_3_14 stable-patch then mkKernel pkgs.linux_3_14 stable-patch
else mkKernel pkgs.linux_3_15 test-patch; else mkKernel pkgs.linux_3_16 test-patch;
## -- grsecurity configuration --------------------------------------------- ## -- grsecurity configuration ---------------------------------------------

View File

@ -4,6 +4,7 @@ rec {
src = fetchurl { src = fetchurl {
urls = [ urls = [
"ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ttf-arkpandora-${version}.tgz" "ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ttf-arkpandora-${version}.tgz"
"http://distcache.FreeBSD.org/ports-distfiles/ttf-arkpandora-${version}.tgz"
"http://www.users.bigpond.net.au/gavindi/ttf-arkpandora-${version}.tgz" "http://www.users.bigpond.net.au/gavindi/ttf-arkpandora-${version}.tgz"
]; ];
sha256 = "16mfxwlgn6vs3xn00hha5dnmz6bhjiflq138y4zcq3yhk0y9bz51"; sha256 = "16mfxwlgn6vs3xn00hha5dnmz6bhjiflq138y4zcq3yhk0y9bz51";

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, automake}: {stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, automake, gettext}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "scrollkeeper-0.3.14"; name = "scrollkeeper-0.3.14";
@ -13,6 +13,6 @@ stdenv.mkDerivation {
cp ${automake}/share/automake*/config.{sub,guess} . cp ${automake}/share/automake*/config.{sub,guess} .
"; ";
buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt]; buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt gettext];
configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat"; configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
} }

View File

@ -0,0 +1,36 @@
--- a/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
+++ b/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
@@ -144,7 +144,7 @@
Action::AuthStatus Polkit1Backend::actionStatus(const QString &action)
{
- PolkitQt1::UnixProcessSubject subject(QCoreApplication::applicationPid());
+ PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID()));
PolkitQt1::Authority::Result r = PolkitQt1::Authority::instance()->checkAuthorizationSync(action, subject,
PolkitQt1::Authority::None);
switch (r) {
@@ -160,21 +160,12 @@
QByteArray Polkit1Backend::callerID() const
{
- QByteArray a;
- QDataStream s(&a, QIODevice::WriteOnly);
- s << QCoreApplication::applicationPid();
-
- return a;
+ return QDBusConnection::systemBus().baseService().toUtf8();
}
bool Polkit1Backend::isCallerAuthorized(const QString &action, QByteArray callerID)
{
- QDataStream s(&callerID, QIODevice::ReadOnly);
- qint64 pid;
-
- s >> pid;
-
- PolkitQt1::UnixProcessSubject subject(pid);
+ PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID));
PolkitQt1::Authority *authority = PolkitQt1::Authority::instance();
PolkitResultEventLoop e;

View File

@ -4,7 +4,7 @@
, automoc4, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee , automoc4, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee
, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1, acl, attr, libXtst , docbook_xml_dtd_42, docbook_xsl, polkit_qt_1, acl, attr, libXtst
, udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt , udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt
, pkgconfig, fetchpatch , pkgconfig
}: }:
kde { kde {
@ -30,12 +30,7 @@ kde {
patches = [ patches = [
../files/polkit-install.patch ../files/polkit-install.patch
(fetchpatch { ../files/kdelibs-cve-2014-5033.patch # Security patch, remove when updating to 4.14.0 or more
name = "CVE-2014-5033.patch";
url = "http://quickgit.kde.org/?p=kdelibs.git"
+ "&a=commit&h=e4e7b53b71e2659adaf52691d4accc3594203b23";
sha256 = "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73";
})
]; ];
cmakeFlags = [ cmakeFlags = [

View File

@ -28,7 +28,7 @@ cabal.mkDerivation (self: {
meta = { meta = {
homepage = "http://wiki.portal.chalmers.se/agda/"; homepage = "http://wiki.portal.chalmers.se/agda/";
description = "A dependently typed functional programming language and proof assistant"; description = "A dependently typed functional programming language and proof assistant";
license = "unknown"; license = self.stdenv.lib.licenses.mit;
platforms = self.ghc.meta.platforms; platforms = self.ghc.meta.platforms;
}; };
}) })

View File

@ -1,8 +1,5 @@
{ stdenv, agda, fetchurl, ghcWithPackages }: { stdenv, agda, fetchurl, ghc, filemanip }:
let
ghc = ghcWithPackages (s: [ s.filemanip ]);
in
agda.mkDerivation (self: rec { agda.mkDerivation (self: rec {
name = "Agda-stdlib"; name = "Agda-stdlib";
version = "0.8.1"; version = "0.8.1";
@ -12,8 +9,9 @@ agda.mkDerivation (self: rec {
sha256 = "0ij4rg4lk0pq01ing285gbmnn23dcf2rhihdcs8bbdpjg52vl4gf"; sha256 = "0ij4rg4lk0pq01ing285gbmnn23dcf2rhihdcs8bbdpjg52vl4gf";
}; };
buildInputs = [ filemanip ghc ];
preConfigure = '' preConfigure = ''
${ghc}/bin/runhaskell GenerateEverything.hs runhaskell GenerateEverything.hs
''; '';
topSourceDirectories = [ "src" ]; topSourceDirectories = [ "src" ];
@ -21,7 +19,8 @@ agda.mkDerivation (self: rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Libraries.StandardLibrary"; homepage = "http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Libraries.StandardLibrary";
description = "A standard library for use with the Agda compiler."; description = "A standard library for use with the Agda compiler.";
license = "unknown"; license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.unix;
maintainers = with maintainers; [ jwiegley ]; maintainers = with maintainers; [ jwiegley ];
}; };
}) })

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, makeWrapper, jre }: { stdenv, fetchurl, makeWrapper, jre }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "scala-2.11.0"; name = "scala-2.11.1";
src = fetchurl { src = fetchurl {
url = "http://www.scala-lang.org/files/archive/${name}.tgz"; url = "http://www.scala-lang.org/files/archive/${name}.tgz";
sha256 = "00lap31c6rxvg7vipmj0j7f4mv6c58wpfyd3785bxwlhrzmmwgq7"; sha256 = "1vjsmqjwpxavyj29wrbvvx7799fsa65d4iha5mj63cgs8qp605gk";
}; };
buildInputs = [ jre makeWrapper ] ; buildInputs = [ jre makeWrapper ] ;

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils }: { stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils }:
let let
version = "0.15.1"; version = "1.0.0";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "elixir-${version}"; name = "elixir-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz"; url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz";
sha256 = "8e608abf90a6e9a25ef5fb7e45dfd04e2cb7e1fecb4ac260bf6652885a7f0c50"; sha256 = "1ci8g6nh89xnn0ax9kazcs47w406nqsj1d4rf8sb1b6abfq78xsj";
}; };
buildInputs = [ erlang rebar makeWrapper ]; buildInputs = [ erlang rebar makeWrapper ];

View File

@ -0,0 +1,32 @@
{ stdenv, fetchgit, sqlite }:
stdenv.mkDerivation {
name = "jimtcl-0.75-git";
src = fetchgit {
url = https://github.com/msteveb/jimtcl.git;
rev = "c4d4bf8bc104733db1f5992a27d88fbfca9ba882";
sha256 = "0vnl2k5sj250l08bplqd61zj6261v7kp202pss66g01rhp42fj3r";
};
buildInputs = [
sqlite
];
configureFlags = [
"--with-ext=oo"
"--with-ext=tree"
"--with-ext=binary"
"--with-ext=sqlite3"
"--enable-utf8"
"--ipv6"
];
meta = {
description = "An open source small-footprint implementation of the Tcl programming language";
homepage = http://jim.tcl.tk/;
license = stdenv.lib.licenses.bsd2;
platforms = stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ dbohdan ];
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, readline }: { stdenv, fetchurl, fetchpatch, readline }:
let let
dsoPatch = fetchurl { dsoPatch = fetchurl {
@ -18,7 +18,13 @@ stdenv.mkDerivation rec {
buildInputs = [ readline ]; buildInputs = [ readline ];
patches = if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch ]; patches = (if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch ])
++ [(fetchpatch {
name = "CVE-2014-5461.patch";
url = "http://anonscm.debian.org/cgit/pkg-lua/lua5.1.git/plain/debian/patches/"
+ "0004-Fix-stack-overflow-in-vararg-functions.patch?id=b75a2014db2ad65683521f7bb295bfa37b48b389";
sha256 = "05i5vh53d9i6dy11ibg9i9qpwz5hdm0s8bkx1d9cfcvy80cm4c7f";
})];
configurePhase = configurePhase =
if stdenv.isDarwin if stdenv.isDarwin

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, lua5, lua5_sockets, openssl }: { stdenv, fetchurl, lua5, openssl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.5"; version = "0.5";

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, lua5}: { stdenv, fetchurl, lua5 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "lua-sockets-${version}"; name = "lua-sockets-${version}";
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "19ichkbc4rxv00ggz8gyf29jibvc2wq9pqjik0ll326rrxswgnag"; sha256 = "19ichkbc4rxv00ggz8gyf29jibvc2wq9pqjik0ll326rrxswgnag";
}; };
luaver = "5.1"; # TODO luaver = lua5.luaversion;
patchPhase = '' patchPhase = ''
sed -e "s,^INSTALL_TOP_SHARE.*,INSTALL_TOP_SHARE=$out/share/lua/${lua5.luaversion}," \ sed -e "s,^INSTALL_TOP_SHARE.*,INSTALL_TOP_SHARE=$out/share/lua/${lua5.luaversion}," \
-e "s,^INSTALL_TOP_LIB.*,INSTALL_TOP_LIB=$out/lib/lua/${lua5.luaversion}," \ -e "s,^INSTALL_TOP_LIB.*,INSTALL_TOP_LIB=$out/lib/lua/${lua5.luaversion}," \

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.31"; version = "5.4.32";
name = "php-${version}"; name = "php-${version}";
@ -249,7 +249,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
src = fetchurl { src = fetchurl {
url = "http://www.php.net/distributions/php-${version}.tar.bz2"; url = "http://www.php.net/distributions/php-${version}.tar.bz2";
sha256 = "0kci0yir923fc7dv7j9qrc10pj05v82jnxjxjbgrj7gx64a4k3jy"; sha256 = "09n8lxnc5p2xfwk0ql2lh183h78hha1axhrdsa6g3650d5v73l16";
}; };
meta = { meta = {

View File

@ -4,22 +4,23 @@ g: # Get dependencies from patched gems
{ {
aliases = { aliases = {
ZenTest = g.ZenTest_4_10_1; ZenTest = g.ZenTest_4_10_1;
actionmailer = g.actionmailer_4_1_5; actionmailer = g.actionmailer_4_1_6;
actionpack = g.actionpack_4_1_5; actionpack = g.actionpack_4_1_6;
actionview = g.actionview_4_1_5; actionview = g.actionview_4_1_6;
activemodel = g.activemodel_4_1_5; activemodel = g.activemodel_4_1_6;
activerecord = g.activerecord_4_1_5; activerecord = g.activerecord_4_1_6;
activesupport = g.activesupport_4_1_5; activesupport = g.activesupport_4_1_6;
addressable = g.addressable_2_3_6; addressable = g.addressable_2_3_6;
arel = g.arel_5_0_1_20140414130214; arel = g.arel_5_0_1_20140414130214;
atoulme_Antwrap = g.atoulme_Antwrap_0_7_4; atoulme_Antwrap = g.atoulme_Antwrap_0_7_4;
autotest_rails = g.autotest_rails_4_2_1; autotest_rails = g.autotest_rails_4_2_1;
aws_sdk = g.aws_sdk_1_51_0; aws_sdk = g.aws_sdk_1_53_0;
aws_sdk_v1 = g.aws_sdk_v1_1_53_0;
backports = g.backports_3_6_0; backports = g.backports_3_6_0;
bitbucket_backup = g.bitbucket_backup_0_3_1; bitbucket_backup = g.bitbucket_backup_0_3_1;
builder = g.builder_3_2_2; builder = g.builder_3_2_2;
buildr = g.buildr_1_4_19; buildr = g.buildr_1_4_20;
bundler = g.bundler_1_7_1; bundler = g.bundler_1_7_2;
childprocess = g.childprocess_0_5_3; childprocess = g.childprocess_0_5_3;
chronic = g.chronic_0_10_2; chronic = g.chronic_0_10_2;
coderay = g.coderay_1_1_0; coderay = g.coderay_1_1_0;
@ -27,7 +28,7 @@ g: # Get dependencies from patched gems
daemons = g.daemons_1_1_9; daemons = g.daemons_1_1_9;
diff_lcs = g.diff_lcs_1_2_5; diff_lcs = g.diff_lcs_1_2_5;
dimensions = g.dimensions_1_2_0; dimensions = g.dimensions_1_2_0;
domain_name = g.domain_name_0_5_20; domain_name = g.domain_name_0_5_21;
dotenv = g.dotenv_0_11_1; dotenv = g.dotenv_0_11_1;
dotenv_deployment = g.dotenv_deployment_0_0_2; dotenv_deployment = g.dotenv_deployment_0_0_2;
em_resolv_replace = g.em_resolv_replace_1_1_3; em_resolv_replace = g.em_resolv_replace_1_1_3;
@ -35,13 +36,14 @@ g: # Get dependencies from patched gems
ethon = g.ethon_0_7_1; ethon = g.ethon_0_7_1;
eventmachine = g.eventmachine_1_0_3; eventmachine = g.eventmachine_1_0_3;
eventmachine_tail = g.eventmachine_tail_0_6_4; eventmachine_tail = g.eventmachine_tail_0_6_4;
execjs = g.execjs_2_2_1;
fakes3 = g.fakes3_0_1_5_2; fakes3 = g.fakes3_0_1_5_2;
faraday = g.faraday_0_9_0; faraday = g.faraday_0_9_0;
faraday_middleware = g.faraday_middleware_0_9_1; faraday_middleware = g.faraday_middleware_0_9_1;
ffi = g.ffi_1_9_3; ffi = g.ffi_1_9_3;
file_tail = g.file_tail_1_0_12; file_tail = g.file_tail_1_0_12;
foreman = g.foreman_0_74_0; foreman = g.foreman_0_75_0;
gettext = g.gettext_3_1_3; gettext = g.gettext_3_1_4;
gh = g.gh_0_13_2; gh = g.gh_0_13_2;
gherkin = g.gherkin_2_12_2; gherkin = g.gherkin_2_12_2;
highline = g.highline_1_6_21; highline = g.highline_1_6_21;
@ -63,7 +65,7 @@ g: # Get dependencies from patched gems
mime_types = g.mime_types_2_3; mime_types = g.mime_types_2_3;
mini_portile = g.mini_portile_0_6_0; mini_portile = g.mini_portile_0_6_0;
minitar = g.minitar_0_5_4; minitar = g.minitar_0_5_4;
minitest = g.minitest_5_4_0; minitest = g.minitest_5_4_1;
multi_json = g.multi_json_1_10_1; multi_json = g.multi_json_1_10_1;
multi_test = g.multi_test_0_1_1; multi_test = g.multi_test_0_1_1;
multipart_post = g.multipart_post_2_0_0; multipart_post = g.multipart_post_2_0_0;
@ -79,17 +81,17 @@ g: # Get dependencies from patched gems
papertrail = g.papertrail_0_9_10; papertrail = g.papertrail_0_9_10;
papertrail_cli = g.papertrail_cli_0_9_3; papertrail_cli = g.papertrail_cli_0_9_3;
parallel = g.parallel_0_7_1; parallel = g.parallel_0_7_1;
polyglot = g.polyglot_0_3_5;
pry = g.pry_0_9_12_6; pry = g.pry_0_9_12_6;
pusher_client = g.pusher_client_0_6_0; pusher_client = g.pusher_client_0_6_0;
rack = g.rack_1_5_2; rack = g.rack_1_5_2;
rack_protection = g.rack_protection_1_5_3; rack_protection = g.rack_protection_1_5_3;
rack_test = g.rack_test_0_6_2; rack_test = g.rack_test_0_6_2;
rails = g.rails_4_1_5; rails = g.rails_4_1_6;
railties = g.railties_4_1_5; railties = g.railties_4_1_6;
rake = g.rake_10_3_2; rake = g.rake_10_3_2;
rb_fsevent = g.rb_fsevent_0_9_4; rb_fsevent = g.rb_fsevent_0_9_4;
rdiscount = g.rdiscount_2_1_7_1; rdiscount = g.rdiscount_2_1_7_1;
rdoc = g.rdoc_4_1_2;
remote_syslog = g.remote_syslog_1_6_14; remote_syslog = g.remote_syslog_1_6_14;
riemann_dash = g.riemann_dash_0_2_9; riemann_dash = g.riemann_dash_0_2_9;
right_aws = g.right_aws_3_1_0; right_aws = g.right_aws_3_1_0;
@ -102,13 +104,13 @@ g: # Get dependencies from patched gems
rspec_expectations = g.rspec_expectations_2_14_5; rspec_expectations = g.rspec_expectations_2_14_5;
rspec_mocks = g.rspec_mocks_2_14_6; rspec_mocks = g.rspec_mocks_2_14_6;
rubyzip = g.rubyzip_1_1_6; rubyzip = g.rubyzip_1_1_6;
sass = g.sass_3_4_1; sass = g.sass_3_4_3;
selenium_webdriver = g.selenium_webdriver_2_42_0; selenium_webdriver = g.selenium_webdriver_2_43_0;
servolux = g.servolux_0_10_0; servolux = g.servolux_0_10_0;
sinatra = g.sinatra_1_4_5; sinatra = g.sinatra_1_4_5;
slop = g.slop_3_6_0; slop = g.slop_3_6_0;
sprockets = g.sprockets_2_12_1; sprockets = g.sprockets_2_12_2;
sprockets_rails = g.sprockets_rails_2_1_3; sprockets_rails = g.sprockets_rails_2_1_4;
syslog_protocol = g.syslog_protocol_0_9_2; syslog_protocol = g.syslog_protocol_0_9_2;
systemu = g.systemu_2_6_4; systemu = g.systemu_2_6_4;
taskjuggler = g.taskjuggler_3_5_0; taskjuggler = g.taskjuggler_3_5_0;
@ -121,21 +123,22 @@ g: # Get dependencies from patched gems
tilt = g.tilt_1_4_1; tilt = g.tilt_1_4_1;
tins = g.tins_1_3_2; tins = g.tins_1_3_2;
travis = g.travis_1_7_1; travis = g.travis_1_7_1;
treetop = g.treetop_1_4_15;
trollop = g.trollop_2_0; trollop = g.trollop_2_0;
typhoeus = g.typhoeus_0_6_9; typhoeus = g.typhoeus_0_6_9;
tzinfo = g.tzinfo_1_2_2; tzinfo = g.tzinfo_1_2_2;
uglifier = g.uglifier_2_5_3;
unf = g.unf_0_1_4; unf = g.unf_0_1_4;
unf_ext = g.unf_ext_0_0_6; unf_ext = g.unf_ext_0_0_6;
uuid = g.uuid_2_3_7; uuid = g.uuid_2_3_7;
webrick = g.webrick_1_3_1; webrick = g.webrick_1_3_1;
webrobots = g.webrobots_0_1_1; webrobots = g.webrobots_0_1_1;
websocket = g.websocket_1_2_0; websocket = g.websocket_1_2_1;
xapian_full = g.xapian_full_1_2_3; xapian_full = g.xapian_full_1_2_3;
xapian_ruby = g.xapian_ruby_1_2_17; xapian_ruby = g.xapian_ruby_1_2_17;
xml_simple = g.xml_simple_1_1_2; xml_simple = g.xml_simple_1_1_2;
yajl_ruby = g.yajl_ruby_1_2_1;
}; };
gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''cucumber'' ''fakes3'' ''foreman'' ''gettext'' ''iconv'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''remote_syslog'' ''riemann-dash'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''taskjuggler'' ''terminal-notifier'' ''thin'' ''travis'' ''trollop'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ]; gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''cucumber'' ''erubis'' ''execjs'' ''fakes3'' ''foreman'' ''gettext'' ''iconv'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''rdoc'' ''remote_syslog'' ''riemann-dash'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''taskjuggler'' ''terminal-notifier'' ''thin'' ''travis'' ''trollop'' ''uglifier'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ''yajl-ruby'' ];
gems = { gems = {
ZenTest_4_10_1 = { ZenTest_4_10_1 = {
basename = ''ZenTest''; basename = ''ZenTest'';
@ -168,71 +171,71 @@ installed versions.'';
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''1jyk0lag27s71idna2h72ljskimj0snsiw7diyjx5rqxnz6fj7z1''; sha256 = ''1jyk0lag27s71idna2h72ljskimj0snsiw7diyjx5rqxnz6fj7z1'';
}; };
actionmailer_4_1_5 = { actionmailer_4_1_6 = {
basename = ''actionmailer''; basename = ''actionmailer'';
meta = { meta = {
description = ''Email composition, delivery, and receiving framework (part of Rails).''; description = ''Email composition, delivery, and receiving framework (part of Rails).'';
homepage = ''http://www.rubyonrails.org''; homepage = ''http://www.rubyonrails.org'';
longDescription = ''Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments.''; longDescription = ''Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments.'';
}; };
name = ''actionmailer-4.1.5''; name = ''actionmailer-4.1.6'';
requiredGems = [ g.actionpack_4_1_5 g.actionview_4_1_5 g.mail_2_5_4 ]; requiredGems = [ g.actionpack_4_1_6 g.actionview_4_1_6 g.mail_2_6_1 ];
sha256 = ''19frz9njy6jbxh7yasx62l4ifns3dxfkfqvnxlqb4pwsz7lqcp9c''; sha256 = ''1lsw9h0wm7pwdzm9jdq3y5b8b1cf56fd4dcgx4s91qf0lc0dw0wv'';
}; };
actionpack_4_1_5 = { actionpack_4_1_6 = {
basename = ''actionpack''; basename = ''actionpack'';
meta = { meta = {
description = ''Web-flow and rendering framework putting the VC in MVC (part of Rails).''; description = ''Web-flow and rendering framework putting the VC in MVC (part of Rails).'';
homepage = ''http://www.rubyonrails.org''; homepage = ''http://www.rubyonrails.org'';
longDescription = ''Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.''; longDescription = ''Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.'';
}; };
name = ''actionpack-4.1.5''; name = ''actionpack-4.1.6'';
requiredGems = [ g.activesupport_4_1_5 g.rack_1_5_2 g.rack_test_0_6_2 g.actionview_4_1_5 ]; requiredGems = [ g.activesupport_4_1_6 g.rack_1_5_2 g.rack_test_0_6_2 g.actionview_4_1_6 ];
sha256 = ''05wh3c5rw3c0rsza3bnpmr6s63n481d4gkbhsp3ngwn9lpp3jdb6''; sha256 = ''07a95iahv04gikk4qbgpi9is709ynkpcd4g00kqm629jaffrsyj2'';
}; };
actionview_4_1_5 = { actionview_4_1_6 = {
basename = ''actionview''; basename = ''actionview'';
meta = { meta = {
description = ''Rendering framework putting the V in MVC (part of Rails).''; description = ''Rendering framework putting the V in MVC (part of Rails).'';
homepage = ''http://www.rubyonrails.org''; homepage = ''http://www.rubyonrails.org'';
longDescription = ''Simple, battle-tested conventions and helpers for building web pages.''; longDescription = ''Simple, battle-tested conventions and helpers for building web pages.'';
}; };
name = ''actionview-4.1.5''; name = ''actionview-4.1.6'';
requiredGems = [ g.activesupport_4_1_5 g.builder_3_2_2 g.erubis_2_7_0 ]; requiredGems = [ g.activesupport_4_1_6 g.builder_3_2_2 g.erubis_2_7_0 ];
sha256 = ''02zb4xi2farzh892j9awxshyly7ijlvbj39g6cwq5mhs5cx59qk8''; sha256 = ''1r06r4zsaqsq1wyqy2g29nnycw50v37ab7zmnvzjhy24y53rv9w7'';
}; };
activemodel_4_1_5 = { activemodel_4_1_6 = {
basename = ''activemodel''; basename = ''activemodel'';
meta = { meta = {
description = ''A toolkit for building modeling frameworks (part of Rails).''; description = ''A toolkit for building modeling frameworks (part of Rails).'';
homepage = ''http://www.rubyonrails.org''; homepage = ''http://www.rubyonrails.org'';
longDescription = ''A toolkit for building modeling frameworks like Active Record. Rich support for attributes, callbacks, validations, serialization, internationalization, and testing.''; longDescription = ''A toolkit for building modeling frameworks like Active Record. Rich support for attributes, callbacks, validations, serialization, internationalization, and testing.'';
}; };
name = ''activemodel-4.1.5''; name = ''activemodel-4.1.6'';
requiredGems = [ g.activesupport_4_1_5 g.builder_3_2_2 ]; requiredGems = [ g.activesupport_4_1_6 g.builder_3_2_2 ];
sha256 = ''1anbjwdfgdjfxiv5vzysrdd98mapvd2h8xjkayq3vq54n13ymjvl''; sha256 = ''14mw7d0jax7sky4nc2a7rspcf2inb3m6mxhx653i00v0xjrxa3x6'';
}; };
activerecord_4_1_5 = { activerecord_4_1_6 = {
basename = ''activerecord''; basename = ''activerecord'';
meta = { meta = {
description = ''Object-relational mapper framework (part of Rails).''; description = ''Object-relational mapper framework (part of Rails).'';
homepage = ''http://www.rubyonrails.org''; homepage = ''http://www.rubyonrails.org'';
longDescription = ''Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in.''; longDescription = ''Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in.'';
}; };
name = ''activerecord-4.1.5''; name = ''activerecord-4.1.6'';
requiredGems = [ g.activesupport_4_1_5 g.activemodel_4_1_5 g.arel_5_0_1_20140414130214 ]; requiredGems = [ g.activesupport_4_1_6 g.activemodel_4_1_6 g.arel_5_0_1_20140414130214 ];
sha256 = ''1z8awkkl4bn4ghdp432n2qpagbb8569ffq63kmgkbwf8127kmzrc''; sha256 = ''15s72gawgvd7msa2i7hmjw81znif8zh1v57pmans8vmphfg2n9l7'';
}; };
activesupport_4_1_5 = { activesupport_4_1_6 = {
basename = ''activesupport''; basename = ''activesupport'';
meta = { meta = {
description = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework.''; description = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework.'';
homepage = ''http://www.rubyonrails.org''; homepage = ''http://www.rubyonrails.org'';
longDescription = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.''; longDescription = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.'';
}; };
name = ''activesupport-4.1.5''; name = ''activesupport-4.1.6'';
requiredGems = [ g.i18n_0_6_11 g.json_1_8_1 g.tzinfo_1_2_2 g.minitest_5_4_0 g.thread_safe_0_3_4 ]; requiredGems = [ g.i18n_0_6_11 g.json_1_8_1 g.tzinfo_1_2_2 g.minitest_5_4_1 g.thread_safe_0_3_4 ];
sha256 = ''0vmf58q96469dci509hhbqxwr7gaxq4yjsb37xd56ggpqn3qm30k''; sha256 = ''0crwl6rlxpv5fvvnvcbrjc7iygj8nklj83v1734h5lrhjzirxc22'';
}; };
addressable_2_3_6 = { addressable_2_3_6 = {
basename = ''addressable''; basename = ''addressable'';
@ -300,16 +303,31 @@ rails support and extra plugins for migrations and fixtures.'';
requiredGems = [ g.ZenTest_4_10_1 ]; requiredGems = [ g.ZenTest_4_10_1 ];
sha256 = ''1v1dm9zlhdlrxvk90zs8d439ldar674ix41s7pncddgyswcfgg5l''; sha256 = ''1v1dm9zlhdlrxvk90zs8d439ldar674ix41s7pncddgyswcfgg5l'';
}; };
aws_sdk_1_51_0 = { aws_sdk_1_53_0 = {
basename = ''aws_sdk''; basename = ''aws_sdk'';
meta = { meta = {
description = ''AWS SDK for Ruby''; description = ''AWS SDK for Ruby V1'';
homepage = ''http://aws.amazon.com/sdkforruby''; homepage = ''http://aws.amazon.com/sdkforruby'';
longDescription = ''AWS SDK for Ruby''; longDescription = ''Version 1 of the AWS SDK for Ruby. Available as both `aws-sdk` and `aws-sdk-v1`.
Use `aws-sdk-v1` if you want to load v1 and v2 of the Ruby SDK in the same
application.'';
}; };
name = ''aws-sdk-1.51.0''; name = ''aws-sdk-1.53.0'';
requiredGems = [ g.aws_sdk_v1_1_53_0 ];
sha256 = ''1jwvzlpyh5hpa3qn972wmn2pmhqpzw5vjal2n5i14qplvafmj7p2'';
};
aws_sdk_v1_1_53_0 = {
basename = ''aws_sdk_v1'';
meta = {
description = ''AWS SDK for Ruby V1'';
homepage = ''http://aws.amazon.com/sdkforruby'';
longDescription = ''Version 1 of the AWS SDK for Ruby. Available as both `aws-sdk` and `aws-sdk-v1`.
Use `aws-sdk-v1` if you want to load v1 and v2 of the Ruby SDK in the same
application.'';
};
name = ''aws-sdk-v1-1.53.0'';
requiredGems = [ g.nokogiri_1_6_3_1 g.json_1_8_1 ]; requiredGems = [ g.nokogiri_1_6_3_1 g.json_1_8_1 ];
sha256 = ''092a7km6ar7zvyyzgiqsb0dm354sqa6mzx7sa0c8ndwm918lbqai''; sha256 = ''00yagrm2d5agwkfgkv4rqbxymwmgjmv5n8hah3xhrc90q1ywr7hw'';
}; };
backports_3_6_0 = { backports_3_6_0 = {
basename = ''backports''; basename = ''backports'';
@ -349,7 +367,7 @@ simple to do. Currently the following builder objects are supported:
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2''; sha256 = ''14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2'';
}; };
buildr_1_4_19 = { buildr_1_4_20 = {
basename = ''buildr''; basename = ''buildr'';
meta = { meta = {
description = ''Build like you code''; description = ''Build like you code'';
@ -361,20 +379,20 @@ to do, and it takes care of the rest. But also something we can easily extend
for those one-off tasks, with a language that's a joy to use. for those one-off tasks, with a language that's a joy to use.
''; '';
}; };
name = ''buildr-1.4.19''; name = ''buildr-1.4.20'';
requiredGems = [ g.rake_0_9_2_2 g.builder_3_2_2 g.net_ssh_2_7_0 g.net_sftp_2_1_2 g.rubyzip_0_9_9 g.json_pure_1_8_0 g.hoe_3_7_1 g.rjb_1_4_8 g.atoulme_Antwrap_0_7_4 g.diff_lcs_1_2_4 g.rspec_expectations_2_14_3 g.rspec_mocks_2_14_3 g.rspec_core_2_14_5 g.rspec_2_14_1 g.xml_simple_1_1_2 g.minitar_0_5_4 g.bundler_1_7_1 g.orderedhash_0_0_6 ]; requiredGems = [ g.rake_0_9_2_2 g.builder_3_2_2 g.net_ssh_2_7_0 g.net_sftp_2_1_2 g.rubyzip_0_9_9 g.json_pure_1_8_0 g.hoe_3_7_1 g.rjb_1_4_9 g.atoulme_Antwrap_0_7_4 g.diff_lcs_1_2_4 g.rspec_expectations_2_14_3 g.rspec_mocks_2_14_3 g.rspec_core_2_14_5 g.rspec_2_14_1 g.xml_simple_1_1_2 g.minitar_0_5_4 g.bundler_1_7_2 g.orderedhash_0_0_6 ];
sha256 = ''07k6z149si7v1h5m1bvdhjcv0nnjwkd2c6a8n1779l8g47ckccj0''; sha256 = ''0x4ffblw7jg0z49ywfm5abfxgg23di3d661czndwi904cvmghrkv'';
}; };
bundler_1_7_1 = { bundler_1_7_2 = {
basename = ''bundler''; basename = ''bundler'';
meta = { meta = {
description = ''The best way to manage your application's dependencies''; description = ''The best way to manage your application's dependencies'';
homepage = ''http://bundler.io''; homepage = ''http://bundler.io'';
longDescription = ''Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably''; longDescription = ''Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably'';
}; };
name = ''bundler-1.7.1''; name = ''bundler-1.7.2'';
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''144yqbmi89gl933rh8dv58bm7ia14s4a098qdi2z0q09ank9n5h2''; sha256 = ''1xfacbivyi40ig9jzpsv2z42vwghf77n4r65ls0pcnbqn4ypqyhc'';
}; };
childprocess_0_5_3 = { childprocess_0_5_3 = {
basename = ''childprocess''; basename = ''childprocess'';
@ -486,7 +504,7 @@ We are happy to report that this issue has been resolved.'';
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''1pqb7yzjcpbgbyi196ifqbd1wy570cn12bkzcvpcha4xilhajja0''; sha256 = ''1pqb7yzjcpbgbyi196ifqbd1wy570cn12bkzcvpcha4xilhajja0'';
}; };
domain_name_0_5_20 = { domain_name_0_5_21 = {
basename = ''domain_name''; basename = ''domain_name'';
meta = { meta = {
description = ''Domain Name manipulation library for Ruby''; description = ''Domain Name manipulation library for Ruby'';
@ -497,9 +515,9 @@ It can also be used for cookie domain validation based on the Public
Suffix List. Suffix List.
''; '';
}; };
name = ''domain_name-0.5.20''; name = ''domain_name-0.5.21'';
requiredGems = [ g.unf_0_1_4 ]; requiredGems = [ g.unf_0_1_4 ];
sha256 = ''17ls88kp18dxjc93q8kmyx2anknva0vbmny60xbgpbwq3hg0qv6s''; sha256 = ''1ryb2gmryzcrqm9gl19658m1kcjkjz5m0r24mzq4j0zfrs95nfnq'';
}; };
dotenv_0_11_1 = { dotenv_0_11_1 = {
basename = ''dotenv''; basename = ''dotenv'';
@ -597,6 +615,17 @@ using TCP/IP, especially if custom protocols are required.'';
requiredGems = [ g.eventmachine_1_0_3 ]; requiredGems = [ g.eventmachine_1_0_3 ];
sha256 = ''1pvlb34vdzd81kf9f3xyibb4f55xjqm7lqqy28dgyci5cyv50y61''; sha256 = ''1pvlb34vdzd81kf9f3xyibb4f55xjqm7lqqy28dgyci5cyv50y61'';
}; };
execjs_2_2_1 = {
basename = ''execjs'';
meta = {
description = ''Run JavaScript code from Ruby'';
homepage = ''https://github.com/sstephenson/execjs'';
longDescription = ''ExecJS lets you run JavaScript code from Ruby.'';
};
name = ''execjs-2.2.1'';
requiredGems = [ ];
sha256 = ''1s41g9qwq0h4452q4gp934lnkzfkxh4wrg8fd4bcynba86bf3j8b'';
};
fakes3_0_1_5_2 = { fakes3_0_1_5_2 = {
basename = ''fakes3''; basename = ''fakes3'';
meta = { meta = {
@ -650,18 +679,18 @@ using TCP/IP, especially if custom protocols are required.'';
requiredGems = [ g.tins_0_13_2 ]; requiredGems = [ g.tins_0_13_2 ];
sha256 = ''0mzxxnwj7k5pwxs0rdbmb3b41zgvzw7x40sf3qlkch4zdfx91i1j''; sha256 = ''0mzxxnwj7k5pwxs0rdbmb3b41zgvzw7x40sf3qlkch4zdfx91i1j'';
}; };
foreman_0_74_0 = { foreman_0_75_0 = {
basename = ''foreman''; basename = ''foreman'';
meta = { meta = {
description = ''Process manager for applications with multiple components''; description = ''Process manager for applications with multiple components'';
homepage = ''http://github.com/ddollar/foreman''; homepage = ''http://github.com/ddollar/foreman'';
longDescription = ''Process manager for applications with multiple components''; longDescription = ''Process manager for applications with multiple components'';
}; };
name = ''foreman-0.74.0''; name = ''foreman-0.75.0'';
requiredGems = [ g.thor_0_19_1 g.dotenv_0_11_1 ]; requiredGems = [ g.thor_0_19_1 g.dotenv_0_11_1 ];
sha256 = ''0jqblq0myzmdp2cywzz7flvgqnhf267ykcdn250cccy68s9wm37m''; sha256 = ''0iicqdjwwms86nchk80ia7x4wjcd3p5c8s53bc0z0h063i0ks9ha'';
}; };
gettext_3_1_3 = { gettext_3_1_4 = {
basename = ''gettext''; basename = ''gettext'';
meta = { meta = {
description = ''Gettext is a pure Ruby libary and tools to localize messages.''; description = ''Gettext is a pure Ruby libary and tools to localize messages.'';
@ -671,9 +700,9 @@ The catalog file(po-file) is same format with GNU gettext.
So you can use GNU gettext tools for maintaining. So you can use GNU gettext tools for maintaining.
''; '';
}; };
name = ''gettext-3.1.3''; name = ''gettext-3.1.4'';
requiredGems = [ g.locale_2_1_0 g.text_1_3_0 ]; requiredGems = [ g.locale_2_1_0 g.text_1_3_0 ];
sha256 = ''066x2dbryab02kdbk6km79h4j9b0f0ynsnzcygjgvzn9001ybf9q''; sha256 = ''0gfnbkj2knpq8jxplkdr18by64kcadqxjhrxr3ncldz2ghm5zhvb'';
}; };
gh_0_13_2 = { gh_0_13_2 = {
basename = ''gh''; basename = ''gh'';
@ -751,7 +780,7 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
longDescription = ''HTTP::Cookie is a Ruby library to handle HTTP Cookies based on RFC 6265. It has with security, standards compliance and compatibility in mind, to behave just the same as today's major web browsers. It has builtin support for the legacy cookies.txt and the latest cookies.sqlite formats of Mozilla Firefox, and its modular API makes it easy to add support for a new backend store.''; longDescription = ''HTTP::Cookie is a Ruby library to handle HTTP Cookies based on RFC 6265. It has with security, standards compliance and compatibility in mind, to behave just the same as today's major web browsers. It has builtin support for the legacy cookies.txt and the latest cookies.sqlite formats of Mozilla Firefox, and its modular API makes it easy to add support for a new backend store.'';
}; };
name = ''http-cookie-1.0.2''; name = ''http-cookie-1.0.2'';
requiredGems = [ g.domain_name_0_5_20 ]; requiredGems = [ g.domain_name_0_5_21 ];
sha256 = ''0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw''; sha256 = ''0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw'';
}; };
i18n_0_6_11 = { i18n_0_6_11 = {
@ -854,17 +883,6 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
requiredGems = [ g.systemu_2_6_4 ]; requiredGems = [ g.systemu_2_6_4 ];
sha256 = ''1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b''; sha256 = ''1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b'';
}; };
mail_2_5_4 = {
basename = ''mail'';
meta = {
description = ''Mail provides a nice Ruby DSL for making, sending and reading emails.'';
homepage = ''http://github.com/mikel/mail'';
longDescription = ''A really Ruby Mail handler.'';
};
name = ''mail-2.5.4'';
requiredGems = [ g.mime_types_1_25_1 g.treetop_1_4_15 ];
sha256 = ''0z15ksb8blcppchv03g34844f7xgf36ckp484qjj2886ig1qara4'';
};
mail_2_6_1 = { mail_2_6_1 = {
basename = ''mail''; basename = ''mail'';
meta = { meta = {
@ -888,7 +906,7 @@ submitted. Mechanize also keeps track of the sites that you have visited as
a history.''; a history.'';
}; };
name = ''mechanize-2.7.3''; name = ''mechanize-2.7.3'';
requiredGems = [ g.net_http_digest_auth_1_4 g.net_http_persistent_2_9_4 g.mime_types_2_3 g.http_cookie_1_0_2 g.nokogiri_1_6_3_1 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_20 ]; requiredGems = [ g.net_http_digest_auth_1_4 g.net_http_persistent_2_9_4 g.mime_types_2_3 g.http_cookie_1_0_2 g.nokogiri_1_6_3_1 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_21 ];
sha256 = ''00jkazj8fqnynaxca0lnwx5a084irxrnw8n8i0kppq4vg71g7rrx''; sha256 = ''00jkazj8fqnynaxca0lnwx5a084irxrnw8n8i0kppq4vg71g7rrx'';
}; };
method_source_0_8_2 = { method_source_0_8_2 = {
@ -902,64 +920,6 @@ a history.'';
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2''; sha256 = ''1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2'';
}; };
mime_types_1_25_1 = {
basename = ''mime_types'';
meta = {
description = ''This library allows for the identification of a file's likely MIME content type'';
homepage = ''http://mime-types.rubyforge.org/'';
longDescription = ''This library allows for the identification of a file's likely MIME content
type. This is release 1.25.1, fixing an issue with priority comparison for
mime-types 1.x. The current release is 2.0, which only supports Ruby 1.9 or
later.
Release 1.25.1 contains all features of 1.25, including the experimental
caching and lazy loading functionality. The caching and lazy loading features
were initially implemented by Greg Brockman (gdb). As these features are
experimental, they are disabled by default and must be enabled through the use
of environment variables. The cache is invalidated on a per-version basis; the
cache for version 1.25 will not be reused for any later version.
To use lazy loading, set the environment variable +RUBY_MIME_TYPES_LAZY_LOAD+
to any value other than 'false'. When using lazy loading, the initial startup
of MIME::Types is around 1225× faster than normal startup (on my system,
normal startup is about 90 ms; lazy startup is about 4 ms). This isn't
generally useful, however, as the MIME::Types database has not been loaded.
Lazy startup and load is just *slightly* fasteraround 1 ms. The real advantage
comes from using the cache.
To enable the cache, set the environment variable +RUBY_MIME_TYPES_CACHE+ to a
filename where MIME::Types will have read-write access. The first time a new
version of MIME::Types is run using this file, it will be created, taking a
little longer than normal. Subsequent loads using the same cache file will be
approximately 3½× faster (25 ms) than normal loads. This can be combined with
+RUBY_MIME_TYPES_LAZY_LOAD+, but this is *not* recommended in a multithreaded
or multiprocess environment where all threads or processes will be using the
same cache file.
As the caching interface is still experimental, the only values cached are the
default MIME::Types database, not any custom MIME::Types added by users.
MIME types are used in MIME-compliant communications, as in e-mail or HTTP
traffic, to indicate the type of content which is transmitted. MIME::Types
provides the ability for detailed information about MIME entities (provided as
a set of MIME::Type objects) to be determined and used programmatically. There
are many types defined by RFCs and vendors, so the list is long but not
complete; don't hesitate to ask to add additional information. This library
follows the IANA collection of MIME types (see below for reference).
MIME::Types for Ruby was originally based on MIME::Types for Perl by Mark
Overmeer, copyright 2001 - 2009.
MIME::Types is built to conform to the MIME types of RFCs 2045 and 2231. It
tracks the {IANA registry}[http://www.iana.org/assignments/media-types/]
({ftp}[ftp://ftp.iana.org/assignments/media-types]) with some unofficial types
added from the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp]
and added by the users of MIME::Types.'';
};
name = ''mime-types-1.25.1'';
requiredGems = [ ];
sha256 = ''0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8'';
};
mime_types_2_3 = { mime_types_2_3 = {
basename = ''mime_types''; basename = ''mime_types'';
meta = { meta = {
@ -1023,7 +983,7 @@ with some types added by the users of mime-types.'';
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''1vpdjfmdq1yc4i620frfp9af02ia435dnpj8ybsd7dc3rypkvbka''; sha256 = ''1vpdjfmdq1yc4i620frfp9af02ia435dnpj8ybsd7dc3rypkvbka'';
}; };
minitest_5_4_0 = { minitest_5_4_1 = {
basename = ''minitest''; basename = ''minitest'';
meta = { meta = {
description = ''minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking''; description = ''minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking'';
@ -1082,9 +1042,9 @@ classes, modules, inheritance, methods. This means you only have to
learn ruby to use minitest and all of your regular OO practices like learn ruby to use minitest and all of your regular OO practices like
extract-method refactorings still apply.''; extract-method refactorings still apply.'';
}; };
name = ''minitest-5.4.0''; name = ''minitest-5.4.1'';
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''002xflqz5wl8gcj9gw4q66mq5jkp445zgd9c5vs6cw6lsfsyg4rl''; sha256 = ''04iqz25v8vngw4z5pzhwnsf72fb8gf2vzhidrfcbphwsqqik5s4r'';
}; };
multi_json_1_10_1 = { multi_json_1_10_1 = {
basename = ''multi_json''; basename = ''multi_json'';
@ -1292,20 +1252,6 @@ enough of it.'';
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''1kzz6ydg7r23ks2b7zbpx4vz3h186n19vhgnjcwi7xwd6h2f1fsq''; sha256 = ''1kzz6ydg7r23ks2b7zbpx4vz3h186n19vhgnjcwi7xwd6h2f1fsq'';
}; };
polyglot_0_3_5 = {
basename = ''polyglot'';
meta = {
description = ''Augment 'require' to load non-Ruby file types'';
homepage = ''http://github.com/cjheath/polyglot'';
longDescription = ''
The Polyglot library allows a Ruby module to register a loader
for the file type associated with a filename extension, and it
augments 'require' to find and load matching files.'';
};
name = ''polyglot-0.3.5'';
requiredGems = [ ];
sha256 = ''1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr'';
};
pry_0_9_12_6 = { pry_0_9_12_6 = {
basename = ''pry''; basename = ''pry'';
meta = { meta = {
@ -1325,7 +1271,7 @@ augments 'require' to find and load matching files.'';
longDescription = ''Client for consuming WebSockets from http://pusher.com''; longDescription = ''Client for consuming WebSockets from http://pusher.com'';
}; };
name = ''pusher-client-0.6.0''; name = ''pusher-client-0.6.0'';
requiredGems = [ g.websocket_1_2_0 g.json_1_8_1 ]; requiredGems = [ g.websocket_1_2_1 g.json_1_8_1 ];
sha256 = ''0n7l630qg6wgzak45b6gfjg9a0fmpbrs7mwchqqbja9mjs95r8qy''; sha256 = ''0n7l630qg6wgzak45b6gfjg9a0fmpbrs7mwchqqbja9mjs95r8qy'';
}; };
rack_1_5_2 = { rack_1_5_2 = {
@ -1371,27 +1317,27 @@ request helpers feature.'';
requiredGems = [ g.rack_1_5_2 ]; requiredGems = [ g.rack_1_5_2 ];
sha256 = ''01mk715ab5qnqf6va8k3hjsvsmplrfqpz6g58qw4m3l8mim0p4ky''; sha256 = ''01mk715ab5qnqf6va8k3hjsvsmplrfqpz6g58qw4m3l8mim0p4ky'';
}; };
rails_4_1_5 = { rails_4_1_6 = {
basename = ''rails''; basename = ''rails'';
meta = { meta = {
description = ''Full-stack web application framework.''; description = ''Full-stack web application framework.'';
homepage = ''http://www.rubyonrails.org''; homepage = ''http://www.rubyonrails.org'';
longDescription = ''Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.''; longDescription = ''Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.'';
}; };
name = ''rails-4.1.5''; name = ''rails-4.1.6'';
requiredGems = [ g.activesupport_4_1_5 g.actionpack_4_1_5 g.actionview_4_1_5 g.activemodel_4_1_5 g.activerecord_4_1_5 g.actionmailer_4_1_5 g.railties_4_1_5 g.bundler_1_7_1 g.sprockets_rails_2_1_3 ]; requiredGems = [ g.activesupport_4_1_6 g.actionpack_4_1_6 g.actionview_4_1_6 g.activemodel_4_1_6 g.activerecord_4_1_6 g.actionmailer_4_1_6 g.railties_4_1_6 g.bundler_1_7_2 g.sprockets_rails_2_1_4 ];
sha256 = ''12s3jkvd6bn40apxc3973czgs7s6y36aclbwif6j770v7sjd9qj7''; sha256 = ''187g903gmni3prd5i768yfgszc4ak5kmrazavr93d0ybfdbcjlgk'';
}; };
railties_4_1_5 = { railties_4_1_6 = {
basename = ''railties''; basename = ''railties'';
meta = { meta = {
description = ''Tools for creating, working with, and running Rails applications.''; description = ''Tools for creating, working with, and running Rails applications.'';
homepage = ''http://www.rubyonrails.org''; homepage = ''http://www.rubyonrails.org'';
longDescription = ''Rails internals: application bootup, plugins, generators, and rake tasks.''; longDescription = ''Rails internals: application bootup, plugins, generators, and rake tasks.'';
}; };
name = ''railties-4.1.5''; name = ''railties-4.1.6'';
requiredGems = [ g.activesupport_4_1_5 g.actionpack_4_1_5 g.rake_10_3_2 g.thor_0_19_1 ]; requiredGems = [ g.activesupport_4_1_6 g.actionpack_4_1_6 g.rake_10_3_2 g.thor_0_19_1 ];
sha256 = ''18jkjvny51vk53l2g9ibcnjk3gjj1vgh3pyrskmk69csqm2hmaha''; sha256 = ''11valflllkrrz06bsflz78h5nmxhrhm7hdpm1lwmgm8hwd4ybl0c'';
}; };
rake_0_9_2_2 = { rake_0_9_2_2 = {
basename = ''rake''; basename = ''rake'';
@ -1457,6 +1403,19 @@ Rake has the following features:
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''1g70vsgv7mdwcyk9rxja7wm4qqap67prqwkj335c460vlzs6pqii''; sha256 = ''1g70vsgv7mdwcyk9rxja7wm4qqap67prqwkj335c460vlzs6pqii'';
}; };
rdoc_4_1_2 = {
basename = ''rdoc'';
meta = {
description = ''RDoc produces HTML and command-line documentation for Ruby projects'';
homepage = ''http://docs.seattlerb.org/rdoc'';
longDescription = ''RDoc produces HTML and command-line documentation for Ruby projects. RDoc
includes the +rdoc+ and +ri+ tools for generating and displaying documentation
from the command-line.'';
};
name = ''rdoc-4.1.2'';
requiredGems = [ g.json_1_8_1 ];
sha256 = ''0cqhjidw657d8irkypxsrv6dr4y9r8csg9inaq40c3iz110cc8w6'';
};
remote_syslog_1_6_14 = { remote_syslog_1_6_14 = {
basename = ''remote_syslog''; basename = ''remote_syslog'';
meta = { meta = {
@ -1476,7 +1435,7 @@ Rake has the following features:
longDescription = ''HTTP dashboard for the distributed event system Riemann.''; longDescription = ''HTTP dashboard for the distributed event system Riemann.'';
}; };
name = ''riemann-dash-0.2.9''; name = ''riemann-dash-0.2.9'';
requiredGems = [ g.erubis_2_7_0 g.sinatra_1_4_5 g.sass_3_4_1 g.webrick_1_3_1 g.multi_json_1_3_6 ]; requiredGems = [ g.erubis_2_7_0 g.sinatra_1_4_5 g.sass_3_4_3 g.webrick_1_3_1 g.multi_json_1_3_6 ];
sha256 = ''0ws5wmjbv8w9lcr3i2mdinj2qm91p6c85k6c067i67cf0p90jxq3''; sha256 = ''0ws5wmjbv8w9lcr3i2mdinj2qm91p6c85k6c067i67cf0p90jxq3'';
}; };
right_aws_3_1_0 = { right_aws_3_1_0 = {
@ -1546,18 +1505,6 @@ algorithm for low-level network errors.
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''0shd8v24aqxdvim1gdqzwxpanjhfgkhdaw0m0lzz7sybkb02j8qf''; sha256 = ''0shd8v24aqxdvim1gdqzwxpanjhfgkhdaw0m0lzz7sybkb02j8qf'';
}; };
rjb_1_4_8 = {
basename = ''rjb'';
meta = {
description = ''Ruby Java bridge'';
homepage = ''http://rjb.rubyforge.org/'';
longDescription = ''RJB is a bridge program that connect between Ruby and Java with Java Native Interface.
'';
};
name = ''rjb-1.4.8'';
requiredGems = [ ];
sha256 = ''06ps4ssaxb8jwja53h7v7kb31hsdr997b8na89d1yasm5zyraliw'';
};
rjb_1_4_9 = { rjb_1_4_9 = {
basename = ''rjb''; basename = ''rjb'';
meta = { meta = {
@ -1690,7 +1637,7 @@ RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.'';
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''17ha7kmgcnhnxyfp9wgyrd2synp17v9g8j1pknhfd2v9x5g475m9''; sha256 = ''17ha7kmgcnhnxyfp9wgyrd2synp17v9g8j1pknhfd2v9x5g475m9'';
}; };
sass_3_4_1 = { sass_3_4_3 = {
basename = ''sass''; basename = ''sass'';
meta = { meta = {
description = ''A powerful but elegant CSS compiler that makes CSS fun again.''; description = ''A powerful but elegant CSS compiler that makes CSS fun again.'';
@ -1701,20 +1648,20 @@ RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.'';
command line tool or a web-framework plugin. command line tool or a web-framework plugin.
''; '';
}; };
name = ''sass-3.4.1''; name = ''sass-3.4.3'';
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''0f997m7g6gcd4yaxxrf1nylk2x8ynf7w2l631sby51zfn21rfli4''; sha256 = ''0k9qv35wf28qjlv8a1nmvv8n71wxnqim1kwf95igvngys6kih7ds'';
}; };
selenium_webdriver_2_42_0 = { selenium_webdriver_2_43_0 = {
basename = ''selenium_webdriver''; basename = ''selenium_webdriver'';
meta = { meta = {
description = ''The next generation developer focused tool for automated testing of webapps''; description = ''The next generation developer focused tool for automated testing of webapps'';
homepage = ''http://selenium.googlecode.com''; homepage = ''http://selenium.googlecode.com'';
longDescription = ''WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.''; longDescription = ''WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.'';
}; };
name = ''selenium-webdriver-2.42.0''; name = ''selenium-webdriver-2.43.0'';
requiredGems = [ g.multi_json_1_10_1 g.rubyzip_1_1_6 g.childprocess_0_5_3 g.websocket_1_0_7 ]; requiredGems = [ g.multi_json_1_10_1 g.rubyzip_1_1_6 g.childprocess_0_5_3 g.websocket_1_2_1 ];
sha256 = ''04yjwzc7cy2ax5xgp618z9jbm55cx4b5l546l7xnxj1hk30znw6q''; sha256 = ''06jjkb4hcyh8mwsqc8c5p6pz6ac1v313h4md0dab872ls5s47zh9'';
}; };
servolux_0_10_0 = { servolux_0_10_0 = {
basename = ''servolux''; basename = ''servolux'';
@ -1763,26 +1710,26 @@ interpreters.'';
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n''; sha256 = ''00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n'';
}; };
sprockets_2_12_1 = { sprockets_2_12_2 = {
basename = ''sprockets''; basename = ''sprockets'';
meta = { meta = {
description = ''Rack-based asset packaging system''; description = ''Rack-based asset packaging system'';
homepage = ''http://getsprockets.org/''; homepage = ''http://getsprockets.org/'';
longDescription = ''Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.''; longDescription = ''Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.'';
}; };
name = ''sprockets-2.12.1''; name = ''sprockets-2.12.2'';
requiredGems = [ g.hike_1_2_3 g.multi_json_1_10_1 g.rack_1_5_2 g.tilt_1_4_1 ]; requiredGems = [ g.hike_1_2_3 g.multi_json_1_10_1 g.rack_1_5_2 g.tilt_1_4_1 ];
sha256 = ''0fi5f32i3bj739qb0zn050k5jjkfqzkn8fjz5dfjwhmh9hl5pb1y''; sha256 = ''0sclb5nqs5hhr7qfp42rgpasy0f9k4c3jcr3hz89amf2bg5v7slx'';
}; };
sprockets_rails_2_1_3 = { sprockets_rails_2_1_4 = {
basename = ''sprockets_rails''; basename = ''sprockets_rails'';
meta = { meta = {
description = ''Sprockets Rails integration''; description = ''Sprockets Rails integration'';
homepage = ''https://github.com/rails/sprockets-rails''; homepage = ''https://github.com/rails/sprockets-rails'';
}; };
name = ''sprockets-rails-2.1.3''; name = ''sprockets-rails-2.1.4'';
requiredGems = [ g.sprockets_2_12_1 g.actionpack_4_1_5 g.activesupport_4_1_5 ]; requiredGems = [ g.sprockets_2_12_2 g.actionpack_4_1_6 g.activesupport_4_1_6 ];
sha256 = ''12kdy9vjn3ygrxhn9jxxx0rvsq601vayrkgbr3rqcpyhqhl4s4wy''; sha256 = ''1difqidflj71qh8a84lcfdfg9vy4rw5hkgf2j0jis8bcczcq54l3'';
}; };
syslog_protocol_0_9_2 = { syslog_protocol_0_9_2 = {
basename = ''syslog_protocol''; basename = ''syslog_protocol'';
@ -1935,16 +1882,6 @@ management.
requiredGems = [ g.faraday_0_9_0 g.faraday_middleware_0_9_1 g.highline_1_6_21 g.backports_3_6_0 g.gh_0_13_2 g.launchy_2_4_2 g.pry_0_9_12_6 g.typhoeus_0_6_9 g.pusher_client_0_6_0 g.addressable_2_3_6 ]; requiredGems = [ g.faraday_0_9_0 g.faraday_middleware_0_9_1 g.highline_1_6_21 g.backports_3_6_0 g.gh_0_13_2 g.launchy_2_4_2 g.pry_0_9_12_6 g.typhoeus_0_6_9 g.pusher_client_0_6_0 g.addressable_2_3_6 ];
sha256 = ''1h0xajfzkz7pdrbhs2650nl5www8qfmgazmmmw0bcr3dai5kimdf''; sha256 = ''1h0xajfzkz7pdrbhs2650nl5www8qfmgazmmmw0bcr3dai5kimdf'';
}; };
treetop_1_4_15 = {
basename = ''treetop'';
meta = {
description = ''A Ruby-based text parsing and interpretation DSL'';
homepage = ''https://github.com/cjheath/treetop'';
};
name = ''treetop-1.4.15'';
requiredGems = [ g.polyglot_0_3_5 g.polyglot_0_3_5 ];
sha256 = ''1zqj5y0mvfvyz11nhsb4d5ch0i0rfcyj64qx19mw4qhg3hh8z9pz'';
};
trollop_2_0 = { trollop_2_0 = {
basename = ''trollop''; basename = ''trollop'';
meta = { meta = {
@ -1982,6 +1919,17 @@ specify.'';
requiredGems = [ g.thread_safe_0_3_4 ]; requiredGems = [ g.thread_safe_0_3_4 ];
sha256 = ''1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx''; sha256 = ''1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx'';
}; };
uglifier_2_5_3 = {
basename = ''uglifier'';
meta = {
description = ''Ruby wrapper for UglifyJS JavaScript compressor'';
homepage = ''http://github.com/lautis/uglifier'';
longDescription = ''Uglifier minifies JavaScript files by wrapping UglifyJS to be accessible in Ruby'';
};
name = ''uglifier-2.5.3'';
requiredGems = [ g.execjs_2_2_1 g.json_1_8_1 ];
sha256 = ''0rlx9nrcavpfffyacsrh7xyvz3adv7jvylz0sv0jnix1mj5rkpd9'';
};
unf_0_1_4 = { unf_0_1_4 = {
basename = ''unf''; basename = ''unf'';
meta = { meta = {
@ -2041,27 +1989,16 @@ to Ruby/JRuby.
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''1jlnhhpa1mkrgsmihs2qx13z3n6xhswjnlk5a2ypyplw2id5x32n''; sha256 = ''1jlnhhpa1mkrgsmihs2qx13z3n6xhswjnlk5a2ypyplw2id5x32n'';
}; };
websocket_1_0_7 = { websocket_1_2_1 = {
basename = ''websocket''; basename = ''websocket'';
meta = { meta = {
description = ''Universal Ruby library to handle WebSocket protocol''; description = ''Universal Ruby library to handle WebSocket protocol'';
homepage = ''http://github.com/imanel/websocket-ruby''; homepage = ''http://github.com/imanel/websocket-ruby'';
longDescription = ''Universal Ruby library to handle WebSocket protocol''; longDescription = ''Universal Ruby library to handle WebSocket protocol'';
}; };
name = ''websocket-1.0.7''; name = ''websocket-1.2.1'';
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''1jrfz4295qbnjaxv37fw9jzxyxz61izp7c0683mnscacpx262zw0''; sha256 = ''17mf28xp6h4gglbn1606jjrhdz9r6kyb2pr603ckadsrx31wh9p6'';
};
websocket_1_2_0 = {
basename = ''websocket'';
meta = {
description = ''Universal Ruby library to handle WebSocket protocol'';
homepage = ''http://github.com/imanel/websocket-ruby'';
longDescription = ''Universal Ruby library to handle WebSocket protocol'';
};
name = ''websocket-1.2.0'';
requiredGems = [ ];
sha256 = ''17q3fsqwa44cali3x852jzjpzgcvvly0n8gszmkaqx520lb9r5l4'';
}; };
xapian_full_1_2_3 = { xapian_full_1_2_3 = {
basename = ''xapian_full''; basename = ''xapian_full'';
@ -2093,5 +2030,15 @@ to Ruby/JRuby.
requiredGems = [ ]; requiredGems = [ ];
sha256 = ''0ni8cbkj7l2k5pc4fs2jzp1ymxy4xqa2jc681l4y9iy9chrayddb''; sha256 = ''0ni8cbkj7l2k5pc4fs2jzp1ymxy4xqa2jc681l4y9iy9chrayddb'';
}; };
yajl_ruby_1_2_1 = {
basename = ''yajl_ruby'';
meta = {
description = ''Ruby C bindings to the excellent Yajl JSON stream-based parser library.'';
homepage = ''http://github.com/brianmario/yajl-ruby'';
};
name = ''yajl-ruby-1.2.1'';
requiredGems = [ ];
sha256 = ''0zvvb7i1bl98k3zkdrnx9vasq0rp2cyy5n7p9804dqs4fz9xh9vf'';
};
}; };
} }

View File

@ -29,13 +29,7 @@ rec {
longDescription = '' longDescription = ''
Nix can create nix packages from gems. Nix can create nix packages from gems.
To use it do the following: To use it by installing gem-nix package.
1. Install rubygems and rubyLibs.nix.
2. Add $your_profile/${ruby.gemPath} to GEM_PATH.
3. export RUBYLIB=$your_profile/lib RUBYOPT=rubygems.
4. Run `gem nix --[no-]user-install gem1 gem2 ...` to generate Nix
expression from gem repository.
5. Install rubyLibs.gem1 etc.
''; '';
}; };

View File

@ -0,0 +1,23 @@
{ stdenv, agda, fetchgit }:
agda.mkDerivation (self: rec {
version = "8a06162a8f0f7df308458db91d720cf8f7345d69";
name = "Agda-Sheaves-${version}";
src = fetchgit {
url = "https://github.com/jonsterling/Agda-Sheaves.git";
rev = version;
sha256 = "39e0e4a1f05e359c099cf50a5ec7dd2db7b55f98dcc019f1e4667dca8b37f001";
};
everythingFile = "sheaves.agda";
topSourceDirectories = [ "../$sourceRoot" ];
sourceDirectories = [];
meta = {
homepage = "https://github.com/jonsterling/Agda-Sheaves";
description = "Sheaves in Agda";
license = stdenv.lib.licenses.cc-by-40;
platforms = stdenv.lib.platforms.unix;
maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
};
})

View File

@ -0,0 +1,23 @@
{ stdenv, agda, fetchgit, AgdaStdlib }:
agda.mkDerivation (self: rec {
version = "f1c173313f2a41d95a8dc6053f9365a24690e18d";
name = "bitvector-${version}";
src = fetchgit {
url = "https://github.com/copumpkin/bitvector.git";
rev = version;
sha256 = "c39f55b709366f2c627d1a3a68d4b013c415b0e0f68ca6b69e387d07e2ce6d9a";
};
buildDepends = [ AgdaStdlib ];
sourceDirectories = [ "Data" ];
meta = {
homepage = "https://github.com/copumpkin/bitvector";
description = "Sequences of bits and common operations on them";
license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.unix;
maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
};
})

View File

@ -1,6 +1,5 @@
{ stdenv, fetchurl { stdenv, fetchurl
, unzip , unzip }:
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {

View File

@ -1,9 +1,9 @@
rec { rec {
version="1.6.3"; version="1.7.6";
name="directfb-1.6.3"; name="directfb-${version}";
hash="0w2yyx6l2wn8jj9y14ymknqyc88wwrl314p9204frck91znsr5ks"; hash="1qf94vgsbcwfa00x2aqd6795n6z43x4ghclmb4sa4bl4zfn2pws4";
url="http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-${version}.tar.gz"; url="http://directfb.org/downloads/Core/DirectFB-1.7/DirectFB-${version}.tar.gz";
advertisedUrl="http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-1.6.3.tar.gz"; advertisedUrl="http://directfb.org/downloads/Core/DirectFB-1.7/DirectFB-1.7.6.tar.gz";
} }

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig }: { stdenv, fetchurl, pkgconfig }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "flite-1.4"; name = "flite-1.9.0";
src = fetchurl { src = fetchurl {
url = "http://www.speech.cs.cmu.edu/flite/packed/${name}/${name}-release.tar.bz2"; url = "http://www.festvox.org/bard/${name}-current.tar.bz2";
sha256 = "036dagsydi0qh71ayi6jshfi3ik2md1az3gpi42md9pc18b65ij5"; sha256 = "197cc2a1f045b1666a29a9b5f035b3d676db6db94a4439d99a03b65e551ae2e0";
}; };
buildInputs = [ pkgconfig ]; buildInputs = [ pkgconfig ];
@ -16,8 +16,9 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "A small, fast run-time speech synthesis engine"; description = "A small, fast run-time speech synthesis engine";
homepage = http://www.speech.cs.cmu.edu/flite/index.html; homepage = http://www.festvox.org/flite/;
license = "free-non-copyleft"; license = "free-non-copyleft";
platforms = stdenv.lib.platforms.linux;
}; };
} }

View File

@ -0,0 +1,21 @@
{ stdenv, fetchurl, perl }:
stdenv.mkDerivation rec {
name = "gecode-${version}";
version = "4.3.0";
src = fetchurl {
url = "http://www.gecode.org/download/${name}.tar.gz";
sha256 = "18a1nd6sxqqh05hd9zwcgq9qhqrr6hi0nbzpwpay1flkv5gvg2d7";
};
buildInputs = [ perl ];
meta = with stdenv.lib; {
license = licenses.mit;
homepage = http://www.gecode.org;
description = "Toolkit for developing constraint-based systems";
platforms = platforms.all;
maintainers = [ maintainers.manveru ];
};
}

View File

@ -0,0 +1,35 @@
{ stdenv, fetchurl
, pkgconfig
, gtk3, glib, glibmm, gtkmm3, gtkspell3
}:
let
version = "3.0.3";
in
stdenv.mkDerivation rec {
name = "gtkspellmm-${version}";
src = fetchurl {
url = "http://downloads.sourceforge.net/project/gtkspell/gtkspellmm/" +
"${name}.tar.gz";
sha256 = "f9dcc0991621c08e7a972f33487afd6b37491468f0b654f50c741a7e6d810624";
};
propagatedBuildInputs = [
gtkspell3
];
buildInputs = [
pkgconfig
gtk3 glib glibmm gtkmm3
];
meta = with stdenv.lib; {
description = "C++ binding for the gtkspell library";
homepage = http://gtkspell.sourceforge.net/;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,15 @@
# This file was auto-generated by cabal2nix. Please do NOT edit manually!
{ cabal }:
cabal.mkDerivation (self: {
pname = "functor-infix";
version = "0.0.1";
sha256 = "1f8m4nxlr2il9j0ilgw91fhp6mmz5xqlhylavncqwvbcq82362dc";
meta = {
homepage = "https://github.com/fmap/functor-infix";
description = "Compositions of functors";
license = self.stdenv.lib.licenses.mit;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -0,0 +1,6 @@
#! @shell@
COMMAND=$1
shift
HOOGLE_DOC_PATH=@out@/share/hoogle/doc exec @hoogle@/bin/hoogle \
$COMMAND -d @out@/share/hoogle $@

View File

@ -1,28 +0,0 @@
diff --git a/src/CmdLine/All.hs b/src/CmdLine/All.hs
index 94b1d48..f41f270 100644
--- a/src/CmdLine/All.hs
+++ b/src/CmdLine/All.hs
@@ -86,8 +86,10 @@ guessLocal = do
ghc <- findExecutable "ghc"
home <- getHomeDirectory
lib <- getLibDir
+ path <- lookup "HOOGLE_DOC_PATH" <$> getEnvironment
let xs = [takeDirectory (takeDirectory lib) </> "doc" {- Windows, installed with Cabal -} ] ++
[takeDirectory (takeDirectory ghc) </> "doc/html/libraries" | Just ghc <- [ghc] {- Windows, installed by GHC -} ] ++
+ maybeToList path ++
[home </> ".cabal/share/doc" {- Linux -} ]
filterM doesDirectoryExist xs
diff --git a/src/Hoogle/Language/Haskell.hs b/src/Hoogle/Language/Haskell.hs
index b037f11..f2ac047 100644
--- a/src/Hoogle/Language/Haskell.hs
+++ b/src/Hoogle/Language/Haskell.hs
@@ -112,7 +112,7 @@ setPriority pkg mod x = x{itemPriority = pri}
setModuleURL (Just pkg) _ x | itemLevel x == 1 = x{itemURL=if null $ itemURL x then f $ itemName x else itemURL x}
where f xs = if "http://hackage.haskell.org/package/" `isPrefixOf` itemURL pkg
- then "http://hackage.haskell.org/packages/archive/" ++ itemName pkg ++ "/latest/doc/html/" ++ file
+ then "http://hackage.haskell.org/package/" ++ itemName pkg ++ "/docs/" ++ file
else takeDirectory (itemURL pkg) ++ "/" ++ file
where file = reps '.' '-' xs ++ ".html"
setModuleURL _ _ x = x

View File

@ -9,12 +9,12 @@
# haskellPackages = # haskellPackages =
# let callPackage = pkgs.lib.callPackageWith haskellPackages; # let callPackage = pkgs.lib.callPackageWith haskellPackages;
# in pkgs.recurseIntoAttrs (pkgs.haskellPackages.override { # in pkgs.recurseIntoAttrs (pkgs.haskellPackages.override {
# extraPrefs = self: { # extension = self: super: {
# hoogleLocal = pkgs.haskellPackages.hoogleLocal.override { # hoogleLocal = pkgs.haskellPackages.hoogleLocal.override {
# packages = with pkgs.haskellPackages; [ # packages = with pkgs.haskellPackages; [
# mmorph # mmorph
# monadControl # monadControl
# ] # ];
# }; # };
# }; # };
# }); # });
@ -23,43 +23,22 @@
# This will build mmorph and monadControl, and have the hoogle installation # This will build mmorph and monadControl, and have the hoogle installation
# refer to their documentation via symlink so they are not garbage collected. # refer to their documentation via symlink so they are not garbage collected.
{ cabal, aeson, binary, blazeBuilder, Cabal, caseInsensitive { stdenv, hoogle, rehoo
, cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes , haskellPlatform, ghc, packages ? [ haskellPlatform ghc.ghc ]
, parsec, QuickCheck, random, resourcet, safe, shake, tagsoup, text
, time, transformers, uniplate, vector, vectorAlgorithms, wai, warp
, fetchurl
, parallel, perl, wget, rehoo, haskellPlatform
, packages ? haskellPlatform.propagatedUserEnvPkgs
}: }:
cabal.mkDerivation (self: rec { let
pname = "hoogle"; inherit (stdenv.lib) optional;
version = "4.2.32"; wrapper = ./hoogle-local-wrapper.sh;
sha256 = "1rhr7xh4x9fgflcszbsl176r8jq6rm81bwzmbz73f3pa1zf1v0zc"; in
isLibrary = true; stdenv.mkDerivation {
isExecutable = true; name = "hoogle-local-0.1";
buildInputs = [self.ghc Cabal] ++ self.extraBuildInputs buildInputs = [hoogle rehoo];
++ [ parallel perl wget rehoo ] ++ packages;
buildDepends = [
aeson binary blazeBuilder Cabal caseInsensitive cmdargs conduit
deepseq filepath haskellSrcExts httpTypes parsec QuickCheck random
resourcet safe shake tagsoup text time transformers uniplate vector
vectorAlgorithms wai warp
];
testDepends = [ filepath ];
testTarget = "--test-option=--no-net";
# The tests will fail because of the added documentation. phases = [ "installPhase" ];
doCheck = false;
patches = [ ./hoogle-local.diff
(fetchurl { url = "https://github.com/ndmitchell/hoogle/commit/5fc294f2b5412fda107c7700f4d833b52f26184c.diff";
sha256 = "1fn52g90p2jsy87gf5rqrcg49s8hfwway5hi4v9i2rpg5mzxaq3i"; })
];
docPackages = packages; docPackages = packages;
installPhase = ''
postInstall = ''
if [ -z "$docPackages" ]; then if [ -z "$docPackages" ]; then
echo "ERROR: The packages attribute has not been set" echo "ERROR: The packages attribute has not been set"
exit 1 exit 1
@ -71,27 +50,38 @@ cabal.mkDerivation (self: rec {
cd $out/share/hoogle cd $out/share/hoogle
function import_dbs() { function import_dbs() {
find $1 -name '*.txt' \ find $1 -name '*.txt' | while read f; do
| parallel -j$NIX_BUILD_CORES 'cp -p {} .; perl -i -pe "print \"\@url file://{//}/index.html\n\" if /^\@version/;" {/}; $out/bin/hoogle convert {/}' newname=$(basename "$f" | tr '[:upper:]' '[:lower:]')
if [[ -f $f && ! -f ./$newname ]]; then
cp -p $f ./$newname
hoogle convert -d "$(dirname $f)" "./$newname"
fi
done
} }
for i in $docPackages; do for i in $docPackages; do
import_dbs $i/share/doc findInputs $i docPackages propagated-native-build-inputs
ln -sf $i/share/doc/*-ghc-*/* $out/share/hoogle/doc 2> /dev/null \ findInputs $i docPackages propagated-build-inputs
|| ln -sf $i/share/doc/* $out/share/hoogle/doc
done done
import_dbs ${self.ghc}/share/doc/ghc*/html/libraries for i in $docPackages; do
ln -sf ${self.ghc}/share/doc/ghc*/html/libraries/* $out/share/hoogle/doc if [[ ! $i == $out ]]; then
for docdir in $i/share/doc/*-ghc-*/* $i/share/doc/*; do
if [[ -d $docdir ]]; then
import_dbs $docdir
ln -sf $docdir $out/share/hoogle/doc
fi
done
fi
done
unset http_proxy import_dbs ${ghc}/share/doc/ghc*/html/libraries
unset ftp_proxy ln -sf ${ghc}/share/doc/ghc*/html/libraries/* $out/share/hoogle/doc
chmod 644 *.hoo *.txt chmod 644 *.hoo *.txt
$out/bin/hoogle data -d $PWD --redownload -l $(echo *.txt | sed 's/\.txt//g') rehoo -j4 -c64 .
PATH=$out/bin:$PATH ${rehoo}/bin/rehoo -j4 -c64 .
rm -fr downloads *.txt *.dep rm -fr downloads *.dep *.txt
mv default.hoo x || exit 0 mv default.hoo x || exit 0
rm -f *.hoo rm -f *.hoo
mv x default.hoo || exit 1 mv x default.hoo || exit 1
@ -101,23 +91,17 @@ cabal.mkDerivation (self: rec {
exit 1 exit 1
fi fi
mv $out/bin/hoogle $out/bin/.hoogle-wrapped mkdir -p $out/bin
cat - > $out/bin/hoogle <<EOF substitute ${wrapper} $out/bin/hoogle \
#! ${self.stdenv.shell} --subst-var out --subst-var-by shell ${stdenv.shell} \
COMMAND=\$1 --subst-var-by hoogle ${hoogle}
shift
HOOGLE_DOC_PATH=$out/share/hoogle/doc exec $out/bin/.hoogle-wrapped \$COMMAND -d $out/share/hoogle "\$@"
EOF
chmod +x $out/bin/hoogle chmod +x $out/bin/hoogle
''; '';
meta = { meta = {
homepage = "http://www.haskell.org/hoogle/"; description = "A local Hoogle database";
description = "Haskell API Search"; platforms = ghc.meta.platforms;
license = self.stdenv.lib.licenses.bsd3; hydraPlatforms = with stdenv.lib.platforms; none;
platforms = self.ghc.meta.platforms; maintainers = with stdenv.lib.maintainers; [ ttuegel ];
maintainers = [ self.stdenv.lib.maintainers.jwiegley ];
hydraPlatforms = self.stdenv.lib.platforms.none;
broken = true;
}; };
}) }

View File

@ -0,0 +1,13 @@
{ cabal, transformers }:
cabal.mkDerivation (self: {
pname = "managed";
version = "1.0.0";
sha256 = "06nb71pd68m5l6a48sz5kkrdif74phbg3y6bn9ydd00y515b9gn5";
buildDepends = [ transformers ];
meta = {
description = "A monad for managed values";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -8,7 +8,7 @@ stdenv.mkDerivation (rec {
sha256 = "0pz58vr12qihq2f0bypjxsb6cf6ajq5258fmfm8s6lvwm3b9xz6a"; sha256 = "0pz58vr12qihq2f0bypjxsb6cf6ajq5258fmfm8s6lvwm3b9xz6a";
}; };
# If architecture-dependant MO files aren't available, they're generated # If architecture-dependent MO files aren't available, they're generated
# during build, so we need gettext for cross-builds. # during build, so we need gettext for cross-builds.
crossAttrs.buildInputs = [ gettext ]; crossAttrs.buildInputs = [ gettext ];

View File

@ -1,11 +1,11 @@
{stdenv, fetchurl, curl, libgcrypt}: {stdenv, fetchurl, curl, libgcrypt}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libmicrohttpd-0.9.35"; name = "libmicrohttpd-0.9.37";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/libmicrohttpd/${name}.tar.gz"; url = "mirror://gnu/libmicrohttpd/${name}.tar.gz";
sha256 = "1z0h6llx7pra78358ryi3bdh8p0ns0bn97n6bl0fj6cib9cz2pdw"; sha256 = "1p3wnhr43v6vqdgl86r76298wjfxz2ihj9zh9kpz8l7va30br357";
}; };
buildInputs = [ curl libgcrypt ]; buildInputs = [ curl libgcrypt ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "liboauth-1.0.2"; name = "liboauth-1.0.3";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/liboauth/${name}.tar.gz"; url = "mirror://sourceforge/liboauth/${name}.tar.gz";
sha256 = "1qs58yzydw20dmzvx22i541w641kwd6ja80s9na1az32n1krh6zv"; sha256 = "07w1aq8y8wld43wmbk2q8134p3bfkp2vma78mmsfgw2jn1bh3xhd";
}; };
buildInputs = [ nss openssl ]; buildInputs = [ nss openssl ];

View File

@ -1,13 +1,11 @@
{ fetchzip, stdenv, ncurses }: { fetchurl, stdenv, ncurses }:
stdenv.mkDerivation (rec { stdenv.mkDerivation rec {
name = "readline-6.3p08"; name = "readline-6.3p08";
src = fetchzip { src = fetchurl {
#url = "mirror://gnu/readline/${name}.tar.gz"; url = "mirror://gnu/readline/readline-6.3.tar.gz";
url = "http://git.savannah.gnu.org/cgit/readline.git/snapshot/" sha256 = "0hzxr9jxqqx5sxsv9vmlxdnvlr9vi4ih1avjb869hbs6p5qn1fjn";
+ "readline-a73b98f779b388a5d0624e02e8bb187246e3e396.tar.gz";
sha256 = "19ji3wrv4fs79fd0nkacjy9q94pvy2cm66yb3aqysahg0cbrz5l1";
}; };
propagatedBuildInputs = [ncurses]; propagatedBuildInputs = [ncurses];
@ -17,7 +15,19 @@ stdenv.mkDerivation (rec {
patches = patches =
[ ./link-against-ncurses.patch [ ./link-against-ncurses.patch
./no-arch_only-6.3.patch ./no-arch_only-6.3.patch
]; ]
++
(let
patch = nr: sha256:
fetchurl {
url = "mirror://gnu/readline/readline-6.3-patches/readline63-${nr}";
inherit sha256;
};
in
import ./readline-6.3-patches.nix patch);
# Don't run the native `strip' when cross-compiling.
dontStrip = stdenv ? cross;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Library for interactive line editing"; description = "Library for interactive line editing";
@ -46,10 +56,3 @@ stdenv.mkDerivation (rec {
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }
//
# Don't run the native `strip' when cross-compiling.
(if (stdenv ? cross)
then { dontStrip = true; }
else { }))

View File

@ -0,0 +1,12 @@
# Automatically generated by `update-patch-set.sh'; do not edit.
patch: [
(patch "001" "0vqlj22mkbn3x42qx2iqir7capx462dhagbzdw6hwxgfxavbny8s")
(patch "002" "19g0l6vlfcqzwfwjj1slkmxzndjp4543hwrf26g8z216lp3h9qrr")
(patch "003" "0bx53k876w8vwf4h2s6brr1i46ym87gi71bh8zl89n0gn3cbshgc")
(patch "004" "1k2m8dg1awmjhmivdbx1c25866gfbpg0fy4845n8cw15zc3bjis5")
(patch "005" "0jr7c28bzn882as5i54l53bhi723s1nkvzmwlh3rj6ld4bwqhxw7")
(patch "006" "0mp5zgx50792gigkmjap3d0zpdv5qanii8djab7j6z69qsrpl8sw")
(patch "007" "1sjv9w0mglh395i6hlq3ck7wdxvi2wyddlyb2j0jwg7cmnibayad")
(patch "008" "11rpqhsxd132gc8455v51ma3a5zshznb0mh2p0zc5skcab7r7h1v")
]

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, pkgconfig, icu, clucene_core, curl}: { stdenv, fetchurl, pkgconfig, icu, clucene_core, curl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -19,12 +19,12 @@ stdenv.mkDerivation rec {
configureFlags = "--without-conf --enable-tests=no CXXFLAGS=-Wno-unused-but-set-variable"; configureFlags = "--without-conf --enable-tests=no CXXFLAGS=-Wno-unused-but-set-variable";
meta = { meta = with stdenv.lib; {
description = "A software framework that allows research manipulation of Biblical texts"; description = "A software framework that allows research manipulation of Biblical texts";
homepage = http://www.crosswire.org/sword/; homepage = http://www.crosswire.org/sword/;
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
license = stdenv.lib.licenses.gpl2; license = licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.piotr stdenv.lib.maintainers.AndersonTorres ]; maintainers = [ maintainers.piotr maintainers.AndersonTorres ];
}; };
} }

View File

@ -1,5 +1,10 @@
{ stdenv, fetchurl, libvdpau, mesa, libva, pkgconfig }: { stdenv, fetchurl, libvdpau, mesa, libva, pkgconfig }:
let
libvdpau08patch = (fetchurl { url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/libva-vdpau-driver/files/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch?revision=1.1";
name = "libva-vdpau-driver-0.7.4-libvdpau-0.8.patch";
sha256 = "1n2cys59wyv8ylx9i5m3s6856mgx24hzcp45w1ahdfbzdv9wrfbl";
});
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libva-vdpau-driver-0.7.4"; name = "libva-vdpau-driver-0.7.4";
@ -17,6 +22,7 @@ stdenv.mkDerivation rec {
buildInputs = [ libvdpau mesa libva pkgconfig ]; buildInputs = [ libvdpau mesa libva pkgconfig ];
preConfigure = '' preConfigure = ''
patch -p0 < ${libvdpau08patch} # use -p0 instead of -p1
sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure
''; '';

View File

@ -1,13 +1,12 @@
{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb, openssl }: { stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb1, openssl }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "xpwn-0.5.8git"; name = "xpwn-0.5.8git";
src = fetchgit { src = fetchgit {
url = "git://github.com/dborca/xpwn.git"; url = "git://github.com/dborca/xpwn.git";
rev = "4534da88d4e8a32cdc9da9b5326e2cc482c95ef0"; rev = "4534da88d4e8a32cdc9da9b5326e2cc482c95ef0";
sha256 = sha256 = "1h1ak40fg5bym0hifpii9q2hqdp2m387cwfzb4bl6qq36xpkd6wv";
"1h1ak40fg5bym0hifpii9q2hqdp2m387cwfzb4bl6qq36xpkd6wv";
}; };
preConfigure = '' preConfigure = ''
@ -19,11 +18,16 @@ stdenv.mkDerivation {
sed -i -e '/install/d' CMakeLists.txt sed -i -e '/install/d' CMakeLists.txt
''; '';
buildInputs = [ cmake zlib libpng bzip2 libusb openssl ]; buildInputs = [ cmake zlib libpng bzip2 libusb1 openssl ];
meta = { cmakeFlags = [
homepage = "http://planetbeing.lighthouseapp.com/projects/15246-xpwn"; "-DCMAKE_OSX_DEPLOYMENT_TARGET="
];
meta = with stdenv.lib; {
homepage = "http://planetbeing.lighthouseapp.com/projects/15246-xpwn";
description = "Custom NOR firmware loader/IPSW generator for the iPhone"; description = "Custom NOR firmware loader/IPSW generator for the iPhone";
license = stdenv.lib.licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = with platforms; linux ++ darwin;
}; };
} }

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, python, pkgconfig, dbus, dbus_glib, dbus_tools }: { stdenv, fetchurl, python, pkgconfig, dbus, dbus_glib, dbus_tools, isPyPy }:
stdenv.mkDerivation rec { if isPyPy then throw "dbus-python not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
name = "dbus-python-1.2.0"; name = "dbus-python-1.2.0";
src = fetchurl { src = fetchurl {

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, fetchpatch, python, pkgconfig, cairo, x11 }: { stdenv, fetchurl, fetchpatch, python, pkgconfig, cairo, x11, isPyPy }:
stdenv.mkDerivation rec { if isPyPy then throw "pycairo not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
version = "1.10.0"; version = "1.10.0";
name = "pycairo-${version}"; name = "pycairo-${version}";
src = if python.is_py3k or false src = if python.is_py3k or false

View File

@ -1,13 +1,11 @@
{ stdenv, fetchurl, pythonPackages }: { stdenv, fetchurl, pythonPackages }:
pythonPackages.buildPythonPackage rec { pythonPackages.buildPythonPackage rec {
name = "rbtools-0.4.1"; name = "rbtools-0.6.1";
namePrefix = ""; namePrefix = "";
src = fetchurl { src = fetchurl {
url = "http://downloads.reviewboard.org/releases/RBTools/0.4/RBTools-0.4.1.tar.gz"; url = "http://downloads.reviewboard.org/releases/RBTools/0.6/RBTools-0.6.1.tar.gz";
sha256 = "1v0r7rfzrasj56s53mib51wl056g7ykh2y1c6dwv12r6hzqsycgv"; sha256 = "0dbpd08b0k00fszi3r7wlgn2989aypgd60jq6wc99lq4yxsmhp28";
}; };
propagatedBuildInputs = [ pythonPackages.setuptools ];
} }

View File

@ -1,10 +1,10 @@
{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages }: { stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, python, isPyPy }:
assert wxGTK.unicode; assert wxGTK.unicode;
let version = "2.8.12.1"; in let version = "2.8.12.1"; in
stdenv.mkDerivation { if isPyPy then throw "wxPython-${version} not supported for interpreter ${python.executable}" else stdenv.mkDerivation {
name = "wxPython-${version}"; name = "wxPython-${version}";
builder = ./builder.sh; builder = ./builder.sh;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, openglSupport ? true }: { stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, openglSupport ? true, python, isPyPy }:
assert wxGTK.unicode; assert wxGTK.unicode;
@ -6,7 +6,7 @@ with stdenv.lib;
let version = "3.0.0.0"; in let version = "3.0.0.0"; in
stdenv.mkDerivation { if isPyPy then throw "wxPython-${version} not supported for interpreter ${python.executable}" else stdenv.mkDerivation {
name = "wxPython-${version}"; name = "wxPython-${version}";
builder = ./builder3.0.sh; builder = ./builder3.0.sh;

View File

@ -1,12 +1,12 @@
{stdenv, fetchurl, unzip}: {stdenv, fetchurl, unzip}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "pmd-4.2.5"; name = "pmd-4.2.6";
buildInputs = [unzip] ; buildInputs = [unzip] ;
src = fetchurl { src = fetchurl {
url = mirror://sourceforge/pmd/pmd-bin-4.2.5.zip ; url = mirror://sourceforge/pmd/pmd-bin-4.2.6.zip ;
sha256 = "07cb18mv7rplksy3iw3rxyjaav4m7kcjqfhzv20ki73hfkqxa85c"; sha256 = "0gg1px2jmqn09f5vjzgy9gck37qjm9p2d7gf9grsmrr2xncbipp8";
}; };
installPhase = '' installPhase = ''

View File

@ -14,8 +14,7 @@ stdenv.mkDerivation rec {
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
cat > $out/bin/sbt << EOF cat > $out/bin/sbt << EOF
#!/bin/sh #! ${stdenv.shell}
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M"
${jre}/bin/java \$SBT_OPTS -jar ${src} "\$@" ${jre}/bin/java \$SBT_OPTS -jar ${src} "\$@"
EOF EOF
chmod +x $out/bin/sbt chmod +x $out/bin/sbt

View File

@ -1,19 +1,19 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "jenkins"; name = "jenkins-${version}";
version = "1.550"; version = "1.579";
src = fetchurl { src = fetchurl {
url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war"; url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
sha256 = "1ziimbfs9kylga0xmxlfsfcc7qsirs5bnx00pa99m2l5sz2ki793"; sha256 = "1l2a8h3js42gkqn8kiysbgrxksqmhmmfp9l4kbrmw609q2wn5119";
}; };
meta = { meta = with stdenv.lib; {
description = "An extendable open source continuous integration server."; description = "An extendable open source continuous integration server";
homepage = http://jenkins-ci.org; homepage = http://jenkins-ci.org;
license = stdenv.lib.licenses.mit; license = licenses.mit;
platforms = stdenv.lib.platforms.all; platforms = platforms.all;
maintainers = [ stdenv.lib.maintainers.coconnor ]; maintainers = [ maintainers.coconnor ];
}; };
buildCommand = "ln -s $src $out"; buildCommand = "ln -s $src $out";

View File

@ -13,7 +13,7 @@ stdenv.mkDerivation {
prefixKey = "--prefix "; prefixKey = "--prefix ";
meta = { meta = {
description = "An editor-independant tool to ease the developpement of programs in OCaml"; description = "An editor-independent tool to ease the development of programs in OCaml";
homepage = "http://the-lambda-church.github.io/merlin/"; homepage = "http://the-lambda-church.github.io/merlin/";
license = stdenv.lib.licenses.mit; license = stdenv.lib.licenses.mit;
}; };

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 version = "1.6.4"; let version = "1.6.5";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "vagrant-${version}"; name = "vagrant-${version}";
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
if stdenv.system == "x86_64-linux" then if stdenv.system == "x86_64-linux" then
fetchurl { fetchurl {
url = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_x86_64.deb"; url = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_x86_64.deb";
sha256 = "1f171d2yjs4p2kzlwcknx1k29qnjvaxizjrxp84ya3sfxvfckm92"; sha256 = "12m2mnpnfzqv2s4j58cnzg4h4i5nkk5nb4irsvmm3i9a0dnsziz2";
} }
else else
fetchurl { fetchurl {

View File

@ -1,6 +1,6 @@
{ stdenv, runCommand, nodejs, neededNatives}: { stdenv, runCommand, nodejs, neededNatives}:
args @ { name, src, deps ? [], peerDependencies ? [], flags ? [], preShellHook ? "", postShellHook ? "", ... }: args @ { name, src, deps ? {}, peerDependencies ? [], flags ? [], preShellHook ? "", postShellHook ? "", resolvedDeps ? {}, bin ? null, ... }:
with stdenv.lib; with stdenv.lib;
@ -12,88 +12,135 @@ let
mv *node* $out mv *node* $out
''; '';
# Convert deps to attribute set
attrDeps = if isAttrs deps then deps else
(listToAttrs (map (dep: nameValuePair dep.name dep) deps));
# All required node modules, without already resolved dependencies
requiredDeps = removeAttrs attrDeps (attrNames resolvedDeps);
# Recursive dependencies that we want to avoid with shim creation
recursiveDeps = removeAttrs attrDeps (attrNames requiredDeps);
peerDeps = listToAttrs (concatMap (dep: map (name: { peerDeps = listToAttrs (concatMap (dep: map (name: {
inherit name; inherit name;
value = dep; value = dep;
}) (filter (nm: !(elem nm (args.passthru.names or []))) dep.names)) (peerDependencies)); }) (filter (nm: !(elem nm (args.passthru.names or []))) dep.names)) (peerDependencies));
in
stdenv.mkDerivation ({
unpackPhase = "true";
inherit src; self = let
# Pass resolved dependencies to dependencies of this package
deps = map (
dep: dep.override {
resolvedDeps = resolvedDeps // { "${name}" = self; };
}
) (attrValues requiredDeps);
configurePhase = '' in stdenv.mkDerivation ({
runHook preConfigure unpackPhase = "true";
mkdir node_modules
${concatStrings (concatMap (dep: map (name: ''
ln -sv ${dep}/lib/node_modules/${name} node_modules/
'') dep.names) deps)}
${concatStrings (mapAttrsToList (name: dep: ''
ln -sv ${dep}/lib/node_modules/${name} node_modules/
'') peerDeps)}
export HOME=$(pwd)
runHook postConfigure
'';
buildPhase = '' inherit src;
runHook preBuild
npm --registry http://www.example.com --nodedir=${sources} install $src ${npmFlags}
runHook postBuild
'';
installPhase = '' configurePhase = ''
runHook preInstall runHook preConfigure
mkdir -p $out/lib/node_modules mkdir node_modules
${concatStrings (map (name: ''
mv node_modules/${name} $out/lib/node_modules # Symlink dependencies for node modules
rm -fR $out/lib/node_modules/${name}/node_modules ${concatStrings (concatMap (dep: map (name: ''
ln -sv $out/.dependent-node-modules $out/lib/node_modules/${name}/node_modules ln -sv ${dep}/lib/node_modules/${name} node_modules/
if [ -e "$out/lib/node_modules/${name}/man" ]; then '') dep.names) deps)}
mkdir -p $out/share
for dir in "$out/lib/node_modules/${name}/man/"*; do # Symlink peer dependencies
mkdir -p $out/share/man/$(basename "$dir") ${concatStrings (mapAttrsToList (name: dep: ''
for page in "$dir"/*; do ln -sv ${dep}/lib/node_modules/${name} node_modules/
ln -sv $page $out/share/man/$(basename "$dir") '') peerDeps)}
# Create shims for recursive dependenceies
${concatStrings (concatMap (dep: map (name: ''
mkdir -p node_modules/${name}
cat > node_modules/${name}/package.json <<EOF
{
"name": "${name}",
"version": "${(builtins.parseDrvName dep.name).version}"
}
EOF
'') dep.names) (attrValues recursiveDeps))}
export HOME=$(pwd)
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
npm --registry http://www.example.com --nodedir=${sources} install $src ${npmFlags}
runHook postBuild
'';
installPhase = ''
runHook preInstall
# Remove shims
${concatStrings (concatMap (dep: map (name: ''
rm node_modules/${name}/package.json
rmdir node_modules/${name}
'') dep.names) (attrValues recursiveDeps))}
mkdir -p $out/lib/node_modules
${concatStrings (map (name: ''
mv node_modules/${name} $out/lib/node_modules
rm -fR $out/lib/node_modules/${name}/node_modules
ln -sv $out/.dependent-node-modules $out/lib/node_modules/${name}/node_modules
if [ -e "$out/lib/node_modules/${name}/man" ]; then
mkdir -p $out/share
for dir in "$out/lib/node_modules/${name}/man/"*; do
mkdir -p $out/share/man/$(basename "$dir")
for page in "$dir"/*; do
ln -sv $page $out/share/man/$(basename "$dir")
done
done done
done fi
'') args.passthru.names)}
${concatStrings (mapAttrsToList (name: dep: ''
mv node_modules/${name} $out/lib/node_modules
'') peerDeps)}
mv node_modules/.bin $out/lib/node_modules 2>/dev/null || true
mv node_modules $out/.dependent-node-modules
if [ -d "$out/lib/node_modules/.bin" ]; then
ln -sv $out/lib/node_modules/.bin $out/bin
node=`type -p node`
coffee=`type -p coffee || true`
find -L $out/lib/node_modules/.bin/* -type f -print0 | \
xargs -0 sed --follow-symlinks -i \
-e 's@#!/usr/bin/env node@#!'"$node"'@' \
-e 's@#!/usr/bin/env coffee@#!'"$coffee"'@' \
-e 's@#!/.*/node@#!'"$node"'@' \
-e 's@#!/.*/coffee@#!'"$coffee"'@'
fi fi
'') args.passthru.names)} runHook postInstall
${concatStrings (mapAttrsToList (name: dep: '' '';
mv node_modules/${name} $out/lib/node_modules
'') peerDeps)}
mv node_modules/.bin $out/lib/node_modules 2>/dev/null || true
mv node_modules $out/.dependent-node-modules
if [ -d "$out/lib/node_modules/.bin" ]; then
ln -sv $out/lib/node_modules/.bin $out/bin
node=`type -p node`
coffee=`type -p coffee || true`
find -L $out/lib/node_modules/.bin/* -type f -print0 | \
xargs -0 sed --follow-symlinks -i \
-e 's@#!/usr/bin/env node@#!'"$node"'@' \
-e 's@#!/usr/bin/env coffee@#!'"$coffee"'@' \
-e 's@#!/.*/node@#!'"$node"'@' \
-e 's@#!/.*/coffee@#!'"$coffee"'@'
fi
runHook postInstall
'';
preFixup = concatStringsSep "\n" (map (src: '' preFixup = concatStringsSep "\n" (map (src: ''
find $out -type f -print0 | xargs -0 sed -i 's|${src}|${src.name}|g' find $out -type f -print0 | xargs -0 sed -i 's|${src}|${src.name}|g'
'') src); '') src);
shellHook = '' shellHook = ''
${preShellHook} ${preShellHook}
export PATH=${nodejs}/bin:$(pwd)/node_modules/.bin:$PATH export PATH=${nodejs}/bin:$(pwd)/node_modules/.bin:$PATH
mkdir -p node_modules mkdir -p node_modules
${concatStrings (concatMap (dep: map (name: '' ${concatStrings (concatMap (dep: map (name: ''
ln -sfv ${dep}/lib/node_modules/${name} node_modules/ ln -sfv ${dep}/lib/node_modules/${name} node_modules/
'') dep.names) deps)} '') dep.names) deps)}
${postShellHook} ${postShellHook}
''; '';
} // args // { } // (filterAttrs (n: v: n != "deps" && n != "resolvedDeps") args) // {
# Run the node setup hook when this package is a build input name = "${
propagatedNativeBuildInputs = (args.propagatedNativeBuildInputs or []) ++ [ nodejs ]; if bin == true then "bin-" else if bin == false then "node-" else ""
}${name}";
# Make buildNodePackage useful with --run-env # Run the node setup hook when this package is a build input
nativeBuildInputs = (args.nativeBuildInputs or []) ++ deps ++ peerDependencies ++ neededNatives; propagatedNativeBuildInputs = (args.propagatedNativeBuildInputs or []) ++ [ nodejs ];
} )
# Make buildNodePackage useful with --run-env
nativeBuildInputs = (args.nativeBuildInputs or []) ++ deps ++ peerDependencies ++ neededNatives;
});
in self

View File

@ -0,0 +1,23 @@
{ stdenv, autoconf, automake, pkgconfig, SDL, SDL_mixer, SDL_net, fetchurl }:
stdenv.mkDerivation rec {
name = "chocolate-doom-2.0.0";
src = fetchurl {
url = https://github.com/chocolate-doom/chocolate-doom/archive/chocolate-doom-2.0.0.tar.gz;
sha256 = "1n9lkx97h987bq8z586jgissdhs07xyfr0xfdk7m2wpw4yhw10k1";
};
buildInputs = [ autoconf autoconf automake pkgconfig SDL SDL_mixer SDL_net ];
patchPhase = ''
sed -e 's#/games#/bin#g' -i src{,/setup}/Makefile.am
./autogen.sh --prefix=$out
'';
enableParallelBuilding = true;
meta = {
homepage = http://chocolate-doom.org/;
description = "A Doom source port that accurately reproduces the experience of Doom as it was played in the 1990s";
license = stdenv.lib.licenses.gpl2Plus;
maintainers = with stdenv.lib.maintainers; [ MP2E ];
};
}

Some files were not shown because too many files have changed in this diff Show More