Merge recent master into staging

Hydra nixpkgs: ?compare=1151601
wip/yesman
Vladimír Čunát 10 years ago
parent 6a63d1e1e1
commit d957b4bd78
  1. 11
      doc/language-support.xml
  2. 5
      lib/licenses.nix
  3. 2
      lib/maintainers.nix
  4. 4
      nixos/doc/manual/default.nix
  5. 4
      nixos/lib/test-driver/log2html.xsl
  6. 2
      nixos/lib/testing.nix
  7. 2
      nixos/modules/config/users-groups.nix
  8. 8
      nixos/modules/installer/tools/nixos-rebuild.sh
  9. 2
      nixos/modules/module-list.nix
  10. 9
      nixos/modules/programs/ssh.nix
  11. 63
      nixos/modules/services/computing/torque/mom.nix
  12. 96
      nixos/modules/services/computing/torque/server.nix
  13. 29
      nixos/modules/services/continuous-integration/jenkins/default.nix
  14. 6
      nixos/modules/services/continuous-integration/jenkins/slave.nix
  15. 32
      nixos/modules/services/monitoring/statsd.nix
  16. 8
      nixos/modules/services/networking/ssh/sshd.nix
  17. 11
      nixos/modules/services/web-servers/tomcat.nix
  18. 6
      nixos/modules/virtualisation/containers.nix
  19. 23
      nixos/modules/virtualisation/nixos-container.pl
  20. 30
      nixos/tests/containers.nix
  21. 33
      pkgs/applications/audio/musescore/default.nix
  22. 4
      pkgs/applications/editors/idea/default.nix
  23. 4
      pkgs/applications/graphics/panotools/default.nix
  24. 4
      pkgs/applications/misc/calibre/default.nix
  25. 11
      pkgs/applications/misc/fme/default.nix
  26. 10
      pkgs/applications/misc/galculator/default.nix
  27. 10
      pkgs/applications/misc/lilyterm/default.nix
  28. 4
      pkgs/applications/misc/spacefm/default.nix
  29. 3
      pkgs/applications/misc/tilda/default.nix
  30. 8
      pkgs/applications/misc/vym/default.nix
  31. 18
      pkgs/applications/misc/xiphos/default.nix
  32. 12
      pkgs/applications/networking/browsers/dillo/default.nix
  33. 6
      pkgs/applications/networking/instant-messengers/ekiga/default.nix
  34. 34
      pkgs/applications/networking/linssid/default.nix
  35. 2
      pkgs/applications/networking/mailreaders/mailpile/default.nix
  36. 6
      pkgs/applications/science/logic/coq/HEAD.nix
  37. 4
      pkgs/applications/science/math/R/default.nix
  38. 2
      pkgs/applications/version-management/meld/default.nix
  39. 59
      pkgs/applications/version-management/smartgithg/default.nix
  40. 4
      pkgs/applications/video/aegisub/default.nix
  41. 17
      pkgs/applications/video/mpv/default.nix
  42. 11
      pkgs/applications/video/wxcam/default.nix
  43. 3
      pkgs/applications/virtualization/8086tiny/default.nix
  44. 17
      pkgs/applications/virtualization/bochs/default.nix
  45. 19
      pkgs/applications/window-managers/fluxbox/default.nix
  46. 2
      pkgs/applications/window-managers/jwm/default.nix
  47. 5
      pkgs/build-support/build-fhs-chrootenv/destroy.sh.in
  48. 3
      pkgs/build-support/build-fhs-chrootenv/init.sh.in
  49. 3
      pkgs/build-support/build-fhs-chrootenv/mount.sh.in
  50. 2
      pkgs/build-support/build-fhs-chrootenv/umount.sh.in
  51. 2
      pkgs/build-support/grsecurity/default.nix
  52. 1
      pkgs/data/fonts/arkpandora/default.nix
  53. 4
      pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
  54. 36
      pkgs/desktops/kde-4.12/files/kdelibs-cve-2014-5033.patch
  55. 9
      pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix
  56. 2
      pkgs/development/compilers/agda/default.nix
  57. 11
      pkgs/development/compilers/agda/stdlib.nix
  58. 4
      pkgs/development/compilers/scala/default.nix
  59. 4
      pkgs/development/interpreters/elixir/default.nix
  60. 32
      pkgs/development/interpreters/jimtcl/default.nix
  61. 10
      pkgs/development/interpreters/lua-5/5.1.nix
  62. 2
      pkgs/development/interpreters/lua-5/sec.nix
  63. 4
      pkgs/development/interpreters/lua-5/sockets.nix
  64. 4
      pkgs/development/interpreters/php/5.4.nix
  65. 379
      pkgs/development/interpreters/ruby/generated.nix
  66. 8
      pkgs/development/interpreters/ruby/rubygems.nix
  67. 23
      pkgs/development/libraries/agda/AgdaSheaves/default.nix
  68. 23
      pkgs/development/libraries/agda/bitvector/default.nix
  69. 3
      pkgs/development/libraries/cimg/default.nix
  70. 10
      pkgs/development/libraries/directfb/src-for-default.nix
  71. 9
      pkgs/development/libraries/flite/default.nix
  72. 21
      pkgs/development/libraries/gecode/default.nix
  73. 35
      pkgs/development/libraries/gtkspellmm/default.nix
  74. 15
      pkgs/development/libraries/haskell/functor-infix/default.nix
  75. 6
      pkgs/development/libraries/haskell/hoogle/hoogle-local-wrapper.sh
  76. 28
      pkgs/development/libraries/haskell/hoogle/hoogle-local.diff
  77. 106
      pkgs/development/libraries/haskell/hoogle/local.nix
  78. 13
      pkgs/development/libraries/haskell/managed/default.nix
  79. 2
      pkgs/development/libraries/libgpg-error/default.nix
  80. 4
      pkgs/development/libraries/libmicrohttpd/default.nix
  81. 4
      pkgs/development/libraries/liboauth/default.nix
  82. 0
      pkgs/development/libraries/readline/5.x.nix
  83. 0
      pkgs/development/libraries/readline/6.2.nix
  84. 33
      pkgs/development/libraries/readline/6.3.nix
  85. 12
      pkgs/development/libraries/readline/readline-6.3-patches.nix
  86. 10
      pkgs/development/libraries/sword/default.nix
  87. 8
      pkgs/development/libraries/vaapi-vdpau/default.nix
  88. 22
      pkgs/development/mobile/xpwn/default.nix
  89. 4
      pkgs/development/python-modules/dbus/default.nix
  90. 4
      pkgs/development/python-modules/pycairo/default.nix
  91. 8
      pkgs/development/python-modules/rbtools/default.nix
  92. 4
      pkgs/development/python-modules/wxPython/2.8.nix
  93. 4
      pkgs/development/python-modules/wxPython/3.0.nix
  94. 6
      pkgs/development/tools/analysis/pmd/default.nix
  95. 3
      pkgs/development/tools/build-managers/sbt/default.nix
  96. 16
      pkgs/development/tools/continuous-integration/jenkins/default.nix
  97. 2
      pkgs/development/tools/ocaml/merlin/default.nix
  98. 4
      pkgs/development/tools/vagrant/default.nix
  99. 199
      pkgs/development/web/nodejs/build-node-package.nix
  100. 23
      pkgs/games/chocolate-doom/default.nix
  101. Some files were not shown because too many files have changed in this diff Show More

