From 444ce2dbdf9932d563ac4be0c634b7c3a8997f91 Mon Sep 17 00:00:00 2001 From: midchildan Date: Mon, 1 Oct 2018 20:45:53 +0900 Subject: sourcetrail: init at 2018.3.55 --- pkgs/development/tools/sourcetrail/default.nix | 75 ++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 pkgs/development/tools/sourcetrail/default.nix (limited to 'pkgs/development') diff --git a/pkgs/development/tools/sourcetrail/default.nix b/pkgs/development/tools/sourcetrail/default.nix new file mode 100644 index 000000000000..2182f8697aab --- /dev/null +++ b/pkgs/development/tools/sourcetrail/default.nix @@ -0,0 +1,75 @@ +{ stdenv, fetchurl, autoPatchelfHook +, icu, zlib, expat, dbus, libheimdal, openssl}: + +stdenv.mkDerivation rec { + name = "sourcetrail-${version}"; + version = "2018.3.55"; + + src = fetchurl { + name = "sourtrail.tar.gz"; + url = "https://www.sourcetrail.com/downloads/${version}/linux/64bit"; + sha256 = "6f5fbbecc221e7165ecbf1c4d208e302dade4feea9d43eb3265521efc0a376e2"; + }; + + nativeBuildInputs = [ autoPatchelfHook ]; + buildInputs = [ zlib expat dbus stdenv.cc.cc openssl ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/opt + + mv -v setup/share $out + mv -v data/gui/icon/logo_1024_1024.png $out/share/icons/sourcetrail.png + mv -v data/gui/icon/project_256_256.png $out/share/icons/project-sourcetrail.png + + mkdir -p $out/share/sourcetrail/doc + mv -v README EULA.txt $out/share/sourcetrail/doc + mv -v plugin $out/share/sourcetrail + + cp -rv . $out/opt + + rm $out/opt/lib/libssl.so + rm $out/opt/lib/platforms/{libqeglfs.so,libqwebgl.so} + ln -s ${openssl}/lib/libssl.so $out/opt/lib/libssl.so + + substituteInPlace \ + $out/share/applications/sourcetrail.desktop \ + --replace /usr/bin/ $out/bin/ + + cat < $out/bin/sourcetrail + #! ${stdenv.shell} -e + + # XXX: Sourcetrail somehow copies the initial config files into the home + # directory without write permissions. We currently just copy them + # ourselves to work around this problem. + setup_config() { + local src dst + + [ ! -d ~/.config/sourcetrail ] && mkdir -p ~/.config/sourcetrail + for src in $out/opt/data/fallback/*; do + dst=~/.config/sourcetrail/"\$(basename "\$src")" + if [ ! -e "\$dst" ]; then + cp -r "\$src" "\$dst" + fi + done + + chmod -R u+w ~/.config/sourcetrail + } + + [ -d "\$HOME" ] && setup_config + exec "$out/opt/Sourcetrail.sh" "\$@" + EOF + chmod +x $out/bin/sourcetrail + + runHook postInstall + ''; + + meta = with stdenv.lib; { + homepage = https://www.sourcetrail.com; + description = "A cross-platform source explorer for C/C++ and Java"; + platforms = [ "x86_64-linux" ]; + license = licenses.unfree; + maintainers = with maintainers; [ midchildan ]; + }; +} -- cgit 1.4.1