Merge branch 'master' into staging

wip/yesman
Vladimír Čunát 7 years ago
commit 8004e79415
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
  1. 12
      lib/systems/default.nix
  2. 38
      lib/systems/doubles.nix
  3. 37
      lib/systems/inspect.nix
  4. 31
      lib/systems/parse.nix
  5. 2
      lib/tests/release.nix
  6. 345
      maintainers/scripts/rebuild-amount.sh
  7. 2
      nixos/modules/config/nsswitch.nix
  8. 1
      nixos/modules/module-list.nix
  9. 23
      nixos/modules/services/backup/znapzend.nix
  10. 2
      nixos/modules/services/continuous-integration/buildbot/master.nix
  11. 4
      nixos/modules/services/continuous-integration/jenkins/default.nix
  12. 34
      nixos/modules/services/networking/iwd.nix
  13. 2
      nixos/modules/services/networking/znc.nix
  14. 106
      nixos/modules/services/system/cloud-init.nix
  15. 28
      nixos/modules/system/boot/systemd.nix
  16. 14
      pkgs/applications/audio/aeolus/default.nix
  17. 4
      pkgs/applications/audio/aj-snapshot/default.nix
  18. 4
      pkgs/applications/audio/spotify/default.nix
  19. 4
      pkgs/applications/misc/hugo/default.nix
  20. 96
      pkgs/applications/misc/hugo/deps.nix
  21. 10
      pkgs/applications/networking/c14/default.nix
  22. 66
      pkgs/applications/networking/c14/deps.nix
  23. 23
      pkgs/applications/networking/cluster/kops/default.nix
  24. 8
      pkgs/applications/networking/instant-messengers/jackline/default.nix
  25. 302
      pkgs/applications/networking/instant-messengers/jackline/uchar.patch
  26. 4
      pkgs/applications/networking/mailreaders/astroid/default.nix
  27. 4
      pkgs/applications/networking/sniffers/wireshark/default.nix
  28. 31
      pkgs/applications/science/logic/cryptominisat/default.nix
  29. 23
      pkgs/applications/science/logic/minisat/unstable.nix
  30. 43
      pkgs/applications/science/logic/stp/default.nix
  31. 45
      pkgs/applications/science/logic/stp/fixbuild.diff
  32. 192
      pkgs/applications/science/logic/stp/fixrefs.diff
  33. 36
      pkgs/applications/video/kodi/plugins.nix
  34. 6
      pkgs/applications/video/obs-studio/default.nix
  35. 4
      pkgs/applications/virtualization/virt-manager/qt.nix
  36. 4
      pkgs/build-support/rust/fetch-cargo-deps
  37. 4
      pkgs/data/misc/hackage/default.nix
  38. 2
      pkgs/development/compilers/gcc/4.8/default.nix
  39. 2
      pkgs/development/compilers/gcc/4.9/default.nix
  40. 2
      pkgs/development/compilers/gcc/5/default.nix
  41. 2
      pkgs/development/compilers/gcc/6/default.nix
  42. 2
      pkgs/development/compilers/gcc/snapshot/default.nix
  43. 13
      pkgs/development/compilers/llvm/3.4/fix-llvm-config.patch
  44. 10
      pkgs/development/compilers/llvm/3.4/llvm.nix
  45. 6
      pkgs/development/compilers/urweb/default.nix
  46. 4
      pkgs/development/libraries/aws-sdk-cpp/default.nix
  47. 4
      pkgs/development/libraries/ffmpeg-full/default.nix
  48. 4
      pkgs/development/libraries/ffmpeg/3.3.nix
  49. 34
      pkgs/development/libraries/libhdhomerun/default.nix
  50. 11
      pkgs/development/libraries/libopus/default.nix
  51. 27
      pkgs/development/python-modules/flake8/default.nix
  52. 21
      pkgs/development/python-modules/mccabe/default.nix
  53. 53
      pkgs/development/python-modules/pelican/default.nix
  54. 23
      pkgs/development/python-modules/pyflakes/default.nix
  55. 4
      pkgs/development/tools/ammonite/default.nix
  56. 95
      pkgs/development/tools/build-managers/pants/default.nix
  57. 4
      pkgs/development/tools/continuous-integration/jenkins/default.nix
  58. 4
      pkgs/development/tools/coursier/default.nix
  59. 64
      pkgs/development/tools/misc/gdb/default.nix
  60. 20
      pkgs/development/tools/wllvm/default.nix
  61. 22
      pkgs/games/eternity-engine/default.nix
  62. 4
      pkgs/games/freeciv/default.nix
  63. 9
      pkgs/games/gzdoom/default.nix
  64. 24
      pkgs/games/robotfindskitten/default.nix
  65. 42
      pkgs/games/vms-empire/default.nix
  66. 7
      pkgs/misc/emulators/wine/base.nix
  67. 3
      pkgs/misc/emulators/wine/default.nix
  68. 2
      pkgs/misc/emulators/wine/staging.nix
  69. 93
      pkgs/misc/vim-plugins/default.nix
  70. 1
      pkgs/misc/vim-plugins/vim-plugin-names
  71. 8
      pkgs/os-specific/darwin/cctools/port.nix
  72. 4
      pkgs/os-specific/linux/acpid/default.nix
  73. 36
      pkgs/os-specific/linux/iwd/default.nix
  74. 6
      pkgs/os-specific/linux/kernel/linux-testing.nix
  75. 4
      pkgs/servers/http/nginx/modules.nix
  76. 4
      pkgs/servers/http/nginx/stable.nix
  77. 4
      pkgs/servers/uwsgi/default.nix
  78. 6
      pkgs/shells/zsh-autosuggestions/default.nix
  79. 4
      pkgs/shells/zsh-completions/default.nix
  80. 24
      pkgs/shells/zsh-syntax-highlighting/default.nix
  81. 11
      pkgs/stdenv/darwin/default.nix
  82. 13
      pkgs/stdenv/freebsd/default.nix
  83. 68
      pkgs/stdenv/generic/default.nix
  84. 10
      pkgs/stdenv/linux/default.nix
  85. 3
      pkgs/stdenv/native/default.nix
  86. 4
      pkgs/stdenv/nix/default.nix
  87. 24
      pkgs/tools/archivers/zpaq/zpaqd.nix
  88. 53
      pkgs/tools/inputmethods/ibus/default.nix
  89. 4
      pkgs/tools/misc/aescrypt/default.nix
  90. 28
      pkgs/tools/misc/esptool-ck/default.nix
  91. 25
      pkgs/tools/misc/esptool/default.nix
  92. 4
      pkgs/tools/misc/grc/default.nix
  93. 4
      pkgs/tools/misc/tmux/default.nix
  94. 4
      pkgs/tools/misc/youtube-dl/default.nix
  95. 13
      pkgs/tools/package-management/nix/default.nix
  96. 6
      pkgs/tools/package-management/nixops/unstable.nix
  97. 11
      pkgs/tools/security/aide/default.nix
  98. 4
      pkgs/tools/security/sslscan/default.nix
  99. 4
      pkgs/tools/text/aha/default.nix
  100. 113
      pkgs/tools/virtualization/cloud-init/add-nixos-support.patch
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1,6 +1,9 @@
let inherit (import ../attrsets.nix) mapAttrs; in
rec {
doubles = import ./doubles.nix;
parse = import ./parse.nix;
inspect = import ./inspect.nix;
platforms = import ./platforms.nix;
# Elaborate a `localSystem` or `crossSystem` so that it contains everything
@ -18,6 +21,13 @@ rec {
config = parse.tripleFromSystem final.parsed;
# Just a guess, based on `system`
platform = platforms.selectBySystem final.system;
} // args;
libc =
/**/ if final.isDarwin then "libSystem"
else if final.isMinGW then "msvcrt"
else if final.isLinux then "glibc"
# TODO(@Ericson2314) think more about other operating systems
else "native/impure";
} // mapAttrs (n: v: v final.parsed) inspect.predicates
// args;
in final;
}

@ -1,8 +1,9 @@
let lists = import ../lists.nix; in
let parse = import ./parse.nix; in
let inherit (import ../attrsets.nix) matchAttrs; in
let
lists = import ../lists.nix;
parse = import ./parse.nix;
inherit (import ./inspect.nix) predicates;
inherit (import ../attrsets.nix) matchAttrs;
all = [
"aarch64-linux"
"armv5tel-linux" "armv6l-linux" "armv7l-linux"
@ -25,20 +26,21 @@ in rec {
allBut = platforms: lists.filter (x: !(builtins.elem x platforms)) all;
none = [];
arm = filterDoubles (matchAttrs { cpu = { family = "arm"; bits = 32; }; });
i686 = filterDoubles parse.isi686;
mips = filterDoubles (matchAttrs { cpu = { family = "mips"; }; });
x86_64 = filterDoubles parse.isx86_64;
cygwin = filterDoubles parse.isCygwin;
darwin = filterDoubles parse.isDarwin;
freebsd = filterDoubles (matchAttrs { kernel = parse.kernels.freebsd; });
gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }); # Should be better
illumos = filterDoubles (matchAttrs { kernel = parse.kernels.solaris; });
linux = filterDoubles parse.isLinux;
netbsd = filterDoubles (matchAttrs { kernel = parse.kernels.netbsd; });
openbsd = filterDoubles (matchAttrs { kernel = parse.kernels.openbsd; });
unix = filterDoubles parse.isUnix;
arm = filterDoubles predicates.isArm32;
i686 = filterDoubles predicates.isi686;
mips = filterDoubles predicates.isMips;
x86_64 = filterDoubles predicates.isx86_64;
cygwin = filterDoubles predicates.isCygwin;
darwin = filterDoubles predicates.isDarwin;
freebsd = filterDoubles predicates.isFreeBSD;
# Should be better, but MinGW is unclear, and HURD is bit-rotted.
gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; });
illumos = filterDoubles predicates.isSunOS;
linux = filterDoubles predicates.isLinux;
netbsd = filterDoubles predicates.isNetBSD;
openbsd = filterDoubles predicates.isOpenBSD;
unix = filterDoubles predicates.isUnix;
mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux"];
}

@ -0,0 +1,37 @@
with import ./parse.nix;
with import ../attrsets.nix;
rec {
patterns = {
"32bit" = { cpu = { bits = 32; }; };
"64bit" = { cpu = { bits = 64; }; };
i686 = { cpu = cpuTypes.i686; };
x86_64 = { cpu = cpuTypes.x86_64; };
x86 = { cpu = { family = "x86"; }; };
Arm = { cpu = { family = "arm"; }; };
Mips = { cpu = { family = "mips"; }; };
BigEndian = { cpu = { significantByte = significantBytes.bigEndian; }; };
LittleEndian = { cpu = { significantByte = significantBytes.littleEndian; }; };
Unix = { kernel = { families = { inherit (kernelFamilies) unix; }; }; };
BSD = { kernel = { families = { inherit (kernelFamilies) bsd; }; }; };
Darwin = { kernel = kernels.darwin; };
Linux = { kernel = kernels.linux; };
SunOS = { kernel = kernels.solaris; };
FreeBSD = { kernel = kernels.freebsd; };
Hurd = { kernel = kernels.hurd; };
NetBSD = { kernel = kernels.netbsd; };
OpenBSD = { kernel = kernels.openbsd; };
Windows = { kernel = kernels.windows; };
Cygwin = { kernel = kernels.windows; abi = abis.cygnus; };
MinGW = { kernel = kernels.windows; abi = abis.gnu; };
Arm32 = recursiveUpdate patterns.Arm patterns."32bit";
Arm64 = recursiveUpdate patterns.Arm patterns."64bit";
};
predicates = mapAttrs'
(name: value: nameValuePair ("is" + name) (matchAttrs value))
patterns;
}

