2019-11-30 23:11:47 +00:00
|
|
|
{ stdenv, fetchgit, dconf, gtksourceview3, at-spi2-core, gtksourceviewmm,
|
2017-04-16 19:56:08 +01:00
|
|
|
boost, epoxy, cmake, aspell, llvmPackages, libgit2, pkgconfig, pcre,
|
2019-03-23 04:50:12 +00:00
|
|
|
libXdmcp, libxkbcommon, libpthreadstubs, wrapGAppsHook, aspellDicts, gtkmm3,
|
2018-07-17 21:11:16 +01:00
|
|
|
coreutils, glibc, dbus, openssl, libxml2, gnumake, ctags }:
|
2017-04-16 19:56:08 +01:00
|
|
|
|
|
|
|
with stdenv.lib;
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2019-08-15 13:41:18 +01:00
|
|
|
pname = "juicipp";
|
2017-04-16 19:56:08 +01:00
|
|
|
version = "1.2.3";
|
|
|
|
|
|
|
|
meta = {
|
2020-04-01 02:11:51 +01:00
|
|
|
homepage = "https://github.com/cppit/jucipp";
|
2017-04-16 19:56:08 +01:00
|
|
|
description = "A lightweight, platform independent C++-IDE with support for C++11, C++14, and experimental C++17 features depending on libclang version";
|
|
|
|
license = licenses.mit;
|
|
|
|
platforms = platforms.linux;
|
|
|
|
maintainers = with maintainers; [ xnwdd ];
|
|
|
|
};
|
|
|
|
|
|
|
|
src = fetchgit {
|
|
|
|
url = "https://github.com/cppit/jucipp.git";
|
|
|
|
rev = "refs/tags/v${version}";
|
|
|
|
deepClone = true;
|
|
|
|
sha256 = "0xp6ijnrggskjrvscp204bmdpz48l5a8nxr9abp17wni6akb5wiq";
|
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
|
|
|
|
buildInputs = [
|
2018-07-17 21:11:16 +01:00
|
|
|
dbus
|
2017-04-16 19:56:08 +01:00
|
|
|
openssl
|
|
|
|
libxml2
|
2019-03-23 04:50:12 +00:00
|
|
|
gtksourceview3
|
2018-02-25 02:23:58 +00:00
|
|
|
at-spi2-core
|
2017-04-16 19:56:08 +01:00
|
|
|
pcre
|
|
|
|
epoxy
|
|
|
|
boost
|
|
|
|
libXdmcp
|
|
|
|
cmake
|
|
|
|
aspell
|
|
|
|
libgit2
|
|
|
|
libxkbcommon
|
2019-03-23 04:50:12 +00:00
|
|
|
gtkmm3
|
2017-04-16 19:56:08 +01:00
|
|
|
libpthreadstubs
|
2019-03-23 04:50:12 +00:00
|
|
|
gtksourceviewmm
|
2017-04-16 19:56:08 +01:00
|
|
|
llvmPackages.clang.cc
|
|
|
|
llvmPackages.lldb
|
2019-11-30 23:11:47 +00:00
|
|
|
dconf
|
2017-04-16 19:56:08 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
|
|
lintIncludes = let
|
|
|
|
p = "arguments.emplace_back(\"-I";
|
|
|
|
e = "\");";
|
|
|
|
v = stdenv.lib.getVersion llvmPackages.clang;
|
|
|
|
in
|
|
|
|
p+llvmPackages.libcxx+"/include/c++/v1"+e
|
|
|
|
+p+llvmPackages.clang-unwrapped+"/lib/clang/"+v+"/include/"+e
|
|
|
|
+p+glibc.dev+"/include"+e;
|
|
|
|
|
|
|
|
preConfigure = ''
|
|
|
|
sed -i 's|liblldb LIBLLDB_LIBRARIES|liblldb LIBNOTHING|g' CMakeLists.txt
|
|
|
|
sed -i 's|> arguments;|> arguments; ${lintIncludes}|g' src/source_clang.cc
|
|
|
|
'';
|
2019-10-27 13:03:25 +00:00
|
|
|
cmakeFlags = [ "-DLIBLLDB_LIBRARIES=${stdenv.lib.makeLibraryPath [ llvmPackages.lldb ]}/liblldb.so" ];
|
2017-04-16 19:56:08 +01:00
|
|
|
postInstall = ''
|
|
|
|
mv $out/bin/juci $out/bin/.juci
|
|
|
|
makeWrapper "$out/bin/.juci" "$out/bin/juci" \
|
2017-10-11 00:01:42 +01:00
|
|
|
--set PATH "${stdenv.lib.makeBinPath [ ctags coreutils llvmPackages.clang.cc cmake gnumake llvmPackages.clang.bintools llvmPackages.clang ]}" \
|
2017-04-16 19:56:08 +01:00
|
|
|
--set NO_AT_BRIDGE 1 \
|
|
|
|
--set ASPELL_CONF "dict-dir ${aspellDicts.en}/lib/aspell"
|
|
|
|
'';
|
|
|
|
|
|
|
|
}
|