diff options
Diffstat (limited to 'pkgs/development/tools')
21 files changed, 286 insertions, 101 deletions
diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix index 049ea51b8f9..04916b1ef75 100644 --- a/pkgs/development/tools/ammonite/default.nix +++ b/pkgs/development/tools/ammonite/default.nix @@ -1,12 +1,13 @@ { stdenv, lib, fetchurl, makeWrapper, jre }: stdenv.mkDerivation rec { - name = "ammonite-repl-${version}"; - version = "0.8.2"; + name = "ammonite-${version}"; + version = "0.8.4"; + scalaVersion = "2.12"; src = fetchurl { - url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/2.12-${version}"; - sha256 = "0fgwqdvk0nljd6xm16r8qdhjcp7ix4vx91w5ab856hllf4911120"; + url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}"; + sha256 = "04kni08yd53w8dhkkgbydzkka4cnp31l2d8g23iinkn10ckmz5jm"; }; propagatedBuildInputs = [ jre ] ; diff --git a/pkgs/development/tools/backblaze-b2/default.nix b/pkgs/development/tools/backblaze-b2/default.nix index 045272e19d3..850affb0610 100644 --- a/pkgs/development/tools/backblaze-b2/default.nix +++ b/pkgs/development/tools/backblaze-b2/default.nix @@ -11,7 +11,7 @@ pythonPackages.buildPythonApplication rec { sha256 = "1gl1z7zg3s1xgx45i6b1bvx9iwviiiinl4my00h66qkhrw7ag8p1"; }; - propagatedBuildInputs = with pythonPackages; [ futures requests2 six tqdm4 ]; + propagatedBuildInputs = with pythonPackages; [ futures requests2 six tqdm ]; checkPhase = '' python test_b2_command_line.py test diff --git a/pkgs/development/tools/boomerang/default.nix b/pkgs/development/tools/boomerang/default.nix index cfd8c03af6d..1e84a05cc85 100644 --- a/pkgs/development/tools/boomerang/default.nix +++ b/pkgs/development/tools/boomerang/default.nix @@ -1,43 +1,31 @@ -{ stdenv, fetchgit, cmake, expat }: +{ stdenv, fetchgit, cmake, expat, qt5, boost }: stdenv.mkDerivation rec { name = "boomerang-${version}"; - version = "0.3.2alpha"; + version = "0.3.99-alpha-2016-11-02"; src = fetchgit { url = "https://github.com/nemerle/boomerang.git"; - rev = "78c6b9dd33790be43dcb07edc549161398904006"; - sha256 = "1n49wx2v9r40mh5kdkspqvc8rccpb4s004qxqvn4fwc59dm0pqbs"; + rev = "f95d6436845e9036c8cfbd936731449475f79b7a"; + sha256 = "1q3q92lfj24ij5sxdbdhcqyan28r6db1w80yrks4csf9zjij1ixh"; }; - buildInputs = [ cmake expat ]; + buildInputs = [ cmake expat qt5.qtbase boost ]; + + patches = [ ./fix-install.patch ./fix-output.patch ]; postPatch = '' - sed -i -e 's/-std=c++0x/-std=c++11 -fpermissive/' CMakeLists.txt - - # Hardcode library base path ("lib/" is appended elsewhere) - sed -i -e 's|::m_base_path = "|&'"$out"'/|' loader/BinaryFileFactory.cpp - # Deactivate setting base path at runtime - sed -i -e 's/m_base_path *=[^}]*//' include/BinaryFile.h - - # Fix up shared directory locations - shared="$out/share/boomerang/" - find frontend -name '*.cpp' -print | xargs sed -i -e \ - 's|Boomerang::get()->getProgPath()|std::string("'"$shared"'")|' - - cat >> loader/CMakeLists.txt <<CMAKE - INSTALL(TARGETS bffDump BinaryFile - ElfBinaryFile Win32BinaryFile ExeBinaryFile HpSomBinaryFile - PalmBinaryFile DOS4GWBinaryFile MachOBinaryFile - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib) - CMAKE - - cat >> CMakeLists.txt <<CMAKE - INSTALL(TARGETS boomerang DESTINATION bin) - INSTALL(DIRECTORY signatures DESTINATION share/boomerang) - INSTALL(DIRECTORY frontend/machine DESTINATION share/boomerang/frontend) - CMAKE + substituteInPlace loader/BinaryFileFactory.cpp \ + --replace '"lib"' '"../lib"' + + substituteInPlace ui/DecompilerThread.cpp \ + --replace '"output"' '"./output"' + + substituteInPlace boomerang.cpp \ + --replace 'progPath("./")' "progPath(\"$out/share/boomerang/\")" + + substituteInPlace ui/commandlinedriver.cpp \ + --replace "QFileInfo(args[0]).absolutePath()" "\"$out/share/boomerang/\"" ''; enableParallelBuilding = true; @@ -46,6 +34,5 @@ stdenv.mkDerivation rec { homepage = "http://boomerang.sourceforge.net/"; license = stdenv.lib.licenses.bsd3; description = "A general, open source, retargetable decompiler"; - broken = true; }; } diff --git a/pkgs/development/tools/boomerang/fix-install.patch b/pkgs/development/tools/boomerang/fix-install.patch new file mode 100644 index 00000000000..bc656acfd6a --- /dev/null +++ b/pkgs/development/tools/boomerang/fix-install.patch @@ -0,0 +1,48 @@ +From 5851256422a4debc34c956439d8129a4d5f80722 Mon Sep 17 00:00:00 2001 +From: Will Dietz <w@wdtz.org> +Date: Thu, 30 Mar 2017 10:06:03 -0500 +Subject: [PATCH] cmake: add install bits + +--- + CMakeLists.txt | 3 +++ + loader/CMakeLists.txt | 2 ++ + ui/CMakeLists.txt | 2 ++ + 3 files changed, 7 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 826fe307..740861db 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -113,3 +113,6 @@ SET_PROPERTY(TARGET boom_base PROPERTY CXX_STANDARD_REQUIRED ON) + + ADD_SUBDIRECTORY(loader) + ADD_SUBDIRECTORY(ui) ++ ++INSTALL(DIRECTORY signatures DESTINATION share/boomerang) ++INSTALL(DIRECTORY frontend/machine DESTINATION share/boomerang/frontend) +diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt +index b371d366..dcf715fd 100644 +--- a/loader/CMakeLists.txt ++++ b/loader/CMakeLists.txt +@@ -6,6 +6,8 @@ macro(BOOMERANG_ADD_LOADER name) + endif() + qt5_use_modules(${target_name} Core) + set_target_properties(${target_name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/out/lib") ++ install(TARGETS "${target_name}" ++ LIBRARY DESTINATION lib) + endmacro() + + BOOMERANG_ADD_LOADER(Elf elf/ElfBinaryFile.cpp elf/ElfBinaryFile.h) +diff --git a/ui/CMakeLists.txt b/ui/CMakeLists.txt +index f6fe3271..8729b522 100644 +--- a/ui/CMakeLists.txt ++++ b/ui/CMakeLists.txt +@@ -26,3 +26,5 @@ boom_base frontend db type boomerang_DSLs codegen util boom_base + ${CMAKE_THREAD_LIBS_INIT} boomerang_passes + ) + qt5_use_modules(boomerang Core Xml Widgets) ++ ++INSTALL(TARGETS boomerang DESTINATION bin) +-- +2.11.0 + diff --git a/pkgs/development/tools/boomerang/fix-output.patch b/pkgs/development/tools/boomerang/fix-output.patch new file mode 100644 index 00000000000..18fbe74177b --- /dev/null +++ b/pkgs/development/tools/boomerang/fix-output.patch @@ -0,0 +1,24 @@ +From f3f5f888a1b1fe72ea8fc8cc96ef4ee386011e1c Mon Sep 17 00:00:00 2001 +From: Will Dietz <w@wdtz.org> +Date: Thu, 30 Mar 2017 11:21:38 -0500 +Subject: [PATCH] don't default to writing to program directory + +--- + boomerang.cpp | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/boomerang.cpp b/boomerang.cpp +index 5951ed91..b592f482 100644 +--- a/boomerang.cpp ++++ b/boomerang.cpp +@@ -601,7 +601,6 @@ int Boomerang::processCommand(QStringList &args) { + */ + void Boomerang::setProgPath(const QString &p) { + progPath = p + "/"; +- outputPath = progPath + "/output/"; // Default output path (can be overridden with -o below) + } + + /** +-- +2.11.0 + diff --git a/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch b/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch index ba7438d2c0f..623a7208a86 100644 --- a/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch +++ b/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch @@ -62,3 +62,16 @@ diff -ru3 cmake-3.4.3/Modules/Platform/UnixPaths.cmake cmake-3.4.3-new/Modules/P ) # Enable use of lib64 search path variants by default. +diff -ur cmake-3.7.2-orig/Modules/Platform/WindowsPaths.cmake cmake-3.7.2/Modules/Platform/WindowsPaths.cmake +--- cmake-3.7.2-orig/Modules/Platform/WindowsPaths.cmake 2017-04-26 09:08:39.095674666 -0700 ++++ cmake-3.7.2/Modules/Platform/WindowsPaths.cmake 2017-04-28 22:32:10.379015998 -0700 +@@ -66,7 +66,7 @@ + + if(CMAKE_CROSSCOMPILING AND NOT CMAKE_HOST_SYSTEM_NAME MATCHES "Windows") + # MinGW (useful when cross compiling from linux with CMAKE_FIND_ROOT_PATH set) +- list(APPEND CMAKE_SYSTEM_PREFIX_PATH /) ++ # list(APPEND CMAKE_SYSTEM_PREFIX_PATH /) + endif() + + list(APPEND CMAKE_SYSTEM_INCLUDE_PATH +diff -ur cmake-3.7.2-orig/Source/cmFindPackageCommand.cxx cmake-3.7.2/Source/cmFindPackageCommand.cxx diff --git a/pkgs/development/tools/build-managers/doit/default.nix b/pkgs/development/tools/build-managers/doit/default.nix new file mode 100644 index 00000000000..61f6a402cab --- /dev/null +++ b/pkgs/development/tools/build-managers/doit/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, python3Packages }: + +let + + name = "doit"; + version = "0.30.3"; + +in python3Packages.buildPythonApplication { + name = "${name}-${version}"; + + src = fetchurl { + url = "mirror://pypi/d/${name}/${name}-${version}.tar.gz"; + sha256 = "1fcsslc3mc4bszq5xdqbxv37720s1s31d6pbfwc2iyxk1x2wi219"; + }; + + buildInputs = with python3Packages; [ mock pytest ]; + + propagatedBuildInputs = with python3Packages; [ cloudpickle pyinotify ]; + + # Tests fail due to mysterious gdbm.open() resource temporarily + # unavailable errors. + doCheck = false; + checkPhase = "py.test"; + + meta = { + homepage = "http://pydoit.org/"; + description = "A task management & automation tool"; + license = stdenv.lib.licenses.mit; + longDescription = '' + doit is a modern open-source build-tool written in python + designed to be simple to use and flexible to deal with complex + work-flows. It is specially suitable for building and managing + custom work-flows where there is no out-of-the-box solution + available. + ''; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index 558b8acf70f..d4dbc6b46d2 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -1,13 +1,23 @@ -{ lib, python3Packages, fetchurl }: -python3Packages.buildPythonPackage rec { - version = "0.35.0"; - name = "meson-${version}"; +{ lib, python3Packages }: +python3Packages.buildPythonApplication rec { + version = "0.40.0"; + pname = "meson"; + name = "${pname}-${version}"; - src = fetchurl { - url = "mirror://pypi/m/meson/${name}.tar.gz"; - sha256 = "0w4vian55cwcv2m5qzn73aznf9a0y24cszqb7dkpahrb9yrg25l3"; + src = python3Packages.fetchPypi { + inherit pname version; + sha256 = "1hb6y5phzd5738rlpz78w8hfzk7sbxj81551mb7bbkkqz8ql1gjw"; }; + postFixup = '' + pushd $out/bin + # undo shell wrapper as meson tools are called with python + for i in *; do + mv ".$i-wrapped" "$i" + done + popd + ''; + meta = with lib; { homepage = http://mesonbuild.com; description = "SCons-like build system that use python as a front-end language and Ninja as a building backend"; diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix index 97e195f592e..d7f13de1d26 100644 --- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix +++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix @@ -1,16 +1,16 @@ { lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }: let - version = "9.0.0"; + version = "9.1.0"; # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64 docker_x86_64 = fetchurl { url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz"; - sha256 = "1f170akb7j7imgr18m32fy6v3rk98inrjl5a4xymfpivwwqyv9p8"; + sha256 = "1mdcw755fygnf30v0gr13mx20zjqmxg5w2kj3k2jgcsh3gyrvymr"; }; docker_arm = fetchurl { url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz"; - sha256 = "15mlix8j7bqjg5y07c439d7s197c16zxffknx42z1i3qxcz2mpa4"; + sha256 = "1m5p6mlhy3xf0chrjlfpdyp24pv32b61s8iryh6a617i91vpzjg6"; }; in buildGoPackage rec { @@ -29,7 +29,7 @@ buildGoPackage rec { owner = "gitlab-org"; repo = "gitlab-ci-multi-runner"; rev = "v${version}"; - sha256 = "1csha30lcwm1mk6hqbh0j8bb25apyni23szw79l8xjhmiw2ch619"; + sha256 = "0n8hcj2b1pb95x4bd7fb9ri43vgc4h2dj2v3iiziw2imqjyphfx4"; }; buildInputs = [ go-bindata ]; diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix index d49221d6e6a..cfc952395c2 100644 --- a/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix +++ b/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix @@ -1,16 +1,16 @@ { lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }: let - version = "1.11.1"; + version = "1.11.2"; # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64 docker_x86_64 = fetchurl { url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz"; - sha256 = "1fahwvwdli6glxsljrd030x15y18jwk72lg1xmrgms409r9y308m"; + sha256 = "08lacd2p7915y7yjnwkj2k0b0x4qj9kc53p7qgvmq8kdi31xnh4z"; }; docker_arm = fetchurl { url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz"; - sha256 = "0nqda27qcb6r1p2xc2973g08fwb8cnmyc9rswy6776r8ypagn2zw"; + sha256 = "0lzvx3jfy8493q8zkbs7kgm5a3jgsi3f2x25jwg4lx7agcwwsygw"; }; in buildGoPackage rec { @@ -29,7 +29,7 @@ buildGoPackage rec { owner = "gitlab-org"; repo = "gitlab-ci-multi-runner"; rev = "v${version}"; - sha256 = "0ix00p9f01fg8m6p3b1c20hqrcv7pivh6hq92pb9qyiyzmcfap47"; + sha256 = "1sjvlb5981ykc8hr4kp1ibh9jw2wdjjp9zs2nqs9lpsav4nda5fr"; }; buildInputs = [ go-bindata ]; diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix index 5a0cb4911e1..b2cf8b5a0ce 100644 --- a/pkgs/development/tools/continuous-integration/jenkins/default.nix +++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "jenkins-${version}"; - version = "2.53"; + version = "2.56"; src = fetchurl { url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war"; - sha256 = "16lgwgp4n161j4vjwkzzdz4v2d6vv62rrqmcfmb6zalyvp6wpj9r"; + sha256 = "1n0rqvnqv8dsqz8nmcxifg2qqs5hjqvi4bw3a3rjchndqyc3azij"; }; buildCommand = '' diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 7b71a8e95d9..b0819f6133b 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -95,6 +95,6 @@ stdenv.mkDerivation rec { /* Give binutils a lower priority than gcc-wrapper to prevent a collision due to the ld/as wrappers/symlinks in the latter. */ - priority = "10"; + priority = 10; }; } diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix index 1e04a10eccd..f7c410ecfb2 100644 --- a/pkgs/development/tools/misc/hydra/default.nix +++ b/pkgs/development/tools/misc/hydra/default.nix @@ -62,15 +62,15 @@ let }; in releaseTools.nixBuild rec { name = "hydra-${version}"; - version = "2017-03-21"; + version = "2017-04-26"; inherit stdenv; src = fetchFromGitHub { owner = "NixOS"; repo = "hydra"; - rev = "57bc0eaead8c76ffd71ddc49adfacc47bb8a75ac"; - sha256 = "1kshl6ms42fgh621s1ba3a224rawqzgvl89rq1k6c9qhlplpndd9"; + rev = "1f94f0369937c9187b158f53a4a361507a62c5e9"; + sha256 = "0h013690pwm20vykccr6l4k0q1jdb065127pblfhs23a287ayqlm"; }; buildInputs = diff --git a/pkgs/development/tools/misc/premake/5.nix b/pkgs/development/tools/misc/premake/5.nix new file mode 100644 index 00000000000..b0bb32449a4 --- /dev/null +++ b/pkgs/development/tools/misc/premake/5.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchFromGitHub, CoreServices }: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "premake-${version}"; + version = "5.0.0pre.alpha.11"; + + src = fetchFromGitHub { + owner = "premake"; + repo = "premake-core"; + rev = "5dfb0238bc309df04819dd430def621ce854678d"; + sha256 = "0k9xbqrnbwj0hnmdgcrwn70py1kiqvr10l42aw42xnlmdyg1sgsc"; + }; + + buildInputs = optional stdenv.isDarwin [ CoreServices ]; + + patchPhase = optional stdenv.isDarwin '' + substituteInPlace premake5.lua \ + --replace -mmacosx-version-min=10.4 -mmacosx-version-min=10.5 + ''; + + buildPhase = + if stdenv.isDarwin then '' + make -f Bootstrap.mak osx + '' else '' + make -f Bootstrap.mak linux + ''; + + installPhase = '' + install -Dm755 bin/release/premake5 $out/bin/premake5 + ''; + + meta = { + homepage = https://premake.github.io; + description = "A simple build configuration and project generation tool using lua"; + license = stdenv.lib.licenses.bsd3; + platforms = platforms.darwin ++ platforms.linux; + }; +} diff --git a/pkgs/development/tools/misc/sysbench/default.nix b/pkgs/development/tools/misc/sysbench/default.nix index b6223230c1c..540db210eb4 100644 --- a/pkgs/development/tools/misc/sysbench/default.nix +++ b/pkgs/development/tools/misc/sysbench/default.nix @@ -1,20 +1,18 @@ -{ stdenv, fetchgit, libmysql, libxslt, zlib, autoreconfHook }: +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, vim, libmysql, + libaio }: stdenv.mkDerivation rec { - name = "sysbench-2015-04-22"; + name = "sysbench-1.0.6"; - buildInputs = [ autoreconfHook libmysql libxslt zlib ]; + buildInputs = [ autoreconfHook pkgconfig vim libmysql libaio ]; - src = fetchgit { - url = git://github.com/akopytov/sysbench.git; - rev = "2b3042883090c9cf8cb9be2b24d3590cdcee112f"; - sha256 = "1xlb3fracha3wva3dmmjk36b262vblynkmiz8n0mn1vkc78bssaw"; + src = fetchFromGitHub { + owner = "akopytov"; + repo = "sysbench"; + rev = "1.0.6"; + sha256 = "0y3hlhzrggyyxwf378n006zlg2kwhmhh6vq6il0qn9agjmjmhl5l"; }; - preAutoreconf = '' - touch NEWS AUTHORS - ''; - meta = { description = "Modular, cross-platform and multi-threaded benchmark tool"; license = stdenv.lib.licenses.gpl2; diff --git a/pkgs/development/tools/ocaml/cppo/default.nix b/pkgs/development/tools/ocaml/cppo/default.nix index 59130bec50e..e778337ca5c 100644 --- a/pkgs/development/tools/ocaml/cppo/default.nix +++ b/pkgs/development/tools/ocaml/cppo/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild }: let pname = "cppo"; - version = "1.3.2"; + version = "1.5.0"; webpage = "http://mjambon.com/${pname}.html"; in -assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12"; +assert stdenv.lib.versionAtLeast ocaml.version "3.12"; stdenv.mkDerivation rec { name = "${pname}-${version}"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { owner = "mjambon"; repo = pname; rev = "v${version}"; - sha256 = "06j0zr78f04ahxi2459vjn61z25hkvs4dfj76200ydg3g6ifb3k1"; + sha256 = "1xqldjz9risndnabvadw41fdbi5sa2hl4fnqls7j9xfbby1izbg8"; }; buildInputs = [ ocaml findlib ocamlbuild ]; diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix index 31549729cfe..8ab1371af9c 100644 --- a/pkgs/development/tools/ocaml/utop/default.nix +++ b/pkgs/development/tools/ocaml/utop/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, camlp4, ocaml_react -, lambdaTerm, ocaml_lwt, makeWrapper, camomile, zed, cppo, ppx_tools +{ stdenv, fetchurl, bash, ocaml, findlib, ocamlbuild, camlp4, ocaml_react +, lambdaTerm, ocaml_lwt, camomile, zed, cppo, ppx_tools }: stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "16z02vp9n97iax4fqpbi7v86r75vbabxvnd1rirh8w2miixs1g4x"; }; - buildInputs = [ ocaml findlib ocamlbuild makeWrapper cppo camlp4 ppx_tools ]; + buildInputs = [ ocaml findlib ocamlbuild cppo camlp4 ppx_tools ]; propagatedBuildInputs = [ lambdaTerm ocaml_lwt ]; @@ -28,21 +28,41 @@ stdenv.mkDerivation rec { dontStrip = true; postFixup = - let p = p: "${p}/lib/ocaml/${ocaml.version}/site-lib"; in - '' - pushd $out/bin - for prog in * + let + path = "etc/utop/env"; + + # derivation of just runtime deps so env vars created by + # setup-hooks can be saved for use at runtime + runtime = stdenv.mkDerivation rec { + name = "utop-runtime-env-${version}"; + + buildInputs = [ findlib ] ++ propagatedBuildInputs; + + phases = [ "installPhase" ]; + + installPhase = '' + mkdir -p "$out"/${path} + for e in OCAMLPATH CAML_LD_LIBRARY_PATH; do + printf %s "''${!e}" > "$out"/${path}/$e + done + ''; + }; + + get = key: ''$(cat "${runtime}/${path}/${key}")''; + in '' + for prog in "$out"/bin/* do - mv $prog .$prog-wrapped - cat > $prog <<EOF -#!/bin/sh -export CAML_LD_LIBRARY_PATH=${p ocaml_lwt}/lwt:${p lambdaTerm}/lambda-term:'\$CAML_LD_LIBRARY_PATH' -export OCAMLPATH=${p ocaml_lwt}:${p ocaml_react}:${p camomile}:${p zed}:${p lambdaTerm}:"$out"/lib/ocaml/${ocaml.version}/site-lib:'\$OCAMLPATH' -${ocaml}/bin/ocamlrun $out/bin/.$prog-wrapped \$* -EOF - chmod +x $prog + + # Note: wrapProgram by default calls 'exec -a $0 ...', but this + # breaks utop on Linux with OCaml 4.04, and is disabled with + # '--argv0 ""' flag. See https://github.com/NixOS/nixpkgs/issues/24496 + wrapProgram "$prog" \ + --argv0 "" \ + --prefix CAML_LD_LIBRARY_PATH ":" "${get "CAML_LD_LIBRARY_PATH"}" \ + --prefix OCAMLPATH ":" "${get "OCAMLPATH"}" \ + --prefix OCAMLPATH ":" $(unset OCAMLPATH; addOCamlPath "$out"; printf %s "$OCAMLPATH") + done - popd ''; meta = { diff --git a/pkgs/development/tools/parsing/antlr/3.4.nix b/pkgs/development/tools/parsing/antlr/3.4.nix index a92e8aa7251..e6765806e4f 100644 --- a/pkgs/development/tools/parsing/antlr/3.4.nix +++ b/pkgs/development/tools/parsing/antlr/3.4.nix @@ -33,6 +33,6 @@ stdenv.mkDerivation rec { walk parse trees. ''; homepage = http://www.antlr.org/; - platforms = platforms.linux; + platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/development/tools/parsing/byacc/default.nix b/pkgs/development/tools/parsing/byacc/default.nix index fdfac484bf1..c34eb9fc708 100644 --- a/pkgs/development/tools/parsing/byacc/default.nix +++ b/pkgs/development/tools/parsing/byacc/default.nix @@ -1,17 +1,23 @@ { stdenv, fetchurl }: -stdenv.mkDerivation { - name = "byacc-1.9"; +stdenv.mkDerivation rec { + name = "byacc-${version}"; + version = "20170201"; src = fetchurl { - url = ftp://invisible-island.net/byacc/byacc-20140715.tgz; - sha256 = "1rbzx5ipkvih9rjfdfv6310wcr6mxjbdlsh9zcv5aaz6yxxxil7c"; + urls = [ + "ftp://invisible-island.net/byacc/${name}.tgz" + "http://invisible-mirror.net/archives/byacc/${name}.tgz" + ]; + sha256 = "90b768d177f91204e6e7cef226ae1dc7cac831b625774cebd3e233a917754f91"; }; - meta = { + doCheck = true; + + meta = with stdenv.lib; { description = "Berkeley YACC"; - homepage = http://dickey.his.com/byacc/byacc.html; - license = stdenv.lib.licenses.publicDomain; - platforms = stdenv.lib.platforms.unix; + homepage = http://invisible-island.net/byacc/byacc.html; + license = licenses.publicDomain; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/rust/bindgen/default.nix b/pkgs/development/tools/rust/bindgen/default.nix index 232be1fea38..4a4738e069c 100644 --- a/pkgs/development/tools/rust/bindgen/default.nix +++ b/pkgs/development/tools/rust/bindgen/default.nix @@ -4,13 +4,13 @@ rustPlatform.buildRustPackage rec { name = "rust-bindgen-${version}"; - version = "0.22.1"; + version = "0.23.0"; src = fetchFromGitHub { owner = "servo"; repo = "rust-bindgen"; rev = "v${version}"; - sha256 = "10cavj6rrbdqi4ldfmhxy6xxp0q65pxiypdgq2ckz0c37g04qqqs"; + sha256 = "1cr7wgb13pavjpv2glq02wf5sqigcl1k0qgf3cqi9c5mjca2cg5y"; }; buildInputs = [ llvmPackages.clang-unwrapped ]; @@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec { export LIBCLANG_PATH="${llvmPackages.clang-unwrapped}/lib" ''; - depsSha256 = "1gvva6f64ndzsswv1a7c31wym12yp4cg1la4zjwlzkrx62kgyk8x"; + depsSha256 = "1qrnd9a73vxr7572byjjlhwbax3z4slc7qmwjx3aiwjix3r250dh"; doCheck = false; # A test fails because it can't find standard headers in NixOS diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix index 770eb9cc78b..ff2d48e1a6e 100644 --- a/pkgs/development/tools/yarn/default.nix +++ b/pkgs/development/tools/yarn/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "yarn-${version}"; - version = "0.22.0"; + version = "0.23.2"; src = fetchzip { url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz"; - sha256 = "1hs4fqjj9rg47ipcagpdk3grh7aa0ls3vsxq4q20d5hb43s9n5gs"; + sha256 = "06vqi78q1wsybr4nsh8xjnqmjynljmb36h21j2ffmni1adxf4syq"; }; buildInputs = [makeWrapper nodejs]; |