diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix index 649dad0bb57f..4d3474a1db21 100644 --- a/pkgs/applications/video/kodi/default.nix +++ b/pkgs/applications/video/kodi/default.nix @@ -54,17 +54,16 @@ let }; in stdenv.mkDerivation rec { name = "kodi-${version}"; - version = "17.1"; + version = "17.2"; src = fetchurl { url = "https://github.com/xbmc/xbmc/archive/${version}-${rel}.tar.gz"; - sha256 = "1vmvrq0qdjnphw34yils2b5jnm05cmsg777hc4lwqz5mrc1kjgrh"; + sha256 = "1zmgw65dbdpv72xfimrh02m8sdg4cb9i3hbmqzgs8x00b9n27ndf"; }; buildInputs = [ - makeWrapper libxml2 gnutls - pkgconfig cmake gnumake yasm python2 - boost libmicrohttpd autoreconfHook + libxml2 gnutls yasm python2 + boost libmicrohttpd gettext pcre-cpp yajl fribidi libva openssl gperf tinyxml2 taglib libssh swig jre libX11 xproto inputproto which @@ -91,6 +90,9 @@ in stdenv.mkDerivation rec { ++ lib.optional rtmpSupport rtmpdump ++ lib.optional joystickSupport SDL2; + nativeBuildInputs = [ + autoreconfHook cmake gnumake makeWrapper pkgconfig + ]; dontUseCmakeConfigure = true; diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index c52d14390125..48e5af7162d0 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -20,19 +20,13 @@ assert (!withQt5 -> qt4 != null); stdenv.mkDerivation rec { name = "vlc-${version}"; - version = "2.2.4"; + version = "2.2.5.1"; src = fetchurl { url = "http://get.videolan.org/vlc/${version}/${name}.tar.xz"; - sha256 = "1gjkrwlg8ab3skzl67cxb9qzg4187ifckd1z9kpy11q058fyjchn"; + sha256 = "1k51vm6piqlrnld7sxyg0s4kdkd3lan97lmy3v5wdh3qyll8m2xj"; }; - patches = optional withQt5 (fetchurl { - name = "Fix-build-using-old-GCC-intrinsics.patch"; - url = "https://patches.videolan.org/patch/14061/raw/"; - sha256 = "16v4k7378a590diz11bdvdaqi9cpf6333hp5wr6v5sfrsma8qvpx"; - }); - # Comment-out the Qt 5.5 version check, as we do apply the relevant patch. # https://trac.videolan.org/vlc/ticket/16497 postPatch = if (!withQt5) then null else diff --git a/pkgs/applications/virtualization/lkl/default.nix b/pkgs/applications/virtualization/lkl/default.nix index 134df59159b4..e40d054520f7 100644 --- a/pkgs/applications/virtualization/lkl/default.nix +++ b/pkgs/applications/virtualization/lkl/default.nix @@ -1,31 +1,35 @@ { stdenv, fetchFromGitHub, bc, python, fuse, libarchive }: stdenv.mkDerivation rec { - name = "lkl-${stdenv.lib.substring 0 7 rev}"; - rev = "d74707304d4e4614081ae2a612a833aeb46622b5"; + name = "lkl-2017-03-24"; + rev = "a063e1631db5e2b9b04f184c5e6d185c1cd645cb"; - buildInputs = [ bc python fuse libarchive ]; + outputs = [ "dev" "lib" "out" ]; + + nativeBuildInputs = [ bc python ]; + + buildInputs = [ fuse libarchive ]; src = fetchFromGitHub { inherit rev; owner = "lkl"; repo = "linux"; - sha256 = "0x1hdjsrj6hfk1sgfw11ihm00fmp6g158sr2q3cgjy2b6jnsr4hp"; + sha256 = "07dmira76i0ki577sra4fdl1wvzfzxzd75252lza0sc6jdzrrwvj"; }; # Fix a /usr/bin/env reference in here that breaks sandboxed builds prePatch = "patchShebangs arch/lkl/scripts"; installPhase = '' - mkdir -p $out/{bin,lib} + mkdir -p $out/bin $lib/lib $dev - # This tool assumes a different directory structure so let's point it at the right location cp tools/lkl/bin/lkl-hijack.sh $out/bin - substituteInPlace $out/bin/lkl-hijack.sh --replace '/../' '/../lib' + sed -i $out/bin/lkl-hijack.sh \ + -e "s,LD_LIBRARY_PATH=.*,LD_LIBRARY_PATH=$lib/lib," cp tools/lkl/{cptofs,cpfromfs,fs2tar,lklfuse} $out/bin - cp -r tools/lkl/include $out - cp tools/lkl/liblkl*.{a,so} $out/lib + cp -r tools/lkl/include $dev/ + cp tools/lkl/liblkl*.{a,so} $lib/lib ''; # We turn off format and fortify because of these errors (fortify implies -O2, which breaks the jitter entropy code): @@ -38,7 +42,13 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with stdenv.lib; { - description = "LKL (Linux Kernel Library) aims to allow reusing the Linux kernel code as extensively as possible with minimal effort and reduced maintenance overhead"; + description = "The Linux kernel as a library"; + longDescription = '' + LKL (Linux Kernel Library) aims to allow reusing the Linux kernel code as + extensively as possible with minimal effort and reduced maintenance + overhead + ''; + homepage = https://github.com/lkl/linux/; platforms = [ "x86_64-linux" ]; # Darwin probably works too but I haven't tested it license = licenses.gpl2; maintainers = with maintainers; [ copumpkin ]; diff --git a/pkgs/development/compilers/go/1.7.nix b/pkgs/development/compilers/go/1.7.nix index 7ecae36a4d5a..d7a824239b84 100644 --- a/pkgs/development/compilers/go/1.7.nix +++ b/pkgs/development/compilers/go/1.7.nix @@ -24,13 +24,13 @@ in stdenv.mkDerivation rec { name = "go-${version}"; - version = "1.7.5"; + version = "1.7.6"; src = fetchFromGitHub { owner = "golang"; repo = "go"; rev = "go${version}"; - sha256 = "00radlwbrssn0x3naamb33cfx7ap2jv7s51bqr705nmn2j5yyblk"; + sha256 = "1gacjwbs1qbx8x84746qdxx2xwylirvd31ybgagfglfsl77vi4m2"; }; # perl is used for testing go vet diff --git a/pkgs/development/compilers/go/1.8.nix b/pkgs/development/compilers/go/1.8.nix index 24a40ca0ba0c..99744d76cd03 100644 --- a/pkgs/development/compilers/go/1.8.nix +++ b/pkgs/development/compilers/go/1.8.nix @@ -25,13 +25,13 @@ in stdenv.mkDerivation rec { name = "go-${version}"; - version = "1.8.1"; + version = "1.8.2"; src = fetchFromGitHub { owner = "golang"; repo = "go"; rev = "go${version}"; - sha256 = "1157mmzjpk887cpcpn2qy9c69anc22c4p3cjpl84zl7an41x660j"; + sha256 = "0haazh0sk1zys1gbmbi128rmcyrd6f32amp6a872jqhadjlvj9qv"; }; # perl is used for testing go vet diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix index 848cae09ed47..47be28f51302 100644 --- a/pkgs/development/libraries/ffmpeg-full/default.nix +++ b/pkgs/development/libraries/ffmpeg-full/default.nix @@ -234,7 +234,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz"; - sha256 = "0bwgm6z6k3khb91qh9xv15inykkfchpkm0lcdckkxhkacpyaf0mp"; + sha256 = "0c37bdqwmaziikr2d5pqp7504ail6i7a1mfcmc06mdpwfxxwvcpw"; }; patchPhase = ''patchShebangs . diff --git a/pkgs/development/libraries/ffmpeg/3.3.nix b/pkgs/development/libraries/ffmpeg/3.3.nix index 0227d7489ba9..d6380b795af8 100644 --- a/pkgs/development/libraries/ffmpeg/3.3.nix +++ b/pkgs/development/libraries/ffmpeg/3.3.nix @@ -7,6 +7,6 @@ callPackage ./generic.nix (args // rec { version = "${branch}"; branch = "3.3.1"; - sha256 = "0bwgm6z6k3khb91qh9xv15inykkfchpkm0lcdckkxhkacpyaf0mp"; + sha256 = "0c37bdqwmaziikr2d5pqp7504ail6i7a1mfcmc06mdpwfxxwvcpw"; darwinFrameworks = [ Cocoa CoreMedia ]; }) diff --git a/pkgs/development/python-modules/feedgenerator/default.nix b/pkgs/development/python-modules/feedgenerator/default.nix new file mode 100644 index 000000000000..4a10b088d987 --- /dev/null +++ b/pkgs/development/python-modules/feedgenerator/default.nix @@ -0,0 +1,22 @@ +{ stdenv, buildPythonPackage, glibcLocales, fetchurl, six, pytz }: + +buildPythonPackage rec { + name = "feedgenerator-1.9"; + + src = fetchurl { + url = "mirror://pypi/f/feedgenerator/${name}.tar.gz"; + sha256 = "01mirwkm7xfx539hmvj7g9da1j51gw5lsx74dr0glizskjm5vq2s"; + }; + + buildInputs = [ glibcLocales ]; + + LC_ALL="en_US.UTF-8"; + + propagatedBuildInputs = [ six pytz ]; + + meta = with stdenv.lib; { + description = "Standalone version of django.utils.feedgenerator, compatible with Py3k"; + homepage = https://github.com/dmdm/feedgenerator-py3k.git; + maintainers = with maintainers; [ garbas ]; + }; +} diff --git a/pkgs/development/tools/build-managers/pants/default.nix b/pkgs/development/tools/build-managers/pants/default.nix index 624e273cc905..66d99c7fd938 100644 --- a/pkgs/development/tools/build-managers/pants/default.nix +++ b/pkgs/development/tools/build-managers/pants/default.nix @@ -1,4 +1,4 @@ -{ stdenv, pythonPackages }: +{ stdenv, pythonPackages, runCommand, curl }: with stdenv.lib; with pythonPackages; @@ -22,6 +22,38 @@ let maintainers = with maintainers; [ copumpkin ]; }; }; + + pants13-version = "1.3.0rc2"; + + # TODO: compile the rust native engine ourselves so we don't need to do this shit. We don't use + # fetchurl because we don't know the URL ahead of time, even though it's deterministic. So we have + # this downloader figure out the URL on the fly and then produce the deterministic result, so we + # can still be a fixed-output derivation. + pants13-native-engine-prefix = { + "x86_64-darwin" = "mac/10.11"; + "x86_64-linux" = "linux/x86_64"; + "i686-linux" = "linux/i386"; + }.${stdenv.system} or (throw "Unsupported system ${stdenv.system}!"); + + pants13-native-engine = runCommand "pants-native-${pants13-version}" { + buildInputs = [ curl ]; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = "0n8z7rg0yfpxplvcw88lwv733zkhbzhc4w4zd4aznbcmfqdiz5br"; + } '' + native_version=$(curl -k -L https://raw.githubusercontent.com/pantsbuild/pants/release_${pants13-version}/src/python/pants/engine/subsystem/native_engine_version) + curl -kLO "https://dl.bintray.com/pantsbuild/bin/build-support/bin/native-engine/${pants13-native-engine-prefix}/$native_version/native_engine.so" + + # Ugh it tries to "download" from this prefix so let's just replicate their directory structure for now... + mkdir -p $out/bin/native-engine/${pants13-native-engine-prefix}/$native_version/ + + # These should behave the same way in Nix land and we try not to differentiate between OS revisions... + mkdir -p $out/bin/native-engine/mac/ + ln -s 10.11 $out/bin/native-engine/mac/10.10 + ln -s 10.11 $out/bin/native-engine/mac/10.12 + + cp native_engine.so $out/bin/native-engine/${pants13-native-engine-prefix}/$native_version/ + ''; in { pants = pythonPackages.buildPythonPackage rec { @@ -61,7 +93,7 @@ in { pants13-pre = buildPythonApplication rec { pname = "pantsbuild.pants"; - version = "1.3.0rc2"; + version = pants13-version; name = "${pname}-${version}"; src = fetchPypi { @@ -71,6 +103,9 @@ in { prePatch = '' sed -E -i "s/'([[:alnum:].-]+)[=><][[:digit:]=><.,]*'/'\\1'/g" setup.py + + substituteInPlace src/pants/option/global_options.py \ + --replace "'/etc/pantsrc'" "'$out/etc/pantsrc', '/etc/pantsrc'" ''; # Unnecessary, and causes some really weird behavior around .class files, which @@ -84,6 +119,17 @@ in { fasteners coverage pywatchman futures cffi ]; + # Teach pants about where its native engine lives. + # TODO: there's probably a better way to teach it this without having it "download" + # from a local file: URL to its cache, but I don't know how and this seems to work. + postFixup = '' + mkdir -p $out/etc + cat >$out/etc/pantsrc <