@ -8,6 +8,7 @@
with import ../lists.nix;
with import ../types.nix;
with import ../attrsets.nix;
with (import ./inspect.nix).predicates;
let
lib = import ../default.nix;
@ -76,6 +77,7 @@ rec {
{
darwin = { execFormat = macho; families = { inherit unix; }; };
freebsd = { execFormat = elf; families = { inherit unix bsd; }; };
hurd = { execFormat = elf; families = { inherit unix; }; };
linux = { execFormat = elf; families = { inherit unix; }; };
netbsd = { execFormat = elf; families = { inherit unix bsd; }; };
none = { execFormat = unknown; families = { inherit unix; }; };
@ -109,23 +111,12 @@ rec {
inherit cpu vendor kernel abi;
};
is64Bit = matchAttrs { cpu = { bits = 64; }; };
is32Bit = matchAttrs { cpu = { bits = 32; }; };
isi686 = matchAttrs { cpu = cpuTypes.i686; };
isx86_64 = matchAttrs { cpu = cpuTypes.x86_64; };
isDarwin = matchAttrs { kernel = kernels.darwin; };
isLinux = matchAttrs { kernel = kernels.linux; };
isUnix = matchAttrs { kernel = { families = { inherit (kernelFamilies) unix; }; }; };
isWindows = matchAttrs { kernel = kernels.windows; };
isCygwin = matchAttrs { kernel = kernels.windows; abi = abis.cygnus; };
isMinGW = matchAttrs { kernel = kernels.windows; abi = abis.gnu; };
mkSkeletonFromList = l: {
"2" = # We only do 2-part hacks for things Nix already supports
if elemAt l 1 == "cygwin"
then { cpu = elemAt l 0; kernel = "windows"; abi = "cygnus"; }
then { cpu = elemAt l 0; kernel = "windows"; abi = "cygnus"; }
else if elemAt l 1 == "gnu"
then { cpu = elemAt l 0; kernel = "hurd"; abi = "gnu"; }
else { cpu = elemAt l 0; kernel = elemAt l 1; };
"3" = # Awkwards hacks, beware!
if elemAt l 1 == "apple"
@ -153,22 +144,22 @@ rec {
getKernel = name: kernels.${name} or (throw "Unknown kernel: ${name}");
getAbi = name: abis.${name} or (throw "Unknown ABI: ${name}");
system = rec {
parsed = rec {
cpu = getCpu args.cpu;
vendor =
/**/ if args ? vendor then getVendor args.vendor
else if isDarwin system then vendors.apple
else if isWindows system then vendors.pc
else if isDarwin parsed then vendors.apple
else if isWindows parsed then vendors.pc
else vendors.unknown;
kernel = getKernel args.kernel;
abi =
/**/ if args ? abi then getAbi args.abi
else if isLinux system then abis.gnu
else if isWindows system then abis.gnu
else if isLinux parsed then abis.gnu
else if isWindows parsed then abis.gnu
else abis.unknown;
};
in mkSystem system;
in mkSystem parsed;
mkSystemFromString = s: mkSystemFromSkeleton (mkSkeletonFromList (lib.splitString "-" s));

@ -1,4 +1,4 @@
{ pkgs ? import ((import ../../lib).cleanSource ../..) {} }:
{ pkgs ? import ((import ../.).cleanSource ../..) {} }:
pkgs.stdenv.mkDerivation {
name = "nixpkgs-lib-tests";

@ -1,260 +1,115 @@
#!/bin/sh
usage () {
echo 1>&2 "
usage:
$0
[--git commit..commit | --git commit]
[--svn rev:rev | --svn rev]
[--path path[:path]*]
[--help]
This program is used to investigate how any changes inside your nixpkgs
repository may hurt. With these kind of information you may choose wisely
where you should commit your changes.
This program adapts it-self to your versionning system to avoid too much
effort on your Internet bandwidth. If you need to check more than one
commits / revisions, you may use the following commands:
--git remotes/trunk..master
--svn 17670:17677
Check the differences between each commit separating the first and the
last commit.
--path /etc/nixos/nixpkgs:/tmp/nixpkgs_1:/tmp/nixpkgs_2
Check the differences between multiple directories containing different
versions of nixpkgs.
All these options exist with one commit / revision argument. Such options
are used to compare your \$NIXPKGS path with the specified version.
If you omit to mention any other commit / revision, then your \$NIXPKGS path
is compared with its last update. This command is useful to test code from
a dirty repository.
"
exit 1;
}
#####################
# Process Arguments #
#####################
: ${NIXPKGS=/etc/nixos/nixpkgs/}
vcs=""
gitCommits=""
svnRevisions=""
pathLocations=""
verbose=false
argfun=""
for arg; do
if test -z "$argfun"; then
case $arg in
--git) vcs="git"; argfun="set_gitCommits";;
--svn) vcs="svn"; argfun="set_svnRevisions";;
--path) vcs="path"; argfun="set_pathLocations";;
--verbose) verbose=true;;
--help) usage;;
*) usage;;
esac
else
case $argfun in
set_*)
var=$(echo $argfun | sed 's,^set_,,')
eval $var=$arg
;;
esac
argfun=""
fi
done
if $verbose; then
set -x
else
set +x
#!/usr/bin/env bash
set -e
if [ "$#" != 1 ] && [ "$#" != 2 ]; then
cat <<-EOF
Usage: $0 commit-spec [commit-spec]
You need to be in a git-controlled nixpkgs tree.
The current state of the tree will be used if the second commit is missing.
EOF
exit 1
fi
############################
# Find the repository type #
############################
# A slightly hacky way to get the config.
parallel="$(echo 'config.rebuild-amount.parallel or false' | nix-repl . 2>/dev/null \
| grep -v '^\(nix-repl.*\)\?$' | tail -n 1 || true)"
if test -z "$vcs"; then
if test -x "$NIXPKGS/.git"; then
if git --git-dir="$NIXPKGS/.git" branch > /dev/null 2>&1; then
vcs="git"
gitCommits=$(git --git-dir="$NIXPKGS/.git" log -n 1 --pretty=format:%H 2> /dev/null)
fi
elif test -x "$NIXPKGS/.svn"; then
cd "$NIXPKGS"
if svn info > /dev/null 2>&1; then
vcs="svn";
svnRevisions=$(svn info | sed -n 's,Revision: ,,p')
fi
cd -
else
usage
fi
fi
echo "Estimating rebuild amount by counting changed Hydra jobs."
###############################
# Define a storage directory. #
###############################
toRemove=()
pkgListDir=""
exitCode=1
cleanup(){
test -e "$pkgListDir" && rm -rf "$pkgListDir"
exit $exitCode;
cleanup() {
rm -rf "${toRemove[@]}"
}
trap cleanup EXIT SIGINT SIGQUIT ERR
pkgListDir=$(mktemp --tmpdir -d rebuild-amount-XXXXXXXX)
vcsDir="$pkgListDir/.vcs"
###########################
# Versionning for Dummies #
###########################
path_init() {
if test "${pathLocations#*:}" = "$pathLocations"; then
pathLocations="$NIXPKGS:$pathLocations"
fi
pathLocations="${pathLocations}:"
MKTEMP='mktemp --tmpdir nix-rebuild-amount-XXXXXXXX'
nixexpr() {
cat <<-EONIX
let
lib = import $1/lib;
hydraJobs = import $1/pkgs/top-level/release.nix
# Compromise: accuracy vs. resources needed for evaluation.
{ supportedSystems = cfg.systems or [ "x86_64-linux" "x86_64-darwin" ]; };
cfg = (import $1 {}).config.rebuild-amount or {};
recurseIntoAttrs = attrs: attrs // { recurseForDerivations = true; };
# hydraJobs leaves recurseForDerivations as empty attrmaps;
# that would break nix-env and we also need to recurse everywhere.
tweak = lib.mapAttrs
(name: val:
if name == "recurseForDerivations" then true
else if lib.isAttrs val && val.type or null != "derivation"
then recurseIntoAttrs (tweak val)
else val
);
# Some of these contain explicit references to platform(s) we want to avoid;
# some even (transitively) depend on ~/.nixpkgs/config.nix (!)
blacklist = [
"tarball" "metrics" "manual"
"darwin-tested" "unstable" "stdenvBootstrapTools"
"moduleSystem" "lib-tests" # these just confuse the output
];
in
tweak (builtins.removeAttrs hydraJobs blacklist)
EONIX
}
path_getNext() {
pathLoc="${pathLocations%%:*}"
pathLocations="${pathLocations#*:}"
# Output packages in tree $2 that weren't in $1.
# Changing the output hash or name is taken as a change.
# Extra nix-env parameters can be in $3
newPkgs() {
# We use files instead of pipes, as running multiple nix-env processes
# could eat too much memory for a standard 4GiB machine.
local -a list
for i in 1 2; do
local l="$($MKTEMP)"
list[$i]="$l"
toRemove+=("$l")
local expr="$($MKTEMP)"
toRemove+=("$expr")
nixexpr "${!i}" > "$expr"
nix-env -f "$expr" -qaP --no-name --out-path --show-trace $3 \
| sort > "${list[$i]}" &
if [ "$parallel" != "true" ]; then
wait
fi
done
wait
comm -13 "${list[@]}"
}
path_setPath() {
path="$pathLoc"
}
path_setName() {
name=$(echo "$pathLoc" | tr '/' '_')
}
################
# Git Commands #
################
git_init() {
git clone "$NIXPKGS/.git" "$vcsDir" > /dev/null 2>&1
if echo "gitCommits" | grep -c "\.\." > /dev/null 2>&1; then
gitCommits=$(git --git-dir="$vcsDir/.git" log --reverse --pretty=format:%H $gitCommits 2> /dev/null)
else
pathLocations="$vcsDir:$NIXPKGS"
vcs="path"
path_init
fi
}
git_getNext() {
git --git-dir="$vcsDir/.git" checkout $(echo "$gitCommits" | head -n 1) > /dev/null 2>&1
gitCommits=$(echo "$gitCommits" | sed '1 d')
}
git_setPath() {
path="$vcsDir"
}
git_setName() {
name=$(git --git-dir="$vcsDir/.git" log -n 1 --pretty=format:%H 2> /dev/null)
}
#######################
# Subversion Commands #
#######################
svn_init() {
cp -r "$NIXPKGS" "$vcsDir" > /dev/null 2>&1
if echo "svnRevisions" | grep -c ":" > /dev/null 2>&1; then
svnRevisions=$(seq ${svnRevisions%:*} ${svnRevisions#*:})
else
pathLocations="$vcsDir:$NIXPKGS"
vcs="path"
path_init
fi
}
svn_getNext() {
cd "$vcsDir"
svn checkout $(echo "$svnRevisions" | head -n 1) > /dev/null 2>&1
cd -
svnRevisions=$(echo "$svnRevisions" | sed '1 d')
}
svn_setPath() {
path="$vcsDir"
}
svn_setName() {
name=$(svn info 2> /dev/null | sed -n 's,Revision: ,,p')
}
####################
# Logical Commands #
####################
init () { ${vcs}_init; }
getNext () { ${vcs}_getNext; }
setPath () { ${vcs}_setPath; }
setName () { ${vcs}_setName; }
#####################
# Check for Rebuild #
#####################
# Generate the list of all derivations that could be build from a nixpkgs
# respository. This list of derivation hashes is compared with previous
# lists and a brief summary is produced on the output.
compareNames () {
nb=$(diff -y --suppress-common-lines --speed-large-files "$pkgListDir/$1.drvs" "$pkgListDir/$2.drvs" 2> /dev/null | wc -l)
echo "$1 -> $2: $nb"
}
echo "Please wait, this may take some minutes ..."
init
first=""
oldPrev=""
prev=""
curr=""
while true; do
getNext
setPath # set path=...
setName # set name=...
curr="$name"
test -z "$curr" && break || true
nix-instantiate "$path" > "$pkgListDir/$curr.drvs" > /dev/null 2>&1 || true
if test -n "$prev"; then
compareNames "$prev" "$curr"
else
echo "Number of package to rebuild:"
first="$curr"
fi
oldPrev="$prev"
prev="$curr"
# Prepare nixpkgs trees.
declare -a tree
for i in 1 2; do
if [ -n "${!i}" ]; then # use the given commit
dir="$($MKTEMP -d)"
tree[$i]="$dir"
toRemove+=("$dir")
git clone --shared --no-checkout --quiet . "${tree[$i]}"
(cd "${tree[$i]}" && git checkout --quiet "${!i}")
else #use the current tree
tree[$i]="$(pwd)"
fi
done
if test "$first" != "$oldPrev"; then
echo "Number of package to rebuild (first -> last):"
compareNames "$first" "$curr"
fi
newlist="$($MKTEMP)"
toRemove+=("$newlist")
# Notes:
# - the evaluation is done on x86_64-linux, like on Hydra.
# - using $newlist file so that newPkgs() isn't in a sub-shell (because of toRemove)
newPkgs "${tree[1]}" "${tree[2]}" '--argstr system "x86_64-linux"' > "$newlist"
# Hacky: keep only the last word of each attribute path and sort.
sed -n 's/\([^. ]*\.\)*\([^. ]*\) .*$/\2/p' < "$newlist" \
| sort | uniq -c
exitCode=0

@ -10,10 +10,12 @@ let
inherit (config.services.samba) nsswins;
ldap = (config.users.ldap.enable && config.users.ldap.nsswitch);
sssd = config.services.sssd.enable;
resolved = config.services.resolved.enable;
hostArray = [ "files" "mymachines" ]
++ optionals nssmdns [ "mdns_minimal [!UNAVAIL=return]" ]
++ optionals nsswins [ "wins" ]
++ optionals resolved ["resolv [!UNAVAIL=return]"]
++ [ "dns" ]
++ optionals nssmdns [ "mdns" ]
++ ["myhostname" ];

@ -431,6 +431,7 @@
./services/networking/i2p.nix
./services/networking/iodine.nix
./services/networking/ircd-hybrid/default.nix
./services/networking/iwd.nix
./services/networking/keepalived/default.nix
./services/networking/keybase.nix
./services/networking/kippo.nix

@ -9,6 +9,26 @@ in
options = {
services.znapzend = {
enable = mkEnableOption "ZnapZend daemon";
logLevel = mkOption {
default = "debug";
example = "warning";
type = lib.types.enum ["debug" "info" "warning" "err" "alert"];
description = "The log level when logging to file. Any of debug, info, warning, err, alert. Default in daemonized form is debug.";
};
logTo = mkOption {
type = types.str;
default = "syslog::daemon";
example = "/var/log/znapzend.log";
description = "Where to log to (syslog::&lt;facility&gt; or &lt;filepath&gt;).";
};
noDestroy = mkOption {
type = types.bool;
default = false;
description = "Does all changes to the filesystem except destroy";
};
};
};
@ -24,8 +44,9 @@ in
path = with pkgs; [ zfs mbuffer openssh ];
serviceConfig = {
ExecStart = "${pkgs.znapzend}/bin/znapzend";
ExecStart = "${pkgs.znapzend}/bin/znapzend --logto=${cfg.logTo} --loglevel=${cfg.logLevel} ${optionalString cfg.noDestroy "--nodestroy"}";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
Restart = "on-failure";
};
};
};

@ -235,6 +235,6 @@ in {
};
};
meta.maintainers = with lib.maintainers; [ nand0p Mic92 ];
meta.maintainers = with lib.maintainers; [ nand0p mic92 ];
}

@ -103,7 +103,7 @@ in {
plugins = mkOption {
default = null;
#type = types.nullOr (types.attrsOf types.package);
type = types.nullOr (types.attrsOf types.package);
description = ''
A set of plugins to activate. Note that this will completely
remove and replace any previously installed plugins. If you
@ -175,7 +175,7 @@ in {
(n: v: "cp ${v} ${cfg.home}/plugins/${n}.hpi")
cfg.plugins;
in ''
rm -r ${cfg.home}/plugins
rm -r ${cfg.home}/plugins || true
mkdir -p ${cfg.home}/plugins
${lib.strings.concatStringsSep "\n" pluginCmds}
'';

@ -0,0 +1,34 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.networking.wireless.iwd;
in {
options.networking.wireless.iwd.enable = mkEnableOption "iwd";
config = mkIf cfg.enable {
assertions = [{
assertion = !config.networking.wireless.enable;
message = ''
Only one wireless daemon is allowed at the time: networking.wireless.enable and networking.wireless.iwd.enable are mutually exclusive.
'';
}];
# for iwctl
environment.systemPackages = [ pkgs.iwd ];
services.dbus.packages = [ pkgs.iwd ];
systemd.services.iwd = {
description = "Wireless daemon";
before = [ "network.target" ];
wants = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${pkgs.iwd}/bin/iwd";
};
};
meta.maintainers = with lib.maintainers; [ mic92 ];
}

@ -279,7 +279,7 @@ in
example = defaultPassBlock;
type = types.string;
description = ''
Generate with znc --makepass.
Generate with `nix-shell -p znc --command "znc --makepass"`.
This is the password used to log in to the ZNC web admin interface.
'';
};

@ -3,52 +3,7 @@
with lib;
let cfg = config.services.cloud-init;
path = with pkgs; [ cloud-init nettools utillinux e2fsprogs shadow dmidecode openssh ];
configFile = pkgs.writeText "cloud-init.cfg" ''
users:
- root
disable_root: false
preserve_hostname: false
cloud_init_modules:
- migrator
- seed_random
- bootcmd
- write-files
- growpart
- resizefs
- set_hostname
- update_hostname
- update_etc_hosts
- ca-certs
- rsyslog
- users-groups
cloud_config_modules:
- emit_upstart
- disk_setup
- mounts
- ssh-import-id
- set-passwords
- timezone
- disable-ec2-metadata
- runcmd
- ssh
cloud_final_modules:
- rightscale_userdata
- scripts-vendor
- scripts-per-once
- scripts-per-boot
- scripts-per-instance
- scripts-user
- ssh-authkey-fingerprints
- keys-to-console
- phone-home
- final-message
- power-state-change
'';
path = with pkgs; [ cloud-init nettools utillinux e2fsprogs shadow openssh iproute ];
in
{
options = {
@ -74,12 +29,63 @@ in
'';
};
config = mkOption {
type = types.str;
default = ''
system_info:
distro: nixos
users:
- root
disable_root: false
preserve_hostname: false
cloud_init_modules:
- migrator
- seed_random
- bootcmd
- write-files
- growpart
- resizefs
- update_etc_hosts
- ca-certs
- rsyslog
- users-groups
cloud_config_modules:
- disk_setup
- mounts
- ssh-import-id
- set-passwords
- timezone
- disable-ec2-metadata
- runcmd
- ssh
cloud_final_modules:
- rightscale_userdata
- scripts-vendor
- scripts-per-once
- scripts-per-boot
- scripts-per-instance
- scripts-user
- ssh-authkey-fingerprints
- keys-to-console
- phone-home
- final-message
- power-state-change
'';
description = ''cloud-init configuration.'';
};
};
};
config = mkIf cfg.enable {
environment.etc."cloud/cloud.cfg".text = cfg.config;
systemd.services.cloud-init-local =
{ description = "Initial cloud-init job (pre-networking)";
wantedBy = [ "multi-user.target" ];
@ -88,7 +94,7 @@ in
path = path;
serviceConfig =
{ Type = "oneshot";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} init --local";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init init --local";
RemainAfterExit = "yes";
TimeoutSec = "0";
StandardOutput = "journal+console";
@ -105,7 +111,7 @@ in
path = path;
serviceConfig =
{ Type = "oneshot";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} init";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init init";
RemainAfterExit = "yes";
TimeoutSec = "0";
StandardOutput = "journal+console";
@ -121,7 +127,7 @@ in
path = path;
serviceConfig =
{ Type = "oneshot";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} modules --mode=config";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init modules --mode=config";
RemainAfterExit = "yes";
TimeoutSec = "0";
StandardOutput = "journal+console";
@ -137,7 +143,7 @@ in
path = path;
serviceConfig =
{ Type = "oneshot";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} modules --mode=final";
ExecStart = "${pkgs.cloud-init}/bin/cloud-init modules --mode=final";
RemainAfterExit = "yes";
TimeoutSec = "0";
StandardOutput = "journal+console";

@ -396,6 +396,11 @@ let
'';
};
logindHandlerType = types.enum [
"ignore" "poweroff" "reboot" "halt" "kexec" "suspend"
"hibernate" "hybrid-sleep" "lock"
];
in
{
@ -595,6 +600,27 @@ in
'';
};
services.logind.lidSwitch = mkOption {
default = "suspend";
example = "ignore";
type = logindHandlerType;
description = ''
Specifies what to be done when the laptop lid is closed.
'';
};
services.logind.lidSwitchDocked = mkOption {
default = "ignore";
example = "suspend";
type = logindHandlerType;
description = ''
Specifies what to be done when the laptop lid is closed
and another screen is added.
'';
};
systemd.user.extraConfig = mkOption {
default = "";
type = types.lines;
@ -721,6 +747,8 @@ in
"systemd/logind.conf".text = ''
[Login]
KillUserProcesses=no
HandleLidSwitch=${config.services.logind.lidSwitch}
HandleLidSwitchDocked=${config.services.logind.lidSwitchDocked}
${config.services.logind.extraConfig}
'';

@ -1,16 +1,20 @@
{ stdenv, fetchurl, libclthreads, zita-alsa-pcmi, alsaLib, libjack2
, libclxclient, libX11, libXft, readline}:
, libclxclient, libX11, libXft, readline
}:
stdenv.mkDerivation rec {
name = "aeolus-${version}";
version = "0.9.0";
version = "0.9.5";
src = fetchurl {
url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
sha256 = "0dkkibza25a6z9446njqlaynx8gfk5wb828pl9v1snmi5390iggp";
sha256 = "0wfp8ihldyq2dhdyy7ld7z0zzfvnwam1dvbxnpd9d6xgc4k3j4nv";
};
buildInputs = [ libclthreads zita-alsa-pcmi alsaLib libjack2 libclxclient
libX11 libXft readline ];
buildInputs = [
libclthreads zita-alsa-pcmi alsaLib libjack2 libclxclient
libX11 libXft readline
];
patchPhase = ''sed "s@ldconfig.*@@" -i source/Makefile'';

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = packageName + "-" + version ;
packageName = "aj-snapshot" ;
version = "0.9.6" ;
version = "0.9.7";
src = fetchurl {
url = "mirror://sourceforge/${packageName}/${name}.tar.bz2";
sha256 = "12n2h3609fbvsnnwrwma4m55iyv6lcv1v3q5pznz2w6f12wf0c9z";
sha256 = "0yxccgp9qw2cyqv719wlbq8wfsr5ga8czvwa7bmb8dh5s11n3rn8";
};
doCheck = false;

@ -8,7 +8,7 @@ let
# Please update the stable branch!
# Latest version number can be found at:
# http://repository-origin.spotify.com/pool/non-free/s/spotify-client/
version = "1.0.53.758.gde3fc4b2-33";
version = "1.0.55.487.g256699aa-16";
deps = [
alsaLib
@ -53,7 +53,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
sha256 = "1sh6bv23yx0fcbmf60c2yyi6411ij85k4jalpjlck2w26nfj1b3g";
sha256 = "09rhm0jp5prcvyf8zpw4pl422yiy8nkazcjc3lv61ngpznk3n1r0";
};
buildInputs = [ dpkg makeWrapper ];

@ -2,7 +2,7 @@
buildGoPackage rec {
name = "hugo-${version}";
version = "0.20.6";
version = "0.21";
goPackagePath = "github.com/spf13/hugo";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "spf13";
repo = "hugo";
rev = "v${version}";
sha256 = "1r8sjx7rbrjk2a3x3x6cd987xykm2j06jbnwxxsn4rs6yym0yjl8";
sha256 = "1lv815dwj02gwp5jhs03yrcfilhg5afx476bv7hb9ipx4q3a8lqm";
};
goDeps = ./deps.nix;

@ -4,8 +4,8 @@
fetch = {
type = "git";
url = "https://github.com/BurntSushi/toml";
rev = "99064174e013895bbd9b025c31100bd1d9b590ca";
sha256 = "058qrar8rvw3wb0ci1mf1axnqq2729cvv9zmdr4ms2nn9s97yiz9";
rev = "b26d9c308763d68093482582cea63d69be07a0f0";
sha256 = "0k7v2i1d2d6si8gswn83qb84czhhia53v2wdy33yz9ppdidxk0ry";
};
}
{
@ -13,8 +13,8 @@
fetch = {
type = "git";
url = "https://github.com/PuerkitoBio/purell";
rev = "0bcb03f4b4d0a9428594752bd2a3b9aa0a9d4bd4";
sha256 = "0vsxyn1fbm7g873b8kf3hcsgqgncb5nmfq3zfsc35a9yhzarka91";
rev = "b938d81255b5473c57635324295cb0fe398c7a58";
sha256 = "0d44lrg04g9nibhdlagwq9n8g5ka1784pm0jzyl6cfpq8nc1ppj8";
};
}
{
@ -22,8 +22,8 @@
fetch = {
type = "git";
url = "https://github.com/PuerkitoBio/urlesc";
rev = "5bd2802263f21d8788851d5305584c82a5c75d7e";
sha256 = "15y5r3asvm7196m3nza5xvdvlc2k11p6lfs6hi917hl7r9vgi6mp";
rev = "bbf7a2afc14f93e1e0a5c06df524fbd75e5031e5";
sha256 = "13r896yy71i6jj1cwv2pjp53wjfxkg7bh884fggv6y79ly0qr63j";
};
}
{
@ -76,8 +76,8 @@
fetch = {
type = "git";
url = "https://github.com/eknkc/amber";
rev = "9be5e8aae85904f63d505e0c00e5e0881d44ef4d";
sha256 = "1hmsqxwajgpmg1svzjqxf4n81qy7qs6m39cjv69jkhz9lpwc305j";
rev = "d15eb996544134263b00cce829b5bc4988fdb2df";
sha256 = "1izrfw8vp5m2x8bmjaz1psmyn9pqcmcdsr3adiv1kkkqr01r37bb";
};
}
{
@ -103,8 +103,8 @@
fetch = {
type = "git";
url = "https://github.com/gorilla/websocket";
rev = "adf16b31781325cbd41085c5be901d95b4d1f33d";
sha256 = "0f93k3igbqqwsl734lxnkbfajc4lcyzg4szg15vb26qn939b5ccx";
rev = "a91eba7f97777409bc2c443f5534d41dd20c5720";
sha256 = "13cg6wwkk2ddqbm0nh9fpx4mq7f6qym12ch4lvs53n028ycdgw87";
};
}
{
@ -112,8 +112,8 @@
fetch = {
type = "git";
url = "https://github.com/hashicorp/hcl";
rev = "80e628d796135357b3d2e33a985c666b9f35eee1";
sha256 = "0l85a7ir60hycb3mqsxmrz18f1kax03k55afsahr8xf46pjp5pyb";
rev = "630949a3c5fa3c613328e1b8256052cbc2327c9b";
sha256 = "00lalg0gz7218gnw6zgn28gfizpcl8zw8jpkghn681vj7lfah5dh";
};
}
{
@ -130,8 +130,8 @@
fetch = {
type = "git";
url = "https://github.com/kardianos/osext";
rev = "9b883c5eb462dd5cb1b0a7a104fe86bc6b9bd391";
sha256 = "0cyhbgsxwdfnwy57pdfivvjfy951gxbg9qlsjbwm6vs3gfws07mr";
rev = "9d302b58e975387d0b4d9be876622c86cefe64be";
sha256 = "0r6f727s16g4f66k8c2z1xh8ga1p53hg9g2v95pmhd1i60fhy47a";
};
}
{
@ -148,8 +148,8 @@
fetch = {
type = "git";
url = "https://github.com/kyokomi/emoji";
rev = "7e06b236c489543f53868841f188a294e3383eab";
sha256 = "1q2j0k5a8qqka1syc9zwmf1cvm6k628kf2g1nmghp2kdr7q1xmyb";
rev = "7ad0be7be9d4ee6ec2cf5df483dbec752626ac64";
sha256 = "1ck33c8xhdqdpmi5zjdk0f2qv2fda3wz88i22bxr10f9rmwkj004";
};
}
{
@ -157,8 +157,8 @@
fetch = {
type = "git";
url = "https://github.com/magiconair/properties";
rev = "9c47895dc1ce54302908ab8a43385d1f5df2c11c";
sha256 = "0497bacr3gc7352gcwb07wyw7vb9m04xfd82mw0hpnzzw3kfnav3";
rev = "51463bfca2576e06c62a8504b5c0f06d61312647";
sha256 = "0d7hr78y8gg2mrm5z4jjgm2w3awkznz383b7wvyzk3l33jw6i288";
};
}
{
@ -166,8 +166,8 @@
fetch = {
type = "git";
url = "https://github.com/miekg/mmark";
rev = "2d4f1dd6f87cad351b9323bbaa6f6c586f0c4bee";
sha256 = "1ak54nvmryx73g16q6qaac9x0klhbxxmk1j6zlnfvvibnkj2pa90";
rev = "8b498b013a3e10b12864c2023a59d490c9d4bf5b";
sha256 = "1v1q365d94hmpdip13a5435y6pfw3mq5isjj33q19by21zvb433v";
};
}
{
@ -175,8 +175,8 @@
fetch = {
type = "git";
url = "https://github.com/mitchellh/mapstructure";
rev = "bfdb1a85537d60bc7e954e600c250219ea497417";
sha256 = "141kkh801jyp1r6hba14krydqg1iivp13j12is70j0g05z9fbji8";
rev = "53818660ed4955e899c0bcafa97299a388bd7c8e";
sha256 = "10gdkk8gcjv0lg15ajy68dwgvfkjhawk08ccs9x9ym1adp6l2ycs";
};
}
{
@ -184,8 +184,8 @@
fetch = {
type = "git";
url = "https://github.com/nicksnyder/go-i18n";
rev = "4df9b06c0c1ffd8538a3cfa9d888f8f52985b302";
sha256 = "1cbbvq9l822p7vrscvaah3zybsj5yxcsq9fgvgsg062njbb0x41f";
rev = "f373441d6d54a32891b2d8b1dbf99bc518f3d60d";
sha256 = "094kcybx0vmdvi3n2y4krrirg79527cq8713kppd6b19jwrqwqf4";
};
}
{
@ -202,8 +202,8 @@
fetch = {
type = "git";
url = "https://github.com/pelletier/go-toml";
rev = "fee7787d3f811af92276f5ff10107092e95b7a1d";
sha256 = "0srx5hr35f9qzn5dnqqa0msyjknwn7vcq0jmlkvfxgaq0ygd6s3r";
rev = "fe206efb84b2bc8e8cfafe6b4c1826622be969e3";
sha256 = "1dlabfpnlzvwf4i86idy8ilqpjsl8yqfgdv0nv5cccm8gkcans5w";
};
}
{
@ -211,8 +211,8 @@
fetch = {
type = "git";
url = "https://github.com/pkg/errors";
rev = "248dadf4e9068a0b3e79f02ed0a610d935de5302";
sha256 = "03l80r0i9bxl0vz363w62k4a8apzglgbrz6viwym3044sxkl1qks";
rev = "ff09b135c25aae272398c51a07235b90a75aa4f0";
sha256 = "0pwl6v3hmc22zp32gkyqykl4kg69xk1mlp0vmhgd1f44difd5fvz";
};
}
{
@ -229,8 +229,8 @@
fetch = {
type = "git";
url = "https://github.com/russross/blackfriday";
rev = "5f33e7b7878355cd2b7e6b8eefc48a5472c69f70";
sha256 = "0d7faqxrxvh8hwc1r8gbasgmr8x5blxvzciwspir2yafjfbqy87k";
rev = "b253417e1cb644d645a0a3bb1fa5034c8030127c";
sha256 = "1knj8vabymhmkg12cj3hnpqf3b74wwrvqib12yczcvpi52xaqi20";
};
}
{
@ -256,8 +256,8 @@
fetch = {
type = "git";
url = "https://github.com/spf13/cast";
rev = "ce135a4ebeee6cfe9a26c93ee0d37825f26113c7";
sha256 = "1a2ahiyynn1kdjznqvzjfm5g5bc098gfw857bw9qikhdljvsnjiy";
rev = "acbeb36b902d72a7a4c18e8f3241075e7ab763e4";
sha256 = "0w25s6gjbbwv47b9208hysyqqphd6pib3d2phg24mjy4wigkm050";
};
}
{
@ -265,8 +265,8 @@
fetch = {
type = "git";
url = "https://github.com/spf13/cobra";
rev = "7be4beda01ec05d0b93d80b3facd2b6f44080d94";
sha256 = "0jd2ya8kn763z16c3q5jl1x6raw2f3xq3vbaf4ppiy70zqzscmyg";
rev = "3d7bff8a321b0a0f88b115558bb7e21bec9124ab";
sha256 = "07lxw8lnbpdqjvjlx732v9i04z8kgyvlp68d0fqdv6a16smf3nyz";
};
}
{
@ -301,8 +301,8 @@
fetch = {
type = "git";
url = "https://github.com/spf13/pflag";
rev = "9ff6c6923cfffbcd502984b8e0c80539a94968b7";
sha256 = "0mfrxzyl8x7araa126lh8l3sihbbgfbzgkrg3v3cx7y4n3wrsqvn";
rev = "f1d95a35e132e8a1868023a08932b14f0b8b8fcb";
sha256 = "0fwvkyq36jvy2gid81031ll7qaj8jxr5g36fff7hhkp3hh4kz6zh";
};
}
{
@ -310,8 +310,8 @@
fetch = {
type = "git";
url = "https://github.com/spf13/viper";
rev = "7538d73b4eb9511d85a9f1dfef202eeb8ac260f4";
sha256 = "0i4q715bjp018zw1b52zgx79j4s7s8l26dyrw8cslshibkx0frnl";
rev = "5d46e70da8c0b6f812e0b170b7a985753b5c63cb";
sha256 = "1wvcb1n3y3b7ixlw9vcj4fss5r6vi35a89c42nfb1hqaaji3lypi";
};
}
{
@ -337,8 +337,8 @@
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "453249f01cfeb54c3d549ddb75ff152ca243f9d8";
sha256 = "0akybbzgi3v507a39bgnkk79rfhj8gflr7538g5a0177z5i9ygwa";
rev = "cbc3d0884eac986df6e78a039b8792e869bff863";
sha256 = "1b82asfxajwjb9rindx85c39lll8ygsj9rxxjca9171yh6wi5xbb";
};
}
{
@ -346,8 +346,8 @@
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "906cda9512f77671ab44f8c8563b13a8e707b230";
sha256 = "0aa33n5a2zzrm2pnjyc3xkdmf8hq2qpafgdp8v6fxfb0swqjl2n3";
rev = "5602c733f70afc6dcec6766be0d5034d4c4f14de";
sha256 = "0n7jv3sl2s5fzdvj9jv4dqsgsdgkw6m3azqhiwq8igi97rymchyd";
};
}
{
@ -355,8 +355,8 @@
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "075e574b89e4c2d22f2286a7e2b919519c6f3547";
sha256 = "1p38siwqcbd592lphaqpigl7scshkfy67k6jcwscbcsl6akw51km";
rev = "dbc2be9168a660ef302e04b6ff6406de6f967473";
sha256 = "1hz9d7wnxwlvhlgmqrxjdx9fihx30f9ww6ir2l74l8ping1g6w1j";
};
}
{
@ -364,8 +364,8 @@
fetch = {
type = "git";
url = "https://go.googlesource.com/text";
rev = "0ad425fe45e885577bef05dc1c50f72e33188b16";
sha256 = "1jz0i8iagfd703flx5z006kisjixpm8iy4hiwywgbh31wypsxxyl";
rev = "f4b4367115ec2de254587813edaa901bc1c723a8";
sha256 = "1a5m97y7sdxks02p4swg8ffp8bgr95aaf5fhfw511p7h3xg1dm0d";
};
}
{
@ -373,8 +373,8 @@
fetch = {
type = "git";
url = "https://gopkg.in/yaml.v2";
rev = "a3f3340b5840cee44f372bddb5880fcbc419b46a";
sha256 = "1djb53a8ikwgkfpf8namgf4d8pq1mq6q9q2c7q0z8x4dxf3whxj7";
rev = "cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b";
sha256 = "1hj2ag9knxflpjibck0n90jrhsrqz7qvad4qnif7jddyapi9bqzl";
};
}
]

@ -1,15 +1,17 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "c14-cli-2016-09-09";
name = "c14-cli-unstable-${version}";
version = "2017-05-15";
rev = "97f437ef5133f73edd551c883db3076c76cb1f6b";
goPackagePath = "github.com/online-net/c14-cli";
subPackages = [ "cmd/c14" ];
src = fetchFromGitHub {
owner = "online-net";
repo = "c14-cli";
rev = "e7c7c3cb214fd06df63530a4e861210e7a0a1b6c";
sha256 = "1k53lii2c04j8cy1bnyfvckl9fglprxp75cmbg15lrp9iic2w22a";
inherit rev;
sha256 = "1b44bh0zhh6rhw4d3nprnnxhjgaskl9kzp2cvwwyli5svhjxrfdj";
};
goDeps = ./deps.nix;

@ -1,65 +1 @@
[
{
goPackagePath = "github.com/davecgh/go-spew";
fetch = {
type = "git";
url = "https://github.com/davecgh/go-spew";
rev = "6d212800a42e8ab5c146b8ace3490ee17e5225f9";
sha256 = "01i0n1s4j7khb7n6mz2wymniz37q0vbzkgfv7rbi6p9hpg227q93";
};
}
{
goPackagePath = "github.com/fatih/color";
fetch = {
type = "git";
url = "https://github.com/fatih/color";
rev = "87d4004f2ab62d0d255e0a38f1680aa534549fe3";
sha256 = "0d51avdl4z38f7jd8qmzrzyh4gxkcjpxd0vvma9zfqhmqy15jqhb";
};
}
{
goPackagePath = "github.com/mattn/go-colorable";
fetch = {
type = "git";
url = "https://github.com/mattn/go-colorable";
rev = "ed8eb9e318d7a84ce5915b495b7d35e0cfe7b5a8";
sha256 = "034fhyqmiqmn0v9gdbdmm0ca5d0pki2q1ch1rd34p9kh9574mjyq";
};
}
{
goPackagePath = "github.com/mattn/go-isatty";
fetch = {
type = "git";
url = "https://github.com/mattn/go-isatty";
rev = "66b8e73f3f5cda9f96b69efd03dd3d7fc4a5cdb8";
sha256 = "17lf13ndnai9a6dlmykqkdyzf1z04q7kffs0l7kvd78wpv3l6rm5";
};
}
{
goPackagePath = "github.com/online-net/c14-cli";
fetch = {
type = "git";
url = "https://github.com/online-net/c14-cli";
rev = "e7c7c3cb214fd06df63530a4e861210e7a0a1b6c";
sha256 = "1k53lii2c04j8cy1bnyfvckl9fglprxp75cmbg15lrp9iic2w22a";
};
}
{
goPackagePath = "github.com/pmezard/go-difflib";
fetch = {
type = "git";
url = "https://github.com/pmezard/go-difflib";
rev = "792786c7400a136282c1664665ae0a8db921c6c2";
sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
};
}
{
goPackagePath = "github.com/stretchr/testify";
fetch = {
type = "git";
url = "https://github.com/stretchr/testify";
rev = "d77da356e56a7428ad25149ca77381849a6a5232";
sha256 = "11id286pkzyswxcx2xz6185fzh0nz6yzkk055dd6z02gvinl6pqa";
};
}
]
[]

