Add Sourcetrail

  • Open
  • quality assurance status badge
Details
2 participants
  • Nicolas Goaziou
  • phodina
Owner
unassigned
Submitted by
phodina
Severity
normal
P
P
phodina wrote on 2 Dec 2022 08:18
(name . Guix Patches)(address . guix-patches@gnu.org)
ATA5SJyXZ9f6XKftIRk4OdQUebQ-1m-OweW3XZgoQEn_TiC_ShsXfwdZXwd66tIF_zIyIv2nkoDybLflXj3e-t7rhI1l8Fh0Yjpzu08hLTw=@protonmail.com
Hello,

these patches add Sourcetrail code analysis tool, which unfortunately is not longer developed.

----
Petr
Attachment: file
From 015a65f27f46bbdad3e07dbabc5154609ae6ec2d Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Thu, 11 Nov 2021 19:21:44 +0100
Subject: [PATCH 2/2] gnu: Add sourcetrail.

* gnu/packages/qt.scm (sourcetrail): New variable.

Toggle diff (61 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 30bf429897..540959bbbc 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -62,6 +62,7 @@ (define-module (gnu packages qt)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cups)
@@ -4261,6 +4262,46 @@ (define-public qhexedit
data.")
(license license:lgpl2.1)))
+(define-public sourcetrail
+(package
+ (name "sourcetrail")
+ (version "2021.1.30")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/CoatiSoftware/Sourcetrail")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0h0q2bfa6dv8hmc15rzj48bna1krzjwlcjm25dffbsi81xjcazb5"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:configure-flags #~(list "-DBoost_USE_STATIC_LIBS=OFF" (string-append
+ "-DBOOST_ROOT=" #$(this-package-input "boost") "/lib"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out #$output)
+ (prefix (string-append out "/opt/sourcetrail"))
+ (build (getcwd))
+ (share (string-append prefix "/share")))
+ (mkdir-p (string-append out "/bin"))
+ (install-file (string-append build "/app/Sourcetrail") (string-append
+ out "/bin"))
+ (install-file (string-append build
+ "/app/sourcetrail_indexer") (string-append
+ out "/bin"))))))))
+ (native-inputs (list pkg-config))
+ (inputs (list boost-for-sourcetrail
+ qtbase-5
+ qtsvg-5))
+ (synopsis "Interactive source explorer")
+ (description "Offline source explorer that helps you get productive on unfamiliar source code with optional IDE integration.")
+ (home-page "https://www.sourcetrail.com")
+ (license license:gpl3)))
+
(define-public soqt
(let ((commit-ref "fb8f655632bb9c9c60e0ff9fa69a5ba22d3ff99d")
(revision "1"))
--
2.38.1
N
N
Nicolas Goaziou wrote on 23 Apr 2023 16:27
(name . phodina via Guix-patches via)(address . guix-patches@gnu.org)
87cz3usmg6.fsf@nicolasgoaziou.fr
Hello,

phodina via Guix-patches via <guix-patches@gnu.org> writes:


Toggle quote (2 lines)
> these patches add Sourcetrail code analysis tool,

Thank you.

Toggle quote (2 lines)
> which unfortunately is not longer developed.

This doesn't sound too good. I notice there is a somewhat active fork at
sense to use it instead?

Toggle quote (22 lines)
> +(define-public boost-for-sourcetrail
> + ;; Older version for Sourcetrail 1.1.30.
> + (package
> + (name "boost")
> + (version "1.67.0")
> + (source (origin
> + (method url-fetch)
> + (uri (string-append
> + "mirror://sourceforge/boost/boost/" version "/boost_"
> + (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)
> + ".tar.bz2"))
> + (sha256
> + (base32
> + "1fmdlmkzsrd46wwk834jsi2ypxj68w2by0rfcg2pzrafk5rck116"))
> + (patches (search-patches "boost-fix-icu-build.patch"))))
> + (build-system gnu-build-system)
> + (inputs `(("icu4c" ,icu4c)
> + ("zlib" ,zlib)))
> + (native-inputs
> + `(("perl" ,perl)
> + ("python" ,python-2)

Guix has dropped support for Python 2, so this Boost package is not
really an option. Is it possible to use a more recent Boost library?

Toggle quote (18 lines)
> +(define-public sourcetrail
> +(package
> + (name "sourcetrail")
> + (version "2021.1.30")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/CoatiSoftware/Sourcetrail")
> + (commit version)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> + "0h0q2bfa6dv8hmc15rzj48bna1krzjwlcjm25dffbsi81xjcazb5"))))
> + (build-system cmake-build-system)
> + (arguments
> + (list #:configure-flags #~(list "-DBoost_USE_STATIC_LIBS=OFF" (string-append
> + "-DBOOST_ROOT=" #$(this-package-input "boost") "/lib"))

README mentions build process should also set Qt5_DIR configure flag.

Toggle quote (15 lines)
> + #:phases
> + #~(modify-phases %standard-phases
> + (replace 'install
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((out #$output)
> + (prefix (string-append out "/opt/sourcetrail"))
> + (build (getcwd))
> + (share (string-append prefix "/share")))
> + (mkdir-p (string-append out "/bin"))
> + (install-file (string-append build "/app/Sourcetrail") (string-append
> + out "/bin"))
> + (install-file (string-append build
> + "/app/sourcetrail_indexer") (string-append
> + out "/bin"))))))))

Indentation is a bit off.

Toggle quote (7 lines)
> + (native-inputs (list pkg-config))
> + (inputs (list boost-for-sourcetrail
> + qtbase-5
> + qtsvg-5))
> + (synopsis "Interactive source explorer")
> + (description "Offline source explorer that helps you get productive on unfamiliar source code with optional IDE integration.")

Description should consist of full sentences.

Although this review is a bit late, would you like to try sending an
updated patch?

Regards,
--
Nicolas Goaziou
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 59765@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 59765
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch