Merge branch 'master.upstream' into staging.upstream
This commit is contained in:
commit
8e19ac8d7c
|
@ -0,0 +1,68 @@
|
|||
# How to contribute
|
||||
|
||||
## Opening issues
|
||||
|
||||
* Make sure you have a [GitHub account](https://github.com/signup/free)
|
||||
* Submit a ticket for your issue, assuming one does not already exist.
|
||||
* Clearly describe the issue including steps to reproduce when it is a bug.
|
||||
|
||||
## Making patches
|
||||
|
||||
* Read [Manual (How to write packages for Nix)](https://nixos.org/nixpkgs/manual/)
|
||||
* Fork the repository on GitHub.
|
||||
* Create a branch for your future fix.
|
||||
* You can make branch from a commit of your local `nixos-version`. That will help you to avoid additional local compilations. Because you will recieve some packages from cache server.
|
||||
* For example: `nixos-version` returns `15.05.git.0998212 (Dingo)`. So you can do:
|
||||
|
||||
```bash
|
||||
git checkout 0998212
|
||||
git checkout -b 'fix/pkg-name-update'
|
||||
```
|
||||
* Please avoid working directly on the `master` branch.
|
||||
* Make commits of logical units.
|
||||
* If you removed pkgs, made some major changes etc., write about them in `nixos/doc/manual/release-notes/rl-unstable.xml`.
|
||||
* Check for unnecessary whitespace with `git diff --check` before committing.
|
||||
* Format the commit in a following way:
|
||||
|
||||
```
|
||||
(pkg-name | service-name): (update from -> to | init at version | refactor | etc)
|
||||
|
||||
Additional information.
|
||||
```
|
||||
* Examples:
|
||||
* `foo-pkg: init at 2.0.1`
|
||||
* `bar-pkg: update 3.0 -> 3.1.1`
|
||||
* `lala-service: add bazBaz option`
|
||||
* `tata-service: refactor config generation`
|
||||
* Test your changes. If you work with
|
||||
* nixpkgs
|
||||
* update pkg ->
|
||||
* `nix-env -i pkg-name -f <path to your local nixpkgs folder>`
|
||||
* add pkg ->
|
||||
* Make sure it's in `pkgs/top-level/all-packages.nix`
|
||||
* `nix-env -i pkg-name -f <path to your local nixpkgs folder>`
|
||||
* _If you don't want to install pkg in you profile_.
|
||||
* `nix-build -A pkg-attribute-name <path to your local nixpkgs folder>/default.nix` and check results in the folder `result`. It will appear in the same directory where you did `nix-build`.
|
||||
* If you did `nix-env -i pkg-name` you can do `nix-env -e pkg-name` to uninstall it from your system.
|
||||
* nixos and it's modules
|
||||
* You can add new module to you `nixos-configuration file` (usually it's `/etc/nixos/configuration.nix`.
|
||||
And do `sudo nixos-rebuild test -I nixpkgs=<path to your local nixpkgs folder> --fast`
|
||||
* If you have commits `pkg-name: oh, forgot to insert whitespace`: squash commits in this case. Use `git rebase -i`.
|
||||
* Rebase you branch against current `master`.
|
||||
|
||||
## Submitting changes
|
||||
|
||||
* Push your changes to your fork of nixpkgs.
|
||||
* Create pull request.
|
||||
* Write the title in format `(pkg-name | service): improvement`
|
||||
* If you update the pkg, write versions `from -> to`
|
||||
* Write in comment if you have tested your patch. Do not rely much on `TravisCL`.
|
||||
* If you make an improvement, write why is it good.
|
||||
* Notify maintainers of the package. For example add to the message: `cc @jagajaga @domenkozar`
|
||||
|
||||
## Hotfixing pull requests
|
||||
|
||||
* Make the appropriate changes in you branch.
|
||||
* Don't create additional commits.
|
||||
* `git rebase`
|
||||
* `git push --force` to your branch.
|
|
@ -43,7 +43,7 @@ rec {
|
|||
};
|
||||
|
||||
_module.check = mkOption {
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
internal = true;
|
||||
default = check;
|
||||
description = "Whether to check whether all option definitions have matching declarations.";
|
||||
|
|
|
@ -59,26 +59,21 @@ rec {
|
|||
else if all isInt list && all (x: x == head list) list then head list
|
||||
else throw "Cannot merge definitions of `${showOption loc}' given in ${showFiles (getFiles defs)}.";
|
||||
|
||||
/* Obsolete, will remove soon. Specify an option type or apply
|
||||
function instead. */
|
||||
mergeTypedOption = typeName: predicate: merge: loc: list:
|
||||
let list' = map (x: x.value) list; in
|
||||
if all predicate list then merge list'
|
||||
else throw "Expected a ${typeName}.";
|
||||
|
||||
mergeEnableOption = mergeTypedOption "boolean"
|
||||
(x: true == x || false == x) (fold lib.or false);
|
||||
|
||||
mergeListOption = mergeTypedOption "list" isList concatLists;
|
||||
|
||||
mergeStringOption = mergeTypedOption "string" isString lib.concatStrings;
|
||||
|
||||
mergeOneOption = loc: defs:
|
||||
if defs == [] then abort "This case should never happen."
|
||||
else if length defs != 1 then
|
||||
throw "The unique option `${showOption loc}' is defined multiple times, in ${showFiles (getFiles defs)}."
|
||||
else (head defs).value;
|
||||
|
||||
/* "Merge" option definitions by checking that they all have the same value. */
|
||||
mergeEqualOption = loc: defs:
|
||||
if defs == [] then abort "This case should never happen."
|
||||
else fold (def: val:
|
||||
if def.value != val then
|
||||
throw "The option `${showOption loc}' has conflicting definitions, in ${showFiles (getFiles defs)}."
|
||||
else
|
||||
val) (head defs).value defs;
|
||||
|
||||
getValues = map (x: x.value);
|
||||
getFiles = map (x: x.file);
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ rec {
|
|||
bool = mkOptionType {
|
||||
name = "boolean";
|
||||
check = isBool;
|
||||
merge = loc: fold (x: y: x.value || y) false;
|
||||
merge = mergeEqualOption;
|
||||
};
|
||||
|
||||
int = mkOptionType {
|
||||
|
|
|
@ -63,7 +63,7 @@ in
|
|||
description = ''
|
||||
A list of profiles used to setup the global environment.
|
||||
'';
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
};
|
||||
|
||||
environment.profileRelativeEnvVars = mkOption {
|
||||
|
|
|
@ -26,7 +26,7 @@ in
|
|||
hardware.bumblebee.group = mkOption {
|
||||
default = "wheel";
|
||||
example = "video";
|
||||
type = types.uniq types.str;
|
||||
type = types.str;
|
||||
description = ''Group for bumblebee socket'';
|
||||
};
|
||||
hardware.bumblebee.connectDisplay = mkOption {
|
||||
|
|
|
@ -21,7 +21,7 @@ with lib;
|
|||
warnings = mkOption {
|
||||
internal = true;
|
||||
default = [];
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
example = [ "The `foo' service is deprecated and will go away soon!" ];
|
||||
description = ''
|
||||
This option allows modules to show warnings to users during
|
||||
|
|
|
@ -59,7 +59,7 @@ in
|
|||
};
|
||||
|
||||
nixpkgs.system = mkOption {
|
||||
type = types.uniq types.str;
|
||||
type = types.str;
|
||||
example = "i686-linux";
|
||||
description = ''
|
||||
Specifies the Nix platform type for which NixOS should be built.
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
"ohci1394" "sbp2"
|
||||
|
||||
# Virtio (QEMU, KVM etc.) support.
|
||||
"virtio_net" "virtio_pci" "virtio_blk" "virtio_balloon" "virtio_console"
|
||||
"virtio_net" "virtio_pci" "virtio_blk" "virtio_scsi" "virtio_balloon" "virtio_console"
|
||||
|
||||
# Keyboards
|
||||
"usbhid" "hid_apple" "hid_logitech_dj" "hid_lenovo_tpkbd" "hid_roccat"
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
boot.initrd.availableKernelModules = [ "virtio_net" "virtio_pci" "virtio_blk" "9p" "9pnet_virtio" ];
|
||||
boot.initrd.availableKernelModules = [ "virtio_net" "virtio_pci" "virtio_blk" "virtio_scsi" "9p" "9pnet_virtio" ];
|
||||
boot.initrd.kernelModules = [ "virtio_balloon" "virtio_console" "virtio_rng" ];
|
||||
|
||||
boot.initrd.postDeviceCommands =
|
||||
|
|
|
@ -27,7 +27,7 @@ in
|
|||
programs.ssh = {
|
||||
|
||||
askPassword = mkOption {
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
default = "${pkgs.x11_ssh_askpass}/libexec/x11-ssh-askpass";
|
||||
description = ''Program used by SSH to ask for passwords.'';
|
||||
};
|
||||
|
@ -77,7 +77,7 @@ in
|
|||
};
|
||||
|
||||
agentTimeout = mkOption {
|
||||
type = types.nullOr types.string;
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "1h";
|
||||
description = ''
|
||||
|
|
|
@ -33,7 +33,7 @@ in
|
|||
};
|
||||
|
||||
security.pki.certificates = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = singleton ''
|
||||
NixOS.org
|
||||
|
|
|
@ -95,7 +95,7 @@ in {
|
|||
|
||||
port = mkOption {
|
||||
default = 35000;
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
description = ''
|
||||
Port for Almir web server to listen on.
|
||||
'';
|
||||
|
|
|
@ -182,7 +182,7 @@ in {
|
|||
|
||||
port = mkOption {
|
||||
default = 9102;
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
description = ''
|
||||
This specifies the port number on which the Client listens for Director connections. It must agree with the FDPort specified in the Client resource of the Director's configuration file. The default is 9102.
|
||||
'';
|
||||
|
@ -237,7 +237,7 @@ in {
|
|||
|
||||
port = mkOption {
|
||||
default = 9103;
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
description = ''
|
||||
Specifies port number on which the Storage daemon listens for Director connections. The default is 9103.
|
||||
'';
|
||||
|
@ -302,7 +302,7 @@ in {
|
|||
|
||||
port = mkOption {
|
||||
default = 9101;
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
description = ''
|
||||
Specify the port (a positive integer) on which the Director daemon will listen for Bacula Console connections. This same port number must be specified in the Director resource of the Console configuration file. The default is 9101, so normally this directive need not be specified. This directive should not be used if you specify DirAddresses (N.B plural) directive.
|
||||
'';
|
||||
|
|
|
@ -50,7 +50,7 @@ in {
|
|||
|
||||
port = mkOption {
|
||||
default = 8080;
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
description = ''
|
||||
Specifies port number on which the jenkins HTTP interface listens. The default is 8080.
|
||||
'';
|
||||
|
|
|
@ -55,7 +55,7 @@ in
|
|||
enable = mkOption {
|
||||
default = false;
|
||||
description = "Whether to enable the influxdb server";
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
|
|
|
@ -43,7 +43,7 @@ in {
|
|||
enable = mkOption {
|
||||
description = "Whether to enable neo4j.";
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
|
|
|
@ -192,7 +192,7 @@ in
|
|||
|
||||
extraGroups = mkOption {
|
||||
default = [];
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
example = [ "postdrop" "mongodb" ];
|
||||
description = ''
|
||||
Extra groups for the logcheck user, for example to be able to use sendmail,
|
||||
|
|
|
@ -66,7 +66,7 @@ in
|
|||
};
|
||||
|
||||
extraParams = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
example = [ "-m 0" ];
|
||||
description = ''
|
||||
|
|
|
@ -83,7 +83,7 @@ in
|
|||
};
|
||||
|
||||
extraParams = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
example = [ "-m 0" ];
|
||||
description = ''
|
||||
|
|
|
@ -24,7 +24,7 @@ in {
|
|||
};
|
||||
|
||||
extraServerArgs = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [ "-v" "-P mta" ];
|
||||
description = ''
|
||||
|
|
|
@ -33,7 +33,7 @@ in {
|
|||
enable = mkOption {
|
||||
description = "Whether to enable Apache Kafka.";
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
brokerId = mkOption {
|
||||
|
@ -108,7 +108,7 @@ in {
|
|||
"-Djava.awt.headless=true"
|
||||
"-Djava.net.preferIPv4Stack=true"
|
||||
];
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
example = [
|
||||
"-Djava.net.preferIPv4Stack=true"
|
||||
"-Dcom.sun.management.jmxremote"
|
||||
|
|
|
@ -54,7 +54,7 @@ in
|
|||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
default = 2947;
|
||||
description = ''
|
||||
The port where to listen for TCP connections.
|
||||
|
@ -62,7 +62,7 @@ in
|
|||
};
|
||||
|
||||
debugLevel = mkOption {
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
default = 0;
|
||||
description = ''
|
||||
The debugging level.
|
||||
|
|
|
@ -13,7 +13,7 @@ in {
|
|||
enable = mkOption {
|
||||
description = "Whether to enable the Mesos Master.";
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
|
@ -45,7 +45,7 @@ in {
|
|||
See https://mesos.apache.org/documentation/latest/configuration/
|
||||
'';
|
||||
default = [ "" ];
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
example = [ "--credentials=VALUE" ];
|
||||
};
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ in {
|
|||
enable = mkOption {
|
||||
description = "Whether to enable the Mesos Slave.";
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
ip = mkOption {
|
||||
|
@ -70,7 +70,7 @@ in {
|
|||
See https://mesos.apache.org/documentation/latest/configuration/
|
||||
'';
|
||||
default = [ "" ];
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
example = [ "--gc_delay=3days" ];
|
||||
};
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ in {
|
|||
enable = mkOption {
|
||||
description = "Whether to enable Zookeeper.";
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
|
@ -94,7 +94,7 @@ in {
|
|||
extraCmdLineOptions = mkOption {
|
||||
description = "Extra command line options for the Zookeeper launcher.";
|
||||
default = [ "-Dcom.sun.management.jmxremote" "-Dcom.sun.management.jmxremote.local.only=true" ];
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
example = [ "-Djava.net.preferIPv4Stack=true" "-Dcom.sun.management.jmxremote" "-Dcom.sun.management.jmxremote.local.only=true" ];
|
||||
};
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@ in
|
|||
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
Whether to enable the APC UPS daemon. apcupsd monitors your UPS and
|
||||
permits orderly shutdown of your computer in the event of a power
|
||||
|
|
|
@ -23,6 +23,7 @@ let
|
|||
# proxy_password: password
|
||||
|
||||
# tags: mytag0, mytag1
|
||||
${optionalString (cfg.tags != null ) "tags: ${concatStringsSep "," cfg.tags }"}
|
||||
|
||||
# collect_ec2_tags: no
|
||||
# recent_point_threshold: 30
|
||||
|
@ -80,6 +81,13 @@ in {
|
|||
type = types.str;
|
||||
};
|
||||
|
||||
tags = mkOption {
|
||||
description = "The tags to mark this Datadog agent";
|
||||
example = [ "test" "service" ];
|
||||
default = null;
|
||||
type = types.nullOr (types.listOf types.str);
|
||||
};
|
||||
|
||||
hostname = mkOption {
|
||||
description = "The hostname to show in the Datadog dashboard (optional)";
|
||||
default = null;
|
||||
|
|
|
@ -67,7 +67,7 @@ in {
|
|||
enable = mkOption {
|
||||
description = "Whether to enable graphite web frontend.";
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
host = mkOption {
|
||||
|
@ -95,7 +95,7 @@ in {
|
|||
<link xlink:href="http://graphite-api.readthedocs.org/en/latest/"/>
|
||||
'';
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
finders = mkOption {
|
||||
|
@ -177,7 +177,7 @@ in {
|
|||
enableCache = mkOption {
|
||||
description = "Whether to enable carbon cache, the graphite storage daemon.";
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
storageAggregation = mkOption {
|
||||
|
@ -234,7 +234,7 @@ in {
|
|||
enableRelay = mkOption {
|
||||
description = "Whether to enable carbon relay, the carbon replication and sharding service.";
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
relayRules = mkOption {
|
||||
|
@ -251,7 +251,7 @@ in {
|
|||
enableAggregator = mkOption {
|
||||
description = "Whether to enable carbon agregator, the carbon buffering service.";
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
aggregationRules = mkOption {
|
||||
|
@ -269,7 +269,7 @@ in {
|
|||
enable = mkOption {
|
||||
description = "Whether to enable seyren service.";
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
|
@ -319,7 +319,7 @@ in {
|
|||
<link xlink:href="https://github.com/seatgeek/graphite-pager"/>
|
||||
'';
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
redisUrl = mkOption {
|
||||
|
|
|
@ -37,7 +37,7 @@ in
|
|||
enable = mkOption {
|
||||
description = "Whether to enable statsd stats aggregation service";
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
host = mkOption {
|
||||
|
@ -49,7 +49,7 @@ in
|
|||
port = mkOption {
|
||||
description = "Port that stats listens for messages on over UDP";
|
||||
default = 8125;
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
};
|
||||
|
||||
mgmt_address = mkOption {
|
||||
|
@ -61,7 +61,7 @@ in
|
|||
mgmt_port = mkOption {
|
||||
description = "Port to run the management TCP interface on";
|
||||
default = 8126;
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
};
|
||||
|
||||
backends = mkOption {
|
||||
|
|
|
@ -32,7 +32,7 @@ let
|
|||
|
||||
shutdownOrder = mkOption {
|
||||
default = 0;
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
description = ''
|
||||
When you have multiple UPSes on your system, you usually need to
|
||||
turn them off in a certain order. upsdrvctl shuts down all the
|
||||
|
@ -63,7 +63,7 @@ let
|
|||
|
||||
directives = mkOption {
|
||||
default = [];
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
List of configuration directives for this UPS.
|
||||
'';
|
||||
|
@ -151,7 +151,7 @@ in
|
|||
|
||||
maxStartDelay = mkOption {
|
||||
default = 45;
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
description = ''
|
||||
This can be set as a global variable above your first UPS
|
||||
definition and it can also be set in a UPS section. This value
|
||||
|
|
|
@ -137,7 +137,7 @@ in
|
|||
|
||||
nsswins = mkOption {
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
Whether to enable the WINS NSS (Name Service Switch) plug-in.
|
||||
Enabling it allows applications to resolve WINS/NetBIOS names (a.k.a.
|
||||
|
|
|
@ -18,7 +18,7 @@ in
|
|||
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
Whenever to enable the atftpd TFTP server.
|
||||
'';
|
||||
|
@ -26,7 +26,7 @@ in
|
|||
|
||||
root = mkOption {
|
||||
default = "/var/empty";
|
||||
type = types.uniq types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
Document root directory for the atftpd.
|
||||
'';
|
||||
|
|
|
@ -45,7 +45,7 @@ in
|
|||
};
|
||||
|
||||
servers = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [ "8.8.8.8" "8.8.4.4" ];
|
||||
description = ''
|
||||
|
|
|
@ -287,7 +287,7 @@ in
|
|||
};
|
||||
|
||||
networking.firewall.trustedInterfaces = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
description =
|
||||
''
|
||||
Traffic coming in from these interfaces will be accepted
|
||||
|
@ -379,7 +379,7 @@ in
|
|||
networking.firewall.connectionTrackingModules = mkOption {
|
||||
default = [ "ftp" ];
|
||||
example = [ "ftp" "irc" "sane" "sip" "tftp" "amanda" "h323" "netbios_sn" "pptp" "snmp" ];
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
description =
|
||||
''
|
||||
List of connection-tracking helpers that are auto-loaded.
|
||||
|
|
|
@ -20,13 +20,13 @@ in
|
|||
services.freenet = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enable the Freenet daemon";
|
||||
};
|
||||
|
||||
nice = mkOption {
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
default = 10;
|
||||
description = "Set the nice level for the Freenet daemon";
|
||||
};
|
||||
|
|
|
@ -20,13 +20,13 @@ in
|
|||
services.iodined = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enable iodine, ip over dns daemon";
|
||||
};
|
||||
|
||||
client = mkOption {
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Start iodine in client mode";
|
||||
};
|
||||
|
|
|
@ -16,12 +16,12 @@ rec {
|
|||
services.kippo = {
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
description = ''Enable the kippo honeypot ssh server.'';
|
||||
};
|
||||
port = mkOption {
|
||||
default = 2222;
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
description = ''TCP port number for kippo to bind to.'';
|
||||
};
|
||||
hostname = mkOption {
|
||||
|
|
|
@ -30,7 +30,7 @@ in
|
|||
};
|
||||
|
||||
services.minidlna.mediaDirs = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [ "/data/media" "V,/home/alice/video" ];
|
||||
description =
|
||||
|
|
|
@ -118,7 +118,7 @@ in {
|
|||
};
|
||||
|
||||
appendNameservers = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
description = ''
|
||||
A list of name servers that should be appended
|
||||
|
@ -127,7 +127,7 @@ in {
|
|||
};
|
||||
|
||||
insertNameservers = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
description = ''
|
||||
A list of name servers that should be inserted before
|
||||
|
|
|
@ -31,7 +31,7 @@ with lib;
|
|||
services.notbit = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Enables the notbit daemon and provides a sendmail binary named `notbit-system-sendmail` for sending mail over the system instance of notbit. Users must be in the notbit group in order to send mail over the system notbit instance. Currently mail recipt is not supported.
|
||||
|
@ -39,13 +39,13 @@ with lib;
|
|||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
default = 8444;
|
||||
description = "The port which the daemon listens for other bitmessage clients";
|
||||
};
|
||||
|
||||
nice = mkOption {
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
default = 10;
|
||||
description = "Set the nice level for the notbit daemon";
|
||||
};
|
||||
|
@ -65,19 +65,19 @@ with lib;
|
|||
};
|
||||
|
||||
specifiedPeersOnly = mkOption {
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "If true, notbit will only connect to peers specified by the peers option.";
|
||||
};
|
||||
|
||||
allowPrivateAddresses = mkOption {
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "If true, notbit will allow connections to to RFC 1918 addresses.";
|
||||
};
|
||||
|
||||
noBootstrap = mkOption {
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "If true, notbit will not bootstrap an initial peerlist from bitmessage.org servers";
|
||||
};
|
||||
|
|
|
@ -57,7 +57,7 @@ in
|
|||
|
||||
http-port = mkOption {
|
||||
default = 3000;
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
description = ''
|
||||
Sets the HTTP port of the embedded web server.
|
||||
'';
|
||||
|
|
|
@ -42,7 +42,7 @@ in
|
|||
};
|
||||
|
||||
allowedClients = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
default = [ "127.0.0.1" "::1" ];
|
||||
example = [ "127.0.0.1" "::1" "134.157.168.0/24" "2001:660:116::/48" ];
|
||||
description = ''
|
||||
|
|
|
@ -234,7 +234,7 @@ in
|
|||
];
|
||||
options = {
|
||||
hostNames = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
description = ''
|
||||
A list of host names and/or IP numbers used for accessing
|
||||
|
|
|
@ -25,7 +25,7 @@ in
|
|||
options = {
|
||||
|
||||
services.unifi.enable = mkOption {
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether or not to enable the unifi controller service.
|
||||
|
|
|
@ -43,7 +43,7 @@ in
|
|||
};
|
||||
|
||||
interfaces = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [ "wlan0" "wlan1" ];
|
||||
description = ''
|
||||
|
|
|
@ -144,7 +144,7 @@ in
|
|||
*/
|
||||
confOptions = {
|
||||
modules = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
default = [ "partyline" "webadmin" "adminlog" "log" ];
|
||||
example = [ "partyline" "webadmin" "adminlog" "log" ];
|
||||
description = ''
|
||||
|
@ -153,7 +153,7 @@ in
|
|||
};
|
||||
|
||||
userModules = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
example = [ "fish" "push" ];
|
||||
description = ''
|
||||
|
|
|
@ -13,7 +13,7 @@ in {
|
|||
enable = mkOption {
|
||||
description = "Whether to enable graphite web frontend.";
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
httpPort = mkOption {
|
||||
|
|
|
@ -12,7 +12,7 @@ in {
|
|||
|
||||
options.services.marathon = {
|
||||
enable = mkOption {
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable the marathon mesos framework.
|
||||
|
|
|
@ -34,7 +34,7 @@ in {
|
|||
enable = mkOption {
|
||||
description = "Whether to enable elasticsearch.";
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
host = mkOption {
|
||||
|
@ -102,7 +102,7 @@ in {
|
|||
extraCmdLineOptions = mkOption {
|
||||
description = "Extra command line options for the elasticsearch launcher.";
|
||||
default = [];
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
example = [ "-Djava.net.preferIPv4Stack=true" ];
|
||||
};
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ in {
|
|||
enable = mkOption {
|
||||
description = "Whether to enable peerflix service.";
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
stateDir = mkOption {
|
||||
|
|
|
@ -27,7 +27,7 @@ in
|
|||
options = {
|
||||
services.transmission = {
|
||||
enable = mkOption {
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether or not to enable the headless Transmission BitTorrent daemon.
|
||||
|
@ -66,7 +66,7 @@ in
|
|||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
default = 9091;
|
||||
description = "TCP port number to run the RPC/web interface.";
|
||||
};
|
||||
|
|
|
@ -15,7 +15,7 @@ in
|
|||
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
If true, enable cgit (fast web interface for git repositories) as a
|
||||
sub-service in lighttpd. cgit will be accessible at
|
||||
|
|
|
@ -122,7 +122,7 @@ in
|
|||
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
Enable the lighttpd web server.
|
||||
'';
|
||||
|
@ -130,7 +130,7 @@ in
|
|||
|
||||
port = mkOption {
|
||||
default = 80;
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
description = ''
|
||||
TCP port number for lighttpd to bind to.
|
||||
'';
|
||||
|
@ -146,7 +146,7 @@ in
|
|||
|
||||
mod_userdir = mkOption {
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
If true, requests in the form /~user/page.html are rewritten to take
|
||||
the file public_html/page.html from the home directory of the user.
|
||||
|
@ -168,7 +168,7 @@ in
|
|||
|
||||
mod_status = mkOption {
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
Show server status overview at /server-status, statistics at
|
||||
/server-statistics and list of loaded modules at /server-config.
|
||||
|
|
|
@ -17,7 +17,7 @@ in
|
|||
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.uniq types.bool;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
If true, enable gitweb in lighttpd. Access it at http://yourserver/gitweb
|
||||
'';
|
||||
|
|
|
@ -165,6 +165,7 @@ let
|
|||
Type=XSession
|
||||
TryExec=${cfg.displayManager.session.script}
|
||||
Exec=${cfg.displayManager.session.script} '${n}'
|
||||
X-GDM-BypassXsession=true
|
||||
Name=${n}
|
||||
Comment=
|
||||
EODESKTOP
|
||||
|
|
|
@ -14,24 +14,24 @@ in {
|
|||
|
||||
services.redshift.latitude = mkOption {
|
||||
description = "Your current latitude";
|
||||
type = types.uniq types.string;
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
services.redshift.longitude = mkOption {
|
||||
description = "Your current longitude";
|
||||
type = types.uniq types.string;
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
services.redshift.temperature = {
|
||||
day = mkOption {
|
||||
description = "Colour temperature to use during day time";
|
||||
default = 5500;
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
};
|
||||
night = mkOption {
|
||||
description = "Colour temperature to use during night time";
|
||||
default = 3700;
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -39,12 +39,12 @@ in {
|
|||
day = mkOption {
|
||||
description = "Screen brightness to apply during the day (between 0.1 and 1.0)";
|
||||
default = "1";
|
||||
type = types.uniq types.string;
|
||||
type = types.str;
|
||||
};
|
||||
night = mkOption {
|
||||
description = "Screen brightness to apply during the night (between 0.1 and 1.0)";
|
||||
default = "1";
|
||||
type = types.uniq types.string;
|
||||
type = types.str;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -13,7 +13,7 @@ in {
|
|||
services.unclutter.arguments = mkOption {
|
||||
description = "Arguments to pass to unclutter command";
|
||||
default = "-idle 1";
|
||||
type = types.uniq types.string;
|
||||
type = types.str;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -502,6 +502,14 @@ my $efiDiffer = ($efiTarget eq \$prevGrubState->efi);
|
|||
my $efiMountPointDiffer = ($efiSysMountPoint eq \$prevGrubState->efiMountPoint);
|
||||
my $requireNewInstall = $devicesDiffer || $versionDiffer || $efiDiffer || $efiMountPointDiffer || (($ENV{'NIXOS_INSTALL_GRUB'} // "") eq "1");
|
||||
|
||||
# install a symlink so that grub can detect the boot drive when set
|
||||
# as the root directory
|
||||
if (! -l "$bootPath/boot") {
|
||||
if (-e "$bootPath/boot") {
|
||||
unlink "$bootPath/boot";
|
||||
}
|
||||
symlink ".", "$bootPath/boot";
|
||||
}
|
||||
|
||||
# install non-EFI GRUB
|
||||
if (($requireNewInstall != 0) && ($efiTarget eq "no" || $efiTarget eq "both")) {
|
||||
|
@ -509,10 +517,10 @@ if (($requireNewInstall != 0) && ($efiTarget eq "no" || $efiTarget eq "both")) {
|
|||
next if $dev eq "nodev";
|
||||
print STDERR "installing the GRUB $grubVersion boot loader on $dev...\n";
|
||||
if ($grubTarget eq "") {
|
||||
system("$grub/sbin/grub-install", "--recheck", "--boot-directory=$bootPath", Cwd::abs_path($dev)) == 0
|
||||
system("$grub/sbin/grub-install", "--recheck", "--root-directory=$bootPath", Cwd::abs_path($dev)) == 0
|
||||
or die "$0: installation of GRUB on $dev failed\n";
|
||||
} else {
|
||||
system("$grub/sbin/grub-install", "--recheck", "--boot-directory=$bootPath", "--target=$grubTarget", Cwd::abs_path($dev)) == 0
|
||||
system("$grub/sbin/grub-install", "--recheck", "--root-directory=$bootPath", "--target=$grubTarget", Cwd::abs_path($dev)) == 0
|
||||
or die "$0: installation of GRUB on $dev failed\n";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -211,7 +211,7 @@ in
|
|||
};
|
||||
|
||||
boot.initrd.luks.cryptoModules = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
default =
|
||||
[ "aes" "aes_generic" "blowfish" "twofish"
|
||||
"serpent" "cbc" "xts" "lrw" "sha1" "sha256" "sha512"
|
||||
|
|
|
@ -358,7 +358,7 @@ in
|
|||
boot.initrd.supportedFilesystems = mkOption {
|
||||
default = [ ];
|
||||
example = [ "btrfs" ];
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
description = "Names of supported filesystem types in the initial ramdisk.";
|
||||
};
|
||||
|
||||
|
|
|
@ -42,13 +42,13 @@ in rec {
|
|||
|
||||
requiredBy = mkOption {
|
||||
default = [];
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
description = "Units that require (i.e. depend on and need to go down with) this unit.";
|
||||
};
|
||||
|
||||
wantedBy = mkOption {
|
||||
default = [];
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
description = "Units that want (i.e. depend on) this unit.";
|
||||
};
|
||||
|
||||
|
|
|
@ -491,7 +491,7 @@ in
|
|||
|
||||
services.journald.rateLimitBurst = mkOption {
|
||||
default = 100;
|
||||
type = types.uniq types.int;
|
||||
type = types.int;
|
||||
description = ''
|
||||
Configures the rate limiting burst limit (number of messages per
|
||||
interval) that is applied to all messages generated on the system.
|
||||
|
|
|
@ -121,7 +121,7 @@ in
|
|||
boot.supportedFilesystems = mkOption {
|
||||
default = [ ];
|
||||
example = [ "btrfs" ];
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
description = "Names of supported filesystem types.";
|
||||
};
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ in
|
|||
# FIXME: still needed?
|
||||
boot.extraTTYs = mkOption {
|
||||
default = [];
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
example = ["tty8" "tty9"];
|
||||
description = ''
|
||||
Tty (virtual console) devices, in addition to the consoles on
|
||||
|
|
|
@ -392,7 +392,7 @@ in
|
|||
|
||||
interfaces = mkOption {
|
||||
example = [ "eth0" "eth1" ];
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
description =
|
||||
"The physical network interfaces connected by the bridge.";
|
||||
};
|
||||
|
|
|
@ -62,7 +62,7 @@ let
|
|||
extraDisks=""
|
||||
${flip concatMapStrings cfg.emptyDiskImages (size: ''
|
||||
${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M"
|
||||
extraDisks="$extraDisks -drive index=$idx,file=$(pwd)/empty$idx.qcow2,if=virtio,werror=report"
|
||||
extraDisks="$extraDisks -drive index=$idx,file=$(pwd)/empty$idx.qcow2,if=${cfg.qemu.diskInterface},werror=report"
|
||||
idx=$((idx + 1))
|
||||
'')}
|
||||
|
||||
|
@ -76,14 +76,14 @@ let
|
|||
-virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
|
||||
-virtfs local,path=''${SHARED_DIR:-$TMPDIR/xchg},security_model=none,mount_tag=shared \
|
||||
${if cfg.useBootLoader then ''
|
||||
-drive index=0,id=drive1,file=$NIX_DISK_IMAGE,if=virtio,cache=writeback,werror=report \
|
||||
-drive index=0,id=drive1,file=$NIX_DISK_IMAGE,if=${cfg.qemu.diskInterface},cache=writeback,werror=report \
|
||||
-drive index=1,id=drive2,file=$TMPDIR/disk.img,media=disk \
|
||||
${if cfg.useEFIBoot then ''
|
||||
-pflash $TMPDIR/bios.bin \
|
||||
'' else ''
|
||||
''}
|
||||
'' else ''
|
||||
-drive index=0,id=drive1,file=$NIX_DISK_IMAGE,if=virtio,cache=writeback,werror=report \
|
||||
-drive index=0,id=drive1,file=$NIX_DISK_IMAGE,if=${cfg.qemu.diskInterface},cache=writeback,werror=report \
|
||||
-kernel ${config.system.build.toplevel}/kernel \
|
||||
-initrd ${config.system.build.toplevel}/initrd \
|
||||
-append "$(cat ${config.system.build.toplevel}/kernel-params) init=${config.system.build.toplevel}/init regInfo=${regInfo} ${kernelConsole} $QEMU_KERNEL_PARAMS" \
|
||||
|
@ -207,7 +207,7 @@ in
|
|||
virtualisation.bootDevice =
|
||||
mkOption {
|
||||
type = types.str;
|
||||
default = "/dev/vda";
|
||||
example = "/dev/vda";
|
||||
description =
|
||||
''
|
||||
The disk to be used for the root filesystem.
|
||||
|
@ -318,6 +318,17 @@ in
|
|||
to keep the default runtime behaviour.
|
||||
'';
|
||||
};
|
||||
|
||||
diskInterface =
|
||||
mkOption {
|
||||
default = "virtio";
|
||||
example = "scsi";
|
||||
type = types.str;
|
||||
description = ''
|
||||
The interface used for the virtual hard disks
|
||||
(<literal>virtio</literal> or <literal>scsi</literal>).
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
virtualisation.useBootLoader =
|
||||
|
@ -393,6 +404,12 @@ in
|
|||
fi
|
||||
'';
|
||||
|
||||
boot.initrd.availableKernelModules =
|
||||
optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx";
|
||||
|
||||
virtualisation.bootDevice =
|
||||
mkDefault (if cfg.qemu.diskInterface == "scsi" then "/dev/sda" else "/dev/vda");
|
||||
|
||||
virtualisation.pathsInNixDB = [ config.system.build.toplevel ];
|
||||
|
||||
virtualisation.qemu.options = [ "-vga std" "-usbdevice tablet" ];
|
||||
|
|
|
@ -175,7 +175,10 @@ let
|
|||
# installer. This ensures the target disk (/dev/vda) is
|
||||
# the same during and after installation.
|
||||
virtualisation.emptyDiskImages = [ 512 ];
|
||||
virtualisation.bootDevice = "/dev/vdb";
|
||||
virtualisation.bootDevice =
|
||||
if grubVersion == 1 then "/dev/sdb" else "/dev/vdb";
|
||||
virtualisation.qemu.diskInterface =
|
||||
if grubVersion == 1 then "scsi" else "virtio";
|
||||
|
||||
hardware.enableAllFirmware = mkForce false;
|
||||
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
{ stdenv, fetchFromGitHub, fftw, libsndfile, qt5 }:
|
||||
|
||||
let version = "1.0.1"; in
|
||||
stdenv.mkDerivation {
|
||||
name = "dfasma-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
sha256 = "16m6jnr49j525xxqiwmwni07rcdg92p0dcznd5bmzz34xsm0cbiz";
|
||||
rev = "v${version}";
|
||||
repo = "dfasma";
|
||||
owner = "gillesdegottex";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
inherit version;
|
||||
description = "Analyse and compare audio files in time and frequency";
|
||||
longDescription = ''
|
||||
DFasma is free open-source software to compare audio files by time and
|
||||
frequency. The comparison is first visual, using wavforms and spectra. It
|
||||
is also possible to listen to time-frequency segments in order to allow
|
||||
perceptual comparison. It is basically dedicated to analysis. Even though
|
||||
there are basic functionalities to align the signals in time and
|
||||
amplitude, this software does not aim to be an audio editor.
|
||||
'';
|
||||
homepage = http://gillesdegottex.github.io/dfasma/;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = with platforms; linux;
|
||||
maintainers = with maintainers; [ nckx ];
|
||||
};
|
||||
|
||||
buildInputs = [ fftw libsndfile qt5.base qt5.multimedia ];
|
||||
|
||||
configurePhase = ''
|
||||
qmake DESTDIR=$out/bin dfasma.pro
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
install -Dm644 distrib/dfasma.desktop $out/share/applications/dfasma.desktop
|
||||
install -Dm644 icons/dfasma.png $out/share/pixmaps/dfasma.png
|
||||
'';
|
||||
}
|
|
@ -1,26 +1,30 @@
|
|||
{ stdenv, fetchurl, alsaLib, cmake, fftw, freeglut, jack2, libXmu, qt4 }:
|
||||
{ stdenv, fetchFromGitHub, alsaLib, cmake, fftw
|
||||
, freeglut, jack2, libXmu, qt4 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.99.5";
|
||||
let version = "1.0.0"; in
|
||||
stdenv.mkDerivation {
|
||||
name = "fmit-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.gna.org/fmit/${name}-Source.tar.bz2";
|
||||
sha256 = "1rc84gi27jmq2smhk0y0p2xyypmsz878vi053iqns21k848g1491";
|
||||
src = fetchFromGitHub {
|
||||
sha256 = "13y9csv34flz7065kg69h99hd7d9zskq12inmkf34l4qjyk7c185";
|
||||
rev = "v${version}";
|
||||
repo = "fmit";
|
||||
owner = "gillesdegottex";
|
||||
};
|
||||
|
||||
# Also update longDescription when adding/removing sound libraries
|
||||
buildInputs = [ alsaLib cmake fftw freeglut jack2 libXmu qt4 ];
|
||||
buildInputs = [ alsaLib fftw freeglut jack2 libXmu qt4 ];
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
inherit version;
|
||||
description = "Free Musical Instrument Tuner";
|
||||
longDescription = ''
|
||||
Software for tuning musical instruments. Uses Qt as GUI library and
|
||||
ALSA or JACK as sound input library.
|
||||
FMIT is a graphical utility for tuning your musical instruments, with
|
||||
error and volume history and advanced features.
|
||||
'';
|
||||
homepage = http://home.gna.org/fmit/index.html;
|
||||
homepage = http://gillesdegottex.github.io/fmit/;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = with platforms; linux;
|
||||
maintainers = with maintainers; [ nckx ];
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{stdenv, fetchurl, alsaLib }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "mpg123-1.19.0";
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mpg123-1.22.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/mpg123/mpg123-1.19.0.tar.bz2;
|
||||
sha256 = "06xhd68mj9yp0r6l771aq0d7xgnl402a3wm2mvhxmd3w3ph29446";
|
||||
url = "mirror://sourceforge/mpg123/${name}.tar.bz2";
|
||||
sha256 = "0i1phi6fdjas37y00h3j8rb0b8ngr9az6hy5ff5bl53ify3j87kd";
|
||||
};
|
||||
|
||||
buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
|
||||
|
@ -16,8 +16,9 @@ stdenv.mkDerivation {
|
|||
};
|
||||
|
||||
meta = {
|
||||
description = "Command-line MP3 player";
|
||||
homepage = http://mpg123.sourceforge.net/;
|
||||
license = "LGPL";
|
||||
description = "Fast console MPEG Audio Player and decoder library";
|
||||
homepage = http://mpg123.org;
|
||||
license = stdenv.lib.licenses.lgpl21;
|
||||
maintainers = [ stdenv.lib.maintainers.ftrvxmtrx ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ stdenv.mkDerivation {
|
|||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/hvesalai/scala-mode2/archive/c154f1623f4696d26e1c88d19170e67bf6825837.zip";
|
||||
sha256 = "0fyxdpwz55n4c87v4ijqlbv6w1rybg5qrgsc40f6bs6sd747scy5";
|
||||
sha256 = "0im2ajb1iagjldh52j8wz4yby68rs3h7shrdf1pqy5ds7s4fa8cc";
|
||||
};
|
||||
|
||||
buildInputs = [ unzip emacs ];
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
name = "electrum-${version}";
|
||||
version = "2.0.4";
|
||||
version = "2.3.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.electrum.org/Electrum-${version}.tar.gz";
|
||||
sha256 = "0q9vrrzy2iypfg2zvs3glzvqyq65dnwn1ijljvfqfwrkpvpp0zxp";
|
||||
sha256 = "0idqm77d5rbwpw14wqg4ysvbjyqjw7zlqfcdxniy74i2qwz163bi";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ stdenv, fetchurl, pkgs, pythonPackages }:
|
||||
|
||||
pythonPackages.buildPythonPackage rec {
|
||||
version = "0.4.0";
|
||||
version = "0.5.0";
|
||||
name = "khal-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/geier/khal/archive/v${version}.tar.gz";
|
||||
sha256 = "0d32miq55cly4q3raxkw3xpq4d5y3hvzaqvy066nv35bdlpafxi1";
|
||||
sha256 = "1rjs5s8ky4n628rs6l5ggaj2abb4kq2avvxmimjjgxz3zh9xlz6s";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [
|
||||
|
@ -22,13 +22,13 @@ pythonPackages.buildPythonPackage rec {
|
|||
requests_toolbelt
|
||||
tzlocal
|
||||
urwid
|
||||
python.modules.sqlite3
|
||||
];
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://lostpackets.de/khal/;
|
||||
description = "CLI calendar application";
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ];
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ matthiasbeyer jgeerds ];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
{ stdenv, fetchurl, pkgconfig, gtk, libxml2, gettext, libical, libnotify
|
||||
, libarchive, gtkspell, webkitgtk2, libgringotts }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "osmo-${version}";
|
||||
version = "0.2.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/osmo-pim/${name}.tar.gz";
|
||||
sha256 = "0y3bpsi18v3dxb3vsy0dr7cgf692g4p62l84hj9l2bpr2hbabgck";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig gtk libxml2 gettext libical libnotify libarchive
|
||||
gtkspell webkitgtk2 libgringotts ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A handy personal organizer";
|
||||
homepage = http://clayo.org/osmo/;
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
};
|
||||
}
|
|
@ -151,10 +151,9 @@ rec {
|
|||
|
||||
# ImageMagick mirrors, see http://www.imagemagick.org/script/download.php.
|
||||
imagemagick = [
|
||||
ftp://ftp.nluug.nl/pub/ImageMagick/
|
||||
http://www.imagemagick.org/download/
|
||||
ftp://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/ # also contains older versions removed from most mirrors
|
||||
ftp://ftp.imagemagick.org/pub/ImageMagick/
|
||||
ftp://ftp.imagemagick.net/pub/ImageMagick/
|
||||
ftp://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/
|
||||
];
|
||||
|
||||
# CPAN mirrors.
|
||||
|
|
|
@ -1,59 +1,31 @@
|
|||
x@{builderDefsPackage
|
||||
, unzip
|
||||
, ...}:
|
||||
builderDefsPackage
|
||||
(a :
|
||||
let
|
||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
||||
[];
|
||||
{ stdenv, fetchzip }:
|
||||
|
||||
buildInputs = map (n: builtins.getAttr n x)
|
||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||
sourceInfo = rec {
|
||||
url="http://www.i18nguy.com/unicode/andagii.zip";
|
||||
name="andagii";
|
||||
version="1.0.2";
|
||||
hash="0cknb8vin15akz4ahpyayrpqyaygp9dgrx6qw7zs7d6iv9v59ds1";
|
||||
};
|
||||
in
|
||||
rec {
|
||||
src = a.fetchurl {
|
||||
url = sourceInfo.url;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "andagii-${version}";
|
||||
version = "1.0.2";
|
||||
|
||||
src = fetchzip {
|
||||
url = http://www.i18nguy.com/unicode/andagii.zip;
|
||||
sha256 = "0a0c43y1fd5ksj50axhng7p00kgga0i15p136g68p35wj7kh5g2k";
|
||||
stripRoot = false;
|
||||
curlOpts = "--user-agent 'Mozilla/5.0'";
|
||||
sha256 = sourceInfo.hash;
|
||||
};
|
||||
|
||||
name = "${sourceInfo.name}-${sourceInfo.version}";
|
||||
inherit buildInputs;
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
|
||||
/* doConfigure should be removed if not needed */
|
||||
phaseNames = ["doUnpack" "doInstall"];
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/fonts/truetype
|
||||
cp -v ANDAGII_.TTF $out/share/fonts/truetype/andagii.ttf
|
||||
'';
|
||||
|
||||
doUnpack = a.fullDepEntry ''
|
||||
unzip "${src}"
|
||||
'' ["addInputs"];
|
||||
|
||||
doInstall = a.fullDepEntry (''
|
||||
mkdir -p "$out"/share/fonts/ttf/
|
||||
cp ANDAGII_.TTF "$out"/share/fonts/ttf/andagii.ttf
|
||||
'') ["defEnsureDir" "minInit"];
|
||||
|
||||
meta = {
|
||||
# There are multiple claims that the font is GPL, so I include the
|
||||
# package; but I cannot find the original source, so use it on your
|
||||
# own risk Debian claims it is GPL - good enough for me.
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.i18nguy.com/unicode/unicode-font.HTML;
|
||||
description = "Unicode Plane 1 Osmanya script font";
|
||||
maintainers = with a.lib.maintainers;
|
||||
[
|
||||
raskin
|
||||
];
|
||||
hydraPlatforms = [];
|
||||
# There are multiple claims that the font is GPL,
|
||||
# so I include the package; but I cannot find the
|
||||
# original source, so use it on your own risk
|
||||
# Debian claims it is GPL - good enough for me.
|
||||
maintainers = with maintainers; [ raskin rycee ];
|
||||
license = "unknown";
|
||||
platforms = platforms.all;
|
||||
};
|
||||
passthru = {
|
||||
updateInfo = {
|
||||
downloadPage = "http://www.i18nguy.com/unicode/unicode-font.html";
|
||||
};
|
||||
};
|
||||
}) x
|
||||
|
||||
}
|
||||
|
|
|
@ -1,50 +1,36 @@
|
|||
x@{builderDefsPackage
|
||||
, unzip
|
||||
, ...}:
|
||||
builderDefsPackage
|
||||
(a :
|
||||
let
|
||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
||||
[];
|
||||
{ stdenv, fetchurl, unzip }:
|
||||
|
||||
buildInputs = map (n: builtins.getAttr n x)
|
||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||
sourceInfo = rec {
|
||||
version = "1.002";
|
||||
name="anonymousPro";
|
||||
url="http://www.ms-studio.com/FontSales/AnonymousPro-${version}.zip";
|
||||
stdenv.mkDerivation rec {
|
||||
name = "anonymousPro-${version}";
|
||||
version = "1.002";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.marksimonson.com/assets/content/fonts/AnonymousPro-${version}.zip";
|
||||
sha256 = "1asj6lykvxh46czbal7ymy2k861zlcdqpz8x3s5bbpqwlm3mhrl6";
|
||||
};
|
||||
in
|
||||
rec {
|
||||
src = a.fetchurl {
|
||||
url = sourceInfo.url;
|
||||
sha256 = sourceInfo.sha256;
|
||||
};
|
||||
|
||||
name = "${sourceInfo.name}-${sourceInfo.version}";
|
||||
inherit buildInputs;
|
||||
nativeBuildInputs = [ unzip ];
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
|
||||
phaseNames = ["doUnpack" "installFonts"];
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/fonts/truetype
|
||||
mkdir -p $out/share/doc/${name}
|
||||
find . -name "*.ttf" -exec cp -v {} $out/share/fonts/truetype \;
|
||||
find . -name "*.txt" -exec cp -v {} $out/share/doc/${name} \;
|
||||
'';
|
||||
|
||||
doUnpack = a.fullDepEntry (''
|
||||
unzip ${src}
|
||||
cd AnonymousPro*/
|
||||
'') ["addInputs"];
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.marksimonson.com/fonts/view/anonymous-pro;
|
||||
description = "TrueType font set intended for source code";
|
||||
maintainers = with a.lib.maintainers;
|
||||
[
|
||||
raskin
|
||||
];
|
||||
platforms = with a.lib.platforms;
|
||||
all;
|
||||
license = with a.lib.licenses; ofl;
|
||||
hydraPlatforms = [];
|
||||
homepage = "http://www.marksimonson.com/fonts/view/anonymous-pro";
|
||||
downloadPage = "http://www.ms-studio.com/FontSales/anonymouspro.html";
|
||||
inherit (sourceInfo) version;
|
||||
longDescription = ''
|
||||
Anonymous Pro (2009) is a family of four fixed-width fonts
|
||||
designed with coding in mind. Anonymous Pro features an
|
||||
international, Unicode-based character set, with support for
|
||||
most Western and Central European Latin-based languages, plus
|
||||
Greek and Cyrillic. It is designed by Mark Simonson.
|
||||
'';
|
||||
maintainers = with maintainers; [ raskin rycee ];
|
||||
license = licenses.ofl;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}) x
|
||||
|
||||
}
|
||||
|
|
|
@ -1,40 +1,28 @@
|
|||
x@{builderDefsPackage
|
||||
, ...}:
|
||||
builderDefsPackage
|
||||
(a :
|
||||
let
|
||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
||||
[];
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
buildInputs = map (n: builtins.getAttr n x)
|
||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||
sourceInfo = rec {
|
||||
version = "0.7.0";
|
||||
baseName="cm-unicode";
|
||||
name="${baseName}-${version}";
|
||||
url="mirror://sourceforge/${baseName}/${baseName}/${version}/${name}-otf.tar.xz";
|
||||
};
|
||||
in
|
||||
rec {
|
||||
src = a.fetchurl {
|
||||
url = sourceInfo.url;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cm-unicode-${version}";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/cm-unicode/cm-unicode/${version}/${name}-otf.tar.xz";
|
||||
sha256 = "0a0w9qm9g8qz2xh3lr61bj1ymqslqsvk4w2ybc3v2qa89nz7x2jl";
|
||||
};
|
||||
|
||||
inherit (sourceInfo) name version;
|
||||
inherit buildInputs;
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
|
||||
phaseNames = ["doUnpack" "installFonts"];
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/fonts/opentype
|
||||
mkdir -p $out/share/doc/${name}
|
||||
cp -v *.otf $out/share/fonts/opentype/
|
||||
cp -v README FontLog.txt $out/share/doc/${name}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
maintainers = with a.lib.maintainers;
|
||||
[
|
||||
raskin
|
||||
];
|
||||
platforms = with a.lib.platforms;
|
||||
all;
|
||||
downloadPage = "http://sourceforge.net/projects/cm-unicode/files/cm-unicode/";
|
||||
inherit version;
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://canopus.iacp.dvo.ru/~panov/cm-unicode/;
|
||||
description = "Computer Modern Unicode fonts";
|
||||
maintainers = with maintainers; [ raskin rycee ];
|
||||
license = licenses.ofl;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}) x
|
||||
|
||||
}
|
||||
|
|
|
@ -1,50 +1,28 @@
|
|||
x@{builderDefsPackage
|
||||
, unzip
|
||||
, ...}:
|
||||
builderDefsPackage
|
||||
(a :
|
||||
let
|
||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
||||
[];
|
||||
{ stdenv, fetchzip }:
|
||||
|
||||
buildInputs = map (n: builtins.getAttr n x)
|
||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||
sourceInfo = rec {
|
||||
version="0.016";
|
||||
name="EBGaramond";
|
||||
url="https://bitbucket.org/georgd/eb-garamond/downloads/${name}-${version}.zip";
|
||||
hash="0y630khn5zh70al3mm84fs767ac94ffyz1w70zzhrhambx07pdx0";
|
||||
};
|
||||
in
|
||||
rec {
|
||||
src = a.fetchurl {
|
||||
url = sourceInfo.url;
|
||||
sha256 = sourceInfo.hash;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "eb-garamond-${version}";
|
||||
version = "0.016";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://bitbucket.org/georgd/eb-garamond/downloads/EBGaramond-${version}.zip";
|
||||
sha256 = "0j40bg1di39q7zis64il67xchldyznrl8wij9il10c4wr8nl4r9z";
|
||||
};
|
||||
|
||||
name = "eb-garamond-${sourceInfo.version}";
|
||||
inherit buildInputs;
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
|
||||
phaseNames = ["doUnpack" "installFonts"];
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/fonts/opentype
|
||||
mkdir -p $out/share/doc/${name}
|
||||
cp -v "otf/"*.otf $out/share/fonts/opentype/
|
||||
cp -v Changes README.markdown README.xelualatex $out/share/doc/${name}
|
||||
'';
|
||||
|
||||
# This will clean up if/when 8263996 lands.
|
||||
doUnpack = a.fullDepEntry (''
|
||||
unzip ${src}
|
||||
cd ${sourceInfo.name}*
|
||||
mv {ttf,otf}/* .
|
||||
'') ["addInputs"];
|
||||
|
||||
meta = with a.lib; {
|
||||
description = "Digitization of the Garamond shown on the Egenolff-Berner specimen";
|
||||
maintainers = with maintainers; [ relrod ];
|
||||
platforms = platforms.all;
|
||||
license = licenses.ofl;
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.georgduffner.at/ebgaramond/;
|
||||
description = "Digitization of the Garamond shown on the Egenolff-Berner specimen";
|
||||
maintainers = with maintainers; [ relrod rycee ];
|
||||
license = licenses.ofl;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
passthru = {
|
||||
updateInfo = {
|
||||
downloadPage = "https://github.com/georgd/EB-Garamond/releases";
|
||||
};
|
||||
};
|
||||
}) x
|
||||
|
||||
}
|
||||
|
|
|
@ -1,46 +1,29 @@
|
|||
x@{builderDefsPackage
|
||||
, unzip
|
||||
, ...}:
|
||||
builderDefsPackage
|
||||
(a :
|
||||
let
|
||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
||||
[];
|
||||
{ stdenv, fetchzip }:
|
||||
|
||||
buildInputs = map (n: builtins.getAttr n x)
|
||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||
sourceInfo = rec {
|
||||
version="1.504";
|
||||
baseName="GentiumPlus";
|
||||
name="${baseName}-${version}";
|
||||
url="http://scripts.sil.org/cms/scripts/render_download.php?&format=file&media_id=${name}.zip&filename=${name}";
|
||||
hash="04kslaqbscpfrc6igkifcv1nkrclrm35hqpapjhw9102wpq12fpr";
|
||||
};
|
||||
in
|
||||
rec {
|
||||
src = a.fetchurl {
|
||||
url = sourceInfo.url;
|
||||
sha256 = sourceInfo.hash;
|
||||
name = "${sourceInfo.name}.zip";
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gentium-${version}";
|
||||
version = "1.504";
|
||||
|
||||
src = fetchzip {
|
||||
name = "${name}.zip";
|
||||
url = "http://scripts.sil.org/cms/scripts/render_download.php?format=file&media_id=GentiumPlus-${version}.zip&filename=${name}.zip";
|
||||
sha256 = "1xdx80dfal0b8rkrp1janybx2hki7algnvkx4hyghgikpjcjkdh7";
|
||||
};
|
||||
|
||||
inherit (sourceInfo) name version;
|
||||
inherit buildInputs;
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
|
||||
phaseNames = ["addInputs" "doUnpack" "installFonts"];
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/fonts/truetype
|
||||
mkdir -p $out/share/doc/${name}
|
||||
cp -v *.ttf $out/share/fonts/truetype/
|
||||
cp -v FONTLOG.txt GENTIUM-FAQ.txt README.txt $out/share/doc/${name}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
maintainers = with a.lib.maintainers;
|
||||
[
|
||||
raskin
|
||||
];
|
||||
platforms = with a.lib.platforms;
|
||||
all;
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=Gentium";
|
||||
description = "A high-quality typeface family for Latin, Cyrillic, and Greek";
|
||||
maintainers = with maintainers; [ raskin rycee ];
|
||||
license = licenses.ofl;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
passthru = {
|
||||
updateInfo = {
|
||||
downloadPage = "http://scripts.sil.org/cms/scripts/page.php?item_id=Gentium_download";
|
||||
};
|
||||
};
|
||||
}) x
|
||||
|
||||
}
|
||||
|
|
|
@ -1,51 +1,26 @@
|
|||
x@{builderDefsPackage
|
||||
, fontforge
|
||||
, ...}:
|
||||
builderDefsPackage
|
||||
(a :
|
||||
let
|
||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
||||
[];
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
buildInputs = map (n: builtins.getAttr n x)
|
||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||
sourceInfo = rec {
|
||||
name="inconsolata";
|
||||
url="http://www.levien.com/type/myfonts/Inconsolata.sfd";
|
||||
hash="1cd29c8396adb18bfeddb1abf5bdb98b677649bb9b09f126d1335b123a4cfddb";
|
||||
};
|
||||
in
|
||||
rec {
|
||||
src = a.fetchurl {
|
||||
url = sourceInfo.url;
|
||||
sha256 = sourceInfo.hash;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "inconsolata-${version}";
|
||||
version = "1.010";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.levien.com/type/myfonts/Inconsolata.otf";
|
||||
sha256 = "06js6znbcf7swn8y3b8ki416bz96ay7d3yvddqnvi88lqhbfcq8m";
|
||||
};
|
||||
|
||||
inherit (sourceInfo) name;
|
||||
inherit buildInputs;
|
||||
phases = [ "installPhase" ];
|
||||
|
||||
/* doConfigure should be removed if not needed */
|
||||
phaseNames = ["copySrc" "generateFontsFromSFD" "installFonts"];
|
||||
|
||||
copySrc = a.fullDepEntry (''
|
||||
cp ${src} inconsolata.sfd
|
||||
'') ["minInit"];
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/fonts/opentype
|
||||
cp -v $src $out/share/fonts/opentype/inconsolata.otf
|
||||
'';
|
||||
|
||||
generateFontsFromSFD = a.generateFontsFromSFD // {deps=["addInputs"];};
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.levien.com/type/myfonts/inconsolata.html;
|
||||
description = "A monospace font for both screen and print";
|
||||
maintainers = with a.lib.maintainers;
|
||||
[
|
||||
raskin
|
||||
];
|
||||
platforms = with a.lib.platforms;
|
||||
all;
|
||||
maintainers = with maintainers; [ raskin rycee ];
|
||||
license = licenses.ofl;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
passthru = {
|
||||
updateInfo = {
|
||||
downloadPage = "http://www.levien.com/type/myfonts/inconsolata.html";
|
||||
};
|
||||
};
|
||||
}) x
|
||||
|
||||
}
|
||||
|
|
|
@ -1,50 +1,29 @@
|
|||
x@{builderDefsPackage
|
||||
, unzip
|
||||
, ...}:
|
||||
builderDefsPackage
|
||||
(a :
|
||||
let
|
||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
||||
[];
|
||||
{ stdenv, fetchzip }:
|
||||
|
||||
buildInputs = map (n: builtins.getAttr n x)
|
||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||
sourceInfo = rec {
|
||||
version="2.2";
|
||||
baseName="oldstandard";
|
||||
name="${baseName}-${version}";
|
||||
url="http://www.thessalonica.org.ru/downloads/${name}.otf.zip";
|
||||
hash="0xhbksrh9mv1cs6dl2mc8l6sypialy9wirkjr54nf7s9bcynv1h6";
|
||||
};
|
||||
in
|
||||
rec {
|
||||
src = a.fetchurl {
|
||||
url = sourceInfo.url;
|
||||
sha256 = sourceInfo.hash;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "oldstandard-${version}";
|
||||
version = "2.2";
|
||||
|
||||
src = fetchzip {
|
||||
stripRoot = false;
|
||||
url = "https://github.com/akryukov/oldstand/releases/download/v${version}/${name}.otf.zip";
|
||||
sha256 = "1hl78jw5szdjq9dhbcv2ln75wpp2lzcxrnfc36z35v5wk4l7jc3h";
|
||||
};
|
||||
|
||||
inherit (sourceInfo) name version;
|
||||
inherit buildInputs;
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
|
||||
phaseNames = ["doUnpack" "installFonts"];
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/fonts/opentype
|
||||
mkdir -p $out/share/doc/${name}
|
||||
cp -v *.otf $out/share/fonts/opentype/
|
||||
cp -v FONTLOG.txt $out/share/doc/${name}
|
||||
'';
|
||||
|
||||
doUnpack = a.fullDepEntry ''
|
||||
unzip ${src}
|
||||
'' ["addInputs"];
|
||||
|
||||
meta = {
|
||||
description = "An old-style font";
|
||||
maintainers = with a.lib.maintainers;
|
||||
[
|
||||
raskin
|
||||
];
|
||||
platforms = with a.lib.platforms;
|
||||
all;
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/akryukov/oldstand;
|
||||
description = "An attempt to revive a specific type of Modern style of serif typefaces";
|
||||
maintainers = with maintainers; [ raskin rycee ];
|
||||
license = licenses.ofl;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
passthru = {
|
||||
updateInfo = {
|
||||
downloadPage = "http://www.thessalonica.org.ru/ru/fonts-download.html";
|
||||
};
|
||||
};
|
||||
}) x
|
||||
|
||||
}
|
||||
|
|
|
@ -1,50 +1,29 @@
|
|||
x@{builderDefsPackage
|
||||
, unzip
|
||||
, ...}:
|
||||
builderDefsPackage
|
||||
(a :
|
||||
let
|
||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
||||
[];
|
||||
{ stdenv, fetchzip }:
|
||||
|
||||
buildInputs = map (n: builtins.getAttr n x)
|
||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||
sourceInfo = rec {
|
||||
version="2.0";
|
||||
baseName="theano";
|
||||
name="${baseName}-${version}";
|
||||
url="http://www.thessalonica.org.ru/downloads/${name}.otf.zip";
|
||||
hash="1xiykqbbiawvfk33639awmgdn25b8s2k7vpwncl17bzlk887b4z6";
|
||||
};
|
||||
in
|
||||
rec {
|
||||
src = a.fetchurl {
|
||||
url = sourceInfo.url;
|
||||
sha256 = sourceInfo.hash;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "theano-${version}";
|
||||
version = "2.0";
|
||||
|
||||
src = fetchzip {
|
||||
stripRoot = false;
|
||||
url = "https://github.com/akryukov/theano/releases/download/v${version}/theano-${version}.otf.zip";
|
||||
sha256 = "1z3c63rcp4vfjyfv8xwc3br10ydwjyac3ipbl09y01s7qhfz02gp";
|
||||
};
|
||||
|
||||
inherit (sourceInfo) name version;
|
||||
inherit buildInputs;
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
|
||||
phaseNames = ["doUnpack" "installFonts"];
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/fonts/opentype
|
||||
mkdir -p $out/share/doc/${name}
|
||||
find . -name "*.otf" -exec cp -v {} $out/share/fonts/opentype \;
|
||||
find . -name "*.txt" -exec cp -v {} $out/share/doc/${name} \;
|
||||
'';
|
||||
|
||||
doUnpack = a.fullDepEntry ''
|
||||
unzip ${src}
|
||||
'' ["addInputs"];
|
||||
|
||||
meta = {
|
||||
description = "An old-style font";
|
||||
maintainers = with a.lib.maintainers;
|
||||
[
|
||||
raskin
|
||||
];
|
||||
platforms = with a.lib.platforms;
|
||||
all;
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/akryukov/theano;
|
||||
description = "An old-style font designed from historic samples";
|
||||
maintainers = with maintainers; [ raskin rycee ];
|
||||
license = licenses.ofl;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
passthru = {
|
||||
updateInfo = {
|
||||
downloadPage = "http://www.thessalonica.org.ru/ru/fonts-download.html";
|
||||
};
|
||||
};
|
||||
}) x
|
||||
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ let
|
|||
|
||||
# Annoyingly, these files are updated without a change in URL. This means that
|
||||
# builds will start failing every month or so, until the hashes are updated.
|
||||
version = "2015-06-03";
|
||||
version = "2015-06-15";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "geolite-legacy-${version}";
|
||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation {
|
|||
srcGeoLiteCityv6 = fetchDB "GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz"
|
||||
"0xjzg76vdsayxyy1yyw64w781vad4c9nbhw61slh2qmazdr360g9";
|
||||
srcGeoIPASNum = fetchDB "asnum/GeoIPASNum.dat.gz"
|
||||
"0zccfd1wsny3n1f3wgkb071pp6z01nmk0p6nngha0gwnywchvbx4";
|
||||
"18kxswr0b5klimfpj1zhxipvyvrljvcywic4jc1ggcr44lf4hj9w";
|
||||
srcGeoIPASNumv6 = fetchDB "asnum/GeoIPASNumv6.dat.gz"
|
||||
"0asnmmirridiy57zm0kccb7g8h7ndliswfv3yfk7zm7dk98njnxs";
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ stdenv, fetchurl }:
|
||||
|
||||
let version = "2015d"; in
|
||||
let version = "2015e"; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "tzdata-${version}";
|
||||
|
@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
|
|||
srcs =
|
||||
[ (fetchurl {
|
||||
url = "http://www.iana.org/time-zones/repository/releases/tzdata${version}.tar.gz";
|
||||
sha256 = "0cfmjvr753b3wjnr1njv268xcs31yl9pifkxx58y42bz4w4517wb";
|
||||
sha256 = "0vxs6j1i429vxz4a1lbwjz81k236lxdggqvrlix2ga5xib9vbjgz";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "http://www.iana.org/time-zones/repository/releases/tzcode${version}.tar.gz";
|
||||
sha256 = "0a3i65b6lracfx18s8j69k0x30x8aq9gx7qm040sybn4qm7ga6i2";
|
||||
sha256 = "185db6789kygcpcl48y1dh6m4fkgqcwqjwx7f3s5dys7b2sig8mm";
|
||||
})
|
||||
];
|
||||
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
{ stdenv, fetchurl, pkgconfig, gtk3, gnome3, vte, libxml2, gtk-vnc, intltool
|
||||
, libsecret, itstool, makeWrapper, librsvg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "vinagre-${version}";
|
||||
|
||||
majVersion = gnome3.version;
|
||||
version = "${majVersion}.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/vinagre/${majVersion}/${name}.tar.xz";
|
||||
sha256 = "0gs8sqd4r6jlgxn1b7ggyfcisig50z79p0rmigpzwpjjx1bh0z6p";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig gtk3 vte libxml2 gtk-vnc intltool libsecret
|
||||
itstool makeWrapper gnome3.defaultIconTheme librsvg ];
|
||||
|
||||
preFixup = ''
|
||||
wrapProgram "$out/bin/vinagre" \
|
||||
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://wiki.gnome.org/Apps/Vinagre;
|
||||
description = "Remote desktop viewer for GNOME";
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.lethalman ];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
{ stdenv, fetchurl, gdk_pixbuf, pkgconfig, gtk3, cyrus_sasl
|
||||
, gnutls, gobjectIntrospection, vala, intltool, libgcrypt }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
versionMajor = "0.5";
|
||||
versionMinor = "4";
|
||||
moduleName = "gtk-vnc";
|
||||
|
||||
name = "${moduleName}-${versionMajor}.${versionMinor}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
|
||||
sha256 = "1rwwdh7lb16xdmy76ca6mpqfc3zfl3a4bkcr0qb6hs6ffrxak2j8";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig gtk3 gdk_pixbuf gnutls cyrus_sasl
|
||||
gobjectIntrospection vala intltool libgcrypt ];
|
||||
|
||||
configureFlags = [ "--with-gtk=3.0" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://wiki.gnome.org/Projects/gtk-vnc;
|
||||
description = "A VNC viewer widget for GTK+";
|
||||
license = licenses.lgpl2;
|
||||
maintainers = with maintainers; [ lethalman ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -1,6 +1,18 @@
|
|||
{ callPackage, pkgs, self }:
|
||||
{ pkgs }:
|
||||
|
||||
let
|
||||
|
||||
pkgsFun = overrides:
|
||||
let
|
||||
self = self_ // overrides;
|
||||
self_ = with self; {
|
||||
|
||||
overridePackages = f:
|
||||
let newself = pkgsFun (f newself self);
|
||||
in newself;
|
||||
|
||||
callPackage = pkgs.newScope self;
|
||||
|
||||
rec {
|
||||
corePackages = with gnome3; [
|
||||
pkgs.desktop_file_utils pkgs.ibus
|
||||
pkgs.shared_mime_info # for update-mime-database
|
||||
|
@ -16,7 +28,7 @@ rec {
|
|||
gnome-shell-extensions gnome-system-log gnome-system-monitor
|
||||
gnome_terminal gnome-user-docs bijiben evolution file-roller gedit
|
||||
gnome-clocks gnome-music gnome-tweak-tool gnome-photos
|
||||
nautilus-sendto dconf-editor
|
||||
nautilus-sendto dconf-editor vinagre
|
||||
];
|
||||
|
||||
inherit (pkgs) libsoup glib gtk2 webkitgtk24x gtk3 gtkmm3 libcanberra;
|
||||
|
@ -139,6 +151,8 @@ rec {
|
|||
|
||||
gtksourceview = callPackage ./core/gtksourceview { };
|
||||
|
||||
gtk-vnc = callPackage ./core/gtk-vnc { };
|
||||
|
||||
gucharmap = callPackage ./core/gucharmap { };
|
||||
|
||||
gvfs = pkgs.gvfs.override { gnome = gnome3; gnomeSupport = true; };
|
||||
|
@ -257,7 +271,7 @@ rec {
|
|||
|
||||
seahorse = callPackage ./apps/seahorse { };
|
||||
|
||||
pomodoro = callPackage ./apps/pomodoro { };
|
||||
vinagre = callPackage ./apps/vinagre { };
|
||||
|
||||
#### Dev http://ftp.gnome.org/pub/GNOME/devtools/
|
||||
|
||||
|
@ -267,6 +281,8 @@ rec {
|
|||
|
||||
#### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/
|
||||
|
||||
california = callPackage ./misc/california { };
|
||||
|
||||
geary = callPackage ./misc/geary {
|
||||
webkitgtk = webkitgtk24x;
|
||||
};
|
||||
|
@ -293,4 +309,9 @@ rec {
|
|||
|
||||
gtkhtml = callPackage ./misc/gtkhtml { };
|
||||
|
||||
}
|
||||
pomodoro = callPackage ./misc/pomodoro { };
|
||||
|
||||
};
|
||||
in self; # pkgsFun
|
||||
|
||||
in pkgsFun {}
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
diff --git a/configure.ac b/configure.ac
|
||||
index 8a94642..1ca6426 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -27,7 +27,7 @@ AC_SUBST(LDFLAGS)
|
||||
GLIB_REQUIRED=2.38.0
|
||||
GTK_REQUIRED=3.12.2
|
||||
GEE_REQUIRED=0.10.5
|
||||
-ECAL_REQUIRED=3.8.5
|
||||
+ECAL_REQUIRED=3.13.90
|
||||
LIBSOUP_REQUIRED=2.44
|
||||
GDATA_REQUIRED=0.14.0
|
||||
GOA_REQUIRED=3.8.3
|
||||
diff --git a/src/backing/eds/backing-eds-calendar-source.vala b/src/backing/eds/backing-eds-calendar-source.vala
|
||||
index ee6a572..5009b5d 100644
|
||||
--- a/src/backing/eds/backing-eds-calendar-source.vala
|
||||
+++ b/src/backing/eds/backing-eds-calendar-source.vala
|
||||
@@ -256,7 +256,7 @@ internal class EdsCalendarSource : CalendarSource {
|
||||
|
||||
// Invoked by EdsStore prior to making it available outside of unit
|
||||
internal async void open_async(Cancellable? cancellable) throws Error {
|
||||
- client = (E.CalClient) yield E.CalClient.connect(eds_source, E.CalClientSourceType.EVENTS,
|
||||
+ client = (E.CalClient) yield E.CalClient.connect(eds_source, E.CalClientSourceType.EVENTS, 1,
|
||||
cancellable);
|
||||
|
||||
client.bind_property("readonly", this, PROP_READONLY, BindingFlags.SYNC_CREATE);
|
||||
diff --git a/vapi/libecal-1.2.vapi b/vapi/libecal-1.2.vapi
|
||||
index 6ead3ec..46fd711 100644
|
||||
--- a/vapi/libecal-1.2.vapi
|
||||
+++ b/vapi/libecal-1.2.vapi
|
||||
@@ -23,7 +23,7 @@ namespace E {
|
||||
public bool check_save_schedules ();
|
||||
public static bool check_timezones (iCal.icalcomponent comp, GLib.List comps, GLib.Callback tzlookup, void* ecalclient, GLib.Cancellable cancellable) throws GLib.Error;
|
||||
[CCode (finish_name = "e_cal_client_connect_finish")]
|
||||
- public static async unowned E.Client connect (E.Source source, E.CalClientSourceType source_type, GLib.Cancellable cancellable) throws GLib.Error;
|
||||
+ public static async unowned E.Client connect (E.Source source, E.CalClientSourceType source_type, uint32 wait_for_connected_seconds, GLib.Cancellable cancellable) throws GLib.Error;
|
||||
public static unowned E.Client connect_sync (E.Source source, E.CalClientSourceType source_type, GLib.Cancellable cancellable) throws GLib.Error;
|
||||
[CCode (finish_name = "e_cal_client_create_object_finish")]
|
||||
public async void create_object (iCal.icalcomponent icalcomp, GLib.Cancellable? cancellable, out string out_uid) throws GLib.Error;
|
|
@ -0,0 +1,39 @@
|
|||
{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala, makeWrapper
|
||||
, gnome3, glib, libsoup, libgdata, sqlite, itstool, xdg_utils }:
|
||||
|
||||
let
|
||||
majorVersion = "0.4";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "california-${majorVersion}.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/california/${majorVersion}/${name}.tar.xz";
|
||||
sha256 = "1dky2kllv469k8966ilnf4xrr7z35pq8mdvs7kwziy59cdikapxj";
|
||||
};
|
||||
|
||||
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
|
||||
|
||||
buildInputs = [ makeWrapper intltool pkgconfig vala glib gtk3 gnome3.libgee
|
||||
libsoup libgdata gnome3.gnome_online_accounts gnome3.evolution_data_server
|
||||
sqlite itstool xdg_utils gnome3.gsettings_desktop_schemas ];
|
||||
|
||||
preFixup = ''
|
||||
wrapProgram "$out/bin/california" \
|
||||
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
||||
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.defaultIconTheme}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH:${gnome3.gsettings_desktop_schemas}/share"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# Apply fedoras patch to build with evolution-data-server >3.13
|
||||
patches = [ ./0002-Build-with-evolution-data-server-3.13.90.patch ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://wiki.gnome.org/Apps/California;
|
||||
description = "Calendar application for GNOME 3";
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
license = licenses.lgpl21;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -41,22 +41,22 @@ let
|
|||
version = "0.1.0";
|
||||
ghcjsBoot = fetchgit {
|
||||
url = git://github.com/ghcjs/ghcjs-boot.git;
|
||||
rev = "5c3ca2db12bd3e92d3eeaead8bcb6b347174a30f"; # 7.10 branch
|
||||
sha256 = "0rpfb73bd0maccg3bjf51l23byy0h2i47wph99wblmkdp8ywxkpf";
|
||||
rev = "d3581514d0a5073f8220a2f5baafe6866faa35a0"; # 7.10 branch
|
||||
sha256 = "1p13ifidpi7y1mjq5qv9229isfnsiklizci7i55sf83mp6wqdyvr";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
shims = fetchgit {
|
||||
url = git://github.com/ghcjs/shims.git;
|
||||
rev = "6ada4bf1a084d1b80b993303d35ed863d219b031"; # master branch
|
||||
sha256 = "0dhfnjj3rxdbb2m1pbnjc2yp4xcgsfdrsinljgdmg0hpqkafp4vc";
|
||||
rev = "9b196ff5ff13a24997011009b37c980c5534e24f"; # master branch
|
||||
sha256 = "1zsfxka692fr3zb710il7g1sj64xwaxmasimciylb4wx84h7c30w";
|
||||
};
|
||||
in mkDerivation (rec {
|
||||
pname = "ghcjs";
|
||||
inherit version;
|
||||
src = fetchgit {
|
||||
url = git://github.com/ghcjs/ghcjs.git;
|
||||
rev = "15b7a34ddc11075a335e097f6109ad57ca03edab"; # master branch
|
||||
sha256 = "0h6jdwd7lh3rkfsqpq3s6iavqkz1a88grzcxrcqj4rjilzdw288q";
|
||||
rev = "c1b6239b0289371dc6b8d17dfd845c14bd4dc490"; # master branch
|
||||
sha256 = "0ncbk7m1l7cpdgmabm14d7f97fw3vy0hmpj4vs4kkwhhfjf6kp8s";
|
||||
};
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
|
@ -103,7 +103,7 @@ in mkDerivation (rec {
|
|||
|
||||
# Make the patches be relative their corresponding package's directory.
|
||||
# See: https://github.com/ghcjs/ghcjs-boot/pull/12
|
||||
for patch in $topDir/ghcjs-boot/patches/*.patch; do
|
||||
for patch in "$topDir/ghcjs-boot/patches/"*.patch; do
|
||||
echo "fixing patch: $patch"
|
||||
sed -i -e 's@ \(a\|b\)/boot/[^/]\+@ \1@g' $patch
|
||||
done
|
||||
|
|
|
@ -2,13 +2,17 @@
|
|||
|
||||
let wrappedGhc = ghcWithPackages (hpkgs: with hpkgs; [shuffle hashable mtl network uhc-util uulib] );
|
||||
in stdenv.mkDerivation rec {
|
||||
version = "1.1.9.1";
|
||||
# Important:
|
||||
# The commits "Fixate/tag v..." are the released versions.
|
||||
# Ignore the "bumped version to ...." commits, they do not
|
||||
# correspond to releases.
|
||||
version = "1.1.9.1.20150611";
|
||||
name = "uhc-${version}";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/UU-ComputerScience/uhc.git";
|
||||
rev = "c4955d01089485cdcfec785fe2bbcdf2253bee4b";
|
||||
sha256 = "1n2bfbzni2hwv90z3mgn0x3l3jwc7sy8ryk81p5mlvlis1wzxnq3";
|
||||
rev = "b80098e07d12900f098ea964b1d2b3f38e5c9900";
|
||||
sha256 = "14qg1fd9pgbczcmn5ggkd9674qadx1izmz8363ps7c207dg94f9x";
|
||||
};
|
||||
|
||||
postUnpack = "sourceRoot=\${sourceRoot}/EHC";
|
||||
|
|
|
@ -334,6 +334,7 @@ self: super: {
|
|||
wreq = dontCheck super.wreq; # http://hydra.cryp.to/build/501895/nixlog/1/raw
|
||||
wreq-sb = dontCheck super.wreq-sb; # http://hydra.cryp.to/build/783948/log/raw
|
||||
wuss = dontCheck super.wuss; # http://hydra.cryp.to/build/875964/nixlog/2/raw
|
||||
serversession-backend-redis = dontCheck super.serversession-backend-redis;
|
||||
|
||||
# https://github.com/NICTA/digit/issues/3
|
||||
digit = dontCheck super.digit;
|
||||
|
@ -873,4 +874,11 @@ self: super: {
|
|||
# Doesn't work with recent versions of mtl.
|
||||
cron-compat = markBroken super.cron-compat;
|
||||
|
||||
# https://github.com/yesodweb/serversession/issues/1
|
||||
serversession = dontCheck super.serversession;
|
||||
|
||||
# https://github.com/singpolyma/wai-session/issues/8
|
||||
wai-session = markBroken super.wai-session;
|
||||
serversession-frontend-wai = dontDistribute super.serversession-frontend-wai;
|
||||
|
||||
}
|
||||
|
|
|
@ -56,6 +56,7 @@ let
|
|||
|
||||
ghcWithPackages = pkgs: callPackage ./with-packages-wrapper.nix {
|
||||
inherit (self) llvmPackages;
|
||||
haskellPackages = self;
|
||||
packages = pkgs self;
|
||||
};
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,6 @@
|
|||
#! @shell@
|
||||
|
||||
COMMAND=$1
|
||||
shift
|
||||
HOOGLE_DOC_PATH=@out@/share/hoogle/doc exec @hoogle@/bin/hoogle \
|
||||
"$COMMAND" -d @out@/share/hoogle "$@"
|
|
@ -0,0 +1,107 @@
|
|||
# Install not only the Hoogle library and executable, but also a local Hoogle
|
||||
# database which provides "Source" links to all specified 'packages' -- or the
|
||||
# current Haskell Platform if no custom package set is provided.
|
||||
#
|
||||
# It is intended to be used in config.nix similarly to:
|
||||
#
|
||||
# { packageOverrides = pkgs: rec {
|
||||
#
|
||||
# haskellPackages =
|
||||
# let callPackage = pkgs.lib.callPackageWith haskellPackages;
|
||||
# in pkgs.recurseIntoAttrs (pkgs.haskellPackages.override {
|
||||
# extension = self: super: {
|
||||
# hoogleLocal = pkgs.haskellPackages.hoogleLocal.override {
|
||||
# packages = with pkgs.haskellPackages; [
|
||||
# mmorph
|
||||
# monadControl
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
# });
|
||||
# }}
|
||||
#
|
||||
# This will build mmorph and monadControl, and have the hoogle installation
|
||||
# refer to their documentation via symlink so they are not garbage collected.
|
||||
|
||||
{ stdenv, hoogle, rehoo
|
||||
, ghc, packages ? [ ghc.ghc ]
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (stdenv.lib) optional;
|
||||
wrapper = ./hoogle-local-wrapper.sh;
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "hoogle-local-0.1";
|
||||
buildInputs = [hoogle rehoo];
|
||||
|
||||
phases = [ "installPhase" ];
|
||||
|
||||
docPackages = packages;
|
||||
installPhase = ''
|
||||
if [ -z "$docPackages" ]; then
|
||||
echo "ERROR: The packages attribute has not been set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p $out/share/hoogle/doc
|
||||
export HOOGLE_DOC_PATH=$out/share/hoogle/doc
|
||||
|
||||
cd $out/share/hoogle
|
||||
|
||||
function import_dbs() {
|
||||
find $1 -name '*.txt' | while read f; do
|
||||
newname=$(basename "$f" | tr '[:upper:]' '[:lower:]')
|
||||
if [[ -f $f && ! -f ./$newname ]]; then
|
||||
cp -p $f ./$newname
|
||||
hoogle convert -d "$(dirname $f)" "./$newname"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
for i in $docPackages; do
|
||||
findInputs $i docPackages propagated-native-build-inputs
|
||||
findInputs $i docPackages propagated-build-inputs
|
||||
done
|
||||
|
||||
for i in $docPackages; do
|
||||
if [[ ! $i == $out ]]; then
|
||||
for docdir in $i/share/doc/*-ghc-*/* $i/share/doc/*; do
|
||||
if [[ -d $docdir ]]; then
|
||||
import_dbs $docdir
|
||||
ln -sf $docdir $out/share/hoogle/doc
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
import_dbs ${ghc}/share/doc/ghc*/html/libraries
|
||||
ln -sf ${ghc}/share/doc/ghc*/html/libraries/* $out/share/hoogle/doc
|
||||
|
||||
chmod 644 *.hoo *.txt
|
||||
rehoo -j4 -c64 .
|
||||
|
||||
rm -fr downloads *.dep *.txt
|
||||
mv default.hoo x || exit 0
|
||||
rm -f *.hoo
|
||||
mv x default.hoo || exit 1
|
||||
|
||||
if [ ! -f default.hoo ]; then
|
||||
echo "Unable to build the default Hoogle database"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p $out/bin
|
||||
substitute ${wrapper} $out/bin/hoogle \
|
||||
--subst-var out --subst-var-by shell ${stdenv.shell} \
|
||||
--subst-var-by hoogle ${hoogle}
|
||||
chmod +x $out/bin/hoogle
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A local Hoogle database";
|
||||
platforms = ghc.meta.platforms;
|
||||
hydraPlatforms = with stdenv.lib.platforms; none;
|
||||
maintainers = with stdenv.lib.maintainers; [ ttuegel ];
|
||||
};
|
||||
}
|
|
@ -79,4 +79,10 @@ rec {
|
|||
|
||||
triggerRebuild = drv: i: overrideCabal drv (drv: { postUnpack = ": trigger rebuild ${toString i}"; });
|
||||
|
||||
withHoogle = haskellEnv: with haskellEnv.haskellPackages;
|
||||
import ./hoogle.nix {
|
||||
inherit (pkgs) stdenv;
|
||||
inherit hoogle rehoo ghc;
|
||||
packages = haskellEnv.paths;
|
||||
};
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue