diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 775afaae1fb..a15800d177b 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -333,6 +333,7 @@ ocharles = "Oliver Charles "; odi = "Oliver Dunkl "; offline = "Jaka Hudoklin "; + oida = "oida "; okasu = "Okasu "; olcai = "Erik Timan "; olejorgenb = "Ole Jørgen Brønner "; diff --git a/nixos/modules/services/web-apps/atlassian/crowd.nix b/nixos/modules/services/web-apps/atlassian/crowd.nix index 5e79678023d..ada26f8057b 100644 --- a/nixos/modules/services/web-apps/atlassian/crowd.nix +++ b/nixos/modules/services/web-apps/atlassian/crowd.nix @@ -6,7 +6,12 @@ let cfg = config.services.crowd; - pkg = pkgs.atlassian-crowd; + pkg = pkgs.atlassian-crowd.override { + home = cfg.home; + port = cfg.listenPort; + proxyUrl = "${cfg.proxy.scheme}://${cfg.proxy.name}:${toString cfg.proxy.port}"; + openidPassword = cfg.openidPassword; + }; in @@ -45,6 +50,11 @@ in description = "Port to listen on."; }; + openidPassword = mkOption { + type = types.str; + description = "Application password for OpenID server."; + }; + catalinaOptions = mkOption { type = types.listOf types.str; default = []; @@ -119,10 +129,10 @@ in }; preStart = '' - mkdir -p ${cfg.home}/{logs,work} + mkdir -p ${cfg.home}/{logs,work,database} mkdir -p /run/atlassian-crowd - ln -sf ${cfg.home}/{work,server.xml} /run/atlassian-crowd + ln -sf ${cfg.home}/{database,work,server.xml} /run/atlassian-crowd chown -R ${cfg.user} ${cfg.home} @@ -134,7 +144,6 @@ in ''; script = "${pkg}/start_crowd.sh"; - #stopScript = "${pkg}/bin/stop_crowd.sh"; serviceConfig = { User = cfg.user; diff --git a/pkgs/applications/misc/terminator/default.nix b/pkgs/applications/misc/terminator/default.nix index 29befb7f25a..3959ad88ece 100644 --- a/pkgs/applications/misc/terminator/default.nix +++ b/pkgs/applications/misc/terminator/default.nix @@ -1,19 +1,28 @@ -{ stdenv, fetchurl, pythonPackages, keybinder, vte, gettext, intltool }: +{ stdenv, fetchurl, pythonPackages, pango, keybinder, vte, gettext, intltool, file +}: pythonPackages.buildPythonApplication rec { name = "terminator-${version}"; - version = "0.98"; - + version = "1.0"; + src = fetchurl { url = "https://launchpad.net/terminator/trunk/${version}/+download/${name}.tar.gz"; - sha256 = "1h965z06dsfk38byyhnsrscd9r91qm92ggwgjrh7xminzsgqqv8a"; + sha256 = "1pfspcxsbax8a835kcld32fax6vcxsn1fmkny9zzvi4icplhkal8"; }; - - propagatedBuildInputs = with pythonPackages; [ pygtk notify keybinder vte gettext intltool ]; - #setupPyBuildFlags = [ "--without-icon-cache" ]; + nativeBuildInputs = [ file intltool ]; - doCheck = false; + pythonPath = with pythonPackages; [ + pygtk pygobject2 vte keybinder notify gettext pango psutil + ]; + + postPatch = '' + patchShebangs . + ''; + + checkPhase = '' + ./run_tests + ''; meta = with stdenv.lib; { description = "Terminal emulator with support for tiling and tabs"; @@ -25,7 +34,7 @@ pythonPackages.buildPythonApplication rec { ''; homepage = http://gnometerminator.blogspot.no/p/introduction.html; license = licenses.gpl2; - maintainers = [ maintainers.bjornfor ]; + maintainers = with maintainers; [ bjornfor globin ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix index a170b7fbab8..3b0eb140516 100644 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ b/pkgs/applications/networking/browsers/firefox/default.nix @@ -5,6 +5,7 @@ , hunspell, libevent, libstartup_notification, libvpx , cairo, gstreamer, gst_plugins_base, icu, libpng, jemalloc, libpulseaudio , autoconf213, which +, writeScript, xidel, coreutils, gnused, gnugrep, curl, ed , enableGTK3 ? false , debugBuild ? false , # If you want the resulting program to call itself "Firefox" instead @@ -19,7 +20,7 @@ assert stdenv.cc ? libc && stdenv.cc.libc != null; let -common = { pname, version, sha512 }: stdenv.mkDerivation rec { +common = { pname, version, sha512, updateScript }: stdenv.mkDerivation rec { name = "${pname}-unwrapped-${version}"; src = fetchurl { @@ -135,7 +136,7 @@ common = { pname, version, sha512 }: stdenv.mkDerivation rec { }; passthru = { - inherit nspr version; + inherit nspr version updateScript; gtk = gtk2; isFirefox3Like = true; browserName = "firefox"; @@ -148,13 +149,22 @@ in { firefox-unwrapped = common { pname = "firefox"; version = "50.1.0"; - sha512 = "2jwpk3aymkcq9f4xhzc31sb1c90vy3dvyqq2hvw97vk9dw7rgvv2cki10ns5cshbc4k57yd3j8nm7ppy2kw6na6771mj6sbijdjw39p"; + sha512 = "370d2e9b8c4b1b59c3394659c3a7f0f79e6a911ccd9f32095b50b3a22d087132b1f7cb87b734f7497c4381b1df6df80d120b4b87c13eecc425cc66f56acccba5"; + updateScript = import ./update.nix { + name = "firefox"; + inherit writeScript xidel coreutils gnused gnugrep curl ed; + }; }; firefox-esr-unwrapped = common { pname = "firefox-esr"; version = "45.6.0esr"; - sha512 = "086ci461hmz6kdn0ly9dlc723gc117si4a11a1c51gh79hczhahdaxg5s4r3k59rb43gpwxrlvm4wx1aka36bsihnh8a4caxnp72v5r"; + sha512 = "b96c71aeed8a1185a085512f33d454a1735237cd9ddf37c8caa9cc91892eafab0615fc0ca6035f282ca8101489fa84c0de1087d1963c05b64df32b0c86446610"; + updateScript = import ./update.nix { + name = "firefox-esr"; + versionSuffix = "esr"; + inherit writeScript xidel coreutils gnused gnugrep curl ed; + }; }; } diff --git a/pkgs/applications/networking/browsers/firefox/update.nix b/pkgs/applications/networking/browsers/firefox/update.nix new file mode 100644 index 00000000000..33c9f307918 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox/update.nix @@ -0,0 +1,54 @@ +{ name +, writeScript +, xidel +, coreutils +, gnused +, gnugrep +, curl +, ed +, sourceSectionRegex ? "${name}-unwrapped = common" +, basePath ? "pkgs/applications/networking/browsers/firefox" +, baseUrl ? "http://archive.mozilla.org/pub/firefox/releases/" +, versionSuffix ? "" +}: + +let + version = (builtins.parseDrvName name).version; +in writeScript "update-${name}" '' + PATH=${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:${xidel}/bin:${curl}/bin:${ed}/bin + + pushd ${basePath} + + url=${baseUrl} + + # retriving latest released version + # - extracts all links from the $url + # - extracts lines only with number and dots followed by a slash + # - removes trailing slash + # - sorts everything with semver in mind + # - picks up latest release + version=`xidel -q $url --extract "//a" | \ + grep "^[0-9.]*${versionSuffix}/$" | \ + sed s/[/]$// | \ + sort --version-sort | \ + tail -n 1` + + shasum=`curl --silent $url$version/SHA512SUMS | grep 'source\.tar\.xz' | cut -d ' ' -f 1` + + ed default.nix < a.m4 < python2 != null; stdenv.mkDerivation rec { - name = "cryptsetup-1.7.0"; + name = "cryptsetup-1.7.3"; src = fetchurl { url = "mirror://kernel/linux/utils/cryptsetup/v1.7/${name}.tar.xz"; - sha256 = "0j6iwf64pdrl4nm5ypc2r33b3k0aflb939wz2496vcqdrjkj8m87"; + sha256 = "00nwd96m9yq4k3cayc04i5y7iakkzana35zxky6hpx2w8zl08axg"; }; configureFlags = [ "--enable-cryptsetup-reencrypt" "--with-crypto_backend=openssl" ] diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index 6f6c0c66cc3..1ff68fc0408 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "iproute2-${version}"; - version = "4.7.0"; + version = "4.9.0"; src = fetchurl { url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz"; - sha256 = "14kvpdlxq8204f5ayfdfb6mc0423mbf3px9q0spdly9sng7xnq4g"; + sha256 = "1i0n071hiqxw1gisngw2jln3kcp9sh47n6fj5hdwqrvp7w20zwy0"; }; patches = lib.optionals enableFan [ diff --git a/pkgs/servers/atlassian/crowd.nix b/pkgs/servers/atlassian/crowd.nix index d84ddd00882..05b88cf9cf3 100644 --- a/pkgs/servers/atlassian/crowd.nix +++ b/pkgs/servers/atlassian/crowd.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, home ? "/var/lib/crowd" }: +{ stdenv, fetchurl, home ? "/var/lib/crowd" +, port ? 8092, proxyUrl ? null, openidPassword ? "WILL_NEVER_BE_SET" }: stdenv.mkDerivation rec { name = "atlassian-crowd-${version}"; @@ -18,9 +19,22 @@ stdenv.mkDerivation rec { rm -rf apache-tomcat/work ln -s /run/atlassian-crowd/work apache-tomcat/work + ln -s /run/atlassian-crowd/database database + substituteInPlace apache-tomcat/bin/startup.sh --replace start run echo "crowd.home=${home}" > crowd-webapp/WEB-INF/classes/crowd-init.properties + substituteInPlace build.properties \ + --replace "openidserver.url=http://localhost:8095/openidserver" \ + "openidserver.url=http://localhost:${toString port}/openidserver" + substituteInPlace crowd-openidserver-webapp/WEB-INF/classes/crowd.properties \ + --replace "http://localhost:8095/" \ + "http://localhost:${toString port}/" + sed -r -i crowd-openidserver-webapp/WEB-INF/classes/crowd.properties \ + -e 's,application.password\s+password,application.password ${openidPassword},' + '' + stdenv.lib.optionalString (proxyUrl != null) '' + sed -i crowd-openidserver-webapp/WEB-INF/classes/crowd.properties \ + -e 's,http://localhost:${toString port}/openidserver,${proxyUrl}/openidserver,' ''; installPhase = '' diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix index 5e87164c1b1..e9c1ec8b724 100644 --- a/pkgs/servers/http/apache-httpd/2.4.nix +++ b/pkgs/servers/http/apache-httpd/2.4.nix @@ -16,12 +16,12 @@ assert ldapSupport -> aprutil.ldapSupport && openldap != null; assert http2Support -> nghttp2 != null; stdenv.mkDerivation rec { - version = "2.4.23"; + version = "2.4.25"; name = "apache-httpd-${version}"; src = fetchurl { url = "mirror://apache/httpd/httpd-${version}.tar.bz2"; - sha256 = "0n2yx3gjlpr4kgqx845fj6amnmg25r2l6a7rzab5hxnpmar985hc"; + sha256 = "1cl0bkqg6srb1sypga0cn8dcmdyxldavij73zmmkxvlz3kgw4zpq"; }; # FIXME: -dev depends on -doc diff --git a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix new file mode 100644 index 00000000000..a52e1abad87 --- /dev/null +++ b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix @@ -0,0 +1,26 @@ +{ stdenv, lib, go, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "snmp_exporter-${version}"; + version = "0.1.0"; + rev = "v${version}"; + + goPackagePath = "github.com/prometheus/snmp_exporter"; + + src = fetchFromGitHub { + inherit rev; + owner = "prometheus"; + repo = "snmp_exporter"; + sha256 = "1faa1gla5nqkhf1kq60v22bcph41qix3dn9db0w0fh2pkxpdxvrp"; + }; + + doCheck = true; + + meta = with stdenv.lib; { + description = "SNMP Exporter for Prometheus"; + homepage = https://github.com/prometheus/snmp_exporter; + license = licenses.asl20; + maintainers = with maintainers; [ oida ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/servers/shellinabox/default.nix b/pkgs/servers/shellinabox/default.nix index c9f4e2d253f..cad349c4b51 100644 --- a/pkgs/servers/shellinabox/default.nix +++ b/pkgs/servers/shellinabox/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, autoreconfHook, pam, openssl, openssh, shadow, makeWrapper }: stdenv.mkDerivation rec { - version = "2.19"; + version = "2.20"; name = "shellinabox-${version}"; src = fetchFromGitHub { owner = "shellinabox"; repo = "shellinabox"; - rev = "1a8010f2c94a62e7398c4fa130dfe9e099dc55cd"; - sha256 = "16cr7gbnh6vzsxlhg9j9avqrxbhbkqhsbvh197b0ccdwbb04ysan"; + rev = "v${version}"; + sha256 = "1hmfayh21cks2lyj572944ll0mmgsxbnj981b3hq3nhdg8ywzjfr"; }; patches = [ ./shellinabox-minus.patch ]; diff --git a/pkgs/tools/security/gnupg/21.nix b/pkgs/tools/security/gnupg/21.nix index e91f91dbdea..b96226d5c3f 100644 --- a/pkgs/tools/security/gnupg/21.nix +++ b/pkgs/tools/security/gnupg/21.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, pkgconfig, libgcrypt, libassuan, libksba, libiconv, npth -, gettext, texinfo, pcsclite +, gettext, texinfo, pcsclite, sqlite # Each of the dependencies below are optional. # Gnupg can be built without them at the cost of reduced functionality. @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig libgcrypt libassuan libksba libiconv npth gettext texinfo - readline libusb gnutls adns openldap zlib bzip2 + readline libusb gnutls adns openldap zlib bzip2 sqlite ]; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e49b9d8eb82..cc0cd80193e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10437,6 +10437,7 @@ in prometheus-nginx-exporter = callPackage ../servers/monitoring/prometheus/nginx-exporter.nix { }; prometheus-node-exporter = callPackage ../servers/monitoring/prometheus/node-exporter.nix { }; prometheus-pushgateway = callPackage ../servers/monitoring/prometheus/pushgateway.nix { }; + prometheus-snmp-exporter = callPackage ../servers/monitoring/prometheus/snmp-exporter.nix { }; prometheus-statsd-bridge = callPackage ../servers/monitoring/prometheus/statsd-bridge.nix { }; psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4a3a7c6e3c9..15496a9dcc1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2808,17 +2808,39 @@ in { }; }; + # Needed for bleach 1.5.0 + html5lib_0_9999999 = self.html5lib.override rec { + name = "html5lib-${version}"; + buildInputs = with self; [ nose flake8 ]; + propagatedBuildInputs = with self; [ six ]; + checkPhase = '' + nosetests + ''; + + version = "0.9999999"; + src = pkgs.fetchurl { + url = "https://github.com/html5lib/html5lib-python/archive/0.9999999.tar.gz"; + sha256 = "1s6wdbrjzw5jhyfbskf4nj1i5bjpjqq9f89a7r1rl59rhpwmfhhq"; + }; + }; + bleach = buildPythonPackage rec { - version = "v1.4.3"; - name = "bleach-${version}"; + pname = "bleach"; + version = "1.5.0"; + name = "${pname}-${version}"; src = pkgs.fetchurl { - url = "http://github.com/jsocol/bleach/archive/${version}.tar.gz"; - sha256 = "0mk8780ilip0m890rapbckngw8k42gca3551kri297pyylr06l5m"; + url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz"; + sha256 = "978e758599b54cd3caa2e160d74102879b230ea8dc93871d0783721eef58bc65"; }; - buildInputs = with self; [ nose ]; - propagatedBuildInputs = with self; [ six html5lib ]; + buildInputs = with self; [ pytest pytestrunner ]; + propagatedBuildInputs = with self; [ six html5lib_0_9999999 ]; + + postPatch = '' + substituteInPlace setup.py --replace "==3.0.3" "" + substituteInPlace setup.py --replace ">=0.999,!=0.9999,!=0.99999,<0.99999999" "" + ''; meta = { description = "An easy, HTML5, whitelisting HTML sanitizer";