summaryrefslogtreecommitdiff
path: root/gnu/packages/code.scm
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2020-10-21 16:57:58 +0200
committerMarius Bakke <marius@gnu.org>2020-10-22 18:41:28 +0200
commit0658cc83d2fb8e6591666f622efd5ca8f27c8d86 (patch)
treea9415f3374c0d98910c6ff1f724b6be7f8bd9446 /gnu/packages/code.scm
parentcad55e91fd5a481279e6286a2728761b8da7c07a (diff)
gnu: universal-ctags: Update to 5.9.20201018.0.
* gnu/packages/code.scm (universal-ctags): Update to 5.9.20201018.0. [native-inputs]: Replace PACKCC with a forked origin.
Diffstat (limited to 'gnu/packages/code.scm')
-rw-r--r--gnu/packages/code.scm150
1 files changed, 80 insertions, 70 deletions
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index e3e4c6738c4..86f633a28b1 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -339,81 +339,91 @@ features that are not supported by the standard @code{stdio} implementation.")
339 "http://sourceforge.net/p/ctrio/git/ci/master/tree/README")))) 339 "http://sourceforge.net/p/ctrio/git/ci/master/tree/README"))))
340 340
341(define-public universal-ctags 341(define-public universal-ctags
342 ;; The project is unable to decide whether to use 1.0 or 6.0 as the 342 (package
343 ;; first public release version (it started as a fork of another ctags 343 (name "universal-ctags")
344 ;; project that was on version 5.8), and five years later have been 344 (version "5.9.20201018.0")
345 ;; unable to tag a release. Thus, we just take the master branch. 345 (source
346 (let ((commit "0c78c0c4a68030df0d025c90bad291108b5e7107") 346 (origin
347 (revision "0")) 347 (method git-fetch)
348 (package 348 (uri (git-reference
349 (name "universal-ctags") 349 (url "https://github.com/universal-ctags/ctags")
350 (version (git-version "0.0.0" revision commit)) 350 (commit (string-append "p" version))))
351 (source 351 (file-name (git-file-name name version))
352 (origin 352 (sha256
353 (method git-fetch) 353 (base32
354 (uri (git-reference 354 "174p1w20pl25k996hfw61inw4mqhskmmic1lyw2m65firmkyvs7x"))
355 (url "https://github.com/universal-ctags/ctags") 355 (modules '((guix build utils)))
356 (commit commit))) 356 (snippet
357 (file-name (git-file-name name version)) 357 '(begin
358 (sha256 358 ;; Remove the bundled PackCC and associated build rules.
359 (base32 359 (substitute* "Makefile.am"
360 "0lnxc3kwi6srw0015m16vyjfdc7pdr9d1qzxjsbfv3c69ag87jhc")) 360 (("\\$\\(packcc_verbose\\)\\$\\(PACKCC\\)")
361 (modules '((guix build utils))) 361 "packcc")
362 (snippet 362 (("\\$\\(PEG_SRCS\\) \\$\\(PEG_HEADS\\): packcc\\$\\(EXEEXT\\)")
363 '(begin 363 "$(PEG_SRCS) $(PEG_HEADS):")
364 ;; Remove the bundled PackCC and associated build rules. 364 (("noinst_PROGRAMS \\+= packcc")
365 (substitute* "Makefile.am" 365 ""))
366 (("\\$\\(packcc_verbose\\)\\$\\(PACKCC\\)") 366 (delete-file-recursively "misc/packcc")
367 "packcc") 367 #t))))
368 (("\\$\\(PEG_SRCS\\) \\$\\(PEG_HEADS\\): packcc\\$\\(EXEEXT\\)") 368 (build-system gnu-build-system)
369 "$(PEG_SRCS) $(PEG_HEADS):") 369 (arguments
370 (("noinst_PROGRAMS \\+= packcc") 370 '(#:phases (modify-phases %standard-phases
371 "")) 371 (add-after 'unpack 'make-files-writable
372 (delete-file-recursively "misc/packcc") 372 (lambda _
373 #t)))) 373 (for-each make-file-writable (find-files "."))
374 (build-system gnu-build-system) 374 #t))
375 (arguments 375 (add-before 'bootstrap 'patch-optlib2c
376 '(#:phases (modify-phases %standard-phases 376 (lambda _
377 (add-after 'unpack 'make-files-writable 377 ;; The autogen.sh script calls out to optlib2c to
378 (lambda _ 378 ;; generate translations, so we can not wait for the
379 (for-each make-file-writable (find-files ".")) 379 ;; patch-source-shebangs phase.
380 #t)) 380 (patch-shebang "misc/optlib2c")
381 (add-before 'bootstrap 'patch-optlib2c 381 #t))
382 (lambda _ 382 (add-before 'check 'patch-tests
383 ;; The autogen.sh script calls out to optlib2c to 383 (lambda _
384 ;; generate translations, so we can not wait for the 384 (substitute* "misc/units"
385 ;; patch-source-shebangs phase. 385 (("SHELL=/bin/sh")
386 (patch-shebang "misc/optlib2c") 386 (string-append "SHELL=" (which "sh"))))
387 #t)) 387 (substitute* "Tmain/utils.sh"
388 (add-before 'check 'patch-tests 388 (("/bin/echo") (which "echo")))
389 (lambda _ 389 #t)))))
390 (substitute* "misc/units" 390 (native-inputs
391 (("SHELL=/bin/sh") 391 `(("autoconf" ,autoconf)
392 (string-append "SHELL=" (which "sh")))) 392 ("automake" ,automake)
393 (substitute* "Tmain/utils.sh" 393 ;; XXX: Use ctags' own packcc fork even though we meticolously unbundle
394 (("/bin/echo") (which "echo"))) 394 ;; it above. Mainly for historical reasons, and perhaps their changes
395 #t))))) 395 ;; get upstreamed in the future.
396 (native-inputs 396 ("packcc"
397 `(("autoconf" ,autoconf) 397 ,(let ((commit "03402b79505dc0024f90d5bebfd7e5d3fb62da9a"))
398 ("automake" ,automake) 398 (package
399 ("packcc" ,packcc) 399 (inherit packcc)
400 ("perl" ,perl) 400 (source (origin
401 ("pkg-config" ,pkg-config))) 401 (method git-fetch)
402 (inputs 402 (uri (git-reference
403 `(("jansson" ,jansson) 403 (url "https://github.com/universal-ctags/packcc")
404 ("libseccomp" ,libseccomp) 404 (commit commit)))
405 ("libxml2" ,libxml2) 405 (file-name (git-file-name "packcc-for-ctags"
406 ("libyaml" ,libyaml))) 406 (string-take commit 7)))
407 (home-page "https://ctags.io/") 407 (sha256
408 (synopsis "Generate tag files for source code") 408 (base32
409 (description 409 "0vxpdk9l2lf7f32nx1p3b3xmw2kw2wp95vnf9bc4lyqrg69pblm0")))))))
410 "Universal Ctags generates an index (or tag) file of language objects 410 ("perl" ,perl)
411 ("pkg-config" ,pkg-config)))
412 (inputs
413 `(("jansson" ,jansson)
414 ("libseccomp" ,libseccomp)
415 ("libxml2" ,libxml2)
416 ("libyaml" ,libyaml)))
417 (home-page "https://ctags.io/")
418 (synopsis "Generate tag files for source code")
419 (description
420 "Universal Ctags generates an index (or tag) file of language objects
411found in source files for many popular programming languages. This index 421found in source files for many popular programming languages. This index
412makes it easy for text editors and other tools to locate the indexed items. 422makes it easy for text editors and other tools to locate the indexed items.
413Universal Ctags improves on traditional ctags because of its multilanguage 423Universal Ctags improves on traditional ctags because of its multilanguage
414support, its ability for the user to define new languages searched by regular 424support, its ability for the user to define new languages searched by regular
415expressions, and its ability to generate emacs-style TAGS files.") 425expressions, and its ability to generate emacs-style TAGS files.")
416 (license license:gpl2+)))) 426 (license license:gpl2+)))
417 427
418(define-public withershins 428(define-public withershins
419 (package 429 (package