mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-25 04:12:44 +03:00
Merge remote-tracking branch 'origin/master' into staging
Conflicts: pkgs/servers/serfdom/default.nix
This commit is contained in:
commit
06fc1ec34d
@ -88,6 +88,8 @@
|
||||
url = http://www.eclipse.org/legal/epl-v10.html;
|
||||
};
|
||||
|
||||
free = "free";
|
||||
|
||||
gpl2 = {
|
||||
shortName = "GPLv2";
|
||||
fullName = "GNU General Public License version 2";
|
||||
@ -130,6 +132,12 @@
|
||||
url = http://www.opensource.org/licenses/ISC;
|
||||
};
|
||||
|
||||
ipa = {
|
||||
shortName = "IPA 1.0";
|
||||
fullName = "IPA Font License v1.0";
|
||||
url = http://ipafont.ipa.go.jp/ipafont/;
|
||||
};
|
||||
|
||||
ipl10 = {
|
||||
shortName = "IPL 1.0";
|
||||
fullName = "IBM Public License Version 1.0";
|
||||
@ -243,6 +251,12 @@
|
||||
|
||||
unfreeRedistributableFirmware = "unfree-redistributable-firmware";
|
||||
|
||||
wadalab = {
|
||||
shortName = "wadalab";
|
||||
fullName = "Wadalab Font License";
|
||||
url = https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab;
|
||||
};
|
||||
|
||||
zlib = {
|
||||
shortName = "zlib";
|
||||
fullName = "zlib license";
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
_1126 = "Christian Lask <mail@elfsechsundzwanzig.de>";
|
||||
aforemny = "Alexander Foremny <alexanderforemny@googlemail.com>";
|
||||
ak = "Alexander Kjeldaas <ak@formalprivacy.com>";
|
||||
akc = "Anders Claesson <akc@akc.is>";
|
||||
algorith = "Dries Van Daele <dries_van_daele@telenet.be>";
|
||||
all = "Nix Committers <nix-commits@lists.science.uu.nl>";
|
||||
@ -37,6 +38,7 @@
|
||||
emery = "Emery Hemingway <emery@vfemail.net>";
|
||||
ertes = "Ertugrul Söylemez <ertesx@gmx.de>";
|
||||
falsifian = "James Cook <james.cook@utoronto.ca>";
|
||||
flosse = "Markus Kohlhase <mail@markus-kohlhase.de>";
|
||||
fuuzetsu = "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>";
|
||||
garbas = "Rok Garbas <rok@garbas.si>";
|
||||
goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
|
||||
|
@ -194,7 +194,7 @@ rec {
|
||||
|
||||
is transformed into
|
||||
|
||||
[ { boot = set1; } { boot = mkIf cond set2; services mkIf cond set3; } ].
|
||||
[ { boot = set1; } { boot = mkIf cond set2; services = mkIf cond set3; } ].
|
||||
|
||||
This transform is the critical step that allows mkIf conditions
|
||||
to refer to the full configuration without creating an infinite
|
||||
|
@ -9,8 +9,8 @@
|
||||
<xsl:template match="logfile">
|
||||
<html>
|
||||
<head>
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="treebits.js" />
|
||||
<link rel="stylesheet" href="logfile.css" type="text/css" />
|
||||
<title>Log File</title>
|
||||
|
@ -37,7 +37,7 @@ rec {
|
||||
# `driver' is the script that runs the network.
|
||||
runTests = driver:
|
||||
stdenv.mkDerivation {
|
||||
name = "vm-test-run";
|
||||
name = "vm-test-run-${driver.testName}";
|
||||
|
||||
requiredSystemFeatures = [ "kvm" "nixos-test" ];
|
||||
|
||||
@ -68,9 +68,10 @@ rec {
|
||||
|
||||
|
||||
makeTest =
|
||||
{ testScript, makeCoverageReport ? false, ... } @ t:
|
||||
{ testScript, makeCoverageReport ? false, name ? "unnamed", ... } @ t:
|
||||
|
||||
let
|
||||
testDriverName = "nixos-test-driver-${name}";
|
||||
|
||||
nodes = buildVirtualNetwork (
|
||||
t.nodes or (if t ? machine then { machine = t.machine; } else { }));
|
||||
@ -88,10 +89,11 @@ rec {
|
||||
# Generate onvenience wrappers for running the test driver
|
||||
# interactively with the specified network, and for starting the
|
||||
# VMs from the command line.
|
||||
driver = runCommand "nixos-test-driver"
|
||||
driver = runCommand testDriverName
|
||||
{ buildInputs = [ makeWrapper];
|
||||
testScript = testScript';
|
||||
preferLocalBuild = true;
|
||||
testName = name;
|
||||
}
|
||||
''
|
||||
mkdir -p $out/bin
|
||||
|
@ -32,12 +32,12 @@ in
|
||||
|
||||
kdc = mkOption {
|
||||
default = "kerberos.mit.edu";
|
||||
description = "Kerberos Domain Controller";
|
||||
description = "Kerberos Domain Controller.";
|
||||
};
|
||||
|
||||
kerberosAdminServer = mkOption {
|
||||
default = "kerberos.mit.edu";
|
||||
description = "Kerberos Admin Server";
|
||||
description = "Kerberos Admin Server.";
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -6,8 +6,12 @@ let
|
||||
|
||||
sysctlOption = mkOptionType {
|
||||
name = "sysctl option value";
|
||||
check = x: isBool x || isString x || isInt x || isNull x;
|
||||
merge = args: defs: (last defs).value; # FIXME: hacky way to allow overriding in configuration.nix.
|
||||
check = val:
|
||||
let
|
||||
checkType = x: isBool x || isString x || isInt x || isNull x;
|
||||
in
|
||||
checkType val || (val._type or "" == "override" && checkType val.content);
|
||||
merge = loc: defs: mergeOneOption loc (filterOverrides defs);
|
||||
};
|
||||
|
||||
in
|
||||
|
@ -97,6 +97,16 @@ if [ -n "$upgrade" -a -z "$_NIXOS_REBUILD_REEXEC" ]; then
|
||||
nix-channel --update nixos
|
||||
fi
|
||||
|
||||
# Make sure that we use the Nix package we depend on, not something
|
||||
# else from the PATH for nix-{env,instantiate,build}. This is
|
||||
# important, because NixOS defaults the architecture of the rebuilt
|
||||
# system to the architecture of the nix-* binaries used. So if on an
|
||||
# amd64 system the user has an i686 Nix package in her PATH, then we
|
||||
# would silently downgrade the whole system to be i686 NixOS on the
|
||||
# next reboot.
|
||||
if [ -z "$_NIXOS_REBUILD_REEXEC" ]; then
|
||||
export PATH=@nix@/bin:$PATH
|
||||
fi
|
||||
|
||||
# Re-execute nixos-rebuild from the Nixpkgs tree.
|
||||
if [ -z "$_NIXOS_REBUILD_REEXEC" -a -n "$canRun" ]; then
|
||||
|
@ -32,6 +32,7 @@ let
|
||||
nixos-rebuild = makeProg {
|
||||
name = "nixos-rebuild";
|
||||
src = ./nixos-rebuild.sh;
|
||||
nix = config.nix.package;
|
||||
};
|
||||
|
||||
nixos-generate-config = makeProg {
|
||||
|
@ -134,6 +134,7 @@
|
||||
teamspeak = 124;
|
||||
influxdb = 125;
|
||||
nsd = 126;
|
||||
gitolite = 127;
|
||||
|
||||
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
||||
|
||||
|
@ -147,6 +147,7 @@
|
||||
./services/misc/felix.nix
|
||||
./services/misc/folding-at-home.nix
|
||||
./services/misc/gpsd.nix
|
||||
./services/misc/gitolite.nix
|
||||
./services/misc/nix-daemon.nix
|
||||
./services/misc/nix-gc.nix
|
||||
./services/misc/nix-ssh-serve.nix
|
||||
@ -216,6 +217,7 @@
|
||||
./services/networking/prayer.nix
|
||||
./services/networking/privoxy.nix
|
||||
./services/networking/quassel.nix
|
||||
./services/networking/radicale.nix
|
||||
./services/networking/radvd.nix
|
||||
./services/networking/rdnssd.nix
|
||||
./services/networking/rpcbind.nix
|
||||
|
@ -22,7 +22,7 @@ in
|
||||
interval = 5;
|
||||
};
|
||||
description = ''
|
||||
Parameters to be written to <filename>/etc/atoprc</filename>
|
||||
Parameters to be written to <filename>/etc/atoprc</filename>.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -19,8 +19,8 @@ in
|
||||
environment.variables =
|
||||
{ LOCATE_PATH = "/var/cache/locatedb";
|
||||
NIXPKGS_CONFIG = "/etc/nix/nixpkgs-config.nix";
|
||||
PAGER = "less -R";
|
||||
EDITOR = "nano";
|
||||
PAGER = mkDefault "less -R";
|
||||
EDITOR = mkDefault "nano";
|
||||
};
|
||||
|
||||
environment.sessionVariables =
|
||||
|
@ -189,7 +189,9 @@ let
|
||||
session required pam_env.so envfile=${config.system.build.pamEnvironment}
|
||||
session required pam_unix.so
|
||||
${optionalString cfg.setLoginUid
|
||||
"session required pam_loginuid.so"}
|
||||
"session ${
|
||||
if config.boot.isContainer then "optional" else "required"
|
||||
} pam_loginuid.so"}
|
||||
${optionalString cfg.updateWtmp
|
||||
"session required ${pkgs.pam}/lib/security/pam_lastlog.so silent"}
|
||||
${optionalString config.users.ldap.enable
|
||||
|
@ -68,7 +68,7 @@ in
|
||||
|
||||
users.extraUsers = optionalAttrs (cfg.user == "openldap") (singleton
|
||||
{ name = "openldap";
|
||||
group = "openldap";
|
||||
group = cfg.group;
|
||||
uid = config.ids.uids.openldap;
|
||||
});
|
||||
|
||||
|
@ -50,7 +50,7 @@ in
|
||||
|
||||
user = mkOption {
|
||||
default = "redis";
|
||||
description = "User account under which Redis runs";
|
||||
description = "User account under which Redis runs.";
|
||||
};
|
||||
|
||||
pidFile = mkOption {
|
||||
@ -60,26 +60,26 @@ in
|
||||
|
||||
port = mkOption {
|
||||
default = 6379;
|
||||
description = "The port for Redis to listen to";
|
||||
description = "The port for Redis to listen to.";
|
||||
type = with types; int;
|
||||
};
|
||||
|
||||
bind = mkOption {
|
||||
default = null; # All interfaces
|
||||
description = "The IP interface to bind to";
|
||||
description = "The IP interface to bind to.";
|
||||
example = "127.0.0.1";
|
||||
};
|
||||
|
||||
unixSocket = mkOption {
|
||||
default = null;
|
||||
description = "The path to the socket to bind to";
|
||||
description = "The path to the socket to bind to.";
|
||||
example = "/var/run/redis.sock";
|
||||
};
|
||||
|
||||
logLevel = mkOption {
|
||||
default = "notice"; # debug, verbose, notice, warning
|
||||
example = "debug";
|
||||
description = "Specify the server verbosity level, options: debug, verbose, notice, warning";
|
||||
description = "Specify the server verbosity level, options: debug, verbose, notice, warning.";
|
||||
type = with types; string;
|
||||
};
|
||||
|
||||
@ -110,19 +110,19 @@ in
|
||||
|
||||
dbFilename = mkOption {
|
||||
default = "dump.rdb";
|
||||
description = "The filename where to dump the DB";
|
||||
description = "The filename where to dump the DB.";
|
||||
type = with types; string;
|
||||
};
|
||||
|
||||
dbpath = mkOption {
|
||||
default = "/var/lib/redis";
|
||||
description = "The DB will be written inside this directory, with the filename specified using the 'dbFilename' configuration";
|
||||
description = "The DB will be written inside this directory, with the filename specified using the 'dbFilename' configuration.";
|
||||
type = with types; string;
|
||||
};
|
||||
|
||||
slaveOf = mkOption {
|
||||
default = null; # { ip, port }
|
||||
description = "An attribute set with two attributes: ip and port to which this redis instance acts as a slave";
|
||||
description = "An attribute set with two attributes: ip and port to which this redis instance acts as a slave.";
|
||||
example = { ip = "192.168.1.100"; port = 6379; };
|
||||
};
|
||||
|
||||
@ -154,26 +154,26 @@ in
|
||||
|
||||
appendFsync = mkOption {
|
||||
default = "everysec"; # no, always, everysec
|
||||
description = "How often to fsync the append-only log, options: no, always, everysec";
|
||||
description = "How often to fsync the append-only log, options: no, always, everysec.";
|
||||
type = with types; string;
|
||||
};
|
||||
|
||||
slowLogLogSlowerThan = mkOption {
|
||||
default = 10000;
|
||||
description = "Log queries whose execution take longer than X in milliseconds";
|
||||
description = "Log queries whose execution take longer than X in milliseconds.";
|
||||
example = 1000;
|
||||
type = with types; int;
|
||||
};
|
||||
|
||||
slowLogMaxLen = mkOption {
|
||||
default = 128;
|
||||
description = "Maximum number of items to keep in slow log";
|
||||
description = "Maximum number of items to keep in slow log.";
|
||||
type = with types; int;
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
default = "";
|
||||
description = "Extra configuration options for redis.conf";
|
||||
description = "Extra configuration options for redis.conf.";
|
||||
type = with types; string;
|
||||
};
|
||||
};
|
||||
|
@ -17,6 +17,11 @@ in
|
||||
description = "Enable logstash";
|
||||
};
|
||||
|
||||
enableWeb = mkOption {
|
||||
default = false;
|
||||
description = "Enable logstash web interface";
|
||||
};
|
||||
|
||||
inputConfig = mkOption {
|
||||
default = ''stdin { type => "example" }'';
|
||||
description = "Logstash input configuration";
|
||||
@ -62,7 +67,7 @@ in
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.logstash = with pkgs; {
|
||||
description = "Logstash daemon";
|
||||
description = "Logstash Daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
@ -78,7 +83,7 @@ in
|
||||
output {
|
||||
${cfg.outputConfig}
|
||||
}
|
||||
''}";
|
||||
''} ${optionalString cfg.enableWeb "-- web"}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
66
nixos/modules/services/misc/gitolite.nix
Normal file
66
nixos/modules/services/misc/gitolite.nix
Normal file
@ -0,0 +1,66 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.gitolite;
|
||||
pubkeyFile = pkgs.writeText "gitolite-admin.pub" cfg.adminPubkey;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
services.gitolite = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Enable gitolite management under the
|
||||
<literal>gitolite</literal> user. The Gitolite home
|
||||
directory is <literal>/var/lib/gitolite</literal>. After
|
||||
switching to a configuration with Gitolite enabled, you can
|
||||
then run <literal>git clone
|
||||
gitolite@host:gitolite-admin.git</literal> to manage it further.
|
||||
'';
|
||||
};
|
||||
|
||||
adminPubkey = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
Initial administrative public key for Gitolite. This should
|
||||
be an SSH Public Key. Note that this key will only be used
|
||||
once, upon the first initialization of the Gitolite user.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
users.extraUsers.gitolite = {
|
||||
description = "Gitolite user";
|
||||
home = "/var/lib/gitolite";
|
||||
createHome = true;
|
||||
uid = config.ids.uids.gitolite;
|
||||
useDefaultShell = true;
|
||||
};
|
||||
|
||||
systemd.services."gitolite-init" = {
|
||||
description = "Gitolite initialization";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
serviceConfig.User = "gitolite";
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = true;
|
||||
|
||||
path = [ pkgs.gitolite pkgs.git pkgs.perl pkgs.bash pkgs.openssh ];
|
||||
script = ''
|
||||
cd /var/lib/gitolite
|
||||
mkdir -p .gitolite/logs
|
||||
if [ ! -d repositories ]; then
|
||||
gitolite setup -pk ${pubkeyFile}
|
||||
fi
|
||||
gitolite setup # Upgrade if needed
|
||||
'';
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs.gitolite pkgs.git ];
|
||||
};
|
||||
}
|
48
nixos/modules/services/networking/radicale.nix
Normal file
48
nixos/modules/services/networking/radicale.nix
Normal file
@ -0,0 +1,48 @@
|
||||
{config, lib, pkgs, ...}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.radicale;
|
||||
|
||||
confFile = pkgs.writeText "radicale.conf" cfg.config;
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
options = {
|
||||
|
||||
services.radicale.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Enable Radicale CalDAV and CardDAV server
|
||||
'';
|
||||
};
|
||||
|
||||
services.radicale.config = mkOption {
|
||||
type = types.string;
|
||||
default = "";
|
||||
description = ''
|
||||
Radicale configuration, this will set the service
|
||||
configuration file
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
environment.systemPackages = [ pkgs.pythonPackages.radicale ];
|
||||
|
||||
jobs.radicale = {
|
||||
description = "A Simple Calendar and Contact Server";
|
||||
startOn = "started network-interfaces";
|
||||
exec = "${pkgs.pythonPackages.radicale}/bin/radicale -C ${confFile} -d";
|
||||
daemonType = "fork";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -27,37 +27,37 @@ in {
|
||||
|
||||
options.services.elasticsearch = {
|
||||
enable = mkOption {
|
||||
description = "Whether to enable elasticsearch";
|
||||
description = "Whether to enable elasticsearch.";
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
};
|
||||
|
||||
host = mkOption {
|
||||
description = "Elasticsearch listen address";
|
||||
description = "Elasticsearch listen address.";
|
||||
default = "127.0.0.1";
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
description = "Elasticsearch port to listen for HTTP traffic";
|
||||
description = "Elasticsearch port to listen for HTTP traffic.";
|
||||
default = 9200;
|
||||
type = types.int;
|
||||
};
|
||||
|
||||
tcp_port = mkOption {
|
||||
description = "Elasticsearch port for the node to node communication";
|
||||
description = "Elasticsearch port for the node to node communication.";
|
||||
default = 9300;
|
||||
type = types.int;
|
||||
};
|
||||
|
||||
cluster_name = mkOption {
|
||||
description = "Elasticsearch name that identifies your cluster for auto-discovery";
|
||||
description = "Elasticsearch name that identifies your cluster for auto-discovery.";
|
||||
default = "elasticsearch";
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
extraConf = mkOption {
|
||||
description = "Extra configuration for elasticsearch";
|
||||
description = "Extra configuration for elasticsearch.";
|
||||
default = "";
|
||||
type = types.str;
|
||||
example = ''
|
||||
@ -70,7 +70,7 @@ in {
|
||||
};
|
||||
|
||||
logging = mkOption {
|
||||
description = "Elasticsearch logging configuration";
|
||||
description = "Elasticsearch logging configuration.";
|
||||
default = ''
|
||||
rootLogger: INFO, console
|
||||
logger:
|
||||
@ -95,7 +95,7 @@ in {
|
||||
};
|
||||
|
||||
extraCmdLineOptions = mkOption {
|
||||
description = "Extra command line options for the elasticsearch launcher";
|
||||
description = "Extra command line options for the elasticsearch launcher.";
|
||||
default = [];
|
||||
type = types.listOf types.string;
|
||||
example = [ "-Djava.net.preferIPv4Stack=true" ];
|
||||
@ -107,7 +107,7 @@ in {
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.elasticsearch = {
|
||||
description = "Elasticsearch daemon";
|
||||
description = "Elasticsearch Daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
environment = { ES_HOME = cfg.dataDir; };
|
||||
|
@ -594,17 +594,17 @@ in
|
||||
message = "SSL is enabled for HTTPD, but sslServerCert and/or sslServerKey haven't been specified."; }
|
||||
];
|
||||
|
||||
users.extraUsers = optional (mainCfg.user == "wwwrun")
|
||||
users.extraUsers = optionalAttrs (mainCfg.user == "wwwrun") (singleton
|
||||
{ name = "wwwrun";
|
||||
group = "wwwrun";
|
||||
group = mainCfg.group;
|
||||
description = "Apache httpd user";
|
||||
uid = config.ids.uids.wwwrun;
|
||||
};
|
||||
});
|
||||
|
||||
users.extraGroups = optional (mainCfg.group == "wwwrun")
|
||||
users.extraGroups = optionalAttrs (mainCfg.group == "wwwrun") (singleton
|
||||
{ name = "wwwrun";
|
||||
gid = config.ids.gids.wwwrun;
|
||||
};
|
||||
});
|
||||
|
||||
environment.systemPackages = [httpd] ++ concatMap (svc: svc.extraPath) allSubservices;
|
||||
|
||||
|
@ -16,28 +16,28 @@ let
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = "The block device is backed by an encrypted one, adds this device as a initrd luks entry";
|
||||
description = "The block device is backed by an encrypted one, adds this device as a initrd luks entry.";
|
||||
};
|
||||
|
||||
blkDev = mkOption {
|
||||
default = null;
|
||||
example = "/dev/sda1";
|
||||
type = types.uniq (types.nullOr types.string);
|
||||
description = "Location of the backing encrypted device";
|
||||
description = "Location of the backing encrypted device.";
|
||||
};
|
||||
|
||||
label = mkOption {
|
||||
default = null;
|
||||
example = "rootfs";
|
||||
type = types.uniq (types.nullOr types.string);
|
||||
description = "Label of the backing encrypted device";
|
||||
description = "Label of the backing encrypted device.";
|
||||
};
|
||||
|
||||
keyFile = mkOption {
|
||||
default = null;
|
||||
example = "/root/.swapkey";
|
||||
type = types.uniq (types.nullOr types.string);
|
||||
description = "File system location of keyfile";
|
||||
description = "File system location of keyfile.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,6 +1,7 @@
|
||||
# Test whether `avahi-daemon' and `libnss-mdns' work as expected.
|
||||
|
||||
import ./make-test.nix {
|
||||
name = "avahi";
|
||||
|
||||
nodes = {
|
||||
one =
|
||||
|
@ -23,6 +23,7 @@ let
|
||||
in
|
||||
|
||||
{
|
||||
name = "bittorrent";
|
||||
|
||||
nodes =
|
||||
{ tracker =
|
||||
|
@ -6,6 +6,8 @@
|
||||
with import ../lib/build-vms.nix { inherit nixos nixpkgs system; };
|
||||
|
||||
rec {
|
||||
name = "check-filesystems";
|
||||
|
||||
nodes = {
|
||||
share = {pkgs, config, ...}: {
|
||||
services.nfs.server.enable = true;
|
||||
|
@ -1,6 +1,7 @@
|
||||
# Test for NixOS' container support.
|
||||
|
||||
import ./make-test.nix {
|
||||
name = "containers";
|
||||
|
||||
machine =
|
||||
{ config, pkgs, ... }:
|
||||
|
@ -1,4 +1,5 @@
|
||||
import ./make-test.nix ({ pkgs, ... }: {
|
||||
name = "firefox";
|
||||
|
||||
machine =
|
||||
{ config, pkgs, ... }:
|
||||
|
@ -1,6 +1,7 @@
|
||||
# Test the firewall module.
|
||||
|
||||
import ./make-test.nix {
|
||||
name = "firewall";
|
||||
|
||||
nodes =
|
||||
{ walled =
|
||||
|
@ -1,4 +1,5 @@
|
||||
import ./make-test.nix {
|
||||
name = "gnome3";
|
||||
|
||||
machine =
|
||||
{ config, pkgs, ... }:
|
||||
|
@ -1,4 +1,5 @@
|
||||
import ./make-test.nix {
|
||||
name = "gnome3_12";
|
||||
|
||||
machine =
|
||||
{ config, pkgs, ... }:
|
||||
|
@ -1,6 +1,8 @@
|
||||
# This test runs influxdb and checks if influxdb is up and running
|
||||
|
||||
import ./make-test.nix {
|
||||
name = "influxdb";
|
||||
|
||||
nodes = {
|
||||
one = { config, pkgs, ... }: {
|
||||
services.influxdb.enable = true;
|
||||
|
@ -215,10 +215,11 @@ let
|
||||
'';
|
||||
|
||||
|
||||
makeInstallerTest =
|
||||
makeInstallerTest = name:
|
||||
{ createPartitions, testChannel ? false, useEFI ? false, grubVersion ? 2, grubDevice ? "/dev/vda" }:
|
||||
makeTest {
|
||||
inherit iso;
|
||||
name = "installer-" + name;
|
||||
nodes = if testChannel then { inherit webserver; } else { };
|
||||
testScript = testScriptFun {
|
||||
inherit createPartitions testChannel useEFI grubVersion grubDevice;
|
||||
@ -233,7 +234,7 @@ in {
|
||||
|
||||
# The (almost) simplest partitioning scheme: a swap partition and
|
||||
# one big filesystem partition.
|
||||
simple = makeInstallerTest
|
||||
simple = makeInstallerTest "simple"
|
||||
{ createPartitions =
|
||||
''
|
||||
$machine->succeed(
|
||||
@ -251,7 +252,7 @@ in {
|
||||
};
|
||||
|
||||
# Same as the previous, but now with a separate /boot partition.
|
||||
separateBoot = makeInstallerTest
|
||||
separateBoot = makeInstallerTest "separateBoot"
|
||||
{ createPartitions =
|
||||
''
|
||||
$machine->succeed(
|
||||
@ -273,7 +274,7 @@ in {
|
||||
|
||||
# Create two physical LVM partitions combined into one volume group
|
||||
# that contains the logical swap and root partitions.
|
||||
lvm = makeInstallerTest
|
||||
lvm = makeInstallerTest "lvm"
|
||||
{ createPartitions =
|
||||
''
|
||||
$machine->succeed(
|
||||
@ -295,7 +296,7 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
swraid = makeInstallerTest
|
||||
swraid = makeInstallerTest "swraid"
|
||||
{ createPartitions =
|
||||
''
|
||||
$machine->succeed(
|
||||
@ -328,7 +329,7 @@ in {
|
||||
};
|
||||
|
||||
# Test a basic install using GRUB 1.
|
||||
grub1 = makeInstallerTest
|
||||
grub1 = makeInstallerTest "grub1"
|
||||
{ createPartitions =
|
||||
''
|
||||
$machine->succeed(
|
||||
@ -348,7 +349,7 @@ in {
|
||||
};
|
||||
|
||||
# Test an EFI install.
|
||||
efi = makeInstallerTest
|
||||
efi = makeInstallerTest "efi"
|
||||
{ createPartitions =
|
||||
''
|
||||
$machine->succeed(
|
||||
@ -369,6 +370,7 @@ in {
|
||||
# Rebuild the CD configuration with a little modification.
|
||||
rebuildCD = makeTest
|
||||
{ inherit iso;
|
||||
name = "rebuild-CD";
|
||||
nodes = { };
|
||||
testScript =
|
||||
''
|
||||
|
@ -2,6 +2,7 @@
|
||||
# solicication/advertisement using radvd works.
|
||||
|
||||
import ./make-test.nix {
|
||||
name = "ipv6";
|
||||
|
||||
nodes =
|
||||
{ client = { config, pkgs, ... }: { };
|
||||
|
@ -4,6 +4,7 @@
|
||||
# 3. jenkins service not started on slave node
|
||||
|
||||
import ./make-test.nix {
|
||||
name = "jenkins";
|
||||
|
||||
nodes = {
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
import ./make-test.nix ({ pkgs, ... }: {
|
||||
name = "kde4";
|
||||
|
||||
machine =
|
||||
{ config, pkgs, ... }:
|
||||
|
@ -1,6 +1,7 @@
|
||||
# Test whether fast reboots via kexec work.
|
||||
|
||||
import ./make-test.nix {
|
||||
name = "kexec";
|
||||
|
||||
machine = { config, pkgs, ... }:
|
||||
{ virtualisation.vlans = [ ]; };
|
||||
|
@ -1,6 +1,7 @@
|
||||
import ./make-test.nix ({ pkgs, latestKernel ? false, ... }:
|
||||
|
||||
{
|
||||
name = "login";
|
||||
|
||||
machine =
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
@ -2,6 +2,7 @@
|
||||
# elasticsearch is started.
|
||||
|
||||
import ./make-test.nix {
|
||||
name = "logstash";
|
||||
|
||||
nodes = {
|
||||
one =
|
||||
|
@ -1,6 +1,7 @@
|
||||
# Miscellaneous small tests that don't warrant their own VM run.
|
||||
|
||||
import ./make-test.nix {
|
||||
name = "misc";
|
||||
|
||||
machine =
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
@ -1,6 +1,8 @@
|
||||
# Simple example to showcase distributed tests using NixOS VMs.
|
||||
|
||||
import ./make-test.nix {
|
||||
name = "mpich";
|
||||
|
||||
nodes = {
|
||||
master =
|
||||
{ config, pkgs, ... }: {
|
||||
|
@ -7,6 +7,8 @@ let
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "mumble";
|
||||
|
||||
nodes = {
|
||||
server = { config, pkgs, ... }: {
|
||||
services.murmur.enable = true;
|
||||
|
@ -2,6 +2,7 @@
|
||||
# machine.
|
||||
|
||||
import ./make-test.nix {
|
||||
name = "munin";
|
||||
|
||||
nodes = {
|
||||
one =
|
||||
|
@ -6,6 +6,8 @@ let
|
||||
in
|
||||
|
||||
{
|
||||
name = "mysql-replication";
|
||||
|
||||
nodes = {
|
||||
master =
|
||||
{ pkgs, config, ... }:
|
||||
|
@ -1,4 +1,5 @@
|
||||
import ./make-test.nix {
|
||||
name = "mysql";
|
||||
|
||||
nodes = {
|
||||
master =
|
||||
|
@ -5,6 +5,7 @@
|
||||
# for the client.
|
||||
|
||||
import ./make-test.nix {
|
||||
name = "nat";
|
||||
|
||||
nodes =
|
||||
{ client =
|
||||
|
@ -17,6 +17,7 @@ let
|
||||
in
|
||||
|
||||
{
|
||||
name = "nfs";
|
||||
|
||||
nodes =
|
||||
{ client1 = client;
|
||||
|
@ -1,4 +1,22 @@
|
||||
import ./make-test.nix ({ pkgs, ... }: {
|
||||
import ./make-test.nix ({ pkgs, ... }:
|
||||
|
||||
let
|
||||
snakeOilPrivateKey = pkgs.writeText "privkey.snakeoil" ''
|
||||
-----BEGIN EC PRIVATE KEY-----
|
||||
MHcCAQEEIHQf/khLvYrQ8IOika5yqtWvI0oquHlpRLTZiJy5dRJmoAoGCCqGSM49
|
||||
AwEHoUQDQgAEKF0DYGbBwbj06tA3fd/+yP44cvmwmHBWXZCKbS+RQlAKvLXMWkpN
|
||||
r1lwMyJZoSGgBHoUahoYjTh9/sJL7XLJtA==
|
||||
-----END EC PRIVATE KEY-----
|
||||
'';
|
||||
|
||||
snakeOilPublicKey = pkgs.lib.concatStrings [
|
||||
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHA"
|
||||
"yNTYAAABBBChdA2BmwcG49OrQN33f/sj+OHL5sJhwVl2Qim0vkUJQCry1zFpKTa"
|
||||
"9ZcDMiWaEhoAR6FGoaGI04ff7CS+1yybQ= sakeoil"
|
||||
];
|
||||
|
||||
in {
|
||||
name = "openssh";
|
||||
|
||||
nodes = {
|
||||
|
||||
@ -9,6 +27,9 @@ import ./make-test.nix ({ pkgs, ... }: {
|
||||
services.openssh.enable = true;
|
||||
security.pam.services.sshd.limits =
|
||||
[ { domain = "*"; item = "memlock"; type = "-"; value = 1024; } ];
|
||||
users.extraUsers.root.openssh.authorizedKeys.keys = [
|
||||
snakeOilPublicKey
|
||||
];
|
||||
};
|
||||
|
||||
client =
|
||||
@ -23,15 +44,25 @@ import ./make-test.nix ({ pkgs, ... }: {
|
||||
|
||||
$server->waitForUnit("sshd");
|
||||
|
||||
$server->succeed("mkdir -m 700 /root/.ssh");
|
||||
$server->copyFileFromHost("key.pub", "/root/.ssh/authorized_keys");
|
||||
subtest "manual-authkey", sub {
|
||||
$server->succeed("mkdir -m 700 /root/.ssh");
|
||||
$server->copyFileFromHost("key.pub", "/root/.ssh/authorized_keys");
|
||||
|
||||
$client->succeed("mkdir -m 700 /root/.ssh");
|
||||
$client->copyFileFromHost("key", "/root/.ssh/id_dsa");
|
||||
$client->succeed("chmod 600 /root/.ssh/id_dsa");
|
||||
$client->succeed("mkdir -m 700 /root/.ssh");
|
||||
$client->copyFileFromHost("key", "/root/.ssh/id_dsa");
|
||||
$client->succeed("chmod 600 /root/.ssh/id_dsa");
|
||||
|
||||
$client->waitForUnit("network.target");
|
||||
$client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'echo hello world' >&2");
|
||||
$client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'ulimit -l' | grep 1024");
|
||||
$client->waitForUnit("network.target");
|
||||
$client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'echo hello world' >&2");
|
||||
$client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'ulimit -l' | grep 1024");
|
||||
};
|
||||
|
||||
subtest "configured-authkey", sub {
|
||||
$client->succeed("cat ${snakeOilPrivateKey} > privkey.snakeoil");
|
||||
$client->succeed("chmod 600 privkey.snakeoil");
|
||||
$client->succeed("ssh -o UserKnownHostsFile=/dev/null" .
|
||||
" -o StrictHostKeyChecking=no -i privkey.snakeoil" .
|
||||
" server true");
|
||||
};
|
||||
'';
|
||||
})
|
||||
|
@ -63,6 +63,8 @@ let
|
||||
logvol / --size=1000 --grow --fstype=ext4 --name=root --vgname=nixos
|
||||
'';
|
||||
in {
|
||||
name = "partitiion";
|
||||
|
||||
machine = { config, pkgs, ... }: {
|
||||
environment.systemPackages = [
|
||||
pkgs.pythonPackages.nixpart
|
||||
|
@ -1,4 +1,5 @@
|
||||
import ./make-test.nix ({ pkgs, ... }: {
|
||||
name = "phabricator";
|
||||
|
||||
nodes = {
|
||||
storage =
|
||||
|
@ -1,6 +1,7 @@
|
||||
# Test printing via CUPS.
|
||||
|
||||
import ./make-test.nix ({pkgs, ... }: {
|
||||
name = "printing";
|
||||
|
||||
nodes = {
|
||||
|
||||
|
@ -14,6 +14,7 @@ let
|
||||
in
|
||||
|
||||
{
|
||||
name = "proxy";
|
||||
|
||||
nodes =
|
||||
{ proxy =
|
||||
|
@ -13,6 +13,7 @@ let
|
||||
in
|
||||
|
||||
rec {
|
||||
name = "quake3";
|
||||
|
||||
makeCoverageReport = true;
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
# This test runs rabbitmq and checks if rabbitmq is up and running.
|
||||
|
||||
import ./make-test.nix ({ pkgs, ... }: {
|
||||
name = "rabbitmq";
|
||||
|
||||
nodes = {
|
||||
one = { config, pkgs, ... }: {
|
||||
|
@ -1,4 +1,5 @@
|
||||
import ./make-test.nix {
|
||||
name = "simple"
|
||||
|
||||
machine = { config, pkgs, ... }: { };
|
||||
|
||||
|
@ -32,6 +32,7 @@ let
|
||||
in
|
||||
|
||||
{
|
||||
name = "subversion";
|
||||
|
||||
nodes =
|
||||
{ webserver =
|
||||
|
@ -1,4 +1,5 @@
|
||||
import ./make-test.nix {
|
||||
name = "tomcat";
|
||||
|
||||
nodes = {
|
||||
server =
|
||||
|
@ -1,4 +1,5 @@
|
||||
import ./make-test.nix ({ pkgs, ... }: {
|
||||
name = "trac";
|
||||
|
||||
nodes = {
|
||||
storage =
|
||||
|
@ -10,6 +10,7 @@ let
|
||||
in
|
||||
|
||||
{
|
||||
name = "udisks2";
|
||||
|
||||
machine =
|
||||
{ config, pkgs, ... }:
|
||||
|
@ -1,4 +1,5 @@
|
||||
import ./make-test.nix {
|
||||
name = "xfce";
|
||||
|
||||
machine =
|
||||
{ config, pkgs, ... }:
|
||||
|
25
pkgs/applications/audio/transcode/default.nix
Normal file
25
pkgs/applications/audio/transcode/default.nix
Normal file
@ -0,0 +1,25 @@
|
||||
{ stdenv, fetchurl, flac, lame, zlib, libjpeg, libvorbis, libtheora, libxml2
|
||||
, lzo, libdvdread, pkgconfig, x264, libmpeg2, xvidcore }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "transcode-1.1.7";
|
||||
src = fetchurl {
|
||||
url = "https://bitbucket.org/france/transcode-tcforge/downloads/${name}.tar.bz2";
|
||||
sha256 = "1e4e72d8e0dd62a80b8dd90699f5ca64c9b0cb37a5c9325c184166a9654f0a92";
|
||||
};
|
||||
|
||||
buildInputs = [ flac lame zlib libjpeg libvorbis libtheora libxml2 lzo
|
||||
libdvdread pkgconfig x264 libmpeg2 xvidcore ];
|
||||
configureFlags = "--disable-ffmpeg --disable-libavcodec --disable-libavformat
|
||||
--enable-lzo --enable-ogg --enable-vorbis --enable-theora --enable-libxml2
|
||||
--enable-x264 --enable-libmpeg2 --enable-xvid";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Suite of command line utilities for transcoding video and audio codecs, and for converting beween different container formats";
|
||||
homepage = http://www.transcoding.org/;
|
||||
license = licenses.lgpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -1,15 +1,16 @@
|
||||
{ cabal, emacs, haskellSrcExts }:
|
||||
{ cabal, emacs, haskellMode, haskellSrcExts }:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "structured-haskell-mode";
|
||||
version = "1.0.2";
|
||||
sha256 = "1lwdhlr38y5hdr78nplplr3q0hrjhryw378f1857qh0lvp03gwl2";
|
||||
version = "1.0.3";
|
||||
sha256 = "0axmw8bj51q8v0wd4jp6giw9dnv0mp7kp8yd16s4nm4hcqgrh5h2";
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
buildDepends = [ haskellSrcExts ];
|
||||
buildDepends = [ haskellSrcExts haskellMode ];
|
||||
buildTools = [ emacs ];
|
||||
postInstall = ''
|
||||
emacs -L elisp --batch -f batch-byte-compile "elisp/"*.el
|
||||
emacs -L elisp -L ${haskellMode}/share/emacs/site-lisp \
|
||||
--batch -f batch-byte-compile "elisp/"*.el
|
||||
install -d $out/share/emacs/site-lisp
|
||||
install "elisp/"*.el "elisp/"*.elc $out/share/emacs/site-lisp
|
||||
'';
|
||||
|
@ -21,7 +21,7 @@ composableDerivation {
|
||||
# latest release
|
||||
args.fetchhg {
|
||||
url = "https://vim.googlecode.com/hg/";
|
||||
tag = "v7-4-316";
|
||||
rev = "v7-4-316";
|
||||
sha256 = "0scxx33p1ky0wihk04xqpd6rygp1crm0hx446zbjwbsjj6xxn7sx";
|
||||
};
|
||||
|
||||
|
@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchhg {
|
||||
url = "https://vim.googlecode.com/hg/";
|
||||
tag = "v7-4-316";
|
||||
rev = "v7-4-316";
|
||||
sha256 = "0scxx33p1ky0wihk04xqpd6rygp1crm0hx446zbjwbsjj6xxn7sx";
|
||||
};
|
||||
|
||||
|
@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchhg {
|
||||
url = "http://code.google.com/p/photivo/";
|
||||
tag = "d687864489da";
|
||||
rev = "d687864489da";
|
||||
sha256 = "0f6y18k7db2ci6xn664zcwm1g1k04sdv7gg1yd5jk41bndjb7z8h";
|
||||
};
|
||||
|
||||
|
31
pkgs/applications/misc/camlistore/default.nix
Normal file
31
pkgs/applications/misc/camlistore/default.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{ stdenv, lib, go, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.7";
|
||||
name = "camlistore-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/bradfitz/camlistore/archive/0.7.tar.gz";
|
||||
sha256 = "0lc35x2b9llrnma0m5czivly0c3l4lh3ldw9hwn83lkh8n0bzn11";
|
||||
};
|
||||
|
||||
buildInputs = [ go ];
|
||||
|
||||
buildPhase = ''
|
||||
go run make.go
|
||||
rm bin/README
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
ensureDir $out/bin
|
||||
cp bin/* $out/bin
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Camlistore is a way of storing, syncing, sharing, modelling and backing up content";
|
||||
homepage = https://camlistore.org;
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ cstrahan ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
@ -1,15 +1,15 @@
|
||||
{ stdenv, fetchurl, gettext, kdelibs, makeWrapper, qca2, qca2_ossl, qjson }:
|
||||
{ stdenv, fetchurl, gettext, kdelibs, libXtst, makeWrapper, qca2, qca2_ossl, qjson }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "kdeconnect-${version}";
|
||||
version = "0.5.2.1";
|
||||
version = "0.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.kde.org/unstable/kdeconnect/0.5.2/src/kdeconnect-kde-${version}.tar.xz";
|
||||
sha256 = "0g632ha7xcqf839c4h0dz5637bz6gnn2gz76dc0qq09zbrq49i08";
|
||||
url = "http://download.kde.org/unstable/kdeconnect/${version}/src/kdeconnect-kde-${version}.tar.xz";
|
||||
sha256 = "0a8g3avg9x5j07cf3c16i4w65q3fn1cbs8zxgq0vl14rzdy09q2j";
|
||||
};
|
||||
|
||||
buildInputs = [ gettext kdelibs makeWrapper qca2 qca2_ossl qjson ];
|
||||
buildInputs = [ gettext kdelibs libXtst makeWrapper qca2 qca2_ossl qjson ];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/lib/kde4/libexec/kdeconnectd --prefix QT_PLUGIN_PATH : ${qca2_ossl}/lib/qt4/plugins
|
||||
|
@ -1,23 +1,25 @@
|
||||
{ stdenv, fetchurl }:
|
||||
{ stdenv, fetchgit }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "makeself-2.1.5";
|
||||
src = fetchurl {
|
||||
url = "http://megastep.org/makeself/makeself.run";
|
||||
sha256 = "0khs19xpid4ng0igrjyz3vsi6a5xyixrrrhgdxpdhd2wnf5nc9w2";
|
||||
name = "makeself-2.2.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/megastep/makeself.git";
|
||||
rev = "b836b9281ae99abe1865608b065551da56c80719";
|
||||
sha256 = "f7c97f0f8ad8128f2f1b54383319f2cc44cbb05b60ced222784debdf326f23ad";
|
||||
};
|
||||
unpackPhase = "sh ${src}";
|
||||
installPhase = ''
|
||||
cd ${name}
|
||||
mkdir -p $out/{bin,share/{${name},man/man1}}
|
||||
mv makeself.lsm README $out/share/${name}
|
||||
mv makeself.lsm README.md $out/share/${name}
|
||||
mv makeself.sh $out/bin/makeself
|
||||
mv makeself.1 $out/share/man/man1/
|
||||
mv makeself-header.sh $out/share/${name}
|
||||
sed -e 's|HEADER=`dirname $0`/makeself-header.sh|HEADER=`dirname $0`/../share/${name}/makeself-header.sh|' -i $out/bin/makeself
|
||||
'';
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://megastep.org/makeself;
|
||||
description = "Utility to create self-extracting packages";
|
||||
license = licenses.gpl2;
|
||||
maintainer = maintainers.wmertens;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "nc-indicators";
|
||||
version = "0.1";
|
||||
sha256 = "19amwfcbwfxcj0gr7w0vgxl427l43q3l2s3n3zsxhqwkfblxmfy5";
|
||||
version = "0.2";
|
||||
sha256 = "0z3h0d3cl0xapysq5sh1rnbp8fg8adlq0x3i4ql9xin9in29q27q";
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
buildDepends = [ attoparsec gtk hflags lens pipes stm ];
|
||||
meta = {
|
||||
homepage = "https://github.com/nilcons/nc-indicators/issues";
|
||||
homepage = "https://github.com/nilcons/nc-indicators";
|
||||
description = "CPU load and memory usage indicators for i3bar";
|
||||
license = self.stdenv.lib.licenses.asl20;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
|
@ -40,7 +40,7 @@ pythonPackages.buildPythonPackage rec {
|
||||
|
||||
src = fetchhg {
|
||||
url = "https://code.google.com/p/ocropus.ocropy";
|
||||
tag = "a6e0fbd820ce";
|
||||
rev = "a6e0fbd820ce";
|
||||
sha256 = "1s0v0gd6psfjp6lghwl2dj49h18mgf2n2z8hqzw8430nzhglnlvr";
|
||||
};
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchgit, pkgconfig, makeWrapper, libsoup, webkit, gtk3, gnutls, json_c,
|
||||
m4, glib_networking, gsettings_desktop_schemas }:
|
||||
m4, glib_networking, gsettings_desktop_schemas, dconf }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "dwb-2014-06-17";
|
||||
@ -19,7 +19,7 @@ stdenv.mkDerivation {
|
||||
|
||||
preFixup=''
|
||||
wrapProgram "$out/bin/dwb" \
|
||||
--prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
|
||||
--prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules:${dconf}/lib/gio/modules" \
|
||||
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
|
||||
wrapProgram "$out/bin/dwbem" \
|
||||
--prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules"
|
||||
|
337
pkgs/applications/networking/browsers/firefox-bin/default.nix
Normal file
337
pkgs/applications/networking/browsers/firefox-bin/default.nix
Normal file
@ -0,0 +1,337 @@
|
||||
# This file is generated from generate_nix.rb
|
||||
# Execute the following command in a temporary directory to update the file.
|
||||
#
|
||||
# ruby generate_nix.rb > default.nix
|
||||
|
||||
{ stdenv, fetchurl, config
|
||||
, alsaLib
|
||||
, atk
|
||||
, cairo
|
||||
, cups
|
||||
, dbus_glib
|
||||
, dbus_libs
|
||||
, fontconfig
|
||||
, freetype
|
||||
, gconf
|
||||
, gdk_pixbuf
|
||||
, glib
|
||||
, glibc
|
||||
, gst_plugins_base
|
||||
, gstreamer
|
||||
, gtk
|
||||
, libX11
|
||||
, libXScrnSaver
|
||||
, libXext
|
||||
, libXinerama
|
||||
, libXrender
|
||||
, libXt
|
||||
, libcanberra
|
||||
, libgnome
|
||||
, libgnomeui
|
||||
, mesa
|
||||
, nspr
|
||||
, nss
|
||||
, pango
|
||||
, heimdal
|
||||
, pulseaudio
|
||||
, systemd
|
||||
}:
|
||||
|
||||
let
|
||||
version = "30.0";
|
||||
sources = [
|
||||
{ locale = "ach"; arch = "linux-i686"; sha256 = "44d2fc9d491b6c001e35cff6e5f1c38c8561d24f8fe2dfb4d79365bcabe965ea"; }
|
||||
{ locale = "ach"; arch = "linux-x86_64"; sha256 = "e9fb52a3b82a1434b7fa3bae606749819672c96ce8678c51f1fdbc68520e26bf"; }
|
||||
{ locale = "af"; arch = "linux-i686"; sha256 = "bfce74c891ea370ce4e0fe43d578c3c0050d2655fff7372806ed6be338b2c438"; }
|
||||
{ locale = "af"; arch = "linux-x86_64"; sha256 = "18408a9c3f3b8c4d9f8cfe067ac23ddcdd3d3a7a22892ba8d74de5679a064db6"; }
|
||||
{ locale = "an"; arch = "linux-i686"; sha256 = "601efbf7944408ba1ac35831eaa92c4910cd904bfadc32895ff8d756c70ae934"; }
|
||||
{ locale = "an"; arch = "linux-x86_64"; sha256 = "0ba4c272ebac9ecafe5dbfb7fbba1cd2790d126f5b1756ab9a323c94b644df0b"; }
|
||||
{ locale = "ar"; arch = "linux-i686"; sha256 = "23ea3168aea75b044fa217b78b01a2dc8c9dd92171d726c4a78c23cffc474469"; }
|
||||
{ locale = "ar"; arch = "linux-x86_64"; sha256 = "dae2c1634e17b8c3e276e4c758c4d4c3b1b0d6006adac8e420c13b6f09a6cf53"; }
|
||||
{ locale = "as"; arch = "linux-i686"; sha256 = "7d36bd4589556374822f2ab5dd102d557257b5e0b529d1c963f96e9ab6a08850"; }
|
||||
{ locale = "as"; arch = "linux-x86_64"; sha256 = "c13ccf3546bafcfeb41c33762e41af249306d4bcfd3ad7fc957db481372be0dc"; }
|
||||
{ locale = "ast"; arch = "linux-i686"; sha256 = "853310674d7011956d760883af15b8e343250f8fc3acb3067e0f5a3d978c06ff"; }
|
||||
{ locale = "ast"; arch = "linux-x86_64"; sha256 = "2b938081e8672ed5ae16c40c6300e585a26f54da278726f48b98f3ca3e065662"; }
|
||||
{ locale = "be"; arch = "linux-i686"; sha256 = "b9acce210f2adf188ba9a3d92774a846a263baa5e076bb9452b89ca5609d6ac8"; }
|
||||
{ locale = "be"; arch = "linux-x86_64"; sha256 = "dd2a33ee1ed8c848454b6e64a0c1527f193d070e4d867c4f13fa84f39c9bfecd"; }
|
||||
{ locale = "bg"; arch = "linux-i686"; sha256 = "ee060cd395ef28bbad4be74aa42e2a51e7ad866183d139bffbcc7634dc94d738"; }
|
||||
{ locale = "bg"; arch = "linux-x86_64"; sha256 = "11a5dd807083da8c3132d9d6518dc674642418eff1fccf68e451ac67b90f141a"; }
|
||||
{ locale = "bn-BD"; arch = "linux-i686"; sha256 = "339d286f7f8f469bb6f9f85a8b21a745ecc42717dc91c21c7db88822e9be661a"; }
|
||||
{ locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "fc3f06743a84a7684e43cd4efedb02a126dd119f6141da49c6120f1bbcdf9392"; }
|
||||
{ locale = "bn-IN"; arch = "linux-i686"; sha256 = "c585982368f258a8a728f782c37428311f0b6a6512231c077a439dd93645c3a2"; }
|
||||
{ locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "00b9af4425050ec42b4a45a3c4a16700edcc66297331b601950fb81421ef8eb4"; }
|
||||
{ locale = "br"; arch = "linux-i686"; sha256 = "b86d944592f16f5f0e558106e3464248e3d686f45527a40fb64aaa79d9f73422"; }
|
||||
{ locale = "br"; arch = "linux-x86_64"; sha256 = "b894c12508f0b0a892154ea61fb2bb01947929041a63518f7c405ed976cc4d3f"; }
|
||||
{ locale = "bs"; arch = "linux-i686"; sha256 = "f7da0fead608f63c4a5be92fed9e0109fbe7288948d15dde05e10bba80b47743"; }
|
||||
{ locale = "bs"; arch = "linux-x86_64"; sha256 = "1cb090f9b16bcae95055377bc14a531697c480ad50e3a098dbd572770924d558"; }
|
||||
{ locale = "ca"; arch = "linux-i686"; sha256 = "0b36330715f8909e1515c535a06f4e3fdd7660de11b3424b4ce88f336561935f"; }
|
||||
{ locale = "ca"; arch = "linux-x86_64"; sha256 = "c6e9e545d09e589fd5fbfd2c6482a5ef366c470e294823b3ba05c5e728bca2c2"; }
|
||||
{ locale = "cs"; arch = "linux-i686"; sha256 = "ff1ca239be0e99b923c63c5bbc425dd2989bc40dbdc82dd731d7173fd539406a"; }
|
||||
{ locale = "cs"; arch = "linux-x86_64"; sha256 = "fe8472d6a4bf9fcda3caef51449fc3e20e1fbadbb772b330a012ffa7219afae3"; }
|
||||
{ locale = "csb"; arch = "linux-i686"; sha256 = "db1b7dbc7b0cd564a04b3a37827e8d77277cd7ba6a59403c45115d34e637f463"; }
|
||||
{ locale = "csb"; arch = "linux-x86_64"; sha256 = "023dd75e02f41a2ce9991fb40a8a46767f1a10da876a390035a084c5b97bd9d2"; }
|
||||
{ locale = "cy"; arch = "linux-i686"; sha256 = "9a6ac60099b03bdeb71c1a7739dafeff4b1682ffc43997191196e1f590421afa"; }
|
||||
{ locale = "cy"; arch = "linux-x86_64"; sha256 = "a5f2030fb08c0dd6dff95310209ed7c6ee613680dd500f00e30e26c547f9c249"; }
|
||||
{ locale = "da"; arch = "linux-i686"; sha256 = "99a893ac19b0ca28177c8957d7296e6deef9ddb36a6b5b17823cb1e6fc9ec683"; }
|
||||
{ locale = "da"; arch = "linux-x86_64"; sha256 = "69f29e795f203fe47e22daf1259c2ecfb39c362babefbbccb31405f4632f236b"; }
|
||||
{ locale = "de"; arch = "linux-i686"; sha256 = "925aac0800ce63a88fadc945da40b00ed6dde327637821518a372d7affb6e450"; }
|
||||
{ locale = "de"; arch = "linux-x86_64"; sha256 = "d86c5d2102a95ff5a6e580a1ca7af25c2f470211182ef70e988b29b195be6dd4"; }
|
||||
{ locale = "el"; arch = "linux-i686"; sha256 = "af07fac82dea32d33bd6bc440e2a645eb160d196cf0d4883b878d3d2c584f81a"; }
|
||||
{ locale = "el"; arch = "linux-x86_64"; sha256 = "fcc96c25422837f19f9ff6cde02c81c4a5a3b7c8e6809b90c8761519571db1f6"; }
|
||||
{ locale = "en-GB"; arch = "linux-i686"; sha256 = "758f7bb669743d6067e416c26f43806b16ddd16511a6818373e70960cbbd7151"; }
|
||||
{ locale = "en-GB"; arch = "linux-x86_64"; sha256 = "d46ba3d642bf43fca46dfb29efb5d08a15f114eb9facc868e86c31f7c9c98014"; }
|
||||
{ locale = "en-US"; arch = "linux-i686"; sha256 = "4bca44a1ba94bf5616f7ea650e37cd3e5a719546def9e4a08ee88aedbc3a4db6"; }
|
||||
{ locale = "en-US"; arch = "linux-x86_64"; sha256 = "3303cc600153d0198dace9826b6883aa510d4e380aa985b092b1da67ad865625"; }
|
||||
{ locale = "en-ZA"; arch = "linux-i686"; sha256 = "13736870573863aab644bf2be2219fe4b5c6bde4bd79b84f22e12d39e7cda6e0"; }
|
||||
{ locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "7e88fa9f355f6787d38e75d86d5b592a1a2cec208255f276887f53a12beb9e97"; }
|
||||
{ locale = "eo"; arch = "linux-i686"; sha256 = "ae4446e223c0169dd0b56db58760fdb323a2bec8135e45c79d385d895b64cee8"; }
|
||||
{ locale = "eo"; arch = "linux-x86_64"; sha256 = "202f61dd8e5506594ae70bbee9150d86c8037887f8345871dc5c1c9e498b1d66"; }
|
||||
{ locale = "es-AR"; arch = "linux-i686"; sha256 = "8fb276ed26fd46fceb029fbade706cb6e55d2958f03400ec1290784c533888c4"; }
|
||||
{ locale = "es-AR"; arch = "linux-x86_64"; sha256 = "78130525d30d7c592bb63d7cedf3ab5db804d457c4d127d90b93d94501ad7b3c"; }
|
||||
{ locale = "es-CL"; arch = "linux-i686"; sha256 = "ef6bf393a681f4a08031eeda61bba3614ebfab222fed43f9f8b21cfa8eb3862e"; }
|
||||
{ locale = "es-CL"; arch = "linux-x86_64"; sha256 = "e56224bca0ebfab9eedecafafd792e48cb67e3f8741c4d5a94c8f74f634cecf6"; }
|
||||
{ locale = "es-ES"; arch = "linux-i686"; sha256 = "9e007e6aa0f8aa3d1fac5dc13e98f81c23e6ff1e574545c021f8f7feeff86ce2"; }
|
||||
{ locale = "es-ES"; arch = "linux-x86_64"; sha256 = "d4ff94f46fd086300992a30a1c4a8aa97ad7164d6cd26e82b20b5d0680b38169"; }
|
||||
{ locale = "es-MX"; arch = "linux-i686"; sha256 = "9db42a0557838b23ac4937adfec407804e624e679e9ffd6da739d17cdfbaab78"; }
|
||||
{ locale = "es-MX"; arch = "linux-x86_64"; sha256 = "d42d619d6da78d0bbcb32b0a93a2eaa623eadb3a5af43e5b8b14400e6e969779"; }
|
||||
{ locale = "et"; arch = "linux-i686"; sha256 = "5947822f3f02bd4ba530ad978de1a9d237981e3abdf1598e44095c650794d1ff"; }
|
||||
{ locale = "et"; arch = "linux-x86_64"; sha256 = "7521a4db287bb928f50b64817f3631e96ea4cead81b1a84ab7c3b930b3450e86"; }
|
||||
{ locale = "eu"; arch = "linux-i686"; sha256 = "44095e98e74205fa012a2c0c636de3fe9cfb79d5729abf15214c1e7734946014"; }
|
||||
{ locale = "eu"; arch = "linux-x86_64"; sha256 = "2032dfbc82a9aca1a2f4cf67e6089400bf305d13906f048c5c9b906a7201a9fb"; }
|
||||
{ locale = "fa"; arch = "linux-i686"; sha256 = "469b8008287c93e152e762e82fb61644384c1e2631a6c45033503652daed09b1"; }
|
||||
{ locale = "fa"; arch = "linux-x86_64"; sha256 = "61ea0d8941d22083f918d014d56a613788d1f4f549e5a62d50a1f9071439a36f"; }
|
||||
{ locale = "ff"; arch = "linux-i686"; sha256 = "81a0083e5e4136e3ab3e6db0e2adcedfae7572722655a9cb8b9ca388c6057342"; }
|
||||
{ locale = "ff"; arch = "linux-x86_64"; sha256 = "0efe16da918288754a3af816d72448a73690eb71b110cf3ff0586ee7505b9735"; }
|
||||
{ locale = "fi"; arch = "linux-i686"; sha256 = "a0ee069e7c3100b921aab7c54c5d32741df4e058f52cb7f42acb2643bd534b30"; }
|
||||
{ locale = "fi"; arch = "linux-x86_64"; sha256 = "55c84d504603d648e7d72a2fb8badb0bc9148cb376bb0cc6054f091867cb2613"; }
|
||||
{ locale = "fr"; arch = "linux-i686"; sha256 = "9c9abea13db23ef5ef8c9a3ccb5a0702b44a8db2402f43f01a478eb61e7ddf34"; }
|
||||
{ locale = "fr"; arch = "linux-x86_64"; sha256 = "ce26fc67cbc2031880ffa3529a59ca4122016258ab1c023e23247c26308b6a3e"; }
|
||||
{ locale = "fy-NL"; arch = "linux-i686"; sha256 = "4a734880ed65a207d98630647a341644df4f68149c50ce5e683bb21b5c27f2c6"; }
|
||||
{ locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "bace955c686456d7894ca7bc1cf854eb158d6183050318efc73768e232c9a413"; }
|
||||
{ locale = "ga-IE"; arch = "linux-i686"; sha256 = "4801f40ebd820b8f229cfcd04a04351fcee9f78268af1c9863089ef6c64d736a"; }
|
||||
{ locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "c417c0182e6f706473bc4b7cf8c14aec96f96e21c17b8593b71ff38c97f7e9d2"; }
|
||||
{ locale = "gd"; arch = "linux-i686"; sha256 = "15a9d316d472d2918eff0c6f02600e40a8f62d7ef53ab14c57537fdda0b5257a"; }
|
||||
{ locale = "gd"; arch = "linux-x86_64"; sha256 = "8fcdcf093148222865a905586774dae5d805ef22c01afadeaabe3f0c7b315dba"; }
|
||||
{ locale = "gl"; arch = "linux-i686"; sha256 = "83b0ccfe7cf7166899d17b2c9b1ea8effda9cf02024698f8db8f943a388bb3dc"; }
|
||||
{ locale = "gl"; arch = "linux-x86_64"; sha256 = "550026595e6e59405b5869183af056ba5a60a303270f1a176ef25e3db1c70289"; }
|
||||
{ locale = "gu-IN"; arch = "linux-i686"; sha256 = "7e7dc86fa805808931ba57455b99c9273a4b0aa60998affce3c4b06f0ae7fc70"; }
|
||||
{ locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "e0f35d7fe7875785e3749131cf86c5cbea5cbd7b3abd2c2c69f5f8376d3e53d7"; }
|
||||
{ locale = "he"; arch = "linux-i686"; sha256 = "5c200c8da3209c2120a8576c30ab609331b52807d0640daaa1a70f665c776969"; }
|
||||
{ locale = "he"; arch = "linux-x86_64"; sha256 = "6923a64d1ac5453453f148d38f116faca41be5b1d0a13d4f128bb73db67cb8e2"; }
|
||||
{ locale = "hi-IN"; arch = "linux-i686"; sha256 = "6a7e5d06169d6dd87e505012604c93a28440156a3f81e6fe24d567f9c2b2a919"; }
|
||||
{ locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "56801593b9dd5ecefed8d7eaf438879dd23006ffff9a31c543861259dedf8263"; }
|
||||
{ locale = "hr"; arch = "linux-i686"; sha256 = "4573cd0269639d122496bcaf842d8c741f4d54e8f57d0690b97d8e7e86ee7e74"; }
|
||||
{ locale = "hr"; arch = "linux-x86_64"; sha256 = "753984384829229601fbe55d0b6615f3432fdf9babe908fb642f6ac79c749727"; }
|
||||
{ locale = "hu"; arch = "linux-i686"; sha256 = "c330478e6e77eff117bce58e17661b83a30308f0a680f648fbf06d1c00f3883c"; }
|
||||
{ locale = "hu"; arch = "linux-x86_64"; sha256 = "9d118ba236aa7a9b517278c375aa4e4fa65f85c71b8bea9c41702f6ae7b815cb"; }
|
||||
{ locale = "hy-AM"; arch = "linux-i686"; sha256 = "48c1691073b6ede77f5c5d5ae07af7372f17b9f52fd92950c2cca0a01b3b340e"; }
|
||||
{ locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "beda26cefeeeeee59ea52fdd28e1e3025ca4cc3124541fc6825100a61eb398d8"; }
|
||||
{ locale = "id"; arch = "linux-i686"; sha256 = "8cf6d0bc2d4bcc68a5ddc935c3bd6ed19a63284dc3227e849be729645a6171d4"; }
|
||||
{ locale = "id"; arch = "linux-x86_64"; sha256 = "8be5900b83840871ffb6faba08fea9b35f9f396cae08b228c68e333719fb819f"; }
|
||||
{ locale = "is"; arch = "linux-i686"; sha256 = "7c167389105063b84d507b09c689fa18bf854fd695010c8273b9711b21a24034"; }
|
||||
{ locale = "is"; arch = "linux-x86_64"; sha256 = "c79321c83c9e654f6eaf96ddf5d24f279d517fbf35dfdf923acf026124919598"; }
|
||||
{ locale = "it"; arch = "linux-i686"; sha256 = "a3eb17e0eda3cbf8ffbbd1ecd1716929ac87a801f060dd8ed5291298667775a9"; }
|
||||
{ locale = "it"; arch = "linux-x86_64"; sha256 = "3742453f0748911b393fed804e5827f014cc595a9df4516438dfa163d5050411"; }
|
||||
{ locale = "ja"; arch = "linux-i686"; sha256 = "fa030c64e04766ae5200370586c08b2f25627343586cd8a0486e583f345c466e"; }
|
||||
{ locale = "ja"; arch = "linux-x86_64"; sha256 = "fddeae03ffdfef0f6cc999807e001ea931c15b1833da48655bcb5845f1e017a3"; }
|
||||
{ locale = "kk"; arch = "linux-i686"; sha256 = "39d94b10fa751faf7423e5d43cd07ef4485ff26e21e47d106d2268058e2f33d9"; }
|
||||
{ locale = "kk"; arch = "linux-x86_64"; sha256 = "1dc7138dd5c08088479c5e7e8054d7ed640504860a0043ecea2c8b0c9c1892f9"; }
|
||||
{ locale = "km"; arch = "linux-i686"; sha256 = "0d12a305de4a63fc6c6394bd4044f44ca3626cbc41ca9ef1adad6d5041f6f1fd"; }
|
||||
{ locale = "km"; arch = "linux-x86_64"; sha256 = "7710091695dd100b7f33585fce58c54fec462a96540a7d791f1935088f21fadf"; }
|
||||
{ locale = "kn"; arch = "linux-i686"; sha256 = "b039e6a1114522ccae10b89ab794a222966fbf0914513b3c14f05c082a78b922"; }
|
||||
{ locale = "kn"; arch = "linux-x86_64"; sha256 = "cf82965b25d3990a57d861d688f1bd69e5b069fe281937274060ebe36ddbb8a6"; }
|
||||
{ locale = "ko"; arch = "linux-i686"; sha256 = "8b9378d39d7b42852c2bb537b0e85312760c343e6485826ed949ab4617293025"; }
|
||||
{ locale = "ko"; arch = "linux-x86_64"; sha256 = "4b946a0cbedad2b8d0c3598c04eeb058cea05d6d7e6388e4cfa3146a40f7c449"; }
|
||||
{ locale = "ku"; arch = "linux-i686"; sha256 = "11950c4a54c6a165e924fb6e68bcc46d63b5fddfcd2561c58a0ce401c0146d36"; }
|
||||
{ locale = "ku"; arch = "linux-x86_64"; sha256 = "37a07a4e059580c31433b419bcd61d928ad1db7e607cf8443378472d54b61b78"; }
|
||||
{ locale = "lij"; arch = "linux-i686"; sha256 = "c0efca49f31800a3773b0d05add56b195d1cbea287108803bb1ef5249a0dc94f"; }
|
||||
{ locale = "lij"; arch = "linux-x86_64"; sha256 = "6e4b2d8c5e9942bc469f722110ba310b2ccdc4dda6e3baee93ae54012ae658a2"; }
|
||||
{ locale = "lt"; arch = "linux-i686"; sha256 = "acde9010aa815f6645868b03f3d68d9a24c450ed830f063e2846ac1219ee628b"; }
|
||||
{ locale = "lt"; arch = "linux-x86_64"; sha256 = "c2491cd3e5d11c302d7ec3191d646e2073c46f69966fc382901a93d16fb0c902"; }
|
||||
{ locale = "lv"; arch = "linux-i686"; sha256 = "7411de62c4d8c01c8bb15b3f2dfc2e2ed17755e2f9856ead8e5e0fd05971ffd5"; }
|
||||
{ locale = "lv"; arch = "linux-x86_64"; sha256 = "e8e57e629396eb180e0041a50ae98ecb2292f514d423423748e4d4cebc54fb59"; }
|
||||
{ locale = "mai"; arch = "linux-i686"; sha256 = "26a053e48f4e6f04e4856a0dcb26e577a6ddb99afc883786d9c260d57e5e4a6d"; }
|
||||
{ locale = "mai"; arch = "linux-x86_64"; sha256 = "86be2c736aa5ccf926d44f24afdb2d40c28444b5bd6cf090f9a847199b38b492"; }
|
||||
{ locale = "mk"; arch = "linux-i686"; sha256 = "dcf7759bcde70158298ad9e2434e37d4e8240e00589a83dd8dbba53c35466a58"; }
|
||||
{ locale = "mk"; arch = "linux-x86_64"; sha256 = "056297d6404794a8da78aeceb620b0ebbcb38a693ee1079cc02e4d0411e40ec3"; }
|
||||
{ locale = "ml"; arch = "linux-i686"; sha256 = "2d632b3a5b60f18955906adca80b7ac7af3bfa39d03afd308efd1136cfc8971d"; }
|
||||
{ locale = "ml"; arch = "linux-x86_64"; sha256 = "b54a9d47cadeae4f92d22a362ca887a18a16ef64500149ac8eb9355dbbe5971b"; }
|
||||
{ locale = "mr"; arch = "linux-i686"; sha256 = "e66b22488bf2c772fa6d29cf43f3e9c1aa2a1a867620a1144af8cb92c2647651"; }
|
||||
{ locale = "mr"; arch = "linux-x86_64"; sha256 = "da982205e9b659dd66ab05ca815324642bed2117e668e67ad620bb2d87c5d1c8"; }
|
||||
{ locale = "ms"; arch = "linux-i686"; sha256 = "ad39ffa6d6d765c1e983d885f5d139a28e481d536068d517b4807137fa8d3036"; }
|
||||
{ locale = "ms"; arch = "linux-x86_64"; sha256 = "fb1b6ed5e2e7247beb69f3d0ad937f76ce7c1107ccdad742ff5085d4b3a8da98"; }
|
||||
{ locale = "nb-NO"; arch = "linux-i686"; sha256 = "5220da4627863f9fa1c11886e9c19c315547afafa96c98b22a1a4359c75f1056"; }
|
||||
{ locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "5f9d60faadc7b76b010cd9cf35922b1881377b535e8afc5d9b974651156df866"; }
|
||||
{ locale = "nl"; arch = "linux-i686"; sha256 = "357b28841ea861b8297a4986460d1d265b27202c37bb296dcc69224f9b07fc51"; }
|
||||
{ locale = "nl"; arch = "linux-x86_64"; sha256 = "9a8505da2fe045ab6c2a2277d2d043374a26f106a5966b00f42e22fb26cf929a"; }
|
||||
{ locale = "nn-NO"; arch = "linux-i686"; sha256 = "f115bb50d1e052584caf7363db875ae222ee37449fa151e2f313c157a6274d76"; }
|
||||
{ locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "2e7829a8a20c946bddce13b7b3d1b3600f90d90d2438f3eb69188d47203b264d"; }
|
||||
{ locale = "or"; arch = "linux-i686"; sha256 = "9ad48bdf2b7f1deedb05bdcc49740d5075ebf6ec228d82a7ed455c6bb36d7cb0"; }
|
||||
{ locale = "or"; arch = "linux-x86_64"; sha256 = "a007bc73fb1ea7765016e9faebac2c4f5e0111a45b3d75d1e55f4de8931796a2"; }
|
||||
{ locale = "pa-IN"; arch = "linux-i686"; sha256 = "8a38d2b1516ed4b58e36d266cd25a5bd10548f9e412076c9b4f1f27256c98c2a"; }
|
||||
{ locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "664fa562261532d0f6bad10b84e15d47b69073768c2d12986c8d776eb1af8ddd"; }
|
||||
{ locale = "pl"; arch = "linux-i686"; sha256 = "3bb8963f1e3dcdb22cc55feebb2583fefd6f3760f4e6f2cc754174079d4ca07f"; }
|
||||
{ locale = "pl"; arch = "linux-x86_64"; sha256 = "710f1d86d2974d6ad3c63ebc0873518fd59f218ba07b27d06fb75c83af2c632e"; }
|
||||
{ locale = "pt-BR"; arch = "linux-i686"; sha256 = "cd2fafbd2291bad8481c4086db3c2973a7869b28a5e68a5ff199079814c6b3fc"; }
|
||||
{ locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "f0ba5dc2366757841afb9c9f7799c40667304c36efe7da284202e8e7a45aa1fc"; }
|
||||
{ locale = "pt-PT"; arch = "linux-i686"; sha256 = "051af14810ad0cee4487757833f1f5b4a6f6f903f3cecf00d00410c1324d9ce4"; }
|
||||
{ locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "82102b33dc1989bc3aa49da3915baf7e4012afe6e4bd7f80a301dfe847f3dbbe"; }
|
||||
{ locale = "rm"; arch = "linux-i686"; sha256 = "02051668e46d98f4e2e5becc3192f6173dfdf3a48cc82264c5821be06c5e12a0"; }
|
||||
{ locale = "rm"; arch = "linux-x86_64"; sha256 = "9600c1d272785b946058ffac9e57a8b1701d065f24fa940ad22e4b5aec2efad9"; }
|
||||
{ locale = "ro"; arch = "linux-i686"; sha256 = "7f17cbd3041396135eee08eac597c8c6a936e5a33d67d2b5de8ae157a56719ad"; }
|
||||
{ locale = "ro"; arch = "linux-x86_64"; sha256 = "ba1de85abe53a7d66f6311d6a202d91f86e871bace168cf60a759ab0e17eccdb"; }
|
||||
{ locale = "ru"; arch = "linux-i686"; sha256 = "9dcd0c2b5671fc5849b01f2932504a7217fca9a4b4eca8e9b6ff8f5a146517e2"; }
|
||||
{ locale = "ru"; arch = "linux-x86_64"; sha256 = "725214900968e4e648d3d13635bf72d34910eb31a30b83a3e7ba9c5c4085c2d7"; }
|
||||
{ locale = "si"; arch = "linux-i686"; sha256 = "d22ed75aa727351efcdba1cffe8e24ff305943c9a3072cac08b004677cf6a028"; }
|
||||
{ locale = "si"; arch = "linux-x86_64"; sha256 = "89d60c682413949a6dad4b7fd49cc4508c4e067fe5847c5f21d5e25a953f195f"; }
|
||||
{ locale = "sk"; arch = "linux-i686"; sha256 = "4ecbc58df00eaf4fafb1c33a93493bdd3e544562a67c60e2d4d93da90d369261"; }
|
||||
{ locale = "sk"; arch = "linux-x86_64"; sha256 = "75baa2c5153e282e2671d6222b7fc8c3b9cfc2b9ee0a595a4451fd314a928fb4"; }
|
||||
{ locale = "sl"; arch = "linux-i686"; sha256 = "53e2ae3525d0bd2005a86bf7ed3f27ca66906ddfceb85a738bd60e46ba2df773"; }
|
||||
{ locale = "sl"; arch = "linux-x86_64"; sha256 = "2dcc5592a49767dc3f2a7d40387bb550fd36724419ff567f9d107e32b2cf2d6d"; }
|
||||
{ locale = "son"; arch = "linux-i686"; sha256 = "d3b7372c59b21d0393768197517b3666ab78705b04a6e84a3345da031bad3776"; }
|
||||
{ locale = "son"; arch = "linux-x86_64"; sha256 = "fc017e7a18701880c7a54c23a0f77a6521aae17880dbc562e2b37167ba918fa0"; }
|
||||
{ locale = "sq"; arch = "linux-i686"; sha256 = "7f9c9100c559ebfbfff35adc694199079930f4bf9f1f6a820c0e17d80ea0e12b"; }
|
||||
{ locale = "sq"; arch = "linux-x86_64"; sha256 = "0f3fcddabab8263eb4c238942c45c0b5efc20c169948da24c56ed401a85209dc"; }
|
||||
{ locale = "sr"; arch = "linux-i686"; sha256 = "6281e2f849b3c530ff383cfd4cdc4ab06115362c3d57ba8133a9f799af08e815"; }
|
||||
{ locale = "sr"; arch = "linux-x86_64"; sha256 = "368ca83faa5ef3640f71d977916614369ebac1622681e828b75e9abf6ebeb425"; }
|
||||
{ locale = "sv-SE"; arch = "linux-i686"; sha256 = "9f77f497fc3e8c585bd546c0bb95c92f9f37d683e092c0762b3fe0022b6d39b5"; }
|
||||
{ locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "0aa21764f0ca58591e3cfebba75196edd51a8fdbadb738f036994178c9612a67"; }
|
||||
{ locale = "ta"; arch = "linux-i686"; sha256 = "463ce70405d84945c201cca56c84171e097e6a0420d38cd453a0836fad82f09c"; }
|
||||
{ locale = "ta"; arch = "linux-x86_64"; sha256 = "db7e78bc1f4bcb573474806d19324eca58f42008fb0b0fa856f701f1430aeefd"; }
|
||||
{ locale = "te"; arch = "linux-i686"; sha256 = "18643daf675f8ef9785a0039d012c3a8ce96f4d228426651c5f09c292cbfb335"; }
|
||||
{ locale = "te"; arch = "linux-x86_64"; sha256 = "d9f8a260fc47b608fd523c61e9c6981776997f4b7fc247e794be32d177abfbc0"; }
|
||||
{ locale = "th"; arch = "linux-i686"; sha256 = "e03b80d55d2a545ab3219c5e88ed6b7d6974945e32321a2fc96039a6996638f6"; }
|
||||
{ locale = "th"; arch = "linux-x86_64"; sha256 = "0416fd2b7e7ddde59a101fcba8258622a83b739effb327984fa8405e634c2121"; }
|
||||
{ locale = "tr"; arch = "linux-i686"; sha256 = "75a49ce141c9a04254185b62af72c7e8c214e19e5257ff308b294aee6ac49a28"; }
|
||||
{ locale = "tr"; arch = "linux-x86_64"; sha256 = "0845a554b299b848d35894144d3ba5c7e0b808bcc9b2732e904463258ca73cb7"; }
|
||||
{ locale = "uk"; arch = "linux-i686"; sha256 = "a89f58c0f20a3ff7e609f572a4786f06b48886b7e2d303824417f42af49c8df2"; }
|
||||
{ locale = "uk"; arch = "linux-x86_64"; sha256 = "b45768588aaf80917c8ad40d62835cc96c3dadf97715234e66542b96eeb8db8e"; }
|
||||
{ locale = "vi"; arch = "linux-i686"; sha256 = "3fc35e59ecbbdf1b76b5b66e962a60eb724d9514d622879108725bcf7881fd1e"; }
|
||||
{ locale = "vi"; arch = "linux-x86_64"; sha256 = "88116edeeecbfe1ac03af0da26aff84bc3aa5ba00574e899ec08e0d68243f509"; }
|
||||
{ locale = "xh"; arch = "linux-i686"; sha256 = "a3afd3ac14049c72a9be28fb9a0849e4d3c5c2f13cb160c480988c4231679329"; }
|
||||
{ locale = "xh"; arch = "linux-x86_64"; sha256 = "569587e9cc4cd99899d2939367d56f2e4e9ae333b583064a648f05a8b0b58e2c"; }
|
||||
{ locale = "zh-CN"; arch = "linux-i686"; sha256 = "358e44998142e56356b839a51dff97fe85e6293424bd0c148decf61f01b6125b"; }
|
||||
{ locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "7b5a84dbbe361a775aaadad8fd328e24f6cf2e336297f1d5906f51ff5d3dfae7"; }
|
||||
{ locale = "zh-TW"; arch = "linux-i686"; sha256 = "cf2cb9bed37dffe178a524ef5fe983e0e8b18f17c999e98474ae13e012da54da"; }
|
||||
{ locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "aa0f1c5fb96dc4585e70fbcc291c6842be25e5d59be8bf39e8dc0232e9f1a76c"; }
|
||||
{ locale = "zu"; arch = "linux-i686"; sha256 = "775f6507ae8d6c2ef6e29e6b4d00453dcf9a0c9651eb9da482c78b5ebe64f2cd"; }
|
||||
{ locale = "zu"; arch = "linux-x86_64"; sha256 = "603510372a52497a8e41468dbc193afa25b0615f504f4548201deb89f27bd354"; }
|
||||
];
|
||||
|
||||
arch = if stdenv.system == "i686-linux"
|
||||
then "linux-i686"
|
||||
else "linux-x86_64";
|
||||
|
||||
isPrefixOf = prefix: string:
|
||||
builtins.substring 0 (builtins.stringLength prefix) string == prefix;
|
||||
|
||||
sourceMatches = locale: source:
|
||||
(isPrefixOf source.locale locale) && source.arch == arch;
|
||||
|
||||
systemLocale = config.i18n.defaultLocale or "en-US";
|
||||
|
||||
defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
|
||||
|
||||
source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "firefox-bin-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
|
||||
inherit (source) sha256;
|
||||
};
|
||||
|
||||
phases = "unpackPhase installPhase";
|
||||
|
||||
libPath = stdenv.lib.makeLibraryPath
|
||||
[ stdenv.gcc.gcc
|
||||
alsaLib
|
||||
atk
|
||||
cairo
|
||||
cups
|
||||
dbus_glib
|
||||
dbus_libs
|
||||
fontconfig
|
||||
freetype
|
||||
gconf
|
||||
gdk_pixbuf
|
||||
glib
|
||||
glibc
|
||||
gst_plugins_base
|
||||
gstreamer
|
||||
gtk
|
||||
libX11
|
||||
libXScrnSaver
|
||||
libXext
|
||||
libXinerama
|
||||
libXrender
|
||||
libXt
|
||||
libcanberra
|
||||
libgnome
|
||||
libgnomeui
|
||||
mesa
|
||||
nspr
|
||||
nss
|
||||
pango
|
||||
heimdal
|
||||
pulseaudio
|
||||
systemd
|
||||
] + ":" + stdenv.lib.makeSearchPath "lib64" [
|
||||
stdenv.gcc.gcc
|
||||
];
|
||||
|
||||
# "strip" after "patchelf" may break binaries.
|
||||
# See: https://github.com/NixOS/patchelf/issues/10
|
||||
dontStrip = 1;
|
||||
|
||||
installPhase =
|
||||
''
|
||||
mkdir -p "$prefix/usr/lib/firefox-bin-${version}"
|
||||
cp -r * "$prefix/usr/lib/firefox-bin-${version}"
|
||||
|
||||
mkdir -p "$out/bin"
|
||||
ln -s "$prefix/usr/lib/firefox-bin-${version}/firefox" "$out/bin/"
|
||||
|
||||
for executable in \
|
||||
firefox mozilla-xremote-client firefox-bin plugin-container \
|
||||
updater crashreporter webapprt-stub
|
||||
do
|
||||
patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
|
||||
"$out/usr/lib/firefox-bin-${version}/$executable"
|
||||
done
|
||||
|
||||
for executable in \
|
||||
firefox mozilla-xremote-client firefox-bin plugin-container \
|
||||
updater crashreporter webapprt-stub libxul.so
|
||||
do
|
||||
patchelf --set-rpath "$libPath" \
|
||||
"$out/usr/lib/firefox-bin-${version}/$executable"
|
||||
done
|
||||
|
||||
# Create a desktop item.
|
||||
mkdir -p $out/share/applications
|
||||
cat > $out/share/applications/firefox.desktop <<EOF
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Exec=$out/bin/firefox
|
||||
Icon=$out/lib/firefox-bin-${version}/chrome/icons/default/default256.png
|
||||
Name=Firefox
|
||||
GenericName=Web Browser
|
||||
Categories=Application;Network;
|
||||
EOF
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Mozilla Firefox, free web browser";
|
||||
homepage = http://www.mozilla.org/firefox/;
|
||||
license = {
|
||||
shortName = "unfree"; # not sure
|
||||
fullName = "unfree";
|
||||
url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
|
||||
};
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -0,0 +1,217 @@
|
||||
# TODO share code with thunderbird-bin/generate_nix.rb
|
||||
|
||||
version = if ARGV.empty?
|
||||
"latest"
|
||||
else
|
||||
ARGV[0]
|
||||
end
|
||||
|
||||
base_path = "download-installer.cdn.mozilla.net/pub/firefox/releases"
|
||||
|
||||
arches = ["linux-i686", "linux-x86_64"]
|
||||
|
||||
arches.each do |arch|
|
||||
system("wget", "--recursive", "--continue", "--no-parent", "--reject-regex", ".*\\?.*", "--reject", "xpi", "http://#{base_path}/#{version}/#{arch}/")
|
||||
end
|
||||
|
||||
locales = Dir.glob("#{base_path}/#{version}/#{arches[0]}/*").map do |path|
|
||||
File.basename(path)
|
||||
end.sort
|
||||
|
||||
locales.delete("index.html")
|
||||
locales.delete("xpi")
|
||||
|
||||
# real version number, e.g. "30.0" instead of "latest".
|
||||
real_version = Dir.glob("#{base_path}/#{version}/#{arches[0]}/#{locales[0]}/firefox-*")[0].match(/firefox-([0-9.]*)/)[1][0..-2]
|
||||
|
||||
locale_arch_path_tuples = locales.flat_map do |locale|
|
||||
arches.map do |arch|
|
||||
path = Dir.glob("#{base_path}/#{version}/#{arch}/#{locale}/firefox-*")[0]
|
||||
|
||||
[locale, arch, path]
|
||||
end
|
||||
end
|
||||
|
||||
paths = locale_arch_path_tuples.map do |tuple| tuple[2] end
|
||||
|
||||
hashes = IO.popen(["sha256sum", "--binary", *paths]) do |input|
|
||||
input.each_line.map do |line|
|
||||
$stderr.puts(line)
|
||||
|
||||
line.match(/^[0-9a-f]*/)[0]
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
puts(<<"EOH")
|
||||
# This file is generated from generate_nix.rb
|
||||
# Execute the following command in a temporary directory to update the file.
|
||||
#
|
||||
# ruby generate_nix.rb > default.nix
|
||||
|
||||
{ stdenv, fetchurl, config
|
||||
, alsaLib
|
||||
, atk
|
||||
, cairo
|
||||
, cups
|
||||
, dbus_glib
|
||||
, dbus_libs
|
||||
, fontconfig
|
||||
, freetype
|
||||
, gconf
|
||||
, gdk_pixbuf
|
||||
, glib
|
||||
, glibc
|
||||
, gst_plugins_base
|
||||
, gstreamer
|
||||
, gtk
|
||||
, libX11
|
||||
, libXScrnSaver
|
||||
, libXext
|
||||
, libXinerama
|
||||
, libXrender
|
||||
, libXt
|
||||
, libcanberra
|
||||
, libgnome
|
||||
, libgnomeui
|
||||
, mesa
|
||||
, nspr
|
||||
, nss
|
||||
, pango
|
||||
, heimdal
|
||||
, pulseaudio
|
||||
, systemd
|
||||
}:
|
||||
|
||||
let
|
||||
version = "#{real_version}";
|
||||
sources = [
|
||||
EOH
|
||||
|
||||
locale_arch_path_tuples.zip(hashes) do |tuple, hash|
|
||||
locale, arch, path = tuple
|
||||
|
||||
puts(%Q| { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|)
|
||||
end
|
||||
|
||||
puts(<<'EOF')
|
||||
];
|
||||
|
||||
arch = if stdenv.system == "i686-linux"
|
||||
then "linux-i686"
|
||||
else "linux-x86_64";
|
||||
|
||||
isPrefixOf = prefix: string:
|
||||
builtins.substring 0 (builtins.stringLength prefix) string == prefix;
|
||||
|
||||
sourceMatches = locale: source:
|
||||
(isPrefixOf source.locale locale) && source.arch == arch;
|
||||
|
||||
systemLocale = config.i18n.defaultLocale or "en-US";
|
||||
|
||||
defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
|
||||
|
||||
source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "firefox-bin-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
|
||||
inherit (source) sha256;
|
||||
};
|
||||
|
||||
phases = "unpackPhase installPhase";
|
||||
|
||||
libPath = stdenv.lib.makeLibraryPath
|
||||
[ stdenv.gcc.gcc
|
||||
alsaLib
|
||||
atk
|
||||
cairo
|
||||
cups
|
||||
dbus_glib
|
||||
dbus_libs
|
||||
fontconfig
|
||||
freetype
|
||||
gconf
|
||||
gdk_pixbuf
|
||||
glib
|
||||
glibc
|
||||
gst_plugins_base
|
||||
gstreamer
|
||||
gtk
|
||||
libX11
|
||||
libXScrnSaver
|
||||
libXext
|
||||
libXinerama
|
||||
libXrender
|
||||
libXt
|
||||
libcanberra
|
||||
libgnome
|
||||
libgnomeui
|
||||
mesa
|
||||
nspr
|
||||
nss
|
||||
pango
|
||||
heimdal
|
||||
pulseaudio
|
||||
systemd
|
||||
] + ":" + stdenv.lib.makeSearchPath "lib64" [
|
||||
stdenv.gcc.gcc
|
||||
];
|
||||
|
||||
# "strip" after "patchelf" may break binaries.
|
||||
# See: https://github.com/NixOS/patchelf/issues/10
|
||||
dontStrip = 1;
|
||||
|
||||
installPhase =
|
||||
''
|
||||
mkdir -p "$prefix/usr/lib/firefox-bin-${version}"
|
||||
cp -r * "$prefix/usr/lib/firefox-bin-${version}"
|
||||
|
||||
mkdir -p "$out/bin"
|
||||
ln -s "$prefix/usr/lib/firefox-bin-${version}/firefox" "$out/bin/"
|
||||
|
||||
for executable in \
|
||||
firefox mozilla-xremote-client firefox-bin plugin-container \
|
||||
updater crashreporter webapprt-stub
|
||||
do
|
||||
patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
|
||||
"$out/usr/lib/firefox-bin-${version}/$executable"
|
||||
done
|
||||
|
||||
for executable in \
|
||||
firefox mozilla-xremote-client firefox-bin plugin-container \
|
||||
updater crashreporter webapprt-stub libxul.so
|
||||
do
|
||||
patchelf --set-rpath "$libPath" \
|
||||
"$out/usr/lib/firefox-bin-${version}/$executable"
|
||||
done
|
||||
|
||||
# Create a desktop item.
|
||||
mkdir -p $out/share/applications
|
||||
cat > $out/share/applications/firefox.desktop <<EOF
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Exec=$out/bin/firefox
|
||||
Icon=$out/lib/firefox-bin-${version}/chrome/icons/default/default256.png
|
||||
Name=Firefox
|
||||
GenericName=Web Browser
|
||||
Categories=Application;Network;
|
||||
EOF
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Mozilla Firefox, free web browser";
|
||||
homepage = http://www.mozilla.org/firefox/;
|
||||
license = {
|
||||
shortName = "unfree"; # not sure
|
||||
fullName = "unfree";
|
||||
url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
|
||||
};
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
EOF
|
@ -4,11 +4,11 @@
|
||||
, gsm, speex, portaudio, spandsp, libuuid
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.4.3";
|
||||
version = "0.4.11";
|
||||
name = "baresip-${version}";
|
||||
src=fetchurl {
|
||||
url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
|
||||
sha256 = "03vpzn0c3mybnwn84ha3yci780qsjm669dwja1srj0hbrq81rbil";
|
||||
sha256 = "1ql5h9ily9jncp9w302v3b2ldx613kc60zlqv0v0ln8hsm8q6bc5";
|
||||
};
|
||||
buildInputs = [zlib openssl libre librem pkgconfig
|
||||
cairo mpg123 gstreamer gst_ffmpeg gst_plugins_base gst_plugins_bad gst_plugins_good
|
||||
@ -41,5 +41,9 @@ stdenv.mkDerivation rec {
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
maintainers = with stdenv.lib.maintainers; [raskin];
|
||||
license = with stdenv.lib.licenses; bsd3;
|
||||
inherit version;
|
||||
downloadPage = "http://www.creytiv.com/pub/";
|
||||
updateWalker = true;
|
||||
downloadURLRegexp = "/baresip-.*[.]tar[.].*";
|
||||
};
|
||||
}
|
||||
|
@ -1,20 +1,18 @@
|
||||
{ stdenv, fetchurl, alsaLib, libXv, libXi, libXrender, libXrandr, zlib, glib
|
||||
{ stdenv, fetchurl, libXv, libXi, libXrender, libXrandr, zlib, glib
|
||||
, libXext, libX11, libXScrnSaver, libSM, qt4, libICE, freetype, fontconfig
|
||||
, pulseaudio, usePulseAudio, lib }:
|
||||
, pulseaudio, lib, ... }:
|
||||
|
||||
assert stdenv.system == "i686-linux";
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "skype-4.2.0.13";
|
||||
name = "skype-4.3.0.37";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.skype.com/linux/${name}.tar.bz2";
|
||||
sha256 = "137kp6c0v4z7n7pp4hwrx4gjgk4knwj815dc6swh44lb5cj1c5m5";
|
||||
sha256 = "0bc9kck99rcsqzxzw3j6vnw5byvr8c9wixrx609zp255g0wxr6cc";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
lib.optional usePulseAudio pulseaudio ++ [
|
||||
alsaLib
|
||||
buildInputs = [
|
||||
stdenv.glibc
|
||||
stdenv.gcc.gcc
|
||||
libXv
|
||||
@ -27,6 +25,7 @@ stdenv.mkDerivation rec {
|
||||
libXi
|
||||
libXrender
|
||||
libXrandr
|
||||
pulseaudio
|
||||
freetype
|
||||
fontconfig
|
||||
zlib
|
||||
@ -44,13 +43,13 @@ stdenv.mkDerivation rec {
|
||||
fullPath=$fullPath''${fullPath:+:}$i/lib
|
||||
done
|
||||
|
||||
dynlinker="$(cat $NIX_GCC/nix-support/dynamic-linker)"
|
||||
patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "$fullPath" $out/libexec/skype/skype
|
||||
|
||||
cat > $out/bin/skype << EOF
|
||||
#!${stdenv.shell}
|
||||
export PULSE_LATENCY_MSEC=60 # workaround for pulseaudio glitches
|
||||
export LD_LIBRARY_PATH=$fullPath:$LD_LIBRARY_PATH
|
||||
$dynlinker $out/libexec/skype/skype --resources=$out/libexec/skype "\$@"
|
||||
$out/libexec/skype/skype --resources=$out/libexec/skype "\$@"
|
||||
EOF
|
||||
|
||||
chmod +x $out/bin/skype
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- bip-0.8.8/src/lex.l.orig
|
||||
+++ bip-0.8.8/src/lex.l
|
||||
@@ -16,7 +16,7 @@
|
||||
int linec;
|
||||
#include "util.h"
|
||||
extern list_t *root_list;
|
||||
-void yyparse(void);
|
||||
+int yyparse(void);
|
||||
void free_conf(list_t*);
|
||||
int conf_error;
|
||||
typedef struct bip bip_t;
|
@ -2,8 +2,8 @@
|
||||
|
||||
let
|
||||
|
||||
version = "0.8.8";
|
||||
sha256 = "7ca3fb96f5ee6b76eb398d7ea45344ea24855344ced11632241a33353bba05d7";
|
||||
version = "0.8.9";
|
||||
sha256 = "0q942g9lyd8pjvqimv547n6vik5759r9npw3ws3bdj4ixxqhz59w";
|
||||
|
||||
# fetches patches from a gentoo mirror
|
||||
fetchPatch =
|
||||
@ -25,19 +25,12 @@ in stdenv.mkDerivation {
|
||||
|
||||
# includes an important security patch
|
||||
patches = map fetchPatch [
|
||||
{ file = "bip-0.8.8-configure.patch";
|
||||
sha256 = "286e169745e6cd768f0cb95bbc9589ca2bda497eb06461174549b80a459d901c";
|
||||
}
|
||||
{ file = "bip-CVE-2012-0806.patch";
|
||||
sha256 = "e47523095ee1d717c762ca0195520026c6ea2c30d8adcf434d276d42f052d506";
|
||||
}
|
||||
{ file = "bip-freenode.patch";
|
||||
sha256 = "a67e582f89cc6a32d5bb48c7e8ceb647b889808c2c8798ae3eb27d88869b892f";
|
||||
}
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patch -p1 < ${./bip-0.8.8-yyparse.patch}
|
||||
'';
|
||||
|
||||
configureFlags = [ "--disable-pie" ];
|
||||
@ -48,5 +41,7 @@ in stdenv.mkDerivation {
|
||||
description = "An IRC proxy (bouncer)";
|
||||
homepage = http://bip.milkypond.org/;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
downloadPage= "https://projects.duckcorp.org/projects/bip/files";
|
||||
inherit version;
|
||||
};
|
||||
}
|
||||
|
@ -14,62 +14,20 @@
|
||||
, autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
|
||||
, libwpg, dbus_glib, glibc, qt4, kde4, clucene_core, libcdr, lcms, vigra
|
||||
, unixODBC, mdds, saneBackends, mythes, libexttextcat, libvisio
|
||||
, fontsConf, pkgconfig, libzip, bluez5, libtool, maven
|
||||
, fontsConf, pkgconfig, libzip, bluez5, libtool, maven, libe-book_00
|
||||
, libmwaw_02, libatomic_ops, graphite2, harfbuzz
|
||||
, langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" ]
|
||||
}:
|
||||
|
||||
let
|
||||
langsSpaces = stdenv.lib.concatStringsSep " " langs;
|
||||
major = "4";
|
||||
minor = "0";
|
||||
minor = "2";
|
||||
patch = "5";
|
||||
tweak = "2";
|
||||
subdir = "${major}.${minor}.${patch}";
|
||||
version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
|
||||
|
||||
# configure phase dependency
|
||||
liborcus = stdenv.mkDerivation rec {
|
||||
version = "0.3.0";
|
||||
name = "liborcus-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://dev-www.libreoffice.org/src/8755aac23317494a9028569374dc87b2-liborcus_0.3.0.tar.bz2";
|
||||
sha256 = "0xrw13s390mcpm50apclydl38sw2sdq27csrr1k0d39jna2990ih";
|
||||
};
|
||||
|
||||
configureFlags = "--disable-werror";
|
||||
|
||||
buildInputs = [ zlib boost mdds pkgconfig libixion libzip ];
|
||||
};
|
||||
|
||||
# configure phase dependency
|
||||
liblangtag = stdenv.mkDerivation rec {
|
||||
version = "0.4.0";
|
||||
name = "liblangtag-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://dev-www.libreoffice.org/src/54e578c91b1b68e69c72be22adcb2195-${name}.tar.bz2";
|
||||
sha256 = "1bjb0fxjmvzxlhr5by9wgisf6w5yvy6wgfzfkjyw6igk39fivdyb";
|
||||
};
|
||||
|
||||
buildInputs = [ libtool pkgconfig libxml2 ];
|
||||
};
|
||||
|
||||
# doesn't work with srcs versioning
|
||||
libmspub = stdenv.mkDerivation rec {
|
||||
version = "0.0.6";
|
||||
name = "libmspub-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://dev-www.libreoffice.org/src/${name}.tar.gz";
|
||||
sha256 = "1zdcvnm0dpac5yqdv34hq9j38cnhyqzyjgb19iyp54ajnwfjhmcq";
|
||||
};
|
||||
|
||||
configureFlags = "--disable-werror";
|
||||
|
||||
buildInputs = [ zlib libwpd libwpg pkgconfig boost icu ];
|
||||
};
|
||||
|
||||
# doesn't exist in srcs
|
||||
libixion = stdenv.mkDerivation rec {
|
||||
version = "0.5.0";
|
||||
@ -85,9 +43,12 @@ let
|
||||
buildInputs = [ boost mdds pkgconfig ];
|
||||
};
|
||||
|
||||
fetchThirdParty = {name, md5}: fetchurl {
|
||||
fetchThirdParty = {name, md5, brief}: fetchurl {
|
||||
inherit name md5;
|
||||
url = "http://dev-www.libreoffice.org/src/${md5}-${name}";
|
||||
url = if brief then
|
||||
"http://dev-www.libreoffice.org/src/${name}"
|
||||
else
|
||||
"http://dev-www.libreoffice.org/src/${md5}-${name}";
|
||||
};
|
||||
|
||||
fetchSrc = {name, sha256}: fetchurl {
|
||||
@ -104,14 +65,14 @@ let
|
||||
|
||||
translations = fetchSrc {
|
||||
name = "translations";
|
||||
sha256 = "0x96wlwr5m7w4k3ygydzak3ycq35hjq60vfi6nfxczlr8pfjyjxv";
|
||||
sha256 = "0nv47r043w151687ks06w786h8azi8gylxma9c7qyjbdj6cdb2ly";
|
||||
};
|
||||
|
||||
# TODO: dictionaries
|
||||
|
||||
help = fetchSrc {
|
||||
name = "help";
|
||||
sha256 = "0nab5jcgrrgn0v1yrm18nl9avp4vifbas48l1absz3jmzf9wka7b";
|
||||
sha256 = "1kbkdngq39gfq2804v6vnllax4gqs25zlfk6y561iiipld1ncc5v";
|
||||
};
|
||||
|
||||
};
|
||||
@ -121,7 +82,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
|
||||
sha256 = "195g1iab7j2x7sl326xbq7vya412ns57xrwpv9hqdrb7iiz2n8la";
|
||||
sha256 = "4bf7898d7d0ba918a8f6668eff0904a549e5a2de837854716e6d996f121817d5";
|
||||
};
|
||||
|
||||
# Openoffice will open libcups dynamically, so we link it directly
|
||||
@ -135,7 +96,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
postUnpack = ''
|
||||
mkdir -v $sourceRoot/src
|
||||
'' + (stdenv.lib.concatMapStrings (f: "ln -sv ${f} $sourceRoot/src/${f.outputHash}-${f.name}\n") srcs.third_party)
|
||||
'' + (stdenv.lib.concatMapStrings (f: "ln -sv ${f} $sourceRoot/src/${f.outputHash}-${f.name}\nln -sv ${f} $sourceRoot/src/${f.name}\n") srcs.third_party)
|
||||
+ ''
|
||||
ln -sv ${srcs.help} $sourceRoot/src/${srcs.help.name}
|
||||
tar xf $sourceRoot/src/${srcs.help.name} -C $sourceRoot/../
|
||||
@ -149,6 +110,8 @@ stdenv.mkDerivation rec {
|
||||
-e 's,! */usr/bin/perl,!${perl}/bin/perl,' -e 's,! */usr/bin/env perl,!${perl}/bin/perl,' \
|
||||
-e 's,! */usr/bin/python,!${python3}/bin/${python3.executable},' -e 's,! */usr/bin/env python,!${python3}/bin/${python3.executable},'
|
||||
#sed -i 's,ANT_OPTS+="\(.*\)",ANT_OPTS+=\1,' apache-commons/java/*/makefile.mk
|
||||
|
||||
patch -Np1 -i ${./ooxmlexport.diff};
|
||||
'';
|
||||
|
||||
QT4DIR = qt4;
|
||||
@ -162,6 +125,10 @@ stdenv.mkDerivation rec {
|
||||
"--with-parallelism=$NIX_BUILD_CORES"
|
||||
"--with-lang=${langsSpaces}"
|
||||
);
|
||||
|
||||
chmod a+x ./bin/unpack-sources
|
||||
# It is used only as an indicator of the proper current directory
|
||||
touch solenv/inc/target.mk
|
||||
'';
|
||||
|
||||
makeFlags = "SHELL=${bash}/bin/bash";
|
||||
@ -172,9 +139,6 @@ stdenv.mkDerivation rec {
|
||||
# This is required as some cppunittests require fontconfig configured
|
||||
export FONTCONFIG_FILE=${fontsConf}
|
||||
|
||||
# Fix sysui: wants to create a tar for root
|
||||
sed -i -e 's,--own.*root,,' sysui/desktop/slackware/makefile.mk
|
||||
|
||||
# This to aovid using /lib:/usr/lib at linking
|
||||
sed -i '/gb_LinkTarget_LDFLAGS/{ n; /rpath-link/d;}' solenv/gbuild/platform/unxgcc.mk
|
||||
|
||||
@ -199,7 +163,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-vender=NixOS"
|
||||
"--with-vendor=NixOS"
|
||||
|
||||
# Without these, configure does not finish
|
||||
"--without-junit"
|
||||
@ -219,11 +183,11 @@ stdenv.mkDerivation rec {
|
||||
"--without-doxygen"
|
||||
|
||||
# I imagine this helps. Copied from go-oo.
|
||||
"--disable-epm"
|
||||
"--disable-mathmldtd"
|
||||
# Modified on every upgrade, though
|
||||
"--disable-kde"
|
||||
"--disable-postgresql-sdbc"
|
||||
"--with-package-format=native"
|
||||
"--enable-epm"
|
||||
"--with-jdk-home=${jdk}/lib/openjdk"
|
||||
"--with-ant-home=${ant}/lib/ant"
|
||||
"--without-afms"
|
||||
@ -235,10 +199,17 @@ stdenv.mkDerivation rec {
|
||||
"--without-system-jars"
|
||||
"--without-system-altlinuxhyph"
|
||||
"--without-system-lpsolve"
|
||||
"--without-system-graphite"
|
||||
"--without-system-npapi-headers"
|
||||
"--without-system-libcmis"
|
||||
"--without-system-mozilla"
|
||||
|
||||
"--without-system-libetonyek"
|
||||
"--without-system-libfreehand"
|
||||
"--without-system-libodfgen"
|
||||
"--without-system-libabw"
|
||||
"--without-system-firebird"
|
||||
"--without-system-orcus"
|
||||
"--without-system-liblangtag"
|
||||
"--without-system-libmspub"
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
@ -253,11 +224,11 @@ stdenv.mkDerivation rec {
|
||||
hunspell icu jdk kde4.kdelibs lcms libcdr libexttextcat unixODBC libjpeg
|
||||
libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
|
||||
libXaw libXext libXi libXinerama libxml2 libxslt libXtst
|
||||
libXdmcp libpthreadstubs mdds mesa mythes
|
||||
libXdmcp libpthreadstubs mesa mythes
|
||||
neon nspr nss openldap openssl ORBit2 pam perl pkgconfigUpstream poppler
|
||||
python3 sablotron saneBackends tcsh unzip vigra which zip zlib
|
||||
mdds bluez5 glibc libmspub libixion liborcus liblangtag
|
||||
libxshmfence
|
||||
mdds bluez5 glibc libixion
|
||||
libxshmfence libe-book_00 libmwaw_02 libatomic_ops graphite2 harfbuzz
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -6,15 +6,39 @@ cat <<EOF
|
||||
[
|
||||
EOF
|
||||
|
||||
read file
|
||||
while read file; do
|
||||
if [[ "$file" == @* ]]; then
|
||||
break
|
||||
fi
|
||||
write_entry(){
|
||||
echo '{'
|
||||
echo " name = \"${file:33}\";"
|
||||
echo " md5 = \"${file:0:32}\";"
|
||||
echo " name = \"${name}\";"
|
||||
echo " md5 = \"${md5}\";"
|
||||
echo " brief = ${brief};"
|
||||
echo '}'
|
||||
}
|
||||
|
||||
while read line; do
|
||||
case "$line" in
|
||||
\#*)
|
||||
echo Skipping comment: "$line" >&2;
|
||||
;;
|
||||
*_MD5SUM\ :=*)
|
||||
read tbline;
|
||||
line=${line##* };
|
||||
tbline=${tbline##* };
|
||||
md5=$line
|
||||
name=$tbline;
|
||||
brief=true;
|
||||
write_entry;
|
||||
;;
|
||||
*_TARBALL\ :=*)
|
||||
line=${line##* };
|
||||
md5=${line:0:32};
|
||||
name=${line:33};
|
||||
brief=false;
|
||||
write_entry;
|
||||
;;
|
||||
*)
|
||||
echo Skipping: "$line" >&2;
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo ']'
|
||||
|
@ -1,114 +1,467 @@
|
||||
[
|
||||
{
|
||||
name = "glibc-2.1.3-stub.tar.gz";
|
||||
md5 = "4a660ce8466c9df01f19036435425c3a";
|
||||
name = "libabw-0.0.2.tar.bz2";
|
||||
md5 = "40fa48e03b1e28ae0325cc34b35bc46d";
|
||||
brief = true;
|
||||
}
|
||||
{
|
||||
name = "ucpp-1.3.2.tar.gz";
|
||||
md5 = "0168229624cfac409e766913506961a8";
|
||||
name = "libcdr-0.0.15.tar.bz2";
|
||||
md5 = "fbcd8619fc6646f41d527c1329102998";
|
||||
brief = true;
|
||||
}
|
||||
{
|
||||
name = "commons-logging-1.1.1-src.tar.gz";
|
||||
md5 = "3c219630e4302863a9a83d0efde889db";
|
||||
name = "libe-book-0.0.3.tar.bz2";
|
||||
md5 = "2f1ceaf2ac8752ed278e175447d9b978";
|
||||
brief = true;
|
||||
}
|
||||
{
|
||||
name = "liblayout-0.2.10.zip";
|
||||
md5 = "db60e4fde8dd6d6807523deb71ee34dc";
|
||||
name = "libetonyek-0.0.4.tar.bz2";
|
||||
md5 = "3c50bc60394d1f2675fbf9bd22581363";
|
||||
brief = true;
|
||||
}
|
||||
{
|
||||
name = "hsqldb_1_8_0.zip";
|
||||
md5 = "17410483b5b5f267aa18b7e00b65e6e0";
|
||||
name = "libfreehand-0.0.0.tar.bz2";
|
||||
md5 = "496dd00028afcc19f896b01394769043";
|
||||
brief = true;
|
||||
}
|
||||
{
|
||||
name = "rhino1_5R5.zip";
|
||||
md5 = "798b2ffdc8bcfe7bca2cf92b62caf685";
|
||||
name = "libmspub-0.0.6.tar.bz2";
|
||||
md5 = "1120705cd0f0d9bd5506360bf57b6c2e";
|
||||
brief = true;
|
||||
}
|
||||
{
|
||||
name = "bsh-2.0b1-src.tar.gz";
|
||||
md5 = "ea570af93c284aa9e5621cd563f54f4d";
|
||||
name = "libmwaw-0.2.0.tar.bz2";
|
||||
md5 = "d794625f156a9fb1c53b3f8a8aa13b5e";
|
||||
brief = true;
|
||||
}
|
||||
{
|
||||
name = "xmlsec1-1.2.14.tar.gz";
|
||||
md5 = "1f24ab1d39f4a51faf22244c94a6203f";
|
||||
name = "libodfgen-0.0.4.tar.bz2";
|
||||
md5 = "e5483d1f0b71e64c367c1194b54b0f53";
|
||||
brief = true;
|
||||
}
|
||||
{
|
||||
name = "librepository-1.1.6.zip";
|
||||
md5 = "8ce2fcd72becf06c41f7201d15373ed9";
|
||||
name = "libvisio-0.0.31.tar.bz2";
|
||||
md5 = "82628333418f101a20cd21f980cf9f40";
|
||||
brief = true;
|
||||
}
|
||||
{
|
||||
name = "libbase-1.1.6.zip";
|
||||
md5 = "eeb2c7ddf0d302fba4bfc6e97eac9624";
|
||||
name = "Firebird-2.5.2.26540-0.tar.bz2";
|
||||
md5 = "21154d2004e025c8a3666625b0357bb5";
|
||||
brief = true;
|
||||
}
|
||||
{
|
||||
name = "lp_solve_5.5.tar.gz";
|
||||
md5 = "26b3e95ddf3d9c077c480ea45874b3b8";
|
||||
name = "harfbuzz-0.9.23.tar.bz2";
|
||||
md5 = "a4a9b548577e2ee22f0887937da5fd6c";
|
||||
brief = true;
|
||||
}
|
||||
{
|
||||
name = "libloader-1.1.6.zip";
|
||||
md5 = "97b2d4dba862397f446b217e2b623e71";
|
||||
name = "libatomic_ops-7_2d.zip";
|
||||
md5 = "c0b86562d5aa40761a87134f83e6adcf";
|
||||
brief = true;
|
||||
}
|
||||
{
|
||||
name = "graphite2-1.2.0.tgz";
|
||||
md5 = "f5ef3f7f10fa8c3542c6a085a233080b";
|
||||
name = "libeot-0.01.tar.bz2";
|
||||
md5 = "aa24f5dd2a2992f4a116aa72af817548";
|
||||
brief = true;
|
||||
}
|
||||
{
|
||||
name = "jakarta-tomcat-5.0.30-src.tar.gz";
|
||||
md5 = "2a177023f9ea8ec8bd00837605c5df1b";
|
||||
name = "language-subtag-registry-2014-03-27.tar.bz2";
|
||||
md5 = "504af523f5d1a5590bbeb6a4b55e8a97";
|
||||
brief = true;
|
||||
}
|
||||
{
|
||||
name = "hyphen-2.8.4.tar.gz";
|
||||
md5 = "a2f6010987e1c601274ab5d63b72c944";
|
||||
name = "Adobe-Core35_AFMs-314.tar.gz";
|
||||
md5 = "1756c4fa6c616ae15973c104cd8cb256";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libserializer-1.1.6.zip";
|
||||
md5 = "f94d9870737518e3b597f9265f4e9803";
|
||||
}
|
||||
{
|
||||
name = "commons-lang-2.3-src.tar.gz";
|
||||
md5 = "2ae988b339daec234019a7066f96733e";
|
||||
}
|
||||
{
|
||||
name = "libxml-1.1.7.zip";
|
||||
md5 = "ace6ab49184e329db254e454a010f56d";
|
||||
name = "commons-codec-1.6-src.tar.gz";
|
||||
md5 = "2e482c7567908d334785ce7d69ddfff7";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "commons-httpclient-3.1-src.tar.gz";
|
||||
md5 = "2c9b0f83ed5890af02c0df1c1776f39b";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "commons-codec-1.3-src.tar.gz";
|
||||
md5 = "af3c3acf618de6108d65fcdc92b492e1";
|
||||
name = "commons-lang-2.4-src.tar.gz";
|
||||
md5 = "625ff5f2f968dd908bca43c9469d6e6b";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libformula-1.1.7.zip";
|
||||
md5 = "3404ab6b1792ae5f16bbd603bd1e1d03";
|
||||
name = "commons-logging-1.1.1-src.tar.gz";
|
||||
md5 = "3c219630e4302863a9a83d0efde889db";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libcmis-0.3.0.tar.gz";
|
||||
md5 = "b2371dc7cf4811c9d32146eec913d296";
|
||||
name = "boost_1_54_0.tar.bz2";
|
||||
md5 = "15cb8c0803064faef0c4ddf5bc5ca279";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "swingExSrc.zip";
|
||||
md5 = "35c94d2df8893241173de1d16b6034c0";
|
||||
name = "bsh-2.0b1-src.tar.gz";
|
||||
md5 = "ea570af93c284aa9e5621cd563f54f4d";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "cairo-1.10.2.tar.gz";
|
||||
md5 = "f101a9e88b783337b20b2e26dfd26d5f";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "clucene-core-2.3.3.4.tar.gz";
|
||||
md5 = "48d647fbd8ef8889e5a7f422c1bfda94";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libcmis-0.4.1.tar.gz";
|
||||
md5 = "22f8a85daf4a012180322e1f52a7563b";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "cppunit-1.13.1.tar.gz";
|
||||
md5 = "ac4781e01619be13461bb2d562b94a7b";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "ConvertTextToNumber-1.3.2.oxt";
|
||||
md5 = "451ccf439a36a568653b024534669971";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "curl-7.33.0.tar.bz2";
|
||||
md5 = "57409d6bf0bd97053b8378dbe0cadcef";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "epm-3.7.tar.gz";
|
||||
md5 = "3ade8cfe7e59ca8e65052644fed9fca4";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "expat-2.1.0.tar.gz";
|
||||
md5 = "dd7dab7a5fea97d2a6a43f511449b7cd";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "fontconfig-2.8.0.tar.gz";
|
||||
md5 = "77e15a92006ddc2adbb06f840d591c0e";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "crosextrafonts-20130214.tar.gz";
|
||||
md5 = "368f114c078f94214a308a74c7e991bc";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "crosextrafonts-carlito-20130920.tar.gz";
|
||||
md5 = "c74b7223abe75949b4af367942d96c7a";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "dejavu-fonts-ttf-2.33.zip";
|
||||
md5 = "f872f4ac066433d8ff92f5e316b36ff9";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "gentiumbasic-fonts-1.10.zip";
|
||||
md5 = "35efabc239af896dfb79be7ebdd6e6b9";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "liberation-fonts-ttf-1.07.3.tar.gz";
|
||||
md5 = "b3174b11c2b6a341f5c99b31088bd67b";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "liberation-fonts-ttf-2.00.1.tar.gz";
|
||||
md5 = "5c781723a0d9ed6188960defba8e91cf";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "LinLibertineG-20120116.zip";
|
||||
md5 = "e7a384790b13c29113e22e596ade9687";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "open-sans-font-ttf-1.10.tar.gz";
|
||||
md5 = "7a15edea7d415ac5150ea403e27401fd";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "pt-serif-font-1.0000W.tar.gz";
|
||||
md5 = "c3c1a8ba7452950636e871d25020ce0d";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "source-code-font-1.009.tar.gz";
|
||||
md5 = "0279a21fab6f245e85a6f85fea54f511";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "source-sans-font-1.036.tar.gz";
|
||||
md5 = "1e9ddfe25ac9577da709d7b2ea36f939";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "freetype-2.4.8.tar.bz2";
|
||||
md5 = "dbf2caca1d3afd410a29217a9809d397";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "graphite2-1.2.3.tgz";
|
||||
md5 = "7042305e4208af4c2d5249d814ccce58";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "hsqldb_1_8_0.zip";
|
||||
md5 = "17410483b5b5f267aa18b7e00b65e6e0";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "hunspell-1.3.2.tar.gz";
|
||||
md5 = "3121aaf3e13e5d88dfff13fb4a5f1ab8";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "hyphen-2.8.4.tar.gz";
|
||||
md5 = "a2f6010987e1c601274ab5d63b72c944";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "icu4c-52_1-src.tgz";
|
||||
md5 = "9e96ed4c1d99c0d14ac03c140f9f346c";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "flow-engine-0.9.4.zip";
|
||||
md5 = "ba2930200c9f019c2d93a8c88c651a0f";
|
||||
}
|
||||
{
|
||||
name = "sacjava-1.3.zip";
|
||||
md5 = "39bb3fcea1514f1369fcfc87542390fd";
|
||||
}
|
||||
{
|
||||
name = "libwps-0.2.7.tar.bz2";
|
||||
md5 = "d197bd6211669a2fa4ca648faf04bcb1";
|
||||
}
|
||||
{
|
||||
name = "libfonts-1.1.6.zip";
|
||||
md5 = "3bdf40c0d199af31923e900d082ca2dd";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "flute-1.1.6.zip";
|
||||
md5 = "d8bd5eed178db6e2b18eeed243f85aa8";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libbase-1.1.6.zip";
|
||||
md5 = "eeb2c7ddf0d302fba4bfc6e97eac9624";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libfonts-1.1.6.zip";
|
||||
md5 = "3bdf40c0d199af31923e900d082ca2dd";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libformula-1.1.7.zip";
|
||||
md5 = "3404ab6b1792ae5f16bbd603bd1e1d03";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "liblayout-0.2.10.zip";
|
||||
md5 = "db60e4fde8dd6d6807523deb71ee34dc";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libloader-1.1.6.zip";
|
||||
md5 = "97b2d4dba862397f446b217e2b623e71";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "librepository-1.1.6.zip";
|
||||
md5 = "8ce2fcd72becf06c41f7201d15373ed9";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libserializer-1.1.6.zip";
|
||||
md5 = "f94d9870737518e3b597f9265f4e9803";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libxml-1.1.7.zip";
|
||||
md5 = "ace6ab49184e329db254e454a010f56d";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "sacjava-1.3.zip";
|
||||
md5 = "39bb3fcea1514f1369fcfc87542390fd";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "jpegsrc.v8d.tar.gz";
|
||||
md5 = "52654eb3b2e60c35731ea8fc87f1bd29";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "JLanguageTool-1.7.0.tar.bz2";
|
||||
md5 = "b63e6340a02ff1cacfeadb2c42286161";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "lcms2-2.4.tar.gz";
|
||||
md5 = "861ef15fa0bc018f9ddc932c4ad8b6dd";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libexttextcat-3.4.3.tar.bz2";
|
||||
md5 = "ae330b9493bd4503ac390106ff6060d7";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "liblangtag-0.5.1.tar.bz2";
|
||||
md5 = "36271d3fa0d9dec1632029b6d7aac925";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "xmlsec1-1.2.14.tar.gz";
|
||||
md5 = "1f24ab1d39f4a51faf22244c94a6203f";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libxml2-2.9.1.tar.gz";
|
||||
md5 = "9c0cfef285d5c4a5c80d00904ddab380";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libxslt-1.1.28.tar.gz";
|
||||
md5 = "9667bf6f9310b957254fdcf6596600b7";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "lp_solve_5.5.tar.gz";
|
||||
md5 = "26b3e95ddf3d9c077c480ea45874b3b8";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "mariadb-native-client-1.0.0.tar.bz2";
|
||||
md5 = "05f84c95b610c21c5fd510d10debcabf";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "mdds_0.10.3.tar.bz2";
|
||||
md5 = "aa5ca9d1ed1082890835afab26400a39";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "mysql-connector-c++-1.1.0.tar.gz";
|
||||
md5 = "0981bda6548a8c8233ffce2b6e4b2a23";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "mythes-1.2.3.tar.gz";
|
||||
md5 = "46e92b68e31e858512b680b3b61dc4c1";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "neon-0.29.5.tar.gz";
|
||||
md5 = "ff369e69ef0f0143beb5626164e87ae2";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "nss-3.15.3-with-nspr-4.10.2.tar.gz";
|
||||
md5 = "06beb053e257d9e22641339c905c6eba";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "openldap-2.4.31.tgz";
|
||||
md5 = "804c6cb5698db30b75ad0ff1c25baefd";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "openssl-1.0.1e.tar.gz";
|
||||
md5 = "66bf6f10f060d561929de96f9dfe5b8c";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "liborcus-0.5.1.tar.bz2";
|
||||
md5 = "ea2acaf140ae40a87a952caa75184f4d";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "pixman-0.24.4.tar.bz2";
|
||||
md5 = "c63f411b3ad147db2bcce1bf262a0e02";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libpng-1.5.10.tar.gz";
|
||||
md5 = "9e5d864bce8f06751bbd99962ecf4aad";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "poppler-0.22.5.tar.gz";
|
||||
md5 = "1cd27460f7e3379d1eb109cfd7bcdb39";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "postgresql-9.2.1.tar.bz2";
|
||||
md5 = "c0b4799ea9850eae3ead14f0a60e9418";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "Python-3.3.3.tar.bz2";
|
||||
md5 = "f3ebe34d4d8695bf889279b54673e10c";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "raptor2-2.0.9.tar.gz";
|
||||
md5 = "4ceb9316488b0ea01acf011023cf7fff";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "rasqal-0.9.30.tar.gz";
|
||||
md5 = "b12c5f9cfdb6b04efce5a4a186b8416b";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "redland-1.0.16.tar.gz";
|
||||
md5 = "32f8e1417a64d3c6f2c727f9053f55ea";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "rhino1_5R5.zip";
|
||||
md5 = "798b2ffdc8bcfe7bca2cf92b62caf685";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "swingExSrc.zip";
|
||||
md5 = "35c94d2df8893241173de1d16b6034c0";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "ucpp-1.3.2.tar.gz";
|
||||
md5 = "0168229624cfac409e766913506961a8";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "vigra1.6.0.tar.gz";
|
||||
md5 = "d62650a6f908e85643e557a236ea989c";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libwpd-0.9.9.tar.bz2";
|
||||
md5 = "a3dcac551fae5ebbec16e844810828c4";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libwpg-0.2.2.tar.bz2";
|
||||
md5 = "b85436266b2ac91d351ab5684b181151";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "libwps-0.2.9.tar.bz2";
|
||||
md5 = "46eb0e7f213ad61bd5dee0c494132cb0";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "xsltml_2.1.2.zip";
|
||||
md5 = "a7983f859eafb2677d7ff386a023bc40";
|
||||
brief = false;
|
||||
}
|
||||
{
|
||||
name = "zlib-1.2.7.tar.bz2";
|
||||
md5 = "2ab442d169156f34c379c968f3f482dd";
|
||||
brief = false;
|
||||
}
|
||||
]
|
||||
|
31
pkgs/applications/office/libreoffice/ooxmlexport.diff
Normal file
31
pkgs/applications/office/libreoffice/ooxmlexport.diff
Normal file
@ -0,0 +1,31 @@
|
||||
--- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx 2014-06-12 12:25:19.000000000 +0400
|
||||
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx 2014-06-12 12:25:20.000000000 +0400
|
||||
@@ -547,17 +547,17 @@
|
||||
getRun(xParagraph, 5, " After.");
|
||||
}
|
||||
|
||||
-DECLARE_OOXMLEXPORT_TEST(test1Table1Page, "1-table-1-page.docx")
|
||||
-{
|
||||
- // 2 problem for this document after export:
|
||||
- // - invalid sectPr inserted at the beginning of the page
|
||||
- // - font of empty cell is not preserved, leading to change in rows height
|
||||
- uno::Reference<frame::XModel> xModel(mxComponent, uno::UNO_QUERY);
|
||||
- uno::Reference<text::XTextViewCursorSupplier> xTextViewCursorSupplier(xModel->getCurrentController(), uno::UNO_QUERY);
|
||||
- uno::Reference<text::XPageCursor> xCursor(xTextViewCursorSupplier->getViewCursor(), uno::UNO_QUERY);
|
||||
- xCursor->jumpToLastPage();
|
||||
- CPPUNIT_ASSERT_EQUAL(sal_Int16(1), xCursor->getPage());
|
||||
-}
|
||||
+/// DECLARE_OOXMLEXPORT_TEST(test1Table1Page, "1-table-1-page.docx")
|
||||
+/// {
|
||||
+/// // 2 problem for this document after export:
|
||||
+/// // - invalid sectPr inserted at the beginning of the page
|
||||
+/// // - font of empty cell is not preserved, leading to change in rows height
|
||||
+/// uno::Reference<frame::XModel> xModel(mxComponent, uno::UNO_QUERY);
|
||||
+/// uno::Reference<text::XTextViewCursorSupplier> xTextViewCursorSupplier(xModel->getCurrentController(), uno::UNO_QUERY);
|
||||
+/// uno::Reference<text::XPageCursor> xCursor(xTextViewCursorSupplier->getViewCursor(), uno::UNO_QUERY);
|
||||
+/// xCursor->jumpToLastPage();
|
||||
+/// CPPUNIT_ASSERT_EQUAL(sal_Int16(1), xCursor->getPage());
|
||||
+/// }
|
||||
|
||||
DECLARE_OOXMLEXPORT_TEST(testTextFrames, "textframes.odt")
|
||||
{
|
@ -5,13 +5,13 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchbzr {
|
||||
url = "https://code.launchpad.net/~kicad-stable-committers/kicad/stable";
|
||||
revision = 4024;
|
||||
rev = 4024;
|
||||
sha256 = "1sv1l2zpbn6439ccz50p05hvqg6j551aqra551wck9h3929ghly5";
|
||||
};
|
||||
|
||||
srcLibrary = fetchbzr {
|
||||
url = "http://bazaar.launchpad.net/~kicad-lib-committers/kicad/library";
|
||||
revision = 293;
|
||||
rev = 293;
|
||||
sha256 = "1wn9a4nhqyjzzfkq6xm7ag8n5n10xy7gkq6i7yry7wxini7pzv1i";
|
||||
};
|
||||
|
||||
|
@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchhg {
|
||||
url = "https://bitbucket.org/alanmi/abc";
|
||||
tag = "03e221443d71e49e56cbc37f1907ee3b0ff3e7c9";
|
||||
rev = "03e221443d71e49e56cbc37f1907ee3b0ff3e7c9";
|
||||
sha256 = "0ahrqg718y7xpv939f6x8w1kqh7wsja4pw8hca7j67j0qjdgb4lm";
|
||||
};
|
||||
|
||||
|
46
pkgs/applications/science/logic/twelf/default.nix
Normal file
46
pkgs/applications/science/logic/twelf/default.nix
Normal file
@ -0,0 +1,46 @@
|
||||
{ stdenv, fetchurl, pkgconfig, smlnj, rsync }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "twelf-${version}";
|
||||
version = "1.7.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://twelf.plparty.org/releases/twelf-src-${version}.tar.gz";
|
||||
sha256 = "0fi1kbs9hrdrm1x4k13angpjasxlyd1gc3ys8ah54i75qbcd9c4i";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig smlnj rsync ];
|
||||
|
||||
buildPhase = ''
|
||||
export SMLNJ_HOME=${smlnj}
|
||||
make smlnj
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
ensureDir $out/bin
|
||||
rsync -av bin/* $out/bin/
|
||||
|
||||
ensureDir $out/share/emacs/site-lisp/twelf/
|
||||
rsync -av emacs/ $out/share/emacs/site-lisp/twelf/
|
||||
|
||||
ensureDir $out/share/twelf/examples
|
||||
rsync -av examples/ $out/share/twelf/examples/
|
||||
ensureDir $out/share/twelf/vim
|
||||
rsync -av vim/ $out/share/twelf/vim/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Twelf logic proof assistant";
|
||||
longDescription = ''
|
||||
Twelf is a language used to specify, implement, and prove properties of
|
||||
deductive systems such as programming languages and logics. Large
|
||||
research projects using Twelf include the TALT typed assembly language,
|
||||
a foundational proof-carrying-code system, and a type safety proof for
|
||||
Standard ML.
|
||||
'';
|
||||
homepage = http://twelf.org/wiki/Main_Page;
|
||||
license = "MIT";
|
||||
maintainers = with stdenv.lib.maintainers; [ jwiegley ];
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
@ -9,7 +9,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchdarcs {
|
||||
url = "http://lama.univ-savoie.fr/~raffalli/GlSurf";
|
||||
tag = "3.3";
|
||||
rev = "3.3";
|
||||
sha256 = ""; md5="";
|
||||
};
|
||||
|
||||
|
@ -95,4 +95,7 @@ rec {
|
||||
darcsToGit = callPackage ./darcs-to-git { };
|
||||
|
||||
gitflow = callPackage ./gitflow { };
|
||||
|
||||
git-remote-hg = callPackage ./git-remote-hg { };
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,35 @@
|
||||
{ stdenv, fetchgit, mercurial, makeWrapper,
|
||||
asciidoc, xmlto, dbus, docbook_xsl, docbook_xml_dtd_45, libxslt, libxml2
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
rev = "185852eac44c25ae2e8d3b3fb6c9630e754e6363";
|
||||
version = "v0.2-185852eac44c25ae2e8d3b3fb6c9630e754e6363";
|
||||
name = "git-remote-hg-${version}";
|
||||
|
||||
src = fetchgit {
|
||||
inherit rev;
|
||||
url = "git://github.com/felipec/git-remote-hg.git";
|
||||
sha256 = "1hc65nvxq7if1imwffyxia0i6vnkbax09gfcl9vq9yffzi8xzzfy";
|
||||
};
|
||||
|
||||
buildInputs = [ mercurial.python mercurial makeWrapper
|
||||
asciidoc xmlto dbus docbook_xsl docbook_xml_dtd_45 libxslt libxml2
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
installFlags = "HOME=\${out}";
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/git-remote-hg \
|
||||
--prefix PYTHONPATH : "$(echo ${mercurial}/lib/python*/site-packages):$(echo ${mercurial.python}/lib/python*/site-packages)${stdenv.lib.concatMapStrings (x: ":$(echo ${x}/lib/python*/site-packages)") mercurial.pythonPackages}"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://github.com/felipec/git-remote-hg";
|
||||
description = "semi-official Mercurial bridge from Git project, once installed, it allows you to clone, fetch and push to and from Mercurial repositories as if they were Git ones";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.garbas ];
|
||||
};
|
||||
}
|
@ -10,7 +10,7 @@
|
||||
|
||||
let
|
||||
|
||||
version = "1.9.4";
|
||||
version = "2.0.1";
|
||||
|
||||
svn = subversionClient.override { perlBindings = true; };
|
||||
|
||||
@ -21,7 +21,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
|
||||
sha256 = "1shxa49lsxn81qpfi60wh7rn5ci4zjgljvr0qczdmnqzd8w1zyvb";
|
||||
sha256 = "1pylqr2qzndy92x3pq8hkwsb3garww2jxb167s6hshrva81s24mb";
|
||||
};
|
||||
|
||||
patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ./cert-path.patch ];
|
||||
|
37
pkgs/applications/version-management/gitolite/default.nix
Normal file
37
pkgs/applications/version-management/gitolite/default.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{ stdenv, fetchurl, perl, git, fetchgit }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gitolite-${version}";
|
||||
version = "3.6.1";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://github.com/sitaramc/gitolite";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "47e0e9c3137b05af96c091494ba918d61d1d3396749a04d63e7949ebcc6c6dca";
|
||||
leaveDotGit = true;
|
||||
};
|
||||
|
||||
buildInputs = [ perl git ];
|
||||
buildPhase = "true";
|
||||
|
||||
patchPhase = ''
|
||||
substituteInPlace ./install --replace " 2>/dev/null" ""
|
||||
substituteInPlace src/lib/Gitolite/Hooks/PostUpdate.pm \
|
||||
--replace /usr/bin/perl "/usr/bin/env perl"
|
||||
substituteInPlace src/lib/Gitolite/Hooks/Update.pm \
|
||||
--replace /usr/bin/perl "/usr/bin/env perl"
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
git tag v${version} # Gitolite requires a tag for the version information :/
|
||||
perl ./install -to $out/bin
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Finely-grained git repository hosting";
|
||||
homepage = "http://gitolite.com/gitolite/index.html";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
|
||||
};
|
||||
}
|
@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchhg {
|
||||
url = http://hg.suckless.org/tabbed;
|
||||
tag = "d7542a6f6dc5";
|
||||
rev = "d7542a6f6dc5";
|
||||
sha256 = "1963jsazfmh5k7923c1mfwppz1xbh48z16j0sa64fiscq22as2gj";
|
||||
};
|
||||
|
||||
|
@ -82,9 +82,7 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
|
||||
# the default download location for Cabal packages is Hackage,
|
||||
# you still have to specify the checksum
|
||||
src = fetchurl {
|
||||
# cannot use mirrors system because of subtly different directory structures
|
||||
urls = ["http://hackage.haskell.org/packages/archive/${self.pname}/${self.version}/${self.fname}.tar.gz"
|
||||
"http://hdiff.luite.com/packages/archive/${self.pname}/${self.fname}.tar.gz"];
|
||||
url = "mirror://hackage/${self.pname}/${self.fname}.tar.gz";
|
||||
inherit (self) sha256;
|
||||
};
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
source "$stdenv/setup"
|
||||
|
||||
header "exporting \`$url' (revision $revision) into \`$out'"
|
||||
header "exporting \`$url' (revision $rev) into \`$out'"
|
||||
|
||||
# Perform a lightweight checkout so that we don't end up importing
|
||||
# all the repository's history.
|
||||
bzr -Ossl.cert_reqs=none export -r "$revision" --format=dir "$out" "$url"
|
||||
bzr -Ossl.cert_reqs=none export -r "$rev" --format=dir "$out" "$url"
|
||||
|
||||
stopNest
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, bazaar }:
|
||||
{ url, revision, sha256 }:
|
||||
{ url, rev, sha256 }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "bzr-export";
|
||||
@ -11,5 +11,5 @@ stdenv.mkDerivation {
|
||||
outputHashMode = "recursive";
|
||||
outputHash = sha256;
|
||||
|
||||
inherit url revision;
|
||||
inherit url rev;
|
||||
}
|
||||
|
@ -2,9 +2,9 @@ source $stdenv/setup
|
||||
|
||||
tagtext=""
|
||||
tagflags=""
|
||||
if test -n "$tag"; then
|
||||
tagtext="(tag $tag) "
|
||||
tagflags="--tag=$tag"
|
||||
if test -n "$rev"; then
|
||||
tagtext="(tag $rev) "
|
||||
tagflags="--tag=$rev"
|
||||
elif test -n "$context"; then
|
||||
tagtext="(context) "
|
||||
tagflags="--context=$context"
|
||||
|
@ -1,4 +1,4 @@
|
||||
{stdenv, darcs, nix}: {url, tag ? null, context ? null, md5 ? "", sha256 ? ""}:
|
||||
{stdenv, darcs, nix}: {url, rev ? null, context ? null, md5 ? "", sha256 ? ""}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "fetchdarcs";
|
||||
@ -9,5 +9,5 @@ stdenv.mkDerivation {
|
||||
outputHashMode = "recursive";
|
||||
outputHash = if sha256 == "" then md5 else sha256;
|
||||
|
||||
inherit url tag context;
|
||||
inherit url rev context;
|
||||
}
|
||||
|
@ -217,7 +217,9 @@ clone_user_rev() {
|
||||
fi;;
|
||||
esac
|
||||
|
||||
echo "git revision is $(cd $dir && (git rev-parse $rev 2> /dev/null || git rev-parse refs/heads/fetchgit) | tail -n1)"
|
||||
local full_revision=$(cd $dir && (git rev-parse $rev 2> /dev/null || git rev-parse refs/heads/fetchgit) | tail -n1)
|
||||
echo "git revision is $full_revision"
|
||||
echo "git human-readable version is $(cd $dir && (git describe $full_revision 2> /dev/null || git describe --tags $full_revision 2> /dev/null || echo -- none --))"
|
||||
|
||||
# Allow doing additional processing before .git removal
|
||||
eval "$NIX_PREFETCH_GIT_CHECKOUT_HOOK"
|
||||
|
@ -1,9 +1,9 @@
|
||||
source $stdenv/setup
|
||||
header "getting $url${tag:+ ($tag)} into $out"
|
||||
header "getting $url${rev:+ ($rev)} into $out"
|
||||
|
||||
hg clone --insecure "$url" hg-clone
|
||||
|
||||
hg archive -q -y ${tag:+-r "$tag"} --cwd hg-clone $out
|
||||
hg archive -q -y ${rev:+-r "$rev"} --cwd hg-clone $out
|
||||
rm -f $out/.hg_archival.txt
|
||||
|
||||
stopNest
|
||||
|
@ -1,4 +1,4 @@
|
||||
{stdenv, mercurial, nix}: {name ? null, url, tag ? null, md5 ? null, sha256 ? null}:
|
||||
{stdenv, mercurial, nix}: {name ? null, url, rev ? null, md5 ? null, sha256 ? null}:
|
||||
|
||||
# TODO: statically check if mercurial as the https support if the url starts woth https.
|
||||
stdenv.mkDerivation {
|
||||
@ -13,6 +13,6 @@ stdenv.mkDerivation {
|
||||
outputHashMode = "recursive";
|
||||
outputHash = if md5 != null then md5 else sha256;
|
||||
|
||||
inherit url tag;
|
||||
inherit url rev;
|
||||
preferLocalBuild = true;
|
||||
}
|
||||
|
@ -20,6 +20,12 @@ rec {
|
||||
http://kent.dl.sourceforge.net/sourceforge/
|
||||
];
|
||||
|
||||
# SourceForge.jp.
|
||||
sourceforgejp = [
|
||||
http://osdn.dl.sourceforge.jp/
|
||||
http://jaist.dl.sourceforge.jp/
|
||||
];
|
||||
|
||||
# GNU (http://www.gnu.org/prep/ftp.html).
|
||||
gnu = [
|
||||
# This one redirects to a (supposedly) nearby and (supposedly) up-to-date
|
||||
|
153
pkgs/build-support/fetchzip/nix-prefetch-zip
Executable file
153
pkgs/build-support/fetchzip/nix-prefetch-zip
Executable file
@ -0,0 +1,153 @@
|
||||
#! /bin/sh -e
|
||||
|
||||
usage(){
|
||||
echo >&2 "syntax: nix-prefetch-zip [OPTIONS] [URL [EXPECTED-HASH]]
|
||||
|
||||
Options:
|
||||
--url url The url of the archive to fetch.
|
||||
--name name The name to use for the store path (defaults to \`basename \$url\`).
|
||||
--hash hash The hash of unpacked archive.
|
||||
--hash-type type Use the specified cryptographic hash algorithm, which can be one of md5, sha1, and sha256.
|
||||
--leave-root Keep the root directory of the archive.
|
||||
--help Show this help text.
|
||||
"
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
argi=0
|
||||
argfun=""
|
||||
for arg; do
|
||||
if test -z "$argfun"; then
|
||||
case $arg in
|
||||
--url) argfun=set_url;;
|
||||
--name) argfun=set_name;;
|
||||
--hash) argfun=set_expHash;;
|
||||
--hash-type) argfun=set_hashType;;
|
||||
--leave-root) leaveRoot=true;;
|
||||
--help) usage;;
|
||||
*) argi=$(($argi + 1))
|
||||
case $argi in
|
||||
1) url=$arg;;
|
||||
2) rev=$arg;;
|
||||
3) expHash=$arg;;
|
||||
*) echo "Unexpected argument: $arg" >&2
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
else
|
||||
case $argfun in
|
||||
set_*)
|
||||
var=$(echo $argfun | sed 's,^set_,,')
|
||||
eval "$var=\$arg"
|
||||
;;
|
||||
esac
|
||||
argfun=""
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -z "$url" ]; then
|
||||
echo "Error: No --url flag given" >&2
|
||||
usage
|
||||
fi
|
||||
|
||||
if [ -z "$name" ]; then
|
||||
name=$(basename "$url")
|
||||
fi
|
||||
|
||||
if test -z "$hashType"; then
|
||||
hashType=sha256
|
||||
fi
|
||||
|
||||
hashFormat="--base32"
|
||||
|
||||
tmp=$(mktemp -d 2>/dev/null || mktemp -d -t "$$")
|
||||
trap "rm -rf '$tmp'" EXIT
|
||||
|
||||
unpackDir=$tmp/unpacked/$name
|
||||
mkdir -p $unpackDir
|
||||
downloadedFile=$tmp/$name
|
||||
|
||||
unpackFile() {
|
||||
local curSrc="$1"
|
||||
|
||||
case "$curSrc" in
|
||||
*.tar.xz | *.tar.lzma)
|
||||
# Don't rely on tar knowing about .xz.
|
||||
xz -d < $curSrc | tar xf -
|
||||
;;
|
||||
*.tar | *.tar.* | *.tgz | *.tbz2)
|
||||
# GNU tar can automatically select the decompression method
|
||||
# (info "(tar) gzip").
|
||||
tar xf $curSrc
|
||||
;;
|
||||
*.zip)
|
||||
unzip -qq $curSrc
|
||||
;;
|
||||
*)
|
||||
echo "source archive $curSrc has unknown type" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# If the hash was given, a file with that hash may already be in the
|
||||
# store.
|
||||
if test -n "$expHash"; then
|
||||
finalPath=$(nix-store --print-fixed-path --recursive "$hashType" "$expHash" "$name")
|
||||
if ! nix-store --check-validity "$finalPath" 2> /dev/null; then
|
||||
finalPath=
|
||||
fi
|
||||
hash=$expHash
|
||||
fi
|
||||
|
||||
# If we don't know the hash or a path with that hash doesn't exist,
|
||||
# download the file and add it to the store.
|
||||
if test -z "$finalPath"; then
|
||||
curl="curl \
|
||||
--location --max-redirs 20 \
|
||||
--disable-epsv \
|
||||
--insecure"
|
||||
|
||||
if ! $curl --fail "$url" --output "$downloadedFile"; then
|
||||
echo "error: could not download $url" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd $unpackDir
|
||||
unpackFile "$downloadedFile"
|
||||
|
||||
# FIXME: handle zip files that contain a single regular file.
|
||||
if [ -z "$leaveRoot" ]; then
|
||||
shopt -s dotglob
|
||||
if [ $(ls -d $unpackDir/* | wc -l) != 1 ]; then
|
||||
echo "error: zip file must contain a single directory."
|
||||
exit 1
|
||||
fi
|
||||
fn=$(cd "$unpackDir" && echo *)
|
||||
mv $unpackDir/$fn/* "$unpackDir/"
|
||||
rmdir "$unpackDir/$fn"
|
||||
fi
|
||||
|
||||
# Compute the hash.
|
||||
hash=$(nix-hash --type $hashType $hashFormat $unpackDir)
|
||||
if ! test -n "$QUIET"; then echo "hash is $hash" >&2; fi
|
||||
|
||||
# Add the downloaded file to the Nix store.
|
||||
finalPath=$(nix-store --add-fixed --recursive "$hashType" $unpackDir)
|
||||
|
||||
if test -n "$expHash" -a "$expHash" != "$hash"; then
|
||||
echo "hash mismatch for URL \`$url'"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! test -n "$QUIET"; then echo "path is $finalPath" >&2; fi
|
||||
|
||||
echo $hash
|
||||
|
||||
if test -n "$PRINT_PATH"; then
|
||||
echo $finalPath
|
||||
fi
|
@ -1,9 +1,27 @@
|
||||
# Parses a /nix/store/*-closure file and prints
|
||||
# various information.
|
||||
# By default, the nodes in the graph are printed to stdout.
|
||||
# If the environment variable printManifest is set,
|
||||
# then the graph is written as a manifest.
|
||||
# If printRegistration is set, then the graph is written
|
||||
# as a registration file for a manifest is written
|
||||
# in the `nix-store --load-db' format.
|
||||
|
||||
use strict;
|
||||
use File::Basename;
|
||||
|
||||
my %storePaths;
|
||||
my %refs;
|
||||
|
||||
# Each argument on the command line is a graph file.
|
||||
# The graph file contains line-triples and a variable
|
||||
# number of references:
|
||||
# <store-path>
|
||||
# <deriver>
|
||||
# <count>
|
||||
# <ref-#1>
|
||||
# ...
|
||||
# <ref-#count>
|
||||
foreach my $graph (@ARGV) {
|
||||
open GRAPH, "<$graph" or die;
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user