diff --git a/doc/languages-frameworks/ruby.xml b/doc/languages-frameworks/ruby.xml index eb1696ad224..4b48f7ffa1b 100644 --- a/doc/languages-frameworks/ruby.xml +++ b/doc/languages-frameworks/ruby.xml @@ -4,10 +4,14 @@ Ruby - There currently is support to bundle applications that are packaged as Ruby gems. The utility "bundix" allows you to write a Gemfile, let bundler create a Gemfile.lock, and then convert - this into a nix expression that contains all Gem dependencies automatically. +There currently is support to bundle applications that are packaged as +Ruby gems. The utility "bundix" allows you to write a +Gemfile, let bundler create a +Gemfile.lock, and then convert this into a nix +expression that contains all Gem dependencies automatically. + - For example, to package sensu, we did: +For example, to package sensu, we did: -Please check in the Gemfile, Gemfile.lock and the gemset.nix so future updates can be run easily. +Please check in the Gemfile, +Gemfile.lock and the +gemset.nix so future updates can be run easily. -For tools written in Ruby - i.e. where the desire is to install a package and then execute e.g. rake at the command line, there is an alternative builder called bundlerApp. Set up the gemset.nix the same way, and then, for example: +For tools written in Ruby - i.e. where the desire is to install +a package and then execute e.g. rake at the command +line, there is an alternative builder called bundlerApp. +Set up the gemset.nix the same way, and then, for +example: - + -The chief advantage of bundlerApp over bundlerEnv is the executables introduced in the environment are precisely those selected in the exes list, as opposed to bundlerEnv which adds all the executables made available by gems in the gemset, which can mean e.g. rspec or rake in unpredictable versions available from various packages. +The chief advantage of bundlerApp over +bundlerEnv is the executables introduced in the +environment are precisely those selected in the exes +list, as opposed to bundlerEnv which adds all the +executables made available by gems in the gemset, which can mean e.g. +rspec or rake in unpredictable +versions available from various packages. + -Resulting derivations for both builders also have two helpful attributes, env and wrapper. The first one allows one to quickly drop into -nix-shell with the specified environment present. E.g. nix-shell -A sensu.env would give you an environment with Ruby preset -so it has all the libraries necessary for sensu in its paths. The second one can be used to make derivations from custom Ruby scripts which have -Gemfiles with their dependencies specified. It is a derivation with ruby wrapped so it can find all the needed dependencies. -For example, to make a derivation my-script for a my-script.rb (which should be placed in bin) you should -run bundix as specified above and then use bundlerEnv like this: +Resulting derivations for both builders also have two helpful +attributes, env and wrapper. +The first one allows one to quickly drop into +nix-shell with the specified environment present. +E.g. nix-shell -A sensu.env would give you an +environment with Ruby preset so it has all the libraries necessary +for sensu in its paths. The second one can be +used to make derivations from custom Ruby scripts which have +Gemfiles with their dependencies specified. It is +a derivation with ruby wrapped so it can find all +the needed dependencies. For example, to make a derivation +my-script for a my-script.rb +(which should be placed in bin) you should run +bundix as specified above and then use +bundlerEnv like this: + 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 diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index 0e7ffbd3c2e..a4715175cc9 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -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 \ diff --git a/nixos/modules/services/networking/tinc.nix b/nixos/modules/services/networking/tinc.nix index 31a588318f6..be5bfaebf7d 100644 --- a/nixos/modules/services/networking/tinc.nix +++ b/nixos/modules/services/networking/tinc.nix @@ -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"; diff --git a/nixos/modules/services/web-servers/lighttpd/default.nix b/nixos/modules/services/web-servers/lighttpd/default.nix index 8c3f7b219ac..45a65965112 100644 --- a/nixos/modules/services/web-servers/lighttpd/default.nix +++ b/nixos/modules/services/web-servers/lighttpd/default.nix @@ -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 + . + ''; + }; + mod_status = mkOption { default = false; type = types.bool; diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index b151b568892..9d2cea3ad16 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -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 + [Link] section of the unit. See + systemd.network + 5 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)} diff --git a/nixos/modules/system/etc/etc.nix b/nixos/modules/system/etc/etc.nix index fd6e58cd5b4..7d43ba07ca5 100644 --- a/nixos/modules/system/etc/etc.nix +++ b/nixos/modules/system/etc/etc.nix @@ -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 uid. + ''; + }; + + 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 gid. + ''; + }; + }; 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..." diff --git a/nixos/modules/system/etc/make-etc.sh b/nixos/modules/system/etc/make-etc.sh index 60d4ba1301a..1ca4c3046f0 100644 --- a/nixos/modules/system/etc/make-etc.sh +++ b/nixos/modules/system/etc/make-etc.sh @@ -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 diff --git a/nixos/modules/system/etc/setup-etc.pl b/nixos/modules/system/etc/setup-etc.pl index efda74161ff..eed20065087 100644 --- a/nixos/modules/system/etc/setup-etc.pl +++ b/nixos/modules/system/etc/setup-etc.pl @@ -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; diff --git a/pkgs/applications/audio/baudline/default.nix b/pkgs/applications/audio/baudline/default.nix index e3cef30ccda..deaa3f98e52 100644 --- a/pkgs/applications/audio/baudline/default.nix +++ b/pkgs/applications/audio/baudline/default.nix @@ -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}"; diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix index 3f588fdde58..97e430fded6 100644 --- a/pkgs/applications/editors/vim/configurable.nix +++ b/pkgs/applications/editors/vim/configurable.nix @@ -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 diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix index 1a854a82bf0..5524f12077f 100644 --- a/pkgs/applications/graphics/ImageMagick/7.0.nix +++ b/pkgs/applications/graphics/ImageMagick/7.0.nix @@ -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 diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index a9223749f39..169576f29bf 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -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. diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix index 5de8e7892ab..aace37601b5 100644 --- a/pkgs/applications/graphics/feh/default.nix +++ b/pkgs/applications/graphics/feh/default.nix @@ -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" ]; diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix index a00e0ec8a48..e84ee7ee16b 100644 --- a/pkgs/applications/misc/alacritty/default.nix +++ b/pkgs/applications/misc/alacritty/default.nix @@ -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; }; } diff --git a/pkgs/applications/networking/remote/xrdp/default.nix b/pkgs/applications/networking/remote/xrdp/default.nix index 8079a0aabe6..eff81e99857 100644 --- a/pkgs/applications/networking/remote/xrdp/default.nix +++ b/pkgs/applications/networking/remote/xrdp/default.nix @@ -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 < 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; { diff --git a/pkgs/servers/atlassian/confluence.nix b/pkgs/servers/atlassian/confluence.nix index 20b7250d75d..3c1cdda8361 100644 --- a/pkgs/servers/atlassian/confluence.nix +++ b/pkgs/servers/atlassian/confluence.nix @@ -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" ]; diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix index 48678804c56..bd044975f22 100644 --- a/pkgs/servers/atlassian/jira.nix +++ b/pkgs/servers/atlassian/jira.nix @@ -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" ]; diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix index 87efc41b1d6..e5f4ada3301 100644 --- a/pkgs/servers/http/lighttpd/default.nix +++ b/pkgs/servers/http/lighttpd/default.nix @@ -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/; diff --git a/pkgs/servers/sql/postgresql/pg_repack/default.nix b/pkgs/servers/sql/postgresql/pg_repack/default.nix index 9a6410490c5..0a25b314506 100644 --- a/pkgs/servers/sql/postgresql/pg_repack/default.nix +++ b/pkgs/servers/sql/postgresql/pg_repack/default.nix @@ -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 = '' diff --git a/pkgs/tools/graphics/facedetect/default.nix b/pkgs/tools/graphics/facedetect/default.nix new file mode 100644 index 00000000000..02a3a70fe51 --- /dev/null +++ b/pkgs/tools/graphics/facedetect/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/tools/graphics/fgallery/default.nix b/pkgs/tools/graphics/fgallery/default.nix index 4b263b555d2..424cf5c1bdc 100644 --- a/pkgs/tools/graphics/fgallery/default.nix +++ b/pkgs/tools/graphics/fgallery/default.nix @@ -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; { diff --git a/pkgs/tools/graphics/maim/default.nix b/pkgs/tools/graphics/maim/default.nix index 39933e70e39..791f1bf09e1 100644 --- a/pkgs/tools/graphics/maim/default.nix +++ b/pkgs/tools/graphics/maim/default.nix @@ -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; diff --git a/pkgs/tools/misc/slop/default.nix b/pkgs/tools/misc/slop/default.nix index d2bf060edd0..570c2f260dd 100644 --- a/pkgs/tools/misc/slop/default.nix +++ b/pkgs/tools/misc/slop/default.nix @@ -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 ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0c04cd24884..971c939957a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index e7234018508..0ce43937685 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -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 {