all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Jordan Moore <lockbox@struct.foo>
To: 74551@debbugs.gnu.org
Cc: Jordan Moore <lockbox@struct.foo>
Subject: [bug#74551] [PATCH v2 49/49] gnu: Add starship.
Date: Sat, 30 Nov 2024 11:55:24 -0500	[thread overview]
Message-ID: <ed0521c9388744745827654880a1c0397f43ec3a.1732985536.git.lockbox@struct.foo> (raw)
In-Reply-To: <cover.1732985534.git.lockbox@struct.foo>

* gnu/packages/shellutils.scm (starship): New variable.

Change-Id: I06814793f245c5b4aca5491a3b68b1ec83c3318f
---
 gnu/packages/shellutils.scm | 137 ++++++++++++++++++++++++++++++++++++
 1 file changed, 137 insertions(+)

diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index 7e9f85a5f2..101ee6cf73 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -20,6 +20,7 @@
 ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
 ;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
 ;;; Copyright © 2024 Brian Kubisiak <brian@kubisiak.com>
+;;; Copyright © 2024 Jordan Moore <lockbox@struct.foo>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -43,6 +44,7 @@ (define-module (gnu packages shellutils)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system cargo)
   #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
@@ -51,6 +53,11 @@ (define-module (gnu packages shellutils)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages crates-crypto)
+  #:use-module (gnu packages crates-io)
+  #:use-module (gnu packages crates-vcs)
+  #:use-module (gnu packages crates-windows)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages golang-build)
   #:use-module (gnu packages golang-check)
@@ -67,6 +74,7 @@ (define-module (gnu packages shellutils)
   #:use-module (gnu packages shells)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages tmux)
+  #:use-module (gnu packages version-control)
   #:use-module (gnu packages vim))
 
 (define-public ascii
@@ -462,6 +470,135 @@ (define-public shfmt
 @url{http://www.mirbsd.org/mksh.htm,mksh}.")
     (license license:bsd-3)))
 
+(define-public starship
+  (package
+    (name "starship")
+    (version "1.21.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "starship" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1ikdy6jwlc36add55acxlba6f009dln9iyz368c1ndbfpgn4n42g"))))
+    (build-system cargo-build-system)
+    (inputs (list cmake-minimal
+                  ;; for tests
+                  git))
+    (arguments
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'install 'install-completions
+                     (lambda* (#:key outputs skip-build? #:allow-other-keys)
+                       (let* ((out (assoc-ref outputs "out"))
+                              (starship-bin (string-append out "/bin/starship"))
+                              (share-files (string-append out "/share"))
+                              (bash-files (string-append out
+                                           "/etc/bash-completion.d/"))
+                              (zsh-files (string-append share-files
+                                          "/zsh/site-functions/"))
+                              (fish-files (string-append share-files
+                                           "/fish/vendor_completions.d/")))
+                         ;; we cannot make completions if starship was not built
+                         (or skip-build?
+                             ;; make the directories
+                             (mkdir-p bash-files)
+                             (mkdir-p zsh-files)
+                             (mkdir-p fish-files)
+                             ;; use the build starship to generate the necessary
+                             ;; completions
+                             (invoke starship-bin "completions" "bash" ">"
+                                     (string-append bash-files "/starship"))
+                             (invoke starship-bin "completions" "zsh" ">"
+                                     (string-append zsh-files "/_starship"))
+                             (invoke starship-bin "completions" "fish" ">"
+                                     (string-append fish-files
+                                                    "/starship.fish"))))))
+                   ;; some tests require a writable home directory
+                   (add-after 'unpack 'patch-test-shell
+                     (lambda* (#:key inputs #:allow-other-keys)
+                       ;; search through the rust files and then replace `/bin/sh'
+                       ;; with the path to the `/bin/sh' in the drv inputs
+                       (let ((rust-files (find-files "." "\\.rs$")))
+                         (for-each (lambda (file)
+                                     (substitute* file
+                                       (("/bin/sh")
+                                        (search-input-file inputs "/bin/sh"))))
+                                   rust-files))))
+                   ;; Set "HOME" to be located inside the cwd so it is writable
+                   ;; for tests checking for user-configs
+                   (add-before 'check 'set-test-env-vars
+                     (lambda _
+                       (setenv "HOME"
+                               (string-append (getcwd) "/.test-home")))))
+      #:cargo-inputs `(("rust-chrono" ,rust-chrono-0.4)
+                       ("rust-clap" ,rust-clap-4)
+                       ("rust-clap-complete" ,rust-clap-complete-4)
+                       ("rust-deelevate" ,rust-deelevate-0.2)
+                       ("rust-dirs" ,rust-dirs-5)
+                       ("rust-dunce" ,rust-dunce-1)
+                       ("rust-gix" ,rust-gix-0.66)
+                       ("rust-gix-features" ,rust-gix-features-0.38)
+                       ("rust-guess-host-triple" ,rust-guess-host-triple-0.1)
+                       ("rust-home" ,rust-home-0.5)
+                       ("rust-indexmap" ,rust-indexmap-2)
+                       ("rust-log" ,rust-log-0.4)
+                       ("rust-nix" ,rust-nix-0.29)
+                       ("rust-notify-rust" ,rust-notify-rust-4)
+                       ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.50)
+                       ("rust-open" ,rust-open-5)
+                       ("rust-os-info" ,rust-os-info-3)
+                       ("rust-path-slash" ,rust-path-slash-0.2)
+                       ("rust-pest" ,rust-pest-2)
+                       ("rust-pest-derive" ,rust-pest-derive-2)
+                       ("rust-process-control" ,rust-process-control-5)
+                       ("rust-quick-xml" ,rust-quick-xml-0.36)
+                       ("rust-rand" ,rust-rand-0.8)
+                       ("rust-rayon" ,rust-rayon-1)
+                       ("rust-regex" ,rust-regex-1)
+                       ("rust-rust-ini" ,rust-rust-ini-0.21)
+                       ("rust-schemars" ,rust-schemars-0.8)
+                       ("rust-semver" ,rust-semver-1)
+                       ("rust-serde" ,rust-serde-1)
+                       ("rust-serde-json" ,rust-serde-json-1)
+                       ("rust-sha1" ,rust-sha1-0.10)
+                       ("rust-shadow-rs" ,rust-shadow-rs-0.35)
+                       ("rust-shell-words" ,rust-shell-words-1)
+                       ("rust-starship-battery" ,rust-starship-battery-0.10)
+                       ("rust-strsim" ,rust-strsim-0.11)
+                       ("rust-systemstat" ,rust-systemstat-0.2)
+                       ("rust-terminal-size" ,rust-terminal-size-0.4)
+                       ("rust-toml" ,rust-toml-0.8)
+                       ("rust-toml-edit" ,rust-toml-edit-0.22)
+                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
+                       ("rust-unicode-width" ,rust-unicode-width-0.2)
+                       ("rust-urlencoding" ,rust-urlencoding-2)
+                       ("rust-versions" ,rust-versions-6)
+                       ("rust-which" ,rust-which-6)
+                       ("rust-whoami" ,rust-whoami-1)
+                       ("rust-windows" ,rust-windows-0.58)
+                       ("rust-winres" ,rust-winres-0.1)
+                       ("rust-yaml-rust2" ,rust-yaml-rust2-0.9))
+      #:cargo-development-inputs `(("rust-mockall" ,rust-mockall-0.13)
+                                   ("rust-tempfile" ,rust-tempfile-3))))
+    (home-page "https://starship.rs")
+    (synopsis
+     "The minimal, blazing-fast, and infinitely customizable prompt for any shell!")
+    (description
+     "This package provides The minimal, blazing-fast, and infinitely customizable
+prompt for any shell!
+
+@itemize
+@item Fast: it's fast - *really really* fast :rocket:
+@item Customizable: configure every aspect of your prompt
+@item Universal: works on any shell, on any operating system
+@item Intelligent: shows relevant information at a glance
+@item Feature rich: support for all your favorite tools
+@item Easy: quick to install - start using it in minutes
+@end itemize
+
+Note: users must have a nerd font installed and enabled in their terminal")
+    (license license:isc)))
 
 (define-public envstore
   (package
-- 
2.46.0





      parent reply	other threads:[~2024-11-30 17:06 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-26 21:34 [bug#74551] [PATCH 00/49] Add starship shell utility Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 01/49] gnu: Add rust-deelevate-0.2 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 02/49] gnu: rust-dunce-1: Update to 1.0.5 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 03/49] gnu: Add rust-tauri-winrt-notification-0.2 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 04/49] gnu: Add rust-winsafe-0.0.19 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 05/49] gnu: Add rust-windows-0.56 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 06/49] gnu: Add rust-windows-core-0.56 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 07/49] gnu: Add rust-windows-interface-0.56 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 08/49] gnu: Add rust-windows-version-0.1 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 09/49] gnu: Add rust-mac-notification-sys-0.6 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 10/49] gnu: Add rust-arraydeque-0.5 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 11/49] gnu: Add rust-auto-enums-0.8 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 12/49] gnu: rust-clap-4: Update to 4.5.21 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 13/49] gnu: rust-clap-builder-4: " Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 14/49] gnu: rust-clap-complete-4: Update to 4.5.38 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 15/49] gnu: Add rust-coverage-helper-0.2 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 16/49] gnu: Add rust-dlv-list-0.5 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 17/49] gnu: Add rust-guess-host-triple-0.1 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 18/49] gnu: Add rust-mockall-0.13 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 19/49] gnu: Add rust-mockall-derive-0.13 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 20/49] gnu: Add rust-notify-rust-4 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 21/49] gnu: rust-open-5: Update to 5.3.1 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 22/49] gnu: Add rust-ordered-multimap-0.7 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 23/49] gnu: Add rust-pathsearch-0.2 Jordan Moore
2024-11-26 21:38 ` [bug#74551] [PATCH 24/49] gnu: rust-pest-2: Update to 2.7.14 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 25/49] gnu: rust-pest-derive-2: " Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 26/49] gnu: rust-pest-generator-2: " Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 27/49] gnu: rust-pest-meta-2: " Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 28/49] gnu: Add rust-process-control-5 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 29/49] gnu: Add rust-rust-ini-0.21 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 30/49] gnu: rust-serde-json-1: Update to 1.0.133 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 31/49] gnu: Add rust-shadow-rs-0.35 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 32/49] gnu: Add rust-starship-battery-0.10 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 33/49] gnu: rust-strsim-0.11: Update to 0.11.1 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 34/49] gnu: Add rust-systemstat-0.2 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 35/49] gnu: Add rust-terminal-size-0.4 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 36/49] gnu: Add rust-termwiz-0.15 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 37/49] gnu: rust-toml-edit-0.22: Update to 0.22.22 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 38/49] gnu: Add rust-trim-in-place-0.1 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 39/49] gnu: rust-unicode-segmentation-1: Update to 1.12.0 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 40/49] gnu: Add rust-unicode-width-0.2 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 41/49] gnu: Add rust-uom-0.36 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 42/49] gnu: Add rust-versions-6 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 43/49] gnu: Add rust-wasite-0.1 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 44/49] gnu: rust-which-6: Update to 6.0.3 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 45/49] gnu: rust-whoami-1: Update to 1.5.2 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 46/49] gnu: Add rust-yaml-rust2-0.9 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 47/49] gnu: Add rust-windows-implement-0.56 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 48/49] gnu: rust-indexmap-2: Update to 2.6.0 Jordan Moore
2024-11-26 21:39 ` [bug#74551] [PATCH 49/49] gnu: Add starship Jordan Moore
2024-11-30 16:46 ` [bug#74551] status Jordan Moore
2024-11-30 16:54 ` [bug#74551] [PATCH v2 00/49] Add starship utility Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 01/49] gnu: Add rust-deelevate-0.2 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 02/49] gnu: rust-dunce-1: Update to 1.0.5 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 03/49] gnu: Add rust-tauri-winrt-notification-0.2 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 04/49] gnu: Add rust-winsafe-0.0.19 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 05/49] gnu: Add rust-windows-0.56 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 06/49] gnu: Add rust-windows-core-0.56 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 07/49] gnu: Add rust-windows-interface-0.56 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 08/49] gnu: Add rust-windows-version-0.1 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 09/49] gnu: Add rust-mac-notification-sys-0.6 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 10/49] gnu: Add rust-arraydeque-0.5 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 11/49] gnu: Add rust-auto-enums-0.8 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 12/49] gnu: rust-clap-4: Update to 4.5.21 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 13/49] gnu: rust-clap-builder-4: " Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 14/49] gnu: rust-clap-complete-4: Update to 4.5.38 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 15/49] gnu: Add rust-coverage-helper-0.2 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 16/49] gnu: Add rust-dlv-list-0.5 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 17/49] gnu: Add rust-guess-host-triple-0.1 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 18/49] gnu: Add rust-mockall-0.13 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 19/49] gnu: Add rust-mockall-derive-0.13 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 20/49] gnu: Add rust-notify-rust-4 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 21/49] gnu: rust-open-5: Update to 5.3.1 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 22/49] gnu: Add rust-ordered-multimap-0.7 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 23/49] gnu: Add rust-pathsearch-0.2 Jordan Moore
2024-11-30 16:54   ` [bug#74551] [PATCH v2 24/49] gnu: rust-pest-2: Update to 2.7.14 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 25/49] gnu: rust-pest-derive-2: " Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 26/49] gnu: rust-pest-generator-2: " Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 27/49] gnu: rust-pest-meta-2: " Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 28/49] gnu: Add rust-process-control-5 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 29/49] gnu: Add rust-rust-ini-0.21 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 30/49] gnu: rust-serde-json-1: Update to 1.0.133 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 31/49] gnu: Add rust-shadow-rs-0.35 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 32/49] gnu: Add rust-starship-battery-0.10 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 33/49] gnu: rust-strsim-0.11: Update to 0.11.1 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 34/49] gnu: Add rust-systemstat-0.2 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 35/49] gnu: Add rust-terminal-size-0.4 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 36/49] gnu: Add rust-termwiz-0.15 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 37/49] gnu: rust-toml-edit-0.22: Update to 0.22.22 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 38/49] gnu: Add rust-trim-in-place-0.1 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 39/49] gnu: rust-unicode-segmentation-1: Update to 1.12.0 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 40/49] gnu: Add rust-unicode-width-0.2 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 41/49] gnu: Add rust-uom-0.36 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 42/49] gnu: Add rust-versions-6 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 43/49] gnu: Add rust-wasite-0.1 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 44/49] gnu: rust-which-6: Update to 6.0.3 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 45/49] gnu: rust-whoami-1: Update to 1.5.2 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 46/49] gnu: Add rust-yaml-rust2-0.9 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 47/49] gnu: Add rust-windows-implement-0.56 Jordan Moore
2024-11-30 16:55   ` [bug#74551] [PATCH v2 48/49] gnu: rust-indexmap-2: Update to 2.6.0 Jordan Moore
2024-11-30 16:55   ` Jordan Moore [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ed0521c9388744745827654880a1c0397f43ec3a.1732985536.git.lockbox@struct.foo \
    --to=lockbox@struct.foo \
    --cc=74551@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.