Merge remote-tracking branch 'upstream/master' into HEAD

This commit is contained in:
Frederik Rietdijk 2017-07-30 08:09:11 +02:00
commit 20b8e4b4cf
37 changed files with 281 additions and 119 deletions

View File

@ -4,10 +4,14 @@
<title>Ruby</title>
<para>There currently is support to bundle applications that are packaged as Ruby gems. The utility "bundix" allows you to write a <filename>Gemfile</filename>, let bundler create a <filename>Gemfile.lock</filename>, and then convert
this into a nix expression that contains all Gem dependencies automatically.</para>
<para>There currently is support to bundle applications that are packaged as
Ruby gems. The utility "bundix" allows you to write a
<filename>Gemfile</filename>, let bundler create a
<filename>Gemfile.lock</filename>, and then convert this into a nix
expression that contains all Gem dependencies automatically.
</para>
<para>For example, to package sensu, we did:</para>
<para>For example, to package sensu, we did:</para>
<screen>
<![CDATA[$ cd pkgs/servers/monitoring
@ -38,14 +42,20 @@ bundlerEnv rec {
}]]>
</screen>
<para>Please check in the <filename>Gemfile</filename>, <filename>Gemfile.lock</filename> and the <filename>gemset.nix</filename> so future updates can be run easily.
<para>Please check in the <filename>Gemfile</filename>,
<filename>Gemfile.lock</filename> and the
<filename>gemset.nix</filename> so future updates can be run easily.
</para>
<para>For tools written in Ruby - i.e. where the desire is to install a package and then execute e.g. <command>rake</command> at the command line, there is an alternative builder called <literal>bundlerApp</literal>. Set up the <filename>gemset.nix</filename> the same way, and then, for example:
<para>For tools written in Ruby - i.e. where the desire is to install
a package and then execute e.g. <command>rake</command> at the command
line, there is an alternative builder called <literal>bundlerApp</literal>.
Set up the <filename>gemset.nix</filename> the same way, and then, for
example:
</para>
<screen>
<![CDATA[{ lib, bundlerApp }:
<![CDATA[{ lib, bundlerApp }:
bundlerApp {
pname = "corundum";
@ -60,15 +70,33 @@ bundlerApp {
platforms = platforms.unix;
};
}]]>
</screen>
<para>The chief advantage of <literal>bundlerApp</literal> over <literal>bundlerEnv</literal> is the executables introduced in the environment are precisely those selected in the <literal>exes</literal> list, as opposed to <literal>bundlerEnv</literal> which adds all the executables made available by gems in the gemset, which can mean e.g. <command>rspec</command> or <command>rake</command> in unpredictable versions available from various packages.
<para>The chief advantage of <literal>bundlerApp</literal> over
<literal>bundlerEnv</literal> is the executables introduced in the
environment are precisely those selected in the <literal>exes</literal>
list, as opposed to <literal>bundlerEnv</literal> which adds all the
executables made available by gems in the gemset, which can mean e.g.
<command>rspec</command> or <command>rake</command> in unpredictable
versions available from various packages.
</para>
<para>Resulting derivations for both builders also have two helpful attributes, <literal>env</literal> and <literal>wrapper</literal>. The first one allows one to quickly drop into
<command>nix-shell</command> with the specified environment present. E.g. <command>nix-shell -A sensu.env</command> would give you an environment with Ruby preset
so it has all the libraries necessary for <literal>sensu</literal> in its paths. The second one can be used to make derivations from custom Ruby scripts which have
<filename>Gemfile</filename>s with their dependencies specified. It is a derivation with <command>ruby</command> wrapped so it can find all the needed dependencies.
For example, to make a derivation <literal>my-script</literal> for a <filename>my-script.rb</filename> (which should be placed in <filename>bin</filename>) you should
run <command>bundix</command> as specified above and then use <literal>bundlerEnv</literal> like this:</para>
<para>Resulting derivations for both builders also have two helpful
attributes, <literal>env</literal> and <literal>wrapper</literal>.
The first one allows one to quickly drop into
<command>nix-shell</command> with the specified environment present.
E.g. <command>nix-shell -A sensu.env</command> would give you an
environment with Ruby preset so it has all the libraries necessary
for <literal>sensu</literal> in its paths. The second one can be
used to make derivations from custom Ruby scripts which have
<filename>Gemfile</filename>s with their dependencies specified. It is
a derivation with <command>ruby</command> wrapped so it can find all
the needed dependencies. For example, to make a derivation
<literal>my-script</literal> for a <filename>my-script.rb</filename>
(which should be placed in <filename>bin</filename>) you should run
<command>bundix</command> as specified above and then use
<literal>bundlerEnv</literal> like this:
</para>
<programlisting>
<![CDATA[let env = bundlerEnv {

View File

@ -33,7 +33,7 @@ pkgs.stdenv.mkDerivation {
echo "Creating an EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks)"
truncate -s $bytes $out
faketime "1970-01-01 00:00:00" mkfs.ext4 -L ${volumeLabel} -U 44444444-4444-4444-8888-888888888888 $out
faketime -f "1970-01-01 00:00:01" mkfs.ext4 -L ${volumeLabel} -U 44444444-4444-4444-8888-888888888888 $out
# Populate the image contents by piping a bunch of commands to the `debugfs` tool from e2fsprogs.
# For example, to copy /nix/store/abcd...efg-coreutils-8.23/bin/sleep:
@ -76,7 +76,7 @@ pkgs.stdenv.mkDerivation {
echo sif $file gid 30000 # chgrp to nixbld
done
) | faketime "1970-01-01 00:00:00" debugfs -w $out -f /dev/stdin > errorlog 2>&1
) | faketime -f "1970-01-01 00:00:01" debugfs -w $out -f /dev/stdin > errorlog 2>&1
# The debugfs tool doesn't terminate on error nor exit with a non-zero status. Check manually.
if egrep -q 'Could not allocate|File not found' errorlog; then

View File

@ -527,7 +527,7 @@ in {
input.gid = ids.gids.input;
};
system.activationScripts.users = stringAfter [ "etc" ]
system.activationScripts.users = stringAfter [ "stdio" ]
''
${pkgs.perl}/bin/perl -w \
-I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl \

View File

@ -164,8 +164,6 @@ in
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
path = [ data.package ];
restartTriggers = [ config.environment.etc."tinc/${network}/tinc.conf".source ]
++ mapAttrsToList (host: _ : config.environment.etc."tinc/${network}/hosts/${host}".source) data.hosts;
serviceConfig = {
Type = "simple";
PIDFile = "/run/tinc.${network}.pid";

View File

@ -37,8 +37,10 @@ let
"mod_rrdtool"
"mod_accesslog"
# Remaining list of modules, order assumed to be unimportant.
"mod_authn_file"
"mod_authn_mysql"
"mod_cml"
"mod_dirlisting"
"mod_deflate"
"mod_evasive"
"mod_extforward"
"mod_flv_streaming"
@ -47,6 +49,7 @@ let
"mod_scgi"
"mod_setenv"
"mod_trigger_b4_dl"
"mod_uploadprogress"
"mod_webdav"
];
@ -86,14 +89,9 @@ let
accesslog.use-syslog = "enable"
server.errorlog-use-syslog = "enable"
mimetype.assign = (
".html" => "text/html",
".htm" => "text/html",
".txt" => "text/plain",
".jpg" => "image/jpeg",
".png" => "image/png",
".css" => "text/css"
)
${lib.optionalString cfg.enableUpstreamMimeTypes ''
include "${pkgs.lighttpd}/share/lighttpd/doc/config/conf.d/mime.conf"
''}
static-file.exclude-extensions = ( ".fcgi", ".php", ".rb", "~", ".inc" )
index-file.names = ( "index.html" )
@ -165,6 +163,17 @@ in
'';
};
enableUpstreamMimeTypes = mkOption {
type = types.bool;
default = true;
description = ''
Whether to include the list of mime types bundled with lighttpd
(upstream). If you disable this, no mime types will be added by
NixOS and you will have to add your own mime types in
<option>services.lighttpd.extraConfig</option>.
'';
};
mod_status = mkOption {
default = false;
type = types.bool;

View File

@ -142,6 +142,18 @@ let
(assertValueOneOf "EmitTimezone" boolValues)
];
# .network files have a [Link] section with different options than in .netlink files
checkNetworkLink = checkUnitConfig "Link" [
(assertOnlyFields [
"MACAddress" "MTUBytes" "ARP" "Unmanaged"
])
(assertMacAddress "MACAddress")
(assertByteFormat "MTUBytes")
(assertValueOneOf "ARP" boolValues)
(assertValueOneOf "Unmanaged" boolValues)
];
commonNetworkOptions = {
enable = mkOption {
@ -371,6 +383,18 @@ let
'';
};
linkConfig = mkOption {
default = {};
example = { Unmanaged = true; };
type = types.addCheck (types.attrsOf unitOption) checkNetworkLink;
description = ''
Each attribute in this set specifies an option in the
<literal>[Link]</literal> section of the unit. See
<citerefentry><refentrytitle>systemd.network</refentrytitle>
<manvolnum>5</manvolnum></citerefentry> for details.
'';
};
name = mkOption {
type = types.nullOr types.str;
default = null;
@ -581,6 +605,12 @@ let
{ inherit (def) enable;
text = commonMatchText def +
''
${optionalString (def.linkConfig != { }) ''
[Link]
${attrsToSection def.linkConfig}
''}
[Network]
${attrsToSection def.networkConfig}
${concatStringsSep "\n" (map (s: "Address=${s}") def.address)}

View File

@ -20,8 +20,8 @@ let
sources = map (x: x.source) etc';
targets = map (x: x.target) etc';
modes = map (x: x.mode) etc';
uids = map (x: x.uid) etc';
gids = map (x: x.gid) etc';
users = map (x: x.user) etc';
groups = map (x: x.group) etc';
};
in
@ -108,6 +108,26 @@ in
'';
};
user = mkOption {
default = "+${toString config.uid}";
type = types.str;
description = ''
User name of created file.
Only takes affect when the file is copied (that is, the mode is not 'symlink').
Changing this option takes precedence over <literal>uid</literal>.
'';
};
group = mkOption {
default = "+${toString config.gid}";
type = types.str;
description = ''
Group name of created file.
Only takes affect when the file is copied (that is, the mode is not 'symlink').
Changing this option takes precedence over <literal>gid</literal>.
'';
};
};
config = {
@ -130,7 +150,7 @@ in
system.build.etc = etc;
system.activationScripts.etc = stringAfter [ "stdio" ]
system.activationScripts.etc = stringAfter [ "users" "groups" ]
''
# Set up the statically computed bits of /etc.
echo "setting up /etc..."

View File

@ -6,8 +6,8 @@ set -f
sources_=($sources)
targets_=($targets)
modes_=($modes)
uids_=($uids)
gids_=($gids)
users_=($users)
groups_=($groups)
set +f
for ((i = 0; i < ${#targets_[@]}; i++)); do
@ -36,9 +36,9 @@ for ((i = 0; i < ${#targets_[@]}; i++)); do
fi
if test "${modes_[$i]}" != symlink; then
echo "${modes_[$i]}" > $out/etc/$target.mode
echo "${uids_[$i]}" > $out/etc/$target.uid
echo "${gids_[$i]}" > $out/etc/$target.gid
echo "${modes_[$i]}" > $out/etc/$target.mode
echo "${users_[$i]}" > $out/etc/$target.uid
echo "${groups_[$i]}" > $out/etc/$target.gid
fi
fi

View File

@ -108,6 +108,8 @@ sub link {
my $uid = read_file("$_.uid"); chomp $uid;
my $gid = read_file("$_.gid"); chomp $gid;
copy "$static/$fn", "$target.tmp" or warn;
$uid = getpwnam $uid unless $uid =~ /^\+/;
$gid = getgrnam $gid unless $gid =~ /^\+/;
chown int($uid), int($gid), "$target.tmp" or warn;
chmod oct($mode), "$target.tmp" or warn;
rename "$target.tmp", $target or warn;

View File

@ -1,10 +1,10 @@
{ stdenv, fetchurl, libXmu, libXt, libX11, libXext, libXxf86vm, jack
{ stdenv, fetchurl, libXmu, libXt, libX11, libXext, libXxf86vm, libjack2
, makeWrapper
}:
let
rpath = stdenv.lib.makeLibraryPath
[ libXmu libXt libX11 libXext libXxf86vm jack ];
[ libXmu libXt libX11 libXext libXxf86vm libjack2 ];
in
stdenv.mkDerivation rec {
name = "baudline-${version}";

View File

@ -24,6 +24,10 @@ let
let pluginname = substitute(d, ".*/", "", "")
if !has_key(seen, pluginname)
exec 'set runtimepath^='.d
let after = d."/after"
if isdirectory(after)
exec 'set runtimepath^='.after
endif
let seen[pluginname] = 1
endif
endfor

View File

@ -13,8 +13,8 @@ let
else throw "ImageMagick is not supported on this platform.";
cfg = {
version = "7.0.6-1";
sha256 = "1i3gsc0ps7cbvfmnk6fbi5hng18jwh4x4dqbz90a45x85023w9vs";
version = "7.0.6-4";
sha256 = "0fvkx9lf8g0sa9bccd9s5qyhcy0g1mqnkbpqly55ryxyg1ywxqaz";
patches = [];
};
in

View File

@ -13,8 +13,8 @@ let
else throw "ImageMagick is not supported on this platform.";
cfg = {
version = "6.9.9-0";
sha256 = "02xnvgjnmz2d4yv4iy1kh7an5w631p1s319jw23c8zpmqhfhk2ha";
version = "6.9.9-3";
sha256 = "1bfg334nxkxhsm6h0hb0vwd9aiz031qa0w8w8hmhdk8m4wawshrg";
patches = [];
}
# Freeze version on mingw so we don't need to port the patch too often.

View File

@ -6,11 +6,11 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "feh-${version}";
version = "2.19";
version = "2.19.1";
src = fetchurl {
url = "http://feh.finalrewind.org/${name}.tar.bz2";
sha256 = "1sfhr6628xpj9p6bqihdq35y139x2gmrpydjlrwsl1rs77c2bgnf";
sha256 = "1d4ycmai3dpajl0bdr9i56646g4h5j1lb95jjn0nckwcddcj927c";
};
outputs = [ "out" "man" "doc" ];

View File

@ -16,6 +16,18 @@
with rustPlatform;
let
rpathLibs = [
expat
freetype
fontconfig
libX11
libXcursor
libXxf86vm
libXi
];
in
buildRustPackage rec {
name = "alacritty-unstable-2017-07-25";
@ -31,31 +43,25 @@ buildRustPackage rec {
buildInputs = [
cmake
makeWrapper
freetype
fontconfig
xclip
pkgconfig
expat
libX11
libXcursor
libXxf86vm
libXi
];
] ++ rpathLibs;
installPhase = ''
mkdir -p $out/bin
for f in $(find target/release -maxdepth 1 -type f); do
cp $f $out/bin
done;
wrapProgram $out/bin/alacritty --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath buildInputs}"
patchelf --set-rpath "${stdenv.lib.makeLibraryPath rpathLibs}" $out/bin/alacritty
'';
dontPatchELF = true;
meta = with stdenv.lib; {
description = "GPU-accelerated terminal emulator";
homepage = https://github.com/jwilm/alacritty;
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ mic92 ];
platforms = platforms.all;
platforms = platforms.linux;
};
}

View File

@ -3,13 +3,13 @@
let
xorgxrdp = stdenv.mkDerivation rec {
name = "xorgxrdp-${version}";
version = "0.2.1";
version = "0.2.3";
src = fetchFromGitHub {
owner = "neutrinolabs";
repo = "xorgxrdp";
rev = "v${version}";
sha256 = "13713qs1v79xa02iw6vaj9b2q62ix770a32z56ql05d6yvfdsfhi";
sha256 = "0l1b38j3q9mxyb8ffpdplbqs6rnabj92i8wngrwlkhfh2c88szn1";
};
nativeBuildInputs = [ pkgconfig autoconf automake which libtool nasm ];
@ -34,16 +34,15 @@ let
};
xrdp = stdenv.mkDerivation rec {
version = "0.9.2";
rev = "48c26a3"; # Fixes https://github.com/neutrinolabs/xrdp/issues/609; not a patch on top of the official repo because "xorgxrdp.configureFlags" above includes "xrdp.src" which must be fixed already
name = "xrdp-${version}.${rev}";
version = "0.9.3";
name = "xrdp-${version}";
src = fetchFromGitHub {
owner = "volth";
repo = "xrdp";
rev = rev;
rev = "refs/heads/runtime-cfg-path-${version}"; # Fixes https://github.com/neutrinolabs/xrdp/issues/609; not a patch on top of the official repo because "xorgxrdp.configureFlags" above includes "xrdp.src" which must be patched already
fetchSubmodules = true;
sha256 = "0zs03amshmvy65d26vsv31n9jflkjf43vsjhg4crzifka3vz9p16";
sha256 = "0xqyg3m688fj442zgg9fqmbz7nnzvqpd7a9ki2cwh1hyibacpmz7";
};
nativeBuildInputs = [ pkgconfig autoconf automake which libtool nasm ];
@ -73,12 +72,12 @@ let
# remove all session types except Xorg (they are not supported by this setup)
${perl}/bin/perl -i -ne 'print unless /\[(X11rdp|Xvnc|console|vnc-any|sesman-any|rdp-any|neutrinordp-any)\]/ .. /^$/' $out/etc/xrdp/xrdp.ini
# remove all session types and then add Xorg
${perl}/bin/perl -i -ne 'print unless /\[(X11rdp|Xvnc|Xorg)\]/ .. /^$/' $out/etc/xrdp/sesman.ini
cat >> $out/etc/xrdp/sesman.ini <<EOF
[Xorg]
param=${xorg.xorgserver}/bin/Xorg
param=-modulepath

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, fetchFromGitHub, luaPackages, cairo, librsvg, cmake, imagemagick, pkgconfig, gdk_pixbuf
{ stdenv, fetchFromGitHub, luaPackages, cairo, librsvg, cmake, imagemagick, pkgconfig, gdk_pixbuf
, xorg, libstartup_notification, libxdg_basedir, libpthreadstubs
, xcb-util-cursor, makeWrapper, pango, gobjectIntrospection, unclutter
, compton, procps, iproute, coreutils, curl, alsaUtils, findutils, xterm
@ -9,13 +9,13 @@
with luaPackages; stdenv.mkDerivation rec {
name = "awesome-${version}";
version = "4.1";
version = "4.2";
src = fetchFromGitHub {
owner = "awesomewm";
repo = "awesome";
rev = "v${version}";
sha256 = "1qik8h5nwjq4535lpdpal85vas1k7am3s6l5r763kpdzxhfcyyaj";
sha256 = "1pcgagcvm6rdky8p8dd810j3ywaz0ncyk5xgaykslaixzrq60kff";
};
nativeBuildInputs = [
@ -38,13 +38,6 @@ with luaPackages; stdenv.mkDerivation rec {
xorg.xcbutilrenderutil xorg.xcbutilwm libxkbcommon
xcbutilxrm ];
patches = [
(fetchurl {
url = "https://patch-diff.githubusercontent.com/raw/awesomeWM/awesome/pull/1639.patch";
sha256 = "00piynmbxajd2xbg960gmf0zlqn7m489f4ww482y49ravfy1jhsj";
})
];
#cmakeFlags = "-DGENERATE_MANPAGES=ON";
LD_LIBRARY_PATH = "${stdenv.lib.makeLibraryPath [ cairo pango gobjectIntrospection ]}";

View File

@ -3,7 +3,7 @@
stdenv.mkDerivation {
name = "nixos-icons-2017-03-16";
srcs = fetchFromGitHub {
owner = "nixos";
owner = "NixOS";
repo = "nixos-artwork";
rev = "783ca1249fc4cfe523ad4e541f37e2229891bc8b";
sha256 = "0wp08b1gh2chs1xri43wziznyjcplx0clpsrb13wzyscv290ay5a";

View File

@ -29,7 +29,7 @@ in
name = "gnome-dark-2015-02-27";
description = "Gnome Dark background for Nix";
src = fetchurl {
url = https://raw.githubusercontent.com/Nix/nixos-artwork/7ece5356398db14b5513392be4b31f8aedbb85a2/gnome/Gnome_Dark.png;
url = https://raw.githubusercontent.com/NixOS/nixos-artwork/7ece5356398db14b5513392be4b31f8aedbb85a2/gnome/Gnome_Dark.png;
sha256 = "0c7sl9k4zdjwvdz3nhlm8i4qv4cjr0qagalaa1a438jigixx27l7";
};
};

View File

@ -97,6 +97,7 @@ let
chmod +x configure
substituteInPlace configure --replace /bin/bash "$shell"
substituteInPlace hotspot/make/linux/adlc_updater --replace /bin/sh "$shell"
substituteInPlace hotspot/make/linux/makefiles/dtrace.make --replace /usr/include/sys/sdt.h "/no-such-path"
'';
configureFlags = [

View File

@ -4,6 +4,7 @@ let
dict = a: stdenv.mkDerivation ({
inherit (hspell) src patchPhase nativeBuildInputs;
meta = hspell.meta // {
broken = true;
description = "${a.buildFlags} Hebrew dictionary";
} // (if a ? meta then a.meta else {});
} // (removeAttrs a ["meta"]));

View File

@ -90,9 +90,14 @@ stdenv.mkDerivation rec {
done
'');
# This prevents cmake from using libraries in impure paths (which causes build failure on non NixOS)
# This prevents cmake from using libraries in impure paths (which
# causes build failure on non NixOS)
# Also, work around https://github.com/NixOS/nixpkgs/issues/26304 with
# what appears to be some stray headers in dnn/misc/tensorflow
# in contrib when generating the Python bindings:
postPatch = ''
sed -i '/Add these standard paths to the search paths for FIND_LIBRARY/,/^\s*$/{d}' CMakeLists.txt
sed -i -e 's|if len(decls) == 0:|if len(decls) == 0 or "opencv2/" not in hdr:|' ./modules/python/src2/gen2.py
'';
preConfigure =

View File

@ -61,7 +61,7 @@ let
copyIfBundledByPath = { bundledByPath ? false, ...}@main:
(if bundledByPath then
assert gemFiles.gemdir != null; "cp -a ${gemFiles.gemdir}/* $out/"
assert gemFiles.gemdir != null; "cp -a ${gemFiles.gemdir}/* $out/" #*/
else ""
);
@ -109,11 +109,10 @@ let
meta = { platforms = ruby.meta.platforms; } // meta;
passthru = rec {
inherit ruby bundler gems mainGem confFiles envPaths;
inherit ruby bundler gems confFiles envPaths;
wrappedRuby =
stdenv.mkDerivation {
name = "wrapped-ruby-${pname}";
wrappedRuby = stdenv.mkDerivation {
name = "wrapped-ruby-${pname'}";
nativeBuildInputs = [ makeWrapper ];
buildCommand = ''
mkdir -p $out/bin
@ -137,7 +136,7 @@ let
require 'bundler/setup'
'';
in stdenv.mkDerivation {
name = "${pname}-interactive-environment";
name = "${pname'}-interactive-environment";
nativeBuildInputs = [ wrappedRuby basicEnv ];
shellHook = ''
export OLD_IRBRC=$IRBRC

View File

@ -2,11 +2,14 @@
stdenv.mkDerivation rec {
name = "sbt-${version}";
version = "0.13.15";
version = "0.13.16";
src = fetchurl {
url = "https://dl.bintray.com/sbt/native-packages/sbt/${version}/${name}.tgz";
sha256 = "1vvsxpg1fwfzv3mcin69gnj44v6p7kfx3z9cm761sx01qbbp7q5n";
urls = [
"https://dl.bintray.com/sbt/native-packages/sbt/${version}/${name}.tgz"
"https://cocl.us/sbt01316tgz"
];
sha256 = "033nvklclvbirhpsiy28d3ccmbm26zcs9vb7j8jndsc1ln09awi2";
};
patchPhase = ''

View File

@ -1,4 +1,4 @@
{ stdenv, fetchgit, kernel }:
{ stdenv, fetchgit, fetchpatch, kernel }:
stdenv.mkDerivation {
name = "acpi-call-${kernel.version}";
@ -9,6 +9,13 @@ stdenv.mkDerivation {
sha256 = "0jl19irz9x9pxab2qp4z8c3jijv2m30zhmnzi6ygbrisqqlg4c75";
};
patches = [
(fetchpatch {
url = "https://github.com/mkottman/acpi_call/pull/67.patch";
sha256 = "0z07apvdl8nvl8iwfk1sl1iidfjyx12fc0345bmp2nq1537kpbri";
})
];
hardeningDisable = [ "pic" ];
preBuild = ''

View File

@ -27,11 +27,11 @@ let
in
stdenv.mkDerivation rec {
name = "busybox-1.27.0";
name = "busybox-1.27.1";
src = fetchurl {
url = "http://busybox.net/downloads/${name}.tar.bz2";
sha256 = "1kcr0jvik0c31ls4f3li359xv7w0b60hv64fknj28bwlkdgbvpx5";
sha256 = "0dprylmcignrp29g41nkwr1b30v7i5x21lwymp3b93i1zd9sr468";
};
hardeningDisable = [ "format" ] ++ lib.optional enableStatic [ "fortify" ];

View File

@ -6,11 +6,11 @@ assert kernel != null -> stdenv.lib.versionAtLeast kernel.version "3.10";
let
name = "wireguard-${version}";
version = "0.0.20170706";
version = "0.0.20170726";
src = fetchurl {
url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
sha256 = "0cvc2iv1836l6f0c3v3kqn3zqrr80i123f1cz5kilhk5c91vjqsp";
sha256 = "1nq1h9k1kf6p28ykids5mmdq50q6zpj0ylhsf94q1hjydcmlb4fv";
};
meta = with stdenv.lib; {

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "atlassian-confluence-${version}";
version = "6.2.2";
version = "6.3.1";
src = fetchurl {
url = "https://www.atlassian.com/software/confluence/downloads/binary/${name}.tar.gz";
sha256 = "1fpn799382m8x7b0s3w4mxzlhy1s62ya287i622gbadqscprhagg";
sha256 = "0f7hc8q4sigvr9bdxx8phnp6bkfkz9bccwkrx0xqyrvvdc5x5690";
};
phases = [ "unpackPhase" "buildPhase" "installPhase" ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "atlassian-jira-${version}";
version = "7.3.7";
version = "7.4.1";
src = fetchurl {
url = "https://downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz";
sha256 = "1ixnnw3yj2ip9ndr9pwxcmdy8gaixkmp517ahg3w8xzymr8wh2qp";
sha256 = "1ixkhc206z3zpiaj46v8z2gxmix24sxqs2d17fb64gkyml9s5gqb";
};
phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];

View File

@ -26,6 +26,15 @@ stdenv.mkDerivation rec {
sed -i "s:/usr/bin/file:${file}/bin/file:g" configure
'';
postInstall = ''
mkdir -p "$out/share/lighttpd/doc/config"
cp -vr doc/config "$out/share/lighttpd/doc/"
# Remove files that references needless store paths (dependency bloat)
rm "$out/share/lighttpd/doc/config/Makefile"*
rm "$out/share/lighttpd/doc/config/conf.d/Makefile"*
rm "$out/share/lighttpd/doc/config/vhosts.d/Makefile"*
'';
meta = with stdenv.lib; {
description = "Lightweight high-performance web server";
homepage = http://www.lighttpd.net/;

View File

@ -1,16 +1,17 @@
{ stdenv, fetchFromGitHub, postgresql, openssl, zlib, readline }:
stdenv.mkDerivation rec {
name = "pg_repack-${version}";
version = "1.3.4";
name = "pg_repack-${version}.1";
version = "1.4.0";
rev = "ver_${version}.1";
buildInputs = [ postgresql openssl zlib readline ];
src = fetchFromGitHub {
owner = "reorg";
repo = "pg_repack";
rev = "ver_${version}";
sha256 = "1hig4x8iycchlp42q8565jzi6hkj8gpbhl9kpn73jvk7afl7z0c8";
inherit rev;
sha256 = "1ym2dlhgcizyy4p5dcfw7kadrq6g34pv3liyfx604irprzhw9k74";
};
installPhase = ''

View File

@ -0,0 +1,37 @@
{ stdenv, fetchFromGitHub, python2Packages }:
stdenv.mkDerivation rec {
name = "facedetect-${version}";
version = "0.1";
src = fetchFromGitHub {
owner = "wavexx";
repo = "facedetect";
rev = "v${version}";
sha256 = "0mddh71cjbsngpvjli406ndi2x613y39ydgb8bi4z1jp063865sd";
};
buildInputs = [ python2Packages.python python2Packages.wrapPython ];
pythonPath = [ python2Packages.numpy python2Packages.opencv ];
phases = [ "unpackPhase" "patchPhase" "installPhase" ];
patchPhase = ''
substituteInPlace facedetect \
--replace /usr/share/opencv "${python2Packages.opencv}/share/OpenCV"
'';
installPhase = ''
install -v -m644 -D README.rst $out/share/doc/${name}/README.rst
install -v -m755 -D facedetect $out/bin/facedetect
wrapPythonPrograms
'';
meta = with stdenv.lib; {
homepage = https://www.thregr.org/~wavexx/software/facedetect/;
description = "A simple face detector for batch processing";
license = licenses.gpl2Plus;
platforms = platforms.all;
maintainers = [ maintainers.rycee ];
};
}

View File

@ -1,24 +1,22 @@
{ stdenv, fetchurl, unzip, makeWrapper, perl, ImageExifTool, JSON
, coreutils, zip, imagemagick, pngcrush, lcms2, fbida
}:
{ stdenv, fetchurl, unzip, makeWrapper, perl, ImageExifTool
, CpanelJSONXS, coreutils, zip, imagemagick, pngcrush, lcms2
, facedetect, fbida }:
# TODO: add optional dependencies (snippet from fgallery source):
#
# if(system("jpegoptim -V >/dev/null 2>&1")) {
# $jpegoptim = 0;
# }
# if($facedet && system("facedetect -h >/dev/null 2>&1")) {
# fatal("cannot run \"facedetect\" (see http://www.thregr.org/~wavexx/hacks/facedetect/)");
stdenv.mkDerivation rec {
name = "fgallery-1.8";
name = "fgallery-1.8.2";
src = fetchurl {
url = "http://www.thregr.org/~wavexx/software/fgallery/releases/${name}.zip";
sha256 = "1n237sk7fm4yrpn69qaz9fwbjl6i94y664q7d16bhngrcil3bq1d";
sha256 = "18wlvqbxcng8pawimbc8f2422s8fnk840hfr6946lzsxr0ijakvf";
};
buildInputs = [ unzip makeWrapper perl ImageExifTool JSON ];
buildInputs = [ unzip makeWrapper perl ImageExifTool CpanelJSONXS ];
installPhase = ''
mkdir -p "$out/bin"
@ -35,7 +33,7 @@ stdenv.mkDerivation rec {
wrapProgram "$out/share/fgallery/fgallery" \
--set PERL5LIB "$PERL5LIB" \
--set PATH "${stdenv.lib.makeBinPath
[ coreutils zip imagemagick pngcrush lcms2 fbida ]}"
[ coreutils zip imagemagick pngcrush lcms2 facedetect fbida ]}"
'';
meta = with stdenv.lib; {

View File

@ -1,22 +1,22 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig
, zlib, libpng, libjpeg
, mesa, glm, libX11, libXext, libXfixes, libXrandr, libXcomposite, slop }:
, mesa, glm, libX11, libXext, libXfixes, libXrandr, libXcomposite, slop, icu }:
stdenv.mkDerivation rec {
name = "maim-${version}";
version = "5.4.64";
version = "5.4.65";
src = fetchFromGitHub {
owner = "naelstrof";
repo = "maim";
rev = "v${version}";
sha256 = "16ipqs4s5hn7a7380n8w1ijj26d9n356bqwl1h8z5i1skbj4w7hj";
sha256 = "0jkvsqzwsb986bm424xpfj73d46afkvbimf1ipdss2vg2y77vmj3";
};
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs =
[ zlib libpng libjpeg mesa glm libX11 libXext libXfixes libXrandr
libXcomposite slop ];
libXcomposite slop icu ];
doCheck = false;

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
name = "slop-${version}";
version = "6.3.47";
version = "6.3.48";
src = fetchFromGitHub {
owner = "naelstrof";
repo = "slop";
rev = "v${version}";
sha256 = "05saxp5z2saq6b5hslxdc5kd7ln00svr5pazabcnchzydfhnkmsd";
sha256 = "152xnisdbwx2zh1wzspy8djm937d1cm9zvcz1x22z8ia50ajm107";
};
nativeBuildInputs = [ cmake ];

View File

@ -997,6 +997,8 @@ with pkgs;
f3 = callPackage ../tools/filesystems/f3 { };
facedetect = callPackage ../tools/graphics/facedetect { };
facter = callPackage ../tools/system/facter {
boost = boost160;
};
@ -1909,7 +1911,7 @@ with pkgs;
ferm = callPackage ../tools/networking/ferm { };
fgallery = callPackage ../tools/graphics/fgallery {
inherit (perlPackages) ImageExifTool JSON;
inherit (perlPackages) ImageExifTool CpanelJSONXS;
};
flannel = callPackage ../tools/networking/flannel { };
@ -13452,9 +13454,7 @@ with pkgs;
batti = callPackage ../applications/misc/batti { };
baudline = callPackage ../applications/audio/baudline {
jack = jack1;
};
baudline = callPackage ../applications/audio/baudline { };
bazaar = callPackage ../applications/version-management/bazaar { };

View File

@ -2483,6 +2483,18 @@ let self = _self // overrides; _self = with self; {
};
};
CpanelJSONXS = buildPerlPackage rec {
name = "Cpanel-JSON-XS-3.0237";
src = fetchurl {
url = "mirror://cpan/authors/id/R/RU/RURBAN/${name}.tar.gz";
sha256 = "da86fffdbe6c1b7a023e95e2b8db7d6b45a08871c8312f23e45253c78e662d07";
};
meta = {
description = "CPanel fork of JSON::XS, fast and correct serializing";
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
};
};
CPANChanges = buildPerlPackage rec {
name = "CPAN-Changes-0.400002";
src = fetchurl {