Skip to content

Commit

Permalink
Merge branch 'master' into staging
Browse files Browse the repository at this point in the history
  • Loading branch information
copumpkin committed Apr 7, 2017
2 parents 81352b2 + 27cec39 commit 57e2517
Show file tree
Hide file tree
Showing 9 changed files with 122 additions and 52 deletions.
10 changes: 10 additions & 0 deletions nixos/modules/services/networking/avahi-daemon.nix
Expand Up @@ -21,6 +21,7 @@ let
use-ipv6=${if ipv6 then "yes" else "no"}
${optionalString (interfaces!=null) "allow-interfaces=${concatStringsSep "," interfaces}"}
${optionalString (domainName!=null) "domain-name=${domainName}"}
allow-point-to-point=${if allowPointToPoint then "yes" else "no"}
[wide-area]
enable-wide-area=${if wideArea then "yes" else "no"}
Expand Down Expand Up @@ -98,6 +99,15 @@ in
'';
};

allowPointToPoint = mkOption {
default = false;
description= ''
Whether to use POINTTOPOINT interfaces. Might make mDNS unreliable due to usually large
latencies with such links and opens a potential security hole by allowing mDNS access from Internet
connections. Use with care and YMMV!
'';
};

wideArea = mkOption {
default = true;
description = ''Whether to enable wide-area service discovery.'';
Expand Down
2 changes: 1 addition & 1 deletion nixos/release.nix
Expand Up @@ -288,8 +288,8 @@ in rec {
tests.pam-oath-login = callTest tests/pam-oath-login.nix {};
#tests.panamax = hydraJob (import tests/panamax.nix { system = "x86_64-linux"; });
tests.peerflix = callTest tests/peerflix.nix {};
tests.postgresql = callSubTests tests/postgresql.nix {};
tests.pgjwt = callTest tests/pgjwt.nix {};
tests.postgresql = callTest tests/postgresql.nix {};
tests.printing = callTest tests/printing.nix {};
tests.proxy = callTest tests/proxy.nix {};
tests.pumpio = callTest tests/pump.io.nix {};
Expand Down
62 changes: 41 additions & 21 deletions nixos/tests/postgresql.nix
@@ -1,26 +1,46 @@
import ./make-test.nix ({ pkgs, ...} : {
name = "postgresql";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ zagy ];
};

nodes = {
master =
{ pkgs, config, ... }:
{ system ? builtins.currentSystem }:
with import ../lib/testing.nix { inherit system; };
with pkgs.lib;
let
postgresql-versions = pkgs.callPackages ../../pkgs/servers/sql/postgresql { };
test-sql = pkgs.writeText "postgresql-test" ''
CREATE EXTENSION pgcrypto; -- just to check if lib loading works
CREATE TABLE sth (
id int
);
INSERT INTO sth (id) VALUES (1);
INSERT INTO sth (id) VALUES (1);
INSERT INTO sth (id) VALUES (1);
INSERT INTO sth (id) VALUES (1);
INSERT INTO sth (id) VALUES (1);
'';
make-postgresql-test = postgresql-name: postgresql-package: {
name = postgresql-name;
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ zagy ];
};

machine = {pkgs, config, ...}:
{
services.postgresql.package=postgresql-package;
services.postgresql.enable = true;
services.postgresql.initialScript = pkgs.writeText "postgresql-init.sql"
''
CREATE ROLE postgres WITH superuser login createdb;
'';
};
};

testScript = ''
startAll;
$master->waitForUnit("postgresql");
$master->sleep(10); # Hopefully this is long enough!!
$master->succeed("echo 'select 1' | sudo -u postgres psql");
'';
})
testScript = ''
$machine->start;
$machine->waitForUnit("postgresql");
# postgresql should be available just after unit start
$machine->succeed("cat ${test-sql} | psql postgres");
$machine->shutdown; # make sure that postgresql survive restart (bug #1735)
sleep(2);
$machine->start;
$machine->waitForUnit("postgresql");
$machine->fail('test $(psql postgres -tAc "SELECT * FROM sth;"|wc -l) -eq 3');
$machine->succeed('test $(psql postgres -tAc "SELECT * FROM sth;"|wc -l) -eq 5');
$machine->fail('test $(psql postgres -tAc "SELECT * FROM sth;"|wc -l) -eq 4');
$machine->shutdown;
'';

};
in
mapAttrs' (p-name: p-package: {name=p-name; value=make-postgresql-test p-name p-package;}) postgresql-versions
45 changes: 24 additions & 21 deletions pkgs/applications/editors/vscode/default.nix
@@ -1,35 +1,38 @@
{ stdenv, lib, callPackage, fetchurl, unzip, atomEnv, makeDesktopItem,
makeWrapper, libXScrnSaver }:
makeWrapper, libXScrnSaver, libxkbfile }:

