diff --git a/lib/maintainers.nix b/lib/maintainers.nix index a2aa88a807d..76379a02ffb 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -71,6 +71,7 @@ auntie = "Jonathan Glines "; avnik = "Alexander V. Nikolaev "; aycanirican = "Aycan iRiCAN "; + babariviere = "Bastien Riviere "; bachp = "Pascal Bach "; backuitist = "Bruno Bieth"; badi = "Badi' Abdul-Wahid "; @@ -380,6 +381,7 @@ ledif = "Adam Fidel "; leemachin = "Lee Machin "; leenaars = "Michiel Leenaars "; + lejonet = "Daniel Kuehn "; leonardoce = "Leonardo Cecchi "; lethalman = "Luca Bruno "; lewo = "Antoine Eiche "; diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index c0c6a6ef924..8d775ffc82d 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -304,6 +304,7 @@ mighttpd2 = 285; hass = 286; monero = 287; + ceph = 288; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -576,6 +577,7 @@ mighttpd2 = 285; hass = 286; monero = 287; + ceph = 288; # When adding a gid, make sure it doesn't match an existing # uid. Users and groups with the same name should have equal diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 13a32b968dc..3bb65c6b295 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -439,6 +439,7 @@ ./services/network-filesystems/u9fs.nix ./services/network-filesystems/yandex-disk.nix ./services/network-filesystems/xtreemfs.nix + ./services/network-filesystems/ceph.nix ./services/networking/amuled.nix ./services/networking/aria2.nix ./services/networking/asterisk.nix diff --git a/nixos/modules/services/network-filesystems/ceph.nix b/nixos/modules/services/network-filesystems/ceph.nix new file mode 100644 index 00000000000..5de8ae79a24 --- /dev/null +++ b/nixos/modules/services/network-filesystems/ceph.nix @@ -0,0 +1,371 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + ceph = pkgs.ceph; + cfg = config.services.ceph; + # function that translates "camelCaseOptions" to "camel case options", credits to tilpner in #nixos@freenode + translateOption = replaceStrings upperChars (map (s: " ${s}") lowerChars); + generateDaemonList = (daemonType: daemons: extraServiceConfig: + mkMerge ( + map (daemon: + { "ceph-${daemonType}-${daemon}" = generateServiceFile daemonType daemon cfg.global.clusterName ceph extraServiceConfig; } + ) daemons + ) + ); + generateServiceFile = (daemonType: daemonId: clusterName: ceph: extraServiceConfig: { + enable = true; + description = "Ceph ${builtins.replaceStrings lowerChars upperChars daemonType} daemon ${daemonId}"; + after = [ "network-online.target" "local-fs.target" "time-sync.target" ] ++ optional (daemonType == "osd") "ceph-mon.target"; + wants = [ "network-online.target" "local-fs.target" "time-sync.target" ]; + partOf = [ "ceph-${daemonType}.target" ]; + wantedBy = [ "ceph-${daemonType}.target" ]; + + serviceConfig = { + LimitNOFILE = 1048576; + LimitNPROC = 1048576; + Environment = "CLUSTER=${clusterName}"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + PrivateDevices = "yes"; + PrivateTmp = "true"; + ProtectHome = "true"; + ProtectSystem = "full"; + Restart = "on-failure"; + StartLimitBurst = "5"; + StartLimitInterval = "30min"; + ExecStart = "${ceph.out}/bin/${if daemonType == "rgw" then "radosgw" else "ceph-${daemonType}"} -f --cluster ${clusterName} --id ${if daemonType == "rgw" then "client.${daemonId}" else daemonId} --setuser ceph --setgroup ceph"; + } // extraServiceConfig + // optionalAttrs (daemonType == "osd") { ExecStartPre = "${ceph.out}/libexec/ceph/ceph-osd-prestart.sh --id ${daemonId} --cluster ${clusterName}"; }; + } // optionalAttrs (builtins.elem daemonType [ "mds" "mon" "rgw" "mgr" ]) { preStart = '' + daemonPath="/var/lib/ceph/${if daemonType == "rgw" then "radosgw" else daemonType}/${clusterName}-${daemonId}" + if [ ! -d ''$daemonPath ]; then + mkdir -m 755 -p ''$daemonPath + chown -R ceph:ceph ''$daemonPath + fi + ''; + } // optionalAttrs (daemonType == "osd") { path = [ pkgs.getopt ]; } + ); + generateTargetFile = (daemonType: + { + "ceph-${daemonType}" = { + description = "Ceph target allowing to start/stop all ceph-${daemonType} services at once"; + partOf = [ "ceph.target" ]; + before = [ "ceph.target" ]; + }; + } + ); +in +{ + options.services.ceph = { + # Ceph has a monolithic configuration file but different sections for + # each daemon, a separate client section and a global section + enable = mkEnableOption "Ceph global configuration"; + + global = { + fsid = mkOption { + type = types.str; + example = '' + 433a2193-4f8a-47a0-95d2-209d7ca2cca5 + ''; + description = '' + Filesystem ID, a generated uuid, its must be generated and set before + attempting to start a cluster + ''; + }; + + clusterName = mkOption { + type = types.str; + default = "ceph"; + description = '' + Name of cluster + ''; + }; + + monInitialMembers = mkOption { + type = with types; nullOr commas; + default = null; + example = '' + node0, node1, node2 + ''; + description = '' + List of hosts that will be used as monitors at startup. + ''; + }; + + monHost = mkOption { + type = with types; nullOr commas; + default = null; + example = '' + 10.10.0.1, 10.10.0.2, 10.10.0.3 + ''; + description = '' + List of hostname shortnames/IP addresses of the initial monitors. + ''; + }; + + maxOpenFiles = mkOption { + type = types.int; + default = 131072; + description = '' + Max open files for each OSD daemon. + ''; + }; + + authClusterRequired = mkOption { + type = types.enum [ "cephx" "none" ]; + default = "cephx"; + description = '' + Enables requiring daemons to authenticate with eachother in the cluster. + ''; + }; + + authServiceRequired = mkOption { + type = types.enum [ "cephx" "none" ]; + default = "cephx"; + description = '' + Enables requiring clients to authenticate with the cluster to access services in the cluster (e.g. radosgw, mds or osd). + ''; + }; + + authClientRequired = mkOption { + type = types.enum [ "cephx" "none" ]; + default = "cephx"; + description = '' + Enables requiring the cluster to authenticate itself to the client. + ''; + }; + + publicNetwork = mkOption { + type = with types; nullOr commas; + default = null; + example = '' + 10.20.0.0/24, 192.168.1.0/24 + ''; + description = '' + A comma-separated list of subnets that will be used as public networks in the cluster. + ''; + }; + + clusterNetwork = mkOption { + type = with types; nullOr commas; + default = null; + example = '' + 10.10.0.0/24, 192.168.0.0/24 + ''; + description = '' + A comma-separated list of subnets that will be used as cluster networks in the cluster. + ''; + }; + }; + + mgr = { + enable = mkEnableOption "Ceph MGR daemon"; + daemons = mkOption { + type = with types; listOf str; + default = []; + example = '' + [ "name1" "name2" ]; + ''; + description = '' + A list of names for manager daemons that should have a service created. The names correspond + to the id part in ceph i.e. [ "name1" ] would result in mgr.name1 + ''; + }; + extraConfig = mkOption { + type = with types; attrsOf str; + default = {}; + description = '' + Extra configuration to add to the global section for manager daemons. + ''; + }; + }; + + mon = { + enable = mkEnableOption "Ceph MON daemon"; + daemons = mkOption { + type = with types; listOf str; + default = []; + example = '' + [ "name1" "name2" ]; + ''; + description = '' + A list of monitor daemons that should have a service created. The names correspond + to the id part in ceph i.e. [ "name1" ] would result in mon.name1 + ''; + }; + extraConfig = mkOption { + type = with types; attrsOf str; + default = {}; + description = '' + Extra configuration to add to the monitor section. + ''; + }; + }; + + osd = { + enable = mkEnableOption "Ceph OSD daemon"; + daemons = mkOption { + type = with types; listOf str; + default = []; + example = '' + [ "name1" "name2" ]; + ''; + description = '' + A list of OSD daemons that should have a service created. The names correspond + to the id part in ceph i.e. [ "name1" ] would result in osd.name1 + ''; + }; + extraConfig = mkOption { + type = with types; attrsOf str; + default = { + "osd journal size" = "10000"; + "osd pool default size" = "3"; + "osd pool default min size" = "2"; + "osd pool default pg num" = "200"; + "osd pool default pgp num" = "200"; + "osd crush chooseleaf type" = "1"; + }; + description = '' + Extra configuration to add to the OSD section. + ''; + }; + }; + + mds = { + enable = mkEnableOption "Ceph MDS daemon"; + daemons = mkOption { + type = with types; listOf str; + default = []; + example = '' + [ "name1" "name2" ]; + ''; + description = '' + A list of metadata service daemons that should have a service created. The names correspond + to the id part in ceph i.e. [ "name1" ] would result in mds.name1 + ''; + }; + extraConfig = mkOption { + type = with types; attrsOf str; + default = {}; + description = '' + Extra configuration to add to the MDS section. + ''; + }; + }; + + rgw = { + enable = mkEnableOption "Ceph RadosGW daemon"; + daemons = mkOption { + type = with types; listOf str; + default = []; + example = '' + [ "name1" "name2" ]; + ''; + description = '' + A list of rados gateway daemons that should have a service created. The names correspond + to the id part in ceph i.e. [ "name1" ] would result in client.name1, radosgw daemons + aren't daemons to cluster in the sense that OSD, MGR or MON daemons are. They are simply + daemons, from ceph, that uses the cluster as a backend. + ''; + }; + }; + + client = { + enable = mkEnableOption "Ceph client configuration"; + extraConfig = mkOption { + type = with types; attrsOf str; + default = {}; + example = '' + { + # This would create a section for a radosgw daemon named node0 and related + # configuration for it + "client.radosgw.node0" = { "some config option" = "true"; }; + }; + ''; + description = '' + Extra configuration to add to the client section. Configuration for rados gateways + would be added here, with their own sections, see example. + ''; + }; + }; + }; + + config = mkIf config.services.ceph.enable { + assertions = [ + { assertion = cfg.global.fsid != ""; + message = "fsid has to be set to a valid uuid for the cluster to function"; + } + { assertion = cfg.mgr.enable == true; + message = "ceph 12.x requires atleast 1 MGR daemon enabled for the cluster to function"; + } + { assertion = cfg.mon.enable == true -> cfg.mon.daemons != []; + message = "have to set id of atleast one MON if you're going to enable Monitor"; + } + { assertion = cfg.mds.enable == true -> cfg.mds.daemons != []; + message = "have to set id of atleast one MDS if you're going to enable Metadata Service"; + } + { assertion = cfg.osd.enable == true -> cfg.osd.daemons != []; + message = "have to set id of atleast one OSD if you're going to enable OSD"; + } + { assertion = cfg.mgr.enable == true -> cfg.mgr.daemons != []; + message = "have to set id of atleast one MGR if you're going to enable MGR"; + } + ]; + + warnings = optional (cfg.global.monInitialMembers == null) + ''Not setting up a list of members in monInitialMembers requires that you set the host variable for each mon daemon or else the cluster won't function''; + + environment.etc."ceph/ceph.conf".text = let + # Translate camelCaseOptions to the expected camel case option for ceph.conf + translatedGlobalConfig = mapAttrs' (name: value: nameValuePair (translateOption name) value) cfg.global; + # Merge the extraConfig set for mgr daemons, as mgr don't have their own section + globalAndMgrConfig = translatedGlobalConfig // optionalAttrs cfg.mgr.enable cfg.mgr.extraConfig; + # Remove all name-value pairs with null values from the attribute set to avoid making empty sections in the ceph.conf + globalConfig = mapAttrs' (name: value: nameValuePair (translateOption name) value) (filterAttrs (name: value: value != null) globalAndMgrConfig); + totalConfig = { + "global" = globalConfig; + } // optionalAttrs (cfg.mon.enable && cfg.mon.extraConfig != {}) { "mon" = cfg.mon.extraConfig; } + // optionalAttrs (cfg.mds.enable && cfg.mds.extraConfig != {}) { "mds" = cfg.mds.extraConfig; } + // optionalAttrs (cfg.osd.enable && cfg.osd.extraConfig != {}) { "osd" = cfg.osd.extraConfig; } + // optionalAttrs (cfg.client.enable && cfg.client.extraConfig != {}) cfg.client.extraConfig; + in + generators.toINI {} totalConfig; + + users.extraUsers = singleton { + name = "ceph"; + uid = config.ids.uids.ceph; + description = "Ceph daemon user"; + }; + + users.extraGroups = singleton { + name = "ceph"; + gid = config.ids.gids.ceph; + }; + + systemd.services = let + services = [] + ++ optional cfg.mon.enable (generateDaemonList "mon" cfg.mon.daemons { RestartSec = "10"; }) + ++ optional cfg.mds.enable (generateDaemonList "mds" cfg.mds.daemons { StartLimitBurst = "3"; }) + ++ optional cfg.osd.enable (generateDaemonList "osd" cfg.osd.daemons { StartLimitBurst = "30"; RestartSec = "20s"; }) + ++ optional cfg.rgw.enable (generateDaemonList "rgw" cfg.rgw.daemons { }) + ++ optional cfg.mgr.enable (generateDaemonList "mgr" cfg.mgr.daemons { StartLimitBurst = "3"; }); + in + mkMerge services; + + systemd.targets = let + targets = [ + { "ceph" = { description = "Ceph target allowing to start/stop all ceph service instances at once"; }; } + ] ++ optional cfg.mon.enable (generateTargetFile "mon") + ++ optional cfg.mds.enable (generateTargetFile "mds") + ++ optional cfg.osd.enable (generateTargetFile "osd") + ++ optional cfg.rgw.enable (generateTargetFile "rgw") + ++ optional cfg.mgr.enable (generateTargetFile "mgr"); + in + mkMerge targets; + + systemd.tmpfiles.rules = [ + "d /run/ceph 0770 ceph ceph -" + ]; + }; +} diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index eea10613ea5..7bf7a51a241 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -650,7 +650,11 @@ let unitFiles = map (name: { target = "systemd/network/${name}"; source = "${cfg.units.${name}.unit}/${name}"; - }) (attrNames cfg.units); + }) (attrNames cfg.units) ++ + (map (entry: { + target = "systemd/network/${entry}"; + source = "${config.systemd.package}/lib/systemd/network/${entry}"; + }) (attrNames (builtins.readDir "${config.systemd.package}/lib/systemd/network"))); in { diff --git a/nixos/release.nix b/nixos/release.nix index 558bbbf9a9d..473b11313be 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -230,6 +230,7 @@ in rec { tests.borgbackup = callTest tests/borgbackup.nix {}; tests.buildbot = callTest tests/buildbot.nix {}; tests.cadvisor = callTestOnTheseSystems ["x86_64-linux"] tests/cadvisor.nix {}; + tests.ceph = callTestOnTheseSystems ["x86_64-linux"] tests/ceph.nix {}; tests.chromium = (callSubTestsOnTheseSystems ["x86_64-linux"] tests/chromium.nix {}).stable; tests.cjdns = callTest tests/cjdns.nix {}; tests.cloud-init = callTest tests/cloud-init.nix {}; diff --git a/nixos/tests/ceph.nix b/nixos/tests/ceph.nix new file mode 100644 index 00000000000..b9993062c07 --- /dev/null +++ b/nixos/tests/ceph.nix @@ -0,0 +1,140 @@ +import ./make-test.nix ({pkgs, ...}: rec { + name = "All-in-one-basic-ceph-cluster"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ lejonet ]; + }; + + nodes = { + aio = { config, pkgs, ... }: { + virtualisation = { + emptyDiskImages = [ 20480 20480 ]; + vlans = [ 1 ]; + }; + + networking = { + firewall.allowPing = true; + useDHCP = false; + interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ + { address = "192.168.1.1"; prefixLength = 24; } + ]; + }; + + environment.systemPackages = with pkgs; [ + bash + sudo + ceph + xfsprogs + ]; + nixpkgs.config.packageOverrides = super: { + ceph = super.ceph.override({ nss = super.nss; libxfs = super.libxfs; libaio = super.libaio; jemalloc = super.jemalloc; }); + }; + + boot.kernelModules = [ "xfs" ]; + + services.ceph.enable = true; + services.ceph.global = { + fsid = "066ae264-2a5d-4729-8001-6ad265f50b03"; + monInitialMembers = "aio"; + monHost = "192.168.1.1"; + }; + + services.ceph.mon = { + enable = true; + daemons = [ "aio" ]; + }; + + services.ceph.mgr = { + enable = true; + daemons = [ "aio" ]; + }; + + services.ceph.osd = { + enable = true; + daemons = [ "0" "1" ]; + }; + }; + }; + + testScript = { nodes, ... }: '' + startAll; + + $aio->waitForUnit("network.target"); + + # Create the ceph-related directories + $aio->mustSucceed( + "mkdir -p /var/lib/ceph/mgr/ceph-aio/", + "mkdir -p /var/lib/ceph/mon/ceph-aio/", + "mkdir -p /var/lib/ceph/osd/ceph-{0..1}/", + "chown ceph:ceph -R /var/lib/ceph/" + ); + + # Bootstrap ceph-mon daemon + $aio->mustSucceed( + "mkdir -p /var/lib/ceph/bootstrap-osd && chown ceph:ceph /var/lib/ceph/bootstrap-osd", + "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'", + "ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --set-uid=0 --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'", + "ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring", + "monmaptool --create --add aio 192.168.1.1 --fsid 066ae264-2a5d-4729-8001-6ad265f50b03 /tmp/monmap", + "sudo -u ceph ceph-mon --mkfs -i aio --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring", + "touch /var/lib/ceph/mon/ceph-aio/done", + "systemctl start ceph-mon-aio" + ); + $aio->waitForUnit("ceph-mon-aio"); + + # Can't check ceph status until a mon is up + $aio->succeed("ceph -s | grep 'mon: 1 daemons'"); + + # Start the ceph-mgr daemon, it has no deps and hardly any setup + $aio->mustSucceed( + "ceph auth get-or-create mgr.aio mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-aio/keyring", + "systemctl start ceph-mgr-aio" + ); + $aio->waitForUnit("ceph-mgr-aio"); + $aio->waitUntilSucceeds("ceph -s | grep 'quorum aio'"); + + # Bootstrap both OSDs + $aio->mustSucceed( + "mkfs.xfs /dev/vdb", + "mkfs.xfs /dev/vdc", + "mount /dev/vdb /var/lib/ceph/osd/ceph-0", + "mount /dev/vdc /var/lib/ceph/osd/ceph-1", + "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-0/keyring --name osd.0 --add-key AQBCEJNa3s8nHRAANvdsr93KqzBznuIWm2gOGg==", + "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-1/keyring --name osd.1 --add-key AQBEEJNac00kExAAXEgy943BGyOpVH1LLlHafQ==", + "echo '{\"cephx_secret\": \"AQBCEJNa3s8nHRAANvdsr93KqzBznuIWm2gOGg==\"}' | ceph osd new 55ba2294-3e24-478f-bee0-9dca4c231dd9 -i -", + "echo '{\"cephx_secret\": \"AQBEEJNac00kExAAXEgy943BGyOpVH1LLlHafQ==\"}' | ceph osd new 5e97a838-85b6-43b0-8950-cb56d554d1e5 -i -" + ); + + # Initialize the OSDs with regular filestore + $aio->mustSucceed( + "ceph-osd -i 0 --mkfs --osd-uuid 55ba2294-3e24-478f-bee0-9dca4c231dd9", + "ceph-osd -i 1 --mkfs --osd-uuid 5e97a838-85b6-43b0-8950-cb56d554d1e5", + "chown -R ceph:ceph /var/lib/ceph/osd", + "systemctl start ceph-osd-0", + "systemctl start ceph-osd-1" + ); + + $aio->waitUntilSucceeds("ceph osd stat | grep '2 osds: 2 up, 2 in'"); + $aio->waitUntilSucceeds("ceph -s | grep 'mgr: aio(active)'"); + $aio->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'"); + + $aio->mustSucceed( + "ceph osd pool create aio-test 100 100", + "ceph osd pool ls | grep 'aio-test'", + "ceph osd pool rename aio-test aio-other-test", + "ceph osd pool ls | grep 'aio-other-test'", + "ceph -s | grep '1 pools, 100 pgs'", + "ceph osd getcrushmap -o crush", + "crushtool -d crush -o decrushed", + "sed 's/step chooseleaf firstn 0 type host/step chooseleaf firstn 0 type osd/' decrushed > modcrush", + "crushtool -c modcrush -o recrushed", + "ceph osd setcrushmap -i recrushed", + "ceph osd pool set aio-other-test size 2" + ); + $aio->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'"); + $aio->waitUntilSucceeds("ceph -s | grep '100 active+clean'"); + $aio->mustFail( + "ceph osd pool ls | grep 'aio-test'", + "ceph osd pool delete aio-other-test aio-other-test --yes-i-really-really-mean-it" + ); + ''; +}) diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix index 2bb2960afbf..94b240ebb02 100644 --- a/pkgs/applications/audio/praat/default.nix +++ b/pkgs/applications/audio/praat/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "praat-${version}"; - version = "5.4.17"; + version = "6.0.37"; src = fetchurl { url = "https://github.com/praat/praat/archive/v${version}.tar.gz"; - sha256 = "0s2hrksghg686059vc90h3ywhd2702pqcvy99icw27q5mdk6dqsx"; + sha256 = "1c675jfzcrwfn8lcswm5y5kmazkhnb0p4mzlf5sim57hms88ffjq"; }; configurePhase = '' diff --git a/pkgs/applications/audio/qmidiroute/default.nix b/pkgs/applications/audio/qmidiroute/default.nix index 1e76e769937..7f5191a02c2 100644 --- a/pkgs/applications/audio/qmidiroute/default.nix +++ b/pkgs/applications/audio/qmidiroute/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, qt4, alsaLib }: stdenv.mkDerivation rec { - version = "0.3.0"; + version = "0.4.0"; name = "qmidiroute-${version}"; src = fetchurl { url = "mirror://sourceforge/project/alsamodular/QMidiRoute/${version}/${name}.tar.gz"; - sha256 = "11bfjz14z37v6hk2xyg4vrw423b5h3qgcbviv07g00ws1fgjygm2"; + sha256 = "0vmjwarsxr5540rafhmdcc62yarf0w2l05bjjl9s28zzr5m39z3n"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/audio/rosegarden/default.nix b/pkgs/applications/audio/rosegarden/default.nix index 5966d4253f5..d881afa7f5f 100644 --- a/pkgs/applications/audio/rosegarden/default.nix +++ b/pkgs/applications/audio/rosegarden/default.nix @@ -3,12 +3,12 @@ , liblo, liblrdf, libsamplerate, libsndfile, lirc ? null, qtbase }: stdenv.mkDerivation (rec { - version = "17.04"; + version = "17.12.1"; name = "rosegarden-${version}"; src = fetchurl { url = "mirror://sourceforge/rosegarden/${name}.tar.bz2"; - sha256 = "1khfcj22asdhjh0jvhkqsz200wgmigkhsrcz09ffia5hqm0n32lq"; + sha256 = "155kqbxg85wqv0w97cmmx8wq0r4xb3qpnk20lfma04vj8k6hc1mg"; }; patchPhase = '' diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix index 791cd7be2d0..1f7e779e88a 100644 --- a/pkgs/applications/graphics/krita/default.nix +++ b/pkgs/applications/graphics/krita/default.nix @@ -29,7 +29,7 @@ mkDerivation rec { NIX_CFLAGS_COMPILE = [ "-I${ilmbase.dev}/include/OpenEXR" ]; meta = with lib; { - description = "A free an open source painting application"; + description = "A free and open source painting application"; homepage = https://krita.org/; maintainers = with maintainers; [ abbradar ]; platforms = platforms.linux; diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix index 594886149c5..b7ab092bbc0 100644 --- a/pkgs/applications/misc/redshift/default.nix +++ b/pkgs/applications/misc/redshift/default.nix @@ -42,10 +42,8 @@ stdenv.mkDerivation rec { pythonPath = [ pygobject3 pyxdg ]; preConfigure = "./bootstrap"; - postFixup = '' - wrapPythonPrograms - rm "$out/share/icons/hicolor/icon-theme.cache" - ''; + + postFixup = "wrapPythonPrograms"; enableParallelBuilding = true; diff --git a/pkgs/applications/misc/regextester/default.nix b/pkgs/applications/misc/regextester/default.nix new file mode 100644 index 00000000000..c1b1cfb48a2 --- /dev/null +++ b/pkgs/applications/misc/regextester/default.nix @@ -0,0 +1,54 @@ +{ stdenv +, fetchFromGitHub +, gettext +, libxml2 +, pkgconfig +, gtk3 +, granite +, gnome3 +, cmake +, ninja +, vala +, elementary-cmake-modules +, wrapGAppsHook }: + +stdenv.mkDerivation rec { + name = "regextester-${version}"; + version = "0.1.7"; + + src = fetchFromGitHub { + owner = "artemanufrij"; + repo = "regextester"; + rev = version; + sha256 = "07shdm10dc7jz2hka5dc51yp81a0dgc47nmkrp6fs6r9wqx0j30n"; + }; + + XDG_DATA_DIRS = stdenv.lib.concatStringsSep ":" [ + "${granite}/share" + "${gnome3.libgee}/share" + ]; + + nativeBuildInputs = [ + pkgconfig + wrapGAppsHook + vala + cmake + ninja + gettext + libxml2 + elementary-cmake-modules + ]; + buildInputs = [ + gtk3 + granite + gnome3.libgee + ]; + + meta = with stdenv.lib; { + description = "A desktop application to test regular expressions interactively"; + homepage = https://github.com/artemanufrij/regextester; + maintainers = with maintainers; [ samdroid-apps ]; + platforms = platforms.linux; + license = licenses.gpl2Plus; + }; +} diff --git a/pkgs/applications/networking/feedreaders/rssguard/default.nix b/pkgs/applications/networking/feedreaders/rssguard/default.nix index 0a89ec6023b..297703cde69 100644 --- a/pkgs/applications/networking/feedreaders/rssguard/default.nix +++ b/pkgs/applications/networking/feedreaders/rssguard/default.nix @@ -3,25 +3,19 @@ stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "rssguard"; - version = "3.5.5"; + version = "3.5.6"; src = fetchFromGitHub { owner = "martinrotter"; repo = pname; rev = version; - sha256 = "0swjh664y1yqr1rn3ym2kicyx7r97ypr4qf7qrjl4a5q1spzsv48"; + sha256 = "1pdas7hg3nzykm3qi951fk25c9s6gjb7my82b9xzjn2yd7ks71by"; }; buildInputs = [ qtwebengine qttools ]; nativeBuildInputs = [ qmake wrapGAppsHook ]; qmakeFlags = [ "CONFIG+=release" ]; - # FIXME: This shouldn't be needed after 3.5.5. - # See: https://github.com/martinrotter/rssguard/issues/175 - preConfigure = '' - lrelease rssguard.pro - ''; - meta = with stdenv.lib; { description = "Simple RSS/Atom feed reader with online synchronization"; longDescription = '' diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix index 0e0cb2ecf1d..de9bfe64e5c 100644 --- a/pkgs/applications/office/skrooge/default.nix +++ b/pkgs/applications/office/skrooge/default.nix @@ -7,11 +7,11 @@ mkDerivation rec { name = "skrooge-${version}"; - version = "2.10.5"; + version = "2.11.0"; src = fetchurl { url = "http://download.kde.org/stable/skrooge/${name}.tar.xz"; - sha256 = "1c1yihypb6qgbzfcrw4ylqr9zivyba10xzvibrmfkrilxi6i582n"; + sha256 = "11ns0j3ss09aqd8snfzd52xf0cgsjjcgzalb031p7v17rn14yqaq"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix index 676395d03d5..2899bee636e 100644 --- a/pkgs/applications/science/misc/root/default.nix +++ b/pkgs/applications/science/misc/root/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "root-${version}"; - version = "6.10.08"; + version = "6.12.06"; src = fetchurl { url = "https://root.cern.ch/download/root_v${version}.source.tar.gz"; - sha256 = "12mddl6pqwwc9nr4jqzp6h1jm4zycazd3v88dz306m1nmk97dlic"; + sha256 = "1557b9sdragsx9i15qh6lq7fn056bgi87d31kxdl4vl0awigvp5f"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/version-management/rabbitvcs/default.nix b/pkgs/applications/version-management/rabbitvcs/default.nix index 2d77a9c3265..d3b027fada6 100644 --- a/pkgs/applications/version-management/rabbitvcs/default.nix +++ b/pkgs/applications/version-management/rabbitvcs/default.nix @@ -1,14 +1,14 @@ { fetchFromGitHub, lib, python2Packages, meld, subversion, gvfs, xdg_utils }: python2Packages.buildPythonApplication rec { name = "rabbitvcs-${version}"; - version = "0.16"; + version = "0.17.1"; namePrefix = ""; src = fetchFromGitHub { owner = "rabbitvcs"; repo = "rabbitvcs"; rev = "v${version}"; - sha256 = "0964pdylrx4n9c9l8ncwv4q1p63y4hadb5v4pgvm0m2fah2jlkly"; + sha256 = "01cr16zf3gzsci1hhfli79m34fcx5m1pvswl16rkxxn212yc9fhy"; }; pythonPath = with python2Packages; [ configobj dbus-python pygobject2 pygtk simplejson pysvn dulwich tkinter gvfs xdg_utils ]; diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix index 9324b08efd7..7afc3b502ad 100644 --- a/pkgs/applications/video/mkvtoolnix/default.nix +++ b/pkgs/applications/video/mkvtoolnix/default.nix @@ -1,32 +1,36 @@ { stdenv, fetchFromGitLab, pkgconfig, autoconf, automake, libiconv -, drake, ruby, docbook_xsl, file, xdg_utils, gettext, expat, qt5, boost +, drake, ruby, docbook_xsl, file, xdg_utils, gettext, expat, boost , libebml, zlib, libmatroska, libogg, libvorbis, flac, libxslt, cmark , withGUI ? true + , qtbase ? null + , qtmultimedia ? null }: -assert withGUI -> qt5 != null; +assert withGUI -> qtbase != null && qtmultimedia != null; with stdenv.lib; stdenv.mkDerivation rec { name = "mkvtoolnix-${version}"; - version = "20.0.0"; + version = "21.0.0"; src = fetchFromGitLab { - owner = "mbunkus"; - repo = "mkvtoolnix"; - rev = "release-${version}"; - sha256 = "0qrjvvp0pvw9i91rh0zrxpclq7xap2dpjip0s5bm4gv14gh4l4mc"; + owner = "mbunkus"; + repo = "mkvtoolnix"; + rev = "release-${version}"; + sha256 = "06nixp0qqa6g2fv40f7l0i0sqbc7qswpgq4534l98nan08wjbk2r"; }; - nativeBuildInputs = [ pkgconfig autoconf automake gettext drake ruby docbook_xsl libxslt ]; + nativeBuildInputs = [ + pkgconfig autoconf automake gettext + drake ruby docbook_xsl libxslt + ]; buildInputs = [ - expat file xdg_utils boost libebml zlib libmatroska libogg - libvorbis flac cmark - ] - ++ optional stdenv.isDarwin libiconv - ++ optionals withGUI [qt5.qtbase qt5.qtmultimedia]; + expat file xdg_utils boost libebml zlib + libmatroska libogg libvorbis flac cmark + ] ++ optional stdenv.isDarwin libiconv + ++ optionals withGUI [ qtbase qtmultimedia ]; preConfigure = "./autogen.sh; patchShebangs ."; buildPhase = "drake -j $NIX_BUILD_CORES"; diff --git a/pkgs/applications/video/mpc-qt/default.nix b/pkgs/applications/video/mpc-qt/default.nix new file mode 100644 index 00000000000..80ca213c06c --- /dev/null +++ b/pkgs/applications/video/mpc-qt/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, pkgconfig, qmake, qtx11extras, qttools, mpv }: + +stdenv.mkDerivation rec { + name = "mpc-qt-${version}"; + version = "17.11"; + + src = fetchFromGitHub { + owner = "cmdrkotori"; + repo = "mpc-qt"; + rev = "v${version}"; + sha256 = "1vi4zsmbzxj6ms8wls9zv15vrskdrhgnj6l41m1fk4scs4jzvbkm"; + }; + + nativeBuildInputs = [ pkgconfig qmake qttools ]; + + buildInputs = [ mpv qtx11extras ]; + + qmakeFlags = [ "QMAKE_LUPDATE=${qttools.dev}/bin/lupdate" ]; + + meta = with stdenv.lib; { + description = "Media Player Classic Qute Theater"; + homepage = https://github.com/cmdrkotori/mpc-qt; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = with maintainers; [ romildo ]; + }; +} diff --git a/pkgs/applications/video/mpv/scripts/convert.nix b/pkgs/applications/video/mpv/scripts/convert.nix index cf77e3dfe66..faa21326fc0 100644 --- a/pkgs/applications/video/mpv/scripts/convert.nix +++ b/pkgs/applications/video/mpv/scripts/convert.nix @@ -1,5 +1,5 @@ { stdenv, fetchgit, lib -, yad, mkvtoolnix, libnotify }: +, yad, mkvtoolnix-cli, libnotify }: stdenv.mkDerivation { name = "mpv-convert-script-2016-03-18.lua"; @@ -19,7 +19,7 @@ stdenv.mkDerivation { substituteInPlace convert_script.lua \ ${subs "NOTIFY_CMD" "notify-send" "${libnotify}/bin/notify-send"} \ ${subs "YAD_CMD" "yad" "${yad}/bin/yad"} \ - ${subs "MKVMERGE_CMD" "mkvmerge" "${mkvtoolnix}/bin/mkvmerge"} + ${subs "MKVMERGE_CMD" "mkvmerge" "${mkvtoolnix-cli}/bin/mkvmerge"} ''; dontBuild = true; diff --git a/pkgs/applications/virtualization/remotebox/default.nix b/pkgs/applications/virtualization/remotebox/default.nix index cb84ad49aeb..40eadad68d0 100644 --- a/pkgs/applications/virtualization/remotebox/default.nix +++ b/pkgs/applications/virtualization/remotebox/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "remotebox-${version}"; - version = "2.2"; + version = "2.4"; src = fetchurl { url = "http://remotebox.knobgoblin.org.uk/downloads/RemoteBox-${version}.tar.bz2"; - sha256 = "0g7lx5zk9fk5k8alpag45z2zw9bnrlx1zfs63rc3ilfyvm4k4zc5"; + sha256 = "14zcpzpdb5gxkxvckcdwq3mfv8b18zirbdskzddhqxjddkzayckz"; }; buildInputs = with perlPackages; [ perl Glib Gtk2 Pango SOAPLite ]; diff --git a/pkgs/applications/virtualization/rkt/default.nix b/pkgs/applications/virtualization/rkt/default.nix index 452f082e20e..947f4454362 100644 --- a/pkgs/applications/virtualization/rkt/default.nix +++ b/pkgs/applications/virtualization/rkt/default.nix @@ -58,7 +58,7 @@ in stdenv.mkDerivation rec { cp -Rv $BUILDDIR/target/bin/stage1-*.aci $out/${stage1Dir}/ wrapProgram $out/bin/rkt \ - --prefix LD_LIBRARY_PATH : ${systemd.lib}/lib \ + --prefix LD_LIBRARY_PATH : "${systemd.lib}/lib:${acl.out}/lib" \ --prefix PATH : ${iptables}/bin ''; diff --git a/pkgs/development/compilers/ocaml/4.06.nix b/pkgs/development/compilers/ocaml/4.06.nix index b913d169e97..b54b8a6288f 100644 --- a/pkgs/development/compilers/ocaml/4.06.nix +++ b/pkgs/development/compilers/ocaml/4.06.nix @@ -1,8 +1,8 @@ import ./generic.nix { major_version = "4"; minor_version = "06"; - patch_version = "0"; - sha256 = "1dy542yfnnw10zvh5s9qzswliq11mg7l0bcyss3501qw3vwvadhj"; + patch_version = "1"; + sha256 = "1n3pygfssd6nkrq876wszm5nm3v4605q4k16a66h1nmq9wvf01vg"; # If the executable is stipped it does not work dontStrip = true; diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index d55c230dcc8..55f463885bd 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -471,10 +471,6 @@ self: super: builtins.intersectAttrs super { ''; }); - # Fails to link against with newer gsl versions because a deprecrated function - # was removed - hmatrix-gsl = super.hmatrix-gsl.override { gsl = pkgs.gsl_1; }; - # tests run executable, relying on PATH # without this, tests fail with "Couldn't launch intero process" intero = overrideCabal super.intero (drv: { diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 6940485788e..07b93f7bf69 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -343,8 +343,8 @@ in { }; php70 = generic { - version = "7.0.27"; - sha256 = "0ca174kp2l3fjcp8z0mqnkbjfhijjzz7rs7bkzg1qk2cpdijbylr"; + version = "7.0.28"; + sha256 = "0zrw0saqlfv60f3nmff7288wqfhdsfiqns4ys3ii0drzc6s92m5f"; }; php71 = generic { diff --git a/pkgs/development/libraries/catch/default.nix b/pkgs/development/libraries/catch/default.nix index 6c20f4d6c91..116216d500e 100644 --- a/pkgs/development/libraries/catch/default.nix +++ b/pkgs/development/libraries/catch/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "catch-${version}"; - version = "1.11.0"; + version = "1.12.0"; src = fetchFromGitHub { owner = "catchorg"; repo = "Catch"; rev = "v${version}"; - sha256 = "0v9yw7ydvhydp78hh7cmaif4h73k5qxqpm1g7xn8i882i3s84s2s"; + sha256 = "0hkcmycvyyazzi9dywnyiipnmbx399iirh5xk5g957c8zl0505kd"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/elementary-cmake-modules/default.nix b/pkgs/development/libraries/elementary-cmake-modules/default.nix new file mode 100644 index 00000000000..5287db75609 --- /dev/null +++ b/pkgs/development/libraries/elementary-cmake-modules/default.nix @@ -0,0 +1,28 @@ +{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig }: + +stdenv.mkDerivation { + name = "elementary-cmake-modules"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = "cmake-modules"; + rev = "319ec5336e9f05f3f22b886cc2053ef3d4b6599e"; + sha256 = "191hhvdxyqvh9axzndaqld7vrmv7xkn0czks908zhb2zpjhv9rby"; + }; + + prePatch = '' + substituteInPlace CMakeLists.txt \ + --replace ' ''${CMAKE_ROOT}/Modules' " $out/lib/cmake" + ''; + + propagatedBuildInputs = [ cmake pkgconfig ]; + + setupHook = ./setup-hook.sh; + + meta = with lib; { + platforms = platforms.linux ++ platforms.darwin; + homepage = https://github.com/elementary/cmake-modules; + license = licenses.gpl3Plus; + maintainers = [ maintainers.samdroid-apps ]; + }; +} diff --git a/pkgs/development/libraries/elementary-cmake-modules/setup-hook.sh b/pkgs/development/libraries/elementary-cmake-modules/setup-hook.sh new file mode 100644 index 00000000000..6408ac47157 --- /dev/null +++ b/pkgs/development/libraries/elementary-cmake-modules/setup-hook.sh @@ -0,0 +1,4 @@ +_elementaryCMakeEnvHook() { + cmakeFlagsArray+=(-DCMAKE_MODULE_PATH=@out@/lib/cmake) +} +addEnvHooks "$targetOffset" _elementaryCMakeEnvHook diff --git a/pkgs/development/libraries/readosm/default.nix b/pkgs/development/libraries/readosm/default.nix index cabd89dc935..7faee7e69a2 100644 --- a/pkgs/development/libraries/readosm/default.nix +++ b/pkgs/development/libraries/readosm/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, expat, zlib, geos, libspatialite }: stdenv.mkDerivation rec { - name = "readosm-1.0.0b"; + name = "readosm-1.1.0"; src = fetchurl { url = "http://www.gaia-gis.it/gaia-sins/readosm-sources/${name}.tar.gz"; - sha256 = "042pv31smc7l6y111rvp0hza5sw86wa8ldg2jyq78xgwzcbhszpd"; + sha256 = "1v20pnda67imjd70fn0zw30aar525xicy3d3v49md5cvqklws265"; }; buildInputs = [ expat zlib geos libspatialite ]; diff --git a/pkgs/development/libraries/stfl/default.nix b/pkgs/development/libraries/stfl/default.nix index 8a8680a498a..fd9ab5a2036 100644 --- a/pkgs/development/libraries/stfl/default.nix +++ b/pkgs/development/libraries/stfl/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ncurses, libiconv }: stdenv.mkDerivation rec { - name = "stfl-0.22"; + name = "stfl-0.24"; src = fetchurl { url = "http://www.clifford.at/stfl/${name}.tar.gz"; - sha256 = "062lqlf3qhp8bcapbpc0k3wym7x6ngncql8jmx5x06p6679szp9d"; + sha256 = "1460d5lc780p3q38l3wc9jfr2a7zlyrcra0li65aynj738cam9yl"; }; buildInputs = [ ncurses libiconv ]; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { DESTDIR=$out prefix=\"\" make install # some programs rely on libstfl.so.0 to be present, so link it - ln -s $out/lib/libstfl.so.0.22 $out/lib/libstfl.so.0 + ln -s $out/lib/libstfl.so.0.24 $out/lib/libstfl.so.0 ''; meta = { diff --git a/pkgs/development/node-packages/node-packages-v8.json b/pkgs/development/node-packages/node-packages-v8.json index 744894de4ff..8abdc0e608c 100644 --- a/pkgs/development/node-packages/node-packages-v8.json +++ b/pkgs/development/node-packages/node-packages-v8.json @@ -11,4 +11,5 @@ , "pnpm" , "semver" , "sloc" +, "npm" ] diff --git a/pkgs/development/node-packages/node-packages-v8.nix b/pkgs/development/node-packages/node-packages-v8.nix index ce7b70b3fdc..61752e7598c 100644 --- a/pkgs/development/node-packages/node-packages-v8.nix +++ b/pkgs/development/node-packages/node-packages-v8.nix @@ -283,6 +283,15 @@ let sha512 = "1kvjv5hs1c53b5g2vghpnncn4zj397sa0vpbx1pzpn8ngq52s3xq9923gnl2kzkh1mhyrl277jrh87a766yks89qvz8b4jczr44xr9p"; }; }; + "bencode-2.0.0" = { + name = "bencode"; + packageName = "bencode"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/bencode/-/bencode-2.0.0.tgz"; + sha512 = "3rdjlprrhprwwygnw5aik9pgi1xyr09yvgq3rbr4g3pl1v70mcc1k903x3vh9z782jly6vmnvp44nrskl5rhcxgfdwz19fl1b1qggf2"; + }; + }; "bitfield-rle-2.1.0" = { name = "bitfield-rle"; packageName = "bitfield-rle"; @@ -1768,13 +1777,13 @@ let sha512 = "2nbjxg0x7jsa14zhvx68w1vri68hsxzbxz7b7ap76fdp0jkrgna2rq636yxnax04f3f8i2ambj2fpan6qli6vixmfryz78vrapdip8n"; }; }; - "k-rpc-socket-1.7.2" = { + "k-rpc-socket-1.8.0" = { name = "k-rpc-socket"; packageName = "k-rpc-socket"; - version = "1.7.2"; + version = "1.8.0"; src = fetchurl { - url = "https://registry.npmjs.org/k-rpc-socket/-/k-rpc-socket-1.7.2.tgz"; - sha512 = "02w1ih1lh86i5ap7c3dy2ml7g5a11r0w300iyxdf6v02qr0j1x3vf78hx5q9dgg3drifab018mgm851m457zzzi05i2z2r1s3zlflc3"; + url = "https://registry.npmjs.org/k-rpc-socket/-/k-rpc-socket-1.8.0.tgz"; + sha512 = "0pc9bjnmgfjcgh49lclvz5qnlkzypgirlx5ji2nx15vfn00gwczy5hvfahcxdzcdqsjlwh7q8jw4zj8abdk8qx2cwiqdw8fgg557zvz"; }; }; "kind-of-3.2.2" = { @@ -3514,8 +3523,12 @@ in sources."json-stringify-safe-5.0.1" sources."jsprim-1.4.1" sources."k-bucket-3.3.1" - sources."k-rpc-4.2.1" - sources."k-rpc-socket-1.7.2" + (sources."k-rpc-4.2.1" // { + dependencies = [ + sources."bencode-2.0.0" + ]; + }) + sources."k-rpc-socket-1.8.0" sources."kind-of-3.2.2" sources."last-one-wins-1.0.4" sources."length-prefixed-message-3.0.3" @@ -4127,4 +4140,21 @@ in production = true; bypassCache = true; }; + npm = nodeEnv.buildNodePackage { + name = "npm"; + packageName = "npm"; + version = "5.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/npm/-/npm-5.6.0.tgz"; + sha512 = "0nnr796ik5h8bsd3k9ygivivr3na2ksnf5iipf8dsnn20j10i9sgmhmsnzbimd2pqgjbrpp8gbpl2q7j5c7yjqjfirrh8xcc3v3gpws"; + }; + buildInputs = globalBuildInputs; + meta = { + description = "a package manager for JavaScript"; + homepage = https://docs.npmjs.com/; + license = "Artistic-2.0"; + }; + production = true; + bypassCache = true; + }; } \ No newline at end of file diff --git a/pkgs/development/ocaml-modules/biniou/default.nix b/pkgs/development/ocaml-modules/biniou/default.nix index 7047edf24b3..97c4750002e 100644 --- a/pkgs/development/ocaml-modules/biniou/default.nix +++ b/pkgs/development/ocaml-modules/biniou/default.nix @@ -1,26 +1,30 @@ { stdenv, fetchFromGitHub, ocaml, findlib, jbuilder, easy-format }: stdenv.mkDerivation rec { - version = "1.2.0"; - name = "ocaml${ocaml.version}-biniou-${version}"; - src = fetchFromGitHub { - owner = "mjambon"; - repo = "biniou"; - rev = "v${version}"; - sha256 = "0mjpgwyfq2b2izjw0flmlpvdjgqpq8shs89hxj1np2r50csr8dcb"; - }; + version = "1.2.0"; + name = "ocaml${ocaml.version}-biniou-${version}"; + src = fetchFromGitHub { + owner = "mjambon"; + repo = "biniou"; + rev = "v${version}"; + sha256 = "0mjpgwyfq2b2izjw0flmlpvdjgqpq8shs89hxj1np2r50csr8dcb"; + }; - buildInputs = [ ocaml findlib jbuilder ]; + buildInputs = [ ocaml findlib jbuilder ]; - propagatedBuildInputs = [ easy-format ]; + propagatedBuildInputs = [ easy-format ]; - inherit (jbuilder) installPhase; + postPatch = '' + patchShebangs . + ''; - meta = { - inherit (src.meta) homepage; - inherit (ocaml.meta) platforms; - description = "Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve"; - maintainers = [ stdenv.lib.maintainers.vbgl ]; - license = stdenv.lib.licenses.bsd3; - }; + inherit (jbuilder) installPhase; + + meta = { + inherit (src.meta) homepage; + inherit (ocaml.meta) platforms; + description = "Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve"; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + license = stdenv.lib.licenses.bsd3; + }; } diff --git a/pkgs/development/python-modules/flake8-import-order/default.nix b/pkgs/development/python-modules/flake8-import-order/default.nix new file mode 100644 index 00000000000..128a8d18d81 --- /dev/null +++ b/pkgs/development/python-modules/flake8-import-order/default.nix @@ -0,0 +1,25 @@ +{ lib, buildPythonPackage, fetchPypi, isPy3k, enum34, pycodestyle, pytest, flake8, pylama }: + +buildPythonPackage rec { + pname = "flake8-import-order"; + version = "0.17"; + + src = fetchPypi { + inherit pname version; + sha256 = "60ea6674c77e4d916071beabf2b31b9b45e2f5b3bbda48a34db65766a5b25678"; + }; + + propagatedBuildInputs = [ pycodestyle ] ++ lib.optional (!isPy3k) enum34; + + checkInputs = [ pytest flake8 pycodestyle pylama ]; + + checkPhase = '' + pytest --strict + ''; + + meta = with lib; { + description = "Flake8 and pylama plugin that checks the ordering of import statements"; + homepage = https://github.com/PyCQA/flake8-import-order; + license = with licenses; [ lgpl3 mit ]; + }; +} diff --git a/pkgs/development/python-modules/jsonrpc-async/default.nix b/pkgs/development/python-modules/jsonrpc-async/default.nix index a0056ce2500..1018c536ff7 100644 --- a/pkgs/development/python-modules/jsonrpc-async/default.nix +++ b/pkgs/development/python-modules/jsonrpc-async/default.nix @@ -4,7 +4,6 @@ buildPythonPackage rec { pname = "jsonrpc-async"; version = "0.6"; - name = "${pname}-${version}"; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/jsonrpc-base/default.nix b/pkgs/development/python-modules/jsonrpc-base/default.nix index 01c0c3f4aa1..8dbe0738288 100644 --- a/pkgs/development/python-modules/jsonrpc-base/default.nix +++ b/pkgs/development/python-modules/jsonrpc-base/default.nix @@ -3,7 +3,6 @@ buildPythonPackage rec { pname = "jsonrpc-base"; version = "1.0"; - name = "${pname}-${version}"; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/jsonrpc-websocket/default.nix b/pkgs/development/python-modules/jsonrpc-websocket/default.nix index 8394913b298..b8a0c07d5a5 100644 --- a/pkgs/development/python-modules/jsonrpc-websocket/default.nix +++ b/pkgs/development/python-modules/jsonrpc-websocket/default.nix @@ -4,7 +4,6 @@ buildPythonPackage rec { pname = "jsonrpc-websocket"; version = "0.5"; - name = "${pname}-${version}"; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/pydocstyle/default.nix b/pkgs/development/python-modules/pydocstyle/default.nix index fd1f0db0c1e..a2f2daa2fe9 100644 --- a/pkgs/development/python-modules/pydocstyle/default.nix +++ b/pkgs/development/python-modules/pydocstyle/default.nix @@ -1,20 +1,30 @@ -{ stdenv, buildPythonPackage, fetchPypi, snowballstemmer, configparser, - pytest, pytestpep8, mock, pathlib }: +{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, pythonOlder +, snowballstemmer, six, configparser +, pytest, pytestpep8, mock, pathlib }: buildPythonPackage rec { pname = "pydocstyle"; version = "2.1.1"; - src = fetchPypi { - inherit pname version; - sha256 = "15ssv8l6cvrmzgwcdzw76rnl4np3qf0dbwr1wsx76y0hc7lwsnsd"; + # no tests on PyPI + # https://github.com/PyCQA/pydocstyle/issues/302 + src = fetchFromGitHub { + owner = "PyCQA"; + repo = pname; + rev = version; + sha256 = "1h0k8lpx14svc8dini62j0kqiam10pck5sdzvxa4xhsx7y689g5l"; }; - propagatedBuildInputs = [ snowballstemmer configparser ]; + propagatedBuildInputs = [ snowballstemmer six ] ++ lib.optional (!isPy3k) configparser; - checkInputs = [ pytest pytestpep8 mock pathlib ]; + checkInputs = [ pytest pytestpep8 mock ] ++ lib.optional (pythonOlder "3.4") pathlib; - meta = with stdenv.lib; { + checkPhase = '' + # test_integration.py installs packages via pip + py.test --pep8 --cache-clear -vv src/tests -k "not test_integration" + ''; + + meta = with lib; { description = "Python docstring style checker"; homepage = https://github.com/PyCQA/pydocstyle/; license = licenses.mit; diff --git a/pkgs/development/python-modules/pylama/default.nix b/pkgs/development/python-modules/pylama/default.nix new file mode 100644 index 00000000000..c4ef98b43ef --- /dev/null +++ b/pkgs/development/python-modules/pylama/default.nix @@ -0,0 +1,33 @@ +{ lib, buildPythonPackage, fetchPypi, fetchpatch +, mccabe, pycodestyle, pydocstyle, pyflakes +, pytest, ipdb }: + +buildPythonPackage rec { + pname = "pylama"; + version = "7.4.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "390c1dab1daebdf3d6acc923e551b035c3faa77d8b96b98530c230493f9ec712"; + }; + + patches = fetchpatch { + url = "${meta.homepage}/pull/116.patch"; + sha256 = "00jz5k2w0xahs1m3s603j6l4cwzz92qsbbk81fh17nq0f47999mv"; + }; + + propagatedBuildInputs = [ mccabe pycodestyle pydocstyle pyflakes ]; + + checkInputs = [ pytest ipdb ]; + + # tries to mess with the file system + doCheck = false; + + meta = with lib; { + description = "Code audit tool for python"; + homepage = https://github.com/klen/pylama; + # ambiguous license declarations: https://github.com/klen/pylama/issues/64 + license = licenses.lgpl3; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix index 194d91341d8..c38b71c7f47 100644 --- a/pkgs/development/python-modules/pylint/default.nix +++ b/pkgs/development/python-modules/pylint/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { buildInputs = [ pytest pytestrunner mccabe configparser backports_functools_lru_cache ]; - propagatedBuildInputs = [ astroid configparser isort ]; + propagatedBuildInputs = [ astroid configparser isort mccabe ]; postPatch = '' # Remove broken darwin tests diff --git a/pkgs/development/python-modules/pyunifi/default.nix b/pkgs/development/python-modules/pyunifi/default.nix index bbf98c32874..31ec613df4c 100644 --- a/pkgs/development/python-modules/pyunifi/default.nix +++ b/pkgs/development/python-modules/pyunifi/default.nix @@ -4,7 +4,6 @@ buildPythonPackage rec { pname = "pyunifi"; version = "2.13"; - name = "${pname}-${version}"; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/wakeonlan/default.nix b/pkgs/development/python-modules/wakeonlan/default.nix index 3d57000e889..d4a47138d4a 100644 --- a/pkgs/development/python-modules/wakeonlan/default.nix +++ b/pkgs/development/python-modules/wakeonlan/default.nix @@ -3,7 +3,6 @@ buildPythonPackage rec { pname = "wakeonlan"; version = "1.0.0"; - name = "${pname}-${version}"; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index 8da6355e001..ac0b2dd07f8 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -139,8 +139,9 @@ in }; grpc = attrs: { - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ openssl ]; + NIX_CFLAGS_COMPILE = [ "-Wno-error=stringop-overflow" "-Wno-error=implicit-fallthrough" ]; }; hitimes = attrs: { diff --git a/pkgs/development/tools/build-managers/bear/cmakepaths.patch b/pkgs/development/tools/build-managers/bear/cmakepaths.patch new file mode 100644 index 00000000000..d237267078e --- /dev/null +++ b/pkgs/development/tools/build-managers/bear/cmakepaths.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 04c5c58..429ca47 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,7 +24,7 @@ set(CMAKE_OSX_ARCHITECTURES "i386;x86_64" CACHE STRING "Rogue") + + set(EAR_LIB_FILE ${CMAKE_SHARED_LIBRARY_PREFIX}ear${CMAKE_SHARED_LIBRARY_SUFFIX}) + set(EAR_LIB_PATH "${CMAKE_INSTALL_LIBDIR}/bear") +-set(DEFAULT_PRELOAD_FILE ${CMAKE_INSTALL_PREFIX}/${EAR_LIB_PATH}/${EAR_LIB_FILE} CACHE STRING "Default path to libear.") ++set(DEFAULT_PRELOAD_FILE ${EAR_LIB_PATH}/${EAR_LIB_FILE} CACHE STRING "Default path to libear.") + + add_subdirectory(libear) + add_subdirectory(bear) diff --git a/pkgs/development/tools/build-managers/bear/default.nix b/pkgs/development/tools/build-managers/bear/default.nix index 6afec72de5f..8f352f84b22 100644 --- a/pkgs/development/tools/build-managers/bear/default.nix +++ b/pkgs/development/tools/build-managers/bear/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { doCheck = false; # all fail - patches = [ ./ignore_wrapper.patch ]; + patches = [ ./ignore_wrapper.patch ./cmakepaths.patch ]; meta = with stdenv.lib; { description = "Tool that generates a compilation database for clang tooling"; @@ -28,6 +28,6 @@ stdenv.mkDerivation rec { homepage = https://github.com/rizsotto/Bear; license = licenses.gpl3Plus; platforms = platforms.unix; - maintainers = [ maintainers.vcunat ]; + maintainers = [ maintainers.vcunat maintainers.babariviere ]; }; } diff --git a/pkgs/development/tools/geckodriver/default.nix b/pkgs/development/tools/geckodriver/default.nix index 8f6e0dde589..9bc760bf112 100644 --- a/pkgs/development/tools/geckodriver/default.nix +++ b/pkgs/development/tools/geckodriver/default.nix @@ -1,20 +1,24 @@ { lib -, fetchurl +, fetchFromGitHub , rustPlatform }: with rustPlatform; buildRustPackage rec { - version = "0.19.1"; + version = "unstable-2018-02-24"; name = "geckodriver-${version}"; - src = fetchurl { - url = "https://github.com/mozilla/geckodriver/archive/v${version}.tar.gz"; - sha256 = "04zpv4aiwbig466yj24hhazl5hrapkyvwlhvg0za5599ykzdv47m"; + src = fetchFromGitHub { + owner = "mozilla"; + repo = "gecko-dev"; + rev = "ecb86060b4c5a9808798b81a57e79e821bb47082"; + sha256 = "1am84a60adw0bb12rlhdqbiwyywhza4qp5sf4f4fmssjl2qcr6nl"; }; - cargoSha256 = "1cny8caqcd9p98hra1k7y4d3lb8sxsyaplr0svbwam0d2qc1c257"; + sourceRoot = "${src.name}/testing/geckodriver"; + + cargoSha256 = "0dvcvdb623jla29i93glx20nf8pbpfw6jj548ii6brzkcpafxxm8"; meta = with lib; { description = "Proxy for using W3C WebDriver-compatible clients to interact with Gecko-based browsers"; diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix index ff4ad83b642..34d1d8a829b 100644 --- a/pkgs/development/tools/misc/ccache/default.nix +++ b/pkgs/development/tools/misc/ccache/default.nix @@ -1,18 +1,25 @@ -{ stdenv, fetchurl, fetchpatch, runCommand, zlib, makeWrapper }: +{ stdenv, fetchurl, fetchpatch, runCommand, perl, zlib, makeWrapper }: let ccache = stdenv.mkDerivation rec { name = "ccache-${version}"; - version = "3.3.5"; + version = "3.4.1"; src = fetchurl { - sha256 = "1iih5d171rq29366c1z90dri2h8173yyc8rm2740wxiqx6k7c18r"; + sha256 = "1pppi4jbkkj641cdynmc35jaj40jjicw7gj75ran5qs5886jcblc"; url = "mirror://samba/ccache/${name}.tar.xz"; }; + nativeBuildInputs = [ perl ]; + buildInputs = [ zlib ]; + outputs = [ "out" "man" ]; + # non to be fail on filesystems with unconventional blocksizes (zfs on Hydra?) - patches = [ ./skip-fs-dependent-test.patch ]; + patches = [ + ./fix-debug-prefix-map-suite.patch + ./skip-fs-dependent-test.patch + ]; postPatch = '' substituteInPlace Makefile.in --replace 'objs) $(extra_libs)' 'objs)' diff --git a/pkgs/development/tools/misc/ccache/fix-debug-prefix-map-suite.patch b/pkgs/development/tools/misc/ccache/fix-debug-prefix-map-suite.patch new file mode 100644 index 00000000000..98a6fbf10bf --- /dev/null +++ b/pkgs/development/tools/misc/ccache/fix-debug-prefix-map-suite.patch @@ -0,0 +1,42 @@ +--- a/test/suites/debug_prefix_map.bash ++++ b/test/suites/debug_prefix_map.bash +@@ -29,7 +29,7 @@ + expect_stat 'cache hit (preprocessed)' 0 + expect_stat 'cache miss' 1 + expect_stat 'files in cache' 2 +- if grep -E "[^=]`pwd`[^=]" test.o >/dev/null 2>&1; then ++ if objdump -g test.o | grep ": `pwd`$" >/dev/null 2>&1; then + test_failed "Source dir (`pwd`) found in test.o" + fi + +@@ -39,7 +39,7 @@ + expect_stat 'cache hit (preprocessed)' 0 + expect_stat 'cache miss' 1 + expect_stat 'files in cache' 2 +- if grep -E "[^=]`pwd`[^=]" test.o >/dev/null 2>&1; then ++ if objdump -g test.o | grep ": `pwd`$" >/dev/null 2>&1; then + test_failed "Source dir (`pwd`) found in test.o" + fi + +@@ -52,10 +52,10 @@ + expect_stat 'cache hit (preprocessed)' 0 + expect_stat 'cache miss' 1 + expect_stat 'files in cache' 2 +- if grep -E "[^=]`pwd`[^=]" test.o >/dev/null 2>&1; then ++ if objdump -g test.o | grep ": `pwd`$" >/dev/null 2>&1; then + test_failed "Source dir (`pwd`) found in test.o" + fi +- if ! grep "name" test.o >/dev/null 2>&1; then ++ if ! objdump -g test.o | grep ": name$" >/dev/null 2>&1; then + test_failed "Relocation (name) not found in test.o" + fi + +@@ -65,7 +65,7 @@ + expect_stat 'cache hit (preprocessed)' 0 + expect_stat 'cache miss' 1 + expect_stat 'files in cache' 2 +- if grep -E "[^=]`pwd`[^=]" test.o >/dev/null 2>&1; then ++ if objdump -g test.o | grep ": `pwd`$" >/dev/null 2>&1; then + test_failed "Source dir (`pwd`) found in test.o" + fi + } diff --git a/pkgs/development/tools/misc/ccache/skip-fs-dependent-test.patch b/pkgs/development/tools/misc/ccache/skip-fs-dependent-test.patch index 3bc3a95e420..7b233df6531 100644 --- a/pkgs/development/tools/misc/ccache/skip-fs-dependent-test.patch +++ b/pkgs/development/tools/misc/ccache/skip-fs-dependent-test.patch @@ -1,6 +1,6 @@ ---- a/test.sh -+++ b/test.sh -@@ -2669,23 +2669,6 @@ SUITE_cleanup() { +--- a/test/suites/cleanup.bash ++++ b/test/suites/cleanup.bash +@@ -94,23 +94,6 @@ $CCACHE -F 0 -M 256K >/dev/null CCACHE_LOGFILE=/tmp/foo $CCACHE -c >/dev/null diff --git a/pkgs/games/freecell-solver/default.nix b/pkgs/games/freecell-solver/default.nix index dd14edf8eb1..263bf5c29df 100644 --- a/pkgs/games/freecell-solver/default.nix +++ b/pkgs/games/freecell-solver/default.nix @@ -6,11 +6,11 @@ with stdenv.lib; stdenv.mkDerivation rec{ name = "freecell-solver-${version}"; - version = "4.8.0"; + version = "4.16.0"; src = fetchurl { url = "http://fc-solve.shlomifish.org/downloads/fc-solve/${name}.tar.xz"; - sha256 = "0274l1p71ps222i62whqfkg80fcc8m4w2hmpbrbbd5gh8kfpman3"; + sha256 = "1ihrmxbsli7c1lm5gw9xgrakyn4nsmaj1zgk5gza2ywnfpgdb0ac"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/games/pioneer/default.nix b/pkgs/games/pioneer/default.nix index c0053088db7..071218c1600 100644 --- a/pkgs/games/pioneer/default.nix +++ b/pkgs/games/pioneer/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { name = "pioneer-${version}"; - version = "20171001"; + version = "20180203"; src = fetchFromGitHub{ owner = "pioneerspacesim"; repo = "pioneer"; rev = version; - sha256 = "0yxw1zdvidrwc28vxfi3qpx2nq2dix2d6ylwgzq9ph8kgwv9fl5n"; + sha256 = "0hp2mf36kj2v93hka8m8lxw2qhmnjc62wjlpw7c7ix0r8xa01i6h"; }; nativeBuildInputs = [ autoconf automake pkgconfig ]; diff --git a/pkgs/games/rocksndiamonds/default.nix b/pkgs/games/rocksndiamonds/default.nix index caaedc44ee0..d563a8265b5 100644 --- a/pkgs/games/rocksndiamonds/default.nix +++ b/pkgs/games/rocksndiamonds/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "${project}-${version}"; project = "rocksndiamonds"; - version = "4.0.0.2"; + version = "4.0.1.1"; src = fetchurl { url = "https://www.artsoft.org/RELEASES/unix/${project}/${name}.tar.gz"; - sha256 = "0dzn6vlayvnkjm64zwva337rn07lc21kq93m2h8zz8j3wpl11pb4"; + sha256 = "0f2m29m53sngg2kv4km91nxbr53rzhchbpqx5dzrv3p5hq1hp936"; }; desktopItem = makeDesktopItem { diff --git a/pkgs/os-specific/linux/tp_smapi/default.nix b/pkgs/os-specific/linux/tp_smapi/default.nix index 9c8bf559751..25eeb889cc2 100644 --- a/pkgs/os-specific/linux/tp_smapi/default.nix +++ b/pkgs/os-specific/linux/tp_smapi/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "tp_smapi-${version}-${kernel.version}"; - version = "unstable-2017-12-04"; + version = "0.43"; src = fetchFromGitHub { owner = "evgeni"; repo = "tp_smapi"; - rev = "76c5120f7be4880cf2c6801f872327e4e70c449f"; - sha256 = "0g8l7rmylspl17qnqpa2h4yj7h3zvy6xlmj5nlnixds9avnbz2vy"; + rev = "tp-smapi/${version}"; + sha256 = "1rjb0njckczc2mj05cagvj0lkyvmyk6bw7wkiinv81lw8m90g77g"; name = "tp-smapi-${version}"; }; diff --git a/pkgs/servers/radarr/default.nix b/pkgs/servers/radarr/default.nix index 3eba04f44fb..dc3bc22af49 100644 --- a/pkgs/servers/radarr/default.nix +++ b/pkgs/servers/radarr/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "radarr-${version}"; - version = "0.2.0.910"; + version = "0.2.0.980"; src = fetchurl { url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.develop.${version}.linux.tar.gz"; - sha256 = "0c4msk6hvlqyy81xkjhsvsy4igpc01s4a00zwhqnds2gj4y9yplk"; + sha256 = "1939mmlp9hsmw0hd4c8m8p5fk6igvml30gk9ffi9mfhankas6fnf"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/servers/sql/mysql/5.7.x.nix b/pkgs/servers/sql/mysql/5.7.x.nix index 0b277821876..0c04f910e5b 100644 --- a/pkgs/servers/sql/mysql/5.7.x.nix +++ b/pkgs/servers/sql/mysql/5.7.x.nix @@ -49,6 +49,7 @@ self = stdenv.mkDerivation rec { "-DINSTALL_SHAREDIR=share/mysql" ]; + CXXFLAGS = "-fpermissive"; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; prePatch = '' diff --git a/pkgs/servers/sql/postgresql/pgroonga/default.nix b/pkgs/servers/sql/postgresql/pgroonga/default.nix index 78ad88bc904..1e995537c88 100644 --- a/pkgs/servers/sql/postgresql/pgroonga/default.nix +++ b/pkgs/servers/sql/postgresql/pgroonga/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "pgroonga-${version}"; - version = "1.1.9"; + version = "2.0.2"; src = fetchurl { url = "http://packages.groonga.org/source/pgroonga/${name}.tar.gz"; - sha256 = "07afgwll8nxfb7ziw3qrvw0ryjjw3994vj2f6alrjwpg7ynb46ag"; + sha256 = "0023747i2x3j50z54l78maq7dya5ldd2sdydn6l5l7k6b6g4yr2d"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/tools/filesystems/reiser4progs/default.nix b/pkgs/tools/filesystems/reiser4progs/default.nix index 681fc1c80ef..59d8e8aa438 100644 --- a/pkgs/tools/filesystems/reiser4progs/default.nix +++ b/pkgs/tools/filesystems/reiser4progs/default.nix @@ -1,12 +1,12 @@ {stdenv, fetchurl, libaal}: -let version = "1.1.0"; in +let version = "1.2.1"; in stdenv.mkDerivation rec { name = "reiser4progs-${version}"; src = fetchurl { url = "mirror://sourceforge/reiser4/reiser4-utils/${name}.tar.gz"; - sha256 = "18bgv0wd75q53642x5dsk4g0mil1hw1zrp7a4xkb0pxx4bzjlbqg"; + sha256 = "03vdqvpyd48wxrpqpb9kg76giaffw9b8k334kr4wc0zxgybknhl7"; }; buildInputs = [libaal]; diff --git a/pkgs/tools/graphics/scanbd/default.nix b/pkgs/tools/graphics/scanbd/default.nix index ba376af1c3c..402628f0fc8 100644 --- a/pkgs/tools/graphics/scanbd/default.nix +++ b/pkgs/tools/graphics/scanbd/default.nix @@ -3,10 +3,10 @@ stdenv.mkDerivation rec { name = "scanbd-${version}"; - version = "1.4.4"; + version = "1.5.1"; src = fetchurl { - sha256 = "07a59jk9b2hh49v5lcpckp64f5lny9sq8h0h2p2jcs9cqazf6q9s"; + sha256 = "0pvy4qirfjdfm8aj6x5rkbgl7hk3jfa2s21qkk8ic5dqfjjab75n"; url = "mirror://sourceforge/scanbd/${name}.tgz"; }; diff --git a/pkgs/tools/misc/esptool/default.nix b/pkgs/tools/misc/esptool/default.nix index 33624302ebc..1d7c47c2c9a 100644 --- a/pkgs/tools/misc/esptool/default.nix +++ b/pkgs/tools/misc/esptool/default.nix @@ -2,23 +2,23 @@ python3.pkgs.buildPythonApplication rec { name = "esptool-${version}"; - version = "2.1"; + version = "2.3.1"; src = fetchFromGitHub { owner = "espressif"; repo = "esptool"; rev = "v${version}"; - sha256 = "137p0kcscly95qpjzgx1yxm8k2wf5y9v3srvlhp2ajniirgv8ijv"; + sha256 = "0gwnl6z5s2ax07l3n38h9hdyz71pn8lzn4fybcwyrii0bj2kapvc"; }; - buildInputs = with python3.pkgs; [ flake8 flake8-future-import ]; + checkInputs = with python3.pkgs; [ flake8 flake8-future-import flake8-import-order ]; propagatedBuildInputs = with python3.pkgs; [ pyserial pyaes ecdsa openssl ]; meta = with stdenv.lib; { description = "ESP8266 and ESP32 serial bootloader utility"; homepage = https://github.com/espressif/esptool; license = licenses.gpl2; - maintainers = [ maintainers.dezgeg ]; + maintainers = with maintainers; [ dezgeg dotlambda ]; platforms = platforms.linux; }; } diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix index 503f0df331c..c07420821ed 100644 --- a/pkgs/tools/misc/exa/default.nix +++ b/pkgs/tools/misc/exa/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchFromGitHub, rustPlatform, cmake, perl, pkgconfig, zlib }: +{ stdenv, fetchFromGitHub, rustPlatform, cmake, perl, pkgconfig, zlib +, darwin, libiconv +}: with rustPlatform; @@ -16,7 +18,10 @@ buildRustPackage rec { }; nativeBuildInputs = [ cmake pkgconfig perl ]; - buildInputs = [ zlib ]; + buildInputs = [ zlib ] + ++ stdenv.lib.optionals stdenv.isDarwin [ + libiconv darwin.apple_sdk.frameworks.Security ] + ; # Some tests fail, but Travis ensures a proper build doCheck = false; diff --git a/pkgs/tools/misc/phraseapp-client/default.nix b/pkgs/tools/misc/phraseapp-client/default.nix index d5908210cbd..b4cfe7b26c0 100644 --- a/pkgs/tools/misc/phraseapp-client/default.nix +++ b/pkgs/tools/misc/phraseapp-client/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "phraseapp-client-${version}"; - version = "1.4.5"; + version = "1.6.0"; goPackagePath = "github.com/phrase/phraseapp-client"; subPackages = [ "." ]; @@ -11,7 +11,7 @@ buildGoPackage rec { owner = "phrase"; repo = "phraseapp-client"; rev = version; - sha256 = "0zky7jcs7h6zmvkb0na4la6h7g63jlrziifqk831fd1gspdzgajp"; + sha256 = "0rgwl0rgkci045hg36s0q8jwkni1hzapqpi0mc0gk3rl7nagw622"; }; meta = with stdenv.lib; { diff --git a/pkgs/tools/networking/s3cmd/default.nix b/pkgs/tools/networking/s3cmd/default.nix index 887cd09b6eb..c3d60d8e87b 100644 --- a/pkgs/tools/networking/s3cmd/default.nix +++ b/pkgs/tools/networking/s3cmd/default.nix @@ -2,13 +2,13 @@ python2Packages.buildPythonApplication rec { name = "s3cmd-${version}"; - version = "1.6.1"; + version = "2.0.1"; src = fetchFromGitHub { owner = "s3tools"; repo = "s3cmd"; rev = "v${version}"; - sha256 = "0aan6v1qj0pdkddhhkbaky44d54irm1pa8mkn52i2j86nb2rkcf9"; + sha256 = "198hzzplci57sb8hdan30nbakslawmijfw0j71wjvq85n3xn6qsl"; }; propagatedBuildInputs = with python2Packages; [ python_magic dateutil ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4c2f6d58343..c22c040299e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7159,6 +7159,8 @@ with pkgs; red = callPackage ../development/interpreters/red { }; + regextester = callPackage ../applications/misc/regextester { }; + regina = callPackage ../development/interpreters/regina { }; inherit (ocamlPackages) reason; @@ -9117,6 +9119,7 @@ with pkgs; gnome-sharp = callPackage ../development/libraries/gnome-sharp {}; granite = callPackage ../development/libraries/granite { }; + elementary-cmake-modules = callPackage ../development/libraries/elementary-cmake-modules { }; gtk2 = callPackage ../development/libraries/gtk+/2.x.nix { cupsSupport = config.gtk2.cups or stdenv.isLinux; @@ -10461,7 +10464,7 @@ with pkgs; ffmpeg = ffmpeg_2; }; - mkvtoolnix = callPackage ../applications/video/mkvtoolnix { }; + mkvtoolnix = libsForQt5.callPackage ../applications/video/mkvtoolnix { }; mkvtoolnix-cli = callPackage ../applications/video/mkvtoolnix { withGUI = false; @@ -16533,6 +16536,8 @@ with pkgs; mm = callPackage ../applications/networking/instant-messengers/mm { }; + mpc-qt = libsForQt5.callPackage ../applications/video/mpc-qt { }; + mplayer = callPackage ../applications/video/mplayer ({ pulseSupport = config.pulseaudio or false; libdvdnav = libdvdnav_4_2_1; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a4b6ddacf80..5dcfd9b348f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6004,6 +6004,8 @@ in { pyhomematic = callPackage ../development/python-modules/pyhomematic { }; + pylama = callPackage ../development/python-modules/pylama { }; + pyphen = callPackage ../development/python-modules/pyphen {}; pypoppler = buildPythonPackage rec { @@ -7556,6 +7558,8 @@ in { flake8-future-import = callPackage ../development/python-modules/flake8-future-import { }; + flake8-import-order = callPackage ../development/python-modules/flake8-import-order { }; + flaky = buildPythonPackage rec { name = "flaky-${version}"; version = "3.1.0";