Merge recent master into staging
Hydra nixpkgs: ?compare=1156478
This commit is contained in:
commit
2cf17b0802
|
@ -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;
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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>";
|
||||
|
|
|
@ -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" />
|
||||
|
||||
|
|
|
@ -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>
|
|
@ -1,7 +1,7 @@
|
|||
# This module generates nixos-install, nixos-rebuild,
|
||||
# nixos-generate-config, etc.
|
||||
|
||||
{ config, pkgs, modulesPath, lib, ... }:
|
||||
{ config, pkgs, modulesPath, ... }:
|
||||
|
||||
let
|
||||
|
||||
|
|
|
@ -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!
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
11
nixos/modules/services/networking/cjdns-hosts.sh
Normal file
11
nixos/modules/services/networking/cjdns-hosts.sh
Normal 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
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
||||
|
|
|
@ -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" ];
|
||||
|
||||
|
|
|
@ -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; };
|
||||
|
||||
};
|
||||
|
||||
}
|
|
@ -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}
|
||||
|
|
19
nixos/modules/tasks/filesystems/jfs.nix
Normal file
19
nixos/modules/tasks/filesystems/jfs.nix
Normal 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/"
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -65,6 +65,7 @@ in rec {
|
|||
mysql51
|
||||
mysql55
|
||||
nginx
|
||||
openjdk
|
||||
openssh
|
||||
php
|
||||
postgresql92
|
||||
|
|
|
@ -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
85
nixos/tests/blivet.nix
Normal 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");
|
||||
'';
|
||||
})
|
|
@ -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");
|
||||
};
|
||||
|
||||
|
|
30
pkgs/applications/audio/ncmpcpp/beta.nix
Normal file
30
pkgs/applications/audio/ncmpcpp/beta.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ];
|
||||
|
|
29
pkgs/applications/editors/emacs-modes/git-modes/default.nix
Normal file
29
pkgs/applications/editors/emacs-modes/git-modes/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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+=(
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
})
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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;
|
||||
|
|
110
pkgs/applications/misc/k2pdfopt/default.nix
Normal file
110
pkgs/applications/misc/k2pdfopt/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
||||
|
95
pkgs/applications/misc/k2pdfopt/k2pdfopt.patch
Normal file
95
pkgs/applications/misc/k2pdfopt/k2pdfopt.patch
Normal 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);
|
12
pkgs/applications/misc/k2pdfopt/tesseract.patch
Normal file
12
pkgs/applications/misc/k2pdfopt/tesseract.patch
Normal 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 =
|
39
pkgs/applications/misc/qpdfview/default.nix
Normal file
39
pkgs/applications/misc/qpdfview/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -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 = {
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
|
@ -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)
|
|
@ -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.*/'
|
||||
'';
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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; [
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
})
|
||||
|
|
|
@ -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; {
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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' \
|
||||
|
|
|
@ -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 ---------------------------------------------
|
||||
|
||||
|
|
22
pkgs/build-support/substitute-files/substitute-all-files.nix
Normal file
22
pkgs/build-support/substitute-files/substitute-all-files.nix
Normal 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)
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 { };
|
||||
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 { };
|
||||
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -33,4 +33,4 @@ cabal.mkDerivation (self: {
|
|||
platforms = self.ghc.meta.platforms;
|
||||
maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
|
||||
};
|
||||
})
|
||||
})
|
||||
|
|
157
pkgs/development/compilers/julia/0.3.1.nix
Normal file
157
pkgs/development/compilers/julia/0.3.1.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -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" ];
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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"
|
||||
'';
|
||||
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ] ;
|
||||
|
|
33
pkgs/development/coq-modules/flocq/default.nix
Normal file
33
pkgs/development/coq-modules/flocq/default.nix
Normal 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;
|
||||
};
|
||||
|
||||
}
|
66
pkgs/development/interpreters/clisp/2.33.2.nix
Normal file
66
pkgs/development/interpreters/clisp/2.33.2.nix
Normal 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";
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
|
|
22
pkgs/development/libraries/haskell/Decimal/default.nix
Normal file
22
pkgs/development/libraries/haskell/Decimal/default.nix
Normal 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
Loading…
Reference in a new issue