diff options
Diffstat (limited to 'pkgs/development/tools')
22 files changed, 242 insertions, 396 deletions
diff --git a/pkgs/development/tools/alloy/default.nix b/pkgs/development/tools/alloy/default.nix index cb559a128ab..fbf784db0cc 100644 --- a/pkgs/development/tools/alloy/default.nix +++ b/pkgs/development/tools/alloy/default.nix @@ -1,33 +1,14 @@ { stdenv, fetchurl, jre, makeDesktopItem }: -let version = "4.2_2015-02-22"; in stdenv.mkDerivation rec { name = "alloy-${version}"; + version = "4.2_2015-02-22"; src = fetchurl { sha256 = "0p93v8jwx9prijpikkgmfdzb9qn8ljmvga5d9wvrkxddccjx9k28"; url = "http://alloy.mit.edu/alloy/downloads/alloy${version}.jar"; }; - meta = with stdenv.lib; { - inherit version; - description = "Language & tool for relational models"; - longDescription = '' - Alloy is a language for describing structures and a tool for exploring - them. An Alloy model is a collection of constraints that describes a set - of structures, e.g. all the possible security configurations of a web - application, or all the possible topologies of a switching network. The - Alloy Analyzer is a solver that takes the constraints of a model and - finds structures that satisfy them. Structures are displayed graphically, - and their appearance can be customized for the domain at hand. - ''; - homepage = http://alloy.mit.edu/; - downloadPage = http://alloy.mit.edu/alloy/download.html; - license = licenses.mit; - platforms = platforms.linux; - maintainers = with maintainers; [ nckx ]; - }; - desktopItem = makeDesktopItem rec { name = "alloy"; exec = name; @@ -57,4 +38,22 @@ stdenv.mkDerivation rec { install -Dm644 ${./icon.png} $out/share/pixmaps/alloy.png cp -r ${desktopItem}/share/applications $out/share ''; + + meta = with stdenv.lib; { + description = "Language & tool for relational models"; + longDescription = '' + Alloy is a language for describing structures and a tool for exploring + them. An Alloy model is a collection of constraints that describes a set + of structures, e.g. all the possible security configurations of a web + application, or all the possible topologies of a switching network. The + Alloy Analyzer is a solver that takes the constraints of a model and + finds structures that satisfy them. Structures are displayed graphically, + and their appearance can be customized for the domain at hand. + ''; + homepage = http://alloy.mit.edu/; + downloadPage = http://alloy.mit.edu/alloy/download.html; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ nckx ]; + }; } diff --git a/pkgs/development/tools/analysis/egypt/default.nix b/pkgs/development/tools/analysis/egypt/default.nix index 1233c4ce15a..fc63247468c 100644 --- a/pkgs/development/tools/analysis/egypt/default.nix +++ b/pkgs/development/tools/analysis/egypt/default.nix @@ -1,16 +1,19 @@ { stdenv, fetchurl, buildPerlPackage }: -let version = "1.10"; in buildPerlPackage rec { name = "egypt-${version}"; + version = "1.10"; src = fetchurl { sha256 = "0r0wj6v8z9fzlh9pb5617kyjdf92ppmlbzajaarrq729bbb6ln5m"; url = "http://www.gson.org/egypt/download/${name}.tar.gz"; }; + enableParallelBuilding = true; + + doCheck = true; + meta = with stdenv.lib; { - inherit version; description = "Tool for making call graphs of C programmes"; longDescription = '' Egypt is a simple tool for creating call graphs of C programs. It neither @@ -25,8 +28,4 @@ buildPerlPackage rec { platforms = platforms.linux; maintainers = with maintainers; [ nckx ]; }; - - enableParallelBuilding = true; - - doCheck = true; } diff --git a/pkgs/development/tools/analysis/include-what-you-use/default.nix b/pkgs/development/tools/analysis/include-what-you-use/default.nix index 75e4dba003b..374f0fee3f1 100644 --- a/pkgs/development/tools/analysis/include-what-you-use/default.nix +++ b/pkgs/development/tools/analysis/include-what-you-use/default.nix @@ -1,9 +1,9 @@ { stdenv, fetchurl, cmake, llvmPackages }: -# Also bump llvmPackages in all-packages.nix to the supported version! -let version = "0.5"; in stdenv.mkDerivation rec { name = "include-what-you-use-${version}"; + # Also bump llvmPackages in all-packages.nix to the supported version! + version = "0.5"; src = fetchurl { sha256 = "19pwhgwvfr86n8ks099p9r02v7zh8d3qs7g7snzkhpdgq1azww85"; @@ -18,7 +18,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with stdenv.lib; { - inherit version; description = "Analyze #includes in C/C++ source files with clang"; longDescription = '' For every symbol (type, function variable, or macro) that you use in diff --git a/pkgs/development/tools/boomerang/dlopen_path.patch b/pkgs/development/tools/boomerang/dlopen_path.patch deleted file mode 100644 index 1e4bf3c75a3..00000000000 --- a/pkgs/development/tools/boomerang/dlopen_path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/loader/BinaryFileFactory.cpp b/loader/BinaryFileFactory.cpp -index 889a4ed..ca86765 100644 ---- a/loader/BinaryFileFactory.cpp -+++ b/loader/BinaryFileFactory.cpp -@@ -109,7 +109,7 @@ BinaryFile* BinaryFileFactory::getInstanceFor( const char *sName ) { - - // Load the specific loader library - #ifndef _WIN32 // Cygwin, Unix/Linux -- libName = std::string("lib/lib") + libName; -+ libName = std::string("lib") + libName; - #ifdef __CYGWIN__ - libName += ".dll"; // Cygwin wants .dll, but is otherwise like Unix - #else diff --git a/pkgs/development/tools/build-managers/cmake/2.8.11-cygwin.patch b/pkgs/development/tools/build-managers/cmake/2.8.11-cygwin.patch deleted file mode 100644 index e16dab32632..00000000000 --- a/pkgs/development/tools/build-managers/cmake/2.8.11-cygwin.patch +++ /dev/null @@ -1,237 +0,0 @@ ---- cmake-2.8.10/Source/cmFileCommand.cxx 2012-10-31 10:32:06.000000000 -0500 -+++ cmake-2.8.10/Source/cmFileCommand.cxx 2013-03-16 22:55:11.306681100 -0500 -@@ -1002,7 +1002,7 @@ protected: - MatchProperties CollectMatchProperties(const char* file) - { - // Match rules are case-insensitive on some platforms. --#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__) -+#if defined(_WIN32) || defined(__APPLE__) - std::string lower = cmSystemTools::LowerCase(file); - const char* file_to_match = lower.c_str(); - #else ---- cmake-2.8.10/Source/cmInstallCommand.cxx 2012-10-31 10:32:06.000000000 -0500 -+++ cmake-2.8.10/Source/cmInstallCommand.cxx 2013-03-16 22:56:21.008667800 -0500 -@@ -1090,7 +1090,7 @@ cmInstallCommand::HandleDirectoryMode(st - { - literal_args += " REGEX \""; - // Match rules are case-insensitive on some platforms. --#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__) -+#if defined(_WIN32) || defined(__APPLE__) - std::string regex = cmSystemTools::LowerCase(args[i]); - #else - std::string regex = args[i]; ---- cmake-2.8.10/Source/kwsys/Glob.cxx 2012-10-31 10:32:06.000000000 -0500 -+++ cmake-2.8.10/Source/kwsys/Glob.cxx 2013-03-16 22:58:54.192429400 -0500 -@@ -37,7 +37,7 @@ - #include <string.h> - namespace KWSYS_NAMESPACE - { --#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__) -+#if defined(_WIN32) || defined(__APPLE__) - // On Windows and apple, no difference between lower and upper case - # define KWSYS_GLOB_CASE_INDEPENDENT - #endif ---- cmake-2.8.11/Source/kwsys/SystemInformation.cxx 2013-05-15 12:38:13.000000000 -0500 -+++ cmake-2.8.11/Source/kwsys/SystemInformation.cxx 2013-07-08 01:57:31.216321800 -0500 -@@ -888,7 +888,7 @@ void SystemInformation::RunMemoryCheck() - // Hide implementation details in an anonymous namespace. - namespace { - // ***************************************************************************** --#if defined(__linux) || defined(__APPLE__) -+#if defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__) - int LoadLines( - FILE *file, - kwsys_stl::vector<kwsys_stl::string> &lines) -@@ -918,7 +918,7 @@ int LoadLines( - return nRead; - } - --# if defined(__linux) -+# if defined(__linux) || defined(__CYGWIN__) - // ***************************************************************************** - int LoadLines( - const char *fileName, -@@ -957,7 +957,7 @@ int NameValue( - } - #endif - --#if defined(__linux) -+#if defined(__linux) || defined(__CYGWIN__) - // **************************************************************************** - template<typename T> - int GetFieldsFromFile( -@@ -2869,7 +2869,6 @@ bool SystemInformationImplementation::Re - pos = buffer.find("processor\t",pos+1); - } - --#ifdef __linux - // Find the largest physical id. - int maxId = -1; - kwsys_stl::string idc = -@@ -2893,14 +2892,6 @@ bool SystemInformationImplementation::Re - this->NumberOfPhysicalCPU=static_cast<unsigned int>( - numberOfCoresPerCPU*(maxId+1)); - --#else // __CYGWIN__ -- // does not have "physical id" entries, neither "cpu cores" -- // this has to be fixed for hyper-threading. -- kwsys_stl::string cpucount = -- this->ExtractValueFromCpuInfoFile(buffer,"cpu count"); -- this->NumberOfPhysicalCPU= -- this->NumberOfLogicalCPU = atoi(cpucount.c_str()); --#endif - // gotta have one, and if this is 0 then we get a / by 0n - // better to have a bad answer than a crash - if(this->NumberOfPhysicalCPU <= 0) -@@ -3086,7 +3077,7 @@ SystemInformationImplementation::GetHost - GlobalMemoryStatusEx(&statex); - return statex.ullTotalPhys/1024; - # endif --#elif defined(__linux) -+#elif defined(__linux) || defined(__CYGWIN__) - SystemInformation::LongLong memTotal=0; - int ierr=GetFieldFromFile("/proc/meminfo","MemTotal:",memTotal); - if (ierr) -@@ -3217,7 +3208,7 @@ SystemInformationImplementation::GetHost - GlobalMemoryStatusEx(&statex); - return (statex.ullTotalPhys - statex.ullAvailPhys)/1024; - # endif --#elif defined(__linux) -+#elif defined(__linux) || defined(__CYGWIN__) - const char *names[3]={"MemTotal:","MemFree:",NULL}; - SystemInformation::LongLong values[2]={SystemInformation::LongLong(0)}; - int ierr=GetFieldsFromFile("/proc/meminfo",names,values); -@@ -3276,7 +3267,7 @@ SystemInformationImplementation::GetProc - return -2; - } - return pmc.WorkingSetSize/1024; --#elif defined(__linux) -+#elif defined(__linux) || defined(__CYGWIN__) - SystemInformation::LongLong memUsed=0; - int ierr=GetFieldFromFile("/proc/self/status","VmRSS:",memUsed); - if (ierr) -@@ -3328,7 +3319,7 @@ SystemInformationImplementation::GetProc - { - #if defined(_WIN32) - return GetCurrentProcessId(); --#elif defined(__linux) || defined(__APPLE__) -+#elif defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__) - return getpid(); - #else - return -1; ---- cmake-2.8.10/Source/kwsys/SystemTools.cxx 2012-10-31 10:32:06.000000000 -0500 -+++ cmake-2.8.10/Source/kwsys/SystemTools.cxx 2013-03-16 22:52:11.830415600 -0500 -@@ -75,19 +75,12 @@ - // Windows API. - #if defined(_WIN32) - # include <windows.h> --#elif defined (__CYGWIN__) --# include <windows.h> --# undef _WIN32 - #endif - - #if !KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H - extern char **environ; - #endif - --#ifdef __CYGWIN__ --extern "C" void cygwin_conv_to_win32_path(const char *path, char *win32_path); --#endif -- - // getpwnam doesn't exist on Windows and Cray Xt3/Catamount - // same for TIOCGWINSZ - #if defined(_WIN32) || defined (__LIBCATAMOUNT__) -@@ -1068,7 +1061,7 @@ bool SystemTools::SameFile(const char* f - } - - //---------------------------------------------------------------------------- --#if defined(_WIN32) || defined(__CYGWIN__) -+#if defined(_WIN32) - static bool WindowsFileExists(const char* filename) - { - WIN32_FILE_ATTRIBUTE_DATA fd; -@@ -1083,7 +1076,7 @@ bool SystemTools::FileExists(const char* - { - return false; - } --#if defined(__CYGWIN__) -+#if 0 - // Convert filename to native windows path if possible. - char winpath[MAX_PATH]; - if(SystemTools::PathCygwinToWin32(filename, winpath)) -@@ -1111,7 +1104,7 @@ bool SystemTools::FileExists(const char* - } - - //---------------------------------------------------------------------------- --#ifdef __CYGWIN__ -+#if 0 - bool SystemTools::PathCygwinToWin32(const char *path, char *win32_path) - { - SystemToolsTranslationMap::iterator i = -@@ -3894,7 +3887,7 @@ bool SystemTools::LocateFileInDir(const - bool SystemTools::FileIsFullPath(const char* in_name) - { - kwsys_stl::string name = in_name; --#if defined(_WIN32) || defined(__CYGWIN__) -+#if defined(_WIN32) - // On Windows, the name must be at least two characters long. - if(name.length() < 2) - { -@@ -4712,9 +4705,6 @@ bool SystemTools::ParseURL( const kwsys_ - unsigned int SystemToolsManagerCount; - SystemToolsTranslationMap *SystemTools::TranslationMap; - SystemToolsTranslationMap *SystemTools::LongPathMap; --#ifdef __CYGWIN__ --SystemToolsTranslationMap *SystemTools::Cyg2Win32Map; --#endif - - // SystemToolsManager manages the SystemTools singleton. - // SystemToolsManager should be included in any translation unit -@@ -4760,9 +4750,6 @@ void SystemTools::ClassInitialize() - // Allocate the translation map first. - SystemTools::TranslationMap = new SystemToolsTranslationMap; - SystemTools::LongPathMap = new SystemToolsTranslationMap; --#ifdef __CYGWIN__ -- SystemTools::Cyg2Win32Map = new SystemToolsTranslationMap; --#endif - - // Add some special translation paths for unix. These are not added - // for windows because drive letters need to be maintained. Also, -@@ -4817,9 +4804,6 @@ void SystemTools::ClassFinalize() - { - delete SystemTools::TranslationMap; - delete SystemTools::LongPathMap; --#ifdef __CYGWIN__ -- delete SystemTools::Cyg2Win32Map; --#endif - } - - ---- cmake-2.8.10/Source/kwsys/SystemTools.hxx.in 2012-10-31 10:32:06.000000000 -0500 -+++ cmake-2.8.10/Source/kwsys/SystemTools.hxx.in 2013-03-16 23:10:30.185237900 -0500 -@@ -277,15 +277,6 @@ public: - static bool FileExists(const char* filename); - - /** -- * Converts Cygwin path to Win32 path. Uses dictionary container for -- * caching and calls to cygwin_conv_to_win32_path from Cygwin dll -- * for actual translation. Returns true on success, else false. -- */ --#ifdef __CYGWIN__ -- static bool PathCygwinToWin32(const char *path, char *win32_path); --#endif -- -- /** - * Return file length - */ - static unsigned long FileLength(const char *filename); -@@ -887,9 +878,6 @@ private: - */ - static SystemToolsTranslationMap *TranslationMap; - static SystemToolsTranslationMap *LongPathMap; --#ifdef __CYGWIN__ -- static SystemToolsTranslationMap *Cyg2Win32Map; --#endif - friend class SystemToolsManager; - }; - diff --git a/pkgs/development/tools/build-managers/cmake/cmake_find_openssl_for_openssl-1.0.1m_and_up.patch b/pkgs/development/tools/build-managers/cmake/cmake_find_openssl_for_openssl-1.0.1m_and_up.patch deleted file mode 100644 index 25bbd2a91ba..00000000000 --- a/pkgs/development/tools/build-managers/cmake/cmake_find_openssl_for_openssl-1.0.1m_and_up.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ./Modules/FindOpenSSL.cmake -+++ ./Modules/FindOpenSSL.cmake -@@ -264,7 +264,7 @@ - set(OPENSSL_VERSION "${_OPENSSL_VERSION}") - elseif(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h") - file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str -- REGEX "^#define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*") -+ REGEX "^# *define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*") - - # The version number is encoded as 0xMNNFFPPS: major minor fix patch status - # The status gives if this is a developer or prerelease and is ignored here. diff --git a/pkgs/development/tools/build-managers/gup/default.nix b/pkgs/development/tools/build-managers/gup/default.nix index dc6f1f8d002..0f1ecdcaa54 100644 --- a/pkgs/development/tools/build-managers/gup/default.nix +++ b/pkgs/development/tools/build-managers/gup/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchgit, lib, python, which }: let - version = "0.5.1"; + version = "0.5.3"; src = fetchgit { url = "https://github.com/gfxmonk/gup.git"; - rev = "f185052e2177ed5e46720e6c6cfb529b96cd17e2"; - sha256 = "c2e27cdba2231017ceb4868f58f5c3b224be0491b81558b4e59bb08a952ad1a5"; + rev = "55ffd8828ddc28a2a786b75422d672d6569f961f"; + sha256 = "7c2abbf5d3814c6b84da0de1c91f9f7d299c2362cf091da96f6a68d8fffcb5ce"; }; in import ./build.nix diff --git a/pkgs/development/tools/build-managers/icmake/default.nix b/pkgs/development/tools/build-managers/icmake/default.nix index 08e6a3b6559..b3788d7f324 100644 --- a/pkgs/development/tools/build-managers/icmake/default.nix +++ b/pkgs/development/tools/build-managers/icmake/default.nix @@ -30,7 +30,6 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - inherit version; description = "A program maintenance (make) utility using a C-like grammar"; homepage = https://fbb-git.github.io/icmake/; license = licenses.gpl3; diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix index dccb67efaf4..35a5b1b4d40 100644 --- a/pkgs/development/tools/build-managers/rebar3/default.nix +++ b/pkgs/development/tools/build-managers/rebar3/default.nix @@ -1,5 +1,5 @@ { stdenv, writeText, callPackage, fetchurl, - fetchHex, erlang, rebar3-nix-bootstrap, tree, fetchFromGitHub }: + fetchHex, erlang, hermeticRebar3 ? true, rebar3-nix-bootstrap, tree, fetchFromGitHub }: let @@ -67,6 +67,12 @@ let version = "0.2.0"; sha256 = "03kiszlbgzscfd2ns7na6bzbfzmcqdb5cx3p6qy3657jk2fai332"; }; + # {eunit_formatters, "0.2.0"} + rebar3_hex = fetchHex { + pkg = "rebar3_hex"; + version = "1.12.0"; + sha256 = "45467e93ae8d776c6038fdaeaffbc55d8f2f097f300a54dab9b81c6d1cf21f73"; + }; in stdenv.mkDerivation { @@ -78,7 +84,9 @@ stdenv.mkDerivation { sha256 = "0px66scjdia9aaa5z36qzxb848r56m0k98g0bxw065a2narsh4xy"; }; - patches = [ ./hermetic-bootstrap.patch ]; + patches = if hermeticRebar3 == true + then [ ./hermetic-bootstrap.patch ./hermetic-rebar3.patch ] + else []; buildInputs = [ erlang tree ]; propagatedBuildInputs = [ registrySnapshot rebar3-nix-bootstrap ]; @@ -88,6 +96,7 @@ stdenv.mkDerivation { rebar3-nix-bootstrap registry-only echo "$ERL_LIBS" mkdir -p _build/default/lib/ + mkdir -p _build/default/plugins cp --no-preserve=mode -R ${erlware_commons} _build/default/lib/erlware_commons cp --no-preserve=mode -R ${providers} _build/default/lib/providers cp --no-preserve=mode -R ${getopt} _build/default/lib/getopt @@ -98,6 +107,7 @@ stdenv.mkDerivation { cp --no-preserve=mode -R ${eunit_formatters} _build/default/lib/eunit_formatters cp --no-preserve=mode -R ${relx} _build/default/lib/relx cp --no-preserve=mode -R ${ssl_verify_hostname} _build/default/lib/ssl_verify_hostname + cp --no-preserve=mode -R ${rebar3_hex} _build/default/plugins/rebar3_hex ''; buildPhase = '' diff --git a/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch b/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch new file mode 100644 index 00000000000..8da323ab823 --- /dev/null +++ b/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch @@ -0,0 +1,108 @@ +diff --git a/src/rebar3.erl b/src/rebar3.erl +index 2b73844..af1d871 100644 +--- a/src/rebar3.erl ++++ b/src/rebar3.erl +@@ -282,9 +282,11 @@ start_and_load_apps(Caller) -> + ensure_running(crypto, Caller), + ensure_running(asn1, Caller), + ensure_running(public_key, Caller), +- ensure_running(ssl, Caller), +- inets:start(), +- inets:start(httpc, [{profile, rebar}]). ++ ensure_running(ssl, Caller). ++%% Removed due to the hermicity requirements of Nix ++%% ++%% inets:start(), ++%% inets:start(httpc, [{profile, rebar}]). + + ensure_running(App, Caller) -> + case application:start(App) of +@@ -339,4 +341,4 @@ safe_define_test_macro(Opts) -> + test_defined([{d, 'TEST'}|_]) -> true; + test_defined([{d, 'TEST', true}|_]) -> true; + test_defined([_|Rest]) -> test_defined(Rest); +-test_defined([]) -> false. +\ No newline at end of file ++test_defined([]) -> false. +diff --git a/src/rebar_hermicity.erl b/src/rebar_hermicity.erl +new file mode 100644 +index 0000000..d814e2a +--- /dev/null ++++ b/src/rebar_hermicity.erl +@@ -0,0 +1,42 @@ ++%% -*- erlang-indent-level: 4;indent-tabs-mode: nil -*- ++%% ex: ts=4 sw=4 et ++%% ------------------------------------------------------------------- ++%% ++%% rebar: Erlang Build Tools ++%% ++%% Copyright (c) 2016 Eric Merritt (eric@merritt.tech) ++%% ++%% Permission is hereby granted, free of charge, to any person obtaining a copy ++%% of this software and associated documentation files (the "Software"), to deal ++%% in the Software without restriction, including without limitation the rights ++%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++%% copies of the Software, and to permit persons to whom the Software is ++%% furnished to do so, subject to the following conditions: ++%% ++%% The above copyright notice and this permission notice shall be included in ++%% all copies or substantial portions of the Software. ++%% ++%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ++%% THE SOFTWARE. ++%% ------------------------------------------------------------------- ++-module(rebar_hermicity). ++ ++-export([request/5]). ++ ++-include("rebar.hrl"). ++ ++%% ==================================================================== ++%% Public API ++%% ==================================================================== ++ ++request(Method, {Url, _Headers}, _HTTPOptions, _Options, _Profile) -> ++ ?ERROR("A request is being made that violates Nix hermicity " ++ "This request has been stopped. Details of the request " ++ "are as follows:", []), ++ ?ERROR("Requesnt: ~p ~s", [Method, Url]), ++ erlang:halt(1). +diff --git a/src/rebar_pkg_resource.erl b/src/rebar_pkg_resource.erl +index 4f55ad1..f76fd5d 100644 +--- a/src/rebar_pkg_resource.erl ++++ b/src/rebar_pkg_resource.erl +@@ -100,10 +100,10 @@ make_vsn(_) -> + {error, "Replacing version of type pkg not supported."}. + + request(Url, ETag) -> +- case httpc:request(get, {Url, [{"if-none-match", ETag} || ETag =/= false]}, +- [{ssl, ssl_opts(Url)}, {relaxed, true}], +- [{body_format, binary}], +- rebar) of ++ case rebar_hermicity:request(get, {Url, [{"if-none-match", ETag} || ETag =/= false]}, ++ [{ssl, ssl_opts(Url)}, {relaxed, true}], ++ [{body_format, binary}], ++ rebar) of + {ok, {{_Version, 200, _Reason}, Headers, Body}} -> + ?DEBUG("Successfully downloaded ~s", [Url]), + {"etag", ETag1} = lists:keyfind("etag", 1, Headers), +diff --git a/src/rebar_prv_update.erl b/src/rebar_prv_update.erl +index 6637ebe..d82c1d8 100644 +--- a/src/rebar_prv_update.erl ++++ b/src/rebar_prv_update.erl +@@ -44,8 +44,8 @@ do(State) -> + TmpFile = filename:join(TmpDir, "packages.gz"), + + Url = rebar_state:get(State, rebar_packages_cdn, ?DEFAULT_HEX_REGISTRY), +- case httpc:request(get, {Url, []}, +- [], [{stream, TmpFile}, {sync, true}], ++ case rebar_hermicity:request(get, {Url, []}, ++ [], [{stream, TmpFile}, {sync, true}], + rebar) of + {ok, saved_to_file} -> + {ok, Data} = file:read_file(TmpFile), diff --git a/pkgs/development/tools/erlang/hex2nix/default.nix b/pkgs/development/tools/erlang/hex2nix/default.nix index 8bb8f68e3a4..e7d237cfea2 100644 --- a/pkgs/development/tools/erlang/hex2nix/default.nix +++ b/pkgs/development/tools/erlang/hex2nix/default.nix @@ -2,13 +2,13 @@ buildRebar3 rec { name = "hex2nix"; - version = "0.0.2"; + version = "0.0.3"; src = fetchFromGitHub { owner = "erlang-nix"; repo = "hex2nix"; rev = "${version}"; - sha256 = "18gkq5fkdiwq5zj98cz4kqxbpzjkpqcplpsw987drxwdbvq4hkwm"; + sha256 = "1snlcb60al7fz3z4c4rqrb9gqdyihyhsrr90n40v9rdm98csry3k"; }; erlangDeps = [ ibrowse jsx erlware_commons getopt ]; diff --git a/pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix b/pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix index b32d196272b..39ec59e849f 100644 --- a/pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix +++ b/pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "rebar3-nix-bootstrap"; - version = "0.0.1"; + version = "0.0.3"; src = fetchFromGitHub { owner = "erlang-nix"; repo = "rebar3-nix-bootstrap"; rev = "${version}"; - sha256 = "0xyj7j59dmxyl5nhhsmb0r1pihmk0s4k02ga1rfgm30rij6n7431"; + sha256 = "01yyaz104jj3mxx8k10q3rwpn2rh13q1ja5r0iq37qyjmg8xflhq"; }; buildInputs = [ erlang ]; diff --git a/pkgs/development/tools/haskell/ihaskell/use-classy-prelude.patch b/pkgs/development/tools/haskell/ihaskell/use-classy-prelude.patch deleted file mode 100644 index b2c1362b62f..00000000000 --- a/pkgs/development/tools/haskell/ihaskell/use-classy-prelude.patch +++ /dev/null @@ -1,34 +0,0 @@ -From fad4e38079e91b13bf1e94732b7494504071b224 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= <ed@cflags.cc> -Date: Sun, 28 Sep 2014 09:27:40 +0200 -Subject: [PATCH] catMaybes, explicitly use ClassyPrelude - ---- - src/IHaskell/Eval/Completion.hs | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/IHaskell/Eval/Completion.hs b/src/IHaskell/Eval/Completion.hs -index 790c903..93d7ac1 100644 ---- a/src/IHaskell/Eval/Completion.hs -+++ b/src/IHaskell/Eval/Completion.hs -@@ -141,7 +141,7 @@ getTrueModuleName name = do - onlyImportDecl _ = Nothing - - -- Get all imports that we use. -- imports <- catMaybes <$> map onlyImportDecl <$> getContext -+ imports <- ClassyPrelude.catMaybes <$> map onlyImportDecl <$> getContext - - -- Find the ones that have a qualified name attached. - -- If this name isn't one of them, it already is the true name. -@@ -178,7 +178,7 @@ completionType line loc target - = Empty - - -- When in a string, complete filenames. -- | cursorInString line loc -+ | cursorInString line loc - = FilePath (getStringTarget lineUpToCursor) (getStringTarget lineUpToCursor) - - -- Complete module names in imports and elsewhere. --- -2.1.0 - diff --git a/pkgs/development/tools/java/cfr/default.nix b/pkgs/development/tools/java/cfr/default.nix index 3d42de4640e..46170341437 100644 --- a/pkgs/development/tools/java/cfr/default.nix +++ b/pkgs/development/tools/java/cfr/default.nix @@ -1,28 +1,14 @@ { stdenv, fetchurl, jre }: -let version = "0_101"; in stdenv.mkDerivation rec { name = "cfr-${version}"; + version = "0_101"; src = fetchurl { sha256 = "0zwl3whypdm2qrw3hwaqjnifkb4wcdn8fx9scrjkli54bhr6dqch"; url = "http://www.benf.org/other/cfr/cfr_${version}.jar"; }; - meta = with stdenv.lib; { - inherit version; - description = "Another java decompiler"; - longDescription = '' - CFR will decompile modern Java features - Java 8 lambdas (pre and post - Java beta 103 changes), Java 7 String switches etc, but is written - entirely in Java 6. - ''; - homepage = http://www.benf.org/other/cfr/; - license = licenses.mit; - platforms = platforms.all; - maintainers = with maintainers; [ nckx ]; - }; - buildInputs = [ jre ]; phases = [ "installPhase" ]; @@ -38,4 +24,17 @@ stdenv.mkDerivation rec { EOF install -Dm755 cfr $out/bin/cfr ''; + + meta = with stdenv.lib; { + description = "Another java decompiler"; + longDescription = '' + CFR will decompile modern Java features - Java 8 lambdas (pre and post + Java beta 103 changes), Java 7 String switches etc, but is written + entirely in Java 6. + ''; + homepage = http://www.benf.org/other/cfr/; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ nckx ]; + }; } diff --git a/pkgs/development/tools/misc/bin_replace_string/default.nix b/pkgs/development/tools/misc/bin_replace_string/default.nix index 82a07d60f9a..fda527ee905 100644 --- a/pkgs/development/tools/misc/bin_replace_string/default.nix +++ b/pkgs/development/tools/misc/bin_replace_string/default.nix @@ -1,16 +1,20 @@ { stdenv, fetchurl, libelf, txt2man }: -let version = "0.2"; in -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "bin_replace_string-${version}"; + version = "0.2"; src = fetchurl { sha256 = "1gnpddxwpsfrg4l76x5yplsvbcdbviybciqpn22yq3g3qgnr5c2a"; url = "ftp://ohnopub.net/mirror/bin_replace_string-0.2.tar.bz2"; }; + buildInputs = [ libelf ]; + nativeBuildInputs = [ txt2man ]; + + enableParallelBuilding = true; + meta = with stdenv.lib; { - inherit version; description = "Edit precompiled binaries"; longDescription = '' bin_replace_string edits C-style strings in precompiled binaries. This is @@ -25,9 +29,4 @@ stdenv.mkDerivation { platforms = platforms.linux; maintainers = with maintainers; [ nckx ]; }; - - buildInputs = [ libelf ]; - nativeBuildInputs = [ txt2man ]; - - enableParallelBuilding = true; } diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index ceec956004f..8fcf0354d94 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -71,19 +71,17 @@ stdenv.mkDerivation rec { postFixup = optionalString (cross == null) "ln -s $out/bin $dev/bin"; # tools needed for development - meta = { + meta = with stdenv.lib; { description = "Tools for manipulating binaries (linker, assembler, etc.)"; - longDescription = '' The GNU Binutils are a collection of binary tools. The main ones are `ld' (the GNU linker) and `as' (the GNU assembler). They also include the BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc. ''; - homepage = http://www.gnu.org/software/binutils/; - - license = stdenv.lib.licenses.gpl3Plus; + license = licenses.gpl3Plus; + platforms = platforms.unix; /* Give binutils a lower priority than gcc-wrapper to prevent a collision due to the ld/as wrappers/symlinks in the latter. */ diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix index 29fe621d676..4a278e052fa 100644 --- a/pkgs/development/tools/misc/ccache/default.nix +++ b/pkgs/development/tools/misc/ccache/default.nix @@ -1,15 +1,11 @@ { stdenv, fetchurl, fetchpatch, runCommand, gcc, zlib }: -let +let ccache = stdenv.mkDerivation rec { name = "ccache-${version}"; version = "3.2.4"; - sha256 = "0pga3hvd80f2p7mz88jmmbwzxh4vn5ihyjx5f6na8y2fclzsjg8w"; - ccache = -stdenv.mkDerivation { - inherit name; src = fetchurl { - inherit sha256; + sha256 = "0pga3hvd80f2p7mz88jmmbwzxh4vn5ihyjx5f6na8y2fclzsjg8w"; url = "mirror://samba/ccache/${name}.tar.xz"; }; @@ -65,7 +61,6 @@ stdenv.mkDerivation { }; meta = with stdenv.lib; { - inherit version; description = "Compiler cache for fast recompilation of C/C++ code"; homepage = http://ccache.samba.org/; downloadPage = https://ccache.samba.org/download.html; @@ -73,5 +68,4 @@ stdenv.mkDerivation { maintainers = with maintainers; [ nckx ]; }; }; -in -ccache +in ccache diff --git a/pkgs/development/tools/misc/ycmd/default.nix b/pkgs/development/tools/misc/ycmd/default.nix new file mode 100644 index 00000000000..029e76e0c99 --- /dev/null +++ b/pkgs/development/tools/misc/ycmd/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchgit, cmake, python, llvmPackages, boost, pythonPackages, buildPythonPackage, makeWrapper +}: + +stdenv.mkDerivation rec { + name = "ycmd-2016-01-12"; + + src = fetchgit { + url = "git://github.com/Valloric/ycmd.git"; + rev = "f982f6251c5ff85e3abe6e862aad8bcd19e85ece"; + sha256 = "1qp3ip6ab34610rfy0x85xsjg7blfkiy025vskwk9zw6gqglf3b3"; + }; + + buildInputs = [ python cmake llvmPackages.clang boost makeWrapper ]; + + propagatedBuildInputs = with pythonPackages; [ waitress frozendict bottle ]; + + buildPhase = '' + python build.py --clang-completer --system-libclang --system-boost + ''; + + configurePhase = ":"; + + installPhase = with pythonPackages; '' + mkdir -p $out/lib/ycmd/third_party $out/bin + cp -r ycmd/ CORE_VERSION libclang.so.* ycm_client_support.so ycm_core.so $out/lib/ycmd/ + wrapProgram $out/lib/ycmd/ycmd/__main__.py \ + --prefix PYTHONPATH : "$(toPythonPath ${waitress}):$(toPythonPath ${frozendict}):$(toPythonPath ${bottle})" + ln -s $out/lib/ycmd/ycmd/__main__.py $out/bin/ycmd + ''; + + meta = { + description = "A code-completion and comprehension server"; + homepage = "https://github.com/Valloric/ycmd"; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/tools/parsing/flexc++/default.nix b/pkgs/development/tools/parsing/flexc++/default.nix index 3cfd86f477e..e1426b3a1d4 100644 --- a/pkgs/development/tools/parsing/flexc++/default.nix +++ b/pkgs/development/tools/parsing/flexc++/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchFromGitHub, bobcat, icmake, yodl }: -let version = "2.03.00"; in -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "flexc++-${version}"; + version = "2.03.00"; src = fetchFromGitHub { sha256 = "1knb5h6l71n5zi9xzml5f6v7wspbk7vrcaiy2div8bnj7na3z717"; @@ -11,20 +11,6 @@ stdenv.mkDerivation { owner = "fbb-git"; }; - meta = with stdenv.lib; { - inherit version; - description = "C++ tool for generating lexical scanners"; - longDescription = '' - Flexc++ was designed after `flex'. Flexc++ offers a cleaner class design - and requires simpler specification files than offered by flex's C++ - option. - ''; - homepage = https://fbb-git.github.io/flexcpp/; - license = licenses.gpl3; - platforms = platforms.linux; - maintainers = with maintainers; [ nckx ]; - }; - sourceRoot = "flexcpp-${version}-src/flexc++"; buildInputs = [ bobcat ]; @@ -48,4 +34,17 @@ stdenv.mkDerivation { ./build install skel ./build install std ''; + + meta = with stdenv.lib; { + description = "C++ tool for generating lexical scanners"; + longDescription = '' + Flexc++ was designed after `flex'. Flexc++ offers a cleaner class design + and requires simpler specification files than offered by flex's C++ + option. + ''; + homepage = https://fbb-git.github.io/flexcpp/; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ nckx ]; + }; } diff --git a/pkgs/development/tools/parsing/lemon/default.nix b/pkgs/development/tools/parsing/lemon/default.nix index 23d4ea911db..46aaa830512 100644 --- a/pkgs/development/tools/parsing/lemon/default.nix +++ b/pkgs/development/tools/parsing/lemon/default.nix @@ -2,8 +2,6 @@ let - version = "1.0"; - srcs = { lemon = fetchurl { sha256 = "1grm95m2cnc61zim332g7z8nchmcy91ljf50k13lm421v0ygyyv6"; @@ -17,8 +15,9 @@ let }; }; -in stdenv.mkDerivation { +in stdenv.mkDerivation rec { name = "lemon-${version}"; + version = "1.0"; phases = [ "buildPhase" "installPhase" ]; @@ -32,7 +31,6 @@ in stdenv.mkDerivation { ''; meta = with stdenv.lib; { - inherit version; description = "An LALR(1) parser generator"; longDescription = '' The Lemon program is an LALR(1) parser generator that takes a diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix index 7ab37737fdc..2284c25cf66 100644 --- a/pkgs/development/tools/vagrant/default.nix +++ b/pkgs/development/tools/vagrant/default.nix @@ -4,7 +4,7 @@ assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux"; let - version = "1.8.0"; + version = "1.8.1"; rake = buildRubyGem { inherit ruby; gemName = "rake"; @@ -20,12 +20,12 @@ stdenv.mkDerivation rec { if stdenv.system == "x86_64-linux" then fetchurl { url = "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_x86_64.deb"; - sha256 = "0hvi6db5lphgzsykm1wn76jj4wwmm6lshvvd0qz7ipyyyhnd7sjp"; + sha256 = "0gb999ql4kfxd9473cx3xn6a11094dm4iyrx1dzd9v2sygh1l3pd"; } else fetchurl { url = "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_i686.deb"; - sha256 = "1jvscbxqbhavw4q81y5718qbyj74b9lwfw3gb4c1f4jmgm08wxxk"; + sha256 = "1nzg6i9i270xgaih381q096lb23rwxkif4ba9j62y3zjmj6az4xf"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/watchman/default.nix b/pkgs/development/tools/watchman/default.nix index b2029391b74..2f02a7a4a1f 100644 --- a/pkgs/development/tools/watchman/default.nix +++ b/pkgs/development/tools/watchman/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { name = "watchman-${version}"; - version = "4.1.0"; + version = "4.3.0"; src = fetchFromGitHub { owner = "facebook"; repo = "watchman"; rev = "v${version}"; - sha256 = "01ak2gsmc76baswpivzz00g22r547mpp8l7xfziwl5804nzszrcg"; + sha256 = "0dcaklw4d42z8hndy9zsdqqv1q8r18wnwldgdgjvp5c9vijvgyrd"; }; buildInputs = [ autoconf automake pcre ]; @@ -20,6 +20,9 @@ stdenv.mkDerivation rec { "--enable-lenient" "--enable-conffile=${if confFile == null then "no" else confFile}" "--with-pcre=yes" + + # For security considerations re: --disable-statedir, see: + # https://github.com/facebook/watchman/issues/178 "--disable-statedir" ]; |