sourcetrail: remove
This commit is contained in:
parent
9341cd89e9
commit
e4b89c06c3
|
@ -130,6 +130,7 @@ mapAliases (with prev; {
|
|||
unite = unite-vim;
|
||||
UltiSnips = ultisnips;
|
||||
vim-addon-vim2nix = vim2nix;
|
||||
vim-sourcetrail = throw "vim-sourcetrail has been removed: abandoned by upstream"; # Added 2022-08-14
|
||||
vimproc = vimproc-vim;
|
||||
vimshell = vimshell-vim;
|
||||
vinegar = vim-vinegar;
|
||||
|
|
|
@ -11540,18 +11540,6 @@ final: prev:
|
|||
meta.homepage = "https://github.com/christoomey/vim-sort-motion/";
|
||||
};
|
||||
|
||||
vim-sourcetrail = buildVimPluginFrom2Nix {
|
||||
pname = "vim-sourcetrail";
|
||||
version = "2021-02-16";
|
||||
src = fetchFromGitHub {
|
||||
owner = "CoatiSoftware";
|
||||
repo = "vim-sourcetrail";
|
||||
rev = "c9c621a7ab81c52a661457ccf33a64fd7c56fd9d";
|
||||
sha256 = "192f69yz1hh2k0b2kcvfvv1jirjcvnbxvjkagmlkkqcg8w32nmlg";
|
||||
};
|
||||
meta.homepage = "https://github.com/CoatiSoftware/vim-sourcetrail/";
|
||||
};
|
||||
|
||||
vim-speeddating = buildVimPluginFrom2Nix {
|
||||
pname = "vim-speeddating";
|
||||
version = "2021-04-29";
|
||||
|
|
|
@ -969,7 +969,6 @@ https://github.com/honza/vim-snippets/,,
|
|||
https://github.com/jhradilek/vim-snippets/,,vim-docbk-snippets
|
||||
https://github.com/tomlion/vim-solidity/,,
|
||||
https://github.com/christoomey/vim-sort-motion/,,
|
||||
https://github.com/CoatiSoftware/vim-sourcetrail/,,
|
||||
https://github.com/tpope/vim-speeddating/,,
|
||||
https://github.com/kbenzie/vim-spirv/,,
|
||||
https://github.com/mhinz/vim-startify/,,
|
||||
|
|
|
@ -1,275 +0,0 @@
|
|||
{ lib, stdenv, fetchFromGitHub, callPackage, writeScript, fetchpatch, cmake
|
||||
, wrapQtAppsHook, qt5, boost, llvmPackages, gcc, jdk, maven, pythonPackages
|
||||
, coreutils, which, desktop-file-utils, shared-mime-info, imagemagick, libicns
|
||||
}:
|
||||
|
||||
let
|
||||
# TODO: remove when version incompatibility issue with python3Packages.jedi is
|
||||
# resolved
|
||||
parso = pythonPackages.callPackage ./parso.nix { };
|
||||
jedi = pythonPackages.callPackage ./jedi.nix { inherit parso; };
|
||||
|
||||
pythonIndexer =
|
||||
pythonPackages.callPackage ./python.nix { inherit jedi parso; };
|
||||
javaIndexer = callPackage ./java.nix { };
|
||||
|
||||
appPrefixDir = if stdenv.isDarwin then
|
||||
"$out/Applications/Sourcetrail.app/Contents"
|
||||
else
|
||||
"$out/opt/sourcetrail";
|
||||
appBinDir =
|
||||
if stdenv.isDarwin then "${appPrefixDir}/MacOS" else "${appPrefixDir}/bin";
|
||||
appResourceDir = if stdenv.isDarwin then
|
||||
"${appPrefixDir}/Resources"
|
||||
else
|
||||
"${appPrefixDir}/share";
|
||||
|
||||
# Upstream script:
|
||||
# https://github.com/CoatiSoftware/Sourcetrail/blob/master/script/update_java_indexer.sh
|
||||
installJavaIndexer = writeScript "update_java_indexer.sh" ''
|
||||
#!${stdenv.shell}
|
||||
|
||||
cd "$(dirname "$0")/.."
|
||||
dst="${appResourceDir}/data/java/lib"
|
||||
|
||||
mkdir -p "$dst"
|
||||
cp "${javaIndexer}/target/java-indexer-1.0.jar" "$dst/java-indexer.jar"
|
||||
cp -r java_indexer/lib/*.jar "$dst"
|
||||
'';
|
||||
|
||||
# Upstream script:
|
||||
# https://github.com/CoatiSoftware/Sourcetrail/blob/master/script/download_python_indexer.sh
|
||||
installPythonIndexer = writeScript "download_python_indexer.sh" ''
|
||||
#!${stdenv.shell}
|
||||
|
||||
mkdir -p ${appResourceDir}/data
|
||||
ln -s "${pythonIndexer}/bin" "${appResourceDir}/data/python"
|
||||
'';
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "sourcetrail";
|
||||
# NOTE: skip 2020.4.35 https://github.com/CoatiSoftware/Sourcetrail/pull/1136
|
||||
version = "2020.2.43";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CoatiSoftware";
|
||||
repo = "Sourcetrail";
|
||||
rev = version;
|
||||
sha256 = "0jp9y86xzkcxikc1cn4f6gqgg6zdssck08677ldagw25p1zadvzw";
|
||||
};
|
||||
|
||||
patches = let
|
||||
url = commit:
|
||||
"https://github.com/CoatiSoftware/Sourcetrail/commit/${commit}.patch";
|
||||
in [
|
||||
./disable-updates.patch
|
||||
./disable-failing-tests.patch # FIXME: 5 test cases failing due to sandbox
|
||||
# TODO: remove on next release
|
||||
(fetchpatch {
|
||||
name = "fix-filecopy.patch";
|
||||
url = url "d079d1787c9e5cadcf41a003666dc0746cc1cda0";
|
||||
sha256 = "0mixy2a4s16kv2q89k7y4dv21wnv2zd86i4gdwn3xz977y8hf92b";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "fix-broken-test.patch";
|
||||
url = url "85329174bac8a301733100dc4540258f977e2c5a";
|
||||
sha256 = "17l4417sbmkrgr6v3fbazlmkzl9774zrpjv2n9zwfrz52y30f7b9";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
jdk
|
||||
wrapQtAppsHook
|
||||
desktop-file-utils
|
||||
imagemagick
|
||||
javaIndexer # the resulting jar file is copied by our install script
|
||||
] ++ lib.optional (stdenv.isDarwin) libicns
|
||||
++ lib.optionals doCheck testBinPath;
|
||||
buildInputs = [ boost pythonIndexer shared-mime-info ]
|
||||
++ (with qt5; [ qtbase qtsvg ]) ++ (with llvmPackages; [ libclang llvm ]);
|
||||
binPath = [ gcc jdk.jre maven which ];
|
||||
testBinPath = binPath ++ [ coreutils ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBoost_USE_STATIC_LIBS=OFF"
|
||||
"-DBUILD_CXX_LANGUAGE_PACKAGE=ON"
|
||||
"-DBUILD_JAVA_LANGUAGE_PACKAGE=ON"
|
||||
"-DBUILD_PYTHON_LANGUAGE_PACKAGE=ON"
|
||||
] ++ lib.optional stdenv.isLinux
|
||||
"-DCMAKE_PREFIX_PATH=${llvmPackages.clang-unwrapped}"
|
||||
++ lib.optional stdenv.isDarwin
|
||||
"-DClang_DIR=${llvmPackages.clang-unwrapped}";
|
||||
|
||||
postPatch = let
|
||||
major = lib.versions.major version;
|
||||
minor = lib.versions.minor version;
|
||||
patch = lib.versions.patch version;
|
||||
in ''
|
||||
# Upstream script obtains it's version from git:
|
||||
# https://github.com/CoatiSoftware/Sourcetrail/blob/master/cmake/version.cmake
|
||||
cat > cmake/version.cmake <<EOF
|
||||
set(GIT_BRANCH "")
|
||||
set(GIT_COMMIT_HASH "")
|
||||
set(GIT_VERSION_NUMBER "")
|
||||
set(VERSION_YEAR "${major}")
|
||||
set(VERSION_MINOR "${minor}")
|
||||
set(VERSION_COMMIT "${patch}")
|
||||
set(BUILD_TYPE "Release")
|
||||
set(VERSION_STRING "${major}.${minor}.${patch}")
|
||||
EOF
|
||||
|
||||
# Sourcetrail attempts to copy clang headers from the LLVM store path
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace "\''${LLVM_BINARY_DIR}" '${lib.getLib llvmPackages.clang-unwrapped}'
|
||||
|
||||
patchShebangs script
|
||||
ln -sf ${installJavaIndexer} script/update_java_indexer.sh
|
||||
ln -sf ${installPythonIndexer} script/download_python_indexer.sh
|
||||
'';
|
||||
|
||||
# Directory layout for Linux:
|
||||
#
|
||||
# Sourcetrail doesn't use the usual cmake install() commands and instead uses
|
||||
# its own bash script for packaging. Since we're not able to reuse the script,
|
||||
# we'll have to roll our own in nixpkgs.
|
||||
#
|
||||
# Sourcetrail currently assumes one of the following two layouts for the
|
||||
# placement of its files:
|
||||
#
|
||||
# AppImage Layout Traditional Layout
|
||||
# ├── bin/ ├── sourcetrail*
|
||||
# │ └── sourcetrail* └── data/
|
||||
# └── share/
|
||||
# └── data/ sourcetrail: application executable
|
||||
# data: contains assets exlusive to Sourcetrail
|
||||
#
|
||||
# The AppImage layout is the one currently used by the upstream project for
|
||||
# packaging its Linux port. We can't use this layout as-is for nixpkgs,
|
||||
# because Sourcetrail treating $out/share/data as its own might lead to
|
||||
# conflicts with other packages when linked into a Nix profile.
|
||||
#
|
||||
# On the other hand, the traditional layout isn't used by the upstream project
|
||||
# anymore so there's a risk that it might become unusable at any time in the
|
||||
# future. Since it's hard to detect these problems at build time, it's not a
|
||||
# good idea to use this layout for packaging in nixpkgs.
|
||||
#
|
||||
# Considering the problems with the above layouts, we go with the third
|
||||
# option, a slight variation of the AppImage layout:
|
||||
#
|
||||
# nixpkgs
|
||||
# ├── bin/
|
||||
# │ └── sourcetrail@ (symlink to opt/sourcetrail/bin/sourcetrail)
|
||||
# └── opt/sourcetrail/
|
||||
# ├── bin/
|
||||
# │ └── sourcetrail*
|
||||
# └── share/
|
||||
# └── data/
|
||||
#
|
||||
# Upstream install script:
|
||||
# https://github.com/CoatiSoftware/Sourcetrail/blob/master/setup/Linux/createPackages.sh
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p ${appResourceDir}
|
||||
cp -R ../bin/app/data ${appResourceDir}
|
||||
cp -R ../bin/app/user/projects ${appResourceDir}/data/fallback
|
||||
rm -r ${appResourceDir}/data/install ${appResourceDir}/data/*_template.xml
|
||||
|
||||
mkdir -p "${appBinDir}"
|
||||
cp app/Sourcetrail ${appBinDir}/sourcetrail
|
||||
cp app/sourcetrail_indexer ${appBinDir}/sourcetrail_indexer
|
||||
wrapQtApp ${appBinDir}/sourcetrail \
|
||||
--prefix PATH : ${lib.makeBinPath binPath}
|
||||
|
||||
mkdir -p $out/bin
|
||||
'' + lib.optionalString (stdenv.isLinux) ''
|
||||
ln -sf ${appBinDir}/sourcetrail $out/bin/sourcetrail
|
||||
|
||||
desktop-file-install --dir=$out/share/applications \
|
||||
--set-key Exec --set-value ${appBinDir}/sourcetrail \
|
||||
../setup/Linux/data/sourcetrail.desktop
|
||||
|
||||
mkdir -p $out/share/mime/packages
|
||||
cp ../setup/Linux/data/sourcetrail-mime.xml $out/share/mime/packages/
|
||||
|
||||
for size in 48 64 128 256 512; do
|
||||
mkdir -p $out/share/icons/hicolor/''${size}x''${size}/apps/
|
||||
convert ${appResourceDir}/data/gui/icon/logo_1024_1024.png \
|
||||
-resize ''${size}x''${size} \
|
||||
$out/share/icons/hicolor/''${size}x''${size}/apps/sourcetrail.png
|
||||
done
|
||||
'' + lib.optionalString (stdenv.isDarwin) ''
|
||||
# change case (some people *might* choose a case sensitive Nix store)
|
||||
mv ${appBinDir}/sourcetrail{,.tmp}
|
||||
mv ${appBinDir}/{sourcetrail.tmp,Sourcetrail}
|
||||
mv ${appBinDir}/sourcetrail_indexer ${appResourceDir}/Sourcetrail_indexer
|
||||
|
||||
ln -sf ${appBinDir}/Sourcetrail $out/bin/sourcetrail
|
||||
|
||||
cp app/bundle_info.plist ${appPrefixDir}/Info.plist
|
||||
|
||||
mkdir -p ${appResourceDir}/icon.iconset
|
||||
for size in 16 32 128 256 512; do
|
||||
convert ${appResourceDir}/data/gui/icon/logo_1024_1024.png \
|
||||
-resize ''${size}x''${size} \
|
||||
${appResourceDir}/icon.iconset/icon_''${size}x''${size}.png
|
||||
convert ${appResourceDir}/data/gui/icon/logo_1024_1024.png \
|
||||
-resize $(( 2 * size ))x$(( 2 * size )) \
|
||||
${appResourceDir}/icon.iconset/icon_''${size}x''${size}@2x.png
|
||||
done
|
||||
png2icns ${appResourceDir}/icon.icns \
|
||||
${appResourceDir}/icon.iconset/icon_{16x16,32x32,128x128,256x256,512x512,512x512@2x}.png
|
||||
|
||||
mkdir -p ${appResourceDir}/project.iconset
|
||||
for size in 16 32 64 128 256 512; do
|
||||
convert ${appResourceDir}/data/gui/icon/project_256_256.png \
|
||||
-resize ''${size}x''${size} \
|
||||
${appResourceDir}/project.iconset/icon_''${size}x''${size}.png
|
||||
convert ${appResourceDir}/data/gui/icon/project_256_256.png \
|
||||
-resize $(( 2 * size ))x$(( 2 * size )) \
|
||||
${appResourceDir}/project.iconset/icon_''${size}x''${size}@2x.png
|
||||
done
|
||||
png2icns ${appResourceDir}/project.icns \
|
||||
${appResourceDir}/project.iconset/icon_{16x16,32x32,128x128,256x256,512x512,512x512@2x}.png
|
||||
'' + ''
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
rm -rf ../bin/app/data/{python,java/lib}
|
||||
ln -s $out/opt/sourcetrail/share/data/python ../bin/app/data/python
|
||||
ln -s $out/opt/sourcetrail/share/data/java/lib ../bin/app/data/java/lib
|
||||
|
||||
pushd test
|
||||
# shorten PATH to prevent build failures
|
||||
wrapQtApp ./Sourcetrail_test \
|
||||
--set PATH "" \
|
||||
--prefix PATH : ${lib.makeBinPath testBinPath} \
|
||||
--set MAVEN_OPTS "-Dmaven.repo.local=$TMPDIR/m2repo"
|
||||
./Sourcetrail_test
|
||||
popd
|
||||
|
||||
rm ../bin/app/data/{python,java/lib}
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
# This has to be done manually in the installPhase because the actual binary
|
||||
# lives in $out/opt/sourcetrail/bin, which isn't covered by wrapQtAppsHook
|
||||
dontWrapQtApps = true;
|
||||
|
||||
# FIXME: Some test cases are disabled in the patch phase.
|
||||
# FIXME: Tests are disabled on some platforms because of faulty detection
|
||||
# logic for libjvm.so. Should work with manual configuration.
|
||||
doCheck = !stdenv.isDarwin && stdenv.isx86_64;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.sourcetrail.com";
|
||||
description = "A cross-platform source explorer for C/C++ and Java";
|
||||
platforms = platforms.all;
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ midchildan ];
|
||||
};
|
||||
}
|
|
@ -1,48 +0,0 @@
|
|||
diff --git a/src/test/SourceGroupTestSuite.cpp b/src/test/SourceGroupTestSuite.cpp
|
||||
index b5c5562a..d56b83bb 100644
|
||||
--- a/src/test/SourceGroupTestSuite.cpp
|
||||
+++ b/src/test/SourceGroupTestSuite.cpp
|
||||
@@ -522,6 +522,7 @@ TEST_CASE("sourcegroup java gradle generates expected output")
|
||||
|
||||
TEST_CASE("sourcegroup java maven generates expected output")
|
||||
{
|
||||
+ return;
|
||||
std::vector<FilePath> mavenPaths = utility::getMavenExecutablePathDetector()->getPaths();
|
||||
|
||||
REQUIRE(!mavenPaths.empty());
|
||||
diff --git a/src/test/UtilityMavenTestSuite.cpp b/src/test/UtilityMavenTestSuite.cpp
|
||||
index f48fe2b6..363ef64a 100644
|
||||
--- a/src/test/UtilityMavenTestSuite.cpp
|
||||
+++ b/src/test/UtilityMavenTestSuite.cpp
|
||||
@@ -17,6 +17,7 @@ TEST_CASE("maven path detector is working")
|
||||
|
||||
TEST_CASE("maven wrapper detects source directories of simple projects")
|
||||
{
|
||||
+ return;
|
||||
std::shared_ptr<PathDetector> mavenPathDetector = utility::getMavenExecutablePathDetector();
|
||||
REQUIRE(!mavenPathDetector->getPaths().empty());
|
||||
|
||||
@@ -41,6 +42,7 @@ TEST_CASE("maven wrapper detects source directories of simple projects")
|
||||
|
||||
TEST_CASE("maven wrapper detects source and test directories of simple projects")
|
||||
{
|
||||
+ return;
|
||||
std::shared_ptr<PathDetector> mavenPathDetector = utility::getMavenExecutablePathDetector();
|
||||
REQUIRE(!mavenPathDetector->getPaths().empty());
|
||||
|
||||
@@ -65,6 +67,7 @@ TEST_CASE("maven wrapper detects source and test directories of simple projects"
|
||||
|
||||
TEST_CASE("maven wrapper detects source directories of nested modules")
|
||||
{
|
||||
+ return;
|
||||
std::shared_ptr<PathDetector> mavenPathDetector = utility::getMavenExecutablePathDetector();
|
||||
REQUIRE(!mavenPathDetector->getPaths().empty());
|
||||
|
||||
@@ -101,6 +104,7 @@ TEST_CASE("maven wrapper detects source directories of nested modules")
|
||||
|
||||
TEST_CASE("maven wrapper detects source and test directories of nested modules")
|
||||
{
|
||||
+ return;
|
||||
std::shared_ptr<PathDetector> mavenPathDetector = utility::getMavenExecutablePathDetector();
|
||||
REQUIRE(!mavenPathDetector->getPaths().empty());
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/src/lib/settings/ApplicationSettings.cpp b/src/lib/settings/ApplicationSettings.cpp
|
||||
index 1be13ccd..db6098e1 100644
|
||||
--- a/src/lib/settings/ApplicationSettings.cpp
|
||||
+++ b/src/lib/settings/ApplicationSettings.cpp
|
||||
@@ -593,7 +593,7 @@ void ApplicationSettings::setUserToken(std::string token)
|
||||
|
||||
bool ApplicationSettings::getAutomaticUpdateCheck() const
|
||||
{
|
||||
- return getValue<bool>("user/update_check/automatic", true);
|
||||
+ return false;
|
||||
}
|
||||
|
||||
void ApplicationSettings::setAutomaticUpdateCheck(bool automaticUpdates)
|
|
@ -1,28 +0,0 @@
|
|||
{ lib, pkgs, javaPackages }:
|
||||
|
||||
let
|
||||
javaIndexer = javaPackages.mavenbuild {
|
||||
name = "sourcetrail-java-indexer-${pkgs.sourcetrail.version}";
|
||||
src = pkgs.sourcetrail.src;
|
||||
m2Path = "com/sourcetrail/java-indexer";
|
||||
|
||||
# This doesn't include all required dependencies. We still rely on binary
|
||||
# copies of maven packages included in the source repo for building.
|
||||
mavenDeps = with javaPackages; [
|
||||
mavenCompiler_3_2
|
||||
plexusCompilerApi_2_4
|
||||
plexusCompilerJavac_2_4
|
||||
plexusCompilerManager_2_4
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Java indexer for Sourcetrail";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
||||
};
|
||||
};
|
||||
in
|
||||
javaIndexer.overrideAttrs (drv: {
|
||||
postUnpack = ''
|
||||
export sourceRoot=''${sourceRoot}/java_indexer
|
||||
'';
|
||||
})
|
|
@ -1,36 +0,0 @@
|
|||
# Taken from a past commit of nixpkgs
|
||||
|
||||
{ lib, buildPythonPackage, fetchPypi, pytest, glibcLocales, tox, pytest-cov, parso }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "jedi";
|
||||
|
||||
# TODO: Remove this package when version incompatibility issue with
|
||||
# python3Packages.jedi is resolved.
|
||||
#
|
||||
# Upstream requirements:
|
||||
# https://github.com/CoatiSoftware/SourcetrailPythonIndexer#requirements
|
||||
version = "0.17.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "86ed7d9b750603e4ba582ea8edc678657fb4007894a12bcf6f4bb97892f31d20";
|
||||
};
|
||||
|
||||
checkInputs = [ pytest glibcLocales tox pytest-cov ];
|
||||
|
||||
propagatedBuildInputs = [ parso ];
|
||||
|
||||
checkPhase = ''
|
||||
LC_ALL="en_US.UTF-8" py.test test
|
||||
'';
|
||||
|
||||
# tox required for tests: https://github.com/davidhalter/jedi/issues/808
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/davidhalter/jedi";
|
||||
description = "An autocompletion tool for Python that can be used for text editors";
|
||||
license = licenses.lgpl3Plus;
|
||||
};
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
# Taken from a past commit of nixpkgs
|
||||
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, pytest
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "parso";
|
||||
|
||||
# TODO: Remove along with ./jedi.nix when version compatiblity issue is
|
||||
# resolved.
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "908e9fae2144a076d72ae4e25539143d40b8e3eafbaeae03c1bfe226f4cdf12c";
|
||||
};
|
||||
|
||||
checkInputs = [ pytest ];
|
||||
|
||||
meta = {
|
||||
description = "A Python Parser";
|
||||
homepage = "https://github.com/davidhalter/parso";
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
|
||||
}
|
|
@ -1,72 +0,0 @@
|
|||
{ stdenv, lib, fetchFromGitHub, wrapPython, python, jedi, parso, cmake, swig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "SourcetrailPythonIndexer";
|
||||
version = "v1_db25_p5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CoatiSoftware";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "01jaigxigq6dvfwq018gn9qw7i6p4jm0y71lqzschfv9vwf6ga45";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapPython cmake swig ];
|
||||
buildInputs = [ python ];
|
||||
pythonPath = [ jedi parso ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
cmakeFlags = [
|
||||
"-DBUILD_BINDINGS_PYTHON=1"
|
||||
"-DPYTHON_VERSION=${lib.versions.majorMinor python.version}"
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
pushd SourcetrailDB
|
||||
cmake -Bbuild $cmakeFlags .
|
||||
pushd build
|
||||
make -j $NIX_BUILD_CORES
|
||||
popd
|
||||
popd
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
pushd SourcetrailDB/build/bindings_python
|
||||
cp _sourcetraildb.dylib _sourcetraildb.so
|
||||
popd
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
buildPythonPath "$pythonPath"
|
||||
|
||||
# FIXME: some tests are failing
|
||||
# PYTHONPATH="$program_PYTHONPATH:SourcetrailDB/build/bindings_python" \
|
||||
# ${python}/bin/python test.py
|
||||
PYTHONPATH="$program_PYTHONPATH:SourcetrailDB/build/bindings_python" \
|
||||
${python}/bin/python test_shallow.py
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
shopt -s extglob
|
||||
mkdir -p $out/{bin,libexec}
|
||||
|
||||
cp !(run).py $out/libexec # copy *.py excluding run.py (needs extglob)
|
||||
cat <(echo '#!/usr/bin/env python') run.py > $out/libexec/run.py
|
||||
chmod +x $out/libexec/run.py
|
||||
ln -s $out/libexec/run.py $out/bin/SourcetrailPythonIndexer
|
||||
|
||||
pushd SourcetrailDB/build/bindings_python
|
||||
cp sourcetraildb.py $out/libexec
|
||||
cp _sourcetraildb.so $out/libexec/_sourcetraildb.so
|
||||
popd
|
||||
|
||||
wrapPythonProgramsIn "$out/libexec" "$pythonPath"
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python indexer for Sourcetrail";
|
||||
homepage = "https://github.com/CoatiSoftware/SourcetrailPythonIndexer";
|
||||
license = licenses.gpl3;
|
||||
};
|
||||
}
|
|
@ -1328,6 +1328,8 @@ mapAliases ({
|
|||
source-han-serif-simplified-chinese = source-han-serif;
|
||||
source-han-serif-traditional-chinese = source-han-serif;
|
||||
|
||||
sourcetrail = throw "sourcetrail has been removed: abandoned by upstream"; # Added 2022-08-14
|
||||
|
||||
spaceOrbit = throw "'spaceOrbit' has been renamed to/replaced by 'space-orbit'"; # Converted to throw 2022-02-22
|
||||
spectral = neochat; # Added 2020-12-27
|
||||
speech_tools = throw "'speech_tools' has been renamed to/replaced by 'speech-tools'"; # Converted to throw 2022-02-22
|
||||
|
|
|
@ -30612,16 +30612,6 @@ with pkgs;
|
|||
|
||||
spotify = callPackage ../applications/audio/spotify/wrapper.nix { };
|
||||
|
||||
sourcetrail = let
|
||||
llvmPackages = llvmPackages_10;
|
||||
in libsForQt5.callPackage ../development/tools/sourcetrail {
|
||||
stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
|
||||
jdk = jdk8;
|
||||
pythonPackages = python3Packages;
|
||||
inherit llvmPackages;
|
||||
boost = boost16x; # Filesystem tests in the checkPhase fail with Boost 1.77
|
||||
};
|
||||
|
||||
spotifywm = callPackage ../applications/audio/spotifywm { };
|
||||
|
||||
psst = callPackage ../applications/audio/psst { };
|
||||
|
|
Loading…
Reference in a new issue