Merge recent master into staging

Hydra nixpkgs: ?compare=1156478
This commit is contained in:
Vladimír Čunát 2014-10-23 17:40:41 +02:00
commit 2cf17b0802
271 changed files with 5900 additions and 2711 deletions

View file

@ -1 +1 @@
14.10
14.11

View file

@ -62,6 +62,8 @@ rec {
makeOverridable f (origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs));
deepOverride = newArgs:
makeOverridable f (lib.overrideExisting (lib.mapAttrs (deepOverrider newArgs) origArgs) newArgs);
overrideDerivation = fdrv:
makeOverridable (args: overrideDerivation (f args) fdrv) origArgs;
})
else ff;

View file

@ -285,6 +285,12 @@ rec {
unfreeRedistributableFirmware = "unfree-redistributable-firmware";
unlicense = {
shortName = "Unlicense";
fullName = "Unlicense";
url = http://unlicense.org/;
};
wadalab = {
shortName = "wadalab";
fullName = "Wadalab Font License";

View file

@ -57,6 +57,7 @@
ertes = "Ertugrul Söylemez <ertesx@gmx.de>";
falsifian = "James Cook <james.cook@utoronto.ca>";
flosse = "Markus Kohlhase <mail@markus-kohlhase.de>";
fpletz = "Franz Pletz <fpletz@fnordicwalking.de>";
ftrvxmtrx = "Siarhei Zirukin <ftrvxmtrx@gmail.com>";
funfunctor = "Edward O'Callaghan <eocallaghan@alterapraxis.com>";
fuuzetsu = "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>";

View file

@ -10,7 +10,7 @@
<para>This section lists the release notes for each stable version of NixOS.</para>
</partintro>
<xi:include href="rl-1410.xml" />
<xi:include href="rl-1411.xml" />
<xi:include href="rl-1404.xml" />
<xi:include href="rl-1310.xml" />

View file

@ -2,9 +2,9 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-release-14.10">
xml:id="sec-release-14.11">
<title>Release 14.10 (“Caterpillar”, 2014/10/??)</title>
<title>Release 14.11 (“Caterpillar”, 2014/11/??)</title>
<para>When upgrading from a previous release, please be aware of the
following incompatible changes:
@ -19,4 +19,4 @@ following incompatible changes:
</para>
</chapter>
</chapter>

View file

@ -1,7 +1,7 @@
# This module generates nixos-install, nixos-rebuild,
# nixos-generate-config, etc.
{ config, pkgs, modulesPath, lib, ... }:
{ config, pkgs, modulesPath, ... }:
let

View file

@ -156,8 +156,7 @@
mailpile = 146;
redmine = 147;
seeks = 148;
prosody = 148;
prosody = 149;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -281,8 +280,7 @@
mailpile = 146;
redmine = 147;
seeks = 148;
prosody = 148;
prosody = 149;
# When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399!

View file

@ -364,6 +364,7 @@
./tasks/filesystems/cifs.nix
./tasks/filesystems/ext.nix
./tasks/filesystems/f2fs.nix
./tasks/filesystems/jfs.nix
./tasks/filesystems/nfs.nix
./tasks/filesystems/reiserfs.nix
./tasks/filesystems/unionfs-fuse.nix

View file

@ -30,7 +30,7 @@ in
type = types.bool;
default = false;
description = ''
Enable the stable grsecurity patch, based on Linux 3.2.
Enable the stable grsecurity patch, based on Linux 3.14.
'';
};
@ -38,7 +38,7 @@ in
type = types.bool;
default = false;
description = ''
Enable the testing grsecurity patch, based on Linux 3.13.
Enable the testing grsecurity patch, based on Linux 3.17.
'';
};

View file

@ -19,7 +19,7 @@ let
org.neo4j.server.webadmin.rrdb.location=${cfg.dataDir}/data/rrd
org.neo4j.server.webadmin.data.uri=/db/data/
org.neo4j.server.webadmin.management.uri=/db/manage/
org.neo4j.server.db.tuning.properties=${pkgs.neo4j}/share/neo4j/conf/neo4j.properties
org.neo4j.server.db.tuning.properties=${cfg.package}/share/neo4j/conf/neo4j.properties
org.neo4j.server.manage.console_engines=shell
${cfg.extraServerConfig}
'';
@ -46,6 +46,12 @@ in {
type = types.uniq types.bool;
};
package = mkOption {
description = "Neo4j package to use.";
default = pkgs.neo4j;
type = types.package;
};
host = mkOption {
description = "Neo4j listen address.";
default = "127.0.0.1";
@ -119,7 +125,7 @@ in {
after = [ "network-interfaces.target" ];
environment = { NEO4J_INSTANCE = cfg.dataDir; };
serviceConfig = {
ExecStart = "${pkgs.neo4j}/bin/neo4j console";
ExecStart = "${cfg.package}/bin/neo4j console";
User = "neo4j";
PermissionsStartOnly = true;
};

View file

@ -169,7 +169,6 @@ in
hardware.firmware = mkOption {
type = types.listOf types.path;
default = [];
example = [ "/root/my-firmware" ];
description = ''
List of directories containing firmware files. Such files
will be loaded automatically if the kernel asks for them
@ -178,10 +177,10 @@ in
firmware file with the same name, the first path in the list
takes precedence. Note that you must rebuild your system if
you add files to any of these directories. For quick testing,
put firmware files in /root/test-firmware and add that
directory to the list.
Note that you can also add firmware packages to this
list as these are directories in the nix store.
put firmware files in <filename>/root/test-firmware</filename>
and add that directory to the list. Note that you can also
add firmware packages to this list as these are directories in
the nix store.
'';
apply = list: pkgs.buildEnv {
name = "firmware";
@ -245,6 +244,11 @@ in
echo "regenerating udev hardware database..."
${config.systemd.package}/bin/udevadm hwdb --update && ln -sfn ${config.systemd.package} /var/lib/udev/prev-systemd
fi
# Allow the kernel to find our firmware.
if [ -e /sys/module/firmware_class/parameters/path ]; then
echo -n "${config.hardware.firmware}" > /sys/module/firmware_class/parameters/path
fi
'';
systemd.services.systemd-udevd =

View file

@ -24,6 +24,8 @@ let
GRAPHITE_URL = cfg.seyren.graphiteUrl;
} // cfg.seyren.extraConfig;
pagerConfig = pkgs.writeText "alarms.yaml" cfg.pager.alerts;
configDir = pkgs.buildEnv {
name = "graphite-config";
paths = lists.filter (el: el != null) [
@ -83,13 +85,21 @@ in {
api = {
enable = mkOption {
description = "Whether to enable graphite api.";
description = ''
Whether to enable graphite api. Graphite api is lightweight alternative
to graphite web, with api and without dashboard. It's advised to use
grafana as alternative dashboard and influxdb as alternative to
graphite carbon.
For more information visit
<link xlink:href="http://graphite-api.readthedocs.org/en/latest/"/>
'';
default = false;
type = types.uniq types.bool;
};
finders = mkOption {
description = "List of finder plugins load.";
description = "List of finder plugins to load.";
default = [];
example = [ pkgs.python27Packages.graphite_influxdb ];
type = types.listOf types.package;
@ -301,170 +311,238 @@ in {
'';
};
};
pager = {
enable = mkOption {
description = ''
Whether to enable graphite-pager service. For more information visit
<link xlink:href="https://github.com/seatgeek/graphite-pager"/>
'';
default = false;
type = types.uniq types.bool;
};
redisUrl = mkOption {
description = "Redis connection string.";
default = "redis://localhost:${toString config.services.redis.port}/";
type = types.str;
};
graphiteUrl = mkOption {
description = "URL to your graphite service.";
default = "http://${cfg.web.host}:${toString cfg.web.port}";
type = types.str;
};
alerts = mkOption {
description = "Alerts configuration for graphite-pager.";
default = ''
alerts:
- target: constantLine(100)
warning: 90
critical: 200
name: Test
'';
example = literalExample ''
pushbullet_key: pushbullet_api_key
alerts:
- target: stats.seatgeek.app.deal_quality.venue_info_cache.hit
warning: .5
critical: 1
name: Deal quality venue cache hits
'';
type = types.lines;
};
};
};
###### implementation
config = mkIf (
cfg.carbon.enableAggregator ||
cfg.carbon.enableCache ||
cfg.carbon.enableRelay ||
cfg.web.enable ||
cfg.api.enable ||
cfg.seyren.enable
) {
systemd.services.carbonCache = {
enable = cfg.carbon.enableCache;
description = "Graphite Data Storage Backend";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
environment = carbonEnv;
serviceConfig = {
ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-cache"}";
User = "graphite";
Group = "graphite";
PermissionsStartOnly = true;
};
preStart = ''
mkdir -p ${cfg.dataDir}/whisper
chmod 0700 ${cfg.dataDir}/whisper
chown -R graphite:graphite ${cfg.dataDir}
'';
};
systemd.services.carbonAggregator = {
enable = cfg.carbon.enableAggregator;
description = "Carbon Data Aggregator";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
environment = carbonEnv;
serviceConfig = {
ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-aggregator"}";
User = "graphite";
Group = "graphite";
};
};
systemd.services.carbonRelay = {
enable = cfg.carbon.enableRelay;
description = "Carbon Data Relay";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
environment = carbonEnv;
serviceConfig = {
ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-relay"}";
User = "graphite";
Group = "graphite";
};
};
systemd.services.graphiteWeb = {
enable = cfg.web.enable;
description = "Graphite Web Interface";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
path = [ pkgs.perl ];
environment = {
PYTHONPATH = "${pkgs.python27Packages.graphite_web}/lib/python2.7/site-packages";
DJANGO_SETTINGS_MODULE = "graphite.settings";
GRAPHITE_CONF_DIR = configDir;
GRAPHITE_STORAGE_DIR = dataDir;
};
serviceConfig = {
ExecStart = ''
${pkgs.python27Packages.waitress}/bin/waitress-serve \
--host=${cfg.web.host} --port=${toString cfg.web.port} \
--call django.core.handlers.wsgi:WSGIHandler'';
User = "graphite";
Group = "graphite";
PermissionsStartOnly = true;
};
preStart = ''
if ! test -e ${dataDir}/db-created; then
mkdir -p ${dataDir}/{whisper/,log/webapp/}
chmod 0700 ${dataDir}/{whisper/,log/webapp/}
# populate database
${pkgs.python27Packages.graphite_web}/bin/manage-graphite.py syncdb --noinput
# create index
${pkgs.python27Packages.graphite_web}/bin/build-index.sh
touch ${dataDir}/db-created
config = mkMerge [
(mkIf cfg.carbon.enableCache {
systemd.services.carbonCache = {
description = "Graphite Data Storage Backend";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
environment = carbonEnv;
serviceConfig = {
ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-cache"}";
User = "graphite";
Group = "graphite";
PermissionsStartOnly = true;
};
preStart = ''
mkdir -p ${cfg.dataDir}/whisper
chmod 0700 ${cfg.dataDir}/whisper
chown -R graphite:graphite ${cfg.dataDir}
fi
'';
};
systemd.services.graphiteApi = {
enable = cfg.api.enable;
description = "Graphite Api Interface";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
environment = {
PYTHONPATH =
"${cfg.api.package}/lib/python2.7/site-packages:" +
concatMapStringsSep ":" (f: f + "/lib/python2.7/site-packages") cfg.api.finders;
GRAPHITE_API_CONFIG = graphiteApiConfig;
LD_LIBRARY_PATH = "${pkgs.cairo}/lib";
};
serviceConfig = {
ExecStart = ''
${pkgs.python27Packages.waitress}/bin/waitress-serve \
--host=${cfg.api.host} --port=${toString cfg.api.port} \
graphite_api.app:app
'';
User = "graphite";
Group = "graphite";
PermissionsStartOnly = true;
};
preStart = ''
if ! test -e ${dataDir}/db-created; then
mkdir -p ${dataDir}/cache/
chmod 0700 ${dataDir}/cache/
})
touch ${dataDir}/db-created
chown -R graphite:graphite ${cfg.dataDir}
fi
'';
};
systemd.services.seyren = {
enable = cfg.seyren.enable;
description = "Graphite Alerting Dashboard";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" "mongodb.service" ];
environment = seyrenConfig;
serviceConfig = {
ExecStart = "${pkgs.seyren}/bin/seyren -httpPort ${toString cfg.seyren.port}";
WorkingDirectory = dataDir;
User = "graphite";
Group = "graphite";
(mkIf cfg.carbon.enableAggregator {
systemd.services.carbonAggregator = {
enable = cfg.carbon.enableAggregator;
description = "Carbon Data Aggregator";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
environment = carbonEnv;
serviceConfig = {
ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-aggregator"}";
User = "graphite";
Group = "graphite";
};
};
preStart = ''
if ! test -e ${dataDir}/db-created; then
mkdir -p ${dataDir}
chown -R graphite:graphite ${dataDir}
fi
'';
};
})
services.mongodb.enable = mkDefault cfg.seyren.enable;
(mkIf cfg.carbon.enableRelay {
systemd.services.carbonRelay = {
description = "Carbon Data Relay";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
environment = carbonEnv;
serviceConfig = {
ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-relay"}";
User = "graphite";
Group = "graphite";
};
};
})
environment.systemPackages = [
pkgs.pythonPackages.carbon
pkgs.python27Packages.graphite_web
pkgs.python27Packages.waitress
];
(mkIf (cfg.carbon.enableCache || cfg.carbon.enableAggregator || cfg.carbon.enableRelay) {
environment.systemPackages = [
pkgs.pythonPackages.carbon
];
})
users.extraUsers = singleton {
name = "graphite";
uid = config.ids.uids.graphite;
description = "Graphite daemon user";
home = dataDir;
};
users.extraGroups.graphite.gid = config.ids.gids.graphite;
};
(mkIf cfg.web.enable {
systemd.services.graphiteWeb = {
description = "Graphite Web Interface";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
path = [ pkgs.perl ];
environment = {
PYTHONPATH = "${pkgs.python27Packages.graphite_web}/lib/python2.7/site-packages";
DJANGO_SETTINGS_MODULE = "graphite.settings";
GRAPHITE_CONF_DIR = configDir;
GRAPHITE_STORAGE_DIR = dataDir;
};
serviceConfig = {
ExecStart = ''
${pkgs.python27Packages.waitress}/bin/waitress-serve \
--host=${cfg.web.host} --port=${toString cfg.web.port} \
--call django.core.handlers.wsgi:WSGIHandler'';
User = "graphite";
Group = "graphite";
PermissionsStartOnly = true;
};
preStart = ''
if ! test -e ${dataDir}/db-created; then
mkdir -p ${dataDir}/{whisper/,log/webapp/}
chmod 0700 ${dataDir}/{whisper/,log/webapp/}
# populate database
${pkgs.python27Packages.graphite_web}/bin/manage-graphite.py syncdb --noinput
# create index
${pkgs.python27Packages.graphite_web}/bin/build-index.sh
touch ${dataDir}/db-created
chown -R graphite:graphite ${cfg.dataDir}
fi
'';
};
environment.systemPackages = [ pkgs.python27Packages.graphite_web ];
})
(mkIf cfg.api.enable {
systemd.services.graphiteApi = {
description = "Graphite Api Interface";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
environment = {
PYTHONPATH =
"${cfg.api.package}/lib/python2.7/site-packages:" +
concatMapStringsSep ":" (f: f + "/lib/python2.7/site-packages") cfg.api.finders;
GRAPHITE_API_CONFIG = graphiteApiConfig;
LD_LIBRARY_PATH = "${pkgs.cairo}/lib";
};
serviceConfig = {
ExecStart = ''
${pkgs.python27Packages.waitress}/bin/waitress-serve \
--host=${cfg.api.host} --port=${toString cfg.api.port} \
graphite_api.app:app
'';
User = "graphite";
Group = "graphite";
PermissionsStartOnly = true;
};
preStart = ''
if ! test -e ${dataDir}/db-created; then
mkdir -p ${dataDir}/cache/
chmod 0700 ${dataDir}/cache/
touch ${dataDir}/db-created
chown -R graphite:graphite ${cfg.dataDir}
fi
'';
};
})
(mkIf cfg.seyren.enable {
systemd.services.seyren = {
description = "Graphite Alerting Dashboard";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" "mongodb.service" ];
environment = seyrenConfig;
serviceConfig = {
ExecStart = "${pkgs.seyren}/bin/seyren -httpPort ${toString cfg.seyren.port}";
WorkingDirectory = dataDir;
User = "graphite";
Group = "graphite";
};
preStart = ''
if ! test -e ${dataDir}/db-created; then
mkdir -p ${dataDir}
chown -R graphite:graphite ${dataDir}
fi
'';
};
services.mongodb.enable = mkDefault true;
})
(mkIf cfg.pager.enable {
systemd.services.graphitePager = {
description = "Graphite Pager Alerting Daemon";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" "redis.service" ];
environment = {
REDIS_URL = cfg.pager.redisUrl;
GRAPHITE_URL = cfg.pager.graphiteUrl;
};
serviceConfig = {
ExecStart = "${pkgs.pythonPackages.graphite_pager}/bin/graphite-pager --config ${pagerConfig}";
User = "graphite";
Group = "graphite";
};
};
services.redis.enable = mkDefault true;
environment.systemPackages = [ pkgs.pythonPackages.graphite_pager ];
})
{
users.extraUsers = singleton {
name = "graphite";
uid = config.ids.uids.graphite;
description = "Graphite daemon user";
home = dataDir;
};
users.extraGroups.graphite.gid = config.ids.gids.graphite;
}
];
}

View file

@ -0,0 +1,11 @@
pubs=($pubs)
hosts=($hosts)
lines="''\n"
for ((i = 0; i < ${#pubs[*]}; i++)); do
addr=$($cjdns/bin/publictoip6 ${pubs[i]})
lines="${lines}$addr ${hosts[i]}\n"
done
lines="${lines}''"
echo -ne $lines > $out

View file

@ -4,8 +4,46 @@ with lib;
let
pkg = pkgs.cjdns;
cfg = config.services.cjdns;
connectToSubmodule =
{ options, ... }:
{ options =
{ password = mkOption {
type = types.str;
description = "Authorized password to the opposite end of the tunnel.";
};
publicKey = mkOption {
type = types.str;
description = "Public key at the opposite end of the tunnel.";
};
hostname = mkOption {
default = "";
example = "foobar.hype";
type = types.str;
description = "Optional hostname to add to /etc/hosts; prevents reverse lookup failures.";
};
};
};
peers = mapAttrsToList (n: v: v) (cfg.ETHInterface.connectTo // cfg.UDPInterface.connectTo);
pubs = toString (map (p: if p.hostname == "" then "" else p.publicKey) peers);
hosts = toString (map (p: if p.hostname == "" then "" else p.hostname) peers);
cjdnsHosts =
if hosts != "" then
import (pkgs.stdenv.mkDerivation {
name = "cjdns-hosts";
builder = ./cjdns-hosts.sh;
inherit (pkgs) cjdns;
inherit pubs hosts;
})
else "";
# would be nice to merge 'cfg' with a //,
# but the json nesting is wacky.
cjdrouteConf = builtins.toJSON ( {
@ -44,7 +82,7 @@ in
enable = mkOption {
type = types.bool;
default = false;
default = false;
description = ''
Whether to enable the cjdns network encryption
and routing engine. A file at /etc/cjdns.keys will
@ -53,84 +91,80 @@ in
'';
};
confFile = mkOption {
type = types.str;
default = "";
example = "/etc/cjdroute.conf";
description = ''
Ignore all other cjdns options and load configuration from this file.
'';
};
authorizedPasswords = mkOption {
type = types.listOf types.str;
default = [ ];
example = [
default = [ ];
example = [
"snyrfgkqsc98qh1y4s5hbu0j57xw5s0"
"z9md3t4p45mfrjzdjurxn4wuj0d8swv"
"49275fut6tmzu354pq70sr5b95qq0vj"
"z9md3t4p45mfrjzdjurxn4wuj0d8swv"
"49275fut6tmzu354pq70sr5b95qq0vj"
];
description = ''
Any remote cjdns nodes that offer these passwords on
connection will be allowed to route through this node.
description = ''
Any remote cjdns nodes that offer these passwords on
connection will be allowed to route through this node.
'';
};
admin = {
bind = mkOption {
type = types.string;
default = "127.0.0.1:11234";
description = ''
default = "127.0.0.1:11234";
description = ''
Bind the administration port to this address and port.
'';
'';
};
};
UDPInterface = {
bind = mkOption {
type = types.string;
default = "";
default = "";
example = "192.168.1.32:43211";
description = ''
Address and port to bind UDP tunnels to.
'';
};
Address and port to bind UDP tunnels to.
'';
};
connectTo = mkOption {
type = types.attrsOf ( types.submodule (
{ options, ... }:
{ options = {
# TODO make host an option, and add it to networking.extraHosts
password = mkOption {
type = types.str;
description = "Authorized password to the opposite end of the tunnel.";
};
publicKey = mkOption {
type = types.str;
description = "Public key at the opposite end of the tunnel.";
};
};
}
));
default = { };
type = types.attrsOf ( types.submodule ( connectToSubmodule ) );
default = { };
example = {
"192.168.1.1:27313" = {
password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM";
hostname = "homer.hype";
password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM";
publicKey = "371zpkgs8ss387tmr81q04mp0hg1skb51hw34vk1cq644mjqhup0.k";
};
};
description = ''
Credentials for making UDP tunnels.
'';
};
Credentials for making UDP tunnels.
'';
};
};
ETHInterface = {
bind = mkOption {
default = "";
example = "eth0";
description = ''
Bind to this device for native ethernet operation.
'';
};
default = "";
example = "eth0";
description = ''
Bind to this device for native ethernet operation.
'';
};
beacon = mkOption {
type = types.int;
type = types.int;
default = 2;
description = ''
Auto-connect to other cjdns nodes on the same network.
Options:
0: Disabled.
0: Disabled.
1: Accept beacons, this will cause cjdns to accept incoming
beacon messages and try connecting to the sender.
2: Accept and send beacons, this will cause cjdns to broadcast
@ -142,32 +176,20 @@ in
};
connectTo = mkOption {
type = types.attrsOf ( types.submodule (
{ options, ... }:
{ options = {
password = mkOption {
type = types.str;
description = "Authorized password to the opposite end of the tunnel.";
};
publicKey = mkOption {
type = types.str;
description = "Public key at the opposite end of the tunnel.";
};
};
}
));
default = { };
type = types.attrsOf ( types.submodule ( connectToSubmodule ) );
default = { };
example = {
"01:02:03:04:05:06" = {
password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM";
hostname = "homer.hype";
password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM";
publicKey = "371zpkgs8ss387tmr81q04mp0hg1skb51hw34vk1cq644mjqhup0.k";
};
};
description = ''
Credentials for connecting look similar to UDP credientials
description = ''
Credentials for connecting look similar to UDP credientials
except they begin with the mac address.
'';
};
'';
};
};
};
@ -185,34 +207,48 @@ in
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
script = ''
source /etc/cjdns.keys
echo '${cjdrouteConf}' | sed \
-e "s/@CJDNS_ADMIN_PASSWORD@/$CJDNS_ADMIN_PASSWORD/g" \
-e "s/@CJDNS_PRIVATE_KEY@/$CJDNS_PRIVATE_KEY/g" \
| ${pkgs.cjdns}/bin/cjdroute
'';
script = (
if cfg.confFile != "" then "${pkg}/bin/cjdroute < ${cfg.confFile}" else
''
source /etc/cjdns.keys
echo '${cjdrouteConf}' | sed \
-e "s/@CJDNS_ADMIN_PASSWORD@/$CJDNS_ADMIN_PASSWORD/g" \
-e "s/@CJDNS_PRIVATE_KEY@/$CJDNS_PRIVATE_KEY/g" \
| ${pkg}/bin/cjdroute
''
);
serviceConfig = {
Type = "forking";
Restart = "on-failure";
Restart = "on-failure";
};
};
system.activationScripts.cjdns = ''
system.activationScripts.cjdns = if (cfg.confFile == "") then "" else ''
cjdnsWriteKeys() {
private=$1
ipv6=$2
public=$3
echo "CJDNS_PRIVATE_KEY=$1" >> /etc/cjdns.keys
echo -e "CJDNS_IPV6=$2\nCJDNS_PUBLIC_KEY=$3" > /etc/cjdns.public
chmod 600 /etc/cjdns.keys
chmod 444 /etc/cjdns.public
}
grep -q "CJDNS_PRIVATE_KEY=" /etc/cjdns.keys || \
echo "CJDNS_PRIVATE_KEY=$(${pkgs.cjdns}/bin/makekey)" \
>> /etc/cjdns.keys
cjdnsWriteKeys $(${pkg}/bin/makekeys)
grep -q "CJDNS_ADMIN_PASSWORD=" /etc/cjdns.keys || \
echo "CJDNS_ADMIN_PASSWORD=$(${pkgs.coreutils}/bin/head -c 96 /dev/urandom | ${pkgs.coreutils}/bin/tr -dc A-Za-z0-9)" \
>> /etc/cjdns.keys
chmod 600 /etc/cjdns.keys
echo "CJDNS_ADMIN_PASSWORD=$(${pkgs.coreutils}/bin/head -c 96 /dev/urandom | ${pkgs.coreutils}/bin/tr -dc A-Za-z0-9)" \
>> /etc/cjdns.keys
'';
networking.extraHosts = "${cjdnsHosts}";
assertions = [
{ assertion = ( cfg.ETHInterface.bind != "" || cfg.UDPInterface.bind != "" );
{ assertion = ( cfg.ETHInterface.bind != "" || cfg.UDPInterface.bind != "" || cfg.confFile == "" );
message = "Neither cjdns.ETHInterface.bind nor cjdns.UDPInterface.bind defined.";
}
{ assertion = config.networking.enableIPv6;

View file

@ -18,7 +18,7 @@ in
# determines the default: later modules (if enabled) are preferred.
# E.g., if KDE is enabled, it supersedes xterm.
imports = [
./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./kde4_next.nix
./none.nix ./xterm.nix ./xfce.nix ./kde4.nix
./e17.nix ./e18.nix ./e19.nix ./gnome3.nix ./xbmc.nix
];

View file

@ -146,8 +146,10 @@ in
pkgs.strigi # used by nepomuk
pkgs.mysql # used by akonadi
]
++ [ nepomukConfig ] ++ phononBackendPackages
++ config.environment.kdePackages;
++ lib.optional config.hardware.pulseaudio.enable pkgs.kde4.kmix # Perhaps this should always be enabled
++ lib.optional config.hardware.bluetooth.enable pkgs.kde4.bluedevil
++ lib.optional config.networking.networkmanager.enable pkgs.kde4.networkmanagement
++ [ nepomukConfig ] ++ phononBackendPackages;
environment.pathsToLink = [ "/share" ];

View file

@ -1,163 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
xcfg = config.services.xserver;
cfg = xcfg.desktopManager.kde4_next;
xorg = pkgs.xorg;
kde = pkgs.kde4_next;
# Disable Nepomuk and Strigi by default. As of KDE 4.7, they don't
# really work very well (e.g. searching files often fails to find
# files), segfault sometimes and consume significant resources.
# They can be re-enabled in the KDE System Settings under "Desktop
# Search".
nepomukConfig = pkgs.writeTextFile
{ name = "nepomuk-config";
destination = "/share/config/nepomukserverrc";
text =
''
[Basic Settings]
Start Nepomuk=false
[Service-nepomukstrigiservice]
autostart=false
'';
};
phononBackends = {
gstreamer = [
pkgs.phonon_backend_gstreamer
pkgs.gst_all.gstPluginsBase
pkgs.gst_all.gstPluginsGood
pkgs.gst_all.gstPluginsUgly
pkgs.gst_all.gstPluginsBad
pkgs.gst_all.gstFfmpeg # for mp3 playback
pkgs.gst_all.gstreamer # needed?
];
vlc = [pkgs.phonon_backend_vlc];
};
phononBackendPackages = flip concatMap cfg.phononBackends
(name: attrByPath [name] (throw "unknown phonon backend `${name}'") phononBackends);
in
{
options = {
services.xserver.desktopManager.kde4_next = {
enable = mkOption {
type = types.bool;
default = false;
description = "Enable the KDE 4 desktop environment.";
};
phononBackends = mkOption {
type = types.listOf types.str;
default = ["gstreamer"];
example = ["gstreamer" "vlc"];
description = "Which phonon multimedia backend kde should use";
};
};
};
config = mkIf (xcfg.enable && cfg.enable) {
# If KDE 4 is enabled, make it the default desktop manager (unless
# overridden by the user's configuration).
# !!! doesn't work yet ("Multiple definitions. Only one is allowed
# for this option.")
# services.xserver.desktopManager.default = mkOverride 900 "kde4";
services.xserver.desktopManager.session = singleton
{ name = "kde4_next";
bgSupport = true;
start =
''
# The KDE icon cache is supposed to update itself
# automatically, but it uses the timestamp on the icon
# theme directory as a trigger. Since in Nix the
# timestamp is always the same, this doesn't work. So as
# a workaround, nuke the icon cache on login. This isn't
# perfect, since it may require logging out after
# installing new applications to update the cache.
# See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html
rm -fv $HOME/.kde/cache-*/icon-cache.kcache
# Qt writes a weird libraryPath line to
# ~/.config/Trolltech.conf that causes the KDE plugin
# paths of previous KDE invocations to be searched.
# Obviously using mismatching KDE libraries is potentially
# disastrous, so here we nuke references to the Nix store
# in Trolltech.conf. A better solution would be to stop
# Qt from doing this wackiness in the first place.
if [ -e $HOME/.config/Trolltech.conf ]; then
sed -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf
fi
# Start KDE.
exec ${kde.kdebase_workspace}/bin/startkde
'';
};
security.setuidOwners = singleton
{ program = "kcheckpass";
source = "${kde.kdebase_workspace}/lib/kde4/libexec/kcheckpass";
owner = "root";
group = "root";
setuid = true;
};
environment.systemPackages =
[ kde.kdelibs
kde.kde_baseapps # Splitted kdebase
kde.kde_workspace
kde.kde_runtime
kde.konsole
kde.kate
kde.kde_wallpapers # contains kdm's default background
kde.oxygen_icons
pkgs.virtuoso # to enable Nepomuk to find Virtuoso
# Starts KDE's Polkit authentication agent.
kde.polkit_kde_agent
# Miscellaneous runtime dependencies.
kde.qt4 # needed for qdbus
pkgs.shared_mime_info
xorg.xmessage # so that startkde can show error messages
xorg.xset # used by startkde, non-essential
xorg.xauth # used by kdesu
pkgs.shared_desktop_ontologies # used by nepomuk
pkgs.strigi # used by nepomuk
pkgs.mysql # used by akonadi
]
++ lib.optional config.hardware.pulseaudio.enable kde.kmix # Perhaps this should always be enabled
++ lib.optional config.hardware.bluetooth.enable kde.bluedevil
++ lib.optional config.networking.networkmanager.enable kde.networkmanagement
++ [ nepomukConfig ] ++ phononBackendPackages;
environment.pathsToLink = [ "/share" ];
environment.etc = singleton
{ source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
target = "X11/xkb";
};
# Enable helpful DBus services.
services.udisks2.enable = true;
services.upower.enable = config.powerManagement.enable;
security.pam.services.kde = { allowNullPassword = true; };
};
}

View file

@ -10,15 +10,19 @@ let
systemd = cfg.package;
makeUnit = name: unit:
let
pathSafeName = lib.replaceChars ["@" "\\"] ["-" "-"] name;
in
if unit.enable then
pkgs.runCommand "unit" { preferLocalBuild = true; inherit (unit) text; }
pkgs.runCommand "unit-${pathSafeName}" { preferLocalBuild = true; inherit (unit) text; }
''
mkdir -p $out
echo -n "$text" > $out/${shellEscape name}
''
else
pkgs.runCommand "unit" { preferLocalBuild = true; }
pkgs.runCommand "unit-${pathSafeName}-disabled" { preferLocalBuild = true; }
''
mkdir -p $out
ln -s /dev/null $out/${shellEscape name}

View file

@ -0,0 +1,19 @@
{ config, lib, pkgs, ... }:
with lib;
let
inInitrd = any (fs: fs == "jfs") config.boot.initrd.supportedFilesystems;
in
{
config = mkIf (any (fs: fs == "jfs") config.boot.supportedFilesystems) {
system.fsPackages = [ pkgs.jfsutils ];
boot.initrd.kernelModules = mkIf inInitrd [ "jfs" ];
boot.initrd.extraUtilsCommands = mkIf inInitrd ''
cp -v ${pkgs.jfsutils}/sbin/fsck.jfs "$out/bin/"
'';
};
}

View file

@ -65,6 +65,7 @@ in rec {
mysql51
mysql55
nginx
openjdk
openssh
php
postgresql92

View file

@ -234,6 +234,7 @@ in rec {
# nix-build tests/login.nix -A result.
tests.avahi = callTest tests/avahi.nix {};
tests.bittorrent = callTest tests/bittorrent.nix {};
tests.blivet = callTest tests/blivet.nix {};
tests.containers = callTest tests/containers.nix {};
tests.firefox = callTest tests/firefox.nix {};
tests.firewall = callTest tests/firewall.nix {};

85
nixos/tests/blivet.nix Normal file
View file

@ -0,0 +1,85 @@
import ./make-test.nix ({ pkgs, ... }: with pkgs.pythonPackages; rec {
name = "blivet";
machine = {
environment.systemPackages = [ pkgs.python blivet mock ];
boot.supportedFilesystems = [ "btrfs" "jfs" "reiserfs" "xfs" ];
virtualisation.memorySize = 768;
};
debugBlivet = false;
debugProgramCalls = false;
pythonTestRunner = pkgs.writeText "run-blivet-tests.py" ''
import sys
import logging
from unittest import TestLoader
from unittest.runner import TextTestRunner
${pkgs.lib.optionalString debugProgramCalls ''
blivet_program_log = logging.getLogger("program")
blivet_program_log.setLevel(logging.DEBUG)
blivet_program_log.addHandler(logging.StreamHandler(sys.stderr))
''}
${pkgs.lib.optionalString debugBlivet ''
blivet_log = logging.getLogger("blivet")
blivet_log.setLevel(logging.DEBUG)
blivet_log.addHandler(logging.StreamHandler(sys.stderr))
''}
runner = TextTestRunner(verbosity=2, failfast=False, buffer=False)
result = runner.run(TestLoader().discover('tests/', pattern='*_test.py'))
sys.exit(not result.wasSuccessful())
'';
blivetTest = pkgs.writeScript "blivet-test.sh" ''
#!${pkgs.stdenv.shell} -e
# Use the hosts temporary directory, because we have a tmpfs within the VM
# and we don't want to increase the memory size of the VM for no reason.
mkdir -p /tmp/xchg/bigtmp
TMPDIR=/tmp/xchg/bigtmp
export TMPDIR
mkPythonPath() {
nix-store -qR "$@" \
| sed -e 's|$|/lib/${pkgs.python.libPrefix}/site-packages|'
}
cp -Rd "${blivet.src}/tests" .
# Skip SELinux tests
rm -f tests/formats_test/selinux_test.py
# Race conditions in growing/shrinking during resync
rm -f tests/devicelibs_test/mdraid_*
# Deactivate small BTRFS device test, because it fails with newer btrfsprogs
sed -i -e '/^class *BTRFSAsRootTestCase3(/,/^[^ ]/ {
/^class *BTRFSAsRootTestCase3(/d
/^$/d
/^ /d
}' tests/devicelibs_test/btrfs_test.py
# How on earth can these tests ever work even upstream? O_o
sed -i -e '/def testDiskChunk[12]/,/^ *[^ ]/{n; s/^ */&return # /}' \
tests/partitioning_test.py
# fix hardcoded temporary directory
sed -i \
-e '1i import tempfile' \
-e 's|_STORE_FILE_PATH = .*|_STORE_FILE_PATH = tempfile.gettempdir()|' \
tests/loopbackedtestcase.py
PYTHONPATH=".:$(mkPythonPath "${blivet}" "${mock}" | paste -sd :)" \
python "${pythonTestRunner}"
'';
testScript = ''
$machine->waitForUnit("multi-user.target");
$machine->succeed("${blivetTest}");
$machine->execute("rm -rf /tmp/xchg/bigtmp");
'';
})

View file

@ -67,7 +67,7 @@ in {
machine = { config, pkgs, ... }: {
environment.systemPackages = [
pkgs.pythonPackages.nixpart
pkgs.pythonPackages.nixpart0
pkgs.file pkgs.btrfsProgs pkgs.xfsprogs pkgs.lvm2
];
virtualisation.emptyDiskImages = [ 4096 4096 ];
@ -209,7 +209,7 @@ in {
ensurePartition("swap", "swap");
ensurePartition("boot", "f2fs");
ensurePartition("root", "f2fs");
remoteAndCheck;
remountAndCheck;
ensureMountPoint("/mnt/boot", "f2fs");
};

View file

@ -0,0 +1,30 @@
{ stdenv, fetchurl, ncurses, curl, taglib, fftw, mpd_clientlib, pkgconfig
, boost, readline, libiconvOrEmpty }:
stdenv.mkDerivation rec {
version = "0.6_beta5";
name = "ncmpcpp-${version}";
src = fetchurl {
url = "http://ncmpcpp.rybczak.net/stable/ncmpcpp-${version}.tar.bz2";
sha256 = "05h4mahnh39y9ab333whsgspj5mnbdkqfssgfi4r0zf1fvjwlwj6";
};
buildInputs = [ ncurses curl taglib fftw mpd_clientlib pkgconfig boost readline ]
++ libiconvOrEmpty;
configureFlags = [
"BOOST_LIB_SUFFIX="
];
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Curses-based interface for MPD (music player daemon)";
homepage = http://unkart.ovh.org/ncmpcpp/;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ fpletz ];
platforms = platforms.all;
};
}

View file

@ -9,13 +9,13 @@ assert (libXft != null) -> libpng != null; # probably a bug
assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise
stdenv.mkDerivation rec {
name = "emacs-24.3";
name = "emacs-24.4";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://gnu/emacs/${name}.tar.xz";
sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh";
sha256 = "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7";
};
patches = [ ./darwin-new-sections.patch ];

View file

@ -2,19 +2,19 @@
}:
stdenv.mkDerivation rec {
emacsName = "emacs-24.3";
name = "${emacsName}-mac-4.8";
emacsName = "emacs-24.4";
name = "${emacsName}-mac-5.0";
#builder = ./builder.sh;
src = fetchurl {
url = "mirror://gnu/emacs/${emacsName}.tar.xz";
sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh";
sha256 = "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7";
};
macportSrc = fetchurl {
url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz";
sha256 = "194y341zrpjp75mc3099kjc0inr1d379wwsnav257bwsc967h8yx";
sha256 = "14ipkwmzv0b02sclhgp2xj0cvhl3gk40sc2l21s87621kk640dzv";
};
patches = [ ./darwin-new-sections.patch ];

View file

@ -0,0 +1,29 @@
{ stdenv, fetchFromGitHub, emacs }:
let
version = "0.15.0-8-g4e10851";
in
stdenv.mkDerivation {
name = "git-modes-${version}";
src = fetchFromGitHub {
owner = "magit";
repo = "git-modes";
rev = "4e10851843145e0c05fc665683d3b487a57ad114";
sha256 = "13j794a2p4ql9dnw2z0c1m0ybclxsicbk8cmmfqcchs4ygiyc6ag";
};
buildInputs = [ emacs ];
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
mv *.el *.elc $out/share/emacs/site-lisp/
'';
meta = {
homepage = "https://github.com/magit/git-modes";
description = "Emacs modes for various Git-related files";
license = stdenv.lib.licenses.gpl3Plus;
maintainers = with stdenv.lib.maintainers; [ simons ];
};
}

View file

@ -1,25 +1,35 @@
{ stdenv, fetchurl, emacs, texinfo }:
{ stdenv, fetchFromGitHub, emacs, texinfo, gitModes, git }:
let
version = "1.2.0";
version = "90141016";
in
stdenv.mkDerivation rec {
name = "magit-${version}";
src = fetchurl {
url = "https://github.com/downloads/magit/magit/${name}.tar.gz";
sha256 = "1a8vvilhd5y5vmlpsh194qpl4qlg0a1brylfscxcacpfp0cmhlzg";
src = fetchFromGitHub {
owner = "magit";
repo = "magit";
rev = version;
sha256 = "11d3gzj0hlb7wqsjzjb0vf9i0ik4xzwdyayjy4hfgx0gjmymkfx3";
};
buildInputs = [ emacs texinfo ];
buildInputs = [ emacs texinfo git ];
propagatedUserEnvPkgs = [ gitModes ];
configurePhase = "makeFlagsArray=( PREFIX=$out SYSCONFDIR=$out/etc )";
configurePhase = ''
makeFlagsArray=(
PREFIX="$out"
EFLAGS="-L ${gitModes}/share/emacs/site-lisp"
lispdir="$out/share/emacs/site-lisp"
)
'';
doCheck = true;
checkTarget = "test";
# Add (require 'magit-site-init) to your ~/.emacs file to set-up magit mode.
postInstall = ''
mv $out/etc/emacs/site-start.d/50magit.el $out/share/emacs/site-lisp/magit-site-init.el
sed -i -e 's|50magit|magit-site-init|' $out/share/emacs/site-lisp/magit-site-init.el
rmdir $out/etc/emacs/site-start.d $out/etc/emacs $out/etc
mkdir -p $out/bin
mv "bin/"* $out/bin/
'';
meta = {
@ -39,7 +49,6 @@ stdenv.mkDerivation rec {
save you from learning Git itself.
'';
platforms = stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ simons ];
};
}

View file

@ -1,17 +1,16 @@
{ stdenv, stdenvAdapters, gccApple, fetchFromGitHub, ncurses, gettext,
{ stdenv, fetchFromGitHub, ncurses, gettext,
pkgconfig, cscope, python, ruby, tcl, perl, luajit
}:
let inherit (stdenvAdapters.overrideGCC stdenv gccApple) mkDerivation;
in mkDerivation rec {
stdenv.mkDerivation rec {
name = "macvim-${version}";
version = "7.4.355";
version = "7.4.479";
src = fetchFromGitHub {
owner = "genoma";
repo = "macvim";
rev = "c18a61f9723565664ffc2eda9179e96c95860e25";
rev = "f9c084b97fa9d5cad2448dfd3eff3d9b7f0fac59";
sha256 = "190bngg8m4bwqcia7w24gn7mmqkhk0mavxy81ziwysam1f652ymf";
};
@ -46,6 +45,7 @@ in mkDerivation rec {
"--enable-perlinterp=dynamic"
"--enable-rubyinterp=dynamic"
"--enable-tclinterp=yes"
"--without-local-dir"
"--with-luajit"
"--with-lua-prefix=${luajit}"
"--with-ruby-command=${ruby}/bin/ruby"
@ -54,6 +54,8 @@ in mkDerivation rec {
"--with-compiledby=Nix"
];
makeFlags = ''PREFIX=$(out) CPPFLAGS="-Wno-error"'';
preConfigure = ''
DEV_DIR=$(/usr/bin/xcode-select -print-path)/Platforms/MacOSX.platform/Developer
configureFlagsArray+=(

View file

@ -187,3 +187,36 @@ index bc9f074..9b9125e 100755
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
$ac_cs_success || as_fn_exit 1
diff --git a/src/Makefile b/src/Makefile
index 1c4d104..fff2015 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1298,7 +1298,7 @@ MACVIMGUI_SRC = gui.c gui_beval.c MacVim/gui_macvim.m MacVim/MMBackend.m \
MacVim/MacVim.m
MACVIMGUI_OBJ = objects/gui.o objects/gui_beval.o objects/pty.o \
objects/gui_macvim.o objects/MMBackend.o objects/MacVim.o
-MACVIMGUI_DEFS = -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe
+MACVIMGUI_DEFS = -DMACOS_X_UNIX -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe
MACVIMGUI_IPATH =
MACVIMGUI_LIBS_DIR =
MACVIMGUI_LIBS1 = -framework Cocoa -framework Carbon
diff --git a/src/if_python.c b/src/if_python.c
index b356bf7..b7bfa78 100644
--- a/src/if_python.c
+++ b/src/if_python.c
@@ -55,11 +55,7 @@
#define PY_SSIZE_T_CLEAN
-#ifdef FEAT_GUI_MACVIM
-# include <Python/Python.h>
-#else
-# include <Python.h>
-#endif
+#include <Python.h>
#if !defined(PY_VERSION_HEX) || PY_VERSION_HEX < 0x02050000
# undef PY_SSIZE_T_CLEAN
MACVIMGUI_LIBS1 = -framework Cocoa -framework Carbon

View file

@ -9,34 +9,32 @@
# reload and similar functions should all work as long as the user
# doesn't need new libraries at which point they should add them to
# extraPackages and rebuild from the expression.
{ cabal, yi, extraPackages, makeWrapper }:
{ cabal, yi, extraPackages, makeWrapper, ghcWithPackages }:
let
w = ghcWithPackages (self: [ yi ] ++ extraPackages self);
wrappedGhc = w.override { ignoreCollisions = true; };
in
cabal.mkDerivation (self: rec {
pname = "yi-custom";
version = "0.0.0.1";
src = ./yi-custom-cabal;
isLibrary = true;
buildDepends = extraPackages ++ [ yi ];
buildDepends = [ yi ];
buildTools = [ makeWrapper ];
noHaddock = true;
doCheck = false;
# Allows Yi to find the libraries it needs at runtime. We drop :
# from this GHC_PACKAGE_PATH because we're wrapping over a different
# wrapper that used --prefix: if we didn't, we end up with a
# double-colon, confusing GHC.
# put custom GHC env in front which stops crap from being picked up
# from user database
postInstall = ''
makeWrapper ${yi}/bin/yi $out/bin/yi --set GHC_PACKAGE_PATH ''${GHC_PACKAGE_PATH%?}
makeWrapper ${yi}/bin/yi $out/bin/yi --prefix PATH : ${wrappedGhc}/bin
'';
meta = {
homepage = "http://haskell.org/haskellwiki/Yi";
description = "Wrapper over user-specified Haskell libraries for use in Yi config";
license = self.stdenv.lib.licenses.publicDomain;
platforms = self.ghc.meta.platforms;
maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
# The wrapper does not yet work properly if we actually try to use it.
broken = true;
};
})

View file

@ -2,11 +2,11 @@
{ cabal, binary, Cabal, cautiousFile, dataDefault, derive, dlist
, dynamicState, dyre, filepath, glib, gtk, hashable, hint, HUnit
, lens, makeWrapper, mtl, ooPrototypes, pango, parsec, pointedlist
, QuickCheck, random, regexBase, regexTdfa, safe, semigroups, split
, tagged, tasty, tastyHunit, tastyQuickcheck, text, time
, transformersBase, unixCompat, unorderedContainers, utf8String
, vty, wordTrie, xdgBasedir, yiLanguage, yiRope
, lens, mtl, ooPrototypes, pango, parsec, pointedlist, QuickCheck
, random, regexBase, regexTdfa, safe, semigroups, split, tagged
, tasty, tastyHunit, tastyQuickcheck, text, time, transformersBase
, unixCompat, unorderedContainers, utf8String, vty, wordTrie
, xdgBasedir, yiLanguage, yiRope
}:
cabal.mkDerivation (self: {
@ -27,12 +27,8 @@ cabal.mkDerivation (self: {
filepath HUnit lens QuickCheck semigroups tasty tastyHunit
tastyQuickcheck text yiLanguage yiRope
];
buildTools = [ makeWrapper ];
configureFlags = "-fpango -fvty";
noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.8";
postInstall = ''
wrapProgram $out/bin/yi --suffix GHC_PACKAGE_PATH : $out/lib/ghc-${self.ghc.version}/package.conf.d/yi-$version.installedconf:$GHC_PACKAGE_PATH
'';
meta = {
homepage = "http://haskell.org/haskellwiki/Yi";
description = "The Haskell-Scriptable Editor";

View file

@ -18,14 +18,14 @@
}:
let
version = "6.8.9-0";
version = "6.8.9-8";
in
stdenv.mkDerivation rec {
name = "ImageMagick-${version}";
src = fetchurl {
url = "mirror://imagemagick/${name}.tar.xz";
sha256 = "1lapn2798fkc2wn81slpms5p21kq4dsyg45khsk7n8p69cvrmw2b";
sha256 = "1c792hbwi308lm9xkml319xaa4w3bz6hwy6i92jwrm7kqr4h8di7";
};
enableParallelBuilding = true;

View file

@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/muennich/sxiv";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
};
}

View file

@ -9,11 +9,11 @@
with lib;
stdenv.mkDerivation rec {
name = "blender-2.72";
name = "blender-2.72b";
src = fetchurl {
url = "http://download.blender.org/source/${name}.tar.gz";
sha256 = "0wydh5bs1pxnx3ya65lfy3val1s8wz027a5kb4va6wg3aqnwlvlv";
sha256 = "0ixz8h3c08p4f84x8r85nzddwvc0h5lw1ci8gdg2x3m2mw2cfdj4";
};
buildInputs =

View file

@ -5,11 +5,11 @@
}:
stdenv.mkDerivation rec {
name = "calibre-2.5.0";
name = "calibre-2.6.0";
src = fetchurl {
url = "mirror://sourceforge/calibre/${name}.tar.xz";
sha256 = "0zl2rpwn5xdgwm4ffb5pizk3247wfghl8ilz0i80hyp36zzxgl8p";
sha256 = "0z7nnqsal8yfi83fqari7z9xywq6l84jm0nma2mw0gvybysys4cv";
};
inherit python;

View file

@ -0,0 +1,110 @@
# Build procedure lifted from https://aur.archlinux.org/packages/k2/k2pdfopt/PKGBUILD
{ stdenv, fetchzip, fetchurl, writeScript, libX11, libXext, autoconf, automake, libtool
, leptonica, libpng, libtiff, zlib, openjpeg, freetype, jbig2dec, djvulibre
, openssl }:
let
mupdf_src = fetchurl {
url = http://www.mupdf.com/downloads/archive/mupdf-1.5-source.tar.gz;
sha256 = "0sl47zqf4c9fhs4h5zg046vixjmwgy4vhljhr5g4md733nash7z4";
};
tess_src = fetchurl {
url = http://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.02.tar.gz;
sha256 = "0g81m9y4iydp7kgr56mlkvjdwpp3mb01q385yhdnyvra7z5kkk96";
};
gocr_src = fetchurl {
url = http://www-e.uni-magdeburg.de/jschulen/ocr/gocr-0.49.tar.gz;
sha256 = "06hpzp7rkkwfr1fvmc8kcfz9v490i9yir7f7imh13gmka0fr6afc";
};
in stdenv.mkDerivation rec {
name = "k2pdfopt";
src = fetchzip {
url = http://www.willus.com/k2pdfopt/src/k2pdfopt_v2.21_src.zip;
sha256 = "1vy0yw41z6p95gmivjk4r534zbg0kqap4lr9ps56kvjw51q8r54j";
};
buildInputs = [ libX11 libXext autoconf automake libtool leptonica libpng libtiff zlib
openjpeg freetype jbig2dec djvulibre openssl ];
NIX_LDFLAGS = "-lX11 -lXext";
k2_pa = ./k2pdfopt.patch;
tess_pa = ./tesseract.patch;
builder = writeScript "builder.sh" ''
. ${stdenv}/setup
set -e
plibs=`pwd`/patched_libraries
tar zxf ${mupdf_src}
cp $src/mupdf_mod/font.c $src/mupdf_mod/string.c mupdf-1.5-source/source/fitz/
cp $src/mupdf_mod/pdf-* mupdf-1.5-source/source/pdf
tar zxf ${tess_src}
cp $src/tesseract_mod/dawg.cpp tesseract-ocr/dict
cp $src/tesseract_mod/tessdatamanager.cpp tesseract-ocr/ccutil
cp $src/tesseract_mod/tessedit.cpp tesseract-ocr/ccmain
cp $src/tesseract_mod/tesscapi.cpp tesseract-ocr/api
cp $src/include_mod/tesseract.h $src/include_mod/leptonica.h tesseract-ocr/api
cp -a $src k2pdfopt_v2.21
chmod -R +w k2pdfopt_v2.21
patch -p0 -i $tess_pa
patch -p0 -i $k2_pa
cd tesseract-ocr
./autogen.sh
substituteInPlace "configure" \
--replace 'LIBLEPT_HEADERSDIR="/usr/local/include /usr/include"' \
'LIBLEPT_HEADERSDIR=${leptonica}/include'
./configure --prefix=$plibs --disable-shared
make install
cd ..
tar zxf ${gocr_src}
cd gocr-0.49
./configure
cp src/{gocr.h,pnm.h,unicode.h,list.h} $plibs/include
cp include/config.h $plibs/include
make libs
cp src/libPgm2asc.a $plibs/lib
cd ../mupdf-1.5-source
make prefix=$plibs install
install -Dm644 build/debug/libmujs.a $plibs/lib
cd ../k2pdfopt_v2.21/k2pdfoptlib
gcc -Ofast -Wall -c *.c -I ../include_mod/ -I $plibs/include \
-I . -I ../willuslib
ar rcs libk2pdfopt.a *.o
cd ../willuslib
gcc -Ofast -Wall -c *.c -I ../include_mod/ -I $plibs/include
ar rcs libwillus.a *.o
cd ..
gcc -Wall -Ofast -o k2pdfopt.o -c k2pdfopt.c -I k2pdfoptlib/ -I willuslib/ \
-I include_mod/ -I $plibs/include
g++ -Ofast k2pdfopt.o -o k2pdfopt -I willuslib/ -I k2pdfoptlib/ -I include_mod/ \
-I $plibs/include -L $plibs/lib/ \
-L willuslib/ -L k2pdfoptlib/ -lk2pdfopt -lwillus -ldjvulibre -lz -lmupdf \
-ljbig2dec -ljpeg -lopenjp2 -lpng -lfreetype -lpthread -lmujs \
-lPgm2asc -llept -ltesseract -lcrypto
mkdir -p $out/bin
cp k2pdfopt $out/bin
'';
meta = with stdenv.lib; {
description = "K2pdfopt optimizes PDF/DJVU files for mobile e-readers (e.g. the Kindle) and smartphones.";
homepage = http://www.willus.com/k2pdfopt;
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.bosu ];
};
}

View file

@ -0,0 +1,95 @@
diff -aur k2pdfopt_v2.21/willuslib/array.c k2pdfopt_v2.21.new/willuslib/array.c
--- k2pdfopt_v2.21/willuslib/array.c 2014-05-23 16:29:58.000000000 -0300
+++ k2pdfopt_v2.21.new/willuslib/array.c 2014-07-26 11:35:49.829825567 -0300
@@ -1055,7 +1055,7 @@
void arrayf_sort(float *a,int n)
{
- sort(a,(long)n);
+ willus_sort(a,(long)n);
}
diff -aur k2pdfopt_v2.21/willuslib/math.c k2pdfopt_v2.21.new/willuslib/math.c
--- k2pdfopt_v2.21/willuslib/math.c 2013-08-15 21:33:50.000000000 -0300
+++ k2pdfopt_v2.21.new/willuslib/math.c 2014-07-26 11:36:02.853170659 -0300
@@ -532,7 +532,7 @@
-void sort(float *x,int n)
+void willus_sort(float *x,int n)
{
int top,n1;
diff -aur k2pdfopt_v2.21/willuslib/ocrjocr.c k2pdfopt_v2.21.new/willuslib/ocrjocr.c
--- k2pdfopt_v2.21/willuslib/ocrjocr.c 2012-11-12 13:09:42.000000000 -0300
+++ k2pdfopt_v2.21.new/willuslib/ocrjocr.c 2014-07-26 11:36:46.699837185 -0300
@@ -29,6 +29,8 @@
#ifdef HAVE_GOCR_LIB
#include <gocr.h>
+job_t *JOB;
+
/*
** bmp8 must be grayscale
** (x1,y1) and (x2,y2) from top left of bitmap
@@ -66,6 +68,7 @@
h=y2-y1+1;
dh=h+bw*2;
job=&_job;
+ JOB=job;
job_init(job);
job_init_image(job);
// willus_mem_alloc_warn((void **)&job->src.p.p,w*h,funcname,10);
diff -aur k2pdfopt_v2.21/willuslib/string.c k2pdfopt_v2.21.new/willuslib/string.c
--- k2pdfopt_v2.21/willuslib/string.c 2014-02-03 00:37:44.000000000 -0300
+++ k2pdfopt_v2.21.new/willuslib/string.c 2014-07-26 11:37:01.766506277 -0300
@@ -81,7 +81,7 @@
** Returns NULL if EOF, otherwise returns pointer to the string.
**
*/
-char *get_line(char *buf,int max,FILE *f)
+char *willus_get_line(char *buf,int max,FILE *f)
{
int i;
diff -aur k2pdfopt_v2.21/willuslib/willus.h k2pdfopt_v2.21.new/willuslib/willus.h
--- k2pdfopt_v2.21/willuslib/willus.h 2014-07-25 15:03:51.000000000 -0300
+++ k2pdfopt_v2.21.new/willuslib/willus.h 2014-07-26 11:37:56.316506038 -0300
@@ -214,9 +214,6 @@
** CMAKE handles the defines, not this source
** (Mod from Dirk Thierbach, 31-Dec-2013)
*/
-#ifdef USE_CMAKE
-#include "config.h"
-#else /* USE_CMAKE */
#ifndef HAVE_Z_LIB
#define HAVE_Z_LIB
@@ -268,7 +265,6 @@
#undef HAVE_GSL_LIB
#endif
-#endif /* USE_CMAKE */
/*
** Consistency check
*/
@@ -533,7 +529,7 @@
int *n,FILE *err);
int readxyz_ex (char *filename,double **x,double **y,double **z,
int *n,FILE *err,int ignore_after_semicolon);
-void sort (float *x,int n);
+void willus_sort (float *x,int n);
void sortd (double *x,int n);
void sorti (int *x,int n);
void sortxy (float *x,float *y,int n);
@@ -602,7 +598,7 @@
/* string.c */
void clean_line (char *buf);
void clean_line_end(char *buf);
-char *get_line (char *buf,int max,FILE *f);
+char *willus_get_line (char *buf,int max,FILE *f);
char *get_line_cf (char *buf,int max,FILE *f);
int mem_get_line_cf(char *buf,int maxlen,char *cptr,long *cindex,long csize);
int in_string (char *buffer,char *pattern);

View file

@ -0,0 +1,12 @@
diff -aur tesseract-ocr/api/Makefile.am tesseract-ocr.new/api/Makefile.am
--- tesseract-ocr/api/Makefile.am 2012-10-09 14:18:39.000000000 -0300
+++ tesseract-ocr.new/api/Makefile.am 2014-03-20 18:43:13.926030341 -0300
@@ -36,7 +36,7 @@
if VISIBILITY
libtesseract_api_la_CPPFLAGS += -DTESS_EXPORTS
endif
-libtesseract_api_la_SOURCES = baseapi.cpp capi.cpp
+libtesseract_api_la_SOURCES = baseapi.cpp capi.cpp tesscapi.cpp
lib_LTLIBRARIES += libtesseract.la
libtesseract_la_LDFLAGS =

View file

@ -0,0 +1,39 @@
{stdenv, fetchurl, qt4, pkgconfig, popplerQt4, djvulibre, libspectre, cups
, file, ghostscript
}:
let
s = # Generated upstream information
rec {
baseName="qpdfview";
version="0.4.12";
name="${baseName}-${version}";
url="https://launchpad.net/qpdfview/trunk/${version}/+download/qpdfview-${version}.tar.gz";
sha256="1h6lrrh1vblqkxrd89nmid7d21anyn30iahj24z62yny35lidf0g";
};
buildInputs = [
qt4 popplerQt4 pkgconfig djvulibre libspectre cups file ghostscript
];
in
stdenv.mkDerivation {
inherit (s) name version;
inherit buildInputs;
src = fetchurl {
inherit (s) url sha256;
};
configurePhase = ''
qmake *.pro
for i in *.pro; do
qmake "$i" -o "Makefile.$(basename "$i" .pro)"
done
sed -e "s@/usr/@$out/@g" -i Makefile*
'';
meta = {
inherit (s) version;
description = "A tabbed document viewer";
license = stdenv.lib.licenses.gpl2;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
homepage = "https://launchpad.net/qpdfview";
updateWalker = true;
};
}

View file

@ -1,12 +1,12 @@
{ stdenv, fetchgit, unzip, xulrunner, makeWrapper }:
{ stdenv, fetchgit, unzip, firefox, makeWrapper }:
stdenv.mkDerivation {
name = "conkeror-1.0pre-20140616";
src = fetchgit {
url = git://repo.or.cz/conkeror.git;
rev = "8a26fff5896a3360549e2adfbf06b1d57e909266";
sha256 = "56f1c71ca1753a63d7599d3e8bf52277711b2693e7709ed7c146f34940441cb4";
rev = "98e89c7e5ff3a1069a0984338da01273cdb189a2";
sha256 = "284ba966efebfa0aaa768abc1a4f901e2ecf5db9d0391d904a49118b0b94fcd7";
};
buildInputs = [ unzip makeWrapper ];
@ -15,8 +15,8 @@ stdenv.mkDerivation {
mkdir -p $out/libexec/conkeror
cp -r * $out/libexec/conkeror
makeWrapper ${xulrunner}/bin/xulrunner $out/bin/conkeror \
--add-flags $out/libexec/conkeror/application.ini
makeWrapper ${firefox}/bin/firefox $out/bin/conkeror \
--add-flags "-app $out/libexec/conkeror/application.ini"
'';
meta = {

View file

@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
]
++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
else [ "--disable-debug" "--enable-release"
"--enable-optimize${lib.optionalString (stdenv.system == "i686-linux") "=-O3"}"
"--enable-optimize${lib.optionalString (stdenv.system == "i686-linux") "=-O1"}"
"--enable-strip" ])
++ lib.optional enableOfficialBranding "--enable-official-branding";

View file

@ -36,7 +36,7 @@
let
# -> http://get.adobe.com/flashplayer/
version = "11.2.202.406";
version = "11.2.202.411";
src =
if stdenv.system == "x86_64-linux" then
@ -47,7 +47,7 @@ let
else rec {
inherit version;
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
sha256 = "05akcw89kz0cnhan6wp72banz2asmvqfhb2cw1krn66qgd7bl0x0";
sha256 = "1983rj824bhzk48yhgminsiil778vwq0217hfrhbmymhrq3p7gzd";
}
else if stdenv.system == "i686-linux" then
if debug then
@ -60,7 +60,7 @@ let
else rec {
inherit version;
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
sha256 = "10f3842vi80kszj42f4c8sw7plrmvsin5k860cqvlzgdhndz8i4b";
sha256 = "1bxp94s63i3136pjxgcm8106mqzaj4h096mkf7iq6ddkcvi0cxzn";
}
else throw "Flash Player is not supported on this platform";

View file

@ -0,0 +1,27 @@
{ stdenv, fetchurl, pythonPackages, pyqt4, cython, libvncserver, zlib, twisted, gnutls }:
pythonPackages.buildPythonPackage rec {
name = "blink-${version}";
version = "0.9.1";
src = fetchurl {
url = "http://download.ag-projects.com/BlinkQt/${name}.tar.gz";
sha256 = "f578e5186893c3488e7773fbb775028ae54540433a0c51aefa5af983ca2bfdae";
};
patches = [ ./pythonpath.patch ];
propagatedBuildInputs = [ pyqt4 pythonPackages.cjson pythonPackages.sipsimple twisted ];
buildInputs = [ cython zlib libvncserver ];
postInstall = ''
wrapProgram $out/bin/blink \
--prefix LD_LIBRARY_PATH : ${gnutls}/lib
'';
meta = {
homepage = http://icanblink.com/;
description = "A state of the art, easy to use SIP client";
};
}

View file

@ -0,0 +1,12 @@
diff --git a/blink/resources.py b/blink/resources.py
index 524d9e5..c271887 100644
--- a/blink/resources.py
+++ b/blink/resources.py
@@ -64,6 +64,7 @@ class Resources(object):
if script == '':
application_directory = os.path.realpath(script) # executed in interactive interpreter
else:
+ script = os.path.join(sys.path[0], script)
binary_directory = os.path.dirname(os.path.realpath(script))
if os.path.basename(binary_directory) == 'bin':
application_directory = os.path.dirname(binary_directory)

View file

@ -1,12 +1,12 @@
{ stdenv, fetchurl, unzip, xulrunner, makeWrapper }:
{ stdenv, fetchurl, unzip, firefox, makeWrapper }:
stdenv.mkDerivation rec {
name = "chatzilla-0.9.90.1";
name = "chatzilla-0.9.91";
src = fetchurl {
# Obtained from http://chatzilla.rdmsoft.com/xulrunner/.
url = "http://chatzilla.rdmsoft.com/xulrunner/download/${name}.en-US.xulapp";
sha256 = "0z38jig91h10cb14rvs30rpg2pgn3v890nyxyy8lxzbv5ncxmngw";
sha256 = "1bmjw2wvp8gh7fdl8czkxc55iari6dy672446hps20xixrh8hl8r";
};
buildInputs = [ unzip makeWrapper ];
@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
mkdir -p $out/libexec/chatzilla
unzip $src -d $out/libexec/chatzilla
makeWrapper ${xulrunner}/bin/xulrunner $out/bin/chatzilla \
--add-flags $out/libexec/chatzilla/application.ini
makeWrapper ${firefox}/bin/firefox $out/bin/chatzilla \
--add-flags "-app $out/libexec/chatzilla/application.ini"
sed -i $out/libexec/chatzilla/application.ini -e 's/.*MaxVersion.*/MaxVersion=99.*/'
'';

View file

@ -1,4 +1,5 @@
{ fetchurl, stdenv, bash, emacs, gdb, glib, gmime, gnupg,
{ fetchurl, stdenv, bash, emacs, fixDarwinDylibNames,
gdb, glib, gmime, gnupg,
pkgconfig, talloc, xapian
}:
@ -10,51 +11,14 @@ stdenv.mkDerivation rec {
sha256 = "1pdp9l7yv71d3fjb30qyccva8h03hvg88q4a00yi50v2j70kvmgj";
};
buildInputs = [ bash emacs gdb glib gmime gnupg pkgconfig talloc xapian ];
buildInputs = [ bash emacs gdb glib gmime gnupg pkgconfig talloc xapian ]
++ stdenv.lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ];
patchPhase = ''
(cd test && for prg in \
aggregate-results.sh \
argument-parsing \
atomicity \
author-order \
basic \
crypto \
count \
dump-restore \
emacs \
emacs-large-search-buffer \
encoding \
from-guessing \
help-test \
hooks \
json \
long-id \
maildir-sync \
multipart \
new \
notmuch-test \
python \
raw \
reply \
search \
search-by-folder \
search-insufficient-from-quoting \
search-folder-coherence \
search-limiting \
search-output \
search-position-overlap-bug \
symbol-hiding \
tagging \
test-lib.sh \
test-verbose \
thread-naming \
thread-order \
uuencode \
;do
substituteInPlace "$prg" \
--replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
done)
find test -type f -exec \
sed -i \
"1s_#!/usr/bin/env bash_#!${bash}/bin/bash_" \
"{}" ";"
for src in \
crypto.c \
@ -65,6 +29,16 @@ stdenv.mkDerivation rec {
done
'';
preFixup = if stdenv.isDarwin then
''
prg="$out/bin/notmuch"
target="libnotmuch.3.dylib"
echo "$prg: fixing link to $target"
install_name_tool -change "$target" "$out/lib/$target" "$prg"
''
else
"";
# XXX: emacs tests broken
doCheck = false;
checkTarget = "test";

View file

@ -6,14 +6,14 @@
}:
let pname = "liferea";
version = "1.10.11";
version = "1.10.12";
in
stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${name}.tar.bz2";
sha256 = "0mf5mpdj60j8if4qi5656l4pzhgwzhshf31yp0h53l1j442v109a";
sha256 = "0c046r3cgf2adcjkgcny1gf2yj3hs0fhrc1zmcz2ja7grcbx46si";
};
buildInputs = with gst_all_1; [

View file

@ -1,77 +1,42 @@
{ stdenv
, fetchgit
, cmake
, openssl
, printerSupport ? true, cups
, pkgconfig
, zlib
, libX11
, libXcursor
, libXdamage
, libXext
, alsaLib
, ffmpeg
, libxkbfile
#, xmlto, docbook_xml_dtd_412, docbook_xml_xslt
, libXinerama
#, directfb
#, cunit
, libXv
, pulseaudioSupport ? true, pulseaudio
{ stdenv, fetchFromGitHub, cmake, pkgconfig, openssl, zlib, libX11, libXcursor
, libXdamage, libXext, glib, alsaLib, ffmpeg, libxkbfile, libXinerama, libXv
, pulseaudio ? null, cups ? null, pcsclite ? null
}:
assert printerSupport -> cups != null;
let rev = "ec6effcb1e7759551cf31f5b18d768afc67db97d"; in
stdenv.mkDerivation rec {
name = "freerdp-1.1pre-${stdenv.lib.strings.substring 0 7 rev}";
name = "freerdp-1.2.0-beta1";
src = fetchgit {
url = git://github.com/FreeRDP/FreeRDP.git;
inherit rev;
sha256 = "4e5af9a6769c4b34c6b75dffe83a385d1d86068c523ea9f62fabc651a2958455";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "FreeRDP";
rev = "1.2.0-beta1+android7";
sha256 = "08nn18jydblrif1qs92pakzd3ww7inr0i378ssn1bjp09lm1bkk0";
};
buildInputs = [
cmake
openssl
pkgconfig
zlib
libX11
libXcursor
libXdamage
libXext
# directfb
# cunit
alsaLib
ffmpeg
libxkbfile
# xmlto docbook_xml_dtd_412 docbook_xml_xslt
libXinerama
libXv
] ++ stdenv.lib.optional printerSupport cups;
cmake pkgconfig openssl zlib libX11 libXcursor libXdamage libXext glib
alsaLib ffmpeg libxkbfile libXinerama libXv cups pulseaudio pcsclite
];
doCheck = false;
checkPhase = ''LD_LIBRARY_PATH="libfreerdp-cache:libfreerdp-chanman:libfreerdp-common:libfreerdp-core:libfreerdp-gdi:libfreerdp-kbd:libfreerdp-rail:libfreerdp-rfx:libfreerdp-utils" cunit/test_freerdp'';
cmakeFlags = [
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DWITH_CUNIT=OFF"
] ++ stdenv.lib.optional (pulseaudio != null) "-DWITH_PULSE=ON"
++ stdenv.lib.optional (cups != null) "-DWITH_CUPS=ON"
++ stdenv.lib.optional (pcsclite != null) "-DWITH_PCSC=ON";
cmakeFlags = [ "-DWITH_DIRECTFB=OFF" "-DWITH_CUNIT=OFF" "-DWITH_MANPAGES=OFF"
] ++ stdenv.lib.optional pulseaudioSupport "-DWITH_PULSEAUDIO=ON";
meta = {
meta = with stdenv.lib; {
description = "A Remote Desktop Protocol Client";
longDescription = ''
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications.
'';
homepage = http://www.freerdp.com/;
license = "free-non-copyleft";
broken = true; # fails to build
license = licenses.asl20;
maintainers = with maintainers; [ wkennington ];
platforms = platforms.unix;
};
}

View file

@ -3,7 +3,7 @@
assert (stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux");
let
version = "4.0.22";
version = "4.0.23";
arch = if stdenv.system == "x86_64-linux"
then "linux-x86_64"
else "linux-i686";
@ -14,8 +14,8 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://download.zotero.org/standalone/${version}/Zotero-${version}_${arch}.tar.bz2";
sha256 = if stdenv.system == "x86_64-linux"
then "0dq4x1cc0lnhs7g6w85qjdlb7sajr13mr2zcf4yvrciwhwy3r1i1"
else "0s4j2karaq85fwnd1niz8hzx5k71cqs493g38pg337i3iwxad9hg";
then "1fz5xn69vapfw8d20207zr9p5r1h9x5kahh334pl2dn1h8il0sm8"
else "1kmsvvg2lh881rzy3rxbigzivixjamyrwf5x7vmn1kzhvsvifrng";
};
# Strip the bundled xulrunner

View file

@ -17,8 +17,8 @@
cabal.mkDerivation (self: {
pname = "git-annex";
version = "5.20140927";
sha256 = "02zmg8pcrdavfna2xy51n6chn6i5g0b8p20rba1vj29rlfj3cask";
version = "5.20141013";
sha256 = "1p2hvw2x0rm9nhk176mzwisl75xphqxv7mhd43mvwlb3q9f57lnc";
isLibrary = false;
isExecutable = true;
buildDepends = [
@ -48,6 +48,5 @@ cabal.mkDerivation (self: {
license = self.stdenv.lib.licenses.gpl3;
platforms = self.ghc.meta.platforms;
maintainers = with self.stdenv.lib.maintainers; [ simons ];
broken = true;
};
})

View file

@ -81,13 +81,13 @@ in
plugin = "svtplay";
namespace = "plugin.video.svtplay";
version = "4.0.6";
version = "4.0.8";
src = fetchFromGitHub {
owner = "nilzen";
repo = "xbmc-" + plugin;
rev = "4f27254edbd6dc48350152832833c5b164ca58de";
sha256 = "11r8vljpx9fxwdx20cvkb5szlaypfrn6c235jwcg61s4hmjy4kl8";
rev = "967dc429201200200dba0e755ede3a0e9cb1b137";
sha256 = "0kaxcci9zbblpkn1mrmdl49844r90agww41frz9vw6q2ajq1z16k";
};
meta = with stdenv.lib; {

View file

@ -3,11 +3,11 @@ btrfsProgs, iptables, bash, e2fsprogs, xz}:
stdenv.mkDerivation rec {
name = "docker-${version}";
version = "1.2.0";
version = "1.3.0";
src = fetchurl {
url = "https://github.com/dotcloud/docker/archive/v${version}.tar.gz";
sha256 = "1nk74p9k17bllgw4992ixx7z3w87icp2wabbpbgfyi20k2q9mayp";
sha256 = "09bn88i8acv7kw39js1p7mgf3sglq7d782xnafkp0i97svf0x4y9";
};
buildInputs = [ makeWrapper go sqlite lxc iproute bridge_utils devicemapper btrfsProgs iptables e2fsprogs];
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
buildPhase = ''
patchShebangs ./hack
export AUTO_GOPATH=1
export DOCKER_GITCOMMIT="fa7b24f"
export DOCKER_GITCOMMIT="c78088f"
./hack/make.sh dynbinary
'';

View file

@ -5,6 +5,7 @@
, javaBindings ? false, jdk ? null
, pythonBindings ? false, python ? null
, enableExtensionPack ? false, requireFile ? null, patchelf ? null
, pulseSupport ? false, pulseaudio ? null
}:
with stdenv.lib;
@ -64,7 +65,8 @@ in stdenv.mkDerivation {
libcap glib lvm2 python alsaLib curl libvpx pam xorriso makeself perl
pkgconfig which libXmu ]
++ optional javaBindings jdk
++ optional pythonBindings python;
++ optional pythonBindings python
++ optional pulseSupport pulseaudio;
prePatch = ''
set -x
@ -86,7 +88,8 @@ in stdenv.mkDerivation {
./configure --with-qt4-dir=${qt4} \
${optionalString (!javaBindings) "--disable-java"} \
${optionalString (!pythonBindings) "--disable-python"} \
--disable-pulse --disable-hardening --disable-kmods \
${optionalString (!pulseSupport) "--disable-pulse"} \
--disable-hardening --disable-kmods \
--with-mkisofs=${xorriso}/bin/xorrisofs
sed -e 's@PKG_CONFIG_PATH=.*@PKG_CONFIG_PATH=${libIDL}/lib/pkgconfig:${glib}/lib/pkgconfig ${libIDL}/bin/libIDL-config-2@' \
-i AutoConfig.kmk

View file

@ -1,33 +1,44 @@
{ stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon
, cairo, libxcb, libXcursor, x11, udev, libdrm, mtdev
, libjpeg, pam, autoconf, automake, libtool, dbus }:
{ stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon, cairo, libxcb
, libXcursor, x11, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput
, pango ? null, libunwind ? null, freerdp ? null, vaapi ? null, libva ? null
, libwebp ? null
}:
let version = "1.5.0"; in
let version = "1.6.0"; in
stdenv.mkDerivation rec {
name = "weston-${version}";
src = fetchurl {
url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
sha256 = "113nig2dmbgrjhi79k0zw77vicnx8vkaihawd0nsg6n79ah8nf06";
sha256 = "0kb1mb54l7adihmr2y77xgsdb00dvifnq886q2mmy0mz7g8sagnw";
};
#ToDo: libinput can be split away
buildInputs = [
pkgconfig wayland mesa libxkbcommon
cairo libxcb libXcursor x11 udev libdrm mtdev libjpeg pam dbus.libs
pkgconfig wayland mesa libxkbcommon cairo libxcb libXcursor x11 udev libdrm
mtdev libjpeg pam dbus.libs libinput pango libunwind freerdp vaapi libva
libwebp
];
NIX_CFLAGS_COMPILE = "-I${libdrm}/include/libdrm";
configureFlags = [
"--enable-xwayland"
"--enable-x11-compositor"
"--enable-drm-compositor"
"--enable-wayland-compositor"
"--enable-headless-compositor"
"--enable-fbdev-compositor"
"--enable-screen-sharing"
"--enable-clients"
"--enable-weston-launch"
"--disable-setuid-install" # prevent install target to chown root weston-launch, which fails
];
] ++ stdenv.lib.optional (freerdp != null) "--enable-rdp-compositor"
++ stdenv.lib.optional (vaapi != null) "--enabe-vaapi-recorder";
meta = {
meta = with stdenv.lib; {
description = "Reference implementation of a Wayland compositor";
homepage = http://wayland.freedesktop.org/;
license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.linux;
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ wkennington ];
};
}

View file

@ -23,4 +23,4 @@ mount --rbind /run $chrootenvDest/run
mount --bind /etc $chrootenvDest/host-etc
# Bind mount /tmp
mount --bind /tmp/chrootenv-@name@ /run/chrootenv/steam/tmp
mount --bind /tmp/chrootenv-@name@ $chrootenvDest/tmp

View file

@ -57,6 +57,13 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
propagatedUserEnvPkgs = filter (y : ! (y == null)) x.propagatedUserEnvPkgs;
doCheck = enableCheckPhase && x.doCheck;
hyperlinkSource = enableHyperlinkSource && x.hyperlinkSource;
# Disable Darwin builds: <https://github.com/NixOS/nixpkgs/issues/2689>.
meta = let meta = x.meta or {};
hydraPlatforms = meta.hydraPlatforms or meta.platforms or [];
noElem = p: ps: !stdenv.lib.elem p ps;
noDarwin = p: noElem p stdenv.lib.platforms.darwin;
in
meta // { hydraPlatforms = filter noDarwin hydraPlatforms; };
};
defaults =
@ -210,9 +217,6 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
${optionalString (self.enableSharedExecutables && self.stdenv.isDarwin) ''
configureFlags+=" --ghc-option=-optl=-Wl,-headerpad_max_install_names"
''}
${optionalString (versionOlder "7.8" ghc.version) ''
configureFlags+=" --ghc-option=-j$NIX_BUILD_CORES"
''}
echo "configure flags: $extraConfigureFlags $configureFlags"
./Setup configure --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' \

View file

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

View file

@ -0,0 +1,22 @@
{ stdenv }:
args:
stdenv.mkDerivation ({
name = if args ? name then args.name else baseNameOf (toString args.src);
builder = with stdenv.lib; builtins.toFile "builder.sh" ''
source $stdenv/setup
set -o pipefail
eval "$preInstall"
args=
cd "$src"
echo -ne "${concatStringsSep "\\0" args.files}" | xargs -0 -n1 -I {} -- find {} -type f -print0 | while read -d "" line; do
mkdir -p "$out/$(dirname "$line")"
substituteAll "$line" "$out/$line"
done
'';
preferLocalBuild = true;
} // args)

View file

@ -1586,7 +1586,7 @@ rec {
fullName = "Debian 7.6 Wheezy (i386)";
packagesList = fetchurl {
url = mirror://debian/dists/wheezy/main/binary-i386/Packages.bz2;
sha256 = "773ba601513cd7ef1d5192ad8baa795fa050573d82568c577cdf79adade698a3";
sha256 = "1j093d6dwixyrk87sdvaayh3ffcn5aqwik36blndiw5njw2qkzgj";
};
urlPrefix = mirror://debian;
packages = commonDebianPackages;
@ -1597,7 +1597,7 @@ rec {
fullName = "Debian 7.6 Wheezy (amd64)";
packagesList = fetchurl {
url = mirror://debian/dists/wheezy/main/binary-amd64/Packages.bz2;
sha256 = "11a8bd3648d51f51e56c9f5382168cc47267d67ef6a050826e1cd358ed46cc17";
sha256 = "1n46fxq8a2dm1i7ysc80s5lg10z5dh0hyd8k3h532n5wzs44xqcc";
};
urlPrefix = mirror://debian;
packages = commonDebianPackages;

View file

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Econnman is a user interface for the connman network connection manager";
homepage = http://enlightenment.org/;
maintainers = [ stdenv.lib.maintainers.matejc ];
maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.lgpl3;
};

View file

@ -3,10 +3,10 @@
stdenv.mkDerivation rec {
name = "efl-${version}";
version = "1.11.2";
version = "1.11.3";
src = fetchurl {
url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.gz";
sha256 = "123jrcifd7i0r9zh8qllqiz3d378fyy7fzkanyki9wbxlz91rk7k";
sha256 = "0s9pm3lfp7f2yf877xywjw8ihgr2yrns3gibak0gcwx7d8bfljfr";
};
buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi SDL2 SDL mesa giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-libav pulseaudio libsndfile xlibs.libXcursor xlibs.printproto xlibs.libX11 libdrm udev utillinuxCurses luajit ];
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Enlightenment Core libraries";
homepage = http://enlightenment.org/;
maintainers = [ stdenv.lib.maintainers.matejc ];
maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.lgpl3;
};

View file

@ -1,10 +1,10 @@
{ stdenv, fetchurl, pkgconfig, e19, libcap, gdbm }:
stdenv.mkDerivation rec {
name = "elementary-${version}";
version = "1.11.2";
version = "1.11.3";
src = fetchurl {
url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.gz";
sha256 = "041hwp81qyq4wsw483g2jh52gcanqg046f91pmd0vzgwcgxyixqq";
sha256 = "1yr96imam9sckgagnp7wdvwmvr1xwakw29dih3gxp7nz7xsa0j8k";
};
buildInputs = [ pkgconfig e19.efl gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
preConfigure = ''
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Widget set/toolkit";
homepage = http://enlightenment.org/;
maintainers = [ stdenv.lib.maintainers.matejc ];
maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.lgpl2;
};

View file

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Extra video decoders";
homepage = http://enlightenment.org/;
maintainers = [ stdenv.lib.maintainers.matejc ];
maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.bsd2;
};

View file

@ -4,10 +4,10 @@
stdenv.mkDerivation rec {
name = "enlightenment-${version}";
version = "0.19.0";
version = "0.19.1";
src = fetchurl {
url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
sha256 = "0d9s8gwma32hj8h000k1bzibr3zj8qajcf14va3w81k87gkilxfp";
sha256 = "016z1vilhjarpxzn5bwcw696d8b66rklnhkrwzfa5mcxn8gpmvap";
};
buildInputs = [ pkgconfig e19.efl e19.elementary xlibs.libXdmcp xlibs.libxcb xlibs.xcbutilkeysyms xlibs.libXrandr libffi pam alsaLib luajit bzip2 libpthreadstubs gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
preConfigure = ''
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
meta = {
description = "The Compositing Window Manager and Desktop Shell";
homepage = http://enlightenment.org/;
maintainers = [ stdenv.lib.maintainers.matejc ];
maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.bsd2;
};

View file

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Extra image decoders";
homepage = http://enlightenment.org/;
maintainers = [ stdenv.lib.maintainers.matejc ];
maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.gpl2;
};

View file

@ -1,10 +1,10 @@
{ stdenv, fetchurl, pkgconfig, e19 }:
stdenv.mkDerivation rec {
name = "terminology-${version}";
version = "0.6.1";
version = "0.7.0";
src = fetchurl {
url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
sha256 = "1wi9njyfs95y4nb9jd30032qqka5cg7k0wacck8s1yqxwg5ng38x";
sha256 = "1x248dh9r292r8ycvf43vrfk4l8wpli50sgywp0zy3q93f8ljgs5";
};
buildInputs = [ pkgconfig e19.efl e19.elementary ];
preConfigure = ''
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
meta = {
description = "The best terminal emulator written with the EFL";
homepage = http://enlightenment.org/;
maintainers = [ stdenv.lib.maintainers.matejc ];
maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.bsd2;
};

View file

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Framework for managing passwords and other secrets";
homepage = http://live.gnome.org/GnomeKeyring;
# TODO license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ];
license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ];
inherit (glib.meta) platforms maintainers;
longDescription = ''

View file

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
homepage = https://wiki.gnome.org/Apps/Yelp;
description = "Yelp's universal stylesheets for Mallard and DocBook";
maintainers = with maintainers; [ lethalman ];
# TODO license = [licenses.gpl2 licenses.lgpl2];
license = [licenses.gpl2 licenses.lgpl2];
platforms = platforms.linux;
};
}

View file

@ -184,7 +184,9 @@ rec {
gitg = callPackage ./misc/gitg { };
libgit2-glib = callPackage ./misc/libgit2-glib { };
libgit2-glib = callPackage ./misc/libgit2-glib {
libgit2 = pkgs.libgit2.override { libssh2 = null; };
};
libmediaart = callPackage ./misc/libmediaart { };

View file

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Framework for managing passwords and other secrets";
homepage = http://live.gnome.org/GnomeKeyring;
# TODO license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ];
license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ];
inherit (glib.meta) platforms maintainers;
longDescription = ''

View file

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
homepage = https://wiki.gnome.org/Apps/Yelp;
description = "Yelp's universal stylesheets for Mallard and DocBook";
maintainers = with maintainers; [ lethalman ];
# TODO license = [licenses.gpl2 licenses.lgpl2];
license = [licenses.gpl2 licenses.lgpl2];
platforms = platforms.linux;
};
}

View file

@ -233,7 +233,9 @@ rec {
libgda = callPackage ./misc/libgda { };
libgit2-glib = callPackage ./misc/libgit2-glib { };
libgit2-glib = callPackage ./misc/libgit2-glib {
libgit2 = pkgs.libgit2.override { libssh2 = null; };
};
libmediaart = callPackage ./misc/libmediaart { };

View file

@ -32,15 +32,15 @@ stdenv.mkDerivation rec {
# that in turn causes GHCi to abort
stripDebugFlags = [ "-S" "--keep-file-symbols" ];
meta = {
meta = with stdenv.lib; {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
maintainers = [
stdenv.lib.maintainers.marcweber
stdenv.lib.maintainers.andres
stdenv.lib.maintainers.simons
];
inherit (ghc.meta) license platforms;
maintainers = [ maintainers.marcweber maintainers.andres maintainers.simons ];
inherit (ghc.meta) license;
# Filter old "i686-darwin" platform which is unsupported these days.
platforms = filter (x: elem x platforms.all) ghc.meta.platforms;
# Disable Darwin builds: <https://github.com/NixOS/nixpkgs/issues/2689>.
hydraPlatforms = filter (x: !elem x platforms.darwin) meta.platforms;
};
}

View file

@ -33,4 +33,4 @@ cabal.mkDerivation (self: {
platforms = self.ghc.meta.platforms;
maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
};
})
})

View file

@ -0,0 +1,157 @@
{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
, readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
, ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
, tcl, tk, xproto, libX11, git, mpfr, which
} :
assert stdenv.isLinux;
let
realGcc = stdenv.gcc.gcc;
in
stdenv.mkDerivation rec {
pname = "julia";
version = "0.3.1";
name = "${pname}-${version}";
dsfmt_ver = "2.2";
grisu_ver = "1.1.1";
openblas_ver = "v0.2.10";
lapack_ver = "3.5.0";
arpack_ver = "3.1.5";
lighttpd_ver = "1.4.29";
patchelf_ver = "0.6";
pcre_ver = "8.31";
utf8proc_ver = "1.1.6";
dsfmt_src = fetchurl {
url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
name = "dsfmt-${dsfmt_ver}.tar.gz";
sha256 = "bc3947a9b2253a869fcbab8ff395416cb12958be9dba10793db2cd7e37b26899";
};
grisu_src = fetchurl {
url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz";
sha256 = "e1cabb73fd69e74f145aea91100cde483aef8b79dc730fcda0a34466730d4d1d";
};
openblas_src = fetchurl {
url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}";
name = "openblas-${openblas_ver}.tar.gz";
sha256 = "06i0q4qnd5q5xljzrgvda0gjsczc6l2pl9hw6dn2qjpw38al73za";
};
arpack_src = fetchurl rec {
url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/get/arpack-ng_${arpack_ver}.tar.gz";
sha256 = "05fmg4m0yri47rzgsl2mnr1qbzrs7qyd557p3v9wwxxw0rwcwsd2";
};
lapack_src = fetchurl {
url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
name = "lapack-${lapack_ver}.tgz";
sha256 = "0lk3f97i9imqascnlf6wr5mjpyxqcdj73pgj97dj2mgvyg9z1n4s";
};
lighttpd_src = fetchurl {
url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${lighttpd_ver}.tar.gz";
sha256 = "ff9f4de3901d03bb285634c5b149191223d17f1c269a16c863bac44238119c85";
};
patchelf_src = fetchurl {
url = "http://hydra.nixos.org/build/1524660/download/2/patchelf-${patchelf_ver}.tar.bz2";
sha256 = "00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw";
};
pcre_src = fetchurl {
url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${pcre_ver}.tar.bz2";
sha256 = "0g4c0z4h30v8g8qg02zcbv7n67j5kz0ri9cfhgkpwg276ljs0y2p";
};
utf8proc_src = fetchurl {
url = "http://www.public-software-group.org/pub/projects/utf8proc/v${utf8proc_ver}/utf8proc-v${utf8proc_ver}.tar.gz";
sha256 = "1rwr84pw92ajjlbcxq0da7yxgg3ijngmrj7vhh2qzsr2h2kqzp7y";
};
src = fetchgit {
url = "git://github.com/JuliaLang/julia.git";
rev = "refs/tags/v0.3.1";
sha256 = "1m6jyh7dn03q00gpwb64pq6dypglj4yqac7rkw21z2jknb5x33vb";
};
buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
openblas liblapack tcl tk xproto libX11 git mpfr which
];
configurePhase = ''
for i in GMP LLVM PCRE READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB MPFR;
do
makeFlags="$makeFlags USE_SYSTEM_$i=1 "
done
copy_kill_hash(){
cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')"
}
for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${patchelf_src}" \
"${pcre_src}" "${utf8proc_src}" "${lapack_src}" "${openblas_src}"; do
copy_kill_hash "$i" deps
done
${if realGcc ==null then "" else
''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr -lblas -lopenblas -L$out/lib"''}
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC "
export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia"
export GLPK_PREFIX="${glpk}/include"
mkdir -p "$out/lib"
sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile
sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile
export makeFlags="$makeFlags PREFIX=$out SHELL=${stdenv.shell} prefix=$out"
export dontPatchELF=1
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/usr/lib:$PWD/usr/lib/julia"
patchShebangs . contrib
export PATH="$PATH:${stdenv.gcc.libc}/sbin"
# ldconfig doesn't seem to ever work on NixOS; system-wide ldconfig cache
# is probably not what we want anyway on non-NixOS
sed -e "s@/sbin/ldconfig@true@" -i src/ccall.*
ln -s "${openblas}/lib/libopenblas.so" "$out/lib/libblas.so"
'';
preBuild = ''
mkdir -p usr/lib
echo "$out"
mkdir -p "$out/lib"
(
cd "$(mktemp -d)"
for i in "${suitesparse}"/lib/lib*.a; do
ar -x $i
done
gcc *.o --shared -o "$out/lib/libsuitesparse.so"
)
cp "$out/lib/libsuitesparse.so" usr/lib
for i in umfpack cholmod amd camd colamd spqr; do
ln -s libsuitesparse.so "$out"/lib/lib$i.so;
ln -s libsuitesparse.so "usr"/lib/lib$i.so;
done
'';
dontStrip = true;
enableParallelBuilding = true;
postInstall = ''
rm -f "$out"/lib/julia/sys.{so,dylib,dll}
'';
meta = {
description = "High-level performance-oriented dynamical language for technical computing";
homepage = "http://julialang.org/";
license = stdenv.lib.licenses.mit;
maintainers = [ stdenv.lib.maintainers.raskin ];
platforms = with stdenv.lib.platforms; linux;
broken = false;
};
}

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
name = "lessc-${version}";
version = "1.4.2";
version = "1.7.5";
src = fetchgit {
url = https://github.com/less/less.js.git;
rev = "refs/tags/v${version}";
sha256 = "1v3b4f1np3mxkj0irh1pk52r26nzpf4k2ax14cbn7mxx16mqjp50";
sha256 = "0r8bcad247v5fyh543a7dppmfbf49ai4my3vcizk42fsbnjs8q2x";
};
phases = [ "installPhase" ];

View file

@ -1,9 +1,9 @@
import ./jdk-linux-base.nix {
productVersion = "7";
patchVersion = "67";
patchVersion = "72";
downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;
sha256_i686 = "0p58pag1x85r911lxhmr4blk687ivjqigflx175vp7rcmmj108xn";
sha256_x86_64 = "0db36jg08qy8712qy6lgyifdqlqb468rrnjm3aa6937ixl9ixpal";
sha256_i686 = "01zl82hnb9pynxw04zaq4745av42cga97cbckcwb8lh752hchxh3";
sha256_x86_64 = "13nyx8p27crnnybkzdaiv9l1azap7c8g4na6xasrnjvx3f7467fx";
jceName = "UnlimitedJCEPolicyJDK7.zip";
jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html;
sha256JCE = "7a8d790e7bd9c2f82a83baddfae765797a4a56ea603c9150c87b7cdb7800194d";

View file

@ -16,19 +16,19 @@ assert stdenv.gcc.gcc != null;
*/
with ((import ./common.nix) {inherit stdenv; version = "0.11.0"; });
with ((import ./common.nix) {inherit stdenv; version = "0.12.0"; });
let snapshot = if stdenv.system == "i686-linux"
then "84339ea0f796ae468ef86797ef4587274bec19ea"
then "555aca74f9a268f80cab2df1147dc6406403e9e4"
else if stdenv.system == "x86_64-linux"
then "bd8a6bc1f28845b7f4b768f6bfa06e7fbdcfcaae"
then "6a43c2f6c8ba2cbbcb9da1f7b58f748aef99f431"
else if stdenv.system == "i686-darwin"
then "3f25b2680efbab16ad074477a19d49dcce475977"
then "331bd7ef519cbb424188c546273e8c7d738f0894"
else if stdenv.system == "x86_64-darwin"
then "4a8c2e1b7634d73406bac32a1a97893ec3ed818d"
then "2c83a79a9febfe1d326acb17c3af76ba053c6ca9"
else abort "no-snapshot for platform ${stdenv.system}";
snapshotDate = "2014-06-21";
snapshotRev = "db9af1d";
snapshotDate = "2014-10-04";
snapshotRev = "749ff5e";
snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2";
in stdenv.mkDerivation {
@ -37,8 +37,8 @@ in stdenv.mkDerivation {
inherit meta;
src = fetchurl {
url = http://static.rust-lang.org/dist/rust-0.11.0.tar.gz;
sha256 = "1fhi8iiyyj5j48fpnp93sfv781z1dm0xy94h534vh4mz91jf7cyi";
url = http://static.rust-lang.org/dist/rust-0.12.0.tar.gz;
sha256 = "1dv9wxh41230zknbwj34zgjnh1kgvvy6k12kbiy9bnch9nr6cgl8";
};
# We need rust to build rust. If we don't provide it, configure will try to download it.
@ -65,7 +65,8 @@ in stdenv.mkDerivation {
patches = [ ./hardcode_paths.patch ./local_stage0.patch ];
postPatch = ''
substituteInPlace src/librustc/back/link.rs \
--subst-var-by "ccPath" "${stdenv.gcc}/bin/cc" \
--subst-var-by "ccPath" "${stdenv.gcc}/bin/cc"
substituteInPlace src/librustc_back/archive.rs \
--subst-var-by "arPath" "${stdenv.gcc.binutils}/bin/ar"
'';

View file

@ -1,8 +1,8 @@
diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
index 7a3e912..ced75fa 100644
index 1cc60fc..2e94b99 100644
--- a/src/librustc/back/link.rs
+++ b/src/librustc/back/link.rs
@@ -766,24 +766,15 @@ pub fn output_lib_filename(id: &CrateId) -> String {
@@ -383,18 +383,9 @@ pub fn mangle_internal_name_by_path_and_seq(path: PathElems, flav: &str) -> Stri
pub fn get_cc_prog(sess: &Session) -> String {
match sess.opts.cg.linker {
@ -15,18 +15,23 @@ index 7a3e912..ced75fa 100644
- // In the future, FreeBSD will use clang as default compiler.
- // It would be flexible to use cc (system's default C compiler)
- // instead of hard-coded gcc.
- // For win32, there is no cc command, so we add a condition to make it use gcc.
- // For Windows, there is no cc command, so we add a condition to make it use gcc.
- match sess.targ_cfg.os {
- abi::OsWin32 => "gcc",
- abi::OsWindows => "gcc",
- _ => "cc",
- }.to_string()
}
pub fn get_ar_prog(sess: &Session) -> String {
match sess.opts.cg.ar {
Some(ref ar) => (*ar).clone(),
- None => "ar".to_string()
+ None => "@arPath@".to_string()
}
}
pub fn remove(sess: &Session, path: &Path) {
diff --git a/src/librustc_back/archive.rs b/src/librustc_back/archive.rs
index 060dda5..fecf76b 100644
--- a/src/librustc_back/archive.rs
+++ b/src/librustc_back/archive.rs
@@ -53,7 +53,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option<String>,
paths: &[&Path]) -> ProcessOutput {
let ar = match *maybe_ar_prog {
Some(ref ar) => ar.as_slice(),
- None => "ar"
+ None => "@arPath@"
};
let mut cmd = Command::new(ar);

View file

@ -2,12 +2,15 @@ diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
index e78f231..6b6773b 100755
--- a/src/etc/local_stage0.sh
+++ b/src/etc/local_stage0.sh
@@ -53,8 +53,3 @@ if [ -z $TARG_DIR ]; then
@@ -53,11 +53,6 @@
fi
cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
-cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
# do not fail if one of the above fails, as all we need is a working rustc!
exit 0

View file

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

View file

@ -0,0 +1,33 @@
{stdenv, bash, which, autoconf, automake, fetchurl, coq}:
stdenv.mkDerivation rec {
name = "coq-flocq-${coq.coq-version}-${version}";
version = "2.4.0";
src = fetchurl {
url = https://gforge.inria.fr/frs/download.php/file/33979/flocq-2.4.0.tar.gz;
sha256 = "020x4nkkrvndkvp5zwb9vads8a2jh603khcwrm40yhqldgfd8zlv";
};
buildInputs = [ coq.ocaml coq.camlp5 bash which autoconf automake ];
propagatedBuildInputs = [ coq ];
buildPhase = ''
${bash}/bin/bash autogen.sh
${bash}/bin/bash configure --libdir=$out/lib/coq/${coq.coq-version}/user-contrib/Flocq
./remake
'';
installPhase = ''
./remake install
'';
meta = with stdenv.lib; {
homepage = http://flocq.gforge.inria.fr/;
description = "Flocq (Floats for Coq) is a floating-point formalization for the Coq system";
maintainers = with maintainers; [ jwiegley ];
platforms = coq.meta.platforms;
};
}

View file

@ -0,0 +1,66 @@
{ stdenv, fetchurl, libsigsegv, gettext, ncurses, readline, libX11
, libXau, libXt, pcre, zlib, libXpm, xproto, libXext, xextproto
, libffi, libffcall, coreutils, automake, autoconf, linuxHeaders
, groff
}:
stdenv.mkDerivation rec {
version = "2.33.2";
name = "clisp-${version}";
src = fetchurl {
url = "mirror://gnu/clisp/release/${version}/${name}.tar.gz";
sha256 = "0rqyggviixaa68n5ll092ll4a2xy4y7jraq65l0gn0hkjhjnm5zh";
};
buildInputs =
[ libsigsegv gettext ncurses readline libX11 libXau libXt pcre
zlib libXpm xproto libXext xextproto libffi libffcall
automake autoconf groff
]
++ (stdenv.lib.optional stdenv.isLinux linuxHeaders)
;
# First, replace port 9090 (rather low, can be used)
# with 64237 (much higher, IANA private area, not
# anything rememberable).
# Also remove reference to a type that disappeared from recent glibc
# (seems the correct thing to do, found no reference to any solution)
postPatch = ''
sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in
find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i
substituteInPlace modules/bindings/glibc/linux.lisp --replace "(def-c-type __swblk_t)" ""
'';
configureFlags =
''
builddir
--with-readline --with-ffcall --with-dynamic-ffi
--with-module=readline --with-module=i18n --with-module=pcre
--with-module=syscalls --with-modules=zlib --with-module=curses
'';
preBuild = ''
echo Pre-build starting!
sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d
sed -e '/asm\/page.h/d' -i src/unix.d
cd builddir
./makemake $configureFlags > Makefile
make config.lisp
cat config.lisp
'';
NIX_CFLAGS_COMPILE="-O0 -lreadline -lncursesw";
# TODO : make mod-check fails
doCheck = false;
meta = {
description = "ANSI Common Lisp Implementation";
homepage = http://clisp.cons.org;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
branch = "2.44";
};
}

View file

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

View file

@ -29,12 +29,12 @@ rec {
/* doConfigure should be removed if not needed */
phaseNames = ["doUnpack" "doBuildJ" "doDeploy"];
bits = if a.stdenv.system == "i686-linux" then
"32"
else if a.stdenv.system == "x86_64-linux" then
bits = if a.stdenv.is64bit then
"64"
else
throw "Oops, unknown system: ${a.stdenv.system}";
else if a.stdenv.isi686 then
"32"
else
builtins.trace "assuming ${a.stdenv.system} is 32 bits" "32";
doBuildJ = a.fullDepEntry ''
sed -i bin/jconfig -e 's@bits=32@bits=${bits}@g; s@readline=0@readline=1@; s@LIBREADLINE=""@LIBREADLINE=" -lreadline "@'
@ -69,7 +69,7 @@ rec {
raskin
];
platforms = with a.lib.platforms;
linux;
unix;
license = a.lib.licenses.gpl3Plus;
};
passthru = {

View file

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, nix }: let
version = "1.0.0";
version = "1.1.0";
in stdenv.mkDerivation {
name = "nix-exec-${version}";
src = fetchurl {
url = "https://github.com/shlevy/nix-exec/releases/download/v${version}/nix-exec-${version}.tar.xz";
sha256 = "0w89ma69iil1ki68zvs1l0ii0d87in64791l3a4yzyv9d3ncl3w6";
sha256 = "0w1dq2svv1l8x18q5syraf80xpyyrcxbrab51cszc3v4m04b4saa";
};
buildInputs = [ pkgconfig nix ];

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
, sqlite, openssl, ncurses, pythonFull, expat, tcl, tk, x11, libX11
, makeWrapper }:
, makeWrapper, callPackage, self }:
assert zlibSupport -> zlib != null;
@ -99,6 +99,7 @@ let
inherit zlibSupport libPrefix;
executable = "pypy";
isPypy = true;
buildEnv = callPackage ../../python/wrapper.nix { python = self; };
};
enableParallelBuilding = true;

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, includeModules ? false
, sqlite, tcl, tk, x11, openssl, readline, db, ncurses, gdbm}:
, sqlite, tcl, tk, x11, openssl, readline, db, ncurses, gdbm, self, callPackage }:
assert zlibSupport -> zlib != null;
@ -82,6 +82,7 @@ let
inherit zlibSupport;
isPy2 = true;
isPy26 = true;
buildEnv = callPackage ../wrapper.nix { python = self; };
libPrefix = "python${majorVersion}";
executable = libPrefix;
sitePackages = "lib/${libPrefix}/site-packages";

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, includeModules ? false
, sqlite, tcl, tk, x11, openssl, readline, db, ncurses, gdbm, libX11 }:
, sqlite, tcl, tk, x11, openssl, readline, db, ncurses, gdbm, libX11, self, callPackage }:
assert zlibSupport -> zlib != null;
@ -88,6 +88,7 @@ let
inherit zlibSupport;
isPy2 = true;
isPy27 = true;
buildEnv = callPackage ../wrapper.nix { python = self; };
libPrefix = "python${majorVersion}";
executable = libPrefix;
sitePackages = "lib/${libPrefix}/site-packages";

View file

@ -9,6 +9,8 @@
, sqlite
, tcl, tk
, zlib
, callPackage
, self
}:
assert readline != null -> ncurses != null;
@ -64,6 +66,7 @@ stdenv.mkDerivation {
zlibSupport = zlib != null;
sqliteSupport = sqlite != null;
dbSupport = db != null;
buildEnv = callPackage ../wrapper.nix { python = self; };
readlineSupport = readline != null;
opensslSupport = openssl != null;
tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);

View file

@ -10,6 +10,8 @@
, sqlite
, tcl, tk
, zlib
, callPackage
, self
}:
assert readline != null -> ncurses != null;
@ -66,6 +68,7 @@ stdenv.mkDerivation {
tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
libPrefix = "python${majorVersion}";
executable = "python3.3m";
buildEnv = callPackage ../wrapper.nix { python = self; };
isPy3 = true;
isPy33 = true;
is_py3k = true; # deprecated

View file

@ -10,6 +10,8 @@
, sqlite
, tcl, tk
, zlib
, callPackage
, self
}:
assert readline != null -> ncurses != null;
@ -67,6 +69,7 @@ stdenv.mkDerivation {
tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
libPrefix = "python${majorVersion}";
executable = "python3.4m";
buildEnv = callPackage ../wrapper.nix { python = self; };
isPy3 = true;
isPy34 = true;
is_py3k = true; # deprecated

View file

@ -1,10 +1,14 @@
{ stdenv, python, buildEnv, makeWrapper, recursivePthLoader, extraLibs ? [], postBuild ? ""
{ stdenv, python, buildEnv, makeWrapper
, extraLibs ? []
, postBuild ? ""
, ignoreCollisions ? false }:
# Create a python executable that knows about additional packages.
let
recursivePthLoader = import ../../python-modules/recursive-pth-loader/default.nix { stdenv = stdenv; python = python; };
in
(buildEnv {
name = "python-${python.version}-env";
name = "${python.name}-env";
paths = stdenv.lib.filter (x : x ? pythonPath) (stdenv.lib.closePropagation extraLibs) ++ [ python recursivePthLoader ];
inherit ignoreCollisions;

View file

@ -4,12 +4,12 @@
stdenv.mkDerivation rec {
pname = "racket";
version = "6.0.1";
version = "6.1";
name = "${pname}-${version}";
src = fetchurl {
url = "http://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
sha256 = "e2bc0d4d0fcdfc3327a58c931f203c07a06d4724703f9708ba2e4c8ea0f9694d";
sha256 = "fde283bf5899bb9266ce721db44631c9bac4a4864a7c3211de413fd9503178c6";
};
# Various racket executables do run-time searches for these.

View file

@ -3,21 +3,18 @@
, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
, hunspell, libevent, libstartup_notification, libvpx
, cairo, gstreamer, gst_plugins_base, icu
, cairo, gstreamer, gst_plugins_base, icu, firefox
, debugBuild ? false
}:
assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
let version = "31.0"; in
let version = firefox.version; in
stdenv.mkDerivation rec {
name = "xulrunner-${version}";
src = fetchurl {
url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
sha1 = "a6c3e25ee3aeb7da42db2aaeb50a385d63532beb";
};
src = firefox.src;
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg zlib bzip2
@ -58,9 +55,10 @@ stdenv.mkDerivation rec {
"--disable-updater"
"--disable-pulseaudio"
]
++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
else [ "--disable-debug" "--enable-release"
"--enable-optimize" "--enable-strip" ]);
++ (if debugBuild
then [ "--enable-debug" "--enable-profiling"]
else [ "--disable-debug" "--enable-release" "--enable-strip"
"--enable-optimize${lib.optionalString (stdenv.system == "i686-linux") "=-O1"}" ]);
enableParallelBuilding = true;

View file

@ -31,11 +31,11 @@ assert playSupport -> SDL != null;
assert freetypeSupport -> freetype != null;
stdenv.mkDerivation rec {
name = "ffmpeg-1.2.8";
name = "ffmpeg-1.2.9";
src = fetchurl {
url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
sha256 = "0n9fklr8zqkd60dc5ai161l6k4dbiac5hqy0pi1w82yamc25k6s2";
sha256 = "02wsnlix92a9k8wf3b4bad3a14v1c5iiz0fv6wlk1zn82cp93paw";
};
# `--enable-gpl' (as well as the `postproc' and `swscale') mean that
@ -100,7 +100,9 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://www.ffmpeg.org/;
description = "A complete, cross-platform solution to record, convert and stream audio and video";
license = if faacSupport then stdenv.lib.licenses.unfree else stdenv.lib.licenses.gpl2Plus;
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
platforms = stdenv.lib.platforms.unix;
branch = "1";
};
}

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, cmake, zlib, python}:
{stdenv, fetchurl, cmake, zlib, python, libssh2, openssl, http-parser}:
stdenv.mkDerivation rec {
version = "0.21.1";
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
cmakeFlags = "-DTHREADSAFE=ON";
nativeBuildInputs = [ cmake python ];
buildInputs = [ zlib ];
buildInputs = [ zlib libssh2 openssl http-parser ];
meta = {
description = "the Git linkable library";

View file

@ -0,0 +1,22 @@
# This file was auto-generated by cabal2nix. Please do NOT edit manually!
{ cabal, deepseq, HUnit, QuickCheck, testFramework
, testFrameworkHunit, testFrameworkQuickcheck2
}:
cabal.mkDerivation (self: {
pname = "Decimal";
version = "0.4.2";
sha256 = "0qa2z2lq1hrvakhyhj624mg8sd05ikhb66zwpa6x9vcyji93dxf5";
buildDepends = [ deepseq ];
testDepends = [
deepseq HUnit QuickCheck testFramework testFrameworkHunit
testFrameworkQuickcheck2
];
meta = {
homepage = "https://github.com/PaulJohnson/Haskell-Decimal";
description = "Decimal numbers with variable precision";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

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