@ -233,6 +233,17 @@ twisted = buildPythonPackage {
</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>
<para>Ant-based Java packages are typically built from source as follows:

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

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

@ -57,7 +57,7 @@ let
};
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
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"
@ -127,7 +127,7 @@ in rec {
mkdir -p $out/nix-support
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";

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

@ -53,6 +53,8 @@ rec {
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/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
echo "report testlog $out log.html" >> $out/nix-support/hydra-build-products

@ -301,7 +301,7 @@ let
uidsAreUnique = idsAreUnique (filterAttrs (n: u: u.uid != null) cfg.extraUsers) "uid";
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;
users = mapAttrsToList (n: u:
{ inherit (u)

@ -194,13 +194,13 @@ if [ -z "$rollback" ]; then
nix-env "${extraBuildFlags[@]}" -p "$profile" -f '<nixpkgs/nixos>' --set -A system
pathToConfig="$profile"
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
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
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
else
showSyntax
@ -226,7 +226,7 @@ fi
# default and/or activate it now.
if [ "$action" = switch -o "$action" = boot -o "$action" = test ]; 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
fi
fi

@ -95,6 +95,8 @@
./services/backup/rsnapshot.nix
./services/backup/sitecopy-backup.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/slave.nix
./services/databases/4store-endpoint.nix

@ -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" ];
serviceConfig =
{ 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";
Type = "forking";
Restart = "on-failure";

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

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

@ -15,7 +15,7 @@ in {
user = mkOption {
default = "jenkins";
type = with types; string;
type = types.str;
description = ''
User the jenkins server should execute under.
'';
@ -23,16 +23,25 @@ in {
group = mkOption {
default = "jenkins";
type = with types; string;
type = types.str;
description = ''
If the default user "jenkins" is configured then this is the primary
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 {
default = "/var/lib/jenkins";
type = with types; string;
type = types.path;
description = ''
The path to use as JENKINS_HOME. If the default user "jenkins" is configured then
this is the home of the "jenkins" user.
@ -57,12 +66,21 @@ in {
environment = mkOption {
default = { NIX_REMOTE = "daemon"; };
type = with types; attrsOf string;
type = with types; attrsOf str;
description = ''
Additional environment variables to be passed to the jenkins process.
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;
home = cfg.home;
group = cfg.group;
extraGroups = cfg.extraGroups;
useDefaultShell = true;
uid = config.ids.uids.jenkins;
};
@ -94,7 +113,7 @@ in {
path = cfg.packages;
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 = ''

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

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

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

@ -5,7 +5,7 @@ with lib;
let
cfg = config.services.tomcat;
tomcat = pkgs.tomcat7;
tomcat = cfg.package;
in
{
@ -21,6 +21,15 @@ in
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 {
default = "/var/tomcat";
description = "Location where Tomcat stores configuration files, webapplications and logfiles";

@ -245,12 +245,6 @@ in
ip route add $LOCAL_ADDRESS dev $ifaceHost
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 =

@ -201,15 +201,32 @@ sub runInContainer {
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") {
die "$0: cannot destroy declarative container (remove it from your configuration.nix instead)\n"
unless POSIX::access($confFile, &POSIX::W_OK);
stopContainer if isContainerRunning;
rmtree($profileDir) if -e $profileDir;
rmtree($gcRootsDir) if -e $gcRootsDir;
rmtree($root) if -e $root;
safeRemoveTree($profileDir) if -e $profileDir;
safeRemoveTree($gcRootsDir) if -e $gcRootsDir;
safeRemoveTree($root) if -e $root;
unlink($confFile) or die;
}

@ -56,12 +56,35 @@ import ./make-test.nix {
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");
chomp $ip1;
my $ip2 = $machine->succeed("nixos-container show-ip $id2");
chomp $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.
$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 $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.
$machine->fail("nixos-container destroy webserver");
'';

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

@ -42,7 +42,9 @@ let
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 \
--prefix PATH : ${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin \

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

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

@ -1,6 +1,5 @@
{ stdenv, fetchurl, pkgconfig, autoconf, automake, gettext
, fluxbox, bc, gtkmm, glibmm, libglademm, libsigcxx
}:
, fluxbox, bc, gtkmm, glibmm, libglademm, libsigcxx }:
stdenv.mkDerivation rec{
@ -18,7 +17,7 @@ stdenv.mkDerivation rec{
./autogen.sh
'';
meta = {
meta = with stdenv.lib; {
description = "Editor for Fluxbox menus";
longDescription = ''
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.
'';
homepage = https://github.com/rdehouss/fme/;
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
platforms = stdenv.lib.platforms.linux;
license = licenses.gpl2;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}

@ -1,6 +1,5 @@
{ stdenv, fetchurl
, intltool, pkgconfig, gtk
}:
, intltool, pkgconfig, gtk }:
stdenv.mkDerivation rec {
@ -14,7 +13,7 @@ stdenv.mkDerivation rec {
buildInputs = [ intltool pkgconfig gtk ];
meta = {
meta = with stdenv.lib; {
description = "A GTK 2/3 algebraic and RPN calculator";
longDescription = ''
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
'';
homepage = http://galculator.sourceforge.net/;
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
license = licenses.gpl2Plus;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}

@ -22,14 +22,14 @@ stdenv.mkDerivation rec {
--enable-safe-mode
'';
meta = {
meta = with stdenv.lib; {
description = "A fast, lightweight terminal emulator";
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/;
license = stdenv.lib.licenses.gpl3;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
platforms = stdenv.lib.platforms.linux;
license = licenses.gpl3;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.linux;
};
}

@ -3,14 +3,14 @@
}:
let
version = "0.9.4";
version = "0.9.2";
in stdenv.mkDerivation rec {
name = "spacefm-${version}";
src = fetchurl {
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 ];

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

@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
qmake PREFIX="$out"
'';
meta = {
meta = with stdenv.lib; {
description = "A mind-mapping software";
longDescription = ''
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.
'';
homepage = http://www.insilmaril.de/vym/;
license = stdenv.lib.licenses.gpl2;
maintainer = [ stdenv.lib.maintainers.AndersonTorres ];
platforms = stdenv.lib.platforms.linux;
license = licenses.gpl2;
maintainer = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}

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

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

@ -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
, libsigcxx, gtk, dbus_glib, libnotify, libXext, xextproto, gnome3, boost, libsecret
, 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
perl perlXMLParser evolution_data_server gnome_doc_utils avahi
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
pkgconfig libxml2 videoproto unixODBC db nspr nss zlib libsecret
libXrandr randrproto which libxslt libtasn1 gmp nettle makeWrapper ];
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
postInstall = ''
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; {

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

@ -10,7 +10,7 @@ buildPythonPackage rec {
};
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; {
description = "A modern, fast web-mail client with user-friendly encryption and privacy features";

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

@ -6,11 +6,11 @@
}:
stdenv.mkDerivation rec {
name = "R-3.1.0";
name = "R-3.1.1";
src = fetchurl {
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

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

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

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

@ -22,8 +22,7 @@
# for Youtube support
, quviSupport ? false, libquvi ? null
, cacaSupport ? false, libcaca ? null
, vaapiSupport ? false, libva ? null
}:
, vaapiSupport ? false, libva ? null }:
assert x11Support -> (libX11 != null && libXext != null && mesa != null && libXxf86vm != null);
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
'';
meta = {
meta = with stdenv.lib;{
description = "A movie player that supports many video formats (MPlayer and mplayer2 fork)";
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";
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
platforms = stdenv.lib.platforms.linux;
homepage = http://mpv.io;
license = licenses.gpl2Plus;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}

@ -9,8 +9,7 @@
, mjpegtools
, alsaLib
, libv4l
, cimg
}:
, cimg }:
stdenv.mkDerivation rec {
@ -35,7 +34,7 @@ stdenv.mkDerivation rec {
make install prefix="$out" wxcamdocdir="$out/share/doc/wxcam"
'';
meta = {
meta = with stdenv.lib; {
description = "An open-source, wxGTK-based webcam app for Linux";
longDescription = ''
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.
'';
homepage = http://wxcam.sourceforge.net/;
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
platforms = stdenv.lib.platforms.linux;
license = licenses.gpl3Plus;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}

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

@ -5,8 +5,7 @@
, termSupport ? true , ncurses ? null, readline ? null
, wxSupport ? false, wxGTK ? null
, wgetSupport ? false, wget ? null
, curlSupport ? false, curl ? null
}:
, curlSupport ? false, curl ? null }:
assert sdlSupport -> (SDL != null);
assert termSupport -> (ncurses != null&& readline != null);
@ -52,15 +51,19 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE="-I${gtk}/include/gtk-2.0/";
meta = {
meta = with stdenv.lib; {
description = "An open-source IA-32 (x86) PC emulator";
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/;
license = stdenv.lib.licenses.lgpl2Plus;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
platforms = stdenv.lib.platforms.linux;
license = licenses.lgpl2Plus;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
# TODO: study config.bochs.* implementation (like config.ffmpeg.* options)

@ -2,8 +2,7 @@
, freetype, fribidi
, libXext, libXft, libXpm, libXrandr, libXrender, xextproto
, libXinerama
, imlib2
}:
, imlib2 }:
stdenv.mkDerivation rec {
@ -17,17 +16,19 @@ stdenv.mkDerivation rec {
sha256 = "164dd7bf59791d09a1e729a4fcd5e7347a1004ba675629860a5cf1a271c32983";
};
meta = {
meta = with stdenv.lib; {
description = "Full-featured, light-resource X window manager";
longDescription = ''
Fluxbox is a X window manager based on Blackbox 0.61.1 window manager sources.
It is very light on resources and easy to 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.
Fluxbox is a X window manager based on Blackbox 0.61.1 window
manager sources. It is very light on resources and easy to
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/;
license = stdenv.lib.licenses.mit;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
platforms = stdenv.lib.platforms.linux;
license = licenses.mit;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
# Many thanks Jack Ryan from Nix-dev mailing list!

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
name = "jwm-2.2.2";
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";
};

@ -3,7 +3,7 @@
chrootenvDest=/run/chrootenv/@name@
# 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
for i in @chrootEnv@/sw/*
@ -15,7 +15,8 @@ do
done
# 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
rmdir $chrootenvDest

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

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

@ -3,4 +3,4 @@
chrootenvDest=/run/chrootenv/@name@
# 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}

@ -32,7 +32,7 @@ let
grKernel = if cfg.stable
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 ---------------------------------------------

@ -4,6 +4,7 @@ rec {
src = fetchurl {
urls = [
"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"
];
sha256 = "16mfxwlgn6vs3xn00hha5dnmz6bhjiflq138y4zcq3yhk0y9bz51";

@ -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 {
name = "scrollkeeper-0.3.14";
@ -13,6 +13,6 @@ stdenv.mkDerivation {
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";
}

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

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

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

@ -1,8 +1,5 @@
{ stdenv, agda, fetchurl, ghcWithPackages }:
{ stdenv, agda, fetchurl, ghc, filemanip }:
let
ghc = ghcWithPackages (s: [ s.filemanip ]);
in
agda.mkDerivation (self: rec {
name = "Agda-stdlib";
version = "0.8.1";
@ -12,8 +9,9 @@ agda.mkDerivation (self: rec {
sha256 = "0ij4rg4lk0pq01ing285gbmnn23dcf2rhihdcs8bbdpjg52vl4gf";
};
buildInputs = [ filemanip ghc ];
preConfigure = ''
${ghc}/bin/runhaskell GenerateEverything.hs
runhaskell GenerateEverything.hs
'';
topSourceDirectories = [ "src" ];
@ -21,7 +19,8 @@ agda.mkDerivation (self: rec {
meta = with stdenv.lib; {
homepage = "http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Libraries.StandardLibrary";
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 ];
};
})

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

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

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

@ -1,4 +1,4 @@
{ stdenv, fetchurl, readline }:
{ stdenv, fetchurl, fetchpatch, readline }:
let
dsoPatch = fetchurl {
@ -18,7 +18,13 @@ stdenv.mkDerivation rec {
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 =
if stdenv.isDarwin

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

@ -1,4 +1,4 @@
{stdenv, fetchurl, lua5}:
{ stdenv, fetchurl, lua5 }:
stdenv.mkDerivation rec {
name = "lua-sockets-${version}";
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "19ichkbc4rxv00ggz8gyf29jibvc2wq9pqjik0ll326rrxswgnag";
};
luaver = "5.1"; # TODO
luaver = lua5.luaversion;
patchPhase = ''
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}," \

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

@ -4,22 +4,23 @@ g: # Get dependencies from patched gems
{
aliases = {
ZenTest = g.ZenTest_4_10_1;
actionmailer = g.actionmailer_4_1_5;
actionpack = g.actionpack_4_1_5;
actionview = g.actionview_4_1_5;
activemodel = g.activemodel_4_1_5;
activerecord = g.activerecord_4_1_5;
activesupport = g.activesupport_4_1_5;
actionmailer = g.actionmailer_4_1_6;
actionpack = g.actionpack_4_1_6;
actionview = g.actionview_4_1_6;
activemodel = g.activemodel_4_1_6;
activerecord = g.activerecord_4_1_6;
activesupport = g.activesupport_4_1_6;
addressable = g.addressable_2_3_6;
arel = g.arel_5_0_1_20140414130214;
atoulme_Antwrap = g.atoulme_Antwrap_0_7_4;
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;
bitbucket_backup = g.bitbucket_backup_0_3_1;
builder = g.builder_3_2_2;
buildr = g.buildr_1_4_19;
bundler = g.bundler_1_7_1;
buildr = g.buildr_1_4_20;
bundler = g.bundler_1_7_2;
childprocess = g.childprocess_0_5_3;
chronic = g.chronic_0_10_2;
coderay = g.coderay_1_1_0;
@ -27,7 +28,7 @@ g: # Get dependencies from patched gems
daemons = g.daemons_1_1_9;
diff_lcs = g.diff_lcs_1_2_5;
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_deployment = g.dotenv_deployment_0_0_2;
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;
eventmachine = g.eventmachine_1_0_3;
eventmachine_tail = g.eventmachine_tail_0_6_4;
execjs = g.execjs_2_2_1;
fakes3 = g.fakes3_0_1_5_2;
faraday = g.faraday_0_9_0;
faraday_middleware = g.faraday_middleware_0_9_1;
ffi = g.ffi_1_9_3;
file_tail = g.file_tail_1_0_12;
foreman = g.foreman_0_74_0;
gettext = g.gettext_3_1_3;
foreman = g.foreman_0_75_0;
gettext = g.gettext_3_1_4;
gh = g.gh_0_13_2;
gherkin = g.gherkin_2_12_2;
highline = g.highline_1_6_21;
@ -63,7 +65,7 @@ g: # Get dependencies from patched gems
mime_types = g.mime_types_2_3;
mini_portile = g.mini_portile_0_6_0;
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_test = g.multi_test_0_1_1;
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_cli = g.papertrail_cli_0_9_3;
parallel = g.parallel_0_7_1;
polyglot = g.polyglot_0_3_5;
pry = g.pry_0_9_12_6;
pusher_client = g.pusher_client_0_6_0;
rack = g.rack_1_5_2;
rack_protection = g.rack_protection_1_5_3;
rack_test = g.rack_test_0_6_2;
rails = g.rails_4_1_5;
railties = g.railties_4_1_5;
rails = g.rails_4_1_6;
railties = g.railties_4_1_6;
rake = g.rake_10_3_2;
rb_fsevent = g.rb_fsevent_0_9_4;
rdiscount = g.rdiscount_2_1_7_1;
rdoc = g.rdoc_4_1_2;
remote_syslog = g.remote_syslog_1_6_14;
riemann_dash = g.riemann_dash_0_2_9;
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_mocks = g.rspec_mocks_2_14_6;
rubyzip = g.rubyzip_1_1_6;
sass = g.sass_3_4_1;
selenium_webdriver = g.selenium_webdriver_2_42_0;
sass = g.sass_3_4_3;
selenium_webdriver = g.selenium_webdriver_2_43_0;
servolux = g.servolux_0_10_0;
sinatra = g.sinatra_1_4_5;
slop = g.slop_3_6_0;
sprockets = g.sprockets_2_12_1;
sprockets_rails = g.sprockets_rails_2_1_3;
sprockets = g.sprockets_2_12_2;
sprockets_rails = g.sprockets_rails_2_1_4;
syslog_protocol = g.syslog_protocol_0_9_2;
systemu = g.systemu_2_6_4;
taskjuggler = g.taskjuggler_3_5_0;
@ -121,21 +123,22 @@ g: # Get dependencies from patched gems
tilt = g.tilt_1_4_1;
tins = g.tins_1_3_2;
travis = g.travis_1_7_1;
treetop = g.treetop_1_4_15;
trollop = g.trollop_2_0;
typhoeus = g.typhoeus_0_6_9;
tzinfo = g.tzinfo_1_2_2;
uglifier = g.uglifier_2_5_3;
unf = g.unf_0_1_4;
unf_ext = g.unf_ext_0_0_6;
uuid = g.uuid_2_3_7;
webrick = g.webrick_1_3_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_ruby = g.xapian_ruby_1_2_17;
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 = {
ZenTest_4_10_1 = {
basename = ''ZenTest'';
@ -168,71 +171,71 @@ installed versions.'';
requiredGems = [ ];
sha256 = ''1jyk0lag27s71idna2h72ljskimj0snsiw7diyjx5rqxnz6fj7z1'';
};
actionmailer_4_1_5 = {
actionmailer_4_1_6 = {
basename = ''actionmailer'';
meta = {
description = ''Email composition, delivery, and receiving framework (part of Rails).'';
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.'';
};
name = ''actionmailer-4.1.5'';
requiredGems = [ g.actionpack_4_1_5 g.actionview_4_1_5 g.mail_2_5_4 ];
sha256 = ''19frz9njy6jbxh7yasx62l4ifns3dxfkfqvnxlqb4pwsz7lqcp9c'';
name = ''actionmailer-4.1.6'';
requiredGems = [ g.actionpack_4_1_6 g.actionview_4_1_6 g.mail_2_6_1 ];
sha256 = ''1lsw9h0wm7pwdzm9jdq3y5b8b1cf56fd4dcgx4s91qf0lc0dw0wv'';
};
actionpack_4_1_5 = {
actionpack_4_1_6 = {
basename = ''actionpack'';
meta = {
description = ''Web-flow and rendering framework putting the VC in MVC (part of Rails).'';
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.'';
};
name = ''actionpack-4.1.5'';
requiredGems = [ g.activesupport_4_1_5 g.rack_1_5_2 g.rack_test_0_6_2 g.actionview_4_1_5 ];
sha256 = ''05wh3c5rw3c0rsza3bnpmr6s63n481d4gkbhsp3ngwn9lpp3jdb6'';
name = ''actionpack-4.1.6'';
requiredGems = [ g.activesupport_4_1_6 g.rack_1_5_2 g.rack_test_0_6_2 g.actionview_4_1_6 ];
sha256 = ''07a95iahv04gikk4qbgpi9is709ynkpcd4g00kqm629jaffrsyj2'';
};
actionview_4_1_5 = {
actionview_4_1_6 = {
basename = ''actionview'';
meta = {
description = ''Rendering framework putting the V in MVC (part of Rails).'';
homepage = ''http://www.rubyonrails.org'';
longDescription = ''Simple, battle-tested conventions and helpers for building web pages.'';
};
name = ''actionview-4.1.5'';
requiredGems = [ g.activesupport_4_1_5 g.builder_3_2_2 g.erubis_2_7_0 ];
sha256 = ''02zb4xi2farzh892j9awxshyly7ijlvbj39g6cwq5mhs5cx59qk8'';
name = ''actionview-4.1.6'';
requiredGems = [ g.activesupport_4_1_6 g.builder_3_2_2 g.erubis_2_7_0 ];
sha256 = ''1r06r4zsaqsq1wyqy2g29nnycw50v37ab7zmnvzjhy24y53rv9w7'';
};
activemodel_4_1_5 = {
activemodel_4_1_6 = {
basename = ''activemodel'';
meta = {
description = ''A toolkit for building modeling frameworks (part of Rails).'';
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.'';
};
name = ''activemodel-4.1.5'';
requiredGems = [ g.activesupport_4_1_5 g.builder_3_2_2 ];
sha256 = ''1anbjwdfgdjfxiv5vzysrdd98mapvd2h8xjkayq3vq54n13ymjvl'';
name = ''activemodel-4.1.6'';
requiredGems = [ g.activesupport_4_1_6 g.builder_3_2_2 ];
sha256 = ''14mw7d0jax7sky4nc2a7rspcf2inb3m6mxhx653i00v0xjrxa3x6'';
};
activerecord_4_1_5 = {
activerecord_4_1_6 = {
basename = ''activerecord'';
meta = {
description = ''Object-relational mapper framework (part of Rails).'';
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.'';
};
name = ''activerecord-4.1.5'';
requiredGems = [ g.activesupport_4_1_5 g.activemodel_4_1_5 g.arel_5_0_1_20140414130214 ];
sha256 = ''1z8awkkl4bn4ghdp432n2qpagbb8569ffq63kmgkbwf8127kmzrc'';
name = ''activerecord-4.1.6'';
requiredGems = [ g.activesupport_4_1_6 g.activemodel_4_1_6 g.arel_5_0_1_20140414130214 ];
sha256 = ''15s72gawgvd7msa2i7hmjw81znif8zh1v57pmans8vmphfg2n9l7'';
};
activesupport_4_1_5 = {
activesupport_4_1_6 = {
basename = ''activesupport'';
meta = {
description = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework.'';
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.'';
};
name = ''activesupport-4.1.5'';
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 ];
sha256 = ''0vmf58q96469dci509hhbqxwr7gaxq4yjsb37xd56ggpqn3qm30k'';
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_1 g.thread_safe_0_3_4 ];
sha256 = ''0crwl6rlxpv5fvvnvcbrjc7iygj8nklj83v1734h5lrhjzirxc22'';
};
addressable_2_3_6 = {
basename = ''addressable'';
@ -300,16 +303,31 @@ rails support and extra plugins for migrations and fixtures.'';
requiredGems = [ g.ZenTest_4_10_1 ];
sha256 = ''1v1dm9zlhdlrxvk90zs8d439ldar674ix41s7pncddgyswcfgg5l'';
};
aws_sdk_1_51_0 = {
aws_sdk_1_53_0 = {
basename = ''aws_sdk'';
meta = {
description = ''AWS SDK for Ruby'';
description = ''AWS SDK for Ruby V1'';
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 ];
sha256 = ''092a7km6ar7zvyyzgiqsb0dm354sqa6mzx7sa0c8ndwm918lbqai'';
sha256 = ''00yagrm2d5agwkfgkv4rqbxymwmgjmv5n8hah3xhrc90q1ywr7hw'';
};
backports_3_6_0 = {
basename = ''backports'';
@ -349,7 +367,7 @@ simple to do. Currently the following builder objects are supported:
requiredGems = [ ];
sha256 = ''14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2'';
};
buildr_1_4_19 = {
buildr_1_4_20 = {
basename = ''buildr'';
meta = {
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.
'';
};
name = ''buildr-1.4.19'';
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 ];
sha256 = ''07k6z149si7v1h5m1bvdhjcv0nnjwkd2c6a8n1779l8g47ckccj0'';
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_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 = ''0x4ffblw7jg0z49ywfm5abfxgg23di3d661czndwi904cvmghrkv'';
};
bundler_1_7_1 = {
bundler_1_7_2 = {
basename = ''bundler'';
meta = {
description = ''The best way to manage your application's dependencies'';
homepage = ''http://bundler.io'';
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 = [ ];
sha256 = ''144yqbmi89gl933rh8dv58bm7ia14s4a098qdi2z0q09ank9n5h2'';
sha256 = ''1xfacbivyi40ig9jzpsv2z42vwghf77n4r65ls0pcnbqn4ypqyhc'';
};
childprocess_0_5_3 = {
basename = ''childprocess'';
@ -486,7 +504,7 @@ We are happy to report that this issue has been resolved.'';
requiredGems = [ ];
sha256 = ''1pqb7yzjcpbgbyi196ifqbd1wy570cn12bkzcvpcha4xilhajja0'';
};
domain_name_0_5_20 = {
domain_name_0_5_21 = {
basename = ''domain_name'';
meta = {
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.
'';
};
name = ''domain_name-0.5.20'';
name = ''domain_name-0.5.21'';
requiredGems = [ g.unf_0_1_4 ];
sha256 = ''17ls88kp18dxjc93q8kmyx2anknva0vbmny60xbgpbwq3hg0qv6s'';
sha256 = ''1ryb2gmryzcrqm9gl19658m1kcjkjz5m0r24mzq4j0zfrs95nfnq'';
};
dotenv_0_11_1 = {
basename = ''dotenv'';
@ -597,6 +615,17 @@ using TCP/IP, especially if custom protocols are required.'';
requiredGems = [ g.eventmachine_1_0_3 ];
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 = {
basename = ''fakes3'';
meta = {
@ -650,18 +679,18 @@ using TCP/IP, especially if custom protocols are required.'';
requiredGems = [ g.tins_0_13_2 ];
sha256 = ''0mzxxnwj7k5pwxs0rdbmb3b41zgvzw7x40sf3qlkch4zdfx91i1j'';
};
foreman_0_74_0 = {
foreman_0_75_0 = {
basename = ''foreman'';
meta = {
description = ''Process manager for applications with multiple components'';
homepage = ''http://github.com/ddollar/foreman'';
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 ];
sha256 = ''0jqblq0myzmdp2cywzz7flvgqnhf267ykcdn250cccy68s9wm37m'';
sha256 = ''0iicqdjwwms86nchk80ia7x4wjcd3p5c8s53bc0z0h063i0ks9ha'';
};
gettext_3_1_3 = {
gettext_3_1_4 = {
basename = ''gettext'';
meta = {
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.
'';
};
name = ''gettext-3.1.3'';
name = ''gettext-3.1.4'';
requiredGems = [ g.locale_2_1_0 g.text_1_3_0 ];
sha256 = ''066x2dbryab02kdbk6km79h4j9b0f0ynsnzcygjgvzn9001ybf9q'';
sha256 = ''0gfnbkj2knpq8jxplkdr18by64kcadqxjhrxr3ncldz2ghm5zhvb'';
};
gh_0_13_2 = {
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.'';
};
name = ''http-cookie-1.0.2'';
requiredGems = [ g.domain_name_0_5_20 ];
requiredGems = [ g.domain_name_0_5_21 ];
sha256 = ''0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw'';
};
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 ];
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 = {
basename = ''mail'';
meta = {
@ -888,7 +906,7 @@ submitted. Mechanize also keeps track of the sites that you have visited as
a history.'';
};
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'';
};
method_source_0_8_2 = {
@ -902,64 +920,6 @@ a history.'';
requiredGems = [ ];
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 = {
basename = ''mime_types'';
meta = {
@ -1023,7 +983,7 @@ with some types added by the users of mime-types.'';
requiredGems = [ ];
sha256 = ''1vpdjfmdq1yc4i620frfp9af02ia435dnpj8ybsd7dc3rypkvbka'';
};
minitest_5_4_0 = {
minitest_5_4_1 = {
basename = ''minitest'';
meta = {
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
extract-method refactorings still apply.'';
};
name = ''minitest-5.4.0'';
name = ''minitest-5.4.1'';
requiredGems = [ ];
sha256 = ''002xflqz5wl8gcj9gw4q66mq5jkp445zgd9c5vs6cw6lsfsyg4rl'';
sha256 = ''04iqz25v8vngw4z5pzhwnsf72fb8gf2vzhidrfcbphwsqqik5s4r'';
};
multi_json_1_10_1 = {
basename = ''multi_json'';
@ -1292,20 +1252,6 @@ enough of it.'';
requiredGems = [ ];
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 = {
basename = ''pry'';
meta = {
@ -1325,7 +1271,7 @@ augments 'require' to find and load matching files.'';
longDescription = ''Client for consuming WebSockets from http://pusher.com'';
};
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'';
};
rack_1_5_2 = {
@ -1371,27 +1317,27 @@ request helpers feature.'';
requiredGems = [ g.rack_1_5_2 ];
sha256 = ''01mk715ab5qnqf6va8k3hjsvsmplrfqpz6g58qw4m3l8mim0p4ky'';
};
rails_4_1_5 = {
rails_4_1_6 = {
basename = ''rails'';
meta = {
description = ''Full-stack web application framework.'';
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.'';
};
name = ''rails-4.1.5'';
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 ];
sha256 = ''12s3jkvd6bn40apxc3973czgs7s6y36aclbwif6j770v7sjd9qj7'';
name = ''rails-4.1.6'';
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 = ''187g903gmni3prd5i768yfgszc4ak5kmrazavr93d0ybfdbcjlgk'';
};
railties_4_1_5 = {
railties_4_1_6 = {
basename = ''railties'';
meta = {
description = ''Tools for creating, working with, and running Rails applications.'';
homepage = ''http://www.rubyonrails.org'';
longDescription = ''Rails internals: application bootup, plugins, generators, and rake tasks.'';
};
name = ''railties-4.1.5'';
requiredGems = [ g.activesupport_4_1_5 g.actionpack_4_1_5 g.rake_10_3_2 g.thor_0_19_1 ];
sha256 = ''18jkjvny51vk53l2g9ibcnjk3gjj1vgh3pyrskmk69csqm2hmaha'';
name = ''railties-4.1.6'';
requiredGems = [ g.activesupport_4_1_6 g.actionpack_4_1_6 g.rake_10_3_2 g.thor_0_19_1 ];
sha256 = ''11valflllkrrz06bsflz78h5nmxhrhm7hdpm1lwmgm8hwd4ybl0c'';
};
rake_0_9_2_2 = {
basename = ''rake'';
@ -1457,6 +1403,19 @@ Rake has the following features:
requiredGems = [ ];
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 = {
basename = ''remote_syslog'';
meta = {
@ -1476,7 +1435,7 @@ Rake has the following features:
longDescription = ''HTTP dashboard for the distributed event system Riemann.'';
};
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'';
};
right_aws_3_1_0 = {
@ -1546,18 +1505,6 @@ algorithm for low-level network errors.
requiredGems = [ ];
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 = {
basename = ''rjb'';
meta = {
@ -1690,7 +1637,7 @@ RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.'';
requiredGems = [ ];
sha256 = ''17ha7kmgcnhnxyfp9wgyrd2synp17v9g8j1pknhfd2v9x5g475m9'';
};
sass_3_4_1 = {
sass_3_4_3 = {
basename = ''sass'';
meta = {
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.
'';
};
name = ''sass-3.4.1'';
name = ''sass-3.4.3'';
requiredGems = [ ];
sha256 = ''0f997m7g6gcd4yaxxrf1nylk2x8ynf7w2l631sby51zfn21rfli4'';
sha256 = ''0k9qv35wf28qjlv8a1nmvv8n71wxnqim1kwf95igvngys6kih7ds'';
};
selenium_webdriver_2_42_0 = {
selenium_webdriver_2_43_0 = {
basename = ''selenium_webdriver'';
meta = {
description = ''The next generation developer focused tool for automated testing of webapps'';
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.'';
};
name = ''selenium-webdriver-2.42.0'';
requiredGems = [ g.multi_json_1_10_1 g.rubyzip_1_1_6 g.childprocess_0_5_3 g.websocket_1_0_7 ];
sha256 = ''04yjwzc7cy2ax5xgp618z9jbm55cx4b5l546l7xnxj1hk30znw6q'';
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_2_1 ];
sha256 = ''06jjkb4hcyh8mwsqc8c5p6pz6ac1v313h4md0dab872ls5s47zh9'';
};
servolux_0_10_0 = {
basename = ''servolux'';
@ -1763,26 +1710,26 @@ interpreters.'';
requiredGems = [ ];
sha256 = ''00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n'';
};
sprockets_2_12_1 = {
sprockets_2_12_2 = {
basename = ''sprockets'';
meta = {
description = ''Rack-based asset packaging system'';
homepage = ''http://getsprockets.org/'';
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 ];
sha256 = ''0fi5f32i3bj739qb0zn050k5jjkfqzkn8fjz5dfjwhmh9hl5pb1y'';
sha256 = ''0sclb5nqs5hhr7qfp42rgpasy0f9k4c3jcr3hz89amf2bg5v7slx'';
};
sprockets_rails_2_1_3 = {
sprockets_rails_2_1_4 = {
basename = ''sprockets_rails'';
meta = {
description = ''Sprockets Rails integration'';
homepage = ''https://github.com/rails/sprockets-rails'';
};
name = ''sprockets-rails-2.1.3'';
requiredGems = [ g.sprockets_2_12_1 g.actionpack_4_1_5 g.activesupport_4_1_5 ];
sha256 = ''12kdy9vjn3ygrxhn9jxxx0rvsq601vayrkgbr3rqcpyhqhl4s4wy'';
name = ''sprockets-rails-2.1.4'';
requiredGems = [ g.sprockets_2_12_2 g.actionpack_4_1_6 g.activesupport_4_1_6 ];
sha256 = ''1difqidflj71qh8a84lcfdfg9vy4rw5hkgf2j0jis8bcczcq54l3'';
};
syslog_protocol_0_9_2 = {
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 ];
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 = {
basename = ''trollop'';
meta = {
@ -1982,6 +1919,17 @@ specify.'';
requiredGems = [ g.thread_safe_0_3_4 ];
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 = {
basename = ''unf'';
meta = {
@ -2041,27 +1989,16 @@ to Ruby/JRuby.
requiredGems = [ ];
sha256 = ''1jlnhhpa1mkrgsmihs2qx13z3n6xhswjnlk5a2ypyplw2id5x32n'';
};
websocket_1_0_7 = {
websocket_1_2_1 = {
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.0.7'';
name = ''websocket-1.2.1'';
requiredGems = [ ];
sha256 = ''1jrfz4295qbnjaxv37fw9jzxyxz61izp7c0683mnscacpx262zw0'';
};
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'';
sha256 = ''17mf28xp6h4gglbn1606jjrhdz9r6kyb2pr603ckadsrx31wh9p6'';
};
xapian_full_1_2_3 = {
basename = ''xapian_full'';
@ -2093,5 +2030,15 @@ to Ruby/JRuby.
requiredGems = [ ];
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'';
};
};
}

@ -29,13 +29,7 @@ rec {
longDescription = ''
Nix can create nix packages from gems.
To use it do the following:
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.
To use it by installing gem-nix package.
'';
};

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

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

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

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

@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig }:
stdenv.mkDerivation rec {
name = "flite-1.4";
name = "flite-1.9.0";
src = fetchurl {
url = "http://www.speech.cs.cmu.edu/flite/packed/${name}/${name}-release.tar.bz2";
sha256 = "036dagsydi0qh71ayi6jshfi3ik2md1az3gpi42md9pc18b65ij5";
url = "http://www.festvox.org/bard/${name}-current.tar.bz2";
sha256 = "197cc2a1f045b1666a29a9b5f035b3d676db6db94a4439d99a03b65e551ae2e0";
};
buildInputs = [ pkgconfig ];
@ -16,8 +16,9 @@ stdenv.mkDerivation rec {
meta = {
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";
platforms = stdenv.lib.platforms.linux;
};
}

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

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

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

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

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

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

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

@ -8,7 +8,7 @@ stdenv.mkDerivation (rec {
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.
crossAttrs.buildInputs = [ gettext ];

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

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

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

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

@ -1,4 +1,4 @@
{stdenv, fetchurl, pkgconfig, icu, clucene_core, curl}:
{ stdenv, fetchurl, pkgconfig, icu, clucene_core, curl }:
stdenv.mkDerivation rec {
@ -19,12 +19,12 @@ stdenv.mkDerivation rec {
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";
homepage = http://www.crosswire.org/sword/;
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.piotr stdenv.lib.maintainers.AndersonTorres ];
platforms = platforms.linux;
license = licenses.gpl2;
maintainers = [ maintainers.piotr maintainers.AndersonTorres ];
};
}

@ -1,5 +1,10 @@
{ 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 {
name = "libva-vdpau-driver-0.7.4";
@ -17,6 +22,7 @@ stdenv.mkDerivation rec {
buildInputs = [ libvdpau mesa libva pkgconfig ];
preConfigure = ''
patch -p0 < ${libvdpau08patch} # use -p0 instead of -p1
sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure
'';

@ -1,13 +1,12 @@
{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb, openssl }:
{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb1, openssl }:
stdenv.mkDerivation {
name = "xpwn-0.5.8git";
src = fetchgit {
url = "git://github.com/dborca/xpwn.git";
rev = "4534da88d4e8a32cdc9da9b5326e2cc482c95ef0";
sha256 =
"1h1ak40fg5bym0hifpii9q2hqdp2m387cwfzb4bl6qq36xpkd6wv";
url = "git://github.com/dborca/xpwn.git";
rev = "4534da88d4e8a32cdc9da9b5326e2cc482c95ef0";
sha256 = "1h1ak40fg5bym0hifpii9q2hqdp2m387cwfzb4bl6qq36xpkd6wv";
};
preConfigure = ''
@ -19,11 +18,16 @@ stdenv.mkDerivation {
sed -i -e '/install/d' CMakeLists.txt
'';
buildInputs = [ cmake zlib libpng bzip2 libusb openssl ];
buildInputs = [ cmake zlib libpng bzip2 libusb1 openssl ];
meta = {
homepage = "http://planetbeing.lighthouseapp.com/projects/15246-xpwn";
cmakeFlags = [
"-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";
license = stdenv.lib.licenses.gpl3Plus;
license = licenses.gpl3Plus;
platforms = with platforms; linux ++ darwin;
};
}

@ -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";
src = fetchurl {

@ -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";
name = "pycairo-${version}";
src = if python.is_py3k or false

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

@ -1,10 +1,10 @@
{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages }:
{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, python, isPyPy }:
assert wxGTK.unicode;
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}";
builder = ./builder.sh;

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, openglSupport ? true }:
{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, openglSupport ? true, python, isPyPy }:
assert wxGTK.unicode;
@ -6,7 +6,7 @@ with stdenv.lib;
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}";
builder = ./builder3.0.sh;

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

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

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

@ -13,7 +13,7 @@ stdenv.mkDerivation {
prefixKey = "--prefix ";
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/";
license = stdenv.lib.licenses.mit;
};

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

@ -1,6 +1,6 @@
{ 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;
@ -12,88 +12,135 @@ let
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: {
inherit name;
value = dep;
}) (filter (nm: !(elem nm (args.passthru.names or []))) dep.names)) (peerDependencies));
in
stdenv.mkDerivation ({
unpackPhase = "true";
inherit src;
configurePhase = ''
runHook preConfigure
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 = ''
runHook preBuild
npm --registry http://www.example.com --nodedir=${sources} install $src ${npmFlags}
runHook postBuild
'';
self = let
# Pass resolved dependencies to dependencies of this package
deps = map (
dep: dep.override {
resolvedDeps = resolvedDeps // { "${name}" = self; };
}
) (attrValues requiredDeps);
in stdenv.mkDerivation ({
unpackPhase = "true";
inherit src;
configurePhase = ''
runHook preConfigure
mkdir node_modules
# Symlink dependencies for node modules
${concatStrings (concatMap (dep: map (name: ''
ln -sv ${dep}/lib/node_modules/${name} node_modules/
'') dep.names) deps)}
# Symlink peer dependencies
${concatStrings (mapAttrsToList (name: dep: ''
ln -sv ${dep}/lib/node_modules/${name} node_modules/
'') 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))}
installPhase = ''
runHook preInstall
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")
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
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
'') 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
runHook postInstall
'';
runHook postInstall
'';
preFixup = concatStringsSep "\n" (map (src: ''
find $out -type f -print0 | xargs -0 sed -i 's|${src}|${src.name}|g'
'') src);
shellHook = ''
${preShellHook}
export PATH=${nodejs}/bin:$(pwd)/node_modules/.bin:$PATH
mkdir -p node_modules
${concatStrings (concatMap (dep: map (name: ''
ln -sfv ${dep}/lib/node_modules/${name} node_modules/
'') dep.names) deps)}
${postShellHook}
'';
} // args // {
# Run the node setup hook when this package is a build input
propagatedNativeBuildInputs = (args.propagatedNativeBuildInputs or []) ++ [ nodejs ];
preFixup = concatStringsSep "\n" (map (src: ''
find $out -type f -print0 | xargs -0 sed -i 's|${src}|${src.name}|g'
'') src);
shellHook = ''
${preShellHook}
export PATH=${nodejs}/bin:$(pwd)/node_modules/.bin:$PATH
mkdir -p node_modules
${concatStrings (concatMap (dep: map (name: ''
ln -sfv ${dep}/lib/node_modules/${name} node_modules/
'') dep.names) deps)}
${postShellHook}
'';
} // (filterAttrs (n: v: n != "deps" && n != "resolvedDeps") args) // {
name = "${
if bin == true then "bin-" else if bin == false then "node-" else ""
}${name}";
# Run the node setup hook when this package is a build input
propagatedNativeBuildInputs = (args.propagatedNativeBuildInputs or []) ++ [ nodejs ];
# Make buildNodePackage useful with --run-env
nativeBuildInputs = (args.nativeBuildInputs or []) ++ deps ++ peerDependencies ++ neededNatives;
});
# Make buildNodePackage useful with --run-env
nativeBuildInputs = (args.nativeBuildInputs or []) ++ deps ++ peerDependencies ++ neededNatives;
} )
in self

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

Loading…
Cancel
Save