diff --git a/nixos/modules/services/editors/infinoted.nix b/nixos/modules/services/editors/infinoted.nix index 963147b18a0..9074a4345ea 100644 --- a/nixos/modules/services/editors/infinoted.nix +++ b/nixos/modules/services/editors/infinoted.nix @@ -129,7 +129,7 @@ in { serviceConfig = { Type = "simple"; Restart = "always"; - ExecStart = "${cfg.package}/bin/infinoted-0.6 --config-file=/var/lib/infinoted/infinoted.conf"; + ExecStart = "${cfg.package}/bin/infinoted-${versions.majorMinor cfg.package.version} --config-file=/var/lib/infinoted/infinoted.conf"; User = cfg.user; Group = cfg.group; PermissionsStartOnly = true; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix index b439a83e7aa..8dbf2d735ab 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix @@ -7,14 +7,80 @@ let in { port = 9131; + extraOpts = { + noExit = mkOption { + type = types.bool; + default = false; + description = '' + Do not exit server on Varnish scrape errors. + ''; + }; + withGoMetrics = mkOption { + type = types.bool; + default = false; + description = '' + Export go runtime and http handler metrics. + ''; + }; + verbose = mkOption { + type = types.bool; + default = false; + description = '' + Enable verbose logging. + ''; + }; + raw = mkOption { + type = types.bool; + default = false; + description = '' + Enable raw stdout logging without timestamps. + ''; + }; + varnishStatPath = mkOption { + type = types.str; + default = "varnishstat"; + description = '' + Path to varnishstat. + ''; + }; + instance = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + varnishstat -n value. + ''; + }; + healthPath = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Path under which to expose healthcheck. Disabled unless configured. + ''; + }; + telemetryPath = mkOption { + type = types.str; + default = "/metrics"; + description = '' + Path under which to expose metrics. + ''; + }; + }; serviceOpts = { path = [ pkgs.varnish ]; serviceConfig = { DynamicUser = true; ExecStart = '' ${pkgs.prometheus-varnish-exporter}/bin/prometheus_varnish_exporter \ - -web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ - ${concatStringsSep " \\\n " cfg.extraFlags} + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + --web.telemetry-path ${cfg.telemetryPath} \ + --varnishstat-path ${cfg.varnishStatPath} \ + ${concatStringsSep " \\\n " (cfg.extraFlags + ++ optional (cfg.healthPath != null) "--web.health-path ${cfg.healthPath}" + ++ optional (cfg.instance != null) "-n ${cfg.instance}" + ++ optional cfg.noExit "--no-exit" + ++ optional cfg.withGoMetrics "--with-go-metrics" + ++ optional cfg.verbose "--verbose" + ++ optional cfg.raw "--raw")} ''; }; }; diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index 87bf440ed4f..32481873669 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -9,7 +9,7 @@ let # Latest version number can be found at: # http://repository-origin.spotify.com/pool/non-free/s/spotify-client/ # Be careful not to pick the testing version. - version = "1.0.77.338.g758ebd78-41"; + version = "1.0.79.223.g92622cc2-21"; deps = [ alsaLib @@ -54,7 +54,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb"; - sha256 = "1971jc0431pl8yixpl37ryl2l0pqdf0xjvkg59nqdwj3vbdx5606"; + sha256 = "1x1rpprzin4cmz1spzw036b4phd0yk1v7idlrcy4pkv97b4g5dw6"; }; buildInputs = [ dpkg makeWrapper ]; diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix index 252c6d878d0..d12b1327e8f 100644 --- a/pkgs/applications/office/gnucash/default.nix +++ b/pkgs/applications/office/gnucash/default.nix @@ -1,63 +1,81 @@ -{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk2, libgnomeui, libofx -, libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui -, intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade -, libgsf, libart_lgpl, perlPackages, aqbanking, gwenhywfar +{ fetchurl, stdenv, pkgconfig, makeWrapper, cmake, gtest +, boost, icu, libxml2, libxslt, gettext, swig, isocodes, gtk3, glibcLocales +, webkit, dconf, hicolor-icon-theme, libofx, aqbanking, gwenhywfar, libdbi +, libdbiDrivers, guile, perl, perlPackages }: -/* If you experience GConf errors when running GnuCash on NixOS, see - * http://wiki.nixos.org/wiki/Solve_GConf_errors_when_running_GNOME_applications - * for a possible solution. - */ +let + + # Enable gnc-fq-* to run in command line. + perlWrapper = stdenv.mkDerivation { + name = perl.name + "-wrapper-for-gnucash"; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ perl ] ++ (with perlPackages; [ FinanceQuote DateManip ]); + phases = [ "installPhase" ]; + installPhase = '' + mkdir -p $out/bin + for script in ${perl}/bin/*; do + makeWrapper $script $out''${script#${perl}} \ + --prefix "PERL5LIB" ":" "$PERL5LIB" + done + ''; + }; + +in stdenv.mkDerivation rec { - name = "gnucash-2.4.15"; + name = "gnucash-${version}"; + version = "3.1-1"; src = fetchurl { url = "mirror://sourceforge/gnucash/${name}.tar.bz2"; - sha256 = "058mgfwic6a2g7jq6iip5hv45md1qaxy25dj4lvlzjjr141wm4gx"; + sha256 = "0qfjpmr6hnr0v7l2fi00rilnlyan4kqiyygyidxlpdxqqg76dvx1"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ - libxml2 gconf glib gtk2 libgnomeui libgtkhtml gtkhtml - libgnomeprint goffice enchant gettext intltool perl guile slibGuile - swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl - perlPackages.DateManip perlPackages.FinanceQuote aqbanking gwenhywfar - ]; - propagatedUserEnvPkgs = [ gconf ]; + nativeBuildInputs = [ pkgconfig makeWrapper cmake gtest ]; - configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx --enable-aqbanking"; + buildInputs = [ + boost icu libxml2 libxslt gettext swig isocodes gtk3 glibcLocales + webkit dconf hicolor-icon-theme libofx aqbanking gwenhywfar libdbi + libdbiDrivers guile perlWrapper + ]; + + propagatedUserEnvPkgs = [ dconf ]; + + postPatch = '' + patchShebangs . + ''; + + makeFlags = [ "GUILE_AUTO_COMPILE=0" ]; postInstall = '' # Auto-updaters don't make sense in Nix. rm $out/bin/gnc-fq-update - sed -i $out/bin/update-gnucash-gconf \ - -e 's|--config-source=[^ ]* --install-schema-file|--makefile-install-rule|' + # Unnecessary in the release build. + rm $out/bin/gnucash-valgrind - for prog in $(echo "$out/bin/"*) - do - # Don't wrap the gnc-fq-* scripts, since gnucash calls them as - # "perl