* [bug#74568] [PATCH] add scenefx
@ 2024-11-27 21:30 Josep Bigorra
2024-11-29 9:28 ` Zheng Junjie
2024-11-29 9:45 ` Zheng Junjie
0 siblings, 2 replies; 3+ messages in thread
From: Josep Bigorra @ 2024-11-27 21:30 UTC (permalink / raw)
To: 74568
[-- Attachment #1.1: Type: text/plain, Size: 155 bytes --]
This is my first attempt to contribute! :) I want to update Swayfx to 0.4
after this, but first, scenefx must be in guix packages. Hopefully this
will do?
[-- Attachment #1.2: Type: text/html, Size: 206 bytes --]
[-- Attachment #2: 0001-added-scenefx-to-Guix-packages.patch --]
[-- Type: text/x-patch, Size: 7829 bytes --]
From 4518915a70e78054cfe7eadea4e076121243fa5b Mon Sep 17 00:00:00 2001
From: Josep Bigorra <jjbigorra@gmail.com>
Date: Wed, 27 Nov 2024 22:25:18 +0100
Subject: [PATCH 1/2] added scenefx to Guix packages
---
gnu/packages/wm.scm | 194 ++++++++++++++++++++++++++------------------
1 file changed, 115 insertions(+), 79 deletions(-)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 921f975..b0c298f 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -76,6 +76,7 @@
;;; Copyright © 2024 dan <i@dan.games>
;;; Copyright © 2024 Wamm K. D. <jaft.r@outlook.com>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
+;;; Copyright © 2024 Josep Bigorra <jjbigorra@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1905,90 +1906,125 @@ (define-public wmenu
(define-public sway
(package
- (name "sway")
- (version "1.10")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/swaywm/sway")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0f8mdvpv9w44r91944s90s0cssqvgmnhi4zxn4xa4xllg3z98drz"))))
- (build-system meson-build-system)
- (arguments
- (list
- ;; elogind is propagated by wlroots -> libseat
- ;; and would otherwise shadow basu.
- #:configure-flags
- #~'("-Dsd-bus-provider=basu")
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'configure 'hardcode-paths
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Hardcode path to swaybg.
- (substitute* "sway/config.c"
- (("strdup..swaybg..")
- (format #f "strdup(\"~a\")"
- (search-input-file inputs "bin/swaybg")))))))))
- (inputs (list basu
- cairo
- gdk-pixbuf
- json-c
- libevdev
- libinput-minimal
- libxkbcommon
- pango
- pcre2
- swaybg
- wayland
- wlroots))
- (native-inputs
- (cons* linux-pam mesa pkg-config scdoc wayland-protocols
- (if (%current-target-system)
- (list pkg-config-for-build
- wayland)
- '())))
- (home-page "https://github.com/swaywm/sway")
- (synopsis "Wayland compositor compatible with i3")
- (description "Sway is a i3-compatible Wayland compositor.")
- (license license:expat)))
+ (name "sway")
+ (version "1.10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/swaywm/sway")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0f8mdvpv9w44r91944s90s0cssqvgmnhi4zxn4xa4xllg3z98drz"))))
+ (build-system meson-build-system)
+ (arguments
+ (list
+ ;; elogind is propagated by wlroots -> libseat
+ ;; and would otherwise shadow basu.
+ #:configure-flags
+ #~'("-Dsd-bus-provider=basu")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'hardcode-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Hardcode path to swaybg.
+ (substitute* "sway/config.c"
+ (("strdup..swaybg..")
+ (format #f "strdup(\"~a\")"
+ (search-input-file inputs "bin/swaybg")))))))))
+ (inputs (list basu
+ cairo
+ gdk-pixbuf
+ json-c
+ libevdev
+ libinput-minimal
+ libxkbcommon
+ pango
+ pcre2
+ swaybg
+ wayland
+ wlroots))
+ (native-inputs
+ (cons* linux-pam mesa pkg-config scdoc wayland-protocols
+ (if (%current-target-system)
+ (list pkg-config-for-build
+ wayland)
+ '())))
+ (home-page "https://github.com/swaywm/sway")
+ (synopsis "Wayland compositor compatible with i3")
+ (description "Sway is a i3-compatible Wayland compositor.")
+ (license license:expat)))
+
+(define-public scenefx
+ (package
+ (name "scenefx")
+ (version "0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wlrfx/scenefx.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1r7f8bprsn0mwlkmc8d14nr3iibljfyxypb4i06v66ghlngaw6dw"))))
+ (build-system meson-build-system)
+ (inputs (map (lambda (x) (specification->package x))
+ `("basu"
+ "cairo"
+ "gdk-pixbuf"
+ "json-c"
+ "cmake"
+ "libevdev"
+ "libinput-minimal"
+ "libxkbcommon"
+ "pcre2"
+ "pkg-config"
+ "pcre2"
+ "wayland"
+ "libdrm"
+ "wlroots@0.17.4")))
+ (home-page "https://github.com/wlrfx/scenefx.git")
+ (synopsis "SceneFX")
+ (description
+ "SceneFX")
+ (license license:expat)))
(define-public swayfx
(package
- (inherit sway)
- (name "swayfx")
- (version "0.3.2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/WillPower3309/swayfx")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "13d8icd45j937jgkidr7cyjys4nnvxh4ilp7ml0i2ml39ipv01qv"))))
- (build-system meson-build-system)
- (inputs (list basu
- cairo
- gdk-pixbuf
- json-c
- libevdev
- libinput-minimal
- libxkbcommon
- pango
- pcre2
- swaybg
- wayland
- wlroots-0.16))
- (home-page "https://github.com/WillPower3309/swayfx")
- (synopsis "Sway Fork with extra options and effects")
- (description
- "Fork of Sway, a Wayland compositor compatible with i3. SwayFX
+ (inherit sway)
+ (name "swayfx")
+ (version "0.3.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/WillPower3309/swayfx")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "13d8icd45j937jgkidr7cyjys4nnvxh4ilp7ml0i2ml39ipv01qv"))))
+ (build-system meson-build-system)
+ (inputs (list basu
+ cairo
+ gdk-pixbuf
+ json-c
+ libevdev
+ libinput-minimal
+ libxkbcommon
+ pango
+ pcre2
+ swaybg
+ wayland
+ wlroots-0.16))
+ (home-page "https://github.com/WillPower3309/swayfx")
+ (synopsis "Sway Fork with extra options and effects")
+ (description
+ "Fork of Sway, a Wayland compositor compatible with i3. SwayFX
adds extra options and effects to the original Sway, such as blur, rounded
corners, shadows, inactive window dimming, etc.")
- (license license:expat)))
+ (license license:expat)))
(define-public swayidle
(package
--
2.46.0
[-- Attachment #3: 0002-formatting.patch --]
[-- Type: text/x-patch, Size: 10443 bytes --]
From 946a47db3c6b19b7b2e845e44350d1379f0305bc Mon Sep 17 00:00:00 2001
From: Josep Bigorra <jjbigorra@gmail.com>
Date: Wed, 27 Nov 2024 22:28:06 +0100
Subject: [PATCH 2/2] formatting
---
gnu/packages/wm.scm | 262 ++++++++++++++++++++++----------------------
1 file changed, 131 insertions(+), 131 deletions(-)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index b0c298f..541fb43 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1906,125 +1906,90 @@ (define-public wmenu
(define-public sway
(package
- (name "sway")
- (version "1.10")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/swaywm/sway")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0f8mdvpv9w44r91944s90s0cssqvgmnhi4zxn4xa4xllg3z98drz"))))
- (build-system meson-build-system)
- (arguments
- (list
- ;; elogind is propagated by wlroots -> libseat
- ;; and would otherwise shadow basu.
- #:configure-flags
- #~'("-Dsd-bus-provider=basu")
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'configure 'hardcode-paths
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Hardcode path to swaybg.
- (substitute* "sway/config.c"
- (("strdup..swaybg..")
- (format #f "strdup(\"~a\")"
- (search-input-file inputs "bin/swaybg")))))))))
- (inputs (list basu
- cairo
- gdk-pixbuf
- json-c
- libevdev
- libinput-minimal
- libxkbcommon
- pango
- pcre2
- swaybg
- wayland
- wlroots))
- (native-inputs
- (cons* linux-pam mesa pkg-config scdoc wayland-protocols
- (if (%current-target-system)
- (list pkg-config-for-build
- wayland)
- '())))
- (home-page "https://github.com/swaywm/sway")
- (synopsis "Wayland compositor compatible with i3")
- (description "Sway is a i3-compatible Wayland compositor.")
- (license license:expat)))
-
-(define-public scenefx
- (package
- (name "scenefx")
- (version "0.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/wlrfx/scenefx.git")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1r7f8bprsn0mwlkmc8d14nr3iibljfyxypb4i06v66ghlngaw6dw"))))
- (build-system meson-build-system)
- (inputs (map (lambda (x) (specification->package x))
- `("basu"
- "cairo"
- "gdk-pixbuf"
- "json-c"
- "cmake"
- "libevdev"
- "libinput-minimal"
- "libxkbcommon"
- "pcre2"
- "pkg-config"
- "pcre2"
- "wayland"
- "libdrm"
- "wlroots@0.17.4")))
- (home-page "https://github.com/wlrfx/scenefx.git")
- (synopsis "SceneFX")
- (description
- "SceneFX")
- (license license:expat)))
+ (name "sway")
+ (version "1.10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/swaywm/sway")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0f8mdvpv9w44r91944s90s0cssqvgmnhi4zxn4xa4xllg3z98drz"))))
+ (build-system meson-build-system)
+ (arguments
+ (list
+ ;; elogind is propagated by wlroots -> libseat
+ ;; and would otherwise shadow basu.
+ #:configure-flags
+ #~'("-Dsd-bus-provider=basu")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'hardcode-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Hardcode path to swaybg.
+ (substitute* "sway/config.c"
+ (("strdup..swaybg..")
+ (format #f "strdup(\"~a\")"
+ (search-input-file inputs "bin/swaybg")))))))))
+ (inputs (list basu
+ cairo
+ gdk-pixbuf
+ json-c
+ libevdev
+ libinput-minimal
+ libxkbcommon
+ pango
+ pcre2
+ swaybg
+ wayland
+ wlroots))
+ (native-inputs
+ (cons* linux-pam mesa pkg-config scdoc wayland-protocols
+ (if (%current-target-system)
+ (list pkg-config-for-build
+ wayland)
+ '())))
+ (home-page "https://github.com/swaywm/sway")
+ (synopsis "Wayland compositor compatible with i3")
+ (description "Sway is a i3-compatible Wayland compositor.")
+ (license license:expat)))
(define-public swayfx
(package
- (inherit sway)
- (name "swayfx")
- (version "0.3.2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/WillPower3309/swayfx")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "13d8icd45j937jgkidr7cyjys4nnvxh4ilp7ml0i2ml39ipv01qv"))))
- (build-system meson-build-system)
- (inputs (list basu
- cairo
- gdk-pixbuf
- json-c
- libevdev
- libinput-minimal
- libxkbcommon
- pango
- pcre2
- swaybg
- wayland
- wlroots-0.16))
- (home-page "https://github.com/WillPower3309/swayfx")
- (synopsis "Sway Fork with extra options and effects")
- (description
- "Fork of Sway, a Wayland compositor compatible with i3. SwayFX
+ (inherit sway)
+ (name "swayfx")
+ (version "0.3.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/WillPower3309/swayfx")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "13d8icd45j937jgkidr7cyjys4nnvxh4ilp7ml0i2ml39ipv01qv"))))
+ (build-system meson-build-system)
+ (inputs (list basu
+ cairo
+ gdk-pixbuf
+ json-c
+ libevdev
+ libinput-minimal
+ libxkbcommon
+ pango
+ pcre2
+ swaybg
+ wayland
+ wlroots-0.16))
+ (home-page "https://github.com/WillPower3309/swayfx")
+ (synopsis "Sway Fork with extra options and effects")
+ (description
+ "Fork of Sway, a Wayland compositor compatible with i3. SwayFX
adds extra options and effects to the original Sway, such as blur, rounded
corners, shadows, inactive window dimming, etc.")
- (license license:expat)))
+ (license license:expat)))
(define-public swayidle
(package
@@ -3986,22 +3951,57 @@ (define-public yambar-wayland
(define-public wf-config
(package
- (name "wf-config")
- (version "0.8.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url (string-append "https://github.com/WayfireWM/" name "/"))
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256 (base32
- "07x6dapv2xyg0cn44dd2faw5gpk7mwfpbkpld9kyiaa9d44362z1"))))
- (build-system meson-build-system)
- (native-inputs (list pkg-config))
- (inputs (list glm libxml2 wlroots-0.17 libevdev))
- (home-page "https://github.com/WayfireWM/wf-config")
- (synopsis "Library for managing configuration files for Wayfire")
- (description "The package provides a library for managing the
+ (name "wf-config")
+ (version "0.8.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append "https://github.com/WayfireWM/" name "/"))
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256 (base32
+ "07x6dapv2xyg0cn44dd2faw5gpk7mwfpbkpld9kyiaa9d44362z1"))))
+ (build-system meson-build-system)
+ (native-inputs (list pkg-config))
+ (inputs (list glm libxml2 wlroots-0.17 libevdev))
+ (home-page "https://github.com/WayfireWM/wf-config")
+ (synopsis "Library for managing configuration files for Wayfire")
+ (description "The package provides a library for managing the
configuration files of Wayifre. It can set key and mouse bindings,
configure input, and customize Wayfire plugins.")
- (license license:expat)))
+ (license license:expat)))
+
+(define-public scenefx
+ (package
+ (name "scenefx")
+ (version "0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wlrfx/scenefx.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1r7f8bprsn0mwlkmc8d14nr3iibljfyxypb4i06v66ghlngaw6dw"))))
+ (build-system meson-build-system)
+ (inputs (map (lambda (x) (specification->package x))
+ `("basu"
+ "cairo"
+ "gdk-pixbuf"
+ "json-c"
+ "cmake"
+ "libevdev"
+ "libinput-minimal"
+ "libxkbcommon"
+ "pcre2"
+ "pkg-config"
+ "pcre2"
+ "wayland"
+ "libdrm"
+ "wlroots@0.17.4")))
+ (home-page "https://github.com/wlrfx/scenefx.git")
+ (synopsis "SceneFX")
+ (description
+ "SceneFX")
+ (license license:expat)))
--
2.46.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [bug#74568] [PATCH] add scenefx
2024-11-27 21:30 [bug#74568] [PATCH] add scenefx Josep Bigorra
@ 2024-11-29 9:28 ` Zheng Junjie
2024-11-29 9:45 ` Zheng Junjie
1 sibling, 0 replies; 3+ messages in thread
From: Zheng Junjie @ 2024-11-29 9:28 UTC (permalink / raw)
To: Josep Bigorra; +Cc: 74568
[-- Attachment #1.1: Type: text/plain, Size: 322 bytes --]
Josep Bigorra <jjbigorra@gmail.com> writes:
> This is my first attempt to contribute! :) I want to update Swayfx to 0.4 after this, but first, scenefx must be in
> guix packages. Hopefully this will do?
>
> [4. text/x-patch; 0001-added-scenefx-to-Guix-packages.patch]...
>
> [5. text/x-patch; 0002-formatting.patch]...
[-- Attachment #1.2: 0001-gnu-Add-scenefx.patch --]
[-- Type: text/x-patch, Size: 2469 bytes --]
From ae1ce49f82544ad2a8e48624072fc00f8989586b Mon Sep 17 00:00:00 2001
Message-ID: <ae1ce49f82544ad2a8e48624072fc00f8989586b.1732872470.git.zhengjunjie@iscas.ac.cn>
From: Josep Bigorra <jjbigorra@gmail.com>
Date: Wed, 27 Nov 2024 22:30:54 +0100
Subject: [PATCH] gnu: Add scenefx.
* gnu/packages/wm.scm (scenefx): New variable.
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
Change-Id: Ia91747cbec59226a83a020b5fedbfd99886c35df
---
gnu/packages/wm.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 921f9750378..2ab6f88cd5b 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -76,6 +76,7 @@
;;; Copyright © 2024 dan <i@dan.games>
;;; Copyright © 2024 Wamm K. D. <jaft.r@outlook.com>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
+;;; Copyright © 2024 Josep Bigorra <jjbigorra@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3969,3 +3970,32 @@ (define-public wf-config
configuration files of Wayifre. It can set key and mouse bindings,
configure input, and customize Wayfire plugins.")
(license license:expat)))
+
+(define-public scenefx
+ (package
+ (name "scenefx")
+ (version "0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wlrfx/scenefx")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1r7f8bprsn0mwlkmc8d14nr3iibljfyxypb4i06v66ghlngaw6dw"))))
+ (build-system meson-build-system)
+ (native-inputs (list pkg-config
+ ;; for wayland-scanner.
+ wayland))
+ (inputs (list pixman
+ mesa
+ libxkbcommon
+ libdrm
+ wlroots-0.17))
+ (home-page "https://github.com/wlrfx/scenefx")
+ (synopsis "Drop-in replacement for the wlroots scene API")
+ (description
+ "A drop-in replacement for the wlroots scene API that allows wayland
+compositors to render surfaces with eye-candy effects.")
+ (license license:expat)))
base-commit: c5421392081944d43db18fe04eafecec521f994a
prerequisite-patch-id: 87446432571a7ef03b5b1c5a831298c21b1b28a8
prerequisite-patch-id: fed79dd6ff68c92729413fc125b19314aa1bc3c4
--
2.46.0
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [bug#74568] [PATCH] add scenefx
2024-11-27 21:30 [bug#74568] [PATCH] add scenefx Josep Bigorra
2024-11-29 9:28 ` Zheng Junjie
@ 2024-11-29 9:45 ` Zheng Junjie
1 sibling, 0 replies; 3+ messages in thread
From: Zheng Junjie @ 2024-11-29 9:45 UTC (permalink / raw)
To: Josep Bigorra; +Cc: 74568
[-- Attachment #1: Type: text/plain, Size: 1755 bytes --]
Josep Bigorra <jjbigorra@gmail.com> writes:
> This is my first attempt to contribute! :) I want to update Swayfx to 0.4 after this, but first, scenefx must be in guix packages. Hopefully
> this will do?
please use plain-txt e-mail. and use `mumi send-email' or
`git send-email' to send patch. see
https://guix.gnu.org/manual/devel/en/html_node/Sending-a-Patch-Series.html#Single-Patches-1
>- (name "sway")
If you do not modify the package, do not modify the indentation of the package
>+ (inputs (map (lambda (x) (specification->package x))
>+ `("basu"
>+ "cairo"
>+ "gdk-pixbuf"
>+ "json-c"
>+ "cmake"
>+ "libevdev"
>+ "libinput-minimal"
>+ "libxkbcommon"
>+ "pcre2"
>+ "pkg-config"
>+ "pcre2"
>+ "wayland"
>+ "libdrm"
>+ "wlroots@0.17.4")))
You cannot use specification->package in a package, use the scheme
variable.
many package is not needed, just pixman mesa libxkbcommon libdrm
wlroots-0.17. see meson.build.
and pkg-config usually is native-inputs, It need to actually run on
cross-compiling.
>+ (home-page "https://github.com/wlrfx/scenefx.git")
guix lint scenefx say scenefx@0.1: permanent redirect from https://github.com/wlrfx/scenefx.git to https://github.com/wlrfx/scenefx.
so should https://github.com/wlrfx/scenefx.
>+ (synopsis "SceneFX")
>+ (description
>+ "SceneFX")
Please write useful synopsis and description
see https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html
After the completion of the modified like
https://issues.guix.gnu.org/74568#1
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-11-29 9:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-27 21:30 [bug#74568] [PATCH] add scenefx Josep Bigorra
2024-11-29 9:28 ` Zheng Junjie
2024-11-29 9:45 ` Zheng Junjie
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.