diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000000..519b2180b018 --- /dev/null +++ b/CONTRIBUTING.md @@ -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 ` + * add pkg -> + * Make sure it's in `pkgs/top-level/all-packages.nix` + * `nix-env -i pkg-name -f ` + * _If you don't want to install pkg in you profile_. + * `nix-build -A pkg-attribute-name /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= --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. diff --git a/lib/modules.nix b/lib/modules.nix index 3561dd0d1d30..73dbdd371f61 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -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."; diff --git a/lib/options.nix b/lib/options.nix index eed43daaeccf..bfc5b5fa2ae8 100644 --- a/lib/options.nix +++ b/lib/options.nix @@ -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); diff --git a/lib/types.nix b/lib/types.nix index f22c76616345..0a54a5598f14 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -54,7 +54,7 @@ rec { bool = mkOptionType { name = "boolean"; check = isBool; - merge = loc: fold (x: y: x.value || y) false; + merge = mergeEqualOption; }; int = mkOptionType { diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix index e5b342afcc41..bff0b2991323 100644 --- a/nixos/modules/config/shells-environment.nix +++ b/nixos/modules/config/shells-environment.nix @@ -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 { diff --git a/nixos/modules/hardware/video/bumblebee.nix b/nixos/modules/hardware/video/bumblebee.nix index e20ebc3041e7..e341eac4a819 100644 --- a/nixos/modules/hardware/video/bumblebee.nix +++ b/nixos/modules/hardware/video/bumblebee.nix @@ -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 { diff --git a/nixos/modules/misc/assertions.nix b/nixos/modules/misc/assertions.nix index c1be36e98cba..c42de038e61f 100644 --- a/nixos/modules/misc/assertions.nix +++ b/nixos/modules/misc/assertions.nix @@ -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 diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix index 114feb2562db..fb5516c953c2 100644 --- a/nixos/modules/misc/nixpkgs.nix +++ b/nixos/modules/misc/nixpkgs.nix @@ -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. diff --git a/nixos/modules/profiles/all-hardware.nix b/nixos/modules/profiles/all-hardware.nix index 6385ee69500f..99b45228ce4d 100644 --- a/nixos/modules/profiles/all-hardware.nix +++ b/nixos/modules/profiles/all-hardware.nix @@ -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" diff --git a/nixos/modules/profiles/qemu-guest.nix b/nixos/modules/profiles/qemu-guest.nix index 79890aa7f17c..759fdb7f8e5f 100644 --- a/nixos/modules/profiles/qemu-guest.nix +++ b/nixos/modules/profiles/qemu-guest.nix @@ -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 = diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix index 6ca73eea5f6f..0d1ec500afc4 100644 --- a/nixos/modules/programs/ssh.nix +++ b/nixos/modules/programs/ssh.nix @@ -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 = '' diff --git a/nixos/modules/security/ca.nix b/nixos/modules/security/ca.nix index 008ca1f6df52..ddfad52d42ed 100644 --- a/nixos/modules/security/ca.nix +++ b/nixos/modules/security/ca.nix @@ -33,7 +33,7 @@ in }; security.pki.certificates = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = []; example = singleton '' NixOS.org diff --git a/nixos/modules/services/backup/almir.nix b/nixos/modules/services/backup/almir.nix index ec39a997028a..fbb4ff4034f1 100644 --- a/nixos/modules/services/backup/almir.nix +++ b/nixos/modules/services/backup/almir.nix @@ -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. ''; diff --git a/nixos/modules/services/backup/bacula.nix b/nixos/modules/services/backup/bacula.nix index c2255f688181..9e3ae66f808b 100644 --- a/nixos/modules/services/backup/bacula.nix +++ b/nixos/modules/services/backup/bacula.nix @@ -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. ''; diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix index 29a81f066ab9..ccea85faa3e2 100644 --- a/nixos/modules/services/continuous-integration/jenkins/default.nix +++ b/nixos/modules/services/continuous-integration/jenkins/default.nix @@ -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. ''; diff --git a/nixos/modules/services/databases/influxdb.nix b/nixos/modules/services/databases/influxdb.nix index b57ccebae16e..08963f7aab7f 100644 --- a/nixos/modules/services/databases/influxdb.nix +++ b/nixos/modules/services/databases/influxdb.nix @@ -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 { diff --git a/nixos/modules/services/databases/neo4j.nix b/nixos/modules/services/databases/neo4j.nix index 575034c93ab2..3cf22db7da2b 100644 --- a/nixos/modules/services/databases/neo4j.nix +++ b/nixos/modules/services/databases/neo4j.nix @@ -43,7 +43,7 @@ in { enable = mkOption { description = "Whether to enable neo4j."; default = false; - type = types.uniq types.bool; + type = types.bool; }; package = mkOption { diff --git a/nixos/modules/services/logging/logcheck.nix b/nixos/modules/services/logging/logcheck.nix index 1cd032ffa76b..6069262b4705 100644 --- a/nixos/modules/services/logging/logcheck.nix +++ b/nixos/modules/services/logging/logcheck.nix @@ -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, diff --git a/nixos/modules/services/logging/rsyslogd.nix b/nixos/modules/services/logging/rsyslogd.nix index d4b7aa809f00..1ea96b8f1325 100644 --- a/nixos/modules/services/logging/rsyslogd.nix +++ b/nixos/modules/services/logging/rsyslogd.nix @@ -66,7 +66,7 @@ in }; extraParams = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = [ ]; example = [ "-m 0" ]; description = '' diff --git a/nixos/modules/services/logging/syslogd.nix b/nixos/modules/services/logging/syslogd.nix index 325868079e22..a0f8e89fa691 100644 --- a/nixos/modules/services/logging/syslogd.nix +++ b/nixos/modules/services/logging/syslogd.nix @@ -83,7 +83,7 @@ in }; extraParams = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = [ ]; example = [ "-m 0" ]; description = '' diff --git a/nixos/modules/services/mail/opensmtpd.nix b/nixos/modules/services/mail/opensmtpd.nix index fbc4b1d7d8a8..a3e50b422920 100644 --- a/nixos/modules/services/mail/opensmtpd.nix +++ b/nixos/modules/services/mail/opensmtpd.nix @@ -24,7 +24,7 @@ in { }; extraServerArgs = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = []; example = [ "-v" "-P mta" ]; description = '' diff --git a/nixos/modules/services/misc/apache-kafka.nix b/nixos/modules/services/misc/apache-kafka.nix index 5314a096fe0e..f6198e03bae5 100644 --- a/nixos/modules/services/misc/apache-kafka.nix +++ b/nixos/modules/services/misc/apache-kafka.nix @@ -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" diff --git a/nixos/modules/services/misc/gpsd.nix b/nixos/modules/services/misc/gpsd.nix index 4a677f33fa0c..a4a4c7b5d937 100644 --- a/nixos/modules/services/misc/gpsd.nix +++ b/nixos/modules/services/misc/gpsd.nix @@ -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. diff --git a/nixos/modules/services/misc/mesos-master.nix b/nixos/modules/services/misc/mesos-master.nix index 52f08c53b1dc..497646b2b418 100644 --- a/nixos/modules/services/misc/mesos-master.nix +++ b/nixos/modules/services/misc/mesos-master.nix @@ -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" ]; }; diff --git a/nixos/modules/services/misc/mesos-slave.nix b/nixos/modules/services/misc/mesos-slave.nix index 811aa812c8d9..8c29734813a1 100644 --- a/nixos/modules/services/misc/mesos-slave.nix +++ b/nixos/modules/services/misc/mesos-slave.nix @@ -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" ]; }; diff --git a/nixos/modules/services/misc/zookeeper.nix b/nixos/modules/services/misc/zookeeper.nix index 47675b8876cc..4ce692b6f6a5 100644 --- a/nixos/modules/services/misc/zookeeper.nix +++ b/nixos/modules/services/misc/zookeeper.nix @@ -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" ]; }; diff --git a/nixos/modules/services/monitoring/apcupsd.nix b/nixos/modules/services/monitoring/apcupsd.nix index 6cd0254dbe34..9abd6e9ab641 100644 --- a/nixos/modules/services/monitoring/apcupsd.nix +++ b/nixos/modules/services/monitoring/apcupsd.nix @@ -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 diff --git a/nixos/modules/services/monitoring/dd-agent.nix b/nixos/modules/services/monitoring/dd-agent.nix index dc51a7c74866..3e90393a662d 100644 --- a/nixos/modules/services/monitoring/dd-agent.nix +++ b/nixos/modules/services/monitoring/dd-agent.nix @@ -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; diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix index 2a572a6a065c..fb30daba1dc1 100644 --- a/nixos/modules/services/monitoring/graphite.nix +++ b/nixos/modules/services/monitoring/graphite.nix @@ -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 { ''; 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 { ''; default = false; - type = types.uniq types.bool; + type = types.bool; }; redisUrl = mkOption { diff --git a/nixos/modules/services/monitoring/statsd.nix b/nixos/modules/services/monitoring/statsd.nix index 7d7ca27bb2f0..d9e0b83e2389 100644 --- a/nixos/modules/services/monitoring/statsd.nix +++ b/nixos/modules/services/monitoring/statsd.nix @@ -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 { diff --git a/nixos/modules/services/monitoring/ups.nix b/nixos/modules/services/monitoring/ups.nix index cc9026f768a8..eb478f7da65d 100644 --- a/nixos/modules/services/monitoring/ups.nix +++ b/nixos/modules/services/monitoring/ups.nix @@ -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 diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix index 8b3741bca0af..bbf21634c368 100644 --- a/nixos/modules/services/network-filesystems/samba.nix +++ b/nixos/modules/services/network-filesystems/samba.nix @@ -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. diff --git a/nixos/modules/services/networking/atftpd.nix b/nixos/modules/services/networking/atftpd.nix index 47465ba948a9..d875ddc63528 100644 --- a/nixos/modules/services/networking/atftpd.nix +++ b/nixos/modules/services/networking/atftpd.nix @@ -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. ''; diff --git a/nixos/modules/services/networking/dnsmasq.nix b/nixos/modules/services/networking/dnsmasq.nix index 18086154b6b0..4a812167bb5f 100644 --- a/nixos/modules/services/networking/dnsmasq.nix +++ b/nixos/modules/services/networking/dnsmasq.nix @@ -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 = '' diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix index b05a640e11fd..40681f5b957a 100644 --- a/nixos/modules/services/networking/firewall.nix +++ b/nixos/modules/services/networking/firewall.nix @@ -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. diff --git a/nixos/modules/services/networking/freenet.nix b/nixos/modules/services/networking/freenet.nix index e9cacf4a16e8..3903a2c708cb 100644 --- a/nixos/modules/services/networking/freenet.nix +++ b/nixos/modules/services/networking/freenet.nix @@ -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"; }; diff --git a/nixos/modules/services/networking/iodined.nix b/nixos/modules/services/networking/iodined.nix index bc0fbb42c99d..6bfe62e6261c 100644 --- a/nixos/modules/services/networking/iodined.nix +++ b/nixos/modules/services/networking/iodined.nix @@ -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"; }; diff --git a/nixos/modules/services/networking/kippo.nix b/nixos/modules/services/networking/kippo.nix index d2045c9efc58..68f26eefe27e 100644 --- a/nixos/modules/services/networking/kippo.nix +++ b/nixos/modules/services/networking/kippo.nix @@ -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 { diff --git a/nixos/modules/services/networking/minidlna.nix b/nixos/modules/services/networking/minidlna.nix index 989ee4d91af9..51850496e2c9 100644 --- a/nixos/modules/services/networking/minidlna.nix +++ b/nixos/modules/services/networking/minidlna.nix @@ -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 = diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index 60f380f024ba..adbc6099c95a 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -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 diff --git a/nixos/modules/services/networking/notbit.nix b/nixos/modules/services/networking/notbit.nix index 2e1412ff7c83..a96e181cb808 100644 --- a/nixos/modules/services/networking/notbit.nix +++ b/nixos/modules/services/networking/notbit.nix @@ -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"; }; diff --git a/nixos/modules/services/networking/ntopng.nix b/nixos/modules/services/networking/ntopng.nix index ab86f1a5b2b4..c15257117137 100644 --- a/nixos/modules/services/networking/ntopng.nix +++ b/nixos/modules/services/networking/ntopng.nix @@ -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. ''; diff --git a/nixos/modules/services/networking/polipo.nix b/nixos/modules/services/networking/polipo.nix index 51179d9120fe..847fc88ead4c 100644 --- a/nixos/modules/services/networking/polipo.nix +++ b/nixos/modules/services/networking/polipo.nix @@ -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 = '' diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index 14d516ddbb66..bc89ea2d3cd3 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -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 diff --git a/nixos/modules/services/networking/unifi.nix b/nixos/modules/services/networking/unifi.nix index d6c8e0dc7a5c..fd9e58f24a40 100644 --- a/nixos/modules/services/networking/unifi.nix +++ b/nixos/modules/services/networking/unifi.nix @@ -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. diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix index e2d34ea079c5..9e04bd401906 100644 --- a/nixos/modules/services/networking/wpa_supplicant.nix +++ b/nixos/modules/services/networking/wpa_supplicant.nix @@ -43,7 +43,7 @@ in }; interfaces = mkOption { - type = types.listOf types.string; + type = types.listOf types.str; default = []; example = [ "wlan0" "wlan1" ]; description = '' diff --git a/nixos/modules/services/networking/znc.nix b/nixos/modules/services/networking/znc.nix index b39aea04521b..196a14dd40ed 100644 --- a/nixos/modules/services/networking/znc.nix +++ b/nixos/modules/services/networking/znc.nix @@ -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 = '' diff --git a/nixos/modules/services/scheduling/chronos.nix b/nixos/modules/services/scheduling/chronos.nix index f36b886a744b..db1f0f5f00c9 100644 --- a/nixos/modules/services/scheduling/chronos.nix +++ b/nixos/modules/services/scheduling/chronos.nix @@ -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 { diff --git a/nixos/modules/services/scheduling/marathon.nix b/nixos/modules/services/scheduling/marathon.nix index b9f4a808b0ce..4e837c62dc11 100644 --- a/nixos/modules/services/scheduling/marathon.nix +++ b/nixos/modules/services/scheduling/marathon.nix @@ -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. diff --git a/nixos/modules/services/search/elasticsearch.nix b/nixos/modules/services/search/elasticsearch.nix index 12f163db463d..64620bf16041 100644 --- a/nixos/modules/services/search/elasticsearch.nix +++ b/nixos/modules/services/search/elasticsearch.nix @@ -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" ]; }; diff --git a/nixos/modules/services/torrent/peerflix.nix b/nixos/modules/services/torrent/peerflix.nix index 0360deac08bb..38fbd3b226cd 100644 --- a/nixos/modules/services/torrent/peerflix.nix +++ b/nixos/modules/services/torrent/peerflix.nix @@ -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 { diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix index 135113b3ceb1..cf548bc696ca 100644 --- a/nixos/modules/services/torrent/transmission.nix +++ b/nixos/modules/services/torrent/transmission.nix @@ -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."; }; diff --git a/nixos/modules/services/web-servers/lighttpd/cgit.nix b/nixos/modules/services/web-servers/lighttpd/cgit.nix index 34b2fa600ad9..c8590e6a54e1 100644 --- a/nixos/modules/services/web-servers/lighttpd/cgit.nix +++ b/nixos/modules/services/web-servers/lighttpd/cgit.nix @@ -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 diff --git a/nixos/modules/services/web-servers/lighttpd/default.nix b/nixos/modules/services/web-servers/lighttpd/default.nix index 06f310eeb933..2c662c0aead9 100644 --- a/nixos/modules/services/web-servers/lighttpd/default.nix +++ b/nixos/modules/services/web-servers/lighttpd/default.nix @@ -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. diff --git a/nixos/modules/services/web-servers/lighttpd/gitweb.nix b/nixos/modules/services/web-servers/lighttpd/gitweb.nix index ef7072ecba3a..f12cc9734465 100644 --- a/nixos/modules/services/web-servers/lighttpd/gitweb.nix +++ b/nixos/modules/services/web-servers/lighttpd/gitweb.nix @@ -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 ''; diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index c5012dbb5e30..1fb7f20893d3 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -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 diff --git a/nixos/modules/services/x11/redshift.nix b/nixos/modules/services/x11/redshift.nix index d73b58de6c08..99d19f6ab151 100644 --- a/nixos/modules/services/x11/redshift.nix +++ b/nixos/modules/services/x11/redshift.nix @@ -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; }; }; }; diff --git a/nixos/modules/services/x11/unclutter.nix b/nixos/modules/services/x11/unclutter.nix index 556d9e187fdd..6e8719e1053f 100644 --- a/nixos/modules/services/x11/unclutter.nix +++ b/nixos/modules/services/x11/unclutter.nix @@ -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; }; }; diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 9db4c4003c9b..cad9013bf5ad 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -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"; } } diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index 03070bef483a..3799e5d7ddb6 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -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" diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index 8b58eccdcec7..893861a2eed2 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -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."; }; diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix index 57831a5e6ef3..a7a334dec285 100644 --- a/nixos/modules/system/boot/systemd-unit-options.nix +++ b/nixos/modules/system/boot/systemd-unit-options.nix @@ -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."; }; diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 1fde720bba0d..2ad12c51b218 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -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. diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index ce8d6079faac..ce21d9fe7621 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -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."; }; diff --git a/nixos/modules/tasks/kbd.nix b/nixos/modules/tasks/kbd.nix index 8d26998021d3..69f004888f55 100644 --- a/nixos/modules/tasks/kbd.nix +++ b/nixos/modules/tasks/kbd.nix @@ -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 diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 71a721abba21..6361ed2cc431 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -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."; }; diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index dcb498493fa2..15b0da3bab74 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -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 + (virtio or scsi). + ''; + }; }; 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" ]; diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 4feed56cd67c..32be1ea23b98 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -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; diff --git a/pkgs/applications/audio/dfasma/default.nix b/pkgs/applications/audio/dfasma/default.nix new file mode 100644 index 000000000000..0dda6e3dabda --- /dev/null +++ b/pkgs/applications/audio/dfasma/default.nix @@ -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 + ''; +} diff --git a/pkgs/applications/audio/fmit/default.nix b/pkgs/applications/audio/fmit/default.nix index ead15e9a9187..a8acfbffb051 100644 --- a/pkgs/applications/audio/fmit/default.nix +++ b/pkgs/applications/audio/fmit/default.nix @@ -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 ]; diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix index 3edb7ae6793b..eb1f8f4faa87 100644 --- a/pkgs/applications/audio/mpg123/default.nix +++ b/pkgs/applications/audio/mpg123/default.nix @@ -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 ]; }; } diff --git a/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix b/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix index 75861b0a9884..ed3ac0e3da05 100644 --- a/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix +++ b/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix @@ -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 ]; diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index 0f7b85e055b7..b910b1796a3e 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -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; [ diff --git a/pkgs/applications/misc/khal/default.nix b/pkgs/applications/misc/khal/default.nix index 85720f644831..2652af9bed92 100644 --- a/pkgs/applications/misc/khal/default.nix +++ b/pkgs/applications/misc/khal/default.nix @@ -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 ]; }; } - diff --git a/pkgs/applications/office/osmo/default.nix b/pkgs/applications/office/osmo/default.nix new file mode 100644 index 000000000000..81f5773a453f --- /dev/null +++ b/pkgs/applications/office/osmo/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix index 0e2a6e756f6a..2a3dbb40a2b8 100644 --- a/pkgs/build-support/fetchurl/mirrors.nix +++ b/pkgs/build-support/fetchurl/mirrors.nix @@ -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. diff --git a/pkgs/data/fonts/andagii/default.nix b/pkgs/data/fonts/andagii/default.nix index 8143d2841206..562aa8be4eff 100644 --- a/pkgs/data/fonts/andagii/default.nix +++ b/pkgs/data/fonts/andagii/default.nix @@ -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 - +} diff --git a/pkgs/data/fonts/anonymous-pro/default.nix b/pkgs/data/fonts/anonymous-pro/default.nix index 5b51ee36c5c7..da34a2f43aa6 100644 --- a/pkgs/data/fonts/anonymous-pro/default.nix +++ b/pkgs/data/fonts/anonymous-pro/default.nix @@ -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 - +} diff --git a/pkgs/data/fonts/cm-unicode/default.nix b/pkgs/data/fonts/cm-unicode/default.nix index d8f6f7f83517..ed7ce93e1896 100644 --- a/pkgs/data/fonts/cm-unicode/default.nix +++ b/pkgs/data/fonts/cm-unicode/default.nix @@ -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 - +} diff --git a/pkgs/data/fonts/eb-garamond/default.nix b/pkgs/data/fonts/eb-garamond/default.nix index 99c9b53217e5..0956250e36ce 100644 --- a/pkgs/data/fonts/eb-garamond/default.nix +++ b/pkgs/data/fonts/eb-garamond/default.nix @@ -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 - +} diff --git a/pkgs/data/fonts/gentium/default.nix b/pkgs/data/fonts/gentium/default.nix index a4e8099db963..d0af6ce0eb01 100644 --- a/pkgs/data/fonts/gentium/default.nix +++ b/pkgs/data/fonts/gentium/default.nix @@ -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 - +} diff --git a/pkgs/data/fonts/inconsolata/default.nix b/pkgs/data/fonts/inconsolata/default.nix index 887f37c241b6..caa67256a1fe 100644 --- a/pkgs/data/fonts/inconsolata/default.nix +++ b/pkgs/data/fonts/inconsolata/default.nix @@ -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 - +} diff --git a/pkgs/data/fonts/oldstandard/default.nix b/pkgs/data/fonts/oldstandard/default.nix index ad25ac7fd954..125a4b636a99 100644 --- a/pkgs/data/fonts/oldstandard/default.nix +++ b/pkgs/data/fonts/oldstandard/default.nix @@ -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 - +} diff --git a/pkgs/data/fonts/theano/default.nix b/pkgs/data/fonts/theano/default.nix index ca560c72a8ec..c385c3d40a92 100644 --- a/pkgs/data/fonts/theano/default.nix +++ b/pkgs/data/fonts/theano/default.nix @@ -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 - +} diff --git a/pkgs/data/misc/geolite-legacy/default.nix b/pkgs/data/misc/geolite-legacy/default.nix index a34c10630aad..b6cc2a25266f 100644 --- a/pkgs/data/misc/geolite-legacy/default.nix +++ b/pkgs/data/misc/geolite-legacy/default.nix @@ -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"; diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix index 0ed99bfdb163..6d10fe68a099 100644 --- a/pkgs/data/misc/tzdata/default.nix +++ b/pkgs/data/misc/tzdata/default.nix @@ -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"; }) ]; diff --git a/pkgs/desktops/gnome-3/3.16/apps/vinagre/default.nix b/pkgs/desktops/gnome-3/3.16/apps/vinagre/default.nix new file mode 100644 index 000000000000..38263ac73f89 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.16/apps/vinagre/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/desktops/gnome-3/3.16/core/gtk-vnc/default.nix b/pkgs/desktops/gnome-3/3.16/core/gtk-vnc/default.nix new file mode 100644 index 000000000000..ebe7370aba75 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.16/core/gtk-vnc/default.nix @@ -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; + }; +} diff --git a/pkgs/desktops/gnome-3/3.16/default.nix b/pkgs/desktops/gnome-3/3.16/default.nix index be60a58db263..0c3d49f769f6 100644 --- a/pkgs/desktops/gnome-3/3.16/default.nix +++ b/pkgs/desktops/gnome-3/3.16/default.nix @@ -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 {} diff --git a/pkgs/desktops/gnome-3/3.16/misc/california/0002-Build-with-evolution-data-server-3.13.90.patch b/pkgs/desktops/gnome-3/3.16/misc/california/0002-Build-with-evolution-data-server-3.13.90.patch new file mode 100644 index 000000000000..c229cc96094f --- /dev/null +++ b/pkgs/desktops/gnome-3/3.16/misc/california/0002-Build-with-evolution-data-server-3.13.90.patch @@ -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; diff --git a/pkgs/desktops/gnome-3/3.16/misc/california/default.nix b/pkgs/desktops/gnome-3/3.16/misc/california/default.nix new file mode 100644 index 000000000000..4bdeeb23a91e --- /dev/null +++ b/pkgs/desktops/gnome-3/3.16/misc/california/default.nix @@ -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; + }; +} diff --git a/pkgs/desktops/gnome-3/3.16/apps/pomodoro/default.nix b/pkgs/desktops/gnome-3/3.16/misc/pomodoro/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/3.16/apps/pomodoro/default.nix rename to pkgs/desktops/gnome-3/3.16/misc/pomodoro/default.nix diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix index 696415f4562d..e4288b9a2cbd 100644 --- a/pkgs/development/compilers/ghcjs/default.nix +++ b/pkgs/development/compilers/ghcjs/default.nix @@ -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 diff --git a/pkgs/development/compilers/uhc/default.nix b/pkgs/development/compilers/uhc/default.nix index 64d51f971b9b..1dbfb039f909 100644 --- a/pkgs/development/compilers/uhc/default.nix +++ b/pkgs/development/compilers/uhc/default.nix @@ -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"; diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index d42c05fad286..2a5231aef21f 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -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; + } diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix index 62d74b0ac7d4..04158ae8e9b5 100644 --- a/pkgs/development/haskell-modules/default.nix +++ b/pkgs/development/haskell-modules/default.nix @@ -56,6 +56,7 @@ let ghcWithPackages = pkgs: callPackage ./with-packages-wrapper.nix { inherit (self) llvmPackages; + haskellPackages = self; packages = pkgs self; }; diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index e5cdabbed672..2d24211870da 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -3192,6 +3192,29 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "DSA" = callPackage + ({ mkDerivation, base, binary, bytestring, crypto-api + , crypto-pubkey-types, DRBG, ghc-prim, HUnit, integer-gmp + , QuickCheck, SHA, tagged, test-framework, test-framework-hunit + , test-framework-quickcheck2 + }: + mkDerivation { + pname = "DSA"; + version = "1"; + sha256 = "0js67dj7dls7ivvdw1hvxc1cw0rl4bvnfip16ygmgwg98344bfwl"; + buildDepends = [ + base binary bytestring crypto-api crypto-pubkey-types ghc-prim + integer-gmp SHA tagged + ]; + testDepends = [ + base binary bytestring crypto-api crypto-pubkey-types DRBG ghc-prim + HUnit integer-gmp QuickCheck SHA tagged test-framework + test-framework-hunit test-framework-quickcheck2 + ]; + description = "Implementation of DSA, based on the description of FIPS 186-4"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "DSH" = callPackage ({ mkDerivation, aeson, algebra-dag, ansi-wl-pprint, base , bytestring, containers, Decimal, dlist, either, hashable, HUnit @@ -14088,10 +14111,9 @@ self: { ({ mkDerivation, base, directory, mtl, syb, transformers }: mkDerivation { pname = "Strafunski-StrategyLib"; - version = "5.0.0.7"; - sha256 = "0dsa3zg24rk52zyyh2y13sb0fnh01vwq0y2yybyiy3vkc7pznjvq"; + version = "5.0.0.8"; + sha256 = "09k9lcrrdzj6p7ywagc6mw17g4x9i743np36p4dkdp37q48j0mac"; buildDepends = [ base directory mtl syb transformers ]; - jailbreak = true; description = "Library for strategic programming"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -17366,8 +17388,8 @@ self: { }: mkDerivation { pname = "aeson-better-errors"; - version = "0.7.0.0"; - sha256 = "01kfbbpf0kdjidgiscljg6mx0x4qk89n5jl44lhg52i3ni3wr28x"; + version = "0.8.0"; + sha256 = "1synbykzdkrkdys9xl0y9yarbi7ya0ij62smambi9ndz474ngb95"; buildDepends = [ aeson base bytestring dlist mtl scientific text transformers transformers-compat unordered-containers vector void @@ -17727,8 +17749,8 @@ self: { }: mkDerivation { pname = "agentx"; - version = "0.1.0.5"; - sha256 = "0a6zzn4zv5f1zl10vz1p4iw32s9jd605px4ziy5v24fmjm5xnbzb"; + version = "0.2.0.0"; + sha256 = "0pmnrij90xag46af4c5yws5g26pf77l5ck864f4cyw5g9acw67g6"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -17891,8 +17913,8 @@ self: { }: mkDerivation { pname = "aivika-experiment"; - version = "3.1"; - sha256 = "19x4y060r9cgkfffyxdgilmrrjv4ycpxv6w8gclkfrxj1ywwkwx4"; + version = "4.0.3"; + sha256 = "1v0x37kmav87b3mxvribw6658glf5hbk7npipkabp1qbfz5sp7zv"; buildDepends = [ aivika base containers directory filepath mtl network-uri parallel-io split @@ -17925,8 +17947,8 @@ self: { }: mkDerivation { pname = "aivika-experiment-chart"; - version = "3.1"; - sha256 = "17bp7bp3x7z3xlzd6922mjm44v8jlkw1ak3zfr31146hlifgfhyw"; + version = "4.0.3"; + sha256 = "1c5xzp0n67fg799cdf6aqc7sxbv3dy6nkiilyc5hlr8bg3r20bpd"; buildDepends = [ aivika aivika-experiment array base Chart colour containers data-default-class filepath lens mtl split @@ -19370,8 +19392,8 @@ self: { }: mkDerivation { pname = "angel"; - version = "0.6.0"; - sha256 = "0625r8jy9v6x5v5y5vrz2z7bqag9hwjnxr7ir35bq18xd5fpr9kf"; + version = "0.6.1"; + sha256 = "1wkllv4ziggj3smhghdk5qsgccds9d69rhx1gi079ph7z533w2dc"; isLibrary = false; isExecutable = true; buildDepends = [ @@ -19785,7 +19807,9 @@ self: { mkDerivation { pname = "apiary"; version = "1.4.3"; + revision = "1"; sha256 = "1z6fgdkn3k4sbwk5jyz6yp9qwllhv2m9vq7z25fhmj41y3spgcsc"; + editedCabalFile = "024867d05ec04c0b83c41e948b80c56686cc170beed600daffa8d8c725e50a32"; buildDepends = [ base blaze-builder blaze-html blaze-markup bytestring bytestring-read case-insensitive data-default-class exceptions @@ -19798,7 +19822,6 @@ self: { base bytestring http-types HUnit mtl tasty tasty-hunit tasty-quickcheck wai wai-extra ]; - jailbreak = true; homepage = "https://github.com/philopon/apiary"; description = "Simple and type safe web framework that generate web API documentation"; license = stdenv.lib.licenses.mit; @@ -19853,14 +19876,13 @@ self: { mkDerivation { pname = "apiary-cookie"; version = "1.4.0"; - revision = "1"; + revision = "2"; sha256 = "017bxqavv4w5r2ghgmyhljqa4fyzl02v2sjwxi056s3phgrlrkrx"; - editedCabalFile = "50b9adcb346e7233cb73eef7e7d00902a7b43454ab998f76923582bada569e32"; + editedCabalFile = "4edecbd2a1e6fb740815be85cc9c4836144338af88e6774348a1703e861a9771"; buildDepends = [ apiary base blaze-builder blaze-html bytestring cookie time types-compat wai web-routing ]; - jailbreak = true; homepage = "https://github.com/philopon/apiary"; description = "Cookie support for apiary web framework"; license = stdenv.lib.licenses.mit; @@ -19909,15 +19931,14 @@ self: { mkDerivation { pname = "apiary-logger"; version = "1.4.0"; - revision = "1"; + revision = "2"; sha256 = "0pf030sn4mf05avl11hs9kz6qi9667s2vavn3wsxp1anl9bghk48"; - editedCabalFile = "cb2677faabb41ccf7a4990179990f55c14d5bcd517591ccd086b84c68362c93c"; + editedCabalFile = "ce71ccd5e0a1f20777b17efdc536aab8f43a3468f54fa14609c635aa731ce944"; buildDepends = [ apiary base data-default-class fast-logger lifted-base monad-control monad-logger transformers transformers-base types-compat ]; - jailbreak = true; homepage = "https://github.com/philopon/apiary"; description = "fast-logger support for apiary web framework"; license = stdenv.lib.licenses.mit; @@ -20085,6 +20106,22 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "app-lens" = callPackage + ({ mkDerivation, base, containers, lens, mtl }: + mkDerivation { + pname = "app-lens"; + version = "0.1.0.0"; + revision = "1"; + sha256 = "0gizjnc7x1ggryfrm4d87xiyjz9yw6c5y3zp23x40bgmw49zl318"; + editedCabalFile = "a143bd5aec7a06285e0ef56e76f31e0d8b69f277da57ce4d88a7688355ca86a6"; + buildDepends = [ base containers lens mtl ]; + jailbreak = true; + homepage = "https://bitbucket.org/kztk/app-lens"; + description = "applicative (functional) bidirectional programming beyond composition chains"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "app-settings" = callPackage ({ mkDerivation, base, containers, directory, hspec, HUnit, mtl , parsec, text @@ -21693,6 +21730,18 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "attoparsec-trans" = callPackage + ({ mkDerivation, attoparsec, base, transformers }: + mkDerivation { + pname = "attoparsec-trans"; + version = "0.1.1.0"; + sha256 = "0lsbl7hhirr13jmn6fc4g5443j73p4rxjgxvv967n5dsp7xrjaa7"; + buildDepends = [ attoparsec base transformers ]; + homepage = "https://github.com/srijs/haskell-attoparsec-trans"; + description = "Interleaved effects for attoparsec parsers"; + license = stdenv.lib.licenses.mit; + }) {}; + "attosplit" = callPackage ({ mkDerivation, attoparsec, base, bytestring }: mkDerivation { @@ -22178,6 +22227,24 @@ self: { license = stdenv.lib.licenses.asl20; }) {}; + "aws-dynamodb-conduit" = callPackage + ({ mkDerivation, aeson, attoparsec-trans, aws, base, bytestring + , conduit, http-conduit, http-types, json-togo, resourcet, text + , transformers + }: + mkDerivation { + pname = "aws-dynamodb-conduit"; + version = "0.1.0.2"; + sha256 = "02q49anmairvjwzvgn8kqx27965n71xbyi86wwlmrs4w0dkbsd41"; + buildDepends = [ + aeson attoparsec-trans aws base bytestring conduit http-conduit + http-types json-togo resourcet text transformers + ]; + homepage = "https://github.com/srijs/haskell-aws-dynamodb-query"; + description = "Conduit-based interface for AWS DynamoDB"; + license = stdenv.lib.licenses.mit; + }) {}; + "aws-dynamodb-streams" = callPackage ({ mkDerivation, aeson, attoparsec, aws, aws-general, base , base-unicode-symbols, base16-bytestring, base64-bytestring @@ -23348,8 +23415,8 @@ self: { }: mkDerivation { pname = "basic-prelude"; - version = "0.4.1"; - sha256 = "041wnym7b8p70kcbkxxbgszmi2y88xs0ww357jrn0v6cc21h60j9"; + version = "0.5.0"; + sha256 = "1l8hc99sxm27gd93zq6v0l0x2rzl6fd9zp7snh14m4yriqrn5xfi"; buildDepends = [ base bytestring containers filepath hashable lifted-base ReadArgs safe text transformers unordered-containers vector @@ -23781,8 +23848,8 @@ self: { ({ mkDerivation, base }: mkDerivation { pname = "between"; - version = "0.9.0.2"; - sha256 = "0n3nx077hv10rwv2kl3n1a3v40sr1qzfj9jwb6cvd1l0zx42igw8"; + version = "0.10.0.0"; + sha256 = "10bj4v2451c9dri3r9c825xnr4lb8jhihr05nhc6m8fdvqnyqvsi"; buildDepends = [ base ]; homepage = "https://github.com/trskop/between"; description = "Function combinator \"between\" and derived combinators"; @@ -25843,6 +25910,7 @@ self: { homepage = "https://github.com/tebello-thejane/bitx-haskell"; description = "A Haskell library for working with the BitX bitcoin exchange"; license = stdenv.lib.licenses.publicDomain; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "bk-tree" = callPackage @@ -26879,6 +26947,17 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "break" = callPackage + ({ mkDerivation, base, mtl, transformers }: + mkDerivation { + pname = "break"; + version = "1.0.0"; + sha256 = "15fqdha71i4ziv0ra8v2mfp0fviwgs27xlsvc0chb8icqf33y22m"; + buildDepends = [ base mtl transformers ]; + description = "Break from a loop"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "breakout" = callPackage ({ mkDerivation, base, haskgame, mtl, SDL }: mkDerivation { @@ -27723,8 +27802,8 @@ self: { }: mkDerivation { pname = "bytestring-read"; - version = "0.3.0"; - sha256 = "19bq478066chy35fnfjq5bg2f196zl6qi2dssqwlr9bivgvk434g"; + version = "0.3.1"; + sha256 = "0df6mb5fhfd1kgah5gv4q4ykxvl0y8hbqrdvm17nh33cxj2csj00"; buildDepends = [ base bytestring types-compat ]; testDepends = [ base bytestring doctest tasty tasty-quickcheck ]; jailbreak = true; @@ -29612,6 +29691,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "cased" = callPackage + ({ mkDerivation, base, text }: + mkDerivation { + pname = "cased"; + version = "0.1.0.0"; + sha256 = "08xdc0mpp6b6inaxh6cr6ni08sy2ahfcbq8xbs3m4cfqbrqfd543"; + buildDepends = [ base text ]; + homepage = "https://github.com/jb55/cased"; + description = "Track string casing in its type"; + license = stdenv.lib.licenses.mit; + }) {}; + "cases" = callPackage ({ mkDerivation, attoparsec, base, base-prelude, HTF, HUnit , loch-th, placeholders, QuickCheck, text @@ -31615,8 +31706,8 @@ self: { }: mkDerivation { pname = "classy-prelude"; - version = "0.12.0"; - sha256 = "0g72084wnfqam0djpck76bb7dmphpjs1h32w361cqyvgxkyy1prw"; + version = "0.12.0.1"; + sha256 = "0ny5cxkzbjhhsmypsp4sjm7nm0jv2l2kysgcphm6j1l3dr0ck6il"; buildDepends = [ base basic-prelude bifunctors bytestring chunked-data containers dlist enclosed-exceptions exceptions ghc-prim hashable lifted-base @@ -34181,8 +34272,8 @@ self: { }: mkDerivation { pname = "conduit-combinators"; - version = "1.0.0"; - sha256 = "1ibbj3ipkys26np9d791ynpfzgrw3miclcj02bb0ipmvqngm90hv"; + version = "1.0.1"; + sha256 = "014n3qhn9flwj43zjp62vagp5df9ll6nkjk1x9qpagni1vf9cbqq"; buildDepends = [ base base16-bytestring base64-bytestring bytestring chunked-data conduit conduit-extra filepath monad-control mono-traversable @@ -34555,13 +34646,12 @@ self: { }: mkDerivation { pname = "connection-pool"; - version = "0.1.1.0"; - sha256 = "08mfl5gwbxzkf6dvqvshmzpjy02f46avimw8ss66br2397bi0qj7"; + version = "0.1.2.0"; + sha256 = "12nr9vl884yj4yq9dyfc725zi6dw0amp65xlm9hjm7wffz6mc5az"; buildDepends = [ base between data-default-class monad-control network resource-pool streaming-commons time transformers-base ]; - jailbreak = true; homepage = "https://github.com/trskop/connection-pool"; description = "Connection pool built on top of resource-pool and streaming-commons"; license = stdenv.lib.licenses.bsd3; @@ -39912,8 +40002,8 @@ self: { }: mkDerivation { pname = "debian-build"; - version = "0.7.1.0"; - sha256 = "0hzvv6aazpf7r75yygcqy1ldz3j9shs6spv71nzn040rny67cdll"; + version = "0.7.1.1"; + sha256 = "0r2f14h0bpbq861jfa0rgp0y87nq142f80dyjzyzzrdwc8szj120"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -40373,6 +40463,25 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "delta" = callPackage + ({ mkDerivation, base, containers, directory, filepath, fs-events + , sodium, time + }: + mkDerivation { + pname = "delta"; + version = "0.1.0.1"; + sha256 = "0kjii2hqwzzsb8i09547y0qxrdak3xkhgv7dqahbpypzh8hldgzf"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + base containers directory filepath fs-events sodium time + ]; + homepage = "https://github.com/kryoxide/delta"; + description = "A library for detecting file changes"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "delta-h" = callPackage ({ mkDerivation, base, binary, bytestring, containers, monad-atom , nlp-scores, text @@ -43244,12 +43353,14 @@ self: { mkDerivation { pname = "dozens"; version = "0.1.1"; + revision = "1"; sha256 = "1hvsdc69ag4x8rp2pzr3cxjfbl4fh9bdj4bwlkfvpr755qdi45ky"; + editedCabalFile = "08e6297d7be6ec753261aa5cb8f265a6ba6c369f44d25f46f9784ae1d8a88e52"; buildDepends = [ aeson base bytestring data-default-class http-client http-types reflection scientific text transformers ]; - homepage = "https://github.com/philopon/apiary"; + homepage = "https://github.com/philopon/dozens-hs"; description = "dozens api library"; license = stdenv.lib.licenses.mit; }) {}; @@ -45579,10 +45690,9 @@ self: { ({ mkDerivation, base, between, transformers }: mkDerivation { pname = "endo"; - version = "0.1.0.2"; - sha256 = "1wqg0mcaf55wa70wjgd6n0gw56rghz6p76lc6kw4aki969h12xrl"; + version = "0.2.0.0"; + sha256 = "1gqw14nadw1cb49m251swly35gjkb2xhqi0cqhm17ww8r13mzp31"; buildDepends = [ base between transformers ]; - jailbreak = true; homepage = "https://github.com/trskop/endo"; description = "Endomorphism utilities"; license = stdenv.lib.licenses.bsd3; @@ -45676,8 +45786,8 @@ self: { ({ mkDerivation, base, bytestring, unix }: mkDerivation { pname = "entropy"; - version = "0.3.6"; - sha256 = "1sfv930hvdmf018ngdl15jac2bgj75941w0ndlh78n1jgmf04jhn"; + version = "0.3.7"; + sha256 = "1vzg9fi597dbrcbjsr71y47rvmhiih7lg5rjnb297fzdlbmj1w0z"; buildDepends = [ base bytestring unix ]; homepage = "https://github.com/TomMD/entropy"; description = "A platform independent entropy source"; @@ -46476,6 +46586,25 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "ether" = callPackage + ({ mkDerivation, base, mtl, newtype-generics, QuickCheck, tasty + , tasty-quickcheck, template-haskell, transformers + }: + mkDerivation { + pname = "ether"; + version = "0.2.1.0"; + sha256 = "1iwi3whaxnpwfdghw1rli9dxqh1c28hhxkdvl4wslj0vc014h3di"; + buildDepends = [ + base mtl newtype-generics template-haskell transformers + ]; + testDepends = [ + base mtl QuickCheck tasty tasty-quickcheck transformers + ]; + homepage = "https://int-index.github.io/ether/"; + description = "Monad transformers and classes"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "ethereum-client-haskell" = callPackage ({ mkDerivation, ansi-wl-pprint, array, base, base16-bytestring , binary, bytestring, cmdargs, containers, cryptohash, data-default @@ -52844,12 +52973,12 @@ self: { }) {}; "ghc-simple" = callPackage - ({ mkDerivation, base, data-default, ghc, ghc-paths }: + ({ mkDerivation, base, ghc, ghc-paths }: mkDerivation { pname = "ghc-simple"; - version = "0.1.0.0"; - sha256 = "0a8xla80al1glxpf0dsbzdgwbzwxmk9cr6xwfmmz237q7dv4pjhf"; - buildDepends = [ base data-default ghc ghc-paths ]; + version = "0.1.2.0"; + sha256 = "0cwirw9j52khkl8fsgw22136nb3nwlbiahvfcds8hryvr64x9vql"; + buildDepends = [ base ghc ghc-paths ]; homepage = "https://github.com/valderman/ghc-simple"; description = "Simplified interface to the GHC API"; license = stdenv.lib.licenses.mit; @@ -62021,6 +62150,7 @@ self: { base basic-prelude containers errors mtl random-shuffle tasty tasty-hunit tasty-quickcheck text ]; + jailbreak = true; description = "Implementation of the rules of Love Letter"; license = stdenv.lib.licenses.asl20; hydraPlatforms = stdenv.lib.platforms.none; @@ -64598,7 +64728,9 @@ self: { mkDerivation { pname = "highlighting-kate"; version = "0.6"; + revision = "1"; sha256 = "16334fbiyq6017zbgc59qc00h0bk24xh4dcrbqx63dvf72ac37dk"; + editedCabalFile = "7466b389fd27b0520d371b2b225cb6024e9b7dd371cffa78169c219ab449558b"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -64919,7 +65051,9 @@ self: { mkDerivation { pname = "hipbot"; version = "0.5"; + revision = "1"; sha256 = "0acy9bp2dwszd01l514nx2crdxgb356k18pm9ravddljxr24n1hs"; + editedCabalFile = "6ac1673be45c18dc010eeeef508a021ec9fef4e0a4e05864733f91aec8508ab8"; buildDepends = [ aeson base bifunctors blaze-builder bytestring either exceptions http-client http-client-tls http-types jwt lens mtl network-uri @@ -64927,7 +65061,6 @@ self: { unordered-containers utf8-string wai wai-lens webcrank webcrank-wai wreq ]; - jailbreak = true; homepage = "https://github.com/purefn/hipbot"; description = "A library for building HipChat Bots"; license = stdenv.lib.licenses.bsd3; @@ -65864,8 +65997,8 @@ self: { ({ mkDerivation, base, binary, gsl, hmatrix, storable-complex }: mkDerivation { pname = "hmatrix-gsl-stats"; - version = "0.3.0.2"; - sha256 = "1n0p7pg9rsdckcysczg7l8rqfm3xw1rc2jzp0khb1i33nhbr7bzn"; + version = "0.4"; + sha256 = "08rrvn833psl0fic1zvhgv2ymgj16cdrfwv003fiapphnqxcpj9a"; buildDepends = [ base binary hmatrix storable-complex ]; pkgconfigDepends = [ gsl ]; homepage = "http://code.haskell.org/hmatrix-gsl-stats"; @@ -68322,9 +68455,10 @@ self: { mkDerivation { pname = "hs-pkg-config"; version = "0.2.1.0"; + revision = "1"; sha256 = "09v2kp643asl3zpv8rbb8a7zv0h3bn5l4gxz44d71kly9qr3jkhh"; + editedCabalFile = "9337acf593d6f7e1d54f81886cb3736001a127e3b75ba01bd97a99d77565f784"; buildDepends = [ base data-default-class text ]; - jailbreak = true; homepage = "https://github.com/trskop/hs-pkg-config"; description = "Create pkg-config configuration files"; license = stdenv.lib.licenses.bsd3; @@ -69704,9 +69838,9 @@ self: { mkDerivation { pname = "hslua"; version = "0.4.0"; - revision = "1"; + revision = "2"; sha256 = "0l50ppvnavs3lc1vmrpxhlb3ffl772n1hk8mdi9w4ml64ninba3p"; - editedCabalFile = "a2019a0881b90b842dfa9c88e452a45bbadb25d9461d0549ab8fd328a82757ee"; + editedCabalFile = "43f6956aba870857548523718d3d5645e422187964e5158d14a9c17d96671ccb"; buildDepends = [ base bytestring ]; testDepends = [ base bytestring hspec hspec-contrib HUnit text ]; extraLibraries = [ lua ]; @@ -74987,8 +75121,8 @@ self: { }: mkDerivation { pname = "inline-c"; - version = "0.5.3.2"; - sha256 = "0sihzjscdrk02z2d22j0fcqgk05nhpg16zy2cdkxjj4cp09nbaac"; + version = "0.5.3.4"; + sha256 = "1hn1diaxvg0658j9wy9nsa4fhjzjk4g9f161gb26n5cfymsjnnc3"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -75448,12 +75582,13 @@ self: { }) {}; "invariant" = callPackage - ({ mkDerivation, base, contravariant }: + ({ mkDerivation, base, contravariant, hspec, QuickCheck }: mkDerivation { pname = "invariant"; - version = "0.1.1"; - sha256 = "077jhn2fspnjkr8p3sh6draidqpk6wpism73rz8172acd4jjg4fz"; + version = "0.1.2"; + sha256 = "02p114wnpxbqxik4sz87bd9rcqfs9klgsxi9pc4v1qwyb64mb92b"; buildDepends = [ base contravariant ]; + testDepends = [ base hspec QuickCheck ]; description = "Haskell 98 invariant functors"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -77685,6 +77820,25 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "json-togo" = callPackage + ({ mkDerivation, aeson, attoparsec, attoparsec-trans, base + , bytestring, scientific, text, transformers, unordered-containers + , vector + }: + mkDerivation { + pname = "json-togo"; + version = "0.1.0.1"; + sha256 = "05g8k8qsxjwqrdwqf24g90hx5jlrwjpa4vsjf0ddrw0whnva3gbz"; + buildDepends = [ + aeson attoparsec attoparsec-trans base bytestring scientific text + transformers unordered-containers vector + ]; + jailbreak = true; + homepage = "https://github.com/srijs/haskell-json-togo"; + description = "Effectful parsing of JSON documents"; + license = stdenv.lib.licenses.mit; + }) {}; + "json-tools" = callPackage ({ mkDerivation, aeson, attoparsec, base, bytestring, containers , process, tar, text, unordered-containers, vector @@ -79205,6 +79359,7 @@ self: { homepage = "https://github.com/nikita-volkov/laika"; description = "Minimalistic type-checked compile-time template engine"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "lambda-ast" = callPackage @@ -80977,8 +81132,8 @@ self: { }: mkDerivation { pname = "leksah"; - version = "0.15.0.1"; - sha256 = "169vrqdxcx8xkilrw3dh5zmdsb876fny4n0k5gzvi8fian0dl8nh"; + version = "0.15.0.3"; + sha256 = "11b4kp1bbw35gsrdcr5kjyjrfiqrqfy645nbpngjz7rzivjl6n4s"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -81012,8 +81167,8 @@ self: { }: mkDerivation { pname = "leksah-server"; - version = "0.15.0.1"; - sha256 = "04sxfzl8p9fk8qkzmwnm7fkg5sgrzjx0992kivgbrnyx7wh06xsp"; + version = "0.15.0.2"; + sha256 = "090nz2kvsf83jdp2lhng5x87a96xzxknsr4vx2jc2r2vs60841lx"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -81294,8 +81449,8 @@ self: { }: mkDerivation { pname = "lentil"; - version = "0.1.1.2"; - sha256 = "06k0vvxp8vd43bbslm78lmmmc89q3b9ghwfj0chvaw32m0hd8l0z"; + version = "0.1.1.3"; + sha256 = "0m2k3ba4b9dxd5ql8z3m9lmbc9lbxl1d2vi0k0024mjlpp0kdwwm"; isLibrary = false; isExecutable = true; buildDepends = [ @@ -82466,13 +82621,13 @@ self: { }) {}; "linear-grammar" = callPackage - ({ mkDerivation, base, hspec, QuickCheck }: + ({ mkDerivation, base, containers, hspec, QuickCheck }: mkDerivation { pname = "linear-grammar"; - version = "0.0.1.6"; - sha256 = "05mzxv1ixdxirmm31jqwd8w749dpy113pyw1mfr6ck3ksva5g1ap"; - buildDepends = [ base QuickCheck ]; - testDepends = [ base hspec QuickCheck ]; + version = "0.0.2.1"; + sha256 = "00vfhcqhg6azb1ay12n248l0bjg5g0c5y5ybz5rqf2jdlab7fg97"; + buildDepends = [ base containers QuickCheck ]; + testDepends = [ base containers hspec QuickCheck ]; description = "A simple grammar for building linear equations and inclusive inequalities"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -83785,8 +83940,8 @@ self: { }: mkDerivation { pname = "lock-file"; - version = "0.5.0.1"; - sha256 = "0x1pis244pg5k91y3p40m2pc483vx49gcdqa95f7q0gjsnvb9yi9"; + version = "0.5.0.2"; + sha256 = "1l4slkykw59p20kw9iqaa4pjczqx701a9z14nvbzwrmgs2acnki7"; buildDepends = [ base data-default-class directory exceptions tagged-exception-core transformers @@ -83796,7 +83951,6 @@ self: { tagged-exception-core test-framework test-framework-hunit test-framework-quickcheck2 transformers ]; - jailbreak = true; homepage = "https://github.com/trskop/lock-file"; description = "Provide exclusive access to a resource using lock file"; license = stdenv.lib.licenses.bsd3; @@ -88717,8 +88871,8 @@ self: { ({ mkDerivation, base, containers, ghc-prim }: mkDerivation { pname = "monad-skeleton"; - version = "0.1.2"; - sha256 = "13lkbbvajfl4lr6r5plmxvqk6bxn7mp6acsyfxwh2yr6krzdlb82"; + version = "0.1.2.1"; + sha256 = "0sg1yj4cp7ac26ydwhpc05j9bs3scaj25b9sb0xr1gw1qasnyi76"; buildDepends = [ base containers ghc-prim ]; homepage = "https://github.com/fumieval/monad-skeleton"; description = "An undead monad"; @@ -89246,10 +89400,8 @@ self: { }: mkDerivation { pname = "mono-traversable"; - version = "0.9.1"; - revision = "1"; - sha256 = "0hzqlldilkkfmrq3pkymwkzpp9dn40v6fa18kahxlf4qiyih0xzc"; - editedCabalFile = "28392123a8b245f7bc2c13bb63f5c3008118ed38e107cf0534be37461fb64daf"; + version = "0.9.2.1"; + sha256 = "1vs2nl3c0gdhaxxh013ri3l9n13yl9nawiynpsyq6zp495xq5hrl"; buildDepends = [ base bytestring comonad containers dlist dlist-instances hashable semigroupoids semigroups text transformers unordered-containers @@ -90450,6 +90602,25 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "murmur3" = callPackage + ({ mkDerivation, base, base16-bytestring, binary, bytestring, HUnit + , QuickCheck, test-framework, test-framework-hunit + , test-framework-quickcheck2 + }: + mkDerivation { + pname = "murmur3"; + version = "1.0.0"; + sha256 = "1rdnfy37dmmrqpapdv9h22ki94mxrz1xdk5ibcj833q35868kjmq"; + buildDepends = [ base binary bytestring ]; + testDepends = [ + base base16-bytestring bytestring HUnit QuickCheck test-framework + test-framework-hunit test-framework-quickcheck2 + ]; + homepage = "http://github.com/plaprade/murmur3"; + description = "Pure Haskell implementation of the MurmurHash3 x86_32 algorithm"; + license = stdenv.lib.licenses.publicDomain; + }) {}; + "murmurhash3" = callPackage ({ mkDerivation, haskell2010 }: mkDerivation { @@ -93635,6 +93806,26 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "notzero" = callPackage + ({ mkDerivation, base, bifunctors, directory, doctest, filepath + , lens, mtl, QuickCheck, semigroupoids, semigroups + , template-haskell, transformers + }: + mkDerivation { + pname = "notzero"; + version = "0.0.1"; + sha256 = "1sk7hq3qpfrimgpg4r22lzl749yazv1hka3si4921gg61w4bdx8l"; + buildDepends = [ + base bifunctors lens mtl semigroupoids semigroups transformers + ]; + testDepends = [ + base directory doctest filepath QuickCheck template-haskell + ]; + homepage = "https://github.com/NICTA/notzero"; + description = "A data type for representing numeric values, except zero"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "np-extras" = callPackage ({ mkDerivation, base, containers, numeric-prelude, primes }: mkDerivation { @@ -95214,6 +95405,17 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "optional-args" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "optional-args"; + version = "1.0.0"; + sha256 = "0j49cp5y7gp9acvhw315lq92mgr35fwaw90vpxy0n9g541ls350z"; + buildDepends = [ base ]; + description = "Optional function arguments"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "options" = callPackage ({ mkDerivation, base, chell, chell-quickcheck, containers , monads-tf, transformers @@ -95478,8 +95680,8 @@ self: { }: mkDerivation { pname = "orgmode-parse"; - version = "0.1.1.1"; - sha256 = "17slf2i7k8bk1d47l165awn38dlpq2rdw6glzvp8if1dir2l2jl7"; + version = "0.1.1.2"; + sha256 = "1ys9gcydipjxn5ba7ndmz70ri218d6wivxrd7xvcsf4kncfks3xi"; buildDepends = [ aeson attoparsec base bytestring containers free hashable old-locale text thyme unordered-containers @@ -98006,8 +98208,8 @@ self: { }: mkDerivation { pname = "persistent-template"; - version = "2.1.3.3"; - sha256 = "1p9vndchcd06ajqmqmf3pw5ql9r6jqbs9xl5jxv1x0pjvbq6yjy5"; + version = "2.1.3.4"; + sha256 = "0wi1mrcilz66jnlgz16crqlh4bibb03mj460bgg3af4f8zpwja2g"; buildDepends = [ aeson base bytestring containers ghc-prim monad-control monad-logger path-pieces persistent tagged template-haskell text @@ -98016,7 +98218,6 @@ self: { testDepends = [ aeson base bytestring hspec persistent QuickCheck text transformers ]; - jailbreak = true; homepage = "http://www.yesodweb.com/book/persistent"; description = "Type-safe, non-relational, multi-backend persistence"; license = stdenv.lib.licenses.mit; @@ -103669,8 +103870,8 @@ self: { ({ mkDerivation, base, QuickCheck }: mkDerivation { pname = "quickcheck-simple"; - version = "0.0.1.0"; - sha256 = "04r5nqm7g5wp13k6d109yykky9i121f65bxlv5ji5sk35yp650c4"; + version = "0.1.0.0"; + sha256 = "0vnxyb3qz8i1rpmkga6151cld1jr3kiyv3xrhg814mhf1fmhb8xl"; buildDepends = [ base QuickCheck ]; description = "Test properties and default-mains for QuickCheck"; license = stdenv.lib.licenses.bsd3; @@ -105006,12 +105207,15 @@ self: { "record" = callPackage ({ mkDerivation, base, base-prelude, basic-lens, template-haskell + , transformers }: mkDerivation { pname = "record"; - version = "0.4.0.0"; - sha256 = "0ml0rmqscdkp4zp430q206lrnah3j5d4bbra7ka526gagmrvpnmb"; - buildDepends = [ base base-prelude basic-lens template-haskell ]; + version = "0.4.0.2"; + sha256 = "18j30j7dppm0lqf9p345bfz65cls15ka6jyflamwgig5h0dzz5mw"; + buildDepends = [ + base base-prelude basic-lens template-haskell transformers + ]; homepage = "https://github.com/nikita-volkov/record"; description = "Anonymous records"; license = stdenv.lib.licenses.mit; @@ -105031,6 +105235,7 @@ self: { homepage = "https://github.com/nikita-volkov/record-aeson"; description = "Instances of \"aeson\" classes for the \"record\" types"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "record-gl" = callPackage @@ -105054,6 +105259,7 @@ self: { ]; description = "Utilities for working with OpenGL's GLSL shading language and Nikita Volkov's \"Record\"s"; license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "record-preprocessor" = callPackage @@ -105072,6 +105278,7 @@ self: { homepage = "https://github.com/nikita-volkov/record-preprocessor"; description = "Compiler preprocessor introducing a syntactic extension for anonymous records"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "record-syntax" = callPackage @@ -105094,6 +105301,7 @@ self: { homepage = "https://github.com/nikita-volkov/record-syntax"; description = "A library for parsing and processing the Haskell syntax sprinkled with anonymous records"; license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; }) {}; "records" = callPackage @@ -105815,7 +106023,9 @@ self: { mkDerivation { pname = "regex-tdfa"; version = "1.2.0"; + revision = "1"; sha256 = "00gl9sx3hzd83lp38jlcj7wvzrda8kww7njwlm1way73m8aar0pw"; + editedCabalFile = "5489b69b9f0e8e181ee5134fd500bb0e2b4f914234c5223c59186035fb50478e"; buildDepends = [ array base bytestring containers ghc-prim mtl parsec regex-base ]; @@ -106258,22 +106468,20 @@ self: { }) {}; "relational-query" = callPackage - ({ mkDerivation, array, base, bytestring, Cabal, cabal-test-compat - , containers, dlist, names-th, persistable-record, sql-words + ({ mkDerivation, array, base, bytestring, containers, dlist + , names-th, persistable-record, quickcheck-simple, sql-words , template-haskell, text, time, time-locale-compat, transformers }: mkDerivation { pname = "relational-query"; - version = "0.5.0.1"; - sha256 = "1yhcdc0m839pdwhb2vv25wz1vbhk5ynfkb9d6xgkjymsjvqlp78n"; + version = "0.5.0.2"; + sha256 = "1n9x0yrfjgyf49b19vjp0n57h88vvj6bzc8nz0c9z0568cdb9fsh"; buildDepends = [ array base bytestring containers dlist names-th persistable-record sql-words template-haskell text time time-locale-compat transformers ]; - testDepends = [ - base Cabal cabal-test-compat containers transformers - ]; + testDepends = [ base containers quickcheck-simple transformers ]; homepage = "http://khibino.github.io/haskell-relational-record/"; description = "Typeful, Modular, Relational, algebraic query engine"; license = stdenv.lib.licenses.bsd3; @@ -111665,6 +111873,158 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "serversession" = callPackage + ({ mkDerivation, aeson, base, base64-bytestring, bytestring + , containers, data-default, hashable, hspec, nonce, path-pieces + , QuickCheck, text, time, transformers, unordered-containers + }: + mkDerivation { + pname = "serversession"; + version = "1.0"; + sha256 = "0g56lqcrfhl9mrzqcd0sckyc98friqlfjxl1ws1j2zsc1z153x1a"; + buildDepends = [ + aeson base base64-bytestring bytestring data-default hashable nonce + path-pieces text time transformers unordered-containers + ]; + testDepends = [ + aeson base base64-bytestring bytestring containers data-default + hspec nonce path-pieces QuickCheck text time transformers + unordered-containers + ]; + homepage = "https://github.com/yesodweb/serversession"; + description = "Secure, modular server-side sessions"; + license = stdenv.lib.licenses.mit; + }) {}; + + "serversession-backend-acid-state" = callPackage + ({ mkDerivation, acid-state, base, containers, hspec, mtl, safecopy + , serversession, unordered-containers + }: + mkDerivation { + pname = "serversession-backend-acid-state"; + version = "1.0"; + sha256 = "122mp6vcc89f44vijlncywmbsim76hhhlzw38snnsmsfn0q96ln1"; + buildDepends = [ + acid-state base containers mtl safecopy serversession + unordered-containers + ]; + testDepends = [ + acid-state base containers hspec mtl safecopy serversession + unordered-containers + ]; + homepage = "https://github.com/yesodweb/serversession"; + description = "Storage backend for serversession using acid-state"; + license = stdenv.lib.licenses.mit; + }) {}; + + "serversession-backend-persistent" = callPackage + ({ mkDerivation, aeson, base, base64-bytestring, bytestring, cereal + , hspec, monad-logger, path-pieces, persistent + , persistent-postgresql, persistent-sqlite, persistent-template + , QuickCheck, resource-pool, serversession, tagged, text, time + , transformers, unordered-containers + }: + mkDerivation { + pname = "serversession-backend-persistent"; + version = "1.0"; + sha256 = "1rcfff45qm8akjbby1j64lmc8gff96gzssk2jaw8x5k5nn2pdgq0"; + buildDepends = [ + aeson base base64-bytestring bytestring cereal path-pieces + persistent serversession tagged text time transformers + unordered-containers + ]; + testDepends = [ + aeson base base64-bytestring bytestring cereal hspec monad-logger + path-pieces persistent persistent-postgresql persistent-sqlite + persistent-template QuickCheck resource-pool serversession text + time transformers unordered-containers + ]; + jailbreak = true; + homepage = "https://github.com/yesodweb/serversession"; + description = "Storage backend for serversession using persistent and an RDBMS"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "serversession-backend-redis" = callPackage + ({ mkDerivation, base, bytestring, hedis, hspec, path-pieces + , serversession, tagged, text, time, transformers + , unordered-containers + }: + mkDerivation { + pname = "serversession-backend-redis"; + version = "1.0"; + sha256 = "0r1zr25zw80s4psscdwscf7wlm8qfw4dyk0kkczzvj5434jnxnj2"; + buildDepends = [ + base bytestring hedis path-pieces serversession tagged text time + transformers unordered-containers + ]; + testDepends = [ + base bytestring hedis hspec path-pieces serversession text time + transformers unordered-containers + ]; + homepage = "https://github.com/yesodweb/serversession"; + description = "Storage backend for serversession using Redis"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "serversession-frontend-snap" = callPackage + ({ mkDerivation, base, bytestring, nonce, path-pieces + , serversession, snap, snap-core, text, time, transformers + , unordered-containers + }: + mkDerivation { + pname = "serversession-frontend-snap"; + version = "1.0"; + sha256 = "1n29c3jfv61fz9kfc4zjwj7df1fll74l2kqccxmg4id8jpsrywci"; + buildDepends = [ + base bytestring nonce path-pieces serversession snap snap-core text + time transformers unordered-containers + ]; + homepage = "https://github.com/yesodweb/serversession"; + description = "Snap bindings for serversession"; + license = stdenv.lib.licenses.mit; + }) {}; + + "serversession-frontend-wai" = callPackage + ({ mkDerivation, base, bytestring, cookie, data-default + , path-pieces, serversession, text, time, transformers + , unordered-containers, vault, wai, wai-session + }: + mkDerivation { + pname = "serversession-frontend-wai"; + version = "1.0"; + sha256 = "0rxifhjirhmhk1x14m6lvpv6dl32g179i4i3xi3dq59r7l716j0b"; + buildDepends = [ + base bytestring cookie data-default path-pieces serversession text + time transformers unordered-containers vault wai wai-session + ]; + homepage = "https://github.com/yesodweb/serversession"; + description = "wai-session bindings for serversession"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + + "serversession-frontend-yesod" = callPackage + ({ mkDerivation, base, bytestring, containers, cookie, data-default + , path-pieces, serversession, text, time, transformers + , unordered-containers, wai, yesod-core + }: + mkDerivation { + pname = "serversession-frontend-yesod"; + version = "1.0"; + sha256 = "0lv7gkj4inks98g44n5kqvx5s4c66lmxf7gqfdly54znggglcf86"; + buildDepends = [ + base bytestring containers cookie data-default path-pieces + serversession text time transformers unordered-containers wai + yesod-core + ]; + homepage = "https://github.com/yesodweb/serversession"; + description = "Yesod bindings for serversession"; + license = stdenv.lib.licenses.mit; + }) {}; + "servius" = callPackage ({ mkDerivation, base, blaze-builder, blaze-html, bytestring , cmdargs, containers, directory, hamlet, http-types, mime-types @@ -113525,6 +113885,25 @@ self: { license = stdenv.lib.licenses.gpl3; }) {}; + "simplex-basic" = callPackage + ({ mkDerivation, base, bifunctors, containers, hspec + , linear-grammar, mtl, QuickCheck, transformers + }: + mkDerivation { + pname = "simplex-basic"; + version = "0.0.0.1"; + sha256 = "180bnrka1id16scz4zzi60m8692b7pyicfzfbzvi8rz1shl038zq"; + buildDepends = [ + base bifunctors linear-grammar mtl QuickCheck transformers + ]; + testDepends = [ + base bifunctors containers hspec linear-grammar mtl QuickCheck + transformers + ]; + description = "Very basic simplex implementation"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "simseq" = callPackage ({ mkDerivation, base, bio, bytestring, random }: mkDerivation { @@ -114702,8 +115081,8 @@ self: { ({ mkDerivation, acid-state, base, mtl, snap, text, transformers }: mkDerivation { pname = "snaplet-acid-state"; - version = "0.2.6.2"; - sha256 = "0p4cfc5llz2z0jfmkj225nxi8abdncjl53g1rjwc86yfgld0wwm9"; + version = "0.2.7"; + sha256 = "0vjqcmcp0p8vmh7vzwv62bigbx1ck2vnaxlkqmg5wddn0mhfm6gx"; buildDepends = [ acid-state base mtl snap text transformers ]; homepage = "https://github.com/mightybyte/snaplet-acid-state"; description = "acid-state snaplet for Snap Framework"; @@ -115320,10 +115699,10 @@ self: { }: mkDerivation { pname = "snaplet-sqlite-simple"; - version = "0.4.8.2"; - sha256 = "00a92wymniaw0si4xpkx1442prmcjimwrjjqiqnkj6k8bxs7p2jm"; + version = "0.4.8.3"; + sha256 = "0nc0kv9s3c4wc3xb6jggx9v4p141c3af07x8vda18c7qlfif5nx3"; buildDepends = [ - aeson base bytestring clientsession configurator direct-sqlite + aeson base bytestring clientsession configurator direct-sqlite lens MonadCatchIO-transformers mtl snap sqlite-simple text transformers unordered-containers ]; @@ -115333,7 +115712,6 @@ self: { SafeSemaphore snap snap-core sqlite-simple stm test-framework test-framework-hunit text time transformers unordered-containers ]; - jailbreak = true; homepage = "https://github.com/nurpax/snaplet-sqlite-simple"; description = "sqlite-simple snaplet for the Snap Framework"; license = stdenv.lib.licenses.bsd3; @@ -115544,8 +115922,8 @@ self: { }: mkDerivation { pname = "snmp"; - version = "0.1.0.3"; - sha256 = "1zncgn3i6xbvxrwdf6s6vhbmsf6sqncf2rbllx26dz1bmxh4gr33"; + version = "0.2.0.0"; + sha256 = "0vjbpjsa4ivsjzvfc9sr457pms2rw1zpb92d971n0yccl0bxmf67"; buildDepends = [ asn1-encoding asn1-parse asn1-types async base binary bytestring cipher-aes cipher-des containers crypto-cipher-types cryptohash mtl @@ -116356,8 +116734,8 @@ self: { }: mkDerivation { pname = "species"; - version = "0.3.3"; - sha256 = "0cy6l4gvzydl9k2ijxkxhr6jqjbf85z71v6zrvbdajc3xip99w6i"; + version = "0.3.4"; + sha256 = "1j1bf1l5hg67kagbzwyjw8fnli2axi6ny4zb8fdd1m8zqqrajxr4"; buildDepends = [ base containers multiset-comb np-extras numeric-prelude template-haskell @@ -116926,13 +117304,13 @@ self: { }) {}; "sql-words" = callPackage - ({ mkDerivation, base, Cabal, cabal-test-compat, QuickCheck }: + ({ mkDerivation, base, QuickCheck, quickcheck-simple }: mkDerivation { pname = "sql-words"; - version = "0.1.3.0"; - sha256 = "03r6lk4rgk55idxqifazrq673hnkzr089b34qjv1x3yk160xnmz8"; + version = "0.1.3.1"; + sha256 = "17dma51naynrxhvljwp7s3sadnmfqgallxsq7l763z6d0a25zkn9"; buildDepends = [ base ]; - testDepends = [ base Cabal cabal-test-compat QuickCheck ]; + testDepends = [ base QuickCheck quickcheck-simple ]; homepage = "http://khibino.github.io/haskell-relational-record/"; description = "Simple idea SQL keywords data constructor into OverloadedString"; license = stdenv.lib.licenses.bsd3; @@ -116962,8 +117340,8 @@ self: { }: mkDerivation { pname = "sqlite-simple"; - version = "0.4.8.0"; - sha256 = "098d1s80wlvsp307422f79bm3a9knvgw5ni6jap62fl4rpa7fsmz"; + version = "0.4.9.0"; + sha256 = "18v03yqq9jxyvxq93rh20sxak4ffsshhpq9v9lrz1lk9vnhy9pw1"; buildDepends = [ attoparsec base blaze-builder blaze-textual bytestring containers direct-sqlite text time transformers @@ -117299,44 +117677,44 @@ self: { }) {}; "stack" = callPackage - ({ mkDerivation, aeson, async, attoparsec, base, base64-bytestring - , bifunctors, binary, bytestring, Cabal, conduit, conduit-extra - , containers, cpphs, cryptohash, cryptohash-conduit, deepseq - , directory, either, enclosed-exceptions, exceptions, fast-logger - , filepath, hashable, hspec, http-client, http-client-tls - , http-conduit, http-types, lifted-base, monad-control - , monad-logger, monad-loops, mtl, old-locale, optparse-applicative - , optparse-simple, path, persistent, persistent-sqlite - , persistent-template, pretty, process, resourcet, safe, split, stm - , streaming-commons, tar, template-haskell, temporary, text, time - , transformers, transformers-base, unix, unordered-containers - , vector, vector-binary-instances, void, yaml, zlib + ({ mkDerivation, aeson, async, attoparsec, base, base16-bytestring + , base64-bytestring, bifunctors, binary, bytestring, Cabal, conduit + , conduit-combinators, conduit-extra, containers, cryptohash + , cryptohash-conduit, deepseq, directory, either + , enclosed-exceptions, exceptions, fast-logger, filepath, hashable + , hspec, http-client, http-client-tls, http-conduit, http-types + , lifted-base, monad-control, monad-logger, monad-loops, mtl + , old-locale, optparse-applicative, optparse-simple, path + , persistent, persistent-sqlite, persistent-template, pretty + , process, resourcet, safe, split, stm, streaming-commons, tar + , template-haskell, temporary, text, time, transformers + , transformers-base, unix, unordered-containers, vector + , vector-binary-instances, void, yaml, zlib }: mkDerivation { pname = "stack"; - version = "0.0.1"; - sha256 = "04bb0wih2nzqrq8si48w1p6zc4b7nzrgrg4cbnly63hgx64vyhq3"; + version = "0.0.2.1"; + sha256 = "1gv2cbjnr93s4cyhybpd8nsqa8gqd9hpm9wyrh19fl82p8db46x6"; isLibrary = true; isExecutable = true; buildDepends = [ - aeson async attoparsec base base64-bytestring bifunctors binary - bytestring Cabal conduit conduit-extra containers cryptohash - cryptohash-conduit deepseq directory either enclosed-exceptions - exceptions fast-logger filepath hashable http-client - http-client-tls http-conduit http-types lifted-base monad-control - monad-logger monad-loops mtl old-locale optparse-applicative - optparse-simple path persistent persistent-sqlite - persistent-template pretty process resourcet safe split stm - streaming-commons tar template-haskell temporary text time - transformers transformers-base unix unordered-containers vector - vector-binary-instances void yaml zlib + aeson async attoparsec base base16-bytestring base64-bytestring + bifunctors binary bytestring Cabal conduit conduit-combinators + conduit-extra containers cryptohash cryptohash-conduit deepseq + directory either enclosed-exceptions exceptions fast-logger + filepath hashable http-client http-client-tls http-conduit + http-types lifted-base monad-control monad-logger monad-loops mtl + old-locale optparse-applicative optparse-simple path persistent + persistent-sqlite persistent-template pretty process resourcet safe + split stm streaming-commons tar template-haskell temporary text + time transformers transformers-base unix unordered-containers + vector vector-binary-instances void yaml zlib ]; testDepends = [ base Cabal conduit conduit-extra containers cryptohash directory exceptions filepath hspec http-conduit monad-logger path resourcet temporary transformers ]; - buildTools = [ cpphs ]; homepage = "https://github.com/commercialhaskell/stack test/package-dump/ghc-7.8.txt test/package-dump/ghc-7.10.txt"; @@ -120949,17 +121327,14 @@ test/package-dump/ghc-7.10.txt"; }) {}; "tagged-exception-core" = callPackage - ({ mkDerivation, base, exceptions, extensible-exceptions, mmorph - , transformers - }: + ({ mkDerivation, base, exceptions, mmorph, mtl, transformers }: mkDerivation { pname = "tagged-exception-core"; - version = "2.0.0.0"; - sha256 = "02ny4yz9afaazw2pxpkpalffx8i5nhi3x9561blrd0pdrqq8qnib"; - buildDepends = [ - base exceptions extensible-exceptions mmorph transformers - ]; - jailbreak = true; + version = "2.1.0.0"; + revision = "1"; + sha256 = "1w4020qb6f5vnym13a4jrha62vj7rqz3nfsrsxa34dl04y63jcax"; + editedCabalFile = "8f3f0eba857169c03927f8605ed326b7a4a5395582aeac4edcee44369b4c9689"; + buildDepends = [ base exceptions mmorph mtl transformers ]; homepage = "https://github.com/trskop/tagged-exception"; description = "Reflect exceptions using phantom types"; license = stdenv.lib.licenses.bsd3; @@ -123036,7 +123411,9 @@ test/package-dump/ghc-7.10.txt"; mkDerivation { pname = "text-position"; version = "0.1.0.0"; + revision = "1"; sha256 = "0cdi5kwpwvzmadhgkgnwax4jhllm6gjrsg1y3f3fp12x28nml1g8"; + editedCabalFile = "45fd633a94e0a13dbaeeb1791725a72d185f54027569e967f8006f07df67d586"; buildDepends = [ base regex-applicative ]; testDepends = [ base QuickCheck regex-applicative ]; jailbreak = true; @@ -124059,8 +124436,8 @@ test/package-dump/ghc-7.10.txt"; }: mkDerivation { pname = "thumbnail-plus"; - version = "1.0.4"; - sha256 = "110vfk5ri394awzmmq82r87gc9pmvy3500i836602syvd5zfa92x"; + version = "1.0.5"; + sha256 = "0320yfgnsazl7bxm9zf077mi4dgfmlcfnzy1qpdl9w3jl5i7z441"; buildDepends = [ base bytestring conduit conduit-extra data-default directory either gd imagesize-conduit resourcet temporary transformers @@ -124481,13 +124858,14 @@ test/package-dump/ghc-7.10.txt"; mkDerivation { pname = "time-recurrence"; version = "0.9.2"; + revision = "1"; sha256 = "1arqmkagmswimbh78qfz5bcilk9i14w29j4vf4i89d00vac3vrzm"; + editedCabalFile = "7f1fe44ec61160e3fba86a04942d056ac91faa0002817e107e3d8399b71fe427"; buildDepends = [ base data-ordlist mtl time ]; testDepends = [ base data-ordlist HUnit mtl old-locale test-framework test-framework-hunit time ]; - jailbreak = true; homepage = "http://github.com/hellertime/time-recurrence"; description = "Generate recurring dates"; license = stdenv.lib.licenses.gpl3; @@ -126026,8 +126404,8 @@ test/package-dump/ghc-7.10.txt"; }: mkDerivation { pname = "trurl"; - version = "0.2.0.0"; - sha256 = "167f7wrvrva7764z35l48rxbcnnajm343gqw2b67jh14d5kj6fz9"; + version = "0.2.2.0"; + sha256 = "139c97c63fhgq9lisic5wyfn872j120xsj3i72fs5s0aa9m59w81"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -131837,8 +132215,8 @@ test/package-dump/ghc-7.10.txt"; }: mkDerivation { pname = "wai-middleware-metrics"; - version = "0.2.0"; - sha256 = "0vqpp7fqjmhknvmizvbzzay3ixk0a5jqq9y80al62hc2yb75pz0w"; + version = "0.2.1"; + sha256 = "0aiig72r72vykd1f1871458d4glnqsrs7rr402jv5ka05d1rg6y0"; buildDepends = [ base ekg-core http-types time wai ]; testDepends = [ base bytestring ekg-core http-types QuickCheck scotty tasty @@ -132815,7 +133193,9 @@ test/package-dump/ghc-7.10.txt"; mkDerivation { pname = "webcrank"; version = "0.2.2"; + revision = "1"; sha256 = "1rgvpp2526lmly2fli65mygplfc6wzqcw5fkn7gq4fcrmql2cisj"; + editedCabalFile = "487831902c68484790108f97e32098dad9711eb15e0729b9ab1ba009e8fd5747"; buildDepends = [ attoparsec base blaze-builder bytestring case-insensitive either exceptions http-date http-media http-types lens mtl semigroups text @@ -132826,7 +133206,6 @@ test/package-dump/ghc-7.10.txt"; http-media http-types lens mtl tasty tasty-hunit tasty-quickcheck unordered-containers ]; - jailbreak = true; homepage = "https://github.com/webcrank/webcrank.hs"; description = "Webmachine inspired toolkit for building http applications and services"; license = stdenv.lib.licenses.bsd3; @@ -133670,6 +134049,32 @@ test/package-dump/ghc-7.10.txt"; license = stdenv.lib.licenses.bsd3; }) {}; + "wolf" = callPackage + ({ mkDerivation, aeson, amazonka, amazonka-s3, amazonka-swf, base + , bytestring, conduit, conduit-extra, cryptohash, exceptions + , fast-logger, http-conduit, lens, monad-control, monad-logger, mtl + , optparse-applicative, safe, shelly, text, transformers + , transformers-base, unordered-containers, uuid, yaml + }: + mkDerivation { + pname = "wolf"; + version = "0.1.0"; + sha256 = "1b51gb7waxv0i7l3phz0h24n5jpir51b7zycs75kb1wn8qmm8ia3"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + aeson amazonka amazonka-s3 amazonka-swf base bytestring conduit + conduit-extra cryptohash exceptions fast-logger http-conduit lens + monad-control monad-logger mtl optparse-applicative safe shelly + text transformers transformers-base unordered-containers uuid yaml + ]; + jailbreak = true; + homepage = "https://github.com/swift-nav/wolf"; + description = "Amazon Simple Workflow Service Wrapper"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "word-trie" = callPackage ({ mkDerivation, base, binary, containers, hspec, QuickCheck }: mkDerivation { @@ -136478,8 +136883,8 @@ test/package-dump/ghc-7.10.txt"; }: mkDerivation { pname = "yesod-auth"; - version = "1.4.5"; - sha256 = "0agddsicjqcvraa3lcbxwwnk4mapjjd1y4pdp5kg111kaww6nkdn"; + version = "1.4.5.1"; + sha256 = "161gij0r82raih9lvdws4vsknpm36m00ikd17vhhlzz01q9z7l64"; buildDepends = [ aeson authenticate base base16-bytestring base64-bytestring binary blaze-builder blaze-html blaze-markup byteable bytestring conduit @@ -136489,7 +136894,6 @@ test/package-dump/ghc-7.10.txt"; resourcet safe shakespeare template-haskell text time transformers unordered-containers wai yesod-core yesod-form yesod-persistent ]; - jailbreak = true; homepage = "http://www.yesodweb.com/"; description = "Authentication for Yesod"; license = stdenv.lib.licenses.mit; @@ -136784,8 +137188,8 @@ test/package-dump/ghc-7.10.txt"; }: mkDerivation { pname = "yesod-bin"; - version = "1.4.9.2"; - sha256 = "0bbr9bjgj75jh8q9jzv9h1ivz87svz3j02hwphq32487f3682gd0"; + version = "1.4.10"; + sha256 = "1h55155l7ca664zdwq1x0c6p43gy35p1vvghpgd0ajzip8lsyfq1"; isLibrary = false; isExecutable = true; buildDepends = [ @@ -136908,13 +137312,13 @@ test/package-dump/ghc-7.10.txt"; }: mkDerivation { pname = "yesod-crud-persist"; - version = "0.1.0.0"; - sha256 = "0kzigyggzxv4ps8a15bhk8ngxn15inp630x0v3kn0j1xdmj7inpw"; + version = "0.1.1"; + sha256 = "171papb9hns62jswqxkg4q41wb8sb72714i4wghx7g8svh17lv28"; buildDepends = [ base lens persistent text transformers wai yesod-core yesod-form yesod-persistent ]; - homepage = "google.com"; + homepage = "https://github.com/andrewthad/yesod-crud-persist"; description = "Flexible CRUD subsite usable with Yesod and Persistent"; license = stdenv.lib.licenses.mit; hydraPlatforms = stdenv.lib.platforms.none; @@ -137302,8 +137706,8 @@ test/package-dump/ghc-7.10.txt"; }: mkDerivation { pname = "yesod-persistent"; - version = "1.4.0.2"; - sha256 = "06qzgq0mb7k0h8q6lh47l0mzx91xn4ba07nmn22vsfvjfdji6lib"; + version = "1.4.0.3"; + sha256 = "0prvrz52c2pr4qsanjzndviyq4f6zc49in69xz5153h2vagbfmb4"; buildDepends = [ base blaze-builder conduit persistent persistent-template resource-pool resourcet transformers yesod-core @@ -137312,7 +137716,6 @@ test/package-dump/ghc-7.10.txt"; base blaze-builder conduit hspec persistent persistent-sqlite text wai-extra yesod-core ]; - jailbreak = true; homepage = "http://www.yesodweb.com/"; description = "Some helpers for using Persistent from Yesod"; license = stdenv.lib.licenses.mit; @@ -137672,10 +138075,9 @@ test/package-dump/ghc-7.10.txt"; }: mkDerivation { pname = "yesod-table"; - version = "0.1.1"; - sha256 = "0glbdm19bf0pxp0y2831yi0yxjwc3b9xfhsdimxyc5ppm2dqdxsj"; + version = "0.1.2"; + sha256 = "1415y7q45s65cklqyrvcgsqi6v07p698024d5wfghcjnv9qylwmi"; buildDepends = [ base containers contravariant text yesod-core ]; - jailbreak = true; homepage = "https://github.com/andrewthad/yesod-table"; description = "HTML tables for Yesod"; license = stdenv.lib.licenses.mit; diff --git a/pkgs/development/haskell-modules/hoogle-local-wrapper.sh b/pkgs/development/haskell-modules/hoogle-local-wrapper.sh new file mode 100644 index 000000000000..13ea889119c3 --- /dev/null +++ b/pkgs/development/haskell-modules/hoogle-local-wrapper.sh @@ -0,0 +1,6 @@ +#! @shell@ + +COMMAND=$1 +shift +HOOGLE_DOC_PATH=@out@/share/hoogle/doc exec @hoogle@/bin/hoogle \ + "$COMMAND" -d @out@/share/hoogle "$@" diff --git a/pkgs/development/haskell-modules/hoogle.nix b/pkgs/development/haskell-modules/hoogle.nix new file mode 100644 index 000000000000..822c2bdd82ea --- /dev/null +++ b/pkgs/development/haskell-modules/hoogle.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix index 9b47b047bf66..9ee12cdde371 100644 --- a/pkgs/development/haskell-modules/lib.nix +++ b/pkgs/development/haskell-modules/lib.nix @@ -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; + }; } diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix index 4362bacb9ee7..740047e2c27f 100644 --- a/pkgs/development/haskell-modules/with-packages-wrapper.nix +++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix @@ -1,6 +1,7 @@ { stdenv, lib, ghc, llvmPackages, packages, buildEnv, makeWrapper , ignoreCollisions ? false, withLLVM ? false , postBuild ? "" +, haskellPackages }: # This wrapper works only with GHC 6.12 or later. @@ -94,7 +95,9 @@ buildEnv { ${lib.optionalString hasLibraries "$out/bin/${ghcCommand}-pkg recache"} $out/bin/${ghcCommand}-pkg check '' + postBuild; -} // { - preferLocalBuild = true; - inherit (ghc) version meta; + passthru = { + preferLocalBuild = true; + inherit (ghc) version meta; + inherit haskellPackages; + }; } diff --git a/pkgs/development/interpreters/picolisp/default.nix b/pkgs/development/interpreters/picolisp/default.nix index ddb2a26bab2e..fdeb950bcfd1 100644 --- a/pkgs/development/interpreters/picolisp/default.nix +++ b/pkgs/development/interpreters/picolisp/default.nix @@ -1,66 +1,44 @@ -x@{builderDefsPackage - , jdk /* only used in bootstrap */ - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; +{ stdenv, fetchurl, jdk }: +with stdenv.lib; - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - baseName="picolisp"; - tarballBaseName="picoLisp"; - version="3.1.9"; - name="${baseName}-${version}"; - tarballName="${tarballBaseName}-${version}"; - extension="tgz"; - url="http://www.software-lab.de/${tarballName}.${extension}"; - sha256="1rhfd743ga9qsgn4h2aw1xcgrc7amsllli2zqg8cgm408vxkr6j1"; +stdenv.mkDerivation rec { + name = "picoLisp-${version}"; + version = "3.1.10"; + src = fetchurl { + url = "http://www.software-lab.de/${name}.tgz"; + sha256 = "1pn5c0d81rz1fazsdijhw4cqybaad2wn6qramdj2qqkzxa3vvll1"; }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.sha256; - }; - - inherit (sourceInfo) name version; - inherit buildInputs; - - /* doConfigure should be removed if not needed */ - phaseNames = ["doMake" "doDeploy"]; - - goSrcDir = if a.stdenv.system == "x86_64-linux" then - "cd src64" else "cd src"; - makeFlags = [''PREFIX=$out'']; - - doDeploy = a.fullDepEntry ('' + buildInputs = [ jdk ]; + sourceRoot = ''picoLisp/src${optionalString stdenv.is64bit "64"}''; + installPhase = '' cd .. - sed -e "s@/usr/@$out/@g" -i bin/pil - mkdir -p "$out/share/picolisp" "$out/lib" "$out/bin" cp -r . "$out/share/picolisp/build-dir" ln -s "$out/share/picolisp/build-dir" "$out/lib/picolisp" ln -s "$out/lib/picolisp/bin/picolisp" "$out/bin/picolisp" - '') ["minInit" "defEnsureDir" "doMake"]; - + + cat >"$out/bin/pil" < +Date: Thu, 19 Mar 2015 23:14:17 +0000 +Subject: sna: Protect against ABI breakage in recent versions of libdrm + +Signed-off-by: Chris Wilson + +diff --git a/src/sna/kgem.c b/src/sna/kgem.c +index 11f0828..6f16cba 100644 +--- a/src/sna/kgem.c ++++ b/src/sna/kgem.c +@@ -182,6 +182,15 @@ struct local_i915_gem_caching { + #define LOCAL_IOCTL_I915_GEM_SET_CACHING DRM_IOW(DRM_COMMAND_BASE + LOCAL_I915_GEM_SET_CACHING, struct local_i915_gem_caching) + #define LOCAL_IOCTL_I915_GEM_GET_CACHING DRM_IOW(DRM_COMMAND_BASE + LOCAL_I915_GEM_GET_CACHING, struct local_i915_gem_caching) + ++struct local_i915_gem_mmap { ++ uint32_t handle; ++ uint32_t pad; ++ uint64_t offset; ++ uint64_t size; ++ uint64_t addr_ptr; ++}; ++#define LOCAL_IOCTL_I915_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP, struct local_i915_gem_mmap) ++ + struct local_i915_gem_mmap2 { + uint32_t handle; + uint32_t pad; +@@ -514,15 +523,15 @@ retry_wc: + + static void *__kgem_bo_map__cpu(struct kgem *kgem, struct kgem_bo *bo) + { +- struct drm_i915_gem_mmap mmap_arg; ++ struct local_i915_gem_mmap arg; + int err; + + retry: +- VG_CLEAR(mmap_arg); +- mmap_arg.handle = bo->handle; +- mmap_arg.offset = 0; +- mmap_arg.size = bytes(bo); +- if ((err = do_ioctl(kgem->fd, DRM_IOCTL_I915_GEM_MMAP, &mmap_arg))) { ++ VG_CLEAR(arg); ++ arg.handle = bo->handle; ++ arg.offset = 0; ++ arg.size = bytes(bo); ++ if ((err = do_ioctl(kgem->fd, LOCAL_IOCTL_I915_GEM_MMAP, &arg))) { + assert(err != EINVAL); + + if (__kgem_throttle_retire(kgem, 0)) +@@ -536,10 +545,10 @@ retry: + return NULL; + } + +- VG(VALGRIND_MAKE_MEM_DEFINED(mmap_arg.addr_ptr, bytes(bo))); ++ VG(VALGRIND_MAKE_MEM_DEFINED(arg.addr_ptr, bytes(bo))); + + DBG(("%s: caching CPU vma for %d\n", __FUNCTION__, bo->handle)); +- return bo->map__cpu = (void *)(uintptr_t)mmap_arg.addr_ptr; ++ return bo->map__cpu = (void *)(uintptr_t)arg.addr_ptr; + } + + static int gem_write(int fd, uint32_t handle, +-- +cgit v0.10.2 + diff --git a/pkgs/tools/admin/nxproxy/default.nix b/pkgs/tools/admin/nxproxy/default.nix index 6da78f60630c..e9fe8f8f9c7d 100644 --- a/pkgs/tools/admin/nxproxy/default.nix +++ b/pkgs/tools/admin/nxproxy/default.nix @@ -17,6 +17,10 @@ stdenv.mkDerivation { maintainers = with maintainers; [ nckx ]; }; + patches = [ + ./0660_nxcomp_fix-negotiation-in-stage-10-error.full+lite.patch + ]; + buildInputs = [ autoreconfHook libxcomp ]; preAutoreconf = '' diff --git a/pkgs/tools/filesystems/jmtpfs/default.nix b/pkgs/tools/filesystems/jmtpfs/default.nix index 2a2ff0a47a5d..091270deab66 100644 --- a/pkgs/tools/filesystems/jmtpfs/default.nix +++ b/pkgs/tools/filesystems/jmtpfs/default.nix @@ -17,6 +17,7 @@ stdenv.mkDerivation { description = "A FUSE filesystem for MTP devices like Android phones"; homepage = https://github.com/JasonFerrara/jmtpfs; license = licenses.gpl3; + platforms = platforms.linux; maintainers = [ maintainers.coconnor ]; }; } diff --git a/pkgs/tools/misc/rmlint/default.nix b/pkgs/tools/misc/rmlint/default.nix index 9e61a5c195e4..392734e2256d 100644 --- a/pkgs/tools/misc/rmlint/default.nix +++ b/pkgs/tools/misc/rmlint/default.nix @@ -4,11 +4,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "rmlint-${version}"; - version = "2.1.0"; + version = "2.2.0"; src = fetchurl { url = "https://github.com/sahib/rmlint/archive/v${version}.tar.gz"; - sha256 = "17hqkx1ji6rbvliji18my16b23ig9d6v4azgypwl0fam2ar4rm4g"; + sha256 = "1wg6br30ccvxl2189a75lb3d03kg8spfkkp9qlf3whl0xirsm15n"; }; configurePhase = "scons config"; diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix index d4377c14fad4..e8a39623d9a6 100644 --- a/pkgs/tools/misc/screen/default.nix +++ b/pkgs/tools/misc/screen/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ncurses, pam ? null }: stdenv.mkDerivation rec { - name = "screen-4.2.1"; + name = "screen-4.3.0"; src = fetchurl { url = "mirror://gnu/screen/${name}.tar.gz"; - sha256 = "105hp6qdd8rl71p81klmxiz4mlb60kh9r7czayrx40g38x858s2l"; + sha256 = "0ilccnwszaxr9wbrx0swh4fisha2rj2jiq76fwqikmv0rjdyhr2i"; }; preConfigure = '' diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix index 5312445563a6..86e424ad08be 100644 --- a/pkgs/tools/misc/vdirsyncer/default.nix +++ b/pkgs/tools/misc/vdirsyncer/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchurl, pythonPackages }: +{ stdenv, fetchurl, pythonPackages }: pythonPackages.buildPythonPackage rec { version = "0.4.3"; @@ -10,10 +10,9 @@ pythonPackages.buildPythonPackage rec { sha256 = "0jrxmq8lq0dvqflmh42hhyvc3jjrg1cg3gzfhdcsskj9zz0m6wai"; }; - pythonPath = with pythonPackages; [ + propagatedBuildInputs = with pythonPackages; [ icalendar click - requests lxml setuptools requests_toolbelt @@ -21,12 +20,11 @@ pythonPackages.buildPythonPackage rec { atomicwrites ]; - meta = { + meta = with stdenv.lib; { homepage = https://github.com/untitaker/vdirsyncer; description = "Synchronize calendars and contacts"; - maintainers = [ lib.maintainers.matthiasbeyer ]; - platforms = lib.platforms.all; - license = lib.licenses.mit; + maintainers = with maintainers; [ matthiasbeyer jgeerds ]; + platforms = platforms.all; + license = licenses.mit; }; } - diff --git a/pkgs/tools/networking/inetutils/default.nix b/pkgs/tools/networking/inetutils/default.nix index 251462ecc27b..eca416b53d4e 100644 --- a/pkgs/tools/networking/inetutils/default.nix +++ b/pkgs/tools/networking/inetutils/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "inetutils-1.9.3"; + name = "inetutils-1.9.4"; src = fetchurl { url = "mirror://gnu/inetutils/${name}.tar.gz"; - sha256 = "06dshajjpyi9sxi7qfki9gnp5r3nxvyvf81r81gx0x2qkqzqcxlj"; + sha256 = "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy"; }; buildInputs = [ ncurses /* for `talk' */ ]; diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix index 871cd3e8f473..d65f1ac43351 100644 --- a/pkgs/tools/networking/strongswan/default.nix +++ b/pkgs/tools/networking/strongswan/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, gmp, pkgconfig, python, autoreconfHook }: stdenv.mkDerivation rec { - name = "strongswan-5.2.1"; + name = "strongswan-5.3.2"; src = fetchurl { url = "http://download.strongswan.org/${name}.tar.bz2"; - sha256 = "05cjjd7gg65bl6fswj2r2i13nn1nk4x86s06y75gwfdvnlrsnlga"; + sha256 = "09gjrd5f8iykh926y35blxlm2hlzpw15m847d8vc9ga29s6brad4"; }; dontPatchELF = true; diff --git a/pkgs/tools/package-management/nix-repl/default.nix b/pkgs/tools/package-management/nix-repl/default.nix index 35f4f36b4734..feba569d3987 100644 --- a/pkgs/tools/package-management/nix-repl/default.nix +++ b/pkgs/tools/package-management/nix-repl/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub, nix, readline, boehmgc }: -let rev = "f92408136ed08804bab14b3e2a2def9b8effd7eb"; in +let rev = "45c6405a30bd1b2cb8ad6a94b23be8b10cf52069"; in stdenv.mkDerivation { name = "nix-repl-${lib.getVersion nix}-${lib.substring 0 7 rev}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation { owner = "edolstra"; repo = "nix-repl"; inherit rev; - sha256 = "1vl36d3n7hrw4vy2n358zx210ygkj4lmd8zsiifna6x7w7q388bj"; + sha256 = "0c6sifpz8j898xznvy9dvm44w4nysqprrhs553in19jwwkf7kryp"; }; buildInputs = [ nix readline ]; diff --git a/pkgs/tools/security/gnupg/21.nix b/pkgs/tools/security/gnupg/21.nix index 31a6bd2c4602..34561c3c33dd 100644 --- a/pkgs/tools/security/gnupg/21.nix +++ b/pkgs/tools/security/gnupg/21.nix @@ -13,15 +13,13 @@ with stdenv.lib; assert x11Support -> pinentry != null; stdenv.mkDerivation rec { - name = "gnupg-2.1.4"; + name = "gnupg-2.1.5"; src = fetchurl { url = "mirror://gnupg/gnupg/${name}.tar.bz2"; - sha256 = "1c3c89b7ziknz6h1dnwmfjhgyy28g982rcncrhmhylb8v3npw4k4"; + sha256 = "0k5818r847zplbrwjp6i48s6xb5zy44rny2kmbisd6y3c1qml45m"; }; - patches = [ ./socket-activate-2.1.1.patch ]; - postPatch = stdenv.lib.optionalString stdenv.isLinux '' sed -i 's,"libpcsclite\.so[^"]*","${pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c ''; diff --git a/pkgs/tools/security/gnupg/socket-activate-2.1.1.patch b/pkgs/tools/security/gnupg/socket-activate-2.1.1.patch deleted file mode 100644 index 2c2d7b542501..000000000000 --- a/pkgs/tools/security/gnupg/socket-activate-2.1.1.patch +++ /dev/null @@ -1,170 +0,0 @@ -Port Shea Levy's socket activation patch to version 2.1.1. - -diff -Naur gnupg-2.1.1-upstream/agent/gpg-agent.c gnupg-2.1.1/agent/gpg-agent.c ---- gnupg-2.1.1-upstream/agent/gpg-agent.c 2014-12-01 05:04:57.000000000 -0430 -+++ gnupg-2.1.1/agent/gpg-agent.c 2014-12-23 17:13:48.029286035 -0430 -@@ -125,7 +125,9 @@ - oPuttySupport, - oDisableScdaemon, - oDisableCheckOwnSocket, -- oWriteEnvFile -+ oWriteEnvFile, -+ oAgentFD, -+ oSSHAgentFD - }; - - -@@ -143,6 +145,8 @@ - ARGPARSE_group (301, N_("@Options:\n ")), - - ARGPARSE_s_n (oDaemon, "daemon", N_("run in daemon mode (background)")), -+ ARGPARSE_s_i (oAgentFD, "agent-fd", "@"), -+ ARGPARSE_s_i (oSSHAgentFD, "ssh-agent-fd", "@"), - ARGPARSE_s_n (oServer, "server", N_("run in server mode (foreground)")), - ARGPARSE_s_n (oVerbose, "verbose", N_("verbose")), - ARGPARSE_s_n (oQuiet, "quiet", N_("be somewhat more quiet")), -@@ -627,6 +631,31 @@ - return 1; /* handled */ - } - -+/* Handle agent socket(s) */ -+static void -+handle_agent_socks(int fd, int fd_extra, int fd_ssh) -+{ -+#ifndef HAVE_W32_SYSTEM -+ if (chdir("/")) -+ { -+ log_error ("chdir to / failed: %s\n", strerror (errno)); -+ exit (1); -+ } -+ -+ { -+ struct sigaction sa; -+ -+ sa.sa_handler = SIG_IGN; -+ sigemptyset (&sa.sa_mask); -+ sa.sa_flags = 0; -+ sigaction (SIGPIPE, &sa, NULL); -+ } -+#endif /*!HAVE_W32_SYSTEM*/ -+ -+ log_info ("%s %s started\n", strusage(11), strusage(13) ); -+ handle_connections (fd, fd_extra, fd_ssh); -+ assuan_sock_close (fd); -+} - - /* The main entry point. */ - int -@@ -643,6 +672,8 @@ - int default_config =1; - int pipe_server = 0; - int is_daemon = 0; -+ int fd_agent = GNUPG_INVALID_FD; -+ int fd_ssh_agent = GNUPG_INVALID_FD; - int nodetach = 0; - int csh_style = 0; - char *logfile = NULL; -@@ -850,6 +881,8 @@ - case oSh: csh_style = 0; break; - case oServer: pipe_server = 1; break; - case oDaemon: is_daemon = 1; break; -+ case oAgentFD: fd_agent = pargs.r.ret_int; break; -+ case oSSHAgentFD: fd_ssh_agent = pargs.r.ret_int; break; - - case oDisplay: default_display = xstrdup (pargs.r.ret_str); break; - case oTTYname: default_ttyname = xstrdup (pargs.r.ret_str); break; -@@ -940,7 +973,8 @@ - bind_textdomain_codeset (PACKAGE_GT, "UTF-8"); - #endif - -- if (!pipe_server && !is_daemon && !gpgconf_list) -+ if (!pipe_server && !is_daemon && !gpgconf_list && -+ fd_agent == GNUPG_INVALID_FD) - { - /* We have been called without any options and thus we merely - check whether an agent is already running. We do this right -@@ -1090,6 +1124,10 @@ - agent_deinit_default_ctrl (ctrl); - xfree (ctrl); - } -+ else if (fd_agent != GNUPG_INVALID_FD) -+ { -+ handle_agent_socks(fd_agent, GNUPG_INVALID_FD, fd_ssh_agent); -+ } - else if (!is_daemon) - ; /* NOTREACHED */ - else -@@ -1287,26 +1325,8 @@ - log_set_prefix (NULL, oldflags | JNLIB_LOG_RUN_DETACHED); - opt.running_detached = 1; - } -- -- if (chdir("/")) -- { -- log_error ("chdir to / failed: %s\n", strerror (errno)); -- exit (1); -- } -- -- { -- struct sigaction sa; -- -- sa.sa_handler = SIG_IGN; -- sigemptyset (&sa.sa_mask); -- sa.sa_flags = 0; -- sigaction (SIGPIPE, &sa, NULL); -- } --#endif /*!HAVE_W32_SYSTEM*/ -- -- log_info ("%s %s started\n", strusage(11), strusage(13) ); -- handle_connections (fd, fd_extra, fd_ssh); -- assuan_sock_close (fd); -+#endif /*!HAVE_W32_SYSTEM*/ -+ handle_agent_socks(fd, fd_extra, fd_ssh); - } - - return 0; -diff -Naur gnupg-2.1.1-upstream/doc/gpg-agent.texi gnupg-2.1.1/doc/gpg-agent.texi ---- gnupg-2.1.1-upstream/doc/gpg-agent.texi 2014-12-05 09:56:37.000000000 -0430 -+++ gnupg-2.1.1/doc/gpg-agent.texi 2014-12-23 16:26:38.366391186 -0430 -@@ -43,7 +43,15 @@ - .IR file ] - .RI [ options ] - .B \-\-daemon --.RI [ command_line ] -+.br -+.B gpg-agent -+.RB [ \-\-homedir -+.IR dir ] -+.RB [ \-\-options -+.IR file ] -+.RI [ options ] -+.B \-\-agent-fd -+.IR fd - @end ifset - - @mansect description -@@ -186,6 +194,11 @@ - a new process as a child of gpg-agent: @code{gpg-agent --daemon - /bin/sh}. This way you get a new shell with the environment setup - properly; if you exit from this shell, gpg-agent terminates as well. -+ -+@item --agent-fd @var{fd} -+@opindex agent-fd -+Start the gpg-agent using @var{fd} as the listening socket. This is useful for -+socket activation a la systemd and launchd. - @end table - - @mansect options -@@ -545,6 +558,12 @@ - remote machine. - - -+@item --ssh-agent-fd @var{fd} -+@opindex ssh-agent-fd -+ -+When starting the agent with @option{--agent-fd}, use this to pass in a socket -+to be used for the OpenSSH agent protocol. -+ - @anchor{option --enable-ssh-support} - @item --enable-ssh-support - @opindex enable-ssh-support diff --git a/pkgs/tools/security/rhash/default.nix b/pkgs/tools/security/rhash/default.nix index 6a2710869bf8..643053d9cac9 100644 --- a/pkgs/tools/security/rhash/default.nix +++ b/pkgs/tools/security/rhash/default.nix @@ -1,7 +1,8 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "rhash-1.3.3"; + version = "1.3.3"; + name = "rhash-${version}"; src = fetchurl { url = "mirror://sourceforge/rhash/${name}-src.tar.gz"; @@ -10,9 +11,23 @@ stdenv.mkDerivation rec { installFlags = [ "DESTDIR=$(out)" "PREFIX=/" ]; + # we build the static library because of two makefile bugs + # * .h files installed for static library target only + # * .so.0 -> .so link only created in the static library install target + buildPhase = '' + make lib-shared lib-static build-shared + ''; + + # we don't actually want the static library, so we remove it after it + # gets installed + installPhase = '' + make DESTDIR="$out" PREFIX="/" install-shared install-lib-shared install-lib-static + rm $out/lib/librhash.a + ''; + meta = with stdenv.lib; { homepage = http://rhash.anz.ru; - description = "Console utility for computing and verifying hash sums of files"; + description = "Console utility and library for computing and verifying hash sums of files"; platforms = platforms.linux; }; } diff --git a/pkgs/tools/system/ansible/default.nix b/pkgs/tools/system/ansible/default.nix index 374528872e8e..c23d10d20ee5 100644 --- a/pkgs/tools/system/ansible/default.nix +++ b/pkgs/tools/system/ansible/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pythonPackages, python }: +{ windowsSupport ? true, stdenv, fetchurl, pythonPackages, python }: pythonPackages.buildPythonPackage rec { version = "1.9.1"; @@ -21,7 +21,7 @@ pythonPackages.buildPythonPackage rec { propagatedBuildInputs = with pythonPackages; [ paramiko jinja2 pyyaml httplib2 boto six - ]; + ] ++ stdenv.lib.optional windowsSupport pywinrm; postFixup = '' wrapPythonProgramsIn $out/bin "$out $pythonPath" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4df6e675d681..cf480f98520e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1792,6 +1792,8 @@ let hwinfo = callPackage ../tools/system/hwinfo { }; + i2c-tools = callPackage ../os-specific/linux/i2c-tools { }; + i2p = callPackage ../tools/networking/i2p {}; i2pd = callPackage ../tools/networking/i2pd {}; @@ -2684,6 +2686,8 @@ let privateer = callPackage ../games/privateer { }; + read-edid = callPackage ../os-specific/linux/read-edid { }; + redmine = callPackage ../applications/version-management/redmine { }; rtmpdump = callPackage ../tools/video/rtmpdump { }; @@ -6744,6 +6748,10 @@ let libgnurl = callPackage ../development/libraries/libgnurl { }; + libgringotts = callPackage ../development/libraries/libgringotts { }; + + libgroove = callPackage ../development/libraries/libgroove { }; + libseccomp = callPackage ../development/libraries/libseccomp { }; libsecret = callPackage ../development/libraries/libsecret { }; @@ -10727,6 +10735,8 @@ let pulseSupport = config.pulseaudio or true; }; + dfasma = callPackage ../applications/audio/dfasma { }; + dia = callPackage ../applications/graphics/dia { inherit (pkgs.gnome) libart_lgpl libgnomeui; }; @@ -11583,9 +11593,7 @@ let keymon = callPackage ../applications/video/key-mon { }; - khal = callPackage ../applications/misc/khal { - pythonPackages = python3Packages; - }; + khal = callPackage ../applications/misc/khal { }; kid3 = callPackage ../applications/audio/kid3 { qt = qt4; @@ -12030,6 +12038,8 @@ let opusTools = callPackage ../applications/audio/opus-tools { }; + osmo = callPackage ../applications/office/osmo { }; + pamixer = callPackage ../applications/audio/pamixer { }; pan = callPackage ../applications/networking/newsreaders/pan { @@ -12659,9 +12669,7 @@ let vcprompt = callPackage ../applications/version-management/vcprompt { }; - vdirsyncer = callPackage ../tools/misc/vdirsyncer { - pythonPackages = python3Packages; - }; + vdirsyncer = callPackage ../tools/misc/vdirsyncer { }; vdpauinfo = callPackage ../tools/X11/vdpauinfo { }; @@ -13592,10 +13600,7 @@ let inherit (pkgs) libsoup libwnck gtk_doc gnome_doc_utils; }; - gnome3_16 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.16 { - callPackage = pkgs.newScope pkgs.gnome3_16; - self = pkgs.gnome3_16; - }); + gnome3_16 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.16 { }); gnome3 = gnome3_16; diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 1181d8e2b607..b60ccfdb0dea 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -652,6 +652,12 @@ let buildInputs = [ net oauth2 protobuf google-api-go-client grpc ]; }; + gcloud-golang-compute-metadata = buildGoPackage rec { + inherit (gcloud-golang) rev name goPackagePath src; + subPackages = [ "compute/metadata" ]; + buildInputs = [ net ]; + }; + ginkgo = buildGoPackage rec { rev = "5ed93e443a4b7dfe9f5e95ca87e6082e503021d2"; name = "ginkgo-${stdenv.lib.strings.substring 0 7 rev}"; @@ -1378,6 +1384,7 @@ let sha256 = "07dfpwwk68rrhxmqj69gq2ncsf3kfmn0zhlwscda0gc5gb57n5x1"; }; + buildInputs = [ gcloud-golang-compute-metadata ]; propagatedBuildInputs = [ http2 glog net protobuf oauth2 ]; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f80df2edfcba..e829be5a21ec 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1305,6 +1305,7 @@ let homepage = http://pythonhosted.org/blinker/; description = "Fast, simple object-to-object and broadcast signaling"; license = licenses.mit; + maintainers = with maintainers; [ garbas ]; }; }; @@ -4904,8 +4905,9 @@ let doCheck = false; meta = { - homepage = http://docutils.sourceforge.net/; description = "An open-source text processing system for processing plaintext documentation into useful formats, such as HTML or LaTeX"; + homepage = http://docutils.sourceforge.net/; + maintainers = with maintainers; [ garbas ]; }; }; @@ -5089,8 +5091,9 @@ let propagatedBuildInputs = with self; [ six pytz ]; meta = { - homepage = https://github.com/dmdm/feedgenerator-py3k.git; description = "Standalone version of django.utils.feedgenerator, compatible with Py3k"; + homepage = https://github.com/dmdm/feedgenerator-py3k.git; + maintainers = with maintainers; [ garbas ]; }; }); @@ -6430,7 +6433,7 @@ let sha256 = "2e24ac5d004db5714976a04ac0e80c6df6e47e98c354cb2c0d82f8879d4f8fdb"; }; - propagatedBuildInputs = with self; [ self.markupsafe ]; + propagatedBuildInputs = with self; [ markupsafe ]; meta = { homepage = http://jinja.pocoo.org/; @@ -6442,7 +6445,7 @@ let an optional sandboxed environment. ''; platforms = platforms.all; - maintainers = with maintainers; [ pierron ]; + maintainers = with maintainers; [ pierron garbas ]; }; }; @@ -6856,8 +6859,8 @@ let meta = { description = "Implements a XML/HTML/XHTML Markup safe string"; homepage = http://dev.pocoo.org; - license = "BSD"; - maintainers = with maintainers; [ iElectric ]; + license = licenses.bsd3; + maintainers = with maintainers; [ iElectric garbas ]; }; }; @@ -8434,33 +8437,46 @@ let pelican = buildPythonPackage rec { name = "pelican-${version}"; - version = "3.5.0"; + version = "3.6.0"; + disabled = isPy26; - src = pkgs.fetchurl { - url = "https://pypi.python.org/packages/source/p/pelican/${name}.tar.gz"; - sha256 = "0dl8i26sa20iijlg3z9gxn3p6f1d9v44b9742929xfaqwj4amvdp"; + src = pkgs.fetchFromGitHub { + owner = "getpelican"; + repo = "pelican"; + rev = version; + sha256 = "0a9r90d85rn2cvl6yyk6q5i5kwz9igfj8fdwi37zsx4ijhmn2b5j"; }; - preConfigure = '' - export LC_ALL="en_US.UTF-8" - ''; - - # Test data not provided - #buildInputs = [nose mock]; - doCheck = false; - - buildInputs = [ pkgs.glibcLocales ]; + buildInputs = with self; [ + pkgs.glibcLocales + pkgs.pandoc + pkgs.git + mock + nose + markdown + beautifulsoup4 + lxml + typogrify + ]; propagatedBuildInputs = with self; [ jinja2 pygments docutils pytz unidecode six dateutil feedgenerator blinker pillow beautifulsoup4 markupsafe ]; + postPatch= '' + sed -i -e "s|'git'|'${pkgs.git}/bin/git'|" pelican/tests/test_pelican.py + ''; + + preConfigure = '' + export LC_ALL="en_US.UTF-8" + ''; + meta = { - homepage = http://getpelican.com/; description = "A tool to generate a static blog from reStructuredText or Markdown input files"; + homepage = "http://getpelican.com/"; license = licenses.agpl3; - maintainers = with maintainers; [ offline prikhi ]; + maintainers = with maintainers; [ offline prikhi garbas ]; }; }; @@ -8868,11 +8884,11 @@ let prompt_toolkit = buildPythonPackage rec { name = "prompt_toolkit-${version}"; - version = "0.39"; + version = "0.40"; src = pkgs.fetchurl { + sha256 = "0zyp2zpbckpdhapijvg7jwli71ilhp02awn99ly70q3l1f44m9dj"; url = "https://pypi.python.org/packages/source/p/prompt_toolkit/${name}.tar.gz"; - sha256 = "1046fhgqd1171n8xyzcxwzcxgkcwa77r08g7iih8k5x7z59l94lb"; }; buildInputs = with self; [ jedi ipython pygments ]; @@ -9635,7 +9651,7 @@ let homepage = http://pygments.org/; description = "A generic syntax highlighter"; license = licenses.bsd2; - maintainers = with maintainers; [ nckx ]; + maintainers = with maintainers; [ nckx garbas ]; }; }; @@ -10594,6 +10610,24 @@ let }; }; + pywinrm = buildPythonPackage (rec { + name = "pywinrm"; + + src = pkgs.fetchgit { + url = https://github.com/diyan/pywinrm.git; + rev = "c9ce62d500007561ab31a8d0a5d417e779fb69d9"; + sha256 = "0n0qlcgin2g5lpby07qbdlnpq5v2qc2yns9zc4zm5prwh2mhs5za"; + }; + + propagatedBuildInputs = with self; [ xmltodict isodate ]; + + meta = { + homepage = "http://github.com/diyan/pywinrm/"; + description = "Python library for Windows Remote Management"; + license = licenses.mit; + }; + }); + pyxattr = buildPythonPackage (rec { name = "pyxattr-0.5.1"; @@ -13537,6 +13571,23 @@ let }; }); + xmltodict = buildPythonPackage (rec { + name = "xmltodict-0.9.2"; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/x/xmltodict/${name}.tar.gz"; + sha256 = "00crqnjh1kbvcgfnn3b8c7vq30lf4ykkxp1xf3pf7mswr5l1wp97"; + }; + + buildInputs = with self; [ coverage nose ]; + + meta = { + description = "Makes working with XML feel like you are working with JSON"; + homepage = https://github.com/martinblech/xmltodict; + license = licenses.mit; + }; + }); + youtube-dl = callPackage ../tools/misc/youtube-dl { # Release versions don't need pandoc because the formatted man page # is included in the tarball. @@ -14156,7 +14207,7 @@ let md5 = "6c73c5b668a67fdc116a25b884058ed9"; }; - doCheck = !(python.isPypy or false); + doCheck = !isPyPy; propagatedBuildInputs = with self; [ zope_interface zope_exceptions zope_location ]; @@ -15854,4 +15905,59 @@ let }; }; + ghp-import = buildPythonPackage rec { + version = "0.4.1"; + name = "ghp-import-${version}"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/g/ghp-import/${name}.tar.gz"; + md5 = "99e018372990c03ab355aa62c34965c5"; + }; + disabled = isPyPy; + buildInputs = [ pkgs.glibcLocales ]; + preConfigure = '' + export LC_ALL="en_US.UTF-8" + ''; + meta = { + description = "Copy your docs directly to the gh-pages branch."; + homepage = "http://github.com/davisp/ghp-import"; + license = "Tumbolia Public License"; + maintainers = with maintainers; [ garbas ]; + }; + }; + + typogrify = buildPythonPackage rec { + name = "typogrify-2.0.7"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/t/typogrify/${name}.tar.gz"; + md5 = "63f38f80531996f187d2894cc497ba08"; + }; + disabled = isPyPy; + propagatedBuildInputs = with self; [ smartypants ]; + meta = { + description = "Filters to enhance web typography, including support for Django & Jinja templates"; + homepage = "https://github.com/mintchaos/typogrify"; + license = licenses.bsd3; + maintainers = with maintainers; [ garbas ]; + }; + }; + + smartypants = buildPythonPackage rec { + version = "1.8.6"; + name = "smartypants-${version}"; + src = pkgs.fetchhg { + url = "https://bitbucket.org/livibetter/smartypants.py"; + rev = "v${version}"; + sha256 = "1cmzz44d2hm6y8jj2xcq1wfr26760gi7iq92ha8xbhb1axzd7nq6"; + }; + disabled = isPyPy; + buildInputs = with self; [ ]; #docutils pygments ]; + meta = { + description = "Python with the SmartyPants"; + homepage = "https://bitbucket.org/livibetter/smartypants.py"; + license = licenses.bsd3; + maintainers = with maintainers; [ garbas ]; + }; + }; + + }; in pythonPackages