let
version = "1.10.2";
rev = "8076a19fdcab7e1fc1707952d652f0bb6c6db331";
version = "1.11.1";
channel = "stable";

# The revision can be obtained with the following command (see https://github.com/NixOS/nixpkgs/issues/22465):
# curl -w "%{url_effective}\n" -I -L -s -S https://vscode-update.azurewebsites.net/latest/linux-x64/stable -o /dev/null
plat = {
"i686-linux" = "linux-ia32";
"x86_64-linux" = "linux-x64";
"x86_64-darwin" = "darwin";
}.${stdenv.system};

sha256 = if stdenv.system == "i686-linux" then "1rhwrpv17c8j06qja7i58cggzka8jm9v9h27jy22z30yxjz0p241"
else if stdenv.system == "x86_64-linux" then "1c1w7wc39a5vdap8j143ym976p9l9iwns1y28mcgjwrihdlb5wb8"
else if stdenv.system == "x86_64-darwin" then "1zznsn84k79lqirzv950q7caq7c88yh2gglwjc11y8k69awmlpva"
else throw "Unsupported system: ${stdenv.system}";
sha256 = {
"i686-linux" = "14wdblh7q3m5qdsm34dpg5p7qk6llrbqk60md8wd0fb4chpvrq94";
"x86_64-linux" = "0rmzvaiar3y062mbrggiwjbwxs7izcih5333rn208ax4jxmbk4pc";
"x86_64-darwin" = "1f3zdwsz0l6r7c2k25a7j5m0dl78219jzg4axcmbfa2qcs2hw0x6";
}.${stdenv.system};

urlBase = "https://az764295.vo.msecnd.net/${channel}/${rev}/";
archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";

rpath = lib.concatStringsSep ":" [
atomEnv.libPath
"${lib.makeLibraryPath [libXScrnSaver]}/libXss.so.1"
"${lib.makeLibraryPath [libxkbfile]}/libxkbfile.so.1"
"$out/lib/vscode"
];

urlStr = if stdenv.system == "i686-linux" then
urlBase + "code-${channel}-code_${version}-1488982317_i386.tar.gz"
else if stdenv.system == "x86_64-linux" then
urlBase + "code-${channel}-code_${version}-1488981323_amd64.tar.gz"
else if stdenv.system == "x86_64-darwin" then
urlBase + "VSCode-darwin-${channel}.zip"
else throw "Unsupported system: ${stdenv.system}";
in
stdenv.mkDerivation rec {
name = "vscode-${version}";
inherit version;

src = fetchurl {
url = urlStr;
name = "VSCode_${version}_${plat}.${archive_fmt}";
url = "https://vscode-update.azurewebsites.net/${version}/${plat}/${channel}";
inherit sha256;
};

Expand All @@ -45,7 +48,7 @@ in

buildInputs = if stdenv.system == "x86_64-darwin"
then [ unzip makeWrapper libXScrnSaver ]
else [ makeWrapper libXScrnSaver ];
else [ makeWrapper libXScrnSaver libxkbfile ];

installPhase =
if stdenv.system == "x86_64-darwin" then ''
Expand All @@ -67,7 +70,7 @@ in
postFixup = lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") ''
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${atomEnv.libPath}:${stdenv.lib.makeLibraryPath [libXScrnSaver]}/libXss.so.1:$out/lib/vscode" \
--set-rpath "${rpath}" \
$out/lib/vscode/code
'';

Expand Down
25 changes: 25 additions & 0 deletions pkgs/development/compilers/gcc/6/darwin-const-correct.patch
@@ -0,0 +1,25 @@
From 5972cd58bde3bc8bacfe994e5b127c411241f255 Mon Sep 17 00:00:00 2001
From: law <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue, 3 Jan 2017 05:36:40 +0000
Subject: [PATCH] * config/darwin-driver.c (darwin_driver_init):
Const-correctness fixes for first_period and second_period variables.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244010 138bc75d-0d04-0410-961f-82ee72b054a4
---
diff --git a/gcc/config/darwin-driver.c b/gcc/config/darwin-driver.c
index 0c4f0cd..e3ed79d 100644
--- a/gcc/config/darwin-driver.c
+++ b/gcc/config/darwin-driver.c
@@ -299,10 +299,10 @@ darwin_driver_init (unsigned int *decoded_options_count,
if (vers_string != NULL)
{
char *asm_major = NULL;
- char *first_period = strchr(vers_string, '.');
+ const char *first_period = strchr(vers_string, '.');
if (first_period != NULL)
{
- char *second_period = strchr(first_period+1, '.');
+ const char *second_period = strchr(first_period+1, '.');
if (second_period != NULL)
asm_major = xstrndup (vers_string, second_period-vers_string);
else
3 changes: 2 additions & 1 deletion pkgs/development/compilers/gcc/6/default.nix
Expand Up @@ -73,7 +73,8 @@ let version = "6.3.0";
# The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
# target libraries and tools.
++ optional langAda ../gnat-cflags.patch
++ optional langFortran ../gfortran-driving.patch;
++ optional langFortran ../gfortran-driving.patch
++ optional stdenv.isDarwin ./darwin-const-correct.patch; # Kill this after 6.3.0

javaEcj = fetchurl {
# The `$(top_srcdir)/ecj.jar' file is automatically picked up at
Expand Down
15 changes: 11 additions & 4 deletions pkgs/development/libraries/itk/default.nix
@@ -1,13 +1,20 @@
{ stdenv, fetchurl, cmake, libX11, libuuid, xz, vtk }:
{ stdenv, fetchurl, fetchpatch, cmake, libX11, libuuid, xz, vtk }:

stdenv.mkDerivation rec {
name = "itk-4.10.0";
name = "itk-4.11.0";

src = fetchurl {
url = mirror://sourceforge/itk/InsightToolkit-4.10.0.tar.xz;
sha256 = "0pxijhqsnwcp9jv1d8p11hsj90k8ajpwxhrnn8kk8c56k7y1207a";
url = mirror://sourceforge/itk/InsightToolkit-4.11.0.tar.xz;
sha256 = "0axvyds0gads5914g0m70z5q16gzghr0rk0hy3qjpf1k9bkxvcq6";
};

# Clang 4 dislikes signed comparisons of pointers against integers. Should no longer be
# necessary once we get past ITK 4.11.
patches = [ (fetchpatch {
url = "https://github.com/InsightSoftwareConsortium/ITK/commit/d1407a55910ad9c232f3d241833cfd2e59024946.patch";
sha256 = "0h851afkv23fwgkibjss30fkbz4nkfg6rmmm4pfvkwpml23gzz7s";
}) ];

cmakeFlags = [
"-DBUILD_TESTING=OFF"
"-DBUILD_EXAMPLES=OFF"
Expand Down
8 changes: 6 additions & 2 deletions pkgs/development/libraries/podofo/default.nix
Expand Up @@ -10,8 +10,12 @@ stdenv.mkDerivation rec {
};

propagatedBuildInputs = [ zlib freetype libjpeg libtiff fontconfig openssl libpng libidn expat ];
nativeBuildInputs = [ cmake gcc5 pkgconfig ];
buildInputs = [ lua5 stdenv.cc.libc ];

# Does Linux really need gcc5? Darwin doesn't seem to...
nativeBuildInputs = [ cmake pkgconfig ] ++ stdenv.lib.optional stdenv.isLinux gcc5;

# Does Linux really need libc here? Darwin doesn't seem to...
buildInputs = [ lua5 ] ++ stdenv.lib.optional stdenv.isLinux stdenv.cc.libc;

crossAttrs = {
propagatedBuildInputs = [ zlib.crossDrv freetype.crossDrv libjpeg.crossDrv
Expand Down
4 changes: 2 additions & 2 deletions pkgs/development/tools/scalafmt/default.nix
@@ -1,13 +1,13 @@
{ stdenv, fetchurl, unzip, jre }:

stdenv.mkDerivation rec {
version = "0.6.7";
version = "0.6.8";
baseName = "scalafmt";
name = "${baseName}-${version}";

src = fetchurl {
url = "https://github.com/scalameta/scalafmt/releases/download/v${version}/${baseName}.tar.gz";
sha256 = "122x4a5x8024s7qqqs7vx8kz1x18q2l6alcvpzvsqkc304ybhfmh";
sha256 = "1iaanrxk5lhxx1zj9gbxzgqbnyy1azfrab984mga7di5z1hs02s2";
};

unpackPhase = "tar xvzf $src";
Expand Down

0 comments on commit 57e2517

Please sign in to comment.