Merge recent master
This commit is contained in:
commit
9757785295
@ -446,7 +446,7 @@ xlink:href='http://nixos.org/releases/nix/nix-0.10/'>Nix
|
||||
<literal>stdenv</literal>; the formed changes the C compiler, and
|
||||
the latter adds additional packages to the front of
|
||||
<literal>stdenv</literal>’s initial <envar>PATH</envar>, allowing
|
||||
tools to be overriden.</para>
|
||||
tools to be overridden.</para>
|
||||
|
||||
<para>For instance, the package <varname>strategoxt</varname>
|
||||
doesn’t build with the GNU Make in <literal>stdenv</literal>
|
||||
|
@ -56,7 +56,7 @@ details.)</para>
|
||||
<para>Often it is necessary to override or modify some aspect of the
|
||||
build. To make this easier, the standard environment breaks the
|
||||
package build into a number of <emphasis>phases</emphasis>, all of
|
||||
which can be overriden or modified individually: unpacking the
|
||||
which can be overridden or modified individually: unpacking the
|
||||
sources, applying patches, configuring, building, and installing.
|
||||
(There are some others; see <xref linkend="ssec-stdenv-phases"/>.)
|
||||
For instance, a package that doesn’t supply a makefile but instead has
|
||||
@ -233,7 +233,7 @@ specific parts of the build (e.g., unpacking the sources or installing
|
||||
the binaries). Furthermore, it allows a nicer presentation of build
|
||||
logs in the Nix build farm.</para>
|
||||
|
||||
<para>Each phase can be overriden in its entirety either by setting
|
||||
<para>Each phase can be overridden in its entirety either by setting
|
||||
the environment variable
|
||||
<varname><replaceable>name</replaceable>Phase</varname> to a string
|
||||
containing some shell commands to be executed, or by redefining the
|
||||
|
@ -873,7 +873,7 @@ Any package in Nixpkgs that depends on <literal>emacs</literal> will
|
||||
be passed your customised instance. (However, the value
|
||||
<literal>pkgs.emacs</literal> in
|
||||
<varname>nixpkgs.config.packageOverrides</varname> refers to the
|
||||
original rather than overriden instance, to prevent an infinite
|
||||
original rather than overridden instance, to prevent an infinite
|
||||
recursion.)</para>
|
||||
|
||||
</section>
|
||||
|
@ -12,11 +12,11 @@ let
|
||||
declarations = map (fn: stripPrefix fn) opt.declarations;
|
||||
});
|
||||
|
||||
prefix = toString pkgs.path;
|
||||
prefix = toString ../../..;
|
||||
|
||||
stripPrefix = fn:
|
||||
if substring 0 (stringLength prefix) fn == prefix then
|
||||
substring (add (stringLength prefix) 1) 1000 fn
|
||||
substring (stringLength prefix + 1) 1000 fn
|
||||
else
|
||||
fn;
|
||||
|
||||
|
@ -76,7 +76,7 @@ in
|
||||
|
||||
environment.systemPackages = [ glibcLocales ];
|
||||
|
||||
environment.systemVariables =
|
||||
environment.sessionVariables =
|
||||
{ LANG = config.i18n.defaultLocale;
|
||||
LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive";
|
||||
};
|
||||
|
@ -149,6 +149,12 @@ in
|
||||
|
||||
system.build.binsh = pkgs.bashInteractive;
|
||||
|
||||
# Set session variables in the shell as well. This is usually
|
||||
# unnecessary, but it allows changes to session variables to take
|
||||
# effect without restarting the session (e.g. by opening a new
|
||||
# terminal instead of logging out of X11).
|
||||
environment.variables = config.environment.sessionVariables;
|
||||
|
||||
environment.etc."shells".text =
|
||||
''
|
||||
${concatStringsSep "\n" cfg.shells}
|
||||
|
@ -14,7 +14,7 @@ in
|
||||
|
||||
options = {
|
||||
|
||||
environment.systemVariables = mkOption {
|
||||
environment.sessionVariables = mkOption {
|
||||
default = {};
|
||||
description = ''
|
||||
A set of environment variables used in the global environment.
|
||||
@ -48,7 +48,7 @@ in
|
||||
''
|
||||
${concatStringsSep "\n" (
|
||||
(mapAttrsToList (n: v: ''${n}="${concatStringsSep ":" v}"'')
|
||||
(zipAttrsWith (const concatLists) ([ (mapAttrs (n: v: [ v ]) cfg.systemVariables) ]))))}
|
||||
(zipAttrsWith (const concatLists) ([ (mapAttrs (n: v: [ v ]) cfg.sessionVariables) ]))))}
|
||||
'';
|
||||
|
||||
};
|
||||
|
@ -30,7 +30,7 @@ in
|
||||
|
||||
config = {
|
||||
|
||||
environment.systemVariables.TZDIR = "/etc/zoneinfo";
|
||||
environment.sessionVariables.TZDIR = "/etc/zoneinfo";
|
||||
|
||||
systemd.globalEnvironment.TZDIR = tzdir;
|
||||
|
||||
|
138
nixos/modules/config/zram.nix
Normal file
138
nixos/modules/config/zram.nix
Normal file
@ -0,0 +1,138 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.zramSwap;
|
||||
|
||||
devices = map (nr: "zram${toString nr}") (range 0 (cfg.numDevices - 1));
|
||||
|
||||
modprobe = "${config.system.sbin.modprobe}/sbin/modprobe";
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
zramSwap = {
|
||||
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
Enable in-memory compressed swap space provided by the zram kernel
|
||||
module. It is recommended to enable only for kernel 3.14 or higher.
|
||||
'';
|
||||
};
|
||||
|
||||
numDevices = mkOption {
|
||||
default = 4;
|
||||
type = types.int;
|
||||
description = ''
|
||||
Number of zram swap devices to create. It should be equal to the
|
||||
number of CPU cores your system has.
|
||||
'';
|
||||
};
|
||||
|
||||
memoryPercent = mkOption {
|
||||
default = 50;
|
||||
type = types.int;
|
||||
description = ''
|
||||
Maximum amount of memory that can be used by the zram swap devices
|
||||
(as a percentage of your total memory). Defaults to 1/2 of your total
|
||||
RAM.
|
||||
'';
|
||||
};
|
||||
|
||||
priority = mkOption {
|
||||
default = 5;
|
||||
type = types.int;
|
||||
description = ''
|
||||
Priority of the zram swap devices. It should be a number higher than
|
||||
the priority of your disk-based swap devices (so that the system will
|
||||
fill the zram swap devices before falling back to disk swap).
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
system.requiredKernelConfig = with config.lib.kernelConfig; [
|
||||
(isModule "ZRAM")
|
||||
];
|
||||
|
||||
# Disabling this for the moment, as it would create and mkswap devices twice,
|
||||
# once in stage 2 boot, and again when the zram-reloader service starts.
|
||||
# boot.kernelModules = [ "zram" ];
|
||||
|
||||
boot.extraModprobeConfig = ''
|
||||
options zram num_devices=${toString cfg.numDevices}
|
||||
'';
|
||||
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="zram[0-9]*", ENV{SYSTEMD_WANTS}="zram-init-%k.service", TAG+="systemd"
|
||||
'';
|
||||
|
||||
systemd.services =
|
||||
let
|
||||
createZramInitService = dev:
|
||||
nameValuePair "zram-init-${dev}" {
|
||||
description = "Init swap on zram-based device ${dev}";
|
||||
bindsTo = [ "dev-${dev}.swap" ];
|
||||
after = [ "dev-${dev}.device" "zram-reloader.service" ];
|
||||
requires = [ "dev-${dev}.device" "zram-reloader.service" ];
|
||||
before = [ "dev-${dev}.swap" ];
|
||||
requiredBy = [ "dev-${dev}.swap" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStop = "${pkgs.stdenv.shell} -c 'echo 1 > /sys/class/block/${dev}/reset'";
|
||||
};
|
||||
script = ''
|
||||
set -u
|
||||
set -o pipefail
|
||||
|
||||
PATH=${pkgs.procps}/bin:${pkgs.gnugrep}/bin:${pkgs.gnused}/bin
|
||||
|
||||
# Calculate memory to use for zram
|
||||
totalmem=$(free | grep -e "^Mem:" | sed -e 's/^Mem: *//' -e 's/ *.*//')
|
||||
mem=$(((totalmem * ${toString cfg.memoryPercent} / 100 / ${toString cfg.numDevices}) * 1024))
|
||||
|
||||
echo $mem > /sys/class/block/${dev}/disksize
|
||||
${pkgs.utillinux}/sbin/mkswap /dev/${dev}
|
||||
'';
|
||||
restartIfChanged = false;
|
||||
};
|
||||
in listToAttrs ((map createZramInitService devices) ++ [(nameValuePair "zram-reloader"
|
||||
{
|
||||
description = "Reload zram kernel module when number of devices changes";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStartPre = "${modprobe} -r zram";
|
||||
ExecStart = "${modprobe} zram";
|
||||
ExecStop = "${modprobe} -r zram";
|
||||
};
|
||||
restartTriggers = [ cfg.numDevices ];
|
||||
restartIfChanged = true;
|
||||
})]);
|
||||
|
||||
swapDevices =
|
||||
let
|
||||
useZramSwap = dev:
|
||||
{
|
||||
device = "/dev/${dev}";
|
||||
priority = cfg.priority;
|
||||
};
|
||||
in map useZramSwap devices;
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -466,7 +466,7 @@ $bootLoaderConfig
|
||||
# };
|
||||
|
||||
# List packages installed in system profile. To search by name, run:
|
||||
# $ nix-env -qaP | grep wget
|
||||
# \$ nix-env -qaP | grep wget
|
||||
# environment.systemPackages = with pkgs; [
|
||||
# wget
|
||||
# ];
|
||||
|
@ -133,6 +133,7 @@
|
||||
spiped = 123;
|
||||
teamspeak = 124;
|
||||
influxdb = 125;
|
||||
nsd = 126;
|
||||
|
||||
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
||||
|
||||
@ -240,6 +241,7 @@
|
||||
spiped = 123;
|
||||
teamspeak = 124;
|
||||
influxdb = 125;
|
||||
nsd = 126;
|
||||
|
||||
# When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399!
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
./config/timezone.nix
|
||||
./config/unix-odbc-drivers.nix
|
||||
./config/users-groups.nix
|
||||
./config/zram.nix
|
||||
./hardware/all-firmware.nix
|
||||
./hardware/cpu/intel-microcode.nix
|
||||
./hardware/cpu/amd-microcode.nix
|
||||
@ -206,6 +207,7 @@
|
||||
./services/networking/networkmanager.nix
|
||||
./services/networking/ngircd.nix
|
||||
./services/networking/notbit.nix
|
||||
./services/networking/nsd.nix
|
||||
./services/networking/ntopng.nix
|
||||
./services/networking/ntpd.nix
|
||||
./services/networking/oidentd.nix
|
||||
|
@ -23,7 +23,7 @@ in
|
||||
EDITOR = "nano";
|
||||
};
|
||||
|
||||
environment.systemVariables =
|
||||
environment.sessionVariables =
|
||||
{ NIX_PATH =
|
||||
[ "/nix/var/nix/profiles/per-user/root/channels/nixos"
|
||||
"nixpkgs=/etc/nixos/nixpkgs"
|
||||
|
@ -12,7 +12,7 @@ with lib;
|
||||
}
|
||||
];
|
||||
|
||||
environment.systemVariables =
|
||||
environment.sessionVariables =
|
||||
{ OPENSSL_X509_CERT_FILE = "/etc/ssl/certs/ca-bundle.crt";
|
||||
CURL_CA_BUNDLE = "/etc/ssl/certs/ca-bundle.crt";
|
||||
GIT_SSL_CAINFO = "/etc/ssl/certs/ca-bundle.crt";
|
||||
|
@ -318,7 +318,7 @@ in
|
||||
};
|
||||
|
||||
# Set up the environment variables for running Nix.
|
||||
environment.systemVariables = cfg.envVars;
|
||||
environment.sessionVariables = cfg.envVars;
|
||||
|
||||
environment.extraInit =
|
||||
''
|
||||
|
751
nixos/modules/services/networking/nsd.nix
Normal file
751
nixos/modules/services/networking/nsd.nix
Normal file
@ -0,0 +1,751 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
with pkgs.lib;
|
||||
|
||||
let
|
||||
cfg = config.services.nsd;
|
||||
|
||||
username = "nsd";
|
||||
stateDir = "/var/lib/nsd";
|
||||
pidFile = stateDir + "/var/nsd.pid";
|
||||
|
||||
zoneFiles = pkgs.stdenv.mkDerivation {
|
||||
preferLocalBuild = true;
|
||||
name = "nsd-env";
|
||||
buildCommand = concatStringsSep "\n"
|
||||
[ "mkdir -p $out"
|
||||
(concatStrings (mapAttrsToList (zoneName: zoneOptions: ''
|
||||
cat > "$out/${zoneName}" <<_EOF_
|
||||
${zoneOptions.data}
|
||||
_EOF_
|
||||
'') zoneConfigs))
|
||||
];
|
||||
};
|
||||
|
||||
configFile = pkgs.writeText "nsd.conf" ''
|
||||
server:
|
||||
username: ${username}
|
||||
chroot: "${stateDir}"
|
||||
|
||||
# The directory for zonefile: files. The daemon chdirs here.
|
||||
zonesdir: "${stateDir}"
|
||||
|
||||
# the list of dynamically added zones.
|
||||
zonelistfile: "${stateDir}/var/zone.list"
|
||||
database: "${stateDir}/var/nsd.db"
|
||||
logfile: "${stateDir}/var/nsd.log"
|
||||
pidfile: "${pidFile}"
|
||||
xfrdfile: "${stateDir}/var/xfrd.state"
|
||||
xfrdir: "${stateDir}/tmp"
|
||||
|
||||
# interfaces
|
||||
${forEach " ip-address: " cfg.interfaces}
|
||||
|
||||
server-count: ${toString cfg.serverCount}
|
||||
ip-transparent: ${yesOrNo cfg.ipTransparent}
|
||||
do-ip4: ${yesOrNo cfg.ipv4}
|
||||
do-ip6: ${yesOrNo cfg.ipv6}
|
||||
port: ${toString cfg.port}
|
||||
verbosity: ${toString cfg.verbosity}
|
||||
hide-version: ${yesOrNo cfg.hideVersion}
|
||||
identity: "${cfg.identity}"
|
||||
${maybeString "nsid: " cfg.nsid}
|
||||
tcp-count: ${toString cfg.tcpCount}
|
||||
tcp-query-count: ${toString cfg.tcpQueryCount}
|
||||
tcp-timeout: ${toString cfg.tcpTimeout}
|
||||
ipv4-edns-size: ${toString cfg.ipv4EDNSSize}
|
||||
ipv6-edns-size: ${toString cfg.ipv6EDNSSize}
|
||||
${if cfg.statistics == null then "" else "statistics: ${toString cfg.statistics}"}
|
||||
xfrd-reload-timeout: ${toString cfg.xfrdReloadTimeout}
|
||||
zonefiles-check: ${yesOrNo cfg.zonefilesCheck}
|
||||
|
||||
rrl-size: ${toString cfg.ratelimit.size}
|
||||
rrl-ratelimit: ${toString cfg.ratelimit.ratelimit}
|
||||
rrl-whitelist-ratelimit: ${toString cfg.ratelimit.whitelistRatelimit}
|
||||
${maybeString "rrl-slip: " cfg.ratelimit.slip}
|
||||
${maybeString "rrl-ipv4-prefix-length: " cfg.ratelimit.ipv4PrefixLength}
|
||||
${maybeString "rrl-ipv6-prefix-length: " cfg.ratelimit.ipv6PrefixLength}
|
||||
|
||||
${keyConfigFile}
|
||||
|
||||
remote-control:
|
||||
control-enable: ${yesOrNo cfg.remoteControl.enable}
|
||||
${forEach " control-interface: " cfg.remoteControl.interfaces}
|
||||
control-port: ${toString cfg.port}
|
||||
server-key-file: "${cfg.remoteControl.serverKeyFile}"
|
||||
server-cert-file: "${cfg.remoteControl.serverCertFile}"
|
||||
control-key-file: "${cfg.remoteControl.controlKeyFile}"
|
||||
control-cert-file: "${cfg.remoteControl.controlCertFile}"
|
||||
|
||||
# zone files reside in "${zoneFiles}" linked to "${stateDir}/zones"
|
||||
${concatStrings (mapAttrsToList zoneConfigFile zoneConfigs)}
|
||||
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
yesOrNo = b: if b then "yes" else "no";
|
||||
maybeString = pre: s: if s == null then "" else ''${pre} "${s}"'';
|
||||
forEach = pre: l: concatMapStrings (x: pre + x + "\n") l;
|
||||
|
||||
|
||||
keyConfigFile = concatStrings (mapAttrsToList (keyName: keyOptions: ''
|
||||
key:
|
||||
name: "${keyName}"
|
||||
algorithm: "${keyOptions.algorithm}"
|
||||
include: "${stateDir}/private/${keyName}"
|
||||
'') cfg.keys);
|
||||
|
||||
copyKeys = concatStrings (mapAttrsToList (keyName: keyOptions: ''
|
||||
secret=$(cat "${keyOptions.keyFile}")
|
||||
dest="${stateDir}/private/${keyName}"
|
||||
echo " secret: \"$secret\"" > "$dest"
|
||||
${pkgs.coreutils}/bin/chown ${username}:${username} "$dest"
|
||||
${pkgs.coreutils}/bin/chmod 0400 "$dest"
|
||||
'') cfg.keys);
|
||||
|
||||
|
||||
zoneConfigFile = name: zone: ''
|
||||
zone:
|
||||
name: "${name}"
|
||||
zonefile: "${stateDir}/zones/${name}"
|
||||
${maybeString "outgoing-interface: " zone.outgoingInterface}
|
||||
${forEach " rrl-whitelist: " zone.rrlWhitelist}
|
||||
|
||||
${forEach " allow-notify: " zone.allowNotify}
|
||||
${forEach " request-xfr: " zone.requestXFR}
|
||||
allow-axfr-fallback: ${yesOrNo zone.allowAXFRFallback}
|
||||
|
||||
${forEach " notify: " zone.notify}
|
||||
notify-retry: ${toString zone.notifyRetry}
|
||||
${forEach " provide-xfr: " zone.provideXFR}
|
||||
|
||||
'';
|
||||
|
||||
zoneConfigs = zoneConfigs' {} "" { children = cfg.zones; };
|
||||
|
||||
zoneConfigs' = parent: name: zone:
|
||||
if !(zone ? children) || zone.children == null || zone.children == { }
|
||||
# leaf -> actual zone
|
||||
then listToAttrs [ (nameValuePair name (parent // zone)) ]
|
||||
|
||||
# fork -> pattern
|
||||
else zipAttrsWith (name: head) (
|
||||
mapAttrsToList (name: child: zoneConfigs' (parent // zone // { children = {}; }) name child)
|
||||
zone.children
|
||||
);
|
||||
|
||||
# fighting infinite recursion
|
||||
zoneOptions = zoneOptionsRaw // childConfig zoneOptions1 true;
|
||||
zoneOptions1 = zoneOptionsRaw // childConfig zoneOptions2 false;
|
||||
zoneOptions2 = zoneOptionsRaw // childConfig zoneOptions3 false;
|
||||
zoneOptions3 = zoneOptionsRaw // childConfig zoneOptions4 false;
|
||||
zoneOptions4 = zoneOptionsRaw // childConfig zoneOptions5 false;
|
||||
zoneOptions5 = zoneOptionsRaw // childConfig zoneOptions6 false;
|
||||
zoneOptions6 = zoneOptionsRaw // childConfig null false;
|
||||
|
||||
childConfig = x: v: { options.children = { type = types.attrsOf x; visible = v; }; };
|
||||
|
||||
zoneOptionsRaw = types.submodule (
|
||||
{ options, ... }:
|
||||
{ options = {
|
||||
children = mkOption {
|
||||
default = {};
|
||||
description = ''
|
||||
Children zones inherit all options of their parents. Attributes
|
||||
defined in a child will overwrite the ones of its parent. Only
|
||||
leaf zones will be actually served. This way it's possible to
|
||||
define maybe zones which share most attributes without
|
||||
duplicating everything. This mechanism replaces nsd's patterns
|
||||
in a save and functional way.
|
||||
'';
|
||||
};
|
||||
|
||||
allowNotify = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
example = [ "192.0.2.0/24 NOKEY" "10.0.0.1-10.0.0.5 my_tsig_key_name"
|
||||
"10.0.3.4&255.255.0.0 BLOCKED"
|
||||
];
|
||||
description = ''
|
||||
Listed primary servers are allowed to notify this secondary server.
|
||||
<screen><![CDATA[
|
||||
Format: <ip> <key-name | NOKEY | BLOCKED>
|
||||
|
||||
<ip> either a plain IPv4/IPv6 address or range. Valid patters for ranges:
|
||||
* 10.0.0.0/24 # via subnet size
|
||||
* 10.0.0.0&255.255.255.0 # via subnet mask
|
||||
* 10.0.0.1-10.0.0.254 # via range
|
||||
|
||||
A optional port number could be added with a '@':
|
||||
* 2001:1234::1@1234
|
||||
|
||||
<key-name | NOKEY | BLOCKED>
|
||||
* <key-name> will use the specified TSIG key
|
||||
* NOKEY no TSIG signature is required
|
||||
* BLOCKED notifies from non-listed or blocked IPs will be ignored
|
||||
* ]]></screen>
|
||||
'';
|
||||
};
|
||||
|
||||
requestXFR = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [];
|
||||
description = ''
|
||||
Format: <code>[AXFR|UDP] <ip-address> <key-name | NOKEY></code>
|
||||
'';
|
||||
};
|
||||
|
||||
allowAXFRFallback = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
If NSD as secondary server should be allowed to AXFR if the primary
|
||||
server does not allow IXFR.
|
||||
'';
|
||||
};
|
||||
|
||||
notify = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [ "10.0.0.1@3721 my_key" "::5 NOKEY" ];
|
||||
description = ''
|
||||
This primary server will notify all given secondary servers about
|
||||
zone changes.
|
||||
<screen><![CDATA[
|
||||
Format: <ip> <key-name | NOKEY>
|
||||
|
||||
<ip> a plain IPv4/IPv6 address with on optional port number (ip@port)
|
||||
|
||||
<key-name | NOKEY>
|
||||
* <key-name> sign notifies with the specified key
|
||||
* NOKEY don't sign notifies
|
||||
]]></screen>
|
||||
'';
|
||||
};
|
||||
|
||||
notifyRetry = mkOption {
|
||||
type = types.int;
|
||||
default = 5;
|
||||
description = ''
|
||||
Specifies the number of retries for failed notifies. Set this along with notify.
|
||||
'';
|
||||
};
|
||||
|
||||
provideXFR = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [ "192.0.2.0/24 NOKEY" "192.0.2.0/24 my_tsig_key_name" ];
|
||||
description = ''
|
||||
Allow these IPs and TSIG to transfer zones, addr TSIG|NOKEY|BLOCKED
|
||||
address range 192.0.2.0/24, 1.2.3.4&255.255.0.0, 3.0.2.20-3.0.2.40
|
||||
'';
|
||||
};
|
||||
|
||||
outgoingInterface = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "2000::1@1234";
|
||||
description = ''
|
||||
This address will be used for zone-transfere requests if configured
|
||||
as a secondary server or notifications in case of a primary server.
|
||||
Supply either a plain IPv4 or IPv6 address with an optional port
|
||||
number (ip@port).
|
||||
'';
|
||||
};
|
||||
|
||||
rrlWhitelist = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
description = ''
|
||||
Whitelists the given rrl-types.
|
||||
The RRL classification types are: nxdomain, error, referral, any,
|
||||
rrsig, wildcard, nodata, dnskey, positive, all
|
||||
'';
|
||||
};
|
||||
|
||||
data = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
example = "";
|
||||
description = ''
|
||||
The actual zone data. This is the content of your zone file.
|
||||
Use imports or pkgs.lib.readFile if you don't want this data in your config file.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
in
|
||||
{
|
||||
options = {
|
||||
services.nsd = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable the NSD authoritative domain name server.
|
||||
'';
|
||||
};
|
||||
|
||||
rootServer = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Wheter if this server will be a root server (a DNS root server, you
|
||||
usually don't want that).
|
||||
'';
|
||||
};
|
||||
|
||||
interfaces = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ "127.0.0.0" "::1" ];
|
||||
description = ''
|
||||
What addresses the server should listen to.
|
||||
'';
|
||||
};
|
||||
|
||||
serverCount = mkOption {
|
||||
type = types.int;
|
||||
default = 1;
|
||||
description = ''
|
||||
Number of NSD servers to fork. Put the number of CPUs to use here.
|
||||
'';
|
||||
};
|
||||
|
||||
ipTransparent = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Allow binding to non local addresses.
|
||||
'';
|
||||
};
|
||||
|
||||
ipv4 = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Wheter to listen on IPv4 connections.
|
||||
'';
|
||||
};
|
||||
|
||||
ipv6 = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Wheter to listen on IPv6 connections.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
default = 53;
|
||||
description = ''
|
||||
Port the service should bind do.
|
||||
'';
|
||||
};
|
||||
|
||||
verbosity = mkOption {
|
||||
type = types.int;
|
||||
default = 0;
|
||||
description = ''
|
||||
Verbosity level.
|
||||
'';
|
||||
};
|
||||
|
||||
hideVersion = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Wheter NSD should answer VERSION.BIND and VERSION.SERVER CHAOS class queries.
|
||||
'';
|
||||
};
|
||||
|
||||
identity = mkOption {
|
||||
type = types.str;
|
||||
default = "unidentified server";
|
||||
description = ''
|
||||
Identify the server (CH TXT ID.SERVER entry).
|
||||
'';
|
||||
};
|
||||
|
||||
nsid = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
NSID identity (hex string, or "ascii_somestring").
|
||||
'';
|
||||
};
|
||||
|
||||
tcpCount = mkOption {
|
||||
type = types.int;
|
||||
default = 100;
|
||||
description = ''
|
||||
Maximum number of concurrent TCP connections per server.
|
||||
'';
|
||||
};
|
||||
|
||||
tcpQueryCount = mkOption {
|
||||
type = types.int;
|
||||
default = 0;
|
||||
description = ''
|
||||
Maximum number of queries served on a single TCP connection.
|
||||
0 means no maximum.
|
||||
'';
|
||||
};
|
||||
|
||||
tcpTimeout = mkOption {
|
||||
type = types.int;
|
||||
default = 120;
|
||||
description = ''
|
||||
TCP timeout in seconds.
|
||||
'';
|
||||
};
|
||||
|
||||
ipv4EDNSSize = mkOption {
|
||||
type = types.int;
|
||||
default = 4096;
|
||||
description = ''
|
||||
Preferred EDNS buffer size for IPv4.
|
||||
'';
|
||||
};
|
||||
|
||||
ipv6EDNSSize = mkOption {
|
||||
type = types.int;
|
||||
default = 4096;
|
||||
description = ''
|
||||
Preferred EDNS buffer size for IPv6.
|
||||
'';
|
||||
};
|
||||
|
||||
statistics = mkOption {
|
||||
type = types.nullOr types.int;
|
||||
default = null;
|
||||
description = ''
|
||||
Statistics are produced every number of seconds. Prints to log.
|
||||
If null no statistics are logged.
|
||||
'';
|
||||
};
|
||||
|
||||
xfrdReloadTimeout = mkOption {
|
||||
type = types.int;
|
||||
default = 1;
|
||||
description = ''
|
||||
Number of seconds between reloads triggered by xfrd.
|
||||
'';
|
||||
};
|
||||
|
||||
zonefilesCheck = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Wheter to check mtime of all zone files on start and sighup.
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = ''
|
||||
Extra nsd config.
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
ratelimit = mkOption {
|
||||
type = types.submodule (
|
||||
{ options, ... }:
|
||||
{ options = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Enable ratelimit capabilities.
|
||||
'';
|
||||
};
|
||||
|
||||
size = mkOption {
|
||||
type = types.int;
|
||||
default = 1000000;
|
||||
description = ''
|
||||
Size of the hashtable. More buckets use more memory but lower
|
||||
the chance of hash hash collisions.
|
||||
'';
|
||||
};
|
||||
|
||||
ratelimit = mkOption {
|
||||
type = types.int;
|
||||
default = 200;
|
||||
description = ''
|
||||
Max qps allowed from any query source.
|
||||
0 means unlimited. With an verbosity of 2 blocked and
|
||||
unblocked subnets will be logged.
|
||||
'';
|
||||
};
|
||||
|
||||
whitelistRatelimit = mkOption {
|
||||
type = types.int;
|
||||
default = 2000;
|
||||
description = ''
|
||||
Max qps allowed from whitelisted sources.
|
||||
0 means unlimited. Set the rrl-whitelist option for specific
|
||||
queries to apply this limit instead of the default to them.
|
||||
'';
|
||||
};
|
||||
|
||||
slip = mkOption {
|
||||
type = types.nullOr types.int;
|
||||
default = null;
|
||||
description = ''
|
||||
Number of packets that get discarded before replying a SLIP response.
|
||||
0 disables SLIP responses. 1 will make every response a SLIP response.
|
||||
'';
|
||||
};
|
||||
|
||||
ipv4PrefixLength = mkOption {
|
||||
type = types.nullOr types.int;
|
||||
default = null;
|
||||
description = ''
|
||||
IPv4 prefix length. Addresses are grouped by netblock.
|
||||
'';
|
||||
};
|
||||
|
||||
ipv6PrefixLength = mkOption {
|
||||
type = types.nullOr types.int;
|
||||
default = null;
|
||||
description = ''
|
||||
IPv6 prefix length. Addresses are grouped by netblock.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
});
|
||||
default = {
|
||||
};
|
||||
example = {};
|
||||
description = ''
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
remoteControl = mkOption {
|
||||
type = types.submodule (
|
||||
{ config, options, ... }:
|
||||
{ options = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Wheter to enable remote control via nsd-control(8).
|
||||
'';
|
||||
};
|
||||
|
||||
interfaces = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ "127.0.0.1" "::1" ];
|
||||
description = ''
|
||||
Which interfaces NSD should bind to for remote control.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
default = 8952;
|
||||
description = ''
|
||||
Port number for remote control operations (uses TLS over TCP).
|
||||
'';
|
||||
};
|
||||
|
||||
serverKeyFile = mkOption {
|
||||
type = types.path;
|
||||
default = "/etc/nsd/nsd_server.key";
|
||||
description = ''
|
||||
Path to the server private key, which is used by the server
|
||||
but not by nsd-control. This file is generated by nsd-control-setup.
|
||||
'';
|
||||
};
|
||||
|
||||
serverCertFile = mkOption {
|
||||
type = types.path;
|
||||
default = "/etc/nsd/nsd_server.pem";
|
||||
description = ''
|
||||
Path to the server self signed certificate, which is used by the server
|
||||
but and by nsd-control. This file is generated by nsd-control-setup.
|
||||
'';
|
||||
};
|
||||
|
||||
controlKeyFile = mkOption {
|
||||
type = types.path;
|
||||
default = "/etc/nsd/nsd_control.key";
|
||||
description = ''
|
||||
Path to the client private key, which is used by nsd-control
|
||||
but not by the server. This file is generated by nsd-control-setup.
|
||||
'';
|
||||
};
|
||||
|
||||
controlCertFile = mkOption {
|
||||
type = types.path;
|
||||
default = "/etc/nsd/nsd_control.pem";
|
||||
description = ''
|
||||
Path to the client certificate signed with the server certificate.
|
||||
This file is used by nsd-control and generated by nsd-control-setup.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
});
|
||||
default = {
|
||||
};
|
||||
example = {};
|
||||
description = ''
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
keys = mkOption {
|
||||
type = types.attrsOf (types.submodule (
|
||||
{ options, ... }:
|
||||
{ options = {
|
||||
|
||||
algorithm = mkOption {
|
||||
type = types.str;
|
||||
default = "hmac-sha256";
|
||||
description = ''
|
||||
Authentication algorithm for this key.
|
||||
'';
|
||||
};
|
||||
|
||||
keyFile = mkOption {
|
||||
type = types.path;
|
||||
description = ''
|
||||
Path to the file which contains the actual base64 encoded
|
||||
key. The key will be copied into "${stateDir}/private" before
|
||||
NSD starts. The copied file is only accessibly by the NSD
|
||||
user.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
}));
|
||||
default = {
|
||||
};
|
||||
example = {
|
||||
"tsig.example.org" = {
|
||||
algorithm = "hmac-md5";
|
||||
secret = "aaaaaabbbbbbccccccdddddd";
|
||||
};
|
||||
};
|
||||
description = ''
|
||||
Define your TSIG keys here.
|
||||
'';
|
||||
};
|
||||
|
||||
zones = mkOption {
|
||||
type = types.attrsOf zoneOptions;
|
||||
default = {};
|
||||
example = {
|
||||
"serverGroup1" = {
|
||||
provideXFR = [ "10.1.2.3 NOKEY" ];
|
||||
children = {
|
||||
"example.com." = {
|
||||
data = ''
|
||||
$ORIGIN example.com.
|
||||
$TTL 86400
|
||||
@ IN SOA a.ns.example.com. admin.example.com. (
|
||||
...
|
||||
'';
|
||||
};
|
||||
"example.org." = {
|
||||
data = ''
|
||||
$ORIGIN example.org.
|
||||
$TTL 86400
|
||||
@ IN SOA a.ns.example.com. admin.example.com. (
|
||||
...
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
"example.net." = {
|
||||
provideXFR = [ "10.3.2.1 NOKEY" ];
|
||||
data = ''...'';
|
||||
};
|
||||
};
|
||||
description = ''
|
||||
Define your zones here. Zones can cascade other zones and therefore
|
||||
inherit settings from parent zones. Look at the definition of
|
||||
children to learn about inheritance and child zones.
|
||||
The given example will define 3 zones (example.(com|org|net).). Both
|
||||
example.com. and example.org. inherit their configuration from
|
||||
serverGroup1.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
# this is not working :(
|
||||
nixpkgs.config.nsd = {
|
||||
ipv6 = cfg.ipv6;
|
||||
ratelimit = cfg.ratelimit.enable;
|
||||
rootServer = cfg.rootServer;
|
||||
};
|
||||
|
||||
users.extraGroups = singleton {
|
||||
name = username;
|
||||
gid = config.ids.gids.nsd;
|
||||
};
|
||||
|
||||
users.extraUsers = singleton {
|
||||
name = username;
|
||||
description = "NSD service user";
|
||||
home = stateDir;
|
||||
createHome = true;
|
||||
uid = config.ids.uids.nsd;
|
||||
group = username;
|
||||
};
|
||||
|
||||
systemd.services.nsd = {
|
||||
description = "NSD authoritative only domain name service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
PIDFile = pidFile;
|
||||
Restart = "always";
|
||||
ExecStart = "${pkgs.nsd}/sbin/nsd -c ${configFile}";
|
||||
};
|
||||
|
||||
preStart = ''
|
||||
${pkgs.coreutils}/bin/mkdir -m 0700 -p "${stateDir}/private"
|
||||
${pkgs.coreutils}/bin/mkdir -m 0700 -p "${stateDir}/tmp"
|
||||
${pkgs.coreutils}/bin/mkdir -m 0700 -p "${stateDir}/var"
|
||||
|
||||
${pkgs.coreutils}/bin/touch "${stateDir}/don't touch anything in here"
|
||||
|
||||
${pkgs.coreutils}/bin/rm -f "${stateDir}/private/"*
|
||||
${pkgs.coreutils}/bin/rm -f "${stateDir}/tmp/"*
|
||||
|
||||
${pkgs.coreutils}/bin/chown nsd:nsd -R "${stateDir}/private"
|
||||
${pkgs.coreutils}/bin/chown nsd:nsd -R "${stateDir}/tmp"
|
||||
${pkgs.coreutils}/bin/chown nsd:nsd -R "${stateDir}/var"
|
||||
|
||||
${pkgs.coreutils}/bin/rm -rf "${stateDir}/zones"
|
||||
${pkgs.coreutils}/bin/cp -r "${zoneFiles}" "${stateDir}/zones"
|
||||
|
||||
${copyKeys}
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
}
|
@ -104,8 +104,9 @@ in {
|
||||
after = [ "network-interfaces.target" ];
|
||||
environment = { ES_HOME = cfg.dataDir; };
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.elasticsearch}/bin/elasticsearch -f -Des.path.conf=${configDir}";
|
||||
ExecStart = "${pkgs.elasticsearch}/bin/elasticsearch -Des.path.conf=${configDir}";
|
||||
User = "elasticsearch";
|
||||
PermissionsStartOnly = true;
|
||||
};
|
||||
preStart = ''
|
||||
mkdir -m 0700 -p ${cfg.dataDir}
|
||||
|
@ -183,6 +183,15 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
networking.search = mkOption {
|
||||
default = [];
|
||||
example = [ "example.com" "local.domain" ];
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
The list of search paths used when resolving domain names.
|
||||
'';
|
||||
};
|
||||
|
||||
networking.domain = mkOption {
|
||||
default = "";
|
||||
example = "home";
|
||||
@ -424,6 +433,7 @@ in
|
||||
${optionalString (cfg.nameservers != [] && cfg.domain != "") ''
|
||||
domain ${cfg.domain}
|
||||
''}
|
||||
${optionalString (cfg.search != []) ("search " + concatStringsSep " " cfg.search)}
|
||||
${flip concatMapStrings cfg.nameservers (ns: ''
|
||||
nameserver ${ns}
|
||||
'')}
|
||||
|
@ -98,6 +98,10 @@ import ./make-test.nix {
|
||||
$machine->succeed("touch /tmp2/x");
|
||||
$machine->succeed("grep '/tmp2 tmpfs' /proc/mounts");
|
||||
};
|
||||
|
||||
subtest "shell-vars", sub {
|
||||
$machine->succeed('[ -n "$NIX_PATH" ]');
|
||||
};
|
||||
'';
|
||||
|
||||
}
|
||||
|
20
pkgs/applications/audio/xmp/default.nix
Normal file
20
pkgs/applications/audio/xmp/default.nix
Normal file
@ -0,0 +1,20 @@
|
||||
{ stdenv, fetchurl, pkgconfig, alsaLib, libxmp }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "xmp-4.0.7";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Extended module player";
|
||||
homepage = "http://xmp.sourceforge.net/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ iyzsong ];
|
||||
};
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/xmp/xmp/${name}.tar.gz";
|
||||
sha256 = "0qgzzaxhshz5l7s21x89xb43pbbi0zap6a4lk4s7gjp1qca2agcw";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig alsaLib libxmp ];
|
||||
}
|
@ -1,11 +1,11 @@
|
||||
{ fetchurl, stdenv, emacs, texinfo, which, texLive }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "org-8.2.6";
|
||||
name = "org-8.2.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://orgmode.org/${name}.tar.gz";
|
||||
sha256 = "0f196r0n9m2np123sjabsqdw68h9qp6qr7l5v257am8qs7rj0jm1";
|
||||
sha256 = "1n864hnjvx5n2gfi7n0xbwvb1k8l5rdh4a3vpbhw23hy8rx3bvaw";
|
||||
};
|
||||
|
||||
buildInputs = [ emacs ];
|
||||
@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
license = "GPLv3+";
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ chaoflow ];
|
||||
maintainers = with stdenv.lib.maintainers; [ chaoflow pSub ];
|
||||
platforms = stdenv.lib.platforms.gnu;
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{stdenv, fetchurlGnome, gtk, pkgconfig, perl, perlXMLParser, libxml2, gettext
|
||||
{stdenv, fetchurl, fetchurlGnome, gtk, pkgconfig, perl, perlXMLParser, libxml2, gettext
|
||||
, python, libxml2Python, docbook5, docbook_xsl, libxslt, intltool, libart_lgpl
|
||||
, withGNOME ? false, libgnomeui }:
|
||||
|
||||
@ -11,6 +11,11 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1qgawm7rrf4wd1yc0fp39ywv8gbz4ry1s16k00dzg5w6p67lfqd7";
|
||||
};
|
||||
|
||||
correctPersistence = fetchurl {
|
||||
url = https://launchpadlibrarian.net/132677658/persistence;
|
||||
sha256 = "1rv6zv9i03bna4bdp1wzn72lg7kdwi900y1izdq0imibi54nxjsk";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ gtk perlXMLParser libxml2 gettext python libxml2Python docbook5
|
||||
libxslt docbook_xsl libart_lgpl
|
||||
@ -24,7 +29,17 @@ stdenv.mkDerivation rec {
|
||||
|
||||
# This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command
|
||||
# It have no reasons to exist in a redistribuable package
|
||||
postInstall = "rm $out/share/icons/hicolor/icon-theme.cache";
|
||||
postInstall = ''
|
||||
rm $out/share/icons/hicolor/icon-theme.cache
|
||||
|
||||
cd "$out"/bin/
|
||||
mv dia .dia-wrapped
|
||||
echo '#! ${stdenv.shell}' >> dia
|
||||
echo 'test -f "$HOME/.dia/persistence" || cp ${correctPersistence} "$HOME/.dia/persistence" ' >> dia
|
||||
echo 'chmod u+rw "$HOME/.dia/persistence" ' >> dia
|
||||
echo "\"$out/bin/"'.dia-wrapped" "$@"' >> dia
|
||||
chmod a+x dia
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Gnome Diagram drawing software";
|
||||
|
@ -1,14 +1,15 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gtk, imlib2, file } :
|
||||
{ stdenv, fetchurl, pkgconfig, gtk, imlib2, file, lcms2, libexif } :
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
name = "qiv-2.2.4";
|
||||
version = "2.3.1";
|
||||
name = "qiv-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://spiegl.de/qiv/download/${name}.tgz";
|
||||
sha256 = "ed6078dc550c1dc2fe35c1e0f46463c13589a24b83d4f7101b71a7485e51abb7";
|
||||
sha256 = "1rlf5h67vhj7n1y7jqkm9k115nfnzpwngj3kzqsi2lg676srclv7";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig gtk imlib2 file ];
|
||||
buildInputs = [ pkgconfig gtk imlib2 file lcms2 libexif ];
|
||||
|
||||
preBuild=''
|
||||
substituteInPlace Makefile --replace /usr/local "$out"
|
||||
@ -18,5 +19,6 @@ stdenv.mkDerivation (rec {
|
||||
meta = {
|
||||
description = "qiv (quick image viewer)";
|
||||
homepage = http://spiegl.de/qiv/;
|
||||
inherit version;
|
||||
};
|
||||
})
|
||||
|
3
pkgs/applications/graphics/qiv/default.upstream
Normal file
3
pkgs/applications/graphics/qiv/default.upstream
Normal file
@ -0,0 +1,3 @@
|
||||
url http://spiegl.de/qiv/download/
|
||||
version_link '[.]tgz$'
|
||||
do_overwrite() { do_overwrite_just_version; }
|
@ -4,11 +4,11 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "calibre-1.31.0";
|
||||
name = "calibre-1.35.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/calibre/${name}.tar.xz";
|
||||
sha256 = "1fl42y8ppw8s51v66dqsrg1ib28yi6z5779r9wfvdbl9v1clilfc";
|
||||
sha256 = "0pzxp1f9d4pw7vksdfkdz6fdgrb8jfwgh4fckjfrarqs039422bi";
|
||||
};
|
||||
|
||||
inherit python;
|
||||
|
@ -1,11 +1,12 @@
|
||||
{ stdenv, fetchurl, fetchpatch, pkgconfig, zlib, freetype, libjpeg, jbig2dec, openjpeg
|
||||
, libX11, libXext }:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mupdf-1.4";
|
||||
version = "1.5";
|
||||
name = "mupdf-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://mupdf.com/download/archive/${name}-source.tar.gz";
|
||||
sha256 = "08pc6fv42sb9k9dzjs8ph32nixzrzmr08yxh7arkpsdm42asp2q1";
|
||||
sha256 = "0sl47zqf4c9fhs4h5zg046vixjmwgy4vhljhr5g4md733nash7z4";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig zlib freetype libjpeg jbig2dec openjpeg libX11 libXext ];
|
||||
@ -67,5 +68,6 @@ stdenv.mkDerivation rec {
|
||||
license = "GPLv3+";
|
||||
maintainers = with stdenv.lib.maintainers; [ viric ];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
inherit version;
|
||||
};
|
||||
}
|
||||
|
7
pkgs/applications/misc/mupdf/default.upstream
Normal file
7
pkgs/applications/misc/mupdf/default.upstream
Normal file
@ -0,0 +1,7 @@
|
||||
url http://mupdf.com/downloads/archive/
|
||||
do_overwrite(){
|
||||
ensure_hash
|
||||
ensure_version
|
||||
set_var_value version $CURRENT_VERSION
|
||||
set_var_value sha256 $CURRENT_HASH
|
||||
}
|
66
pkgs/applications/misc/sweethome3d/default.nix
Normal file
66
pkgs/applications/misc/sweethome3d/default.nix
Normal file
@ -0,0 +1,66 @@
|
||||
{ stdenv, fetchurl, fetchcvs, makeWrapper, makeDesktopItem, jdk, jre, ant
|
||||
, p7zip }:
|
||||
|
||||
let
|
||||
|
||||
mkSweetHome3D =
|
||||
{ name, module, version, src, license, description }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
inherit name version src description;
|
||||
exec = stdenv.lib.toLower module;
|
||||
sweethome3dItem = makeDesktopItem {
|
||||
inherit name exec;
|
||||
comment = description;
|
||||
desktopName = name;
|
||||
genericName = "Computer Aided (Interior) Design";
|
||||
categories = "Application;CAD;";
|
||||
};
|
||||
|
||||
buildInputs = [ ant jdk jre makeWrapper p7zip ];
|
||||
|
||||
buildPhase = ''
|
||||
ant furniture textures help
|
||||
mkdir -p $out/share/{java,applications}
|
||||
mv build/*.jar $out/share/java/.
|
||||
ant
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp install/${module}-${version}.jar $out/share/java/.
|
||||
cp ${sweethome3dItem}/share/applications/* $out/share/applications
|
||||
makeWrapper ${jre}/bin/java $out/bin/$exec \
|
||||
--add-flags "-jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar ${if stdenv.system == "x86_64-linux" then "-d64" else "-d32"}"
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
meta = {
|
||||
homepage = "http://www.sweethome3d.com/index.jsp";
|
||||
inherit description;
|
||||
inherit license;
|
||||
maintainers = [ stdenv.lib.maintainers.edwtjo ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
};
|
||||
|
||||
d2u = stdenv.lib.replaceChars ["."] ["_"];
|
||||
|
||||
in rec {
|
||||
|
||||
application = mkSweetHome3D rec {
|
||||
version = "4.3.1";
|
||||
module = "SweetHome3D";
|
||||
name = stdenv.lib.toLower module + "-application-" + version;
|
||||
description = "Design and visualize your future home";
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
src = fetchcvs {
|
||||
cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
|
||||
sha256 = "0jn3xamghz8rsmzvpd57cvz32yk8mni8dyx15xizjcki0450bp3f";
|
||||
module = module;
|
||||
tag = "V_" + d2u version;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
90
pkgs/applications/misc/sweethome3d/editors.nix
Normal file
90
pkgs/applications/misc/sweethome3d/editors.nix
Normal file
@ -0,0 +1,90 @@
|
||||
{ stdenv, fetchurl, fetchcvs, makeWrapper, makeDesktopItem, jdk, jre, ant
|
||||
, p7zip, sweethome3dApp }:
|
||||
|
||||
let
|
||||
|
||||
sweetExec = with stdenv.lib;
|
||||
m: "sweethome3d-"
|
||||
+ removeSuffix "libraryeditor" (toLower m)
|
||||
+ "-editor";
|
||||
sweetName = m: v: sweetExec m + "-" + v;
|
||||
|
||||
mkEditorProject =
|
||||
{ name, module, version, src, license, description }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
application = sweethome3dApp;
|
||||
inherit name module version src description;
|
||||
exec = sweetExec module;
|
||||
editorItem = makeDesktopItem {
|
||||
inherit name exec;
|
||||
comment = description;
|
||||
desktopName = name;
|
||||
genericName = "Computer Aided (Interior) Design";
|
||||
categories = "Application;CAD;";
|
||||
};
|
||||
|
||||
buildInputs = [ ant jre jdk makeWrapper ];
|
||||
|
||||
patchPhase = ''
|
||||
sed -i -e 's,../SweetHome3D,${application.src},g' build.xml
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
ant -lib ${application.src}/libtest -lib ${application.src}/lib -lib ${jdk}/lib
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/share/{java,applications}
|
||||
cp ${module}-${version}.jar $out/share/java/.
|
||||
cp ${editorItem}/share/applications/* $out/share/applications
|
||||
makeWrapper ${jre}/bin/java $out/bin/$exec \
|
||||
--add-flags "-jar $out/share/java/${module}-${version}.jar ${if stdenv.system == "x86_64-linux" then "-d64" else "-d32"}"
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
meta = {
|
||||
homepage = "http://www.sweethome3d.com/index.jsp";
|
||||
inherit description;
|
||||
inherit license;
|
||||
maintainers = [ stdenv.lib.maintainers.edwtjo ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
d2u = stdenv.lib.replaceChars ["."] ["_"];
|
||||
|
||||
in rec {
|
||||
|
||||
textures-editor = mkEditorProject rec {
|
||||
version = "1.3";
|
||||
module = "TexturesLibraryEditor";
|
||||
name = sweetName module version;
|
||||
description = "Easily create SH3T files and edit the properties of the texture images it contain";
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
src = fetchcvs {
|
||||
cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
|
||||
sha256 = "1caf1hmf87bj5dr7w2swnlbvkb3q1jdjr1zgjn1k07d0fxh0ikbx";
|
||||
module = module;
|
||||
tag = "V_" + d2u version;
|
||||
};
|
||||
};
|
||||
|
||||
furniture-editor = mkEditorProject rec {
|
||||
version = "1.13";
|
||||
module = "FurnitureLibraryEditor";
|
||||
name = sweetName module version;
|
||||
description = "Quickly create SH3F files and edit the properties of the 3D models it contain";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
src = fetchcvs {
|
||||
cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
|
||||
sha256 = "1nll5589rc0g71zd86cwmzl4p2icynykj106schmxric9v17jbv5";
|
||||
module = module;
|
||||
tag = "V_" + d2u version;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
@ -17,14 +17,14 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
|
||||
|
||||
rec {
|
||||
|
||||
firefoxVersion = "29.0.1";
|
||||
firefoxVersion = "30.0";
|
||||
|
||||
xulVersion = "29.0.1"; # this attribute is used by other packages
|
||||
xulVersion = "30.0"; # this attribute is used by other packages
|
||||
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
|
||||
sha1 = "2819ef63403de2bcfff5496bd21a3b8cb5dfce82";
|
||||
sha1 = "bll9hxf31gvg9db6gxgmq25qsjif3p11";
|
||||
};
|
||||
|
||||
commonConfigureFlags =
|
||||
|
@ -1,15 +1,15 @@
|
||||
{ cabal, ansiTerminal, cmdargs, filepath, HTTP, network
|
||||
{ cabal, ansiTerminal, filepath, HTTP, network, optparseApplicative
|
||||
, stringsearch, terminalSize, time, zlib
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "sloane";
|
||||
version = "1.7.1";
|
||||
sha256 = "0d6k33rhp1ixrwdfwy31m39kbk8z81biwzwmkp01fvpgwm96p3va";
|
||||
version = "1.8";
|
||||
sha256 = "0c30slsswfqwzi39hk6jraxz1y1a2yn8g8nyjvlnggwajx2rlm6p";
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
ansiTerminal cmdargs filepath HTTP network stringsearch
|
||||
ansiTerminal filepath HTTP network optparseApplicative stringsearch
|
||||
terminalSize time zlib
|
||||
];
|
||||
postInstall = ''
|
||||
|
56
pkgs/build-support/setup-hooks/scatter_output.sh
Normal file
56
pkgs/build-support/setup-hooks/scatter_output.sh
Normal file
@ -0,0 +1,56 @@
|
||||
preFixupPhases+=" scatter_files"
|
||||
preDistPhases+=" propagate_bin_input"
|
||||
|
||||
SCATTER_BIN_DEFAULT=${SCATTER_BIN_DEFAULT:-"/lib/*.so* /bin/*"}
|
||||
SCATTER_DOC_DEFAULT=${SCATTER_DOC_DEFAULT:-"/share/man/* /share/doc/*"}
|
||||
|
||||
|
||||
scatter_files() {
|
||||
save_nullglob=$(shopt -p nullglob)
|
||||
for o in $outputs; do
|
||||
[[ "$o" == "out" ]] && continue
|
||||
v=files_${o}
|
||||
|
||||
#if files_'output' isn't set in derivative, use defualts for some
|
||||
[[ ${!v} ]] || {
|
||||
case $o in
|
||||
bin)
|
||||
v=SCATTER_BIN_DEFAULT
|
||||
;;
|
||||
doc)
|
||||
v=SCATTER_DOC_DEFAULT
|
||||
;;
|
||||
*)
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# prepend each path with $out
|
||||
paths=$out${!v// \// $out/}
|
||||
shopt -s nullglob
|
||||
for f in $paths; do
|
||||
shopt -u nullglob
|
||||
dist=${!o}${f#$out}
|
||||
mkdir -p $(dirname $dist)
|
||||
cp -pr $f $dist
|
||||
# remove source, not forgetting to clean empty dirs
|
||||
rm -r $f
|
||||
rmdir --ignore-fail-on-non-empty $(dirname $f)
|
||||
done
|
||||
find ${!o} -type f -exec $SHELL -c 'patchelf --set-rpath $(patchelf --print-rpath {} 2>/dev/null):'${!o}'/lib {} 2>/dev/null && patchelf --shrink-rpath {}' \;
|
||||
done
|
||||
eval $save_nullglob
|
||||
}
|
||||
|
||||
propagate_bin_input() {
|
||||
if [[ -n ${bin:-} ]]; then
|
||||
mkdir -p $out/nix-support
|
||||
echo $bin >> $out/nix-support/propagated-native-build-inputs
|
||||
fi
|
||||
|
||||
if [[ -n ${bin:-} && -n ${doc:-} ]]; then
|
||||
mkdir -p $bin/nix-support
|
||||
echo $doc >> $bin/nix-support/propagated-user-env-packages
|
||||
fi
|
||||
}
|
@ -246,6 +246,12 @@ do_overwrite () {
|
||||
mv "$1.new.tmp" "$1"
|
||||
}
|
||||
|
||||
do_overwrite_just_version () {
|
||||
ensure_hash
|
||||
set_var_value version $CURRENT_VERSION
|
||||
set_var_value sha256 $CURRENT_HASH
|
||||
}
|
||||
|
||||
process_config () {
|
||||
CONFIG_DIR="$(directory_of "$1")"
|
||||
CONFIG_NAME="$(basename "$1")"
|
||||
|
@ -2,10 +2,10 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "terminology-${version}";
|
||||
version = "0.4.0";
|
||||
version = "0.5.1";
|
||||
src = fetchurl {
|
||||
url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
|
||||
sha256 = "1ing9l19h7f1f843rcabbjaynps1as4mpc31xz2adkafb3xd3wk3";
|
||||
sha256 = "1b8m6fhzx2fdr3m6ak2163v33zc4svmg2k875m0xppzifdd9xvyf";
|
||||
};
|
||||
buildInputs = [ pkgconfig elementary eina eet evas ecore edje emotion ecore ethumb efreet ];
|
||||
|
||||
|
@ -1,30 +1,28 @@
|
||||
{ stdenv, fetchsvn, ocaml, zlib, neko }:
|
||||
{ stdenv, fetchgit, ocaml, zlib, neko }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "haxe-3.00";
|
||||
name = "haxe-3.1.3";
|
||||
|
||||
buildInputs = [ocaml zlib neko];
|
||||
|
||||
src = fetchsvn {
|
||||
url = "http://haxe.googlecode.com/svn/trunk";
|
||||
sha256 = "0hg8qailhgrcdk7r4k9kmwfl9d9ds0vy0l7wbv5wdrrc34qzifm4";
|
||||
rev = 6706;
|
||||
src = fetchgit {
|
||||
url = "https://github.com/HaxeFoundation/haxe.git";
|
||||
sha256 = "1p4yja6flv2r04q9lcrjxia3f3fsmhi3d88s0lz0nf0r4m61bjz0";
|
||||
fetchSubmodules = true;
|
||||
|
||||
# Tag 3.1.3
|
||||
rev = "7be30670b2f1f9b6082499c8fb9e23c0a6df6c28";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
sed -i -e 's|com.class_path <- \[|&"'"$out/lib/haxe/std/"'";|' main.ml
|
||||
'';
|
||||
|
||||
postBuild = ''
|
||||
find std/tools -name '*.n' -delete
|
||||
rm -f std/tools/haxedoc/haxedoc std/tools/haxelib/haxelib
|
||||
'';
|
||||
|
||||
buildFlags = [ "all" "tools" ];
|
||||
|
||||
installPhase = ''
|
||||
install -vd "$out/bin" "$out/lib/haxe/std"
|
||||
install -vt "$out/bin" haxe haxelib haxedoc
|
||||
install -vt "$out/bin" haxe haxelib
|
||||
cp -vr std "$out/lib/haxe"
|
||||
'';
|
||||
|
||||
|
@ -9,8 +9,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "idris";
|
||||
version = "0.9.13";
|
||||
sha256 = "0bpp8b19s1przycndvl542ar9dc285ccnwm7cic33ym1lcqil86n";
|
||||
version = "0.9.13.1";
|
||||
sha256 = "09528c2zxriw3l8c7dd2k5db9j1qmqhs6nbqwc7dkskzqv9snz7n";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
|
@ -2,12 +2,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "urweb";
|
||||
version = "20140426";
|
||||
version = "20140531";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.impredicative.com/ur/${name}.tgz";
|
||||
sha256 = "0d7mbmjc59y0dwk4k7r4wpxfsn4fzswrdxai9xh2nzjsxg2fa7d2";
|
||||
sha256 = "0gbk16hzs8267cfhb7w1cqgjxdv2icxg5clxdbda6qsn84jaf3n4";
|
||||
};
|
||||
|
||||
buildInputs = [ stdenv.gcc file openssl mlton mysql postgresql sqlite ];
|
||||
|
12
pkgs/development/libraries/haskell/BoundedChan/default.nix
Normal file
12
pkgs/development/libraries/haskell/BoundedChan/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{ cabal }:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "BoundedChan";
|
||||
version = "1.0.1.0";
|
||||
sha256 = "1v4lmp3j8lzk1m2pv5l90j80y0c6yxm6gb1ww9ffsz2jxfzz8vd8";
|
||||
meta = {
|
||||
description = "Implementation of bounded channels";
|
||||
license = self.stdenv.lib.licenses.bsd3;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
};
|
||||
})
|
@ -1,7 +1,8 @@
|
||||
{ cabal, blazeHtml, blazeMarkup, caseInsensitive, clientsession
|
||||
, conduit, conduitExtra, cpphs, extensibleExceptions, httpTypes, monadloc
|
||||
, mtl, parsec, random, RefSerialize, stm, TCache, text, time
|
||||
, transformers, utf8String, vector, wai, warp, warpTls, Workflow
|
||||
, conduit, conduitExtra, cpphs, extensibleExceptions, httpTypes
|
||||
, monadloc, mtl, parsec, random, RefSerialize, stm, TCache, text
|
||||
, time, transformers, utf8String, vector, wai, warp, warpTls
|
||||
, Workflow
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
@ -10,10 +11,11 @@ cabal.mkDerivation (self: {
|
||||
sha256 = "1ih9ni14xmqvcfvayjkggmpmw3s9yzp17gf4xzygldmjcs35j4n3";
|
||||
buildDepends = [
|
||||
blazeHtml blazeMarkup caseInsensitive clientsession conduit
|
||||
conduitExtra cpphs extensibleExceptions httpTypes monadloc mtl parsec
|
||||
conduitExtra extensibleExceptions httpTypes monadloc mtl parsec
|
||||
random RefSerialize stm TCache text time transformers utf8String
|
||||
vector wai warp warpTls Workflow
|
||||
];
|
||||
buildTools = [ cpphs ];
|
||||
meta = {
|
||||
description = "stateful, RESTful web framework";
|
||||
license = self.stdenv.lib.licenses.bsd3;
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "aeson-qq";
|
||||
version = "0.7.0";
|
||||
sha256 = "1sq34pnwiyf5lngqph4m463ijr185akzbrdi3i40zmqlrymssv3c";
|
||||
version = "0.7.1";
|
||||
sha256 = "1b2ham1h6mlm49ax9k2agf8yymbgkk094nq2apn703i2d9v00im6";
|
||||
buildDepends = [ aeson haskellSrcMeta parsec text vector ];
|
||||
testDepends = [ aeson hspec ];
|
||||
meta = {
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "attoparsec";
|
||||
version = "0.12.0.0";
|
||||
sha256 = "04wdb2i2yqybkfnjs3f25nf7xz1nq5sn8z23klbm4xnqaiajmkmr";
|
||||
version = "0.12.1.0";
|
||||
sha256 = "1y7sikk5hg9yj3mn21k026ni6lznsih0lx03rgdz4gmb6aqh54bn";
|
||||
buildDepends = [ deepseq scientific text ];
|
||||
testDepends = [
|
||||
deepseq QuickCheck scientific testFramework
|
@ -2,8 +2,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "blaze-builder-enumerator";
|
||||
version = "0.2.0.5";
|
||||
sha256 = "0bbbv9wwzw9ss3d02mszdzxzhg6pcrnpwir9bvby7xkmfqpyffaa";
|
||||
version = "0.2.0.6";
|
||||
sha256 = "0pdw18drvikb465qh43b8wjyvpqj3wcilyczc21fri5ma4mxdkyp";
|
||||
buildDepends = [ blazeBuilder enumerator transformers ];
|
||||
jailbreak = true;
|
||||
meta = {
|
||||
|
@ -5,8 +5,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "cabal-cargs";
|
||||
version = "0.6.1";
|
||||
sha256 = "1bf903kgs16f054crwq0yyp6ijch80qn3d5ksy4j0fnyxxrdqvsa";
|
||||
version = "0.7";
|
||||
sha256 = "1dzmvwmb9sxwdgkzszhk9d5qvq2alnqmprx83dlb17sdi6f9jns1";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "cabal-lenses";
|
||||
version = "0.1";
|
||||
sha256 = "0jss4h7crh7mndl5ghbpziy37cg9i29cc64fgxvxb63hpk0q2m17";
|
||||
version = "0.2";
|
||||
sha256 = "1wfr4rh7ba1hsvi0v7mzpab7fi5k93lz27v8qdfjqzkyybhjglv4";
|
||||
buildDepends = [ Cabal lens unorderedContainers ];
|
||||
jailbreak = true;
|
||||
meta = {
|
||||
|
@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
|
||||
byteable cryptoRandom HUnit QuickCheck testFramework
|
||||
testFrameworkHunit testFrameworkQuickcheck2 vector
|
||||
];
|
||||
doCheck = false;
|
||||
meta = {
|
||||
homepage = "http://github.com/vincenthz/hs-crypto-numbers";
|
||||
description = "Cryptographic numbers: functions and algorithms";
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "entropy";
|
||||
version = "0.3";
|
||||
sha256 = "0b1yx7409xw8jz2rj8695xscjnw4p7y80niq9cbkqrmnqbqnwj2q";
|
||||
version = "0.3.2";
|
||||
sha256 = "1kk0vmfmfqcsw0pzbii9rvz32fvhvxqpn6p6jw6q2x33z6gm5f9x";
|
||||
meta = {
|
||||
homepage = "https://github.com/TomMD/entropy";
|
||||
description = "A platform independent entropy source";
|
||||
|
@ -1,12 +1,14 @@
|
||||
{ cabal, nonNegative, QuickCheck, transformers, utilityHt }:
|
||||
{ cabal, nonNegative, QuickCheck, random, transformers, utilityHt
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "event-list";
|
||||
version = "0.1.0.2";
|
||||
sha256 = "01j48871nijhkbqdsfvbvq01yr9b5a056fn03ccgazikfsd368ri";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
version = "0.1.1.1";
|
||||
sha256 = "16qrjvn8z2nlpfp3xlgwsg2abn7b33n3z673qs5k6ashfbkdy5ja";
|
||||
buildDepends = [ nonNegative QuickCheck transformers utilityHt ];
|
||||
testDepends = [
|
||||
nonNegative QuickCheck random transformers utilityHt
|
||||
];
|
||||
meta = {
|
||||
homepage = "http://code.haskell.org/~thielema/event-list/";
|
||||
description = "Event lists with relative or absolute time stamps";
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "force-layout";
|
||||
version = "0.3.0.4";
|
||||
sha256 = "1zgqcz9b86qax1hyl32a1giapvn2wpnb4gcfn8czkcr0m7c2iwdg";
|
||||
version = "0.3.0.5";
|
||||
sha256 = "01wk8zygw9d3r5dwbycyab82kfk8s05ynnajb6kfjv7i09s9sgcb";
|
||||
buildDepends = [
|
||||
dataDefaultClass lens vectorSpace vectorSpacePoints
|
||||
];
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "ghc-vis";
|
||||
version = "0.7.2.2";
|
||||
sha256 = "0abk76cy9qiblyways1r7jfsj996sj4laawzaz1j9p546plfkbnj";
|
||||
version = "0.7.2.3";
|
||||
sha256 = "1gl059n85yxksnq8y7i1vrsjdg4al6himzpdmw95v61y59bbs6c2";
|
||||
buildDepends = [
|
||||
cairo deepseq fgl ghcHeapView graphviz gtk mtl svgcairo text
|
||||
transformers xdot
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "haskeline";
|
||||
version = "0.7.1.2";
|
||||
sha256 = "178hzal5gqw3rmgijv9ph9xa6d4sld279z4a8cjyx3hv4azciwr4";
|
||||
version = "0.7.1.3";
|
||||
sha256 = "1bwyfn7y9mi18g7zxz8wxjkld51azlfbxypxbiqdinpm2fdl63mi";
|
||||
buildDepends = [ filepath terminfo transformers utf8String ];
|
||||
configureFlags = "-fterminfo";
|
||||
jailbreak = true;
|
||||
|
22
pkgs/development/libraries/haskell/hedis/default.nix
Normal file
22
pkgs/development/libraries/haskell/hedis/default.nix
Normal file
@ -0,0 +1,22 @@
|
||||
{ cabal, attoparsec, BoundedChan, bytestringLexing, HUnit, mtl
|
||||
, network, resourcePool, testFramework, testFrameworkHunit, time
|
||||
, vector
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "hedis";
|
||||
version = "0.6.5";
|
||||
sha256 = "1kn8i49yxms1bpjwpy4m8vyycgi755zvy4zc66w068nmnd1kiykh";
|
||||
buildDepends = [
|
||||
attoparsec BoundedChan bytestringLexing mtl network resourcePool
|
||||
time vector
|
||||
];
|
||||
testDepends = [ HUnit mtl testFramework testFrameworkHunit time ];
|
||||
meta = {
|
||||
homepage = "https://github.com/informatikr/hedis";
|
||||
description = "Client library for the Redis datastore: supports full command set, pipelining";
|
||||
license = self.stdenv.lib.licenses.bsd3;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
};
|
||||
doCheck = false;
|
||||
})
|
@ -2,6 +2,7 @@
|
||||
, cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes
|
||||
, parsec, QuickCheck, random, resourcet, safe, shake, tagsoup, text
|
||||
, time, transformers, uniplate, vector, vectorAlgorithms, wai, warp
|
||||
, fetchurl
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
@ -18,6 +19,9 @@ cabal.mkDerivation (self: {
|
||||
];
|
||||
testDepends = [ filepath ];
|
||||
testTarget = "--test-option=--no-net";
|
||||
patches = [ (fetchurl { url = "https://github.com/ndmitchell/hoogle/commit/5fc294f2b5412fda107c7700f4d833b52f26184c.diff";
|
||||
sha256 = "1fn52g90p2jsy87gf5rqrcg49s8hfwway5hi4v9i2rpg5mzxaq3i"; })
|
||||
];
|
||||
meta = {
|
||||
homepage = "http://www.haskell.org/hoogle/";
|
||||
description = "Haskell API Search";
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "hourglass";
|
||||
version = "0.2.0";
|
||||
sha256 = "13zphy3gfj9p7vsa477qy30968fnz5kq7d0lzb1pyg5hxkx44rim";
|
||||
version = "0.2.2";
|
||||
sha256 = "015ipy9adi67nfddjsw9c0ihn0banghgawjli0lgrmiyjz01610c";
|
||||
buildDepends = [ deepseq ];
|
||||
testDepends = [
|
||||
deepseq mtl tasty tastyHunit tastyQuickcheck time
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "hsimport";
|
||||
version = "0.3";
|
||||
sha256 = "124dimaa8v4x6vlh51v2r7569d8122l42q19bpzgqih33vw2djcs";
|
||||
version = "0.4";
|
||||
sha256 = "1pkj6cfdfyrcrm6gr4a43y6s4qhwpli6zgnlx4ycmhs3yh5kay60";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
|
@ -1,17 +1,17 @@
|
||||
{ cabal, ansiTerminal, deepseq, filepath, hspecExpectations, HUnit
|
||||
, QuickCheck, quickcheckIo, random, setenv, tfRandom, time
|
||||
{ cabal, ansiTerminal, async, deepseq, filepath, hspecExpectations
|
||||
, HUnit, QuickCheck, quickcheckIo, random, setenv, tfRandom, time
|
||||
, transformers
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "hspec-meta";
|
||||
version = "1.9.5";
|
||||
sha256 = "0y39z9r5icz62dd7hvr3lwdcqas526w4m5rcd1468fp7rlz3402j";
|
||||
version = "1.10.0";
|
||||
sha256 = "1x32wgrd1i6rs6790dbr51j9g6abjpcf951cx3nmm4zdcwblyi6a";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
ansiTerminal deepseq filepath hspecExpectations HUnit QuickCheck
|
||||
quickcheckIo random setenv tfRandom time transformers
|
||||
ansiTerminal async deepseq filepath hspecExpectations HUnit
|
||||
QuickCheck quickcheckIo random setenv tfRandom time transformers
|
||||
];
|
||||
doCheck = false;
|
||||
meta = {
|
||||
|
23
pkgs/development/libraries/haskell/hspec-wai/default.nix
Normal file
23
pkgs/development/libraries/haskell/hspec-wai/default.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ cabal, aeson, aesonQq, caseInsensitive, doctest, hspec2
|
||||
, hspecMeta, httpTypes, markdownUnlit, scotty, text, transformers
|
||||
, wai, waiExtra
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "hspec-wai";
|
||||
version = "0.2.0";
|
||||
sha256 = "1hykc6k3kkjzz0x16i6ijcavsxfc003sp7fwvg2v9pzpmf9rfhhd";
|
||||
buildDepends = [
|
||||
aeson aesonQq caseInsensitive hspec2 httpTypes text transformers
|
||||
wai waiExtra
|
||||
];
|
||||
testDepends = [
|
||||
aeson caseInsensitive doctest hspec2 hspecMeta httpTypes
|
||||
markdownUnlit scotty text transformers wai waiExtra
|
||||
];
|
||||
meta = {
|
||||
description = "Experimental Hspec support for testing WAI applications (depends on hspec2!)";
|
||||
license = self.stdenv.lib.licenses.mit;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
};
|
||||
})
|
@ -1,24 +1,22 @@
|
||||
{ cabal, ansiTerminal, async, deepseq, doctest, filepath, ghcPaths
|
||||
, hspecExpectations, hspecMeta, HUnit, ioMemoize, QuickCheck
|
||||
, quickcheckIo, random, setenv, silently, tfRandom, time
|
||||
, transformers
|
||||
, hspecExpectations, hspecMeta, HUnit, QuickCheck, quickcheckIo
|
||||
, random, setenv, silently, tfRandom, time, transformers
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "hspec2";
|
||||
version = "0.3.0";
|
||||
sha256 = "0ia19jraz2di31c48lh0kswkb2573jxm7msf33i8d5a5yq8y9wwp";
|
||||
version = "0.3.4";
|
||||
sha256 = "0vs5y1cqprixmmjdk3sdrig9gr1k63nvn4c91b3z66jj39rdxl21";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
ansiTerminal async deepseq filepath hspecExpectations HUnit
|
||||
ioMemoize QuickCheck quickcheckIo random setenv tfRandom time
|
||||
transformers
|
||||
QuickCheck quickcheckIo random setenv tfRandom time transformers
|
||||
];
|
||||
testDepends = [
|
||||
ansiTerminal async deepseq doctest filepath ghcPaths
|
||||
hspecExpectations hspecMeta HUnit ioMemoize QuickCheck quickcheckIo
|
||||
random setenv silently tfRandom time transformers
|
||||
hspecExpectations hspecMeta HUnit QuickCheck quickcheckIo random
|
||||
setenv silently tfRandom time transformers
|
||||
];
|
||||
meta = {
|
||||
homepage = "http://hspec.github.io/";
|
||||
|
@ -6,8 +6,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "http-client";
|
||||
version = "0.3.3";
|
||||
sha256 = "001nmy6f57l2f7gc4mchz1gwam28qldkwmcxzs8jnqwczcirgk38";
|
||||
version = "0.3.3.1";
|
||||
sha256 = "0zzh4vr563f8rb51b64gcwmal7gswif8ndsf2x5kw6f7q55md0dw";
|
||||
buildDepends = [
|
||||
base64Bytestring blazeBuilder caseInsensitive cookie
|
||||
dataDefaultClass deepseq exceptions filepath httpTypes mimeTypes
|
||||
|
@ -2,13 +2,13 @@
|
||||
, connection, cookie, dataDefaultClass, hspec, httpClient
|
||||
, httpClientTls, httpTypes, HUnit, liftedBase, monadControl, mtl
|
||||
, network, networkConduit, resourcet, streamingCommons, text, time
|
||||
, transformers, utf8String, wai, warp, warpTls
|
||||
, transformers, utf8String, wai, waiConduit, warp, warpTls
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "http-conduit";
|
||||
version = "2.1.2";
|
||||
sha256 = "11g79yfgm2fzcy7gwk9f5np4p6fknsbjkm858v8khb4a1gmbrqvn";
|
||||
version = "2.1.2.1";
|
||||
sha256 = "17bq72qkgn7sh31ad5w7gqf15dlzl027nmx8k7kmm268mf9bz0b5";
|
||||
buildDepends = [
|
||||
conduit httpClient httpClientTls httpTypes liftedBase monadControl
|
||||
mtl resourcet transformers
|
||||
@ -17,7 +17,7 @@ cabal.mkDerivation (self: {
|
||||
blazeBuilder caseInsensitive conduit conduitExtra connection cookie
|
||||
dataDefaultClass hspec httpClient httpTypes HUnit liftedBase
|
||||
network networkConduit streamingCommons text time transformers
|
||||
utf8String wai warp warpTls
|
||||
utf8String wai waiConduit warp warpTls
|
||||
];
|
||||
doCheck = false;
|
||||
meta = {
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "http-reverse-proxy";
|
||||
version = "0.3.1.7";
|
||||
sha256 = "0fhndk9zjv1kcqgrhj42brfg96p7flrcpy609asba1vc0i9213j4";
|
||||
version = "0.4.0.1";
|
||||
sha256 = "0gygmykxsy6rs3xmwb24s5c3brmabdgxb1w0ak82vyvfvsnqxz1h";
|
||||
buildDepends = [
|
||||
async blazeBuilder caseInsensitive conduit conduitExtra
|
||||
dataDefaultClass httpClient httpTypes liftedBase monadControl
|
||||
network networkConduit resourcet streamingCommons text transformers
|
||||
wai waiLogger word8
|
||||
network resourcet streamingCommons text transformers wai waiLogger
|
||||
word8
|
||||
];
|
||||
testDepends = [
|
||||
blazeBuilder conduit conduitExtra hspec httpConduit httpTypes
|
||||
|
@ -1,10 +1,10 @@
|
||||
{ cabal, spawn }:
|
||||
{ cabal, async }:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "io-memoize";
|
||||
version = "1.0.0.0";
|
||||
sha256 = "1z6aimyg7wasaqmacpch7skfm9iyl7khd54lfmb8iwghyfvah5d0";
|
||||
buildDepends = [ spawn ];
|
||||
version = "1.1.0.0";
|
||||
sha256 = "1xnrzrvs5c3lrzdxm4hrqbh8chl8sxv2j98b28na73w8b7yv2agm";
|
||||
buildDepends = [ async ];
|
||||
meta = {
|
||||
description = "Memoize IO actions";
|
||||
license = self.stdenv.lib.licenses.bsd3;
|
||||
|
@ -5,8 +5,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "mongoDB";
|
||||
version = "1.4.4";
|
||||
sha256 = "11v0k2i0ix67zwm19w1215dslnnqllkc4jlhbs5yva2ix4z7d4gh";
|
||||
version = "1.5.0";
|
||||
sha256 = "0dvy8pa79c26hcngds6nnwnayrhsyz1flj18m9bcyrcvwb5q3dd6";
|
||||
buildDepends = [
|
||||
binary bson cryptohash hashtables liftedBase monadControl mtl
|
||||
network parsec random randomShuffle text transformersBase
|
||||
|
@ -2,11 +2,10 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "non-negative";
|
||||
version = "0.1";
|
||||
sha256 = "0aebb6f5518191a02b11230798444997a03b84d63d2aaa6c38cac6718f6c351c";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
version = "0.1.1";
|
||||
sha256 = "163g3j3xrx1jkrbg2wnha3yyxyg1mn7kabmbpg82y3rbl3ihy1p7";
|
||||
buildDepends = [ QuickCheck utilityHt ];
|
||||
testDepends = [ QuickCheck utilityHt ];
|
||||
meta = {
|
||||
homepage = "http://code.haskell.org/~thielema/non-negative/";
|
||||
description = "Non-negative numbers";
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ cabal, pipes, pipesBytestring, pipesGroup, pipesParse, pipesSafe
|
||||
, profunctors, text, textStreamDecode, transformers
|
||||
, profunctors, streamingCommons, text, transformers
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "pipes-text";
|
||||
version = "0.0.0.10";
|
||||
sha256 = "05lrxfy6cma7g5h41c74sc22p1y38kzbmiagr3grxk5a5110vhr1";
|
||||
version = "0.0.0.11";
|
||||
sha256 = "0c56gxm17bapdjgbp2f55z3f6vq8ryvsljqp3bcjjj18xv5pf1ls";
|
||||
buildDepends = [
|
||||
pipes pipesBytestring pipesGroup pipesParse pipesSafe profunctors
|
||||
text textStreamDecode transformers
|
||||
streamingCommons text transformers
|
||||
];
|
||||
meta = {
|
||||
homepage = "https://github.com/michaelt/text-pipes";
|
||||
|
@ -5,8 +5,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "purescript";
|
||||
version = "0.5.2.2";
|
||||
sha256 = "07gkd897qcgn7yf81bii5njkiq1hlhfz5jx3spdlv64a492grmg2";
|
||||
version = "0.5.2.3";
|
||||
sha256 = "09z56gb3k1ya5c3yznm49sgd1g9i5wvn5ih4mycf5ys2wvy3v9sl";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
|
@ -1,16 +1,17 @@
|
||||
{ cabal, aeson, blazeBuilder, caseInsensitive, conduit
|
||||
, conduitExtra, dataDefault, httpTypes, mtl, regexCompat, text
|
||||
, transformers, wai, waiExtra, warp
|
||||
{ cabal, aeson, blazeBuilder, caseInsensitive, conduit, dataDefault
|
||||
, hspec, httpTypes, mtl, regexCompat, text, transformers, wai
|
||||
, waiExtra, warp
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "scotty";
|
||||
version = "0.7.3";
|
||||
sha256 = "1cksnsaghcliwpbigs7fjb2qcxsnrqmjcjwndmf3vbfkn43w2prb";
|
||||
version = "0.8.0";
|
||||
sha256 = "07198m8rsavdqr51abxsrmi8jail6h4ldzrr9s47il1djjba6lhh";
|
||||
buildDepends = [
|
||||
aeson blazeBuilder caseInsensitive conduit conduitExtra dataDefault
|
||||
httpTypes mtl regexCompat text transformers wai waiExtra warp
|
||||
aeson blazeBuilder caseInsensitive conduit dataDefault httpTypes
|
||||
mtl regexCompat text transformers wai waiExtra warp
|
||||
];
|
||||
testDepends = [ hspec httpTypes wai waiExtra ];
|
||||
jailbreak = true;
|
||||
meta = {
|
||||
homepage = "https://github.com/scotty-web/scotty";
|
||||
|
19
pkgs/development/libraries/haskell/snaplet-redis/default.nix
Normal file
19
pkgs/development/libraries/haskell/snaplet-redis/default.nix
Normal file
@ -0,0 +1,19 @@
|
||||
{ cabal, configurator, hedis, lens, mtl, network, snap
|
||||
, transformers
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "snaplet-redis";
|
||||
version = "0.1.3.1";
|
||||
sha256 = "1aprz9rxs01a86vfr8s7mjydafdfljg89grl7i43vmsw927izc6k";
|
||||
buildDepends = [
|
||||
configurator hedis lens mtl network snap transformers
|
||||
];
|
||||
meta = {
|
||||
homepage = "https://github.com/dzhus/snaplet-redis/";
|
||||
description = "Redis support for Snap Framework";
|
||||
license = self.stdenv.lib.licenses.bsd3;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
};
|
||||
jailbreak = true;
|
||||
})
|
@ -3,13 +3,13 @@
|
||||
, hspec, httpDate, httpTypes, mimeTypes, network
|
||||
, optparseApplicative, systemFileio, systemFilepath, text, time
|
||||
, transformers, unixCompat, unorderedContainers, wai, waiExtra
|
||||
, waiTest, warp, zlib
|
||||
, warp, zlib
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "wai-app-static";
|
||||
version = "2.0.1";
|
||||
sha256 = "1mygyp70rmhnkc0s8626cxrkvcbil92v4gnx70iz26gfb5q9lc7d";
|
||||
version = "3.0.0";
|
||||
sha256 = "117r2ps440i2i156k50b674fkny2ywwbbla6ry0km041604cl733";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
@ -20,7 +20,7 @@ cabal.mkDerivation (self: {
|
||||
];
|
||||
testDepends = [
|
||||
hspec httpDate httpTypes mimeTypes network text time transformers
|
||||
unixCompat wai waiTest zlib
|
||||
unixCompat wai waiExtra zlib
|
||||
];
|
||||
meta = {
|
||||
homepage = "http://www.yesodweb.com/book/web-application-interface";
|
||||
|
14
pkgs/development/libraries/haskell/wai-conduit/default.nix
Normal file
14
pkgs/development/libraries/haskell/wai-conduit/default.nix
Normal file
@ -0,0 +1,14 @@
|
||||
{ cabal, blazeBuilder, conduit, httpTypes, transformers, wai }:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "wai-conduit";
|
||||
version = "3.0.0";
|
||||
sha256 = "0v92jyxkigq7yj3hzy7kg360036nav986ny7b558l6j7zc90jsdg";
|
||||
buildDepends = [ blazeBuilder conduit httpTypes transformers wai ];
|
||||
meta = {
|
||||
homepage = "https://github.com/yesodweb/wai";
|
||||
description = "conduit wrappers for WAI";
|
||||
license = self.stdenv.lib.licenses.mit;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
};
|
||||
})
|
@ -1,24 +1,23 @@
|
||||
{ cabal, ansiTerminal, base64Bytestring, blazeBuilder
|
||||
, blazeBuilderConduit, caseInsensitive, conduit, conduitExtra
|
||||
, dataDefault, fastLogger, hspec, httpTypes, HUnit, liftedBase
|
||||
, network, resourcet, stringsearch, text, time, transformers, void
|
||||
, wai, waiLogger, waiTest, word8, zlib, zlibBindings, zlibConduit
|
||||
, caseInsensitive, dataDefault, dataDefaultClass, deepseq
|
||||
, fastLogger, hspec, httpTypes, HUnit, liftedBase, network
|
||||
, resourcet, streamingCommons, stringsearch, text, time
|
||||
, transformers, void, wai, waiLogger, word8, zlib
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "wai-extra";
|
||||
version = "2.1.1.2";
|
||||
sha256 = "000ksma1jmi7rfg2ib94baj31mcwqj2xfhkyv7lai89di0m0v6s4";
|
||||
version = "3.0.0";
|
||||
sha256 = "0spjyimqfj7hx8zgmal4laqy8p1inj8hl2402b5s6zqdn36lldfs";
|
||||
buildDepends = [
|
||||
ansiTerminal base64Bytestring blazeBuilder blazeBuilderConduit
|
||||
caseInsensitive conduit conduitExtra dataDefault fastLogger
|
||||
httpTypes liftedBase network resourcet stringsearch text time
|
||||
transformers void wai waiLogger word8 zlibConduit
|
||||
ansiTerminal base64Bytestring blazeBuilder caseInsensitive
|
||||
dataDefaultClass deepseq fastLogger httpTypes liftedBase network
|
||||
resourcet streamingCommons stringsearch text time transformers void
|
||||
wai waiLogger word8
|
||||
];
|
||||
testDepends = [
|
||||
blazeBuilder conduit conduitExtra dataDefault fastLogger hspec
|
||||
httpTypes HUnit resourcet text transformers wai waiTest zlib
|
||||
zlibBindings
|
||||
blazeBuilder dataDefault fastLogger hspec httpTypes HUnit resourcet
|
||||
text transformers wai zlib
|
||||
];
|
||||
jailbreak = true;
|
||||
meta = {
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "wai-handler-fastcgi";
|
||||
version = "2.0.0.1";
|
||||
sha256 = "14jsibsqfj6z5yqgdrh43aiqps1yldxkgn6fkj4i80zxk099nbxp";
|
||||
version = "3.0.0";
|
||||
sha256 = "1cvy95qmbrhc1yjcral7f8y2929xp623abc9xasz7j28m4wwmynh";
|
||||
buildDepends = [ wai waiExtra ];
|
||||
extraLibraries = [ fcgi ];
|
||||
meta = {
|
||||
|
@ -1,14 +1,13 @@
|
||||
{ cabal, blazeBuilder, blazeBuilderConduit, conduit, conduitExtra
|
||||
, httpTypes, transformers, wai, warp, zlibConduit
|
||||
{ cabal, blazeBuilder, httpTypes, streamingCommons, transformers
|
||||
, wai, warp
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "wai-handler-launch";
|
||||
version = "2.0.1.3";
|
||||
sha256 = "06im28x26jbzbdk9xz33kqvzblglk3b3b60qwal836hima69alsd";
|
||||
version = "3.0.0";
|
||||
sha256 = "1dv7w151szjkg9968v870abz11a440pdzy50zwm0xl6blk392nmk";
|
||||
buildDepends = [
|
||||
blazeBuilder blazeBuilderConduit conduit conduitExtra httpTypes
|
||||
transformers wai warp zlibConduit
|
||||
blazeBuilder httpTypes streamingCommons transformers wai warp
|
||||
];
|
||||
meta = {
|
||||
description = "Launch a web app in the default browser";
|
||||
|
@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
|
||||
unixTime wai
|
||||
];
|
||||
testDepends = [ doctest waiTest ];
|
||||
doCheck = false;
|
||||
meta = {
|
||||
description = "A logging system for WAI";
|
||||
license = self.stdenv.lib.licenses.bsd3;
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "wai-middleware-static";
|
||||
version = "0.5.0.1";
|
||||
sha256 = "1pwyy6lsvi7kaxf6x3ghy5013yq4ryjp01c4rrd4isx4jh1ynl31";
|
||||
version = "0.6.0";
|
||||
sha256 = "1rsy8qkxcjqdpzqkar0smyy49p8vqapi47k8d24101lz3rym6018";
|
||||
buildDepends = [ filepath httpTypes mtl text wai ];
|
||||
jailbreak = true;
|
||||
meta = {
|
||||
|
@ -1,20 +1,14 @@
|
||||
{ cabal, blazeBuilder, blazeBuilderConduit, caseInsensitive
|
||||
, conduit, conduitExtra, cookie, deepseq, hspec, httpTypes, network
|
||||
, text, transformers, wai
|
||||
}:
|
||||
{ cabal, wai }:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "wai-test";
|
||||
version = "2.0.1.3";
|
||||
sha256 = "18j77l2n41941f95awj6fj0w712628v5lsc3bif00cqnaixjmz48";
|
||||
buildDepends = [
|
||||
blazeBuilder blazeBuilderConduit caseInsensitive conduit
|
||||
conduitExtra cookie deepseq httpTypes network text transformers wai
|
||||
];
|
||||
testDepends = [ hspec wai ];
|
||||
version = "3.0.0";
|
||||
sha256 = "0xys01jniib0pnhadcm7s0v5z0wcxfgi0bf5ax808zm9qzvl3xfx";
|
||||
buildDepends = [ wai ];
|
||||
noHaddock = true;
|
||||
meta = {
|
||||
homepage = "http://www.yesodweb.com/book/web-application-interface";
|
||||
description = "Unit test framework (built on HUnit) for WAI applications";
|
||||
description = "Unit test framework (built on HUnit) for WAI applications. (deprecated)";
|
||||
license = self.stdenv.lib.licenses.mit;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
};
|
||||
|
@ -1,17 +1,17 @@
|
||||
{ cabal, blazeBuilder, caseInsensitive, conduit, fileEmbed
|
||||
, httpTypes, ioStreams, network, text, transformers, wai
|
||||
, waiAppStatic, warp, websockets
|
||||
{ cabal, blazeBuilder, caseInsensitive, fileEmbed, httpTypes
|
||||
, ioStreams, network, text, transformers, wai, waiAppStatic, warp
|
||||
, websockets
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "wai-websockets";
|
||||
version = "2.1.0.2";
|
||||
sha256 = "16hff38x6fpmp4r1wkjd922s02v5na8zwy6mq5f5gsj7b70n2ww2";
|
||||
version = "3.0.0";
|
||||
sha256 = "0bpzkh9a5j0a282z4dj9dqnjsgd0g8gyvvp0xm0a53582zfhfi5s";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
blazeBuilder caseInsensitive conduit fileEmbed httpTypes ioStreams
|
||||
network text transformers wai waiAppStatic warp websockets
|
||||
blazeBuilder caseInsensitive fileEmbed httpTypes ioStreams network
|
||||
text transformers wai waiAppStatic warp websockets
|
||||
];
|
||||
meta = {
|
||||
homepage = "http://github.com/yesodweb/wai";
|
||||
|
@ -1,15 +1,11 @@
|
||||
{ cabal, blazeBuilder, conduit, conduitExtra, httpTypes, network
|
||||
, text, transformers, vault
|
||||
}:
|
||||
{ cabal, blazeBuilder, hspec, httpTypes, network, text, vault }:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "wai";
|
||||
version = "2.1.0.3";
|
||||
sha256 = "0qprvk63fvb4rddg9h385xbd5sr5bcgkpx6fqlw01pjzmmrig1m3";
|
||||
buildDepends = [
|
||||
blazeBuilder conduit conduitExtra httpTypes network text
|
||||
transformers vault
|
||||
];
|
||||
version = "3.0.0.1";
|
||||
sha256 = "1f8alq4lygjdb4pzb7xm6jml3dviygk18siwfwb751va3j2fmi0v";
|
||||
buildDepends = [ blazeBuilder httpTypes network text vault ];
|
||||
testDepends = [ blazeBuilder hspec ];
|
||||
meta = {
|
||||
homepage = "https://github.com/yesodweb/wai";
|
||||
description = "Web Application Interface";
|
||||
|
@ -1,15 +1,13 @@
|
||||
{ cabal, conduit, conduitExtra, cprngAes, dataDefaultClass, network
|
||||
, networkConduit, resourcet, streamingCommons, tls, transformers
|
||||
{ cabal, cprngAes, dataDefaultClass, network, streamingCommons, tls
|
||||
, wai, warp
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "warp-tls";
|
||||
version = "2.0.5";
|
||||
sha256 = "11nc5drys75mjfqww87rs2clhxpx485q008y42f2ymj7s5856db4";
|
||||
version = "3.0.0";
|
||||
sha256 = "14gm43a811v9h87ia2b9y9kynafrvq3yw89gswlj832469jx9sfw";
|
||||
buildDepends = [
|
||||
conduit conduitExtra cprngAes dataDefaultClass network
|
||||
networkConduit resourcet streamingCommons tls transformers wai warp
|
||||
cprngAes dataDefaultClass network streamingCommons tls wai warp
|
||||
];
|
||||
meta = {
|
||||
homepage = "http://github.com/yesodweb/wai";
|
||||
|
@ -1,25 +1,22 @@
|
||||
{ cabal, async, blazeBuilder, blazeBuilderConduit, caseInsensitive
|
||||
, conduit, conduitExtra, doctest, hashable, hspec, HTTP, httpDate
|
||||
, httpTypes, HUnit, liftedBase, network, networkConduit, QuickCheck
|
||||
, simpleSendfile, streamingCommons, text, time, transformers
|
||||
, unixCompat, void, wai
|
||||
{ cabal, async, blazeBuilder, caseInsensitive, doctest, hashable
|
||||
, hspec, HTTP, httpDate, httpTypes, HUnit, liftedBase, network
|
||||
, QuickCheck, simpleSendfile, streamingCommons, text, time
|
||||
, transformers, unixCompat, void, wai
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "warp";
|
||||
version = "2.1.5.2";
|
||||
sha256 = "0rv5fxw1d5dh6jzvs3bg2vjjr702xw59fx7mflygpqh8zivfh4ds";
|
||||
version = "3.0.0.1";
|
||||
sha256 = "05x216fj7s1i963xipi0p7vmkz5l0nma1fjqiq040fg3rngw4yqb";
|
||||
buildDepends = [
|
||||
blazeBuilder blazeBuilderConduit caseInsensitive conduit
|
||||
conduitExtra hashable httpDate httpTypes liftedBase network
|
||||
networkConduit simpleSendfile streamingCommons text transformers
|
||||
unixCompat void wai
|
||||
blazeBuilder caseInsensitive hashable httpDate httpTypes network
|
||||
simpleSendfile streamingCommons text unixCompat void wai
|
||||
];
|
||||
testDepends = [
|
||||
async blazeBuilder blazeBuilderConduit caseInsensitive conduit
|
||||
conduitExtra doctest hashable hspec HTTP httpDate httpTypes HUnit
|
||||
liftedBase network networkConduit QuickCheck simpleSendfile
|
||||
streamingCommons text time transformers unixCompat void wai
|
||||
async blazeBuilder caseInsensitive doctest hashable hspec HTTP
|
||||
httpDate httpTypes HUnit liftedBase network QuickCheck
|
||||
simpleSendfile streamingCommons text time transformers unixCompat
|
||||
void wai
|
||||
];
|
||||
doCheck = false;
|
||||
meta = {
|
||||
|
@ -6,8 +6,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "websockets";
|
||||
version = "0.8.2.3";
|
||||
sha256 = "0j4lm5hkipd4q6kizrjy1cjdw2b0588m4k6fh50ss5qnqw9rkjkd";
|
||||
version = "0.8.2.4";
|
||||
sha256 = "09mq04vhi53isj8z5930ibyai7bv634lnmhl4xl2d3fzz2afvff0";
|
||||
buildDepends = [
|
||||
attoparsec base64Bytestring binary blazeBuilder caseInsensitive
|
||||
entropy ioStreams mtl network random SHA text
|
||||
|
@ -10,8 +10,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "yesod-bin";
|
||||
version = "1.2.9.4";
|
||||
sha256 = "0ir77hmg3avkm4x7pgmjx3fijisncpwklg4v1glqx4vqbjjrzk5g";
|
||||
version = "1.2.10.2";
|
||||
sha256 = "18faylxjrd790xv6zr77wikkcy99l7824bb1sq1y225kd7a3alsm";
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
|
@ -11,8 +11,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "yesod-core";
|
||||
version = "1.2.15.2";
|
||||
sha256 = "1k5dqcfpwqac81p9w2i1kz5pcvr21ibia5kh441811bdzlpwsiwq";
|
||||
version = "1.2.16.1";
|
||||
sha256 = "1wr5labhp3wc23ki2wvaypanm54qw9vz3v77rxyj1za1y2n1cprw";
|
||||
buildDepends = [
|
||||
aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup
|
||||
caseInsensitive cereal clientsession conduit conduitExtra cookie
|
||||
@ -26,7 +26,7 @@ cabal.mkDerivation (self: {
|
||||
async blazeBuilder conduit conduitExtra hamlet hspec httpTypes
|
||||
HUnit liftedBase network networkConduit QuickCheck random resourcet
|
||||
shakespeare shakespeareCss shakespeareJs streamingCommons text
|
||||
transformers wai waiTest
|
||||
transformers wai waiExtra waiTest
|
||||
];
|
||||
jailbreak = true;
|
||||
meta = {
|
||||
|
@ -7,8 +7,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "yesod-form";
|
||||
version = "1.3.9.1";
|
||||
sha256 = "1iw2vcdvp77vz3az9g9y4nk29g098fa9lvqzc7hwypvdawgwpgwm";
|
||||
version = "1.3.10";
|
||||
sha256 = "1qq0r5phb6xygz4w5ysir3ky7bw0rmd1q4vz57dz1aza2pchb1ih";
|
||||
buildDepends = [
|
||||
aeson attoparsec blazeBuilder blazeHtml blazeMarkup byteable
|
||||
dataDefault emailValidate hamlet network persistent resourcet
|
||||
|
@ -1,19 +1,19 @@
|
||||
{ cabal, blazeBuilder, conduit, hspec, persistent, persistentSqlite
|
||||
, persistentTemplate, resourcePool, resourcet, text, transformers
|
||||
, waiTest, yesodCore
|
||||
, waiExtra, waiTest, yesodCore
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "yesod-persistent";
|
||||
version = "1.2.2.3";
|
||||
sha256 = "1699grrxb1qwfiivh9ihnczkcbwl4gcqdk7m02lc09r9gjr920p8";
|
||||
version = "1.2.3";
|
||||
sha256 = "1kdspz6y32r8kl0qk89hgwi4n6dnxch7wriv829cnwqm0bzjfdpw";
|
||||
buildDepends = [
|
||||
blazeBuilder conduit persistent persistentTemplate resourcePool
|
||||
resourcet transformers yesodCore
|
||||
];
|
||||
testDepends = [
|
||||
blazeBuilder conduit hspec persistent persistentSqlite text waiTest
|
||||
yesodCore
|
||||
blazeBuilder conduit hspec persistent persistentSqlite text
|
||||
waiExtra waiTest yesodCore
|
||||
];
|
||||
meta = {
|
||||
homepage = "http://www.yesodweb.com/";
|
||||
|
@ -3,14 +3,14 @@
|
||||
, cssText, dataDefault, fileEmbed, filepath, hashable, hjsmin
|
||||
, hspec, httpTypes, HUnit, mimeTypes, resourcet, shakespeareCss
|
||||
, systemFileio, systemFilepath, text, transformers, unixCompat
|
||||
, unorderedContainers, wai, waiAppStatic, waiTest, yesodCore
|
||||
, yesodTest
|
||||
, unorderedContainers, wai, waiAppStatic, waiExtra, waiTest
|
||||
, yesodCore, yesodTest
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "yesod-static";
|
||||
version = "1.2.3";
|
||||
sha256 = "093lvg7pl71dfnr7qyfmp9r1m3bs64849k0dw4w2qb618y8wb9jh";
|
||||
version = "1.2.4";
|
||||
sha256 = "0r5bz1jmgjd7cmvhkp3ahgl610bssvgxxsvb626dvqz2vqc0061z";
|
||||
buildDepends = [
|
||||
async attoparsec base64Bytestring blazeBuilder byteable conduit
|
||||
conduitExtra cryptohash cryptohashConduit cssText dataDefault
|
||||
@ -23,7 +23,7 @@ cabal.mkDerivation (self: {
|
||||
cryptohashConduit dataDefault fileEmbed filepath hjsmin hspec
|
||||
httpTypes HUnit mimeTypes resourcet shakespeareCss systemFileio
|
||||
systemFilepath text transformers unixCompat unorderedContainers wai
|
||||
waiAppStatic waiTest yesodCore yesodTest
|
||||
waiAppStatic waiExtra waiTest yesodCore yesodTest
|
||||
];
|
||||
doCheck = false;
|
||||
meta = {
|
||||
|
@ -1,18 +1,18 @@
|
||||
{ cabal, attoparsec, blazeBuilder, blazeHtml, blazeMarkup
|
||||
, caseInsensitive, cookie, hspec, htmlConduit, httpTypes, HUnit
|
||||
, monadControl, network, persistent, text, time, transformers, wai
|
||||
, waiTest, xmlConduit, xmlTypes, yesodCore, yesodForm
|
||||
, waiExtra, waiTest, xmlConduit, xmlTypes, yesodCore, yesodForm
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "yesod-test";
|
||||
version = "1.2.2";
|
||||
sha256 = "1vf5g83mj2a38f34llg6wa63whj13p0vgbzfvi3ic5j7qy5gb8g5";
|
||||
version = "1.2.3";
|
||||
sha256 = "082zi53q1pw9xv4l6ld1y3xxnvq3iwgbrdnxjknhwsxph7glkn3p";
|
||||
buildDepends = [
|
||||
attoparsec blazeBuilder blazeHtml blazeMarkup caseInsensitive
|
||||
cookie hspec htmlConduit httpTypes HUnit monadControl network
|
||||
persistent text time transformers wai waiTest xmlConduit xmlTypes
|
||||
yesodCore
|
||||
persistent text time transformers wai waiExtra waiTest xmlConduit
|
||||
xmlTypes yesodCore
|
||||
];
|
||||
testDepends = [
|
||||
hspec htmlConduit HUnit text wai xmlConduit yesodCore yesodForm
|
||||
|
@ -7,8 +7,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "yesod";
|
||||
version = "1.2.5.3";
|
||||
sha256 = "1w9bbvinnbnhrajjqj6yhy9dgggdf6n98x04dys45anssiwrd2ss";
|
||||
version = "1.2.6";
|
||||
sha256 = "0rw46zznczdzg2wvbgp5kpq3yrl6w40vbbs7zyvqpcf6m82jsfz0";
|
||||
buildDepends = [
|
||||
aeson blazeHtml blazeMarkup conduitExtra dataDefault fastLogger
|
||||
hamlet monadControl monadLogger networkConduit safe shakespeare
|
||||
|
18
pkgs/development/libraries/libmodbus/default.nix
Normal file
18
pkgs/development/libraries/libmodbus/default.nix
Normal file
@ -0,0 +1,18 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libmodbus-3.0.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://libmodbus.org/releases/${name}.tar.gz";
|
||||
sha256 = "1dkijjv3dq0c5vc5z5f1awm8dlssbwg6ivsnvih22pkm1zqn6v84";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Library to send/receive data according to the Modbus protocol";
|
||||
homepage = http://libmodbus.org/;
|
||||
license = licenses.lgpl21Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.bjornfor ];
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, autoconf, automake, libtool, ruby }:
|
||||
{ stdenv, fetchurl, autoconf, automake, libtool, ruby, scatterOutputHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.5.8";
|
||||
@ -9,17 +9,18 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1h6k9kdbfavmw3by5kk3raszwa64hn9k8yw9rdhvl5m8g2lks89k";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ scatterOutputHook ];
|
||||
buildInputs = [ autoconf automake libtool ruby ];
|
||||
|
||||
outputs = [ "out" "lib" ];
|
||||
outputs = [ "out" "bin" ];
|
||||
|
||||
preConfigure = "./bootstrap";
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $lib/lib
|
||||
mv $out/lib/*.so.* $lib/lib/
|
||||
preConfigure = ''
|
||||
sed -i s,glibtoolize,libtoolize, ./bootstrap
|
||||
./bootstrap
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "MessagePack implementation for C and C++";
|
||||
homepage = http://msgpack.org;
|
||||
|
29
pkgs/development/libraries/liboping/default.nix
Normal file
29
pkgs/development/libraries/liboping/default.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{ stdenv, fetchurl, ncurses ? null, perl ? null }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "liboping-1.6.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://verplant.org/liboping/files/${name}.tar.bz2";
|
||||
sha256 = "1kvkpdcd5jinyc15cgir48v91qphpw22c03inydaga5m4yqv8jjz";
|
||||
};
|
||||
|
||||
buildInputs = [ ncurses perl ];
|
||||
|
||||
configureFlags = stdenv.lib.optionalString (perl == null) "--with-perl-bindings=no";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "C library to generate ICMP echo requests (a.k.a. ping packets)";
|
||||
longDescription = ''
|
||||
liboping is a C library to generate ICMP echo requests, better known as
|
||||
"ping packets". It is intended for use in network monitoring applications
|
||||
or applications that would otherwise need to fork ping(1) frequently.
|
||||
Included is a sample application, called oping, which demonstrates the
|
||||
library's abilities.
|
||||
'';
|
||||
homepage = http://verplant.org/liboping/;
|
||||
license = licenses.lgpl21;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.bjornfor ];
|
||||
};
|
||||
}
|
@ -4,14 +4,14 @@
|
||||
, dnsmasq, libnl
|
||||
}:
|
||||
|
||||
let version = "1.2.4"; in
|
||||
let version = "1.2.5"; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libvirt-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://libvirt.org/sources/${name}.tar.gz";
|
||||
sha256 = "0xg8m7x4a3dqrg2b9pqcikaghdp6jyl07gkp2z8grsmsnbvcafp4";
|
||||
sha256 = "0igd74wkksgv24i2xaa8wx51iqpgjp1v7820pk93m0jv8gipvscf";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
23
pkgs/development/libraries/libxmp/default.nix
Normal file
23
pkgs/development/libraries/libxmp/default.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libxmp-4.2.7";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Extended module player library";
|
||||
homepage = "http://xmp.sourceforge.net/";
|
||||
longDescription = ''
|
||||
Libxmp is a library that renders module files to PCM data. It supports
|
||||
over 90 mainstream and obscure module formats including Protracker (MOD),
|
||||
Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT).
|
||||
'';
|
||||
license = licenses.lgpl21Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ iyzsong ];
|
||||
};
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/xmp/libxmp/${name}.tar.gz";
|
||||
sha256 = "1isv8498869w8wc18lagi1p40z4blx684r21j9cligkfyrmri536";
|
||||
};
|
||||
}
|
@ -1,13 +1,13 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
let version = "4.10.5"; in
|
||||
let version = "4.10.6"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "nspr-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
|
||||
sha1 = "891de2b62ad42f9b38808a0aa58c95e8cbd5c9a9";
|
||||
sha1 = "3hzcslcfql1rg7drvcn4nmrigy7jfgwz";
|
||||
};
|
||||
|
||||
preConfigure = "cd nspr";
|
||||
|
@ -156,12 +156,14 @@ python.stdenv.mkDerivation (attrs // {
|
||||
'';
|
||||
|
||||
shellHook = attrs.shellHook or ''
|
||||
mkdir -p /tmp/$name/lib/${python.libPrefix}/site-packages
|
||||
${preShellHook}
|
||||
export PATH="/tmp/$name/bin:$PATH"
|
||||
export PYTHONPATH="/tmp/$name/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
|
||||
python setup.py develop --prefix /tmp/$name
|
||||
${postShellHook}
|
||||
if test -e setup.py; then
|
||||
mkdir -p /tmp/$name/lib/${python.libPrefix}/site-packages
|
||||
${preShellHook}
|
||||
export PATH="/tmp/$name/bin:$PATH"
|
||||
export PYTHONPATH="/tmp/$name/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
|
||||
${python}/bin/${python.executable} setup.py develop --prefix /tmp/$name
|
||||
${postShellHook}
|
||||
fi
|
||||
'';
|
||||
|
||||
meta = with lib.maintainers; {
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "cabal-bounds";
|
||||
version = "0.5";
|
||||
sha256 = "0sx6vyf3p62khg7qv7nwgd8fns6dsfpw34gpl7zmb6n0c1kjj60b";
|
||||
version = "0.6";
|
||||
sha256 = "0dl8rf8y365a20yz5kk1c9y860k5mkg1jp5dipvbf451h7a7h9w5";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "cabal2nix";
|
||||
version = "1.61";
|
||||
sha256 = "058bwswkhsj3rbxl42n23ri79smmhkaj6wid4c6x02yl3m8l7xsy";
|
||||
version = "1.63";
|
||||
sha256 = "12frnhm86w5i6rmhghrdngdv658332bh9j5nr04ql439yysvkypj";
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ];
|
||||
|
@ -1,21 +1,21 @@
|
||||
{ cabal, aeson, async, attoparsec, blazeBuilder, caseInsensitive
|
||||
, conduit, conduitExtra, dataDefault, filepath, fsnotify, hspec
|
||||
, httpConduit, httpReverseProxy, httpTypes, liftedBase, mtl
|
||||
, network, networkConduitTls, random, regexTdfa, stm, systemFileio
|
||||
, systemFilepath, tar, text, time, transformers, unixCompat
|
||||
, unorderedContainers, vector, wai, waiAppStatic, waiExtra, warp
|
||||
, warpTls, yaml, zlib
|
||||
, httpClient, httpConduit, httpReverseProxy, httpTypes, liftedBase
|
||||
, mtl, network, networkConduitTls, random, regexTdfa, stm
|
||||
, systemFileio, systemFilepath, tar, text, time, transformers
|
||||
, unixCompat, unorderedContainers, vector, wai, waiAppStatic
|
||||
, waiExtra, warp, warpTls, yaml, zlib
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "keter";
|
||||
version = "1.3.0";
|
||||
sha256 = "1fvb93iga4c0kfv29ksrmn9bjznl7wfspg1v9a5d3svwrszl4is3";
|
||||
version = "1.3.1";
|
||||
sha256 = "19isyslrxbp430ira7v2d3r5f1j1526rg7v6lzzyl3dsyfpvxjg6";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
aeson async attoparsec blazeBuilder caseInsensitive conduit
|
||||
conduitExtra dataDefault filepath fsnotify httpConduit
|
||||
conduitExtra dataDefault filepath fsnotify httpClient httpConduit
|
||||
httpReverseProxy httpTypes liftedBase mtl network networkConduitTls
|
||||
random regexTdfa stm systemFileio systemFilepath tar text time
|
||||
transformers unixCompat unorderedContainers vector wai waiAppStatic
|
||||
|
16
pkgs/development/tools/misc/ShellCheck/default.nix
Normal file
16
pkgs/development/tools/misc/ShellCheck/default.nix
Normal file
@ -0,0 +1,16 @@
|
||||
{ cabal, json, mtl, parsec, regexCompat }:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "ShellCheck";
|
||||
version = "0.3.3";
|
||||
sha256 = "15lmc7cbi6s852qhd6h9asgz7ss1khfhq7wj4sgblr5mgppldg93";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
buildDepends = [ json mtl parsec regexCompat ];
|
||||
meta = {
|
||||
homepage = "http://www.shellcheck.net/";
|
||||
description = "Shell script analysis tool";
|
||||
license = self.stdenv.lib.licenses.agpl3Plus;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
};
|
||||
})
|
@ -3,11 +3,11 @@ let
|
||||
s = # Generated upstream information
|
||||
rec {
|
||||
baseName="cl-launch";
|
||||
version="4.0.4";
|
||||
version="4.0.5";
|
||||
name="${baseName}-${version}";
|
||||
hash="152m834myhcgi4iacfqn81fznlbqxn7pvdlxvk2lbba09h0slm56";
|
||||
url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.0.4.tar.gz";
|
||||
sha256="152m834myhcgi4iacfqn81fznlbqxn7pvdlxvk2lbba09h0slm56";
|
||||
hash="00i11pkwsb9r9cjzxjmj0dsp369i0gpz04f447xss9a9v192dhlj";
|
||||
url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.0.5.tar.gz";
|
||||
sha256="00i11pkwsb9r9cjzxjmj0dsp369i0gpz04f447xss9a9v192dhlj";
|
||||
};
|
||||
buildInputs = [
|
||||
];
|
||||
|
@ -12,10 +12,10 @@ let
|
||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||
sourceInfo = rec {
|
||||
baseName="sauerbraten";
|
||||
version="3331";
|
||||
version="5000";
|
||||
name="${baseName}-r${version}";
|
||||
url="https://svn.code.sf.net/p/sauerbraten/code";
|
||||
hash="0904hk9rz2x941c9587bfxa4rca81260j3m2hjjrp984w67x2w7y";
|
||||
hash="17libj7dslprlwppdk3vyxdcigbsa4czln8gdyz9j264m11z1cbh";
|
||||
};
|
||||
in
|
||||
rec {
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user