@ -2,24 +2,37 @@
buildGoPackage rec {
name = "kops-${version}";
version = "1.4.0";
rev = "v${version}";
version = "1.6.0";
goPackagePath = "k8s.io/kops";
src = fetchFromGitHub {
inherit rev;
rev = version;
owner = "kubernetes";
repo = "kops";
sha256 = "1jwgn7l8c639j5annwymqjdw5mcajwn58y21042jy5lhgdh8pdf5";
sha256 = "0varn38v2vybmahzpgbk73ma368bkdz09wmx2mmqikfppmzszkv3";
};
buildInputs = [go-bindata];
subPackages = ["cmd/kops"];
buildFlagsArray = ''
-ldflags=
-X k8s.io/kops.Version=${version}
-X k8s.io/kops.GitVersion=${version}
'';
preBuild = ''
(cd go/src/k8s.io/kops
go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/...)
go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/...
go-bindata -o federation/model/bindata.go -pkg model -prefix federation/model federation/model/...)
'';
postInstall = ''
mkdir -p $bin/share/bash-completion/completions
mkdir -p $bin/share/zsh/site-functions
$bin/bin/kops completion bash > $bin/share/bash-completion/completions/kops
$bin/bin/kops completion zsh > $bin/share/zsh/site-functions/_kops
'';
meta = with stdenv.lib; {

@ -3,18 +3,16 @@
assert stdenv.lib.versionAtLeast ocamlPackages.ocaml.version "4.02.2";
stdenv.mkDerivation rec {
version = "2016-11-18";
version = "2017-05-21";
name = "jackline-${version}";
src = fetchFromGitHub {
owner = "hannesm";
repo = "jackline";
rev = "cab34acab004023911997ec9aee8b00a976af7e4";
sha256 = "0h7wdsic4v6ys130w61zvxm5s2vc7y574hn7zby12rq88lhhrjh7";
rev = "0a1e4ea23245633fe23edf09b2309659a1bc3649";
sha256 = "1wnmwsp3a5nh3qs4h9grrdsvv0i3p419cfmhrrql3lj2x3ngdw82";
};
patches = [ ./uchar.patch ];
buildInputs = with ocamlPackages; [
ocaml ocamlbuild findlib topkg ppx_sexp_conv
erm_xmpp_0_3 tls nocrypto x509 ocaml_lwt otr astring

@ -1,302 +0,0 @@
diff --git a/_tags b/_tags
index 88318d9..b433ee8 100644
--- a/_tags
+++ b/_tags
@@ -7,9 +7,11 @@ true : package(sexplib astring)
<src/xconfig.ml>: package(otr ppx_sexp_conv)
<src/utils.ml>: package(uutf)
+<src/muc.ml>: package(uchar)
+<src/contact.mli>: package(uchar)
<src/persistency.ml>: package(lwt nocrypto)
<src/xjid.{ml,mli}>: package(ppx_sexp_conv erm_xmpp)
-<src/user.{ml,mli}>: package(ppx_sexp_conv otr hex ptime ptime.clock.os)
+<src/user.{ml,mli}>: package(uchar ppx_sexp_conv otr hex ptime ptime.clock.os)
<src/xmpp_callbacks.ml>: package(erm_xmpp lwt tls tls.lwt ptime)
<src/xmpp_connection.ml>: package(erm_xmpp lwt tls tls.lwt)
@@ -18,6 +20,6 @@ true : package(sexplib astring)
<cli/cli_input.ml>: package(notty lwt erm_xmpp otr)
<cli/cli_commands.ml>: package(lwt otr erm_xmpp)
<cli/cli_config.ml>: package(lwt nocrypto otr notty tls.lwt x509)
-<cli/cli_state.ml>: package(hex lwt nocrypto erm_xmpp tls.lwt x509)
+<cli/cli_state.ml>: package(uchar hex lwt nocrypto erm_xmpp tls.lwt x509)
<bin/jackline.{ml,byte,native}>: package(erm_xmpp hex lwt notty notty.lwt nocrypto otr sexplib tls tls.lwt ptime ptime.clock.os)
diff --git a/cli/cli_config.ml b/cli/cli_config.ml
index 618d655..dac6e68 100644
--- a/cli/cli_config.ml
+++ b/cli/cli_config.ml
@@ -34,7 +34,7 @@ let rewrap term above below (prefix, inp, inp2) (width, _) =
let height = if col mod width = 0 then succ h else h in
(succ (col mod width), height)
in
- Notty_lwt.Term.cursor term (Some (col, row))
+ Notty_lwt.Term.cursor term (Some (col - 1, row - 1))
let read_line ?(above = []) ?(prefix = "") ?default ?(below = []) term =
let rec go (pre, post) =
@@ -56,8 +56,8 @@ let read_line ?(above = []) ?(prefix = "") ?default ?(below = []) term =
| `Unhandled k ->
match k with
| `Key (`Enter, []) -> Lwt.return (char_list_to_str (pre @ post))
- | `Key (`Uchar 0x43, [`Ctrl]) -> Lwt.fail (Invalid_argument "Ctrl-c")
- | `Key (`Uchar 0x44, [`Ctrl]) -> Lwt.fail (Invalid_argument "Ctrl-d")
+ | `Key (`Uchar u, [`Ctrl]) when Uchar.to_int u = 0x43 -> Lwt.fail (Invalid_argument "Ctrl-c")
+ | `Key (`Uchar u, [`Ctrl]) when Uchar.to_int u = 0x44 -> Lwt.fail (Invalid_argument "Ctrl-d")
| _ -> go (pre, post)
in
let pre = Utils.option [] str_to_char_list default in
@@ -180,7 +180,7 @@ let configure term () =
let pw = "Password: " in
let chars = match password with
| None -> I.string A.empty "will be asked at startup"
- | Some _ -> I.uchar A.empty 0x2605 5 1
+ | Some _ -> I.uchar A.empty (Uchar.of_int 0x2605) 5 1
in
above @ [I.(string A.empty pw <|> chars)]
in
diff --git a/cli/cli_input.ml b/cli/cli_input.ml
index 34b4288..07488f2 100644
--- a/cli/cli_input.ml
+++ b/cli/cli_input.ml
@@ -314,19 +314,19 @@ let read_terminal term mvar input_mvar () =
| `Key (`Arrow `Up, []) -> p (fun s -> ok (history s Up)) >>= fun () -> loop ()
| `Key (`Arrow `Down, []) -> p (fun s -> ok (history s Down)) >>= fun () -> loop ()
- | `Key (`Uchar 0x44, [`Ctrl]) (* C-d *) -> p (fun s -> Lwt.return (`Quit s))
+ | `Key (`Uchar u, [`Ctrl]) when Uchar.to_int u = 0x44 (* C-d *) -> p (fun s -> Lwt.return (`Quit s))
(* UI navigation and toggles *)
| `Key (`Page `Up, []) -> p (fun s -> ok (navigate_buddy_list s Up)) >>= fun () -> loop ()
| `Key (`Page `Down, []) -> p (fun s -> ok (navigate_buddy_list s Down)) >>= fun () -> loop ()
| `Key (`Page `Up, [`Ctrl]) -> p (fun s -> ok (navigate_message_buffer s Up)) >>= fun () -> loop ()
- | `Key (`Uchar 0x50, [`Ctrl]) (* C-p *) -> p (fun s -> ok (navigate_message_buffer s Up)) >>= fun () -> loop ()
+ | `Key (`Uchar u, [`Ctrl]) when Uchar.to_int u = 0x50 (* C-p *) -> p (fun s -> ok (navigate_message_buffer s Up)) >>= fun () -> loop ()
| `Key (`Page `Down, [`Ctrl]) -> p (fun s -> ok (navigate_message_buffer s Down)) >>= fun () -> loop ()
- | `Key (`Uchar 0x4E, [`Ctrl]) (* C-n *) -> p (fun s -> ok (navigate_message_buffer s Down)) >>= fun () -> loop ()
+ | `Key (`Uchar u, [`Ctrl]) when Uchar.to_int u = 0x4E (* C-n *) -> p (fun s -> ok (navigate_message_buffer s Down)) >>= fun () -> loop ()
- | `Key (`Uchar 0x58, [`Ctrl]) (* C-x *) -> p (fun s -> ok (activate_contact s s.last_active_contact)) >>= fun () -> loop ()
- | `Key (`Uchar 0x51, [`Ctrl]) (* C-q *) ->
+ | `Key (`Uchar u, [`Ctrl]) when Uchar.to_int u = 0x58 (* C-x *) -> p (fun s -> ok (activate_contact s s.last_active_contact)) >>= fun () -> loop ()
+ | `Key (`Uchar u, [`Ctrl]) when Uchar.to_int u = 0x51 (* C-q *) ->
let handle s =
let s = match List.rev s.notifications with
| x::_ -> activate_contact s x
diff --git a/cli/cli_state.ml b/cli/cli_state.ml
index 5603cfe..ee320ce 100644
--- a/cli/cli_state.ml
+++ b/cli/cli_state.ml
@@ -24,7 +24,7 @@ type connect_v =
| Reconnect
| Presence of (User.presence * string option * int option)
-type input = int list * int list
+type input = Uchar.t list * Uchar.t list
type state = {
(* set only initially *)
diff --git a/cli/cli_support.ml b/cli/cli_support.ml
index 1c54df6..8275c38 100644
--- a/cli/cli_support.ml
+++ b/cli/cli_support.ml
@@ -4,17 +4,17 @@ open Notty
module Char = struct
let hdash a w =
if !Utils.unicode then
- I.uchar a 0x2500 w 1
+ I.uchar a (Uchar.of_int 0x2500) w 1
else
I.char a '-' w 1
and vdash a h =
if !Utils.unicode then
- I.uchar a 0x2502 1 h
+ I.uchar a (Uchar.of_int 0x2502) 1 h
else
I.char a '|' 1 h
and star a w =
if !Utils.unicode then
- I.uchar a 0x2605 w 1
+ I.uchar a (Uchar.of_int 0x2605) w 1
else
I.char a '*' w 1
end
@@ -186,8 +186,8 @@ let v_center left right width =
and rw = I.width right
in
match rw, lw >= width with
- | 0, true -> (I.hcrop (lw - width + 1) 0 left, width)
- | 0, false -> (left, succ lw)
+ | 0, true -> (I.hcrop (lw - width + 1) 0 left, width - 1)
+ | 0, false -> (left, lw)
| _, _ ->
if lw + rw >= width then
let leftw = min (max (width - rw) (width / 2)) lw in
@@ -195,11 +195,11 @@ let v_center left right width =
let l = I.hcrop (lw - leftw) 0 left
and r = I.hcrop 0 (rw - rightw) right
in
- (I.(l <|> r), succ leftw)
+ (I.(l <|> r), leftw)
else
- (I.(left <|> right), succ lw)
+ (I.(left <|> right), lw)
-let str_to_char_list str : int list =
+let str_to_char_list str : Uchar.t list =
let open Uutf in
List.rev (String.fold_utf_8 (fun acc _ -> function `Uchar i -> i :: acc | `Malformed _ -> acc) [] str)
@@ -236,22 +236,26 @@ let readline_input = function
| k -> `Unhandled k
let emacs_bindings = function
- | `Key (`Uchar 0x41, [`Ctrl]) (* C-a *) -> `Ok (fun (pre, post) -> ([], pre @ post))
- | `Key (`Uchar 0x45, [`Ctrl]) (* C-e *) -> `Ok (fun (pre, post) -> (pre @ post, []))
+ | `Key (`Uchar u, [`Ctrl]) as k ->
+ begin match Uchar.to_int u with
+ | 0x41 (* C-a *) -> `Ok (fun (pre, post) -> ([], pre @ post))
+ | 0x45 (* C-e *) -> `Ok (fun (pre, post) -> (pre @ post, []))
- | `Key (`Uchar 0x4b, [`Ctrl]) (* C-k *) -> `Ok (fun (pre, _) -> (pre, []))
- | `Key (`Uchar 0x55, [`Ctrl]) (* C-u *) -> `Ok (fun (_, post) -> ([], post))
+ | 0x4b (* C-k *) -> `Ok (fun (pre, _) -> (pre, []))
+ | 0x55 (* C-u *) -> `Ok (fun (_, post) -> ([], post))
- | `Key (`Uchar 0x46, [`Ctrl]) (* C-f *) ->
+ | 0x46 (* C-f *) ->
`Ok (fun (pre, post) ->
match post with
| [] -> (pre, post)
| hd::tl -> (pre @ [hd], tl))
- | `Key (`Uchar 0x42, [`Ctrl]) (* C-b *) ->
+ | 0x42 (* C-b *) ->
`Ok (fun (pre, post) ->
match List.rev pre with
| [] -> ([], post)
| hd::tl -> (List.rev tl, hd :: post))
+ | _ -> `Unhandled k
+ end
| `Key (`Arrow `Left, [`Ctrl]) ->
`Ok (fun (pre, post) ->
diff --git a/src/contact.mli b/src/contact.mli
index 6926296..d6c795b 100644
--- a/src/contact.mli
+++ b/src/contact.mli
@@ -8,7 +8,7 @@ val bare : contact -> Xjid.bare_jid
val preserve_messages : contact -> bool
val expanded : contact -> bool
val messages : contact -> User.message list
-val input_buffer : contact -> (int list * int list)
+val input_buffer : contact -> (Uchar.t list * Uchar.t list)
val readline_history : contact -> string list
val add_readline_history : contact -> string -> contact
@@ -18,7 +18,7 @@ val set_history_position : contact -> int -> contact
val received : contact -> string -> contact
val expand : contact -> contact
-val set_input_buffer : contact -> (int list * int list) -> contact
+val set_input_buffer : contact -> (Uchar.t list * Uchar.t list) -> contact
val set_preserve_messages : contact -> bool -> contact
val reset : contact -> contact
diff --git a/src/muc.ml b/src/muc.ml
index 1c98037..3293541 100644
--- a/src/muc.ml
+++ b/src/muc.ml
@@ -132,7 +132,7 @@ type groupchat = {
expand : bool ;
preserve_messages : bool ;
message_history : User.message list ; (* persistent if preserve_messages *)
- input_buffer : (int list * int list) ;
+ input_buffer : (Uchar.t list * Uchar.t list) ;
readline_history : string list ;
history_position : int ;
autojoin : bool ;
diff --git a/src/user.ml b/src/user.ml
index d039278..42a8c47 100644
--- a/src/user.ml
+++ b/src/user.ml
@@ -229,7 +229,7 @@ type user = {
properties : property list ;
preserve_messages : bool ;
message_history : message list ; (* persistent if preserve_messages is true *)
- input_buffer: (int list * int list) ; (* not persistent *)
+ input_buffer: (Uchar.t list * Uchar.t list) ; (* not persistent *)
readline_history : string list ; (* not persistent *)
history_position : int ; (* not persistent *)
otr_fingerprints : fingerprint list ;
diff --git a/src/user.mli b/src/user.mli
index 52b503d..5ce41be 100644
--- a/src/user.mli
+++ b/src/user.mli
@@ -118,7 +118,7 @@ type user = {
properties : property list ;
preserve_messages : bool ;
message_history : message list ; (* persistent if preserve_messages is true *)
- input_buffer: (int list * int list) ; (* not persistent *)
+ input_buffer: (Uchar.t list * Uchar.t list) ; (* not persistent *)
readline_history : string list ; (* not persistent *)
history_position : int ;
otr_fingerprints : fingerprint list ;
diff --git a/src/utils.ml b/src/utils.ml
index 0b4a3a7..cd9cb10 100644
--- a/src/utils.ml
+++ b/src/utils.ml
@@ -30,31 +30,33 @@ let validate_utf8 txt =
let rec loop d buf = match Uutf.decode d with
| `Await -> Buffer.contents buf
| `End -> Buffer.contents buf
- | `Malformed _ -> if !unicode then Uutf.Buffer.add_utf_8 buf 0xFFFD; loop d buf
- | `Uchar 0x000A -> (* newline *) Uutf.Buffer.add_utf_8 buf 0x000A ; loop d buf
- | `Uchar 0x0009 -> (* tab -> 4 spaces *) Uutf.Buffer.add_utf_8 buf 0x0020 ; Uutf.Buffer.add_utf_8 buf 0x0020 ; Uutf.Buffer.add_utf_8 buf 0x0020 ; Uutf.Buffer.add_utf_8 buf 0x0020 ; loop d buf
- | `Uchar 0x007F (* DEL *)
+ | `Malformed _ -> if !unicode then Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0xFFFD); loop d buf
+ | `Uchar u ->
+ match Uchar.to_int u with
+ | 0x000A -> (* newline *) Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0x000A) ; loop d buf
+ | 0x0009 -> (* tab -> 4 spaces *) Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0x0020) ; Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0x0020) ; Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0x0020) ; Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0x0020) ; loop d buf
+ | 0x007F (* DEL *)
(* See https://en.wikipedia.org/wiki/Unicode_control_characters / https://en.wikipedia.org/wiki/Bi-directional_text *)
- | `Uchar 0x200E | `Uchar 0x200F (* left-to-right / right-to-left *)
- | `Uchar 0x202A | `Uchar 0x202D (* left-to-right embedding / override *)
- | `Uchar 0x202B | `Uchar 0x202E (* right-to-left embedding / override *)
- | `Uchar 0x202C (* pop directional format *)
- | `Uchar 0x2066 | `Uchar 0x2067 (* l-t-r isolate r-t-l isolate *)
- | `Uchar 0x2068 | `Uchar 0x2069 (* first strong isolate / pop directional isolate *)
- | `Uchar 0x2028 | `Uchar 0x2029 (* line separator / page separator *) ->
- if !unicode then Uutf.Buffer.add_utf_8 buf 0xFFFD ; loop d buf
- | `Uchar x when x < 0x20 ->
+ | 0x200E | 0x200F (* left-to-right / right-to-left *)
+ | 0x202A | 0x202D (* left-to-right embedding / override *)
+ | 0x202B | 0x202E (* right-to-left embedding / override *)
+ | 0x202C (* pop directional format *)
+ | 0x2066 | 0x2067 (* l-t-r isolate r-t-l isolate *)
+ | 0x2068 | 0x2069 (* first strong isolate / pop directional isolate *)
+ | 0x2028 | 0x2029 (* line separator / page separator *) ->
+ if !unicode then Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0xFFFD) ; loop d buf
+ | x when x < 0x20 ->
(* other control characters *)
- if !unicode then Uutf.Buffer.add_utf_8 buf 0xFFFD ; loop d buf
- | `Uchar x when x >= 0x0080 && x <= 0x009F ->
+ if !unicode then Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0xFFFD) ; loop d buf
+ | x when x >= 0x0080 && x <= 0x009F ->
(* ctrl chars used in conjunction with ISO 8859 character sets (C0/C1) *)
- if !unicode then Uutf.Buffer.add_utf_8 buf 0xFFFD ; loop d buf
+ if !unicode then Uutf.Buffer.add_utf_8 buf (Uchar.of_int 0xFFFD) ; loop d buf
- | `Uchar x ->
+ | x ->
let c = if !unicode then x else if x > 0xff then 0x3f else x in
- Uutf.Buffer.add_utf_8 buf c ; loop d buf
+ Uutf.Buffer.add_utf_8 buf (Uchar.of_int c) ; loop d buf
in
- let nln = `Readline 0x000A in
+ let nln = `Readline (Uchar.of_int 0x000A) in
loop (Uutf.decoder ~nln ~encoding:`UTF_8 (`String txt)) (Buffer.create (String.length txt))
let version = "%%VERSION_NUM%%"

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
name = "astroid-${version}";
version = "0.8";
version = "0.9.1";
src = fetchFromGitHub {
owner = "astroidmail";
repo = "astroid";
rev = "v${version}";
sha256 = "1gjrdls1mz8y8bca7s8l965l0m7s2sb6g7a90gy848admjsyav7h";
sha256 = "0ha2jd3fvc54amh0x8f58s9ac4r8xgyhvkwd4jvs0h4mfh6cg496";
};
nativeBuildInputs = [ scons pkgconfig wrapGAppsHook ];

@ -12,7 +12,7 @@ assert withQt -> !withGtk && qt5 != null;
with stdenv.lib;
let
version = "2.2.5";
version = "2.2.6";
variant = if withGtk then "gtk" else if withQt then "qt" else "cli";
in stdenv.mkDerivation {
@ -20,7 +20,7 @@ in stdenv.mkDerivation {
src = fetchurl {
url = "http://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.bz2";
sha256 = "1j4sc3pmy8l6k41007spglcqiabjlzc7f85pn3jmjr9ksv9qipbm";
sha256 = "0jd89i9si43lyv3hsl6p1lkjmz4zagvc37wcbigsxxc5v8gda9zn";
};
nativeBuildInputs = [

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub, fetchpatch, cmake, python, vim }:
stdenv.mkDerivation rec {
name = "cryptominisat-${version}";
version = "5.0.1";
src = fetchFromGitHub {
owner = "msoos";
repo = "cryptominisat";
rev = version;
sha256 = "0cpw5d9vplxvv3aaplhnga55gz1hy29p7s4pkw1306knkbhlzvkb";
};
# vim for xxd binary
buildInputs = [ python vim ];
nativeBuildInputs = [ cmake ];
patches = [(fetchpatch rec {
name = "fix-exported-library-name.patch";
url = "https://github.com/msoos/cryptominisat/commit/7a47795cbe5ad5a899731102d297f234bcade077.patch";
sha256 = "11hf3cfqs4cykn7rlgjglq29lzqfxvlm0f20qasi0kdrz01cr30f";
})];
meta = with stdenv.lib; {
description = "An advanced SAT Solver";
maintainers = with maintainers; [ mic92 ];
platforms = platforms.unix;
license = licenses.mit;
homepage = https://github.com/msoos/cryptominisat;
};
}

@ -0,0 +1,23 @@
{ stdenv, fetchFromGitHub, zlib, cmake }:
stdenv.mkDerivation rec {
name = "minisat-unstable-2013-09-25";
src = fetchFromGitHub {
owner = "niklasso";
repo = "minisat";
rev = "37dc6c67e2af26379d88ce349eb9c4c6160e8543";
sha256 = "091hf3qkm197s5r7xcr3m07xsdwyz2rqk1hc9kj0hn13imz09irq";
};
buildInputs = [ zlib ];
nativeBuildInputs = [ cmake ];
meta = with stdenv.lib; {
description = "Compact and readable SAT solver";
maintainers = with maintainers; [ mic92 ];
platforms = platforms.unix;
license = licenses.mit;
homepage = "http://minisat.se/";
};
}

@ -1,23 +1,32 @@
{stdenv, cmake, boost, bison, flex, fetchgit, perl, zlib}:
{ stdenv, cmake, boost, bison, flex, fetchFromGitHub, perl, python3, python3Packages, zlib, minisatUnstable, cryptominisat }:
stdenv.mkDerivation rec {
version = "2014.01.07";
version = "2.2.0";
name = "stp-${version}";
src = fetchgit {
url = "git://github.com/stp/stp";
rev = "3aa11620a823d617fc033d26aedae91853d18635";
sha256 = "832520787f57f63cf47364d080f30ad10d6d6e00f166790c19b125be3d6dd45c";
src = fetchFromGitHub {
owner = "stp";
repo = "stp";
rev = "stp-${version}";
sha256 = "1jh23wjm62nnqfx447g2y53bbangq04hjrvqc35v9xxpcjgj3i49";
};
buildInputs = [ cmake boost bison flex perl zlib ];
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
patchPhase = ''
sed -e 's,^export(PACKAGE.*,,' -i CMakeLists.txt
patch -p1 < ${./fixbuild.diff}
patch -p1 < ${./fixrefs.diff}
buildInputs = [ boost zlib minisatUnstable cryptominisat python3 ];
nativeBuildInputs = [ cmake bison flex perl ];
preConfigure = ''
python_install_dir=$out/${python3Packages.python.sitePackages}
mkdir -p $python_install_dir
cmakeFlagsArray=(
$cmakeFlagsArray
"-DBUILD_SHARED_LIBS=ON"
"-DPYTHON_LIB_INSTALL_DIR=$python_install_dir"
)
'';
meta = {
description = ''Simple Theorem Prover'';
maintainers = with stdenv.lib.maintainers; [mornfall];
platforms = with stdenv.lib.platforms; linux;
license = stdenv.lib.licenses.mit;
meta = with stdenv.lib; {
description = "Simple Theorem Prover";
maintainers = with maintainers; [ mornfall ];
platforms = platforms.linux;
license = licenses.mit;
};
}

@ -1,45 +0,0 @@
diff --git a/src/libstp/CMakeLists.txt b/src/libstp/CMakeLists.txt
index 83bd03a..9c0304b 100644
--- a/src/libstp/CMakeLists.txt
+++ b/src/libstp/CMakeLists.txt
@@ -23,6 +23,15 @@ set(stp_lib_targets
printer
)
+include_directories(${CMAKE_SOURCE_DIR}/src/AST/)
+include_directories(${CMAKE_BINARY_DIR}/src/AST/)
+
+add_library(globalstp OBJECT
+ ../main/Globals.cpp
+ ${CMAKE_CURRENT_BINARY_DIR}/../main/GitSHA1.cpp
+)
+add_dependencies(globalstp ASTKind_header)
+
# Create list of objects and gather list of
# associated public headers.
set(stp_lib_objects "")
@@ -31,6 +40,7 @@ foreach(target ${stp_lib_targets})
list(APPEND stp_lib_objects $<TARGET_OBJECTS:${target}>)
get_target_property(TARGETS_PUBLIC_HEADERS ${target} PUBLIC_HEADER)
+ set_target_properties(${target} PROPERTIES POSITION_INDEPENDENT_CODE ON)
if (EXISTS "${TARGETS_PUBLIC_HEADERS}")
list(APPEND stp_public_headers "${TARGETS_PUBLIC_HEADERS}")
message("Adding public header(s) ${TARGETS_PUBLIC_HEADERS} to target libstp")
diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt
index 0735137..73039f5 100644
--- a/src/main/CMakeLists.txt
+++ b/src/main/CMakeLists.txt
@@ -3,12 +3,6 @@ include_directories(${CMAKE_BINARY_DIR}/src/AST/)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/GitSHA1.cpp.in" "${CMAKE_CURRENT_BINARY_DIR}/GitSHA1.cpp" @ONLY)
-add_library(globalstp OBJECT
- Globals.cpp
- ${CMAKE_CURRENT_BINARY_DIR}/GitSHA1.cpp
-)
-add_dependencies(globalstp ASTKind_header)
-
# -----------------------------------------------------------------------------
# Create binary
# -----------------------------------------------------------------------------

@ -1,192 +0,0 @@
commit 53b6043e25b2eba264faab845077fbf6736cf22f
Author: Petr Rockai <me@mornfall.net>
Date: Tue Jan 7 13:30:07 2014 +0100
aig: Comment out unused functions with undefined references in them.
diff --git a/src/extlib-abc/aig/aig/aigPart.c b/src/extlib-abc/aig/aig/aigPart.c
index a4cc116..5bd5f08 100644
--- a/src/extlib-abc/aig/aig/aigPart.c
+++ b/src/extlib-abc/aig/aig/aigPart.c
@@ -869,6 +869,7 @@ Vec_Ptr_t * Aig_ManMiterPartitioned( Aig_Man_t * p1, Aig_Man_t * p2, int nPartSi
SeeAlso []
***********************************************************************/
+#if 0
Aig_Man_t * Aig_ManChoicePartitioned( Vec_Ptr_t * vAigs, int nPartSize )
{
extern int Cmd_CommandExecute( void * pAbc, char * sCommand );
@@ -981,6 +982,7 @@ Aig_Man_t * Aig_ManChoicePartitioned( Vec_Ptr_t * vAigs, int nPartSize )
Aig_ManMarkValidChoices( pAig );
return pAig;
}
+#endif
////////////////////////////////////////////////////////////////////////
diff --git a/src/extlib-abc/aig/aig/aigShow.c b/src/extlib-abc/aig/aig/aigShow.c
index ae8fa8b..f04eedc 100644
--- a/src/extlib-abc/aig/aig/aigShow.c
+++ b/src/extlib-abc/aig/aig/aigShow.c
@@ -326,6 +326,7 @@ void Aig_WriteDotAig( Aig_Man_t * pMan, char * pFileName, int fHaig, Vec_Ptr_t *
SeeAlso []
***********************************************************************/
+#if 0
void Aig_ManShow( Aig_Man_t * pMan, int fHaig, Vec_Ptr_t * vBold )
{
extern void Abc_ShowFile( char * FileNameDot );
@@ -347,7 +348,7 @@ void Aig_ManShow( Aig_Man_t * pMan, int fHaig, Vec_Ptr_t * vBold )
// visualize the file
Abc_ShowFile( FileNameDot );
}
-
+#endif
////////////////////////////////////////////////////////////////////////
/// END OF FILE ///
diff --git a/src/extlib-abc/aig/dar/darRefact.c b/src/extlib-abc/aig/dar/darRefact.c
index d744b4f..23fc3d5 100644
--- a/src/extlib-abc/aig/dar/darRefact.c
+++ b/src/extlib-abc/aig/dar/darRefact.c
@@ -340,6 +340,7 @@ printf( "\n" );
SeeAlso []
***********************************************************************/
+#if 0
int Dar_ManRefactorTryCuts( Ref_Man_t * p, Aig_Obj_t * pObj, int nNodesSaved, int Required )
{
Vec_Ptr_t * vCut;
@@ -428,6 +429,7 @@ int Dar_ManRefactorTryCuts( Ref_Man_t * p, Aig_Obj_t * pObj, int nNodesSaved, in
}
return p->GainBest;
}
+#endif
/**Function*************************************************************
@@ -461,6 +463,7 @@ int Dar_ObjCutLevelAchieved( Vec_Ptr_t * vCut, int nLevelMin )
SeeAlso []
***********************************************************************/
+#if 0
int Dar_ManRefactor( Aig_Man_t * pAig, Dar_RefPar_t * pPars )
{
// Bar_Progress_t * pProgress;
@@ -583,6 +586,7 @@ p->timeOther = p->timeTotal - p->timeCuts - p->timeEval;
return 1;
}
+#endif
////////////////////////////////////////////////////////////////////////
/// END OF FILE ///
diff --git a/src/extlib-abc/aig/dar/darScript.c b/src/extlib-abc/aig/dar/darScript.c
index e60df00..1b9c24f 100644
--- a/src/extlib-abc/aig/dar/darScript.c
+++ b/src/extlib-abc/aig/dar/darScript.c
@@ -64,6 +64,7 @@ Aig_Man_t * Dar_ManRewriteDefault( Aig_Man_t * pAig )
SeeAlso []
***********************************************************************/
+#if 0
Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose )
//alias rwsat "st; rw -l; b -l; rw -l; rf -l"
{
@@ -108,7 +109,7 @@ Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose )
return pAig;
}
-
+#endif
/**Function*************************************************************
@@ -121,6 +122,7 @@ Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose )
SeeAlso []
***********************************************************************/
+#if 0
Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fVerbose )
//alias compress2 "b -l; rw -l; rwz -l; b -l; rwz -l; b -l"
{
@@ -180,6 +182,7 @@ Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, i
return pAig;
}
+#endif
/**Function*************************************************************
@@ -192,6 +195,7 @@ Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, i
SeeAlso []
***********************************************************************/
+#if 0
Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fVerbose )
//alias compress2 "b -l; rw -l; rf -l; b -l; rw -l; rwz -l; b -l; rfz -l; rwz -l; b -l"
{
@@ -285,6 +289,7 @@ Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel,
}
return pAig;
}
+#endif
/**Function*************************************************************
@@ -297,6 +302,7 @@ Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel,
SeeAlso []
***********************************************************************/
+#if 0
Vec_Ptr_t * Dar_ManChoiceSynthesis( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fVerbose )
//alias resyn "b; rw; rwz; b; rwz; b"
//alias resyn2 "b; rw; rf; b; rw; rwz; b; rfz; rwz; b"
@@ -311,6 +317,7 @@ Vec_Ptr_t * Dar_ManChoiceSynthesis( Aig_Man_t * pAig, int fBalance, int fUpdateL
Vec_PtrPush( vAigs, pAig );
return vAigs;
}
+#endif
/**Function*************************************************************
diff --git a/src/extlib-abc/aig/kit/kitAig.c b/src/extlib-abc/aig/kit/kitAig.c
index de301f2..7e5df0f 100644
--- a/src/extlib-abc/aig/kit/kitAig.c
+++ b/src/extlib-abc/aig/kit/kitAig.c
@@ -95,6 +95,7 @@ Aig_Obj_t * Kit_GraphToAig( Aig_Man_t * pMan, Aig_Obj_t ** pFanins, Kit_Graph_t
SeeAlso []
***********************************************************************/
+#if 0
Aig_Obj_t * Kit_TruthToAig( Aig_Man_t * pMan, Aig_Obj_t ** pFanins, unsigned * pTruth, int nVars, Vec_Int_t * vMemory )
{
Aig_Obj_t * pObj;
@@ -113,6 +114,7 @@ Aig_Obj_t * Kit_TruthToAig( Aig_Man_t * pMan, Aig_Obj_t ** pFanins, unsigned * p
Kit_GraphFree( pGraph );
return pObj;
}
+#endif
////////////////////////////////////////////////////////////////////////
/// END OF FILE ///
diff --git a/src/extlib-abc/aig/kit/kitGraph.c b/src/extlib-abc/aig/kit/kitGraph.c
index 39ef587..0485c66 100644
--- a/src/extlib-abc/aig/kit/kitGraph.c
+++ b/src/extlib-abc/aig/kit/kitGraph.c
@@ -349,6 +349,7 @@ unsigned Kit_GraphToTruth( Kit_Graph_t * pGraph )
SeeAlso []
***********************************************************************/
+#if 0
Kit_Graph_t * Kit_TruthToGraph( unsigned * pTruth, int nVars, Vec_Int_t * vMemory )
{
Kit_Graph_t * pGraph;
@@ -365,6 +366,7 @@ Kit_Graph_t * Kit_TruthToGraph( unsigned * pTruth, int nVars, Vec_Int_t * vMemor
pGraph = Kit_SopFactor( vMemory, RetValue, nVars, vMemory );
return pGraph;
}
+#endif
/**Function*************************************************************

@ -1,5 +1,6 @@
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, lib
, unzip, cmake, kodi, steam, libcec_platform, tinyxml }:
, unzip, cmake, kodi, steam, libcec_platform, tinyxml
, jsoncpp, libhdhomerun }:
let
@ -265,4 +266,37 @@ in
ln -s $out/lib/addons/pvr.hts/pvr.hts.so* $out/share/kodi/addons/pvr.hts
'';
};
pvr-hdhomerun = (mkKodiPlugin rec {
plugin = "pvr-hdhomerun";
namespace = "pvr.hdhomerun";
version = "2.4.7";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.hdhomerun";
rev = "60d89d16dd953d38947e8a6da2f8bb84a0f764ef";
sha256 = "0dvdv0vk2q12nj0i5h51iaypy3i7jfsxjyxwwpxfy82y8260ragy";
};
meta = with stdenv.lib; {
homepage = https://github.com/kodi-pvr/pvr.hdhomerun;
description = "Kodi's HDHomeRun PVR client addon";
platforms = platforms.all;
maintainers = with maintainers; [ titanous ];
};
}).override {
buildInputs = [ cmake jsoncpp libhdhomerun kodi libcec_platform kodi-platform ];
# disables check ensuring install prefix is that of kodi
cmakeFlags = [ "-DOVERRIDE_PATHS=1" ];
# kodi checks for plugin .so libs existance in the addon folder (share/...)
# and the non-wrapped kodi lib/... folder before even trying to dlopen
# them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
installPhase = ''
make install
ln -s $out/lib/addons/pvr.hdhomerun/pvr.hdhomerun.so* $out/share/kodi/addons/pvr.hdhomerun
'';
};
}

@ -26,13 +26,13 @@ let
optional = stdenv.lib.optional;
in stdenv.mkDerivation rec {
name = "obs-studio-${version}";
version = "18.0.2";
version = "19.0.2";
src = fetchFromGitHub {
owner = "jp9000";
repo = "obs-studio";
rev = "2bf9d548";
sha256 = "036l29m3dlqadvaazj0nmgi2lcji8zckdvx3gjrx1kp96yd5myqd";
rev = "${version}";
sha256 = "0sawpk2yr52frdm4pkvahc11i1s1jlm7i07crhkxa8342sdc70ab";
};
patches = [ ./find-xcb.patch ];

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
name = "virt-manager-qt-${version}";
version = "0.43.70";
version = "0.43.70.2";
src = fetchFromGitHub {
owner = "F1ash";
repo = "qt-virt-manager";
rev = "${version}";
sha256 = "0d8g0pg15cyi450qgkgi7fh83wkxcqfpphgsh5q10r6jjl87166x";
sha256 = "06123bywzgs5y2yskqm8qypj9diym5xip2bdlghfhw30957pcxxg";
};
cmakeFlags = [

@ -148,7 +148,7 @@ EOF
cd "$out/git/checkouts/$name/$branch"
rev="$(git rev-parse HEAD)"
revs="$revs $rev"
revs="$rev $revs"
done < <(find . -type d -name .git -print)
echo "List of revs to keep for git db $name: $revs"
@ -179,7 +179,7 @@ EOF
done
# Create ad-hoc branches for the revs we need
echo "$revs" | tr " " "\n" | while read -d " " rev; do
echo "$revs" | while read -d " " rev; do
echo "Creating git branch b_$rev $rev"
git branch b_$rev $rev
done

@ -6,6 +6,6 @@
fetchFromGitHub {
owner = "commercialhaskell";
repo = "all-cabal-hashes";
rev = "53fcf983669a3f0cdfd795fec28ecb40740a64ca";
sha256 = "0jfrr6mjb3x1ybgrsinhm0nl3jmdjyf9mghpgsm75lgr83cm12a5";
rev = "60443435510c1523ae4596f20595a274531dd485";
sha256 = "1k3c0ix5rax92ywrpjxd7cmbzwsgrv03s6dvq6wjm8vljchqg4li";
}

@ -226,7 +226,7 @@ stdenv.mkDerivation ({
libc_dev = stdenv.cc.libc_dev;
postPatch =
if (stdenv.isGNU
if (stdenv.isHurd
|| (libcCross != null # e.g., building `gcc.crossDrv'
&& libcCross ? crossConfig
&& libcCross.crossConfig == "i586-pc-gnu")

@ -230,7 +230,7 @@ stdenv.mkDerivation ({
libc_dev = stdenv.cc.libc_dev;
postPatch =
if (stdenv.isGNU
if (stdenv.isHurd
|| (libcCross != null # e.g., building `gcc.crossDrv'
&& libcCross ? crossConfig
&& libcCross.crossConfig == "i586-pc-gnu")

@ -247,7 +247,7 @@ stdenv.mkDerivation ({
'';
postPatch =
if (stdenv.isGNU
if (stdenv.isHurd
|| (libcCross != null # e.g., building `gcc.crossDrv'
&& libcCross ? crossConfig
&& libcCross.crossConfig == "i586-pc-gnu")

@ -229,7 +229,7 @@ stdenv.mkDerivation ({
hardeningDisable = [ "format" ];
postPatch =
if (stdenv.isGNU
if (stdenv.isHurd
|| (libcCross != null # e.g., building `gcc.crossDrv'
&& libcCross ? crossConfig
&& libcCross.crossConfig == "i586-pc-gnu")

@ -230,7 +230,7 @@ stdenv.mkDerivation ({
hardeningDisable = [ "format" ];
postPatch =
if (stdenv.isGNU
if (stdenv.isHurd
|| (libcCross != null # e.g., building `gcc.crossDrv'
&& libcCross ? crossConfig
&& libcCross.crossConfig == "i586-pc-gnu")

@ -0,0 +1,13 @@
diff --git a/utils/llvm-build/llvmbuild/main.py b/utils/llvm-build/llvmbuild/main.py
index eacefdf60bf..40d25f5cef8 100644
--- a/utils/llvm-build/llvmbuild/main.py
+++ b/utils/llvm-build/llvmbuild/main.py
@@ -412,7 +412,7 @@ subdirectories = %s
if library_name is None:
library_name_as_cstr = '0'
else:
- library_name_as_cstr = '"lib%s.a"' % library_name
+ library_name_as_cstr = '"lib%s.so"' % library_name
f.write(' { "%s", %s, %d, { %s } },\n' % (
name, library_name_as_cstr, is_installed,
', '.join('"%s"' % dep

@ -29,12 +29,16 @@ in stdenv.mkDerivation rec {
'';
buildInputs =
[ perl groff cmake libxml2 libffi ]
++ stdenv.lib.optional (!stdenv.isDarwin) python2 /*
[ perl groff cmake libxml2 libffi python2 ] /*
++ stdenv.lib.optional stdenv.isLinux valgrind */;
propagatedBuildInputs = [ ncurses zlib ];
patches = stdenv.lib.optionals (!stdenv.isDarwin) [
# llvm-config --libfiles returns (non-existing) static libs
./fix-llvm-config.patch
];
# hacky fix: created binaries need to be run before installation
preBuild = ''
mkdir -p $out/
@ -48,7 +52,7 @@ in stdenv.mkDerivation rec {
"-DLLVM_REQUIRES_RTTI=1"
"-DLLVM_BINUTILS_INCDIR=${binutils.dev or binutils}/include"
"-DCMAKE_CXX_FLAGS=-std=c++11"
] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON";
] ++ stdenv.lib.optional (!stdenv.isDarwin) "-DBUILD_SHARED_LIBS=ON";
postBuild = ''
rm -fR $out

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "urweb-${version}";
version = "20160621";
version = "20170105";
src = fetchurl {
url = "http://www.impredicative.com/ur/${name}.tgz";
sha256 = "08km96hli5yp754nsxxjzih2la0m89j5wc2cq12rkas43nqqgr65";
sha256 = "2ad3aea2c4851c9b18f752d38c7127af8293fbbbbdb3dd06b73a4603fe399b67";
};
buildInputs = [ openssl mlton mysql.client postgresql sqlite ];
@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
homepage = "http://www.impredicative.com/ur/";
license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
maintainers = [ stdenv.lib.maintainers.thoughtpolice stdenv.lib.maintainers.sheganinans ];
};
}

@ -14,13 +14,13 @@ let
else throw "Unsupported system!";
in stdenv.mkDerivation rec {
name = "aws-sdk-cpp-${version}";
version = "1.0.60";
version = "1.0.127";
src = fetchFromGitHub {
owner = "awslabs";
repo = "aws-sdk-cpp";
rev = version;
sha256 = "0k6jv70l4xhkf2rna6zaxkxgd7xh7cc1ghzska637h5d2v6h8nzk";
sha256 = "1p06rkvi6mm4jylk5j7gji2c52qbls3i0yqg3hgs9iys4nd1p14r";
};
# FIXME: might be nice to put different APIs in different outputs

@ -230,11 +230,11 @@ assert nvenc -> nvidia-video-sdk != null && nonfreeLicensing;
stdenv.mkDerivation rec {
name = "ffmpeg-full-${version}";
version = "3.3";
version = "3.3.1";
src = fetchurl {
url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
sha256 = "17anx7rnbi63if1ndr61836lf76dpn47n0y424hc48bj05y7z7jr";
sha256 = "0bwgm6z6k3khb91qh9xv15inykkfchpkm0lcdckkxhkacpyaf0mp";
};
patchPhase = ''patchShebangs .

@ -6,7 +6,7 @@
callPackage ./generic.nix (args // rec {
version = "${branch}";
branch = "3.3";
sha256 = "1p3brx0qa3i3569zlmcmpbxf17q73nrmbx2vp39s8h77r53qdq11";
branch = "3.3.1";
sha256 = "0bwgm6z6k3khb91qh9xv15inykkfchpkm0lcdckkxhkacpyaf0mp";
darwinFrameworks = [ Cocoa CoreMedia ];
})

@ -0,0 +1,34 @@
{ stdenv, fetchgit }:
stdenv.mkDerivation {
name = "libhdhomerun-1efbcb";
src = fetchgit {
url = "git://github.com/Silicondust/libhdhomerun.git";
rev = "1efbcb2b87b17a82f2b3d873d1c9cc1c6a3a9b77";
sha256 = "11iyrfs98xb50n9iqnwfphmmnn5w3mq2l9cjjpf8qp29cvs33cgy";
};
patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
substituteInPlace Makefile --replace "gcc" "cc"
substituteInPlace Makefile --replace "-arch i386" ""
'';
installPhase = let
libSuff = if stdenv.isDarwin then "dylib" else "so";
in ''
mkdir -p $out/{bin,lib,include/hdhomerun}
install -Dm444 libhdhomerun.${libSuff} $out/lib
install -Dm555 hdhomerun_config $out/bin
cp *.h $out/include/hdhomerun
'';
meta = with stdenv.lib; {
description = "Implements the libhdhomerun protocol for use with Silicondust HDHomeRun TV tuners";
homepage = "https://github.com/Silicondust/libhdhomerun";
repositories.git = "https://github.com/Silicondust/libhdhomerun.git";
license = stdenv.lib.licenses.lgpl2;
platforms = stdenv.lib.platforms.unix;
maintainers = [ maintainers.titanous ];
};
}

@ -2,23 +2,16 @@
, fixedPoint ? false, withCustomModes ? true }:
let
version = "1.1.3";
version = "1.1.4";
in
stdenv.mkDerivation rec {
name = "libopus-${version}";
src = fetchurl {
url = "http://downloads.xiph.org/releases/opus/opus-${version}.tar.gz";
sha256 = "0cxnd7pjxbgh6l3cbzsw29phpr5cq28fikfhjlp1hc3y5s0gxdjq";
sha256 = "14l6kpapmcnvl7p9hrmbqcnzj13zfzyppyc9a5kd4788h2rvc8li";
};
patches = [
(fetchpatch { # CVE-2017-0381
url = "https://github.com/xiph/opus/commit/79e8f527b0344b0897a65be35e77f7885bd99409.patch";
sha256 = "0clm4ixqkaj0a6i5rhaqfv3nnxyk33b2b8xlm7vyfd0y8kbh996q";
})
];
outputs = [ "out" "dev" ];
configureFlags = stdenv.lib.optional fixedPoint "--enable-fixed-point"

@ -0,0 +1,27 @@
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder
, mock, pytest, pytestrunner
, configparser, enum34, mccabe, pycodestyle, pyflakes
}:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "flake8";
version = "3.3.0";
src = fetchPypi {
inherit pname version;
sha256 = "04izn1q1lgbr408l9b3vkxqmpi6mq47bxwc0iwypb02mrxns41xr";
};
buildInputs = [ pytest mock pytestrunner ];
propagatedBuildInputs = [ pyflakes pycodestyle mccabe ]
++ stdenv.lib.optionals (pythonOlder "3.4") [ enum34 ]
++ stdenv.lib.optionals (pythonOlder "3.2") [ configparser ];
meta = with stdenv.lib; {
description = "Code checking using pep8 and pyflakes";
homepage = http://pypi.python.org/pypi/flake8;
license = licenses.mit;
maintainers = with maintainers; [ garbas ];
};
}

@ -0,0 +1,21 @@
{ stdenv, buildPythonPackage, fetchPypi, pytest, pytestrunner }:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "mccabe";
version = "0.6.1";
src = fetchPypi {
inherit pname version;
sha256 = "07w3p1qm44hgxf3vvwz84kswpsx6s7kvaibzrsx5dzm0hli1i3fx";
};
buildInputs = [ pytest pytestrunner ];
meta = with stdenv.lib; {
description = "McCabe checker, plugin for flake8";
homepage = "https://github.com/flintwork/mccabe";
license = licenses.mit;
maintainers = with maintainers; [ garbas ];
};
}

@ -0,0 +1,53 @@
{ stdenv, buildPythonPackage, fetchFromGitHub, isPy26
, glibcLocales, pandoc, git
, mock, nose, markdown, lxml, typogrify
, jinja2, pygments, docutils, pytz, unidecode, six, dateutil, feedgenerator
, blinker, pillow, beautifulsoup4, markupsafe }:
buildPythonPackage rec {
name = "pelican-${version}";
version = "3.7.1";
disabled = isPy26;
src = fetchFromGitHub {
owner = "getpelican";
repo = "pelican";
rev = version;
sha256 = "0nkxrb77k2bra7bqckg7f5k73wk98hcbz7rimxl8sw05b2bvd62g";
};
doCheck = true;
checkPhase = ''
python -Wd -m unittest discover
'';
buildInputs = [
glibcLocales
pandoc
git
mock
nose
markdown
typogrify
];
propagatedBuildInputs = [
jinja2 pygments docutils pytz unidecode six dateutil feedgenerator
blinker pillow beautifulsoup4 markupsafe lxml
];
postPatch= ''
substituteInPlace pelican/tests/test_pelican.py \
--replace "'git'" "'${git}/bin/git'"
'';
LC_ALL="en_US.UTF-8";
meta = with stdenv.lib; {
description = "A tool to generate a static blog from reStructuredText or Markdown input files";
homepage = "http://getpelican.com/";
license = licenses.agpl3;
maintainers = with maintainers; [ offline prikhi garbas ];
};
}

@ -0,0 +1,23 @@
{ stdenv, buildPythonPackage, fetchPypi, isPyPy, unittest2 }:
buildPythonPackage rec {
pname = "pyflakes";
version = "1.5.0";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "1x1pcca4a24k4pw8x1c77sgi58cg1wl2k38mp8a25k608pzls3da";
};
buildInputs = [ unittest2 ];
doCheck = !isPyPy;
meta = with stdenv.lib; {
homepage = https://launchpad.net/pyflakes;
description = "A simple program which checks Python source files for errors";
license = licenses.mit;
maintainers = with maintainers; [ garbas ];
};
}

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
name = "ammonite-${version}";
version = "0.9.0";
version = "0.9.1";
scalaVersion = "2.12";
src = fetchurl {
url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
sha256 = "12kmsj1phbbma9mfl0saa0hhjm702hccbb6mqpawmqwhkwz48iak";
sha256 = "0mc59hfic3211v4ai5zhis56hck9cpalf29pz0kl75wd7g9ymidv";
};
propagatedBuildInputs = [ jre ] ;

@ -0,0 +1,95 @@
{ stdenv, pythonPackages }:
with stdenv.lib;
with pythonPackages;
let
# Get rid of this when pants 1.3.0 is released and make 0.5 the default
pathspec_0_3_4 = buildPythonApplication rec {
pname = "pathspec";
version = "0.3.4";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "0a37yrr2jhlg8aiynxivh2xqani7l9j725qxzrm7cm7m4rfcl1bn";
};
meta = {
description = "Utility library for gitignore-style pattern matching of file paths";
homepage = "https://github.com/cpburnz/python-path-specification";
license = licenses.mpl20;
maintainers = with maintainers; [ copumpkin ];
};
};
in {
pants =
pythonPackages.buildPythonPackage rec {
pname = "pantsbuild.pants";
version = "1.2.1";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "1bnzhhd2acwk7ckv56xzg2d9vxacl3k5bh13bsjxymnq3spm962w";
};
prePatch = ''
sed -E -i "s/'([[:alnum:].-]+)[=><][^']*'/'\\1'/g" setup.py
'';
# Unnecessary, and causes some really weird behavior around .class files, which
# this package bundles. See https://github.com/NixOS/nixpkgs/issues/22520.
dontStrip = true;
propagatedBuildInputs = [
ansicolors beautifulsoup4 cffi coverage docutils fasteners futures
isort lmdb markdown mock packaging pathspec_0_3_4 pep8 pex psutil pyflakes
pygments pystache pytestcov pytest pywatchman requests scandir
setproctitle setuptools six thrift wheel twitter-common-dirutil
twitter-common-confluence twitter-common-collections
];
meta = {
description = "A build system for software projects in a variety of languages";
homepage = "http://www.pantsbuild.org/";
license = licenses.asl20;
maintainers = with maintainers; [ copumpkin ];
platforms = platforms.unix;
};
};
pants13-pre = buildPythonApplication rec {
pname = "pantsbuild.pants";
version = "1.3.0rc2";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "1d3i0jwhn94b96b3lwwxd10007hnxw6dw1azmwv3hhwq713gwnpi";
};
prePatch = ''
sed -E -i "s/'([[:alnum:].-]+)[=><][[:digit:]=><.,]*'/'\\1'/g" setup.py
'';
# Unnecessary, and causes some really weird behavior around .class files, which
# this package bundles. See https://github.com/NixOS/nixpkgs/issues/22520.
dontStrip = true;
propagatedBuildInputs = [
twitter-common-collections setproctitle setuptools six ansicolors
packaging pathspec scandir twitter-common-dirutil psutil requests
pystache pex docutils markdown pygments twitter-common-confluence
fasteners coverage pywatchman futures cffi
];
meta = {
description = "A build system for software projects in a variety of languages";
homepage = "http://www.pantsbuild.org/";
license = licenses.asl20;
maintainers = with maintainers; [ copumpkin ];
platforms = platforms.unix;
};
};
}

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "jenkins-${version}";
version = "2.61";
version = "2.62";
src = fetchurl {
url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
sha256 = "1h5im8158h403n5sj1xyhmq40pdq2pmbh7gqv3sv74mc3rjaffj5";
sha256 = "1dqmvbl5sa82zsc03ns5i7ppjmdlg3pyk676xjxyr0p5ccbqlxxh";
};
buildCommand = ''

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "coursier-${version}";
version = "1.0.0-RC2";
version = "1.0.0-RC3";
src = fetchurl {
url = "https://github.com/coursier/coursier/raw/v${version}/coursier";
sha256 = "0w97s1dzfl3gyqa293k8n4hpsrqc10va1lc7jhb05208rsz1hf2m";
sha256 = "0iiv79ig8p9pm7fklxskxn6bx1m4xqgdfdk6bvqq81gl8b101z5w";
};
nativeBuildInputs = [ makeWrapper ];

@ -1,33 +1,31 @@
{ fetchurl, stdenv, ncurses, readline, gmp, mpfr, expat, texinfo, zlib
, dejagnu, perl, pkgconfig
, python ? null
, buildPlatform, hostPlatform, targetPlatform
, pythonSupport ? hostPlatform == buildPlatform && !hostPlatform.isCygwin, python ? null
, guile ? null
, target ? null
# Support all known targets in one gdb binary.
, multitarget ? false
# Additional dependencies for GNU/Hurd.
, mig ? null, hurd ? null
}:
let
basename = "gdb-7.12.1";
# Whether (cross-)building for GNU/Hurd. This is an approximation since
# having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and
# `nativeDrv'.
isGNU =
stdenv.system == "i686-gnu"
|| (stdenv ? cross && stdenv.cross.config == "i586-pc-gnu");
basename = "gdb-${version}";
version = "7.12.1";
in
assert isGNU -> mig != null && hurd != null;
assert targetPlatform.isHurd -> mig != null && hurd != null;
assert pythonSupport -> python != null;
stdenv.mkDerivation rec {
name = basename + stdenv.lib.optionalString (target != null)
("-" + target.config);
name =
stdenv.lib.optionalString (targetPlatform != hostPlatform)
(targetPlatform.config + "-")
+ basename;
src = fetchurl {
url = "mirror://gnu/gdb/${basename}.tar.xz";
@ -35,10 +33,12 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ pkgconfig texinfo perl ]
++ stdenv.lib.optional isGNU mig;
# TODO(@Ericson2314) not sure if should be host or target
++ stdenv.lib.optional targetPlatform.isHurd mig;
buildInputs = [ ncurses readline gmp mpfr expat zlib python guile ]
++ stdenv.lib.optional isGNU hurd
buildInputs = [ ncurses readline gmp mpfr expat zlib guile ]
++ stdenv.lib.optional pythonSupport python
++ stdenv.lib.optional targetPlatform.isHurd hurd
++ stdenv.lib.optional doCheck dejagnu;
enableParallelBuilding = true;
@ -46,24 +46,16 @@ stdenv.mkDerivation rec {
# darwin build fails with format hardening since v7.12
hardeningDisable = stdenv.lib.optionals stdenv.isDarwin [ "format" ];
configureFlags = with stdenv.lib;
[ "--with-gmp=${gmp.dev}" "--with-mpfr=${mpfr.dev}" "--with-system-readline"
"--with-system-zlib" "--with-expat" "--with-libexpat-prefix=${expat.dev}"
configureFlags = with stdenv.lib; [
"--with-gmp=${gmp.dev}" "--with-mpfr=${mpfr.dev}" "--with-system-readline"
"--with-system-zlib" "--with-expat" "--with-libexpat-prefix=${expat.dev}"
] ++ stdenv.lib.optional hostPlatform.isLinux
# TODO(@Ericson2314): make this conditional on whether host platform is NixOS
"--with-separate-debug-dir=/run/current-system/sw/lib/debug"
]
++ optional (target != null) "--target=${target.config}"
++ optional multitarget "--enable-targets=all"
++ optional (elem stdenv.system platforms.cygwin) "--without-python";
crossAttrs = {
# Do not add --with-python here to avoid cross building it.
configureFlags = with stdenv.lib;
[ "--with-gmp=${gmp.crossDrv}" "--with-mpfr=${mpfr.crossDrv}" "--with-system-readline"
"--with-system-zlib" "--with-expat" "--with-libexpat-prefix=${expat.crossDrv}" "--without-python"
]
++ optional (target != null) "--target=${target.config}"
++ optional multitarget "--enable-targets=all";
};
++ stdenv.lib.optional (!pythonSupport) "--without-python"
# TODO(@Ericson2314): This should be done in stdenv, not per-package
++ stdenv.lib.optional (targetPlatform != hostPlatform) "--target=${targetPlatform.config}"
++ stdenv.lib.optional multitarget "--enable-targets=all";
postInstall =
'' # Remove Info files already provided by Binutils and other packages.

@ -0,0 +1,20 @@
{ stdenv, python3Packages }:
python3Packages.buildPythonApplication rec {
version = "1.1.3";
pname = "wllvm";
name = "${pname}-${version}";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "1scv9bwr888x2km8njg0000xkj8pz73c0gjbphhqaj8vy87y25cb";
};
meta = with stdenv.lib; {
homepage = https://github.com/travitch/whole-program-llvm;
description = "A wrapper script to build whole-program LLVM bitcode files";
license = licenses.mit;
maintainers = with maintainers; [ mic92 ];
platforms = platforms.all;
};
}

@ -1,19 +1,25 @@
{ stdenv, cmake, mesa, SDL, SDL_mixer, SDL_net, fetchurl }:
{ stdenv, cmake, mesa_noglu, SDL, SDL_mixer, SDL_net, fetchFromGitHub, makeWrapper }:
stdenv.mkDerivation rec {
name = "eternity-engine-3.40.46";
src = fetchurl {
url = https://github.com/team-eternity/eternity/archive/3.40.46.tar.gz;
sha256 = "0jq8q0agw7lgab9q2h8wcaakvg913l9j3a6ss0hn9661plkw2yb4";
name = "eternity-engine-${version}";
version = "3.42.02";
src = fetchFromGitHub {
owner = "team-eternity";
repo = "eternity";
rev = "${version}";
sha256 = "00kpq4k23hjmzjaymw3sdda7mqk8fjq6dzf7fmdal9fm7lfmj41k";
};
buildInputs = [ stdenv cmake mesa SDL SDL_mixer SDL_net ];
nativeBuildInputs = [ cmake makeWrapper ];
buildInputs = [ mesa_noglu SDL SDL_mixer SDL_net ];
enableParallelBuilding = true;
installPhase = ''
mkdir -p $out/bin
cp source/eternity $out/bin
install -Dm755 source/eternity $out/lib/eternity/eternity
cp -r $src/base $out/lib/eternity/base
mkdir $out/bin
makeWrapper $out/lib/eternity/eternity $out/bin/eternity
'';
meta = {

@ -12,7 +12,7 @@ let
gtkName = if gtkClient then "-gtk" else "";
name = "freeciv";
version = "2.5.6";
version = "2.5.7";
in
stdenv.mkDerivation {
name = "${name}${sdlName}${gtkName}-${version}";
@ -20,7 +20,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "mirror://sourceforge/freeciv/${name}-${version}.tar.bz2";
sha256 = "16wrnsx5rmbz6rjs03bhy0vn20i6n6g73lx7fjpai98ixhzc5bfg";
sha256 = "1lmydnnqraa947l7gdz6xgm0bgks1ywsivp9h4v8jr3avcv6gqzz";
};
nativeBuildInputs = [ pkgconfig ];

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
name = "gzdoom-${version}";
version = "2.3.2";
version = "3.0.1";
src = fetchFromGitHub {
owner = "coelckers";
repo = "gzdoom";
rev = "g${version}";
sha256 = "1ys7wl4ygvm2lm49qjpql6c5i8gydmbg4f436bcpkywf5srr6xrd";
sha256 = "0s0hl7pa2gr3cm884q7np5naybhv4hqhbfd3s45a8hdf72n6c9cm";
};
nativeBuildInputs = [ cmake makeWrapper ];
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
sed -i \
-e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \
-e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \
src/sound/music_fluidsynth_mididevice.cpp
src/sound/mididevices/music_fluidsynth_mididevice.cpp
'';
installPhase = ''
@ -42,8 +42,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = "https://github.com/coelckers/gzdoom";
description = "A Doom source port based on ZDoom. It features an OpenGL renderer and lots of new features";
# Doom source license, MAME license
license = licenses.unfreeRedistributable;
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ lassulus ];
};

@ -0,0 +1,24 @@
{ stdenv, fetchurl, pkgconfig, ncurses }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "robotfindskitten-${version}";
version = "2.7182818.701";
src = fetchurl {
url = "mirror://sourceforge/project/rfk/robotfindskitten-POSIX/mayan_apocalypse_edition/${name}.tar.gz";
sha256 = "06fp6b4li50mzw83j3pkzqspm6dpgxgxw03b60xkxlkgg5qa6jbp";
};
buildInputs =
[ pkgconfig ncurses ];
meta = {
description = "Yet another zen simulation; A simple find-the-kitten game";
homepage = http://robotfindskitten.org/;
license = licenses.gpl2;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.unix;
};
}

@ -0,0 +1,42 @@
{ stdenv, fetchurl, ncurses, xmlto }:
with stdenv.lib;
stdenv.mkDerivation rec{
name = "vms-empire-${version}";
version = "1.14";
src = fetchurl{
url = "http://www.catb.org/~esr/vms-empire/${name}.tar.gz";
sha256 = "0cymzhivvaahgqz0p11w25a710ls4w0jhyqj789jas5s07nvd890";
};
buildInputs =
[ ncurses xmlto ];
patchPhase = ''
sed -i -e 's|^install: empire\.6 uninstall|install: empire.6|' -e 's|usr/||g' Makefile
'';
hardeningDisable = [ "format" ];
makeFlags = [ "DESTDIR=$(out)" ];
meta = {
description = "The ancestor of all expand/explore/exploit/exterminate games";
longDescription = ''
Empire is a simulation of a full-scale war between two emperors, the
computer and you. Naturally, there is only room for one, so the object of
the game is to destroy the other. The computer plays by the same rules
that you do. This game was ancestral to all later
expand/explore/exploit/exterminate games, including Civilization and
Master of Orion.
'';
homepage = http://catb.org/~esr/vms-empire/;
license = licenses.gpl2;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}

@ -35,7 +35,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
++ lib.optional odbcSupport pkgs.unixODBC
++ lib.optional netapiSupport pkgs.samba3_light
++ lib.optional cursesSupport pkgs.ncurses
++ lib.optional vaSupport pkgs.libva
++ lib.optional vaSupport pkgs.libva-full
++ lib.optional pcapSupport pkgs.libpcap
++ lib.optional v4lSupport pkgs.libv4l
++ lib.optional saneSupport pkgs.saneBackends
@ -46,7 +46,8 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
++ lib.optional alsaSupport pkgs.alsaLib
++ lib.optional pulseaudioSupport pkgs.libpulseaudio
++ lib.optional xineramaSupport pkgs.xorg.libXinerama
++ lib.optionals gstreamerSupport (with pkgs.gst_all; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-ffmpeg ])
++ lib.optional udevSupport pkgs.udev
++ lib.optionals gstreamerSupport (with pkgs.gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ])
++ lib.optionals gtkSupport [ pkgs.gtk3 pkgs.glib ]
++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.ocl-icd ]
++ lib.optionals xmlSupport [ pkgs.libxml2 pkgs.libxslt ]
@ -92,7 +93,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
'' + lib.optionalString supportFlags.gstreamerSupport ''
wrapProgram "$out/bin/wine" \
--argv0 "" \
--prefix GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH"
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0"
'';
enableParallelBuilding = true;

@ -38,6 +38,7 @@
gphoto2Support ? false,
ldapSupport ? false,
pulseaudioSupport ? false,
udevSupport ? false,
xineramaSupport ? false,
xmlSupport ? false }:
@ -50,7 +51,7 @@ let wine-build = build: release:
netapiSupport cursesSupport vaSupport pcapSupport v4lSupport saneSupport
gsmSupport gphoto2Support ldapSupport fontconfigSupport alsaSupport
pulseaudioSupport xineramaSupport gtkSupport openclSupport xmlSupport tlsSupport
openglSupport gstreamerSupport;
openglSupport gstreamerSupport udevSupport;
};
});

@ -18,7 +18,7 @@ stdenv.lib.overrideDerivation wineUnstable (self: {
chmod +w patches
cd patches
patchShebangs gitapply.sh
./patchinstall.sh DESTDIR="$TMP/$sourceRoot" --all
./patchinstall.sh DESTDIR="$PWD/.." --all
cd ..
'';
})

@ -16,7 +16,7 @@ in
# TL;DR
# Add your plugin to ./vim-plugin-names
# Regenerate via `nix-build -Q -A vimPlugins.pluginnames2nix; ./result/bin/vim-plugin-names-to-nix`
# Regenerate via `nix-shell -p vimPlugins.pluginnames2nix --command "vim-plugin-names-to-nix"`
# Copy the generated expression(s) into this file.
# If plugin is complicated then make changes to ./vim2nix/additional-nix-code
@ -114,6 +114,7 @@ rec {
# --- generated packages bellow this line ---
CSApprox = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "CSApprox-2013-07-26";
src = fetchgit {
@ -357,6 +358,17 @@ rec {
};
forms = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "forms-2012-11-28";
src = fetchgit {
url = "git://github.com/megaannum/forms";
rev = "b601e03fe0a3b8a43766231f4a6217e4492b4f75";
sha256 = "19kp1i5c6jmnpbsap9giayqbzlv7vh02mp4mjvicqj9n0nfyay74";
};
dependencies = ["self"];
};
fugitive = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "fugitive-2017-05-19";
src = fetchgit {
@ -482,11 +494,11 @@ rec {
};
neomake = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "neomake-2017-05-21";
name = "neomake-2017-05-22";
src = fetchgit {
url = "https://github.com/benekastah/neomake";
rev = "ec599098f76032a9a4d7d504afa2fefb722857ef";
sha256 = "184y5l13gb3ax2bpsnwyyy4m3np4w6v886cvx7lpzlihk2w97dp6";
rev = "4979ef24fdc061a550b013daab5ef779517e29ce";
sha256 = "0q81ig92kd3xrlh8l2gnx26s84cnb221jcqjl0fyvi09d99mfil1";
};
dependencies = [];
@ -603,11 +615,11 @@ rec {
};
vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "vim-2017-05-17";
name = "vim-2017-05-21";
src = fetchgit {
url = "https://github.com/dracula/vim";
rev = "b7e11c087fe2a9e3023cdccf17985704e27b125d";
sha256 = "0480bs0df6jkfsi20mksbf5pix9js4mb0dfwwzbfj1c9xk7cn0z2";
rev = "7a4798a6d049905a71d9cb82aaf0db5d2e116f7d";
sha256 = "1h5r85pv7mcyhczc6ijbfv46xjzxrw3lbbfsxlycx0hx8b8jfpql";
};
dependencies = [];
@ -713,11 +725,11 @@ rec {
};
vim-go = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "vim-go-2017-05-08";
name = "vim-go-2017-05-22";
src = fetchgit {
url = "https://github.com/fatih/vim-go";
rev = "7fb96896f3a1a41dfb5185336a057341eb7ad151";
sha256 = "0g9l68p1xsai2mlgy3lyvilz2s9lsjlgj0jjdinq4fky051fq8d9";
rev = "05efdfe80f433538932af82c1f168b1af4d30b7f";
sha256 = "19nyclwigrcxs4hzjkyj971ifm8r0q9991vcs0a4n860c66l9xhs";
};
dependencies = [];
@ -746,11 +758,11 @@ rec {
};
psc-ide-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "psc-ide-vim-2017-04-17";
name = "psc-ide-vim-2017-05-22";
src = fetchgit {
url = "https://github.com/frigoeu/psc-ide-vim";
rev = "deec92002a5a187ff8be3ae6060e202aa859d4cb";
sha256 = "0yjlp3rnlai2633slrhxr2g9sqqp1j9pqcm7h03gfgw6rh4kai9k";
rev = "b97523df5e31d1a86cb52fb0188b87a72aa7633d";
sha256 = "09ibx86wq24vyk8cpzlfqbwcygnr3y4qvscfjyrj8pzg4mlfpw0j";
};
dependencies = [];
@ -944,11 +956,11 @@ rec {
};
fzf-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "fzf-vim-2017-05-20";
name = "fzf-vim-2017-05-22";
src = fetchgit {
url = "https://github.com/junegunn/fzf.vim";
rev = "536b6ace35a16174fa35ea6ae5b27dc5c02469f6";
sha256 = "15wcjfla5r18d93vf5mhl6dwglj4a49c0jc0ijh2v8j3ilbjm29y";
rev = "990834ab6cb86961e61c55a8e012eb542ceff10e";
sha256 = "17f4vlahap3bycgl3b78drq58rdlwi8kkl3z7l9jhsxvzvdvccl1";
};
dependencies = [];
@ -1021,11 +1033,11 @@ rec {
};
vimtex = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "vimtex-2017-05-21";
name = "vimtex-2017-05-22";
src = fetchgit {
url = "https://github.com/lervag/vimtex";
rev = "286036f92ef972f6e5adb1b9865a60d0bed8cf9c";
sha256 = "0a2bnnilvkicr67an4rrd1zxhgf497z12r1xfqd65c80j2g63ls2";
rev = "11bcdc95ba4f201f93f9857362cfea0d99e0a0db";
sha256 = "0qszla7x1zxm1v6l3iz14cvw5hcmb8yja6d01dr9fhlpx968xgwr";
};
dependencies = [];
@ -1112,6 +1124,17 @@ rec {
};
ack-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "ack-vim-2017-05-07";
src = fetchgit {
url = "https://github.com/mileszs/ack.vim";
rev = "a16a9b63eb85cc0960a7f25c54647ac1f99f3360";
sha256 = "09bwawm2csliancl281y6wgalrrmaqq7d0baz4dq1cw18x657mk7";
};
dependencies = [];
};
lushtags = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "lushtags-2017-04-19";
src = fetchgit {
@ -1355,11 +1378,11 @@ rec {
};
unite-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "unite-vim-2017-05-17";
name = "unite-vim-2017-05-22";
src = fetchgit {
url = "https://github.com/shougo/unite.vim";
rev = "e9650b32f3803aaa6ea2635137991c86782d63ac";
sha256 = "0k5xpp9kfyqbmcckb4l47qglmvcjsmmlhpcq2v543831z1ibcx6l";
rev = "39dbd776f304d3a5f20483298be80991ed8fbd09";
sha256 = "0snrg3nbr25qkk3nskygzy68qwgf9si1llryxpi6h28ixkn8n3n0";
};
dependencies = [];
@ -1775,7 +1798,7 @@ rec {
sha256 = "0ybd9sg4x8pczvl0hz5azzs2sn4nyc7la9890xh373dv3lyb6gk7";
};
dependencies = [];
buildInputs = [ python3 ];
buildInputs = [ python3 ];
buildPhase = ''
pushd ./rplugin/python3/deoplete/ujson
python3 setup.py build --build-base=$PWD/build --build-lib=$PWD/build
@ -1840,11 +1863,11 @@ rec {
};
pathogen = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "pathogen-2017-05-03";
name = "pathogen-2017-05-22";
src = fetchgit {
url = "git://github.com/tpope/vim-pathogen";
rev = "0f4710063ecc98d77dc03698c4a917a3215bdf09";
sha256 = "1fk9fgprz9nhgz9hk5zjzw5m0sz40fgh74jg19wyp3yrwryhy5dp";
rev = "379b8f70822c4a89370575c3967f33cb116087ea";
sha256 = "0j7cixmqllp3wwhsmwfcjj6rslx90lwrssi64mk3whm303x1qxvq";
};
dependencies = [];
@ -1872,6 +1895,17 @@ rec {
};
self = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "self-2014-05-28";
src = fetchgit {
url = "git://github.com/megaannum/self";
rev = "2ed666b547eddee6ae1fcc63babca4ba0b66a59f";
sha256 = "1gcwn6i5i3msg7hrlzsnv1bs6pm4jz9cff8ppaz2xdj8xv9qy6fn";
};
dependencies = [];
};
sensible = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "sensible-2017-05-09";
src = fetchgit {
@ -2267,6 +2301,7 @@ rec {
};
vim-multiple-cursors = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "vim-multiple-cursors-2017-04-29";
src = fetchgit {
@ -2301,11 +2336,11 @@ rec {
};
vim-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "vim-snippets-2017-05-19";
name = "vim-snippets-2017-05-22";
src = fetchgit {
url = "git://github.com/honza/vim-snippets";
rev = "3cb0d29cf55d3d93e0a330819770b4f60e66e39f";
sha256 = "112747rfikyixv9m3nfdnwm31bv9v0x4s7fp0j8zkvg9sbcf15nf";
rev = "8a0f865950d70d6de1e39cec20ad4d52b611bd8f";
sha256 = "1czs9zqjdb86fdb6lldzv4fjyc8yw2adhhbdzzj631hfcvi1a2r3";
};
dependencies = [];

@ -85,6 +85,7 @@
"github:machakann/vim-highlightedyank"
"github:mhinz/vim-startify"
"github:michaeljsmith/vim-indent-object"
"github:mileszs/ack.vim"
"github:mkasa/lushtags"
"github:mpickering/hlint-refactor-vim"
"github:nathanaelkane/vim-indent-guides"

@ -5,17 +5,15 @@
}:
let
inherit (stdenv.lib.systems.parse) isDarwin;
prefix = stdenv.lib.optionalString
(targetPlatform != hostPlatform)
"${targetPlatform.config}-";
in
assert isDarwin targetPlatform.parsed;
assert targetPlatform.isDarwin;
# Non-Darwin alternatives
assert (!isDarwin hostPlatform.parsed) -> (maloader != null && xctoolchain != null);
assert (!hostPlatform.isDarwin) -> (maloader != null && xctoolchain != null);
let
baseParams = rec {
@ -91,7 +89,7 @@ let
'';
postInstall =
if isDarwin hostPlatform.parsed
if hostPlatform.isDarwin
then ''
cat >$out/bin/dsymutil << EOF
#!${stdenv.shell}

@ -1,11 +1,11 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "acpid-2.0.27";
name = "acpid-2.0.28";
src = fetchurl {
url = "mirror://sourceforge/acpid2/${name}.tar.xz";
sha256 = "05m6scbdzi2fb8zzi01c11a10pr0qb1gzccz4bbxj4fcacz24342";
sha256 = "043igasvp1l6nv5rzh4sksmymay2qn20anl4zm4zvwnkn1a3l34q";
};
meta = with stdenv.lib; {

@ -0,0 +1,36 @@
{ stdenv, fetchgit, autoreconfHook, readline }:
let
ell = fetchgit {
url = https://git.kernel.org/pub/scm/libs/ell/ell.git;
rev = "58e873d7463f3a7f91e02260585bfa50cbc77668";
sha256 = "12k1f1iarm29j8k16mhw83xx7r3bama4lp0fchhnj7iwxrpgs4gh";
};
in stdenv.mkDerivation rec {
name = "iwd-unstable-2017-04-21";
src = fetchgit {
url = https://git.kernel.org/pub/scm/network/wireless/iwd.git;
rev = "f64dea81b8490e5e09888be645a4325419bb269c";
sha256 = "0maqhx5264ykgmwaf90s2806i1kx2028if34ph2axlirxrhdd3lg";
};
configureFlags = [
"--with-dbusconfdir=$(out)/etc/"
];
postUnpack = ''
ln -s ${ell} ell
'';
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ readline ];
meta = with stdenv.lib; {
homepage = https://git.kernel.org/pub/scm/network/wireless/iwd.git;
description = "Wireless daemon for Linux";
platforms = platforms.linux;
maintainers = [ maintainers.mic92 ];
};
}

@ -1,13 +1,13 @@
{ stdenv, fetchurl, perl, buildLinux, ... } @ args:
import ./generic.nix (args // rec {
version = "4.12-rc1";
modDirVersion = "4.12.0-rc1";
version = "4.12-rc2";
modDirVersion = "4.12.0-rc2";
extraMeta.branch = "4.12";
src = fetchurl {
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
sha256 = "13xyiqn7xv8ryqrfsx8b18qm1zj0qkfz92mdh611nqhhdlw7gcpk";
sha256 = "18p68ig9irblbxbg68jz766158bxr81824q91mnf372i5z9irj9w";
};
features.iwlwifi = true;

@ -15,8 +15,8 @@
src = fetchFromGitHub {
owner = "arut";
repo = "nginx-rtmp-module";
rev = "v1.1.9";
sha256 = "19vqw1ba01m2wlncpycw9vj5n8741pv36hd3dy9jjdxwlzdjzyi5";
rev = "v1.1.11";
sha256 = "09zrnf8lk179mpqnx92zm24xl7m3bq4ca84wc2zwi5hc8kxjbwxc";
};
};

@ -1,6 +1,6 @@
{ callPackage, ... } @ args:
callPackage ./generic.nix (args // {
version = "1.10.3";
sha256 = "146xd566l1wkhzxqhmd01vj7c0yhsap1qkiwfg5mki6ach9hy0km";
version = "1.12.0";
sha256 = "0c2vg6530qplwk8rhldww5r3cwcbw1avka53qg9sh85nzlk2w8ml";
})

@ -49,11 +49,11 @@ in
stdenv.mkDerivation rec {
name = "uwsgi-${version}";
version = "2.0.14";
version = "2.0.15";
src = fetchurl {
url = "http://projects.unbit.it/downloads/${name}.tar.gz";
sha256 = "11r829j4fyk7y068arqmwbc9dj6lc0n3l6bn6pr5z0vdjbpx3cr1";
sha256 = "1zvj28wp3c1hacpd4c6ra5ilwvvfq3l8y6gn8i7mnncpddlzjbjp";
};
nativeBuildInputs = [ python3 pkgconfig ];

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
name = "zsh-autosuggestions-${version}";
version = "0.3.3";
version = "0.4.0";
src = fetchFromGitHub {
repo = "zsh-autosuggestions";
owner = "zsh-users";
repo = "zsh-autosuggestions";
rev = "v${version}";
sha256 = "0mnwyz4byvckrslzqfng5c0cx8ka0y12zcy52kb7amg3l07jrls4";
sha256 = "0z6i9wjjklb4lvr7zjhbphibsyx51psv50gm07mbb0kj9058j6kc";
};
buildInputs = [ zsh ];

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "zsh-completions-${version}";
version = "0.18.0";
version = "0.25.0";
src = fetchFromGitHub {
owner = "zsh-users";
repo = "zsh-completions";
rev = "${version}";
sha256 = "0iwb1kaidjxaz66kbbdzbydbdlfc6dk21sflzar0zy25jgx1p4xs";
sha256 = "0hc56y0fvshzs05acbzxf4q37vqsk4q3zp4c7smh175v56wigy94";
};
installPhase= ''

@ -1,25 +1,21 @@
{ stdenv, fetchurl, zsh }:
{ stdenv, fetchFromGitHub, zsh }:
# To make use of this derivation, use the `programs.zsh.enableSyntaxHighlighting` option
let
pkgName = "zsh-syntax-highlighting";
version = "0.4.1";
in
stdenv.mkDerivation rec {
name = "${pkgName}-${version}";
src = fetchurl {
url = "https://github.com/zsh-users/${pkgName}/archive/${version}.tar.gz";
sha256 = "15sih7blqz11d8wdybx38d91vgcq9jg3q0205r26138si0g9q6wp";
version = "0.5.0";
name = "zsh-syntax-highlighting-${version}";
src = fetchFromGitHub {
owner = "zsh-users";
repo = "zsh-syntax-highlighting";
rev = version;
sha256 = "0k0m5aw67lhi4z143sdawx93y1892scvvdfdnjvljb4hf0vzs2ww";
};
buildInputs = [ zsh ];
installFlags="PREFIX=$(out)";
installFlags = "PREFIX=$(out)";
meta = with stdenv.lib; {
description = "Fish shell like syntax highlighting for Zsh";

@ -61,7 +61,7 @@ in rec {
allowedRequisites ? null}:
let
thisStdenv = import ../generic {
inherit system config shell extraBuildInputs allowedRequisites;
inherit config shell extraBuildInputs allowedRequisites;
name = "stdenv-darwin-boot-${toString step}";
@ -87,6 +87,10 @@ in rec {
${extraPreHook}
'';
initialPath = [ bootstrapTools ];
hostPlatform = localSystem;
targetPlatform = localSystem;
fetchurlBoot = import ../../build-support/fetchurl {
stdenv = stage0.stdenv;
curl = bootstrapTools;
@ -268,7 +272,7 @@ in rec {
};
stdenvDarwin = prevStage: let pkgs = prevStage; in import ../generic rec {
inherit system config;
inherit config;
inherit (pkgs.stdenv) fetchurlBoot;
name = "stdenv-darwin";
@ -280,6 +284,9 @@ in rec {
stdenvSandboxProfile = binShClosure + libSystemProfile;
extraSandboxProfile = binShClosure + libSystemProfile;
hostPlatform = localSystem;
targetPlatform = localSystem;
initialPath = import ../common-path.nix { inherit pkgs; };
shell = "${pkgs.bash}/bin/bash";

@ -35,8 +35,10 @@ let inherit (localSystem) system; in
stdenv = import ../generic {
name = "stdenv-freebsd-boot-1";
inherit system config;
inherit config;
initialPath = [ "/" "/usr" ];
hostPlatform = localSystem;
targetPlatform = localSystem;
shell = "${bootstrapTools}/bin/bash";
fetchurlBoot = null;
cc = null;
@ -50,9 +52,10 @@ let inherit (localSystem) system; in
stdenv = import ../generic {
name = "stdenv-freebsd-boot-0";
inherit system config;
inherit config;
initialPath = [ prevStage.bootstrapTools ];
inherit (prevStage.stdenv) shell;
inherit (prevStage.stdenv)
hostPlatform targetPlatform shell;
fetchurlBoot = prevStage.fetchurl;
cc = null;
};
@ -65,10 +68,10 @@ let inherit (localSystem) system; in
inherit config overlays;
stdenv = import ../generic {
name = "stdenv-freebsd-boot-3";
inherit system config;
inherit config;
inherit (prevStage.stdenv)
initialPath shell fetchurlBoot;
hostPlatform targetPlatform initialPath shell fetchurlBoot;
cc = import ../../build-support/cc-wrapper {
nativeTools = true;

@ -1,6 +1,6 @@
let lib = import ../../../lib; in lib.makeOverridable (
{ system, name ? "stdenv", preHook ? "", initialPath, cc, shell
{ name ? "stdenv", preHook ? "", initialPath, cc, shell
, allowedRequisites ? null, extraAttrs ? {}, overrides ? (self: super: {}), config
, # The `fetchurl' to use for downloading curl and its dependencies
@ -14,9 +14,18 @@ let lib = import ../../../lib; in lib.makeOverridable (
, __extraImpureHostDeps ? []
, stdenvSandboxProfile ? ""
, extraSandboxProfile ? ""
, # The platforms here do *not* correspond to the stage the stdenv is
# used in, but rather the previous one, in which it was built. We
# use the latter two platforms, like a cross compiler, because the
# stand environment is a build tool if you squint at it, and because
# neither of these are used when building stdenv so we know the
# build platform is irrelevant.
hostPlatform, targetPlatform
}:
let
inherit (targetPlatform) system;
# See discussion at https://github.com/NixOS/nixpkgs/pull/25304#issuecomment-298385426
# for why this defaults to false, but I (@copumpkin) want to default it to true soon.
@ -270,7 +279,7 @@ let
outputs' =
outputs ++
(if separateDebugInfo then assert result.isLinux; [ "debug" ] else []);
(if separateDebugInfo then assert targetPlatform.isLinux; [ "debug" ] else []);
buildInputs' = lib.chooseDevOutputs buildInputs ++
(if separateDebugInfo then [ ../../build-support/setup-hooks/separate-debug-info.sh ] else []);
@ -316,7 +325,7 @@ let
# Inputs built by the usual native compiler.
nativeBuildInputs = nativeBuildInputs'
++ lib.optional
(result.isCygwin
(hostPlatform.isCygwin
|| (crossConfig != null && lib.hasSuffix "mingw32" crossConfig))
../../build-support/setup-hooks/win-dll-link.sh
;
@ -397,54 +406,11 @@ let
};
# Utility flags to test the type of platform.
isDarwin = system == "x86_64-darwin";
isLinux = system == "i686-linux"
|| system == "x86_64-linux"
|| system == "powerpc-linux"
|| system == "armv5tel-linux"
|| system == "armv6l-linux"
|| system == "armv7l-linux"
|| system == "aarch64-linux"
|| system == "mips64el-linux";
isGNU = system == "i686-gnu"; # GNU/Hurd
isGlibc = isGNU # useful for `stdenvNative'
|| isLinux
|| system == "x86_64-kfreebsd-gnu";
isSunOS = system == "i686-solaris"
|| system == "x86_64-solaris";
isCygwin = system == "i686-cygwin"
|| system == "x86_64-cygwin";
isFreeBSD = system == "i686-freebsd"
|| system == "x86_64-freebsd";
isOpenBSD = system == "i686-openbsd"
|| system == "x86_64-openbsd";
isi686 = system == "i686-linux"
|| system == "i686-gnu"
|| system == "i686-freebsd"
|| system == "i686-openbsd"
|| system == "i686-cygwin"
|| system == "i386-sunos";
isx86_64 = system == "x86_64-linux"
|| system == "x86_64-darwin"
|| system == "x86_64-freebsd"
|| system == "x86_64-openbsd"
|| system == "x86_64-cygwin"
|| system == "x86_64-solaris";
is64bit = system == "x86_64-linux"
|| system == "x86_64-darwin"
|| system == "x86_64-freebsd"
|| system == "x86_64-openbsd"
|| system == "x86_64-cygwin"
|| system == "x86_64-solaris"
|| system == "aarch64-linux"
|| system == "mips64el-linux";
isMips = system == "mips-linux"
|| system == "mips64el-linux";
isArm = system == "armv5tel-linux"
|| system == "armv6l-linux"
|| system == "armv7l-linux";
isAarch64 = system == "aarch64-linux";
isBigEndian = system == "powerpc-linux";
inherit (hostPlatform)
isDarwin isLinux isSunOS isHurd isCygwin isFreeBSD isOpenBSD
isi686 isx86_64 is64bit isMips isBigEndian;
isArm = hostPlatform.isArm32;
isAarch64 = hostPlatform.isArm64;
# Whether we should run paxctl to pax-mark binaries.
needsPax = isLinux;

@ -52,7 +52,7 @@ let
let
thisStdenv = import ../generic {
inherit system config extraBuildInputs;
inherit config extraBuildInputs;
name = "stdenv-linux-boot";
preHook =
''
@ -64,6 +64,9 @@ let
shell = "${bootstrapTools}/bin/bash";
initialPath = [bootstrapTools];
hostPlatform = localSystem;
targetPlatform = localSystem;
fetchurlBoot = import ../../build-support/fetchurl/boot.nix {
inherit system;
};
@ -261,7 +264,7 @@ in
targetPlatform = localSystem;
inherit config overlays;
stdenv = import ../generic rec {
inherit system config;
inherit config;
preHook = ''
# Make "strip" produce deterministic output, by setting
@ -273,6 +276,9 @@ in
initialPath =
((import ../common-path.nix) {pkgs = prevStage;});
hostPlatform = localSystem;
targetPlatform = localSystem;
extraBuildInputs = [ prevStage.patchelf prevStage.paxctl ] ++
# Many tarballs come with obsolete config.sub/config.guess that don't recognize aarch64.
lib.optional (system == "aarch64-linux") prevStage.updateAutotoolsGnuConfigScriptsHook;

@ -81,6 +81,9 @@ let
{ cc, fetchurl, extraPath ? [], overrides ? (self: super: { }) }:
import ../generic {
hostPlatform = localSystem;
targetPlatform = localSystem;
preHook =
if system == "i686-freebsd" then prehookFreeBSD else
if system == "x86_64-freebsd" then prehookFreeBSD else

@ -24,11 +24,11 @@ bootStages ++ [
initialPath = (import ../common-path.nix) { pkgs = prevStage; };
system = stdenv.system;
inherit (prevStage.stdenv) hostPlatform targetPlatform;
cc = import ../../build-support/cc-wrapper {
nativeTools = false;
nativePrefix = stdenv.lib.optionalString stdenv.isSunOS "/usr";
nativePrefix = stdenv.lib.optionalString hostPlatform.isSunOS "/usr";
nativeLibc = true;
inherit stdenv;
inherit (prevStage) binutils coreutils gnugrep;

@ -1,7 +1,10 @@
{ stdenv, fetchurl, unzip }:
{ stdenv, fetchurl, unzip
, buildPlatform, hostPlatform
}:
let
s = # Generated upstream information
rec {
# Generated upstream information
s = rec {
baseName="zpaqd";
version="715";
name="${baseName}-${version}";
@ -9,15 +12,12 @@ let
url="http://mattmahoney.net/dc/zpaqd715.zip";
sha256="0868lynb45lm79yvx5f10lj5h6bfv0yck8whcls2j080vmk3n7rk";
};
isUnix = with stdenv; isLinux || isGNU || isDarwin || isFreeBSD || isOpenBSD;
isx86 = stdenv.isi686 || stdenv.isx86_64;
compileFlags = with stdenv; ""
+ (lib.optionalString (isUnix) " -Dunix -pthread")
+ (lib.optionalString (isi686) " -march=i686")
+ (lib.optionalString (isx86_64) " -march=nocona")
+ (lib.optionalString (!isx86) " -DNOJIT")
+ " -O3 -mtune=generic -DNDEBUG"
;
compileFlags = stdenv.lib.concatStringsSep " " ([ "-O3" "-mtune=generic" "-DNDEBUG" ]
++ stdenv.lib.optional (hostPlatform.isUnix) "-Dunix -pthread"
++ stdenv.lib.optional (hostPlatform.isi686) "-march=i686"
++ stdenv.lib.optional (hostPlatform.isx86_64) "-march=nocona"
++ stdenv.lib.optional (!hostPlatform.isx86) "-DNOJIT");
in
stdenv.mkDerivation {
inherit (s) name version;

@ -3,16 +3,58 @@
, python3
, gtk2, gtk3, atk, dconf, glib, json_glib
, dbus, libnotify, gobjectIntrospection, wayland
, nodePackages
}:
stdenv.mkDerivation rec {
let
emojiData = let
srcs = {
data = fetchurl {
url = "http://unicode.org/Public/emoji/5.0/emoji-data.txt";
sha256 = "0zfn3z61xy76yah3d24dd745qjssrib009m4nvqpnx4sf1r13i2x";
};
sequences = fetchurl {
url = "http://unicode.org/Public/emoji/5.0/emoji-sequences.txt";
sha256 = "0xzk7hi2a8macx9s5gj2pb36d38y8fa9001sj71g6kw25c2h94cn";
};
variation-sequences = fetchurl {
url = "http://unicode.org/Public/emoji/5.0/emoji-variation-sequences.txt";
sha256 = "1wlg4gbq7spmpppjfy5zdl82sj0hc836p8gljgfrjmwsjgybq286";
};
zwj-sequences = fetchurl {
url = "http://unicode.org/Public/emoji/5.0/emoji-zwj-sequences.txt";
sha256 = "0rrnk94mhm3k9vs74pvyvs4ir7f31f1libx7c196fmdqvp1qfafw";
};
test = fetchurl {
url = "http://unicode.org/Public/emoji/5.0/emoji-test.txt";
sha256 = "1dvxw5xp1xiy13c1p1c7l2xc9q8f8znk47kb7q8g7bbgbi21cq5m";
};
};
in stdenv.mkDerivation {
name = "emoji-data-5.0";
unpackPhase = ":";
dontBuild = true;
installPhase = with stdenv.lib; ''
mkdir $out
${builtins.toString (flip mapAttrsToList srcs (k: v: ''
cp ${v} $out/emoji-${k}.txt
''))}
'';
};
cldrEmojiAnnotation = stdenv.mkDerivation rec {
name = "cldr-emoji-annotation-${version}";
version = "31.0.1_1";
src = fetchurl {
url = "https://github.com/fujiwarat/cldr-emoji-annotation/releases/download/${version}/${name}.tar.gz";
sha256 = "1a3qzsab7vzjqpdialp1g8ppr21x05v0ph8ngyq9pyjkx4vzcdi7";
};
};
in stdenv.mkDerivation rec {
name = "ibus-${version}";
version = "1.5.14";
version = "1.5.16";
src = fetchurl {
url = "https://github.com/ibus/ibus/releases/download/${version}/${name}.tar.gz";
sha256 = "0g4x02d7j5w1lfn4zvmzsq93h17lajgn9d7hlvr6pws28vz40ax4";
sha256 = "07py16jb81kd7vkqhcia9cb2avsbg5jswp2kzf0k4bprwkxppd9n";
};
postPatch = ''
@ -30,7 +72,8 @@ stdenv.mkDerivation rec {
"--disable-memconf"
"--enable-ui"
"--enable-python-library"
"--with-emoji-json-file=${nodePackages.emojione}/lib/node_modules/emojione/emoji.json"
"--with-unicode-emoji-dir=${emojiData}"
"--with-emoji-annotation-dir=${cldrEmojiAnnotation}/share/unicode/cldr/common/annotations"
];
buildInputs = [

@ -1,12 +1,12 @@
{ stdenv, fetchurl, libiconv }:
stdenv.mkDerivation rec {
version = "3.0.9";
version = "3.13";
name = "aescrypt-${version}";
src = fetchurl {
url = "http://www.aescrypt.com/download/v3/linux/${name}.tgz";
sha256 = "3f3590f9b7e50039611ba9c0cf1cae1b188a44bd39cfc41553db7ec5709c0882";
sha256 = "1a1rs7xmbxh355qg3v02rln3gshvy3j6wkx4g9ir72l22mp6zkc7";
};
preBuild = ''

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "esptool-ck-${version}";
version = "0.4.11";
src = fetchFromGitHub {
owner = "igrr";
repo = "esptool-ck";
rev = "0.4.11";
sha256 = "086x68jza24xkaap8nici18kj78id2p2lzbasin98wilvpjc8d7f";
};
makeFlags = [ "VERSION=${version}" ];
installPhase = ''
mkdir -p $out/bin
cp esptool $out/bin
'';
meta = with stdenv.lib; {
description = "ESP8266/ESP32 build helper tool";
homepage = https://github.com/igrr/esptool-ck;
license = licenses.gpl2;
maintainers = [ maintainers.dezgeg ];
platforms = platforms.linux;
};
}

@ -0,0 +1,25 @@
{ stdenv, fetchFromGitHub, python3 }:
python3.pkgs.buildPythonApplication rec {
name = "esptool-${version}";
version = "1.3";
src = fetchFromGitHub {
owner = "espressif";
repo = "esptool";
rev = "v${version}";
sha256 = "0112fybkz4259gyvhcs18wa6938jp6w7clk66kpd0d1dg70lz1h6";
};
propagatedBuildInputs = with python3.pkgs; [ pyserial ];
doCheck = false; # FIXME: requires packaging some new deps
meta = with stdenv.lib; {
description = "ESP8266 and ESP32 serial bootloader utility";
homepage = https://github.com/espressif/esptool;
license = licenses.gpl2;
maintainers = [ maintainers.dezgeg ];
platforms = platforms.linux;
};
}

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "grc-${version}";
version = "1.11";
version = "1.11.1";
src = fetchFromGitHub {
owner = "garabik";
repo = "grc";
rev = "v${version}";
sha256 = "0slxkjg8xf5rg5pqgh4g2p1qxr5m9f6ds7zg7vh2xqzkmwqv18kp";
sha256 = "10h65qmv2cymixzfsckfcn6f01xsjzfq1x303rv01nibniwbq5z9";
};
buildInputs = with python3Packages; [ wrapPython makeWrapper ];

@ -13,7 +13,7 @@ in
stdenv.mkDerivation rec {
name = "tmux-${version}";
version = "2.3";
version = "2.5";
outputs = [ "out" "man" ];
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
owner = "tmux";
repo = "tmux";
rev = version;
sha256 = "14c6iw0p3adz7w8jm42w9f3s1zph9is10cbwdjgh5bvifrhxrary";
sha256 = "0h0c6rwp4bjifqx9wpx7y0bmayvrvvgh9211rdk4nsf81j17n6vx";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];

@ -14,11 +14,11 @@ with stdenv.lib;
buildPythonApplication rec {
name = "youtube-dl-${version}";
version = "2017.04.28";
version = "2017.05.23";
src = fetchurl {
url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
sha256 = "0d3mgf8qxb07b7bjf79ppaxhcl4f47q0zjpshp6y2q0lalfskh3j";
sha256 = "1na2ccja8p18i3ypf7vjrxlh653906746l966fwm06b5q6867iwd";
};
nativeBuildInputs = [ makeWrapper ];

@ -8,8 +8,8 @@
let
common = { name, suffix ? "", src, patchPhase ? "", fromGit ? false }: stdenv.mkDerivation rec {
inherit name src patchPhase;
common = { name, suffix ? "", src, fromGit ? false }: stdenv.mkDerivation rec {
inherit name src;
version = lib.getVersion name;
VERSION_SUFFIX = lib.optionalString fromGit suffix;
@ -134,15 +134,6 @@ in rec {
url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
sha256 = "0e943e277f37843f9196b0293cc31d828613ad7a328ee77cd5be01935dc6e7e1";
};
# Until 1.11.9 is released, we do this :)
patchPhase = ''
substituteInPlace src/libexpr/json-to-value.cc \
--replace 'std::less<Symbol>, gc_allocator<Value *>' \
'std::less<Symbol>, gc_allocator<std::pair<const Symbol, Value *> >'
sed -i '/if (settings.readOnlyMode) {/a curSchema = getSchema();' src/libstore/local-store.cc
'';
}) // { perl-bindings = nixStable; };
nixUnstable = (lib.lowPrio (common rec {

@ -1,10 +1,10 @@
{ callPackage, fetchurl }:
callPackage ./generic.nix (rec {
version = "2017-05-15";
version = "2017-05-22";
src = fetchurl {
# Sadly hydra doesn't offer download links
url = "https://static.domenkozar.com/nixops-tarball-1.5.1pre2165_b2fdc43.tar.bz2";
sha256 = "1x8jiskxynx0rzw356sz406bi2vl0vjs7747sbacq0bp1jlnpb2n";
url = "https://static.domenkozar.com/nixops-1.5.1pre2169_8f4a67c.tar.bz2";
sha256 = "0rma5npgkhlknmvm8z0ps54dsr07za1f32p6d6na3nis784h0slw";
};
})

@ -1,14 +1,15 @@
{ stdenv, fetchurl, flex, bison, libmhash, zlib, acl, attr, libselinux }:
{ stdenv, fetchurl, flex, bison, libmhash, zlib, acl, attr, libselinux, pcre }:
stdenv.mkDerivation rec {
name = "aide-${version}";
version = "0.16a2";
version = "0.16";
src = fetchurl {
url = "mirror://sourceforge/aide/devel/0.16a2/aide-${version}.tar.gz";
sha256 = "11qvp6l2x4ajq9485lmg722gfdikh8r2wqfw17m0jm68df0m295m";
url = "mirror://sourceforge/aide/${version}/aide-${version}.tar.gz";
sha256 = "0ibkv4z2gk14fn014kq13rp2ysiq6nn2cflv2q5i7zf466hm6758";
};
buildInputs = [ flex bison libmhash zlib acl attr libselinux ];
buildInputs = [ flex bison libmhash zlib acl attr libselinux pcre ];
configureFlags = [

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "sslscan-${version}";
version = "1.11.8";
version = "1.11.10";
src = fetchFromGitHub {
owner = "rbsec";
repo = "sslscan";
rev = "${version}-rbsec";
sha256 = "0vm9r0hmpb6ifix2biqbr7za1rld9yx8hi8vf7j69vcm647z7aas";
sha256 = "1bxr7p7nhg4b8wkcm7j2xk10gf370sqcvl06vbgnqd3azp55fhpf";
};
buildInputs = [ openssl ];

@ -2,10 +2,10 @@
stdenv.mkDerivation rec {
name = "aha-${version}";
version = "0.4.10.2";
version = "0.4.10.6";
src = fetchFromGitHub {
sha256 = "14n0py8dzlvirawb8brq143nq0sy9s2z6in5589krrya0frlrlkj";
sha256 = "18mz3f5aqw4vbdrxf8wblqm6nca73ppq9hb2z2ppw6k0557i71kz";
rev = version;
repo = "aha";
owner = "theZiz";

@ -0,0 +1,113 @@
diff -ruN cloud-init-0.7.6.orig/cloudinit/distros/__init__.py cloud-init-0.7.6/cloudinit/distros/__init__.py
--- cloud-init-0.7.6.orig/cloudinit/distros/__init__.py 2014-10-10 15:26:25.000000000 +0000
+++ cloud-init-0.7.6/cloudinit/distros/__init__.py 2016-06-08 07:51:45.230357099 +0000
@@ -43,6 +43,7 @@
'freebsd': ['freebsd'],
'suse': ['sles'],
'arch': ['arch'],
+ 'nixos': ['nixos'],
}
LOG = logging.getLogger(__name__)
diff -ruN cloud-init-0.7.6.orig/cloudinit/distros/nixos.py cloud-init-0.7.6/cloudinit/distros/nixos.py
--- cloud-init-0.7.6.orig/cloudinit/distros/nixos.py 1970-01-01 00:00:00.000000000 +0000
+++ cloud-init-0.7.6/cloudinit/distros/nixos.py 2016-06-08 07:50:58.602616595 +0000
@@ -0,0 +1,98 @@
+# vi: ts=4 expandtab
+#
+# Copyright (C) 2012 Canonical Ltd.
+# Copyright (C) 2012 Hewlett-Packard Development Company, L.P.
+# Copyright (C) 2012 Yahoo! Inc.
+#
+# Author: Scott Moser <scott.moser@canonical.com>
+# Author: Juerg Haefliger <juerg.haefliger@hp.com>
+# Author: Joshua Harlow <harlowja@yahoo-inc.com>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 3, as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+from cloudinit import distros
+from cloudinit import helpers
+from cloudinit import log as logging
+from cloudinit import util
+
+from cloudinit.distros.parsers.hostname import HostnameConf
+
+LOG = logging.getLogger(__name__)
+
+class Distro(distros.Distro):
+
+ def __init__(self, name, cfg, paths):
+ distros.Distro.__init__(self, name, cfg, paths)
+ # This will be used to restrict certain
+ # calls from repeatly happening (when they
+ # should only happen say once per instance...)
+ self._runner = helpers.Runners(paths)
+ self.osfamily = 'nixos'
+
+ def _select_hostname(self, hostname, fqdn):
+ # Prefer the short hostname over the long
+ # fully qualified domain name
+ if not hostname:
+ return fqdn
+ return hostname
+
+ def _write_hostname(self, your_hostname, out_fn):
+ conf = None
+ try:
+ # Try to update the previous one
+ # so lets see if we can read it first.
+ conf = self._read_hostname_conf(out_fn)
+ except IOError:
+ pass
+ if not conf:
+ conf = HostnameConf('')
+ conf.set_hostname(your_hostname)
+ util.write_file(out_fn, str(conf), 0644)
+
+ def _read_system_hostname(self):
+ sys_hostname = self._read_hostname(self.hostname_conf_fn)
+ return (self.hostname_conf_fn, sys_hostname)
+
+ def _read_hostname_conf(self, filename):
+ conf = HostnameConf(util.load_file(filename))
+ conf.parse()
+ return conf
+
+ def _read_hostname(self, filename, default=None):
+ hostname = None
+ try:
+ conf = self._read_hostname_conf(filename)
+ hostname = conf.hostname
+ except IOError:
+ pass
+ if not hostname:
+ return default
+ return hostname
+
+ def _write_network(self, settings):
+ raise NotImplementedError()
+
+ def apply_locale(self, locale, out_fn=None):
+ raise NotImplementedError()
+
+ def install_packages(self, pkglist):
+ raise NotImplementedError()
+
+ def package_command(self, command, args=None, pkgs=None):
+ raise NotImplementedError()
+
+ def set_timezone(self, tz):
+ raise NotImplementedError()
+
+ def update_package_sources(self):
+ raise NotImplementedError()

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save