Merge branch 'master' into staging

* master: (25 commits)
  prosody: 0.10.1 -> 0.10.2
  mpd: fix spelling in description
  pulseaudio-ctl: init at 1.66
  qt: remove install_name_tool stuff
  multimc: 0.6.1 -> 0.6.2
  lib: test for bitAnd, bitOr, bitXor
  pandas: fix check with the current pytest
  qt: fixup from c4cac55d6979ccdbc48cf0daf26e44c79cf5d0f9
  calibre: 2.24.1 -> 2.25.0
  spotify: 1.0.79.223.g92622cc2-21 -> 1.0.80.480.g51b03ac3-13 (#41356)
  libbsd-freedesktop: re-init at 0.9.1, use for samba
  sbt: 1.1.4 -> 1.1.6
  nixos/slurm: remove propagatedBuidInputs from slurmWrapped
  gitkraken: 3.6.1 -> 3.6.3
  pass-import: export PREFIX, set PASSWORD_STORE_BIN
  pass: Add pass-audit extension
  slurm: add maintainer
  nixos/slurm: update test, add test for enableStools
  slurm: add freeipmi, readline, libssh2, fix hwloc
  nixos/slurm: Add man pages to wrapedSlurm
  ...
This commit is contained in:
Orivej Desh 2018-06-03 12:15:25 +00:00
commit 420827170c
27 changed files with 314 additions and 162 deletions

View File

@ -56,10 +56,10 @@ let
hasAttr head isAttrs isBool isInt isList isString length hasAttr head isAttrs isBool isInt isList isString length
lessThan listToAttrs pathExists readFile replaceStrings seq lessThan listToAttrs pathExists readFile replaceStrings seq
stringLength sub substring tail; stringLength sub substring tail;
inherit (trivial) id const concat or and boolToString mergeAttrs inherit (trivial) id const concat or and bitAnd bitOr bitXor
flip mapNullable inNixShell min max importJSON warn info boolToString mergeAttrs flip mapNullable inNixShell min max
nixpkgsVersion version mod compare splitByAndCompare importJSON warn info nixpkgsVersion version mod compare
functionArgs setFunctionArgs isFunction; splitByAndCompare functionArgs setFunctionArgs isFunction;
inherit (fixedPoints) fix fix' extends composeExtensions inherit (fixedPoints) fix fix' extends composeExtensions
makeExtensible makeExtensibleWithCustomName; makeExtensible makeExtensibleWithCustomName;

View File

@ -45,6 +45,21 @@ runTests {
expected = true; expected = true;
}; };
testBitAnd = {
expr = (bitAnd 3 10);
expected = 2;
};
testBitOr = {
expr = (bitOr 3 10);
expected = 11;
};
testBitXor = {
expr = (bitXor 3 10);
expected = 9;
};
# STRINGS # STRINGS
testConcatMapStrings = { testConcatMapStrings = {

View File

@ -1,4 +1,38 @@
{ lib }: { lib }:
let
zipIntBits = f: x: y:
let
# (intToBits 6) -> [ 0 1 1 ]
intToBits = x:
if x==0 then
[]
else
let
headbit = if (x / 2) * 2 != x then 1 else 0; # x & 1
tailbits = if x < 0 then 9223372036854775807 + ((x+1) / 2) else x / 2; # x >>> 1
in
[headbit] ++ (intToBits tailbits);
# (bitsToInt [ 0 1 1 ]) -> 6
bitsToInt = l:
if l==[] then
0
else
(builtins.head l) + (2 * (bitsToInt (builtins.tail l)));
zipListsWith' = fst: snd:
if fst==[] && snd==[] then
[]
else if fst==[] then
[(f 0 (builtins.head snd))] ++ (zipListsWith' [] (builtins.tail snd))
else if snd==[] then
[(f (builtins.head fst) 0 )] ++ (zipListsWith' (builtins.tail fst) [] )
else
[(f (builtins.head fst) (builtins.head snd))] ++ (zipListsWith' (builtins.tail fst) (builtins.tail snd));
in
assert (builtins.isInt x) && (builtins.isInt y);
bitsToInt (zipListsWith' (intToBits x) (intToBits y));
in
rec { rec {
/* The identity function /* The identity function
@ -31,6 +65,15 @@ rec {
/* boolean and */ /* boolean and */
and = x: y: x && y; and = x: y: x && y;
/* bitwise and */
bitAnd = builtins.bitAnd or zipIntBits (a: b: if a==1 && b==1 then 1 else 0);
/* bitwise or */
bitOr = builtins.bitOr or zipIntBits (a: b: if a==1 || b==1 then 1 else 0);
/* bitwise xor */
bitXor = builtins.bitXor or zipIntBits (a: b: if a!=b then 1 else 0);
/* Convert a boolean to a string. /* Convert a boolean to a string.
Note that toString on a bool returns "1" and "". Note that toString on a bool returns "1" and "".
*/ */

View File

@ -133,7 +133,7 @@ in {
defaultText = ''''${dataDir}/tag_cache''; defaultText = ''''${dataDir}/tag_cache'';
description = '' description = ''
The path to MPD's database. If set to <literal>null</literal> the The path to MPD's database. If set to <literal>null</literal> the
paramter is omitted from the configuration. parameter is omitted from the configuration.
''; '';
}; };
}; };

View File

@ -6,7 +6,7 @@ let
cfg = config.services.slurm; cfg = config.services.slurm;
# configuration file can be generated by http://slurm.schedmd.com/configurator.html # configuration file can be generated by http://slurm.schedmd.com/configurator.html
configFile = pkgs.writeText "slurm.conf" configFile = pkgs.writeTextDir "slurm.conf"
'' ''
${optionalString (cfg.controlMachine != null) ''controlMachine=${cfg.controlMachine}''} ${optionalString (cfg.controlMachine != null) ''controlMachine=${cfg.controlMachine}''}
${optionalString (cfg.controlAddr != null) ''controlAddr=${cfg.controlAddr}''} ${optionalString (cfg.controlAddr != null) ''controlAddr=${cfg.controlAddr}''}
@ -17,10 +17,25 @@ let
${cfg.extraConfig} ${cfg.extraConfig}
''; '';
plugStackConfig = pkgs.writeText "plugstack.conf" plugStackConfig = pkgs.writeTextDir "plugstack.conf"
'' ''
${optionalString cfg.enableSrunX11 ''optional ${pkgs.slurm-spank-x11}/lib/x11.so''} ${optionalString cfg.enableSrunX11 ''optional ${pkgs.slurm-spank-x11}/lib/x11.so''}
${cfg.extraPlugstackConfig}
''; '';
cgroupConfig = pkgs.writeTextDir "cgroup.conf"
''
${cfg.extraCgroupConfig}
'';
# slurm expects some additional config files to be
# in the same directory as slurm.conf
etcSlurm = pkgs.symlinkJoin {
name = "etc-slurm";
paths = [ configFile cgroupConfig plugStackConfig ];
};
in in
{ {
@ -46,7 +61,17 @@ in
client = { client = {
enable = mkEnableOption "slurm client daemon"; enable = mkEnableOption "slurm client daemon";
};
enableStools = mkOption {
type = types.bool;
default = false;
description = ''
Wether to provide a slurm.conf file.
Enable this option if you do not run a slurm daemon on this host
(i.e. <literal>server.enable</literal> and <literal>client.enable</literal> are <literal>false</literal>)
but you still want to run slurm commands from this host.
'';
}; };
package = mkOption { package = mkOption {
@ -97,7 +122,7 @@ in
example = "debug Nodes=linux[1-32] Default=YES MaxTime=INFINITE State=UP"; example = "debug Nodes=linux[1-32] Default=YES MaxTime=INFINITE State=UP";
description = '' description = ''
Name by which the partition may be referenced. Note that now you have Name by which the partition may be referenced. Note that now you have
to write patrition's parameters after the name. to write the partition's parameters after the name.
''; '';
}; };
@ -107,8 +132,10 @@ in
description = '' description = ''
If enabled srun will accept the option "--x11" to allow for X11 forwarding If enabled srun will accept the option "--x11" to allow for X11 forwarding
from within an interactive session or a batch job. This activates the from within an interactive session or a batch job. This activates the
slurm-spank-x11 module. Note that this requires 'services.openssh.forwardX11' slurm-spank-x11 module. Note that this option also enables
to be enabled on the compute nodes. 'services.openssh.forwardX11' on the client.
This option requires slurm to be compiled without native X11 support.
''; '';
}; };
@ -130,6 +157,23 @@ in
the end of the slurm configuration file. the end of the slurm configuration file.
''; '';
}; };
extraPlugstackConfig = mkOption {
default = "";
type = types.lines;
description = ''
Extra configuration that will be added to the end of <literal>plugstack.conf</literal>.
'';
};
extraCgroupConfig = mkOption {
default = "";
type = types.lines;
description = ''
Extra configuration for <literal>cgroup.conf</literal>. This file is
used when <literal>procTrackType=proctrack/cgroup</literal>.
'';
};
}; };
}; };
@ -142,8 +186,6 @@ in
wrappedSlurm = pkgs.stdenv.mkDerivation { wrappedSlurm = pkgs.stdenv.mkDerivation {
name = "wrappedSlurm"; name = "wrappedSlurm";
propagatedBuildInputs = [ cfg.package configFile ];
builder = pkgs.writeText "builder.sh" '' builder = pkgs.writeText "builder.sh" ''
source $stdenv/setup source $stdenv/setup
mkdir -p $out/bin mkdir -p $out/bin
@ -155,17 +197,20 @@ in
#!/bin/sh #!/bin/sh
if [ -z "$SLURM_CONF" ] if [ -z "$SLURM_CONF" ]
then then
SLURM_CONF="${configFile}" "$EXE" "\$@" SLURM_CONF="${etcSlurm}/slurm.conf" "$EXE" "\$@"
else else
"$EXE" "\$0" "$EXE" "\$0"
fi fi
EOT EOT
chmod +x "$wrappername" chmod +x "$wrappername"
done done
mkdir -p $out/share
ln -s ${getBin cfg.package}/share/man $out/share/man
''; '';
}; };
in mkIf (cfg.client.enable || cfg.server.enable) { in mkIf (cfg.enableStools || cfg.client.enable || cfg.server.enable) {
environment.systemPackages = [ wrappedSlurm ]; environment.systemPackages = [ wrappedSlurm ];
@ -190,6 +235,8 @@ in
''; '';
}; };
services.openssh.forwardX11 = mkIf cfg.client.enable (mkDefault true);
systemd.services.slurmctld = mkIf (cfg.server.enable) { systemd.services.slurmctld = mkIf (cfg.server.enable) {
path = with pkgs; [ wrappedSlurm munge coreutils ] path = with pkgs; [ wrappedSlurm munge coreutils ]
++ lib.optional cfg.enableSrunX11 slurm-spank-x11; ++ lib.optional cfg.enableSrunX11 slurm-spank-x11;

View File

@ -1,7 +1,6 @@
import ./make-test.nix ({ pkgs, ... }: import ./make-test.nix ({ pkgs, ... }:
let mungekey = "mungeverryweakkeybuteasytointegratoinatest"; let mungekey = "mungeverryweakkeybuteasytointegratoinatest";
slurmconfig = { slurmconfig = {
client.enable = true;
controlMachine = "control"; controlMachine = "control";
nodeName = '' nodeName = ''
control control
@ -20,9 +19,12 @@ in {
# TODO slrumd port and slurmctld port should be configurations and # TODO slrumd port and slurmctld port should be configurations and
# automatically allowed by the firewall. # automatically allowed by the firewall.
networking.firewall.enable = false; networking.firewall.enable = false;
services.slurm = slurmconfig; services.slurm = {
client.enable = true;
} // slurmconfig;
}; };
in { in {
control = control =
{ config, pkgs, ...}: { config, pkgs, ...}:
{ {
@ -31,17 +33,28 @@ in {
server.enable = true; server.enable = true;
} // slurmconfig; } // slurmconfig;
}; };
submit =
{ config, pkgs, ...}:
{
networking.firewall.enable = false;
services.slurm = {
enableStools = true;
} // slurmconfig;
};
node1 = computeNode; node1 = computeNode;
node2 = computeNode; node2 = computeNode;
node3 = computeNode; node3 = computeNode;
}; };
testScript = testScript =
'' ''
startAll; startAll;
# Set up authentification across the cluster # Set up authentification across the cluster
foreach my $node (($control,$node1,$node2,$node3)) foreach my $node (($submit,$control,$node1,$node2,$node3))
{ {
$node->waitForUnit("default.target"); $node->waitForUnit("default.target");
@ -60,7 +73,7 @@ in {
}; };
subtest "can_start_slurmd", sub { subtest "can_start_slurmd", sub {
foreach my $node (($control,$node1,$node2,$node3)) foreach my $node (($node1,$node2,$node3))
{ {
$node->succeed("systemctl restart slurmd.service"); $node->succeed("systemctl restart slurmd.service");
$node->waitForUnit("slurmd"); $node->waitForUnit("slurmd");
@ -72,7 +85,7 @@ in {
subtest "run_distributed_command", sub { subtest "run_distributed_command", sub {
# Run `hostname` on 3 nodes of the partition (so on all the 3 nodes). # Run `hostname` on 3 nodes of the partition (so on all the 3 nodes).
# The output must contain the 3 different names # The output must contain the 3 different names
$control->succeed("srun -N 3 hostname | sort | uniq | wc -l | xargs test 3 -eq"); $submit->succeed("srun -N 3 hostname | sort | uniq | wc -l | xargs test 3 -eq");
}; };
''; '';
}) })

View File

@ -0,0 +1,41 @@
{ stdenv, fetchFromGitHub, makeWrapper
, bc, dbus, gawk, gnused, libnotify, pulseaudioLight }:
let
path = stdenv.lib.makeBinPath [ bc dbus gawk gnused libnotify pulseaudioLight ];
pname = "pulseaudio-ctl";
in stdenv.mkDerivation rec {
name = "${pname}-${version}";
version = "1.66";
src = fetchFromGitHub {
owner = "graysky2";
repo = pname;
rev = "v${version}";
sha256 = "19a24w7y19551ar41q848w7r1imqkl9cpff4dpb7yry7qp1yjg0y";
};
postPatch = ''
substituteInPlace Makefile \
--replace /usr $out
substituteInPlace common/${pname}.in \
--replace '$0' ${pname}
'';
nativeBuildInputs = [ makeWrapper ];
postFixup = ''
wrapProgram $out/bin/${pname} \
--prefix PATH : ${path}
'';
meta = with stdenv.lib; {
description = "Control pulseaudio volume from the shell or mapped to keyboard shortcuts. No need for alsa-utils.";
homepage = https://bbs.archlinux.org/viewtopic.php?id=124513;
license = licenses.mit;
maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.linux;
};
}

View File

@ -7,7 +7,7 @@ let
# Latest version number can be found at: # Latest version number can be found at:
# http://repository-origin.spotify.com/pool/non-free/s/spotify-client/ # http://repository-origin.spotify.com/pool/non-free/s/spotify-client/
# Be careful not to pick the testing version. # Be careful not to pick the testing version.
version = "1.0.79.223.g92622cc2-21"; version = "1.0.80.480.g51b03ac3-13";
deps = [ deps = [
alsaLib alsaLib
@ -51,7 +51,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb"; url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
sha256 = "1x1rpprzin4cmz1spzw036b4phd0yk1v7idlrcy4pkv97b4g5dw6"; sha256 = "e32f4816ae79dbfa0c14086e76df3bc83d526402aac1dbba534127fc00fe50ea";
}; };
buildInputs = [ dpkg makeWrapper ]; buildInputs = [ dpkg makeWrapper ];

View File

@ -5,12 +5,12 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "3.24.1"; version = "3.25.0";
name = "calibre-${version}"; name = "calibre-${version}";
src = fetchurl { src = fetchurl {
url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz"; url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
sha256 = "1hgjnw8ynvpcfry4vanz5f54sjq55pqidvyy47lz59cz0s8lx50b"; sha256 = "018gxjbj5rak4ys5nyx6749rj9vszlf9k1wdcpl60ap3l83kxdnd";
}; };
patches = [ patches = [

View File

@ -12,11 +12,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gitkraken-${version}"; name = "gitkraken-${version}";
version = "3.6.1"; version = "3.6.3";
src = fetchurl { src = fetchurl {
url = "https://release.gitkraken.com/linux/v${version}.deb"; url = "https://release.gitkraken.com/linux/v${version}.deb";
sha256 = "1f77y281r3dp35vw3zdai2cgwwy2gpg7px6g66ylfz4gkig26dz8"; sha256 = "1bl4zz4k9whv5q6bkf6hyki26dkjhm19rzx2800zzadbrdgs7iz4";
}; };
libPath = makeLibraryPath [ libPath = makeLibraryPath [

View File

@ -408,8 +408,8 @@ self: super: {
# Older versions don't compile. # Older versions don't compile.
base-compat = self.base-compat_0_10_1; base-compat = self.base-compat_0_10_1;
brick = self.brick_0_37_1; brick = self.brick_0_37_1;
dhall = self.dhall_1_13_0; dhall = self.dhall_1_14_0;
dhall_1_13_0 = doJailbreak super.dhall_1_13_0; # support ansi-terminal 0.8.x dhall_1_13_0 = doJailbreak super.dhall_1_14_0; # support ansi-terminal 0.8.x
HaTeX = self.HaTeX_3_19_0_0; HaTeX = self.HaTeX_3_19_0_0;
hpack = self.hpack_0_28_2; hpack = self.hpack_0_28_2;
hspec = dontCheck super.hspec_2_5_1; hspec = dontCheck super.hspec_2_5_1;

View File

@ -0,0 +1,21 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "libbsd-${version}";
version = "0.9.1";
src = fetchurl {
url = "http://libbsd.freedesktop.org/releases/${name}.tar.xz";
sha256 = "1957w2wi7iqar978qlfsm220dwywnrh5m58nrnn9zmi74ds3bn2n";
};
patches = [];
meta = with stdenv.lib; {
description = "Common functions found on BSD systems, Freedesktop fork";
homepage = https://libbsd.freedesktop.org/;
license = licenses.bsd3;
platforms = platforms.linux;
maintainers = with maintainers; [ raskin ];
};
}

View File

@ -3,7 +3,7 @@
, withData ? true, poppler_data , withData ? true, poppler_data
, qt5Support ? false, qtbase ? null , qt5Support ? false, qtbase ? null
, introspectionSupport ? false, gobjectIntrospection ? null , introspectionSupport ? false, gobjectIntrospection ? null
, utils ? false , utils ? false, nss ? null
, minimal ? false, suffix ? "glib" , minimal ? false, suffix ? "glib"
}: }:
@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
[ zlib freetype fontconfig libjpeg openjpeg ] [ zlib freetype fontconfig libjpeg openjpeg ]
++ optionals (!minimal) [ cairo lcms curl ] ++ optionals (!minimal) [ cairo lcms curl ]
++ optional qt5Support qtbase ++ optional qt5Support qtbase
++ optional utils nss
++ optional introspectionSupport gobjectIntrospection; ++ optional introspectionSupport gobjectIntrospection;
nativeBuildInputs = [ cmake ninja pkgconfig ]; nativeBuildInputs = [ cmake ninja pkgconfig ];
@ -49,7 +50,9 @@ stdenv.mkDerivation rec {
description = "A PDF rendering library"; description = "A PDF rendering library";
longDescription = '' longDescription = ''
Poppler is a PDF rendering library based on the xpdf-3.0 code base. Poppler is a PDF rendering library based on the xpdf-3.0 code
base. In addition it provides a number of tools that can be
installed separately.
''; '';
license = licenses.gpl2; license = licenses.gpl2;

View File

@ -16,9 +16,6 @@ let
optional (!debug) "-DQT_NO_DEBUG" optional (!debug) "-DQT_NO_DEBUG"
++ lib.toList (args.NIX_CFLAGS_COMPILE or []); ++ lib.toList (args.NIX_CFLAGS_COMPILE or []);
configureFlags = [ "-no-framework" ]
++ (args.configureFlags or []);
cmakeFlags = cmakeFlags =
(args.cmakeFlags or []) (args.cmakeFlags or [])
++ [ ++ [

View File

@ -298,6 +298,7 @@ stdenv.mkDerivation {
"-no-fontconfig" "-no-fontconfig"
"-qt-freetype" "-qt-freetype"
"-qt-libpng" "-qt-libpng"
"-no-framework"
] ]
else else
[ [
@ -373,24 +374,6 @@ stdenv.mkDerivation {
'' ''
+ ( + (
if stdenv.isDarwin
then
''
fixDarwinDylibNames_rpath() {
local flags=()
for fn in "$@"; do
flags+=(-change "@rpath/$fn.framework/Versions/5/$fn" "$out/lib/$fn.framework/Versions/5/$fn")
done
for fn in "$@"; do
echo "$fn: fixing dylib"
install_name_tool -id "$out/lib/$fn.framework/Versions/5/$fn" "''${flags[@]}" "$out/lib/$fn.framework/Versions/5/$fn"
done
}
fixDarwinDylibNames_rpath "QtConcurrent" "QtPrintSupport" "QtCore" "QtSql" "QtDBus" "QtTest" "QtGui" "QtWidgets" "QtNetwork" "QtXml" "QtOpenGL"
''
else
# fixup .pc file (where to find 'moc' etc.) # fixup .pc file (where to find 'moc' etc.)
'' ''
sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \ sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \

View File

@ -55,6 +55,8 @@ in buildPythonPackage rec {
xlwt xlwt
]; ];
patches = [ ./pandas-0.22.0-pytest-3.5.1.patch ];
# For OSX, we need to add a dependency on libcxx, which provides # For OSX, we need to add a dependency on libcxx, which provides
# `complex.h` and other libraries that pandas depends on to build. # `complex.h` and other libraries that pandas depends on to build.
postPatch = optionalString isDarwin '' postPatch = optionalString isDarwin ''

View File

@ -0,0 +1,13 @@
--- a/pandas/tests/io/test_pytables.py
+++ b/pandas/tests/io/test_pytables.py
@@ -5028,8 +5028,8 @@ class TestHDFStore(Base):
with ensure_clean_path(self.path) as path:
with catch_warnings(record=True):
with pytest.raises(
- ValueError, msg=("cannot have non-object label "
- "DataIndexableCol")):
+ ValueError, message=("cannot have non-object label "
+ "DataIndexableCol")):
df.to_hdf(path, 'df', format='table',
data_columns=True)

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "sbt-${version}"; name = "sbt-${version}";
version = "1.1.4"; version = "1.1.6";
src = fetchurl { src = fetchurl {
urls = [ urls = [
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
"https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz" "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"
"https://cocl.us/sbt-${version}.tgz" "https://cocl.us/sbt-${version}.tgz"
]; ];
sha256 = "0hc361gb71psadx9gj78j0j60fw4sljjk8sl45hw6yzx3hmmkg9g"; sha256 = "1hb8gcf3shcp4a65pnlqdlp8j5as7prqvw3d0b5bnfjfi0qbaigm";
}; };
patchPhase = '' patchPhase = ''

View File

@ -1,30 +0,0 @@
{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
stdenv.mkDerivation rec {
version = "73";
name = "godep-${version}";
src = import ./deps.nix {
inherit stdenv lib fetchgit;
};
buildInputs = [ go ];
buildPhase = ''
export GOPATH=$src
go build -v -o godep github.com/tools/godep
'';
installPhase = ''
mkdir -p $out/bin
mv godep $out/bin
'';
meta = with stdenv.lib; {
description = "Dependency tool for go";
homepage = https://github.com/tools/godep;
license = licenses.bsd3;
maintainers = with maintainers; [ offline ];
platforms = platforms.unix;
};
}

View File

@ -1,67 +0,0 @@
# This file was generated by go2nix.
{ stdenv, lib, fetchgit }:
let
goDeps = [
{
root = "github.com/kr/fs";
src = fetchgit {
url = "https://github.com/kr/fs.git";
rev = "2788f0dbd16903de03cb8186e5c7d97b69ad387b";
sha256 = "1c0fipl4rsh0v5liq1ska1dl83v3llab4k6lm8mvrx9c4dyp71ly";
};
}
{
root = "github.com/tools/godep";
src = fetchgit {
url = "https://github.com/tools/godep.git";
rev = "f4edf338389e6e2bde0e8307886718133dc0613e";
sha256 = "1jdza8kwnzdsh3layqjzy9dnr92xdg3kfhnzvqkq3p50vsdims9w";
};
}
{
root = "github.com/kr/pretty";
src = fetchgit {
url = "https://github.com/kr/pretty";
rev = "f31442d60e51465c69811e2107ae978868dbea5c";
sha256 = "12nczwymikxmivb10q5ml5yxrwpz9s8p6k4vqig9g9707yhpxrkh";
};
}
{
root = "github.com/kr/text";
src = fetchgit {
url = "https://github.com/kr/text";
rev = "6807e777504f54ad073ecef66747de158294b639";
sha256 = "1wkszsg08zar3wgspl9sc8bdsngiwdqmg3ws4y0bh02sjx5a4698";
};
}
{
root = "github.com/pmezard/go-difflib";
src = fetchgit {
url = "https://github.com/pmezard/go-difflib";
rev = "f78a839676152fd9f4863704f5d516195c18fc14";
sha256 = "1bws3qyy572b62i3wkwfr1aw1g2nwcim2sy42jqsvh9pajjsf1vz";
};
}
{
root = "golang.org/x/tools";
src = fetchgit {
url = "https://go.googlesource.com/tools";
rev = "1f1b3322f67af76803c942fd237291538ec68262";
sha256 = "0h2yarcvcgg1px20r8n58psra1czv0sgly5gins2q3wp25iql6gj";
};
}
];
in
stdenv.mkDerivation rec {
name = "go-deps";
buildCommand =
lib.concatStrings
(map (dep: ''
mkdir -p $out/src/`dirname ${dep.root}`
ln -s ${dep.src} $out/src/${dep.root}
'') goDeps);
}

View File

@ -4,12 +4,12 @@ let
libpath = with xorg; stdenv.lib.makeLibraryPath [ libX11 libXext libXcursor libXrandr libXxf86vm libpulseaudio ]; libpath = with xorg; stdenv.lib.makeLibraryPath [ libX11 libXext libXcursor libXrandr libXxf86vm libpulseaudio ];
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "multimc-${version}"; name = "multimc-${version}";
version = "0.6.1"; version = "0.6.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "MultiMC"; owner = "MultiMC";
repo = "MultiMC5"; repo = "MultiMC5";
rev = version; rev = version;
sha256 = "0glsf4vfir8w24bpinf3cx2ninrcp7hpq9cl463wl78dvqfg47kx"; sha256 = "07jrr6si8nzfqwf073zhgw47y6snib23ad3imh1ik1nn5r7wqy3c";
fetchSubmodules = true; fetchSubmodules = true;
}; };
nativeBuildInputs = [ cmake file makeWrapper ]; nativeBuildInputs = [ cmake file makeWrapper ];
@ -18,6 +18,9 @@ in stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
postInstall = '' postInstall = ''
mkdir -p $out/share/{applications,pixmaps}
cp ../application/resources/multimc/scalable/multimc.svg $out/share/pixmaps
cp ../application/package/linux/multimc.desktop $out/share/applications
wrapProgram $out/bin/MultiMC --add-flags "-d \$HOME/.multimc/" --set GAME_LIBRARY_PATH /run/opengl-driver/lib:${libpath} --prefix PATH : ${jdk}/bin/ wrapProgram $out/bin/MultiMC --add-flags "-d \$HOME/.multimc/" --set GAME_LIBRARY_PATH /run/opengl-driver/lib:${libpath} --prefix PATH : ${jdk}/bin/
''; '';

View File

@ -1,5 +1,9 @@
{ stdenv, fetchurl, pkgconfig, libtool, curl, python, munge, perl, pam, openssl { stdenv, fetchurl, pkgconfig, libtool, curl
, python, munge, perl, pam, openssl
, ncurses, mysql, gtk2, lua, hwloc, numactl , ncurses, mysql, gtk2, lua, hwloc, numactl
, readline, freeipmi, libssh2, xorg
# enable internal X11 support via libssh2
, enableX11 ? true
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -13,6 +17,11 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
prePatch = stdenv.lib.optional enableX11 ''
substituteInPlace src/common/x11_util.c \
--replace '"/usr/bin/xauth"' '"${xorg.xauth}/bin/xauth"'
'';
# nixos test fails to start slurmd with 'undefined symbol: slurm_job_preempt_mode' # nixos test fails to start slurmd with 'undefined symbol: slurm_job_preempt_mode'
# https://groups.google.com/forum/#!topic/slurm-devel/QHOajQ84_Es # https://groups.google.com/forum/#!topic/slurm-devel/QHOajQ84_Es
# this doesn't fix tests completely at least makes slurmd to launch # this doesn't fix tests completely at least makes slurmd to launch
@ -20,14 +29,20 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig libtool ]; nativeBuildInputs = [ pkgconfig libtool ];
buildInputs = [ buildInputs = [
curl python munge perl pam openssl mysql.connector-c ncurses gtk2 lua hwloc numactl curl python munge perl pam openssl
]; mysql.connector-c ncurses gtk2
lua hwloc numactl readline freeipmi
] ++ stdenv.lib.optionals enableX11 [ libssh2 xorg.xauth ];
configureFlags = configureFlags = with stdenv.lib;
[ "--with-munge=${munge}" [ "--with-munge=${munge}"
"--with-ssl=${openssl.dev}" "--with-ssl=${openssl.dev}"
"--with-hwloc=${hwloc.dev}"
"--with-freeipmi=${freeipmi}"
"--sysconfdir=/etc/slurm" "--sysconfdir=/etc/slurm"
] ++ stdenv.lib.optional (gtk2 == null) "--disable-gtktest"; ] ++ (optional (gtk2 == null) "--disable-gtktest")
++ (optional enableX11 "--with-libssh2=${libssh2.dev}");
preConfigure = '' preConfigure = ''
patchShebangs ./doc/html/shtml2html.py patchShebangs ./doc/html/shtml2html.py
@ -45,6 +60,6 @@ stdenv.mkDerivation rec {
description = "Simple Linux Utility for Resource Management"; description = "Simple Linux Utility for Resource Management";
platforms = platforms.linux; platforms = platforms.linux;
license = licenses.gpl2; license = licenses.gpl2;
maintainers = [ maintainers.jagajaga ]; maintainers = with maintainers; [ jagajaga markuskowa ];
}; };
} }

View File

@ -25,12 +25,12 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.10.1"; version = "0.10.2";
name = "prosody-${version}"; name = "prosody-${version}";
src = fetchurl { src = fetchurl {
url = "http://prosody.im/downloads/source/${name}.tar.gz"; url = "http://prosody.im/downloads/source/${name}.tar.gz";
sha256 = "1kmmpkkgymg1r8r0k8j83pgmiskg1phl8hmpzjrnvlvsfnrnjplr"; sha256 = "13knr7izscw0zx648b9582dx11aap4cq9bzfiqh5ykd7wwsz1dbm";
}; };
communityModules = fetchhg { communityModules = fetchhg {

View File

@ -0,0 +1,42 @@
{ stdenv, pass, fetchFromGitHub, pythonPackages, makeWrapper }:
let
pythonEnv = pythonPackages.python.withPackages (p: [ p.requests ]);
in stdenv.mkDerivation rec {
name = "pass-audit-${version}";
version = "0.1";
src = fetchFromGitHub {
owner = "roddhjav";
repo = "pass-audit";
rev = "v${version}";
sha256 = "0v0db8bzpcaa7zqz17syn3c78mgvw4mpg8qg1gh5rmbjsjfxw6sm";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ pythonEnv ];
patchPhase = ''
sed -i -e "s|/usr/lib|$out/lib|" audit.bash
sed -i -e 's|$0|${pass}/bin/pass|' audit.bash
'';
dontBuild = true;
installFlags = [ "PREFIX=$(out)" ];
postFixup = ''
wrapProgram $out/lib/password-store/extensions/audit.bash \
--prefix PATH : "${pythonEnv}/bin" \
--run "export PREFIX"
'';
meta = with stdenv.lib; {
description = "Pass extension for auditing your password repository.";
homepage = https://github.com/roddhjav/pass-audit;
license = licenses.gpl3Plus;
platforms = platforms.unix;
};
}

View File

@ -3,6 +3,9 @@
with pkgs; with pkgs;
{ {
pass-audit = callPackage ./audit.nix {
pythonPackages = python3Packages;
};
pass-import = callPackage ./import.nix { pass-import = callPackage ./import.nix {
pythonPackages = python3Packages; pythonPackages = python3Packages;
}; };

View File

@ -18,13 +18,18 @@ in stdenv.mkDerivation rec {
buildInputs = [ pythonEnv ]; buildInputs = [ pythonEnv ];
patchPhase = ''
sed -i -e 's|$0|${pass}/bin/pass|' import.bash
'';
dontBuild = true; dontBuild = true;
installFlags = [ "PREFIX=$(out)" ]; installFlags = [ "PREFIX=$(out)" ];
postFixup = '' postFixup = ''
wrapProgram $out/lib/password-store/extensions/import.bash \ wrapProgram $out/lib/password-store/extensions/import.bash \
--prefix PATH : "${pythonEnv}/bin" --prefix PATH : "${pythonEnv}/bin" \
--run "export PREFIX"
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -12940,6 +12940,7 @@ with pkgs;
samba4 = callPackage ../servers/samba/4.x.nix { samba4 = callPackage ../servers/samba/4.x.nix {
python = python2; python = python2;
libbsd = libbsd-freedesktop;
}; };
sambaMaster = callPackage ../servers/samba/master.nix { }; sambaMaster = callPackage ../servers/samba/master.nix { };
@ -13908,8 +13909,6 @@ with pkgs;
golint = callPackage ../development/tools/golint { }; golint = callPackage ../development/tools/golint { };
godep = callPackage ../development/tools/godep { };
godef = callPackage ../development/tools/godef { }; godef = callPackage ../development/tools/godef { };
goimports = callPackage ../development/tools/goimports { }; goimports = callPackage ../development/tools/goimports { };
@ -17499,6 +17498,8 @@ with pkgs;
ptask = callPackage ../applications/misc/ptask { }; ptask = callPackage ../applications/misc/ptask { };
pulseaudio-ctl = callPackage ../applications/audio/pulseaudio-ctl { };
pulseaudio-dlna = callPackage ../applications/audio/pulseaudio-dlna { }; pulseaudio-dlna = callPackage ../applications/audio/pulseaudio-dlna { };
pulseview = libsForQt5.callPackage ../applications/science/electronics/pulseview { }; pulseview = libsForQt5.callPackage ../applications/science/electronics/pulseview { };
@ -21493,6 +21494,8 @@ with pkgs;
libbsd = netbsd.compat; libbsd = netbsd.compat;
libbsd-freedesktop = callPackage ../development/libraries/libbsd {};
inherit (recurseIntoAttrs (callPackages ../os-specific/bsd { })) inherit (recurseIntoAttrs (callPackages ../os-specific/bsd { }))
netbsd; netbsd;