diff options
19 files changed, 62 insertions, 46 deletions
diff --git a/pkgs/applications/audio/sisco.lv2/default.nix b/pkgs/applications/audio/sisco.lv2/default.nix index d429d545234..8ac7a9115ca 100644 --- a/pkgs/applications/audio/sisco.lv2/default.nix +++ b/pkgs/applications/audio/sisco.lv2/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { inherit name; srcs = [ src robtkSrc ]; - sourceRoot = "sisco.lv2-${src.rev}-src"; + sourceRoot = src.name; buildInputs = [ pkgconfig lv2 pango cairo libjack2 mesa ]; diff --git a/pkgs/build-support/fetchgit/default.nix b/pkgs/build-support/fetchgit/default.nix index 8e060b87ebd..57afb1c4ab8 100644 --- a/pkgs/build-support/fetchgit/default.nix +++ b/pkgs/build-support/fetchgit/default.nix @@ -1,21 +1,9 @@ -{stdenv, git, cacert}: let - urlToName = url: rev: let - inherit (stdenv.lib) removeSuffix splitString last; - base = last (splitString ":" (baseNameOf (removeSuffix "/" url))); +{stdenv, git, cacert, gitRepoToName}: - matched = builtins.match "(.*).git" base; - - short = builtins.substring 0 7 rev; - - appendShort = if (builtins.match "[a-f0-9]*" rev) != null - then "-${short}" - else ""; - in "${if matched == null then base else builtins.head matched}${appendShort}"; -in { url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? deepClone , fetchSubmodules ? true, deepClone ? false , branchName ? null -, name ? urlToName url rev +, name ? gitRepoToName url rev , # Shell code executed after the file has been fetched # successfully. This can do things like check or transform the file. postFetch ? "" diff --git a/pkgs/build-support/fetchgit/gitrepotoname.nix b/pkgs/build-support/fetchgit/gitrepotoname.nix new file mode 100644 index 00000000000..9f4392c387f --- /dev/null +++ b/pkgs/build-support/fetchgit/gitrepotoname.nix @@ -0,0 +1,14 @@ +{ lib }: + +urlOrRepo: rev: let + inherit (lib) removeSuffix splitString last; + base = last (splitString ":" (baseNameOf (removeSuffix "/" urlOrRepo))); + + matched = builtins.match "(.*).git" base; + + short = builtins.substring 0 7 rev; + + appendShort = if (builtins.match "[a-f0-9]*" rev) != null + then "-${short}" + else ""; +in "${if matched == null then base else builtins.head matched}${appendShort}" \ No newline at end of file diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git index fa66a1f5540..a180509a326 100755 --- a/pkgs/build-support/fetchgit/nix-prefetch-git +++ b/pkgs/build-support/fetchgit/nix-prefetch-git @@ -283,8 +283,8 @@ _clone_user_rev() { if test -z "$(echo "$rev" | tr -d 0123456789abcdef)"; then clone "$dir" "$url" "$rev" "" 1>&2 else - echo 1>&2 "Bad commit hash or bad reference." - exit 1 + # if revision is not hexadecimal it might be a tag + clone "$dir" "$url" "" "refs/tags/$rev" 1>&2 fi;; esac diff --git a/pkgs/development/compilers/llvm/4/clang/default.nix b/pkgs/development/compilers/llvm/4/clang/default.nix index 276db7a7b41..8d40ee3c8aa 100644 --- a/pkgs/development/compilers/llvm/4/clang/default.nix +++ b/pkgs/development/compilers/llvm/4/clang/default.nix @@ -9,7 +9,7 @@ let name = "clang-${version}"; unpackPhase = '' - unpackFile ${fetch "cfe" "12n99m60aa680cir3ql56s1jsv6lp61hq4w9rabf4c6vpn7gi9ff"} + unpackFile ${fetch "cfe" "16vnv3msnvx33dydd17k2cq0icndi1a06bg5vcxkrhjjb1rqlwv1"} mv cfe-${version}* clang sourceRoot=$PWD/clang unpackFile ${clang-tools-extra_src} diff --git a/pkgs/development/compilers/llvm/4/default.nix b/pkgs/development/compilers/llvm/4/default.nix index 20e9d8d4d97..8fee3f4a87c 100644 --- a/pkgs/development/compilers/llvm/4/default.nix +++ b/pkgs/development/compilers/llvm/4/default.nix @@ -2,7 +2,7 @@ let callPackage = newScope (self // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; }); - release_version = "4.0.0"; + release_version = "4.0.1"; version = release_version; # differentiating these is important for rc's fetch = name: sha256: fetchurl { @@ -10,8 +10,8 @@ let inherit sha256; }; - compiler-rt_src = fetch "compiler-rt" "059ipqq27gd928ay06f1ck3vw6y5h5z4zd766x8k0k7jpqimpwnk"; - clang-tools-extra_src = fetch "clang-tools-extra" "16bwckgcxfn56mbqjlxi7fxja0zm9hjfa6s3ncm3dz98n5zd7ds1"; + compiler-rt_src = fetch "compiler-rt" "0h5lpv1z554szi4r4blbskhwrkd78ir50v3ng8xvk1s86fa7gj53"; + clang-tools-extra_src = fetch "clang-tools-extra" "1dhmp7ccfpr42bmvk3kp37ngjpf3a9m5d4kkpsn7d00hzi7fdl9m"; # Add man output without introducing extra dependencies. overrideManOutput = drv: diff --git a/pkgs/development/compilers/llvm/4/libc++/default.nix b/pkgs/development/compilers/llvm/4/libc++/default.nix index a43826d7a31..b74d2fb89dc 100644 --- a/pkgs/development/compilers/llvm/4/libc++/default.nix +++ b/pkgs/development/compilers/llvm/4/libc++/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { name = "libc++-${version}"; - src = fetch "libcxx" "15ngfcjc3pjakpwfq7d4n546jj0rgfdv5rpb1qv9xgv9mp236kag"; + src = fetch "libcxx" "0k6cmjcxnp2pyl8xwy1wkyyckkmdrjddim94yf1gzjbjy9qi22jj"; postUnpack = '' unpackFile ${libcxxabi.src} diff --git a/pkgs/development/compilers/llvm/4/libc++abi.nix b/pkgs/development/compilers/llvm/4/libc++abi.nix index 3a0e996fb9a..6a3d9110136 100644 --- a/pkgs/development/compilers/llvm/4/libc++abi.nix +++ b/pkgs/development/compilers/llvm/4/libc++abi.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation { name = "libc++abi-${version}"; - src = fetch "libcxxabi" "1n416kv27anabg9jsw6331r28ic30xk46p381lx2vbb2jrhwpafw"; + src = fetch "libcxxabi" "0cqvzallxh0nwiijsf6i4d5ds9m5ijfzywg7376ncv50i64if24g"; nativeBuildInputs = [ cmake ]; buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind; diff --git a/pkgs/development/compilers/llvm/4/lld.nix b/pkgs/development/compilers/llvm/4/lld.nix index f9cd72b4200..776109ee74d 100644 --- a/pkgs/development/compilers/llvm/4/lld.nix +++ b/pkgs/development/compilers/llvm/4/lld.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { name = "lld-${version}"; - src = fetch "lld" "00km1qawk146pyjqa6aphcdzgkzrmg6cgk0ikg4661ffp5bn9q1k"; + src = fetch "lld" "1v9nkpr158j4yd4zmi6rpnfxkp78r1fapr8wji9s6v176gji1kk3"; nativeBuildInputs = [ cmake ]; buildInputs = [ llvm ]; diff --git a/pkgs/development/compilers/llvm/4/lldb.nix b/pkgs/development/compilers/llvm/4/lldb.nix index a3c46a4c7e9..7d33179913b 100644 --- a/pkgs/development/compilers/llvm/4/lldb.nix +++ b/pkgs/development/compilers/llvm/4/lldb.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation { name = "lldb-${version}"; - src = fetch "lldb" "0g83hbw1r4gd0z8hlph9i34xs6dlcc69vz3h2bqwkhb2qq2qzg9d"; + src = fetch "lldb" "0yy43a27zx3r51b6gkv3v2mdiqcq3mf0ngki47ya0i30v3gx4cl4"; patches = [ ./lldb-libedit.patch ]; postPatch = '' diff --git a/pkgs/development/compilers/llvm/4/llvm.nix b/pkgs/development/compilers/llvm/4/llvm.nix index c5d22825f30..da40a42d985 100644 --- a/pkgs/development/compilers/llvm/4/llvm.nix +++ b/pkgs/development/compilers/llvm/4/llvm.nix @@ -22,7 +22,7 @@ }: let - src = fetch "llvm" "1giklnw71wzsgbqg9wb5x7dxnbj39m6zpfvskvzvhwvfz4fm244d"; + src = fetch "llvm" "0l9bf7kdwhlj0kq1hawpyxhna1062z3h7qcz2y8nfl9dz2qksy6s"; shlib = if stdenv.isDarwin then "dylib" else "so"; # Used when creating a version-suffixed symlink of libLLVM.dylib @@ -64,13 +64,6 @@ in stdenv.mkDerivation rec { + stdenv.lib.optionalString (enableSharedLibraries) '' substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib patch -p1 < ./llvm-outputs.patch - '' - # Remove broken tests: (https://bugs.llvm.org//show_bug.cgi?id=31610) - + '' - rm test/CodeGen/AMDGPU/invalid-opencl-version-metadata1.ll - rm test/CodeGen/AMDGPU/invalid-opencl-version-metadata2.ll - rm test/CodeGen/AMDGPU/invalid-opencl-version-metadata3.ll - rm test/CodeGen/AMDGPU/runtime-metadata.ll ''; # hacky fix: created binaries need to be run before installation diff --git a/pkgs/development/compilers/llvm/4/openmp.nix b/pkgs/development/compilers/llvm/4/openmp.nix index 197e9a78465..0bdf5c71e1f 100644 --- a/pkgs/development/compilers/llvm/4/openmp.nix +++ b/pkgs/development/compilers/llvm/4/openmp.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { name = "openmp-${version}"; - src = fetch "openmp" "09kf41zgv551fnv628kqhlwgqkd2bkiwii9gqi6q12djgdddhmfv"; + src = fetch "openmp" "195dykamd39yhi5az7nqj3ksqhb3wq30l93jnfkxl0061qbknsgc"; nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index a552b2719bb..f3d4ae4bb00 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -59,7 +59,7 @@ let srcs = [ rubySrc rubygemsSrc ]; sourceRoot = if useRailsExpress then - "ruby-${tag}-src" + rubySrc.name else unpackdir rubySrc; diff --git a/pkgs/development/libraries/gnutls/3.5.nix b/pkgs/development/libraries/gnutls/3.5.nix index e47537c64a9..62ff2547569 100644 --- a/pkgs/development/libraries/gnutls/3.5.nix +++ b/pkgs/development/libraries/gnutls/3.5.nix @@ -1,11 +1,11 @@ { callPackage, fetchurl, ... } @ args: callPackage ./generic.nix (args // rec { - version = "3.5.13"; + version = "3.5.14"; src = fetchurl { url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/gnutls-${version}.tar.xz"; - sha256 = "15ihq6p0hnnhs8cnjrkj40dmlcaa1jjg8xg0g2ydbnlqs454ixbr"; + sha256 = "1nhv0mf3apz65ljh335l8xds7wpn08ywljkrvws08apljbn2v8aa"; }; # Skip two tests introduced in 3.5.11. Probable reasons of failure: diff --git a/pkgs/servers/mail/postfix/pfixtools.nix b/pkgs/servers/mail/postfix/pfixtools.nix index 1bbe6f3466b..6a0d7fb588f 100644 --- a/pkgs/servers/mail/postfix/pfixtools.nix +++ b/pkgs/servers/mail/postfix/pfixtools.nix @@ -10,7 +10,7 @@ let sha256 = "1vmbrw686f41n6xfjphfshn96vl07ynvnsyjdw9yfn9bfnldcjcq"; }; - srcRoot = "pfixtools-${pfixtoolsSrc.rev}-src"; + srcRoot = pfixtoolsSrc.name; libCommonSrc = fetchFromGitHub { owner = "Fruneau"; diff --git a/pkgs/tools/networking/email/default.nix b/pkgs/tools/networking/email/default.nix index 017da63a1e9..c7a6fbcfd7c 100644 --- a/pkgs/tools/networking/email/default.nix +++ b/pkgs/tools/networking/email/default.nix @@ -8,7 +8,7 @@ let sha256 = "1cxxzhm36civ6vjdgrk7mfmlzkih44kdii6l2xgy4r434s8rzcpn"; }; - srcRoot = "eMail-${eMailSrc.rev}-src"; + srcRoot = eMailSrc.name; dlibSrc = fetchFromGitHub { owner = "deanproxy"; diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix index aa9ece8955b..fc6b1abf24d 100644 --- a/pkgs/tools/text/groff/default.nix +++ b/pkgs/tools/text/groff/default.nix @@ -57,8 +57,11 @@ stdenv.mkDerivation rec { # Remove example output with (random?) colors and creation date # to avoid non-determinism in the output. postInstall = '' - rm $doc/share/doc/groff/examples/hdtbl/*color*ps - find $doc/share/doc/groff/ -type f -print0 | xargs -0 sed -i -e 's/%%CreationDate: .*//' + rm "$doc"/share/doc/groff/examples/hdtbl/*color*ps + find "$doc"/share/doc/groff/ -type f -print0 | xargs -0 sed -i -e 's/%%CreationDate: .*//' + for f in 'man.local' 'mdoc.local'; do + cat '${./site.tmac}' >>"$out/share/groff/site-tmac/$f" + done ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/text/groff/site.tmac b/pkgs/tools/text/groff/site.tmac new file mode 100644 index 00000000000..8ef1040ca4a --- /dev/null +++ b/pkgs/tools/text/groff/site.tmac @@ -0,0 +1,16 @@ +. +.if n \{\ +. \" Character translations for non-keyboard +. \" characters - to make them searchable +. if '\*[.T]'utf8' \{\ +. char \- \N'45' +. char - \N'45' +. char ' \N'39' +. char \' \N'39' +. \} +. +. \" Shut off SGR by default (groff colors) +. \" Require GROFF_SGR envvar defined to turn it on +. if '\V[GROFF_SGR]'' \ +. output x X tty: sgr 0 +.\} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 209520097f0..8c10870b64a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -185,8 +185,10 @@ with pkgs; fetchzip = callPackage ../build-support/fetchzip { }; + gitRepoToName = callPackage ../build-support/fetchgit/gitrepotoname.nix { }; + fetchFromGitHub = { - owner, repo, rev, name ? "${repo}-${rev}-src", + owner, repo, rev, name ? gitRepoToName repo rev, fetchSubmodules ? false, private ? false, githubBase ? "github.com", varPrefix ? null, ... # For hash agility @@ -223,7 +225,7 @@ with pkgs; } // passthruAttrs) // { inherit rev; }; fetchFromBitbucket = { - owner, repo, rev, name ? "${repo}-${rev}-src", + owner, repo, rev, name ? gitRepoToName repo rev, ... # For hash agility }@args: fetchzip ({ inherit name; @@ -234,7 +236,7 @@ with pkgs; # cgit example, snapshot support is optional in cgit fetchFromSavannah = { - repo, rev, name ? "${repo}-${rev}-src", + repo, rev, name ? gitRepoToName repo rev, ... # For hash agility }@args: fetchzip ({ inherit name; @@ -244,7 +246,7 @@ with pkgs; # gitlab example fetchFromGitLab = { - owner, repo, rev, name ? "${repo}-${rev}-src", + owner, repo, rev, name ? gitRepoToName repo rev, ... # For hash agility }@args: fetchzip ({ inherit name; @@ -254,7 +256,7 @@ with pkgs; # gitweb example, snapshot support is optional in gitweb fetchFromRepoOrCz = { - repo, rev, name ? "${repo}-${rev}-src", + repo, rev, name ? gitRepoToName repo rev, ... # For hash agility }@args: fetchzip ({ inherit name; |