summary refs log tree commit diff
path: root/gnu/packages/llvm.scm
AgeCommit message (Collapse)Author
2021-04-28gnu: LLVM, Clang: Add 12.0.0.Marius Bakke
* gnu/packages/patches/clang-12-tools-extra-directory.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/llvm.scm (llvm-12, clang-runtime-12, clang-12, clang-toolchain-12): New variables. (llvm-11): Inherit from LLVM-12.
2021-04-21gnu: Add libcxx+libcxxabi-6.Ricardo Wurmus
* gnu/packages/llvm.scm (libcxx+libcxxabi-6): New variable.
2021-04-21gnu: Add libcxxabi-6.Ricardo Wurmus
* gnu/packages/llvm.scm (libcxxabi-6): New variable.
2021-04-10gnu: Remove clang-runtime-3.6 and clang-3.6.zimoun
* gnu/packages/llvm.scm (clang-runtime-3.6, clang-3.6): Remove variables. Signed-off-by: Leo Famulari <leo@famulari.name>
2021-03-17gnu: Use PACKAGE/INHERIT in more places.Mark H Weaver
* gnu/packages/algebra.scm (fftwf, fftw-openmpi), gnu/packages/audio.scm (ztoolkit-rsvg), gnu/packages/bioinformatics.scm (python2-dendropy), gnu/packages/boost.scm (boost-with-python2), gnu/packages/check.scm (python2-mock, python2-pytest-mock), gnu/packages/cups.scm (hplip-minimal), gnu/packages/freedesktop.scm (libinput-minimal), gnu/packages/gettext.scm (gnu-gettext), gnu/packages/glib.scm (python2-pygobject), gnu/packages/gnome.scm (gdl-minimal, libsoup-minimal, python2-pyatspi), gnu/packages/groff.scm (groff-minimal), gnu/packages/jami.scm (ffmpeg-jami), gnu/packages/libcanberra.scm (libcanberra/gtk+-2), gnu/packages/lirc.scm (python2-lirc), gnu/packages/llvm.scm (clang-runtime-3.5), gnu/packages/mpi.scm (java-openmpi, openmpi-thread-multiple), gnu/packages/node.scm (libnode), gnu/packages/onc-rpc.scm (libtirpc/hurd), gnu/packages/python-compression.scm (bitshuffle-for-snappy), gnu/packages/python-crypto.scm (python2-pycrypto, python2-cryptography) (python2-cryptography, python2-m2crypto), gnu/packages/python-web.scm (python2-html2text, python2-tornado) (python2-terminado, python2-ndg-httpsclient, python2-websocket-client) (python2-rauth, python2-url, python2-s3transfer), gnu/packages/python-xyz.scm (python2-psutil, python2-serpent) (python2-humanfriendly, python2-empy, python2-parse-type, python2-polib) (python2-jsonschema, python2-pystache, python2-cython, python2-numpydoc) (python2-ipyparallel, python2-traitlets, python2-dbus) (python2-beautifulsoup4, python2-pep517, python2-flake8, python2-llfuse) (python2-tlsh, python-file, python2-notebook, python-jupyter-console-minimal) (python2-contextlib2, python2-promise, python2-anyjson, python2-amqp) (python2-kombu, python2-billiard, python2-celery, python2-whoosh) (python2-jellyfish, python-rope, ptpython-2, python2-binaryornot) (python2-setproctitle, python2-argcomplete, python2-xopen, python2-isort) (python2-radon, python2-rfc6555, python2-activepapers, python2-send2trash) (python2-cloudpickle, python2-reparser), gnu/packages/python.scm (python2-called-python), gnu/packages/qt.scm (python2-sip, python-pyqt-without-qtwebkit, python2-pyqt) (python-qscintilla, python-pyqt+qscintilla), gnu/packages/scanner.scm (sane-backends), gnu/packages/sdl.scm (guile3.0-sdl2), gnu/packages/selinux.scm (checkpolicy, libselinux, libsemanage, secilc) (python-sepolgen, policycoreutils), gnu/packages/serialization.scm (lua5.1-libmpack, lua5.2-libmpack), gnu/packages/simulation.scm (fenics), gnu/packages/statistics.scm (python2-statsmodels), gnu/packages/texinfo.scm (info-reader), gnu/packages/wxwidgets.scm (wxwidgets-gtk2, wxwidgets-gtk2-3.1), gnu/packages/xml.scm (xmlsec-nss), gnu/packages/xorg.scm (uim-gtk, uim-qt), guix/build-system/python.scm (package-with-explicit-python) (strip-python2-variant): Use PACKAGE/INHERIT.
2021-03-02gnu: ocaml-llvm: Move to (gnu packages llvm).Ludovic Courtès
Commit 8f710cc598fb675d267f49a82cffc197f03ad52c introduced a circular dependency between ocaml.scm and llvm.scm by referring to 'llvm' from the top level of ocaml.scm. This fixes it. * gnu/packages/ocaml.scm (make-ocaml-llvm, ocaml-llvm) (ocaml-llvm-9, ocaml-llvm-10, ocaml-llvm-11): Move to... * gnu/packages/llvm.scm: ... here.
2021-01-16Revert "gnu: llvm: Update to 11.0.1."Tobias Geerinckx-Rice
This reverts commit 9b415c0b36c885e7899c45617a8c4e64118a6379, which reportedly breaks[0] rust@1.47.0, rust-1.48.0 and rust-1.49.0. [0]: http://issues.guix.gnu.org/45909
2021-01-10gnu: llvm: Update to 11.0.1.Tobias Geerinckx-Rice
* gnu/packages/llvm.scm (llvm): Update to 11.0.1. (clang-runtime-11, clang-11): Update corresponding source hashes.
2020-12-19gnu: llvm: Update download URI.Marius Bakke
New and old releases are now only available on GitHub. * gnu/packages/llvm.scm (llvm-uri): Remove "releases.llvm.org".
2020-11-14gnu: python-llvmlite: Update to 0.34.0.Maxim Cournoyer
This is in preparation of updating the broken python-numba package. * gnu/packages/llvm.scm (python-llvmlite): Update to 0.34.0. [arguments]: Enable tests. [phases]{patch-reference-to-llvmlite, skip-failing-tests} {set-compiler/linker-flags}: New phases. [inputs]: Update custom LLVM input and associated patches. [home-page]: Use HTTPS.
2020-11-14gnu: llvm-9: Standardize patch level.Maxim Cournoyer
Having a non-standard (different than 1) patch level requirement means the patches cannot be composed easily from different origins. The following command was used to remove one level from the llvm-9 patches: sed -e 's|^--- a/|--- |' -e 's|^+++ b/|+++ |' \ gnu/packages/patches/llvm-9* -i * gnu/packages/llvm.scm (llvm-9)[source]: Drop the patch-flags field. Re-indent list of patches. * gnu/packages/patches/llvm-9-fix-bitcast-miscompilation.patch: Strip one level. * gnu/packages/patches/llvm-9-fix-lpad-miscompilation.patch: Likewise. * gnu/packages/patches/llvm-9-fix-scev-miscompilation.patch: Likewise.
2020-10-22gnu: Add LLDB.Marius Bakke
* gnu/packages/llvm.scm (lldb): New public variable.
2020-10-22gnu: clang@10, clang@11: Fix CMake files.Marius Bakke
* gnu/packages/llvm.scm (clang-from-llvm): Add phase adjust-cmake-file when building Clang 10 or later.
2020-10-19gnu: lld: Update to 11.0.0.Marius Bakke
* gnu/packages/llvm.scm (lld): Update to 11.0.0. [inputs]: Change from LLVM-10 to LLVM-11.
2020-10-19gnu: LLVM, Clang: Add 11.0.0.Marius Bakke
* gnu/packages/patches/clang-11.0-libc-search-path.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/llvm.scm (llvm-11, clang-runtime-11, clang-11, clang-toolchain-11): New variables.
2020-10-19gnu: llvm.scm: Reorder variables.Marius Bakke
Keep all LLVM and Clang packages in order, define default versions last.
2020-10-19gnu: extempore: Inline custom package variants.Marius Bakke
Except novel ones without suitable replacements in Guix. * gnu/packages/music.scm (portmidi-for-extempore): Remove variable, and move to ... (extempore)[inputs]: ... here. * gnu/packages/llvm.scm (llvm-for-extempore): Likewise. * gnu/packages/image.scm (stb-image-for-extempore): Likewise.
2020-10-12gnu: clang-toolchain: Create 'cc' and 'c++' symlinks.Ludovic Courtès
* gnu/packages/llvm.scm (make-clang-toolchain)[arguments]: Create 'cc' and 'c++' symlinks.
2020-10-12gnu: clang-toolchain: Add 'GUIX_LOCPATH' to the search paths.Ludovic Courtès
* gnu/packages/llvm.scm (make-clang-toolchain)[native-search-paths]: Add 'GUIX_LOCPATH'.
2020-10-10gnu: Rename 'llvm-download-uri' to 'llvm-uri'.Marius Bakke
* gnu/packages/llvm.scm (llvm-download-uri): Rename to ... (llvm-uri): ... this. Adjust callers accordingly.
2020-08-11gnu: clang-runtime-3.5: Fix build.Ricardo Wurmus
* gnu/packages/patches/clang-runtime-3.5-libsanitizer-mode-field.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/llvm.scm (clang-runtime-3.5): Add patch.
2020-07-30gnu: clang: Only install cfi_blacklist.txt for versions >= 3.8.Marius Bakke
Fixes <https://bugs.gnu.org/42599>. Reported by Malte Frank Gerdes <malte.f.gerdes@gmail.com>. This is a follow-up to commit 300b795520baf106b662f045fe7d644643e8e7d1. * gnu/packages/llvm.scm (clang-from-llvm): Guard the 'symlink-cfi_blacklist' phase with a version check, as it first appears in Clang 3.8.
2020-07-23gnu: Clang: Install the CFI blacklist.Marius Bakke
* gnu/packages/llvm.scm (clang-from-llvm)[arguments]: Add phase to symlink cfi_blacklist.txt from CLANG-RUNTIME.
2020-07-12gnu: Remove ".git" from "https://github/…/….git".Ludovic Courtès
Until now, 'lookup-origin' and thus 'lookup-origin-revision' in (guix swh) would sometimes return #f for these because the ".git" URLs are redirects to the non-".git" URLs. Consequently, 'guix lint -c archival' would keep saying "scheduled Software Heritage archival"; likewise, the fallback download code would fail. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/android.scm, gnu/packages/animation.scm, gnu/packages/arcan.scm, gnu/packages/assembly.scm, gnu/packages/audio.scm, gnu/packages/authentication.scm, gnu/packages/avr.scm, gnu/packages/axoloti.scm, gnu/packages/backup.scm, gnu/packages/bash.scm, gnu/packages/benchmark.scm, gnu/packages/bioconductor.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/boost.scm, gnu/packages/build-tools.scm, gnu/packages/c.scm, gnu/packages/calendar.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/chez.scm, gnu/packages/clojure.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/compton.scm, gnu/packages/coq.scm, gnu/packages/cpp.scm, gnu/packages/cran.scm, gnu/packages/crypto.scm, gnu/packages/curl.scm, gnu/packages/databases.scm, gnu/packages/datastructures.scm, gnu/packages/debug.scm, gnu/packages/disk.scm, gnu/packages/distributed.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/dns.scm, gnu/packages/docker.scm, gnu/packages/education.scm, gnu/packages/efi.scm, gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/embedded.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/erlang.scm, gnu/packages/fabric-management.scm, gnu/packages/file-systems.scm, gnu/packages/finance.scm, gnu/packages/firmware.scm, gnu/packages/flashing-tools.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/fpga.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/genealogy.scm, gnu/packages/genimage.scm, gnu/packages/geo.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/gnome-xyz.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/golang.scm, gnu/packages/gpodder.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/groff.scm, gnu/packages/groovy.scm, gnu/packages/gtk.scm, gnu/packages/guile-xyz.scm, gnu/packages/guile.scm, gnu/packages/hardware.scm, gnu/packages/haskell-apps.scm, gnu/packages/haskell-xyz.scm, gnu/packages/hexedit.scm, gnu/packages/i2p.scm, gnu/packages/ibus.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/ipfs.scm, gnu/packages/java-graphics.scm, gnu/packages/java-maths.scm, gnu/packages/java.scm, gnu/packages/javascript.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/jupyter.scm, gnu/packages/kodi.scm, gnu/packages/language.scm, gnu/packages/lego.scm, gnu/packages/less.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lirc.scm, gnu/packages/lisp-xyz.scm, gnu/packages/llvm.scm, gnu/packages/logging.scm, gnu/packages/lolcode.scm, gnu/packages/lua.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/maths.scm, gnu/packages/maven.scm, gnu/packages/mes.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/node-xyz.scm, gnu/packages/ocaml.scm, gnu/packages/ocr.scm, gnu/packages/onc-rpc.scm, gnu/packages/opencl.scm, gnu/packages/opencog.scm, gnu/packages/pantheon.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/perl6.scm, gnu/packages/phabricator.scm, gnu/packages/popt.scm, gnu/packages/printers.scm, gnu/packages/prolog.scm, gnu/packages/protobuf.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python-xyz.scm, gnu/packages/qt.scm, gnu/packages/radio.scm, gnu/packages/rails.scm, gnu/packages/rdf.scm, gnu/packages/rednotebook.scm, gnu/packages/rpc.scm, gnu/packages/rsync.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/screen.scm, gnu/packages/security-token.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/shellutils.scm, gnu/packages/simh.scm, gnu/packages/sml.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/stenography.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/synergy.scm, gnu/packages/telephony.scm, gnu/packages/terminals.scm, gnu/packages/tex.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tmux.scm, gnu/packages/tor.scm, gnu/packages/toys.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/virtualization.scm, gnu/packages/vlang.scm, gnu/packages/vnc.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wireservice.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, tests/lint.scm: Remove trailing ".git" from 'git-reference' URL.
2020-07-05gnu: python-llvmlite: Use specific commit for llvm patch URLs.Christopher Baines
As this commit [1] appears to affect the patches, including the v0.30.0 tag (so the tag must have been changed). 1: https://github.com/numba/llvmlite/commit/cdd99deb32f9d48aadb0f7407fb8ad06f6a8ce6c * gnu/packages/llvm.scm (python-llvmlite)[inputs]: Use a specific commit for the patches.
2020-07-03gnu: Add lld.Jakub Kądziołka
* gnu/packages/llvm.scm (lld): New variable.
2020-07-03gnu: llvm-9: Backport patch to fix miscompilation for big-endian targets.Jakub Kądziołka
* gnu/packages/llvm.scm (llvm-9)[source]: Add new patch. * gnu/packages/patches/llvm-9-fix-bitcast-miscompilation.patch: New file. * gnu/local.mk (dist_patch_DATA): Register new file.
2020-07-03gnu: llvm-9: Backport patches to fix miscompilations.Jakub Kądziołka
* gnu/packages/llvm.scm (llvm-9)[source]: Add new patches. * gnu/packages/patches/llvm-9-fix-lpad-miscompilation.patch, gnu/packages/patches/llvm-9-fix-scev-miscompilation.patch: New files. * gnu/local.mk (dist_patch_DATA): Register new patches.
2020-05-28gnu: clang: Build 'clang-tools-extra'.Ludovic Courtès
* gnu/packages/llvm.scm (clang-from-llvm): Add #:tools-extra. Add 'output' field. In 'inputs', add TOOLS-EXTRA when it's given. In 'arguments', add 'add-tools-extra' and 'move-extra-tools' phases when TOOLS-EXTRA is given.
2020-05-22gnu: llvm: Remove unused 'package-elisp-from-package' procedure.Ludovic Courtès
This private procedure had been unused since 3a3d4d9d545028cda846ae827a60249f7162d34e. * gnu/packages/llvm.scm (package-elisp-from-package): Remove.
2020-05-02Merge branch 'master' into core-updatesMarius Bakke
2020-05-02gnu: llvm-for-extempore: Update to 3.8.Giacomo Leidi
* gnu/packages/llvm.scm (llvm-for-extempore): Update to 3.8. [source]: Use upstream patched source. * gnu/packages/patches/llvm-for-extempore.patch: Delete due to source being already patched. * gnu/local.mk (dist_patch_DATA): Remove it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-04-24Merge branch 'master' into core-updatesMarius Bakke
2020-04-24gnu: llvm: Add 10.0.0.Ludovic Courtès
* gnu/packages/llvm.scm (llvm-10, clang-runtime-10, clang-10) (clang-toolchain-10, llvm-9, clang-runtime-9, clang-9) (clang-toolchain-9): New variables. (llvm, clang, clang-runtime, clang-toolchain): Redefine as aliases to the '-9' bindings. * gnu/packages/patches/clang-10.0-libc-search-path.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it.
2020-04-13Merge branch 'master' into core-updatesMarius Bakke
2020-04-12gnu: emacs-clang-format: Fix grammar of "allows to filter" to "filters".Vagrant Cascadian
* gnu/packages/llvm (emacs-clang-format): Fix grammar.
2020-03-26llvm: Add support for the Hurd.Jan Nieuwenhuizen
* gnu/packages/llvm.scm (system->llvm-target): Use X86 for i586 (i.e., the Hurd).
2020-03-15gnu: libcxx: Hide GCC's C++ headers during the build process.Marius Bakke
* gnu/packages/llvm.scm (libcxx)[arguments]: New field.
2020-03-15gnu: clang: Switch to 'C_INCLUDE_PATH' & co.Marius Bakke
* gnu/packages/llvm.scm (clang-from-llvm)[native-search-paths]: Remove "CPATH", and add "C_INCLUDE_PATH" and "CPLUS_INCLUDE_PATH".
2020-03-05gnu: clang-runtime: Fix build with glibc 2.31.Marius Bakke
* gnu/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch, gnu/packages/patches/clang-runtime-3.9-libsanitizer-mode-field.patch, gnu/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch: New files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/llvm.scm (clang-runtime, clang-runtime-8, clang-runtime-7, clang-runtime-6, clang-runtime-3.9.1, clang-runtime-3.8, clang-runtime-3.7): Add the respective patches.
2020-03-05gnu: clang-runtime: Adjust for CPLUS_INCLUDE_PATH changes.Marius Bakke
* gnu/packages/llvm.scm (clang-runtime-from-llvm)[arguments]: Add #:modules and #:phases.
2020-03-04Merge branch 'master' into core-updatesMarius Bakke
2020-02-26gnu: clang: Move version conditionals out of the builder.Marius Bakke
* gnu/packages/llvm.scm (clang-from-llvm)[arguments]: Rewrite phase 'set-glibc-file-names' to use VERSION>=? from (guix utils) and splice in the relevant build code, instead of doing the comparison at build time.
2020-02-26gnu: clang: Fix C++ search path handling on non-x86_64.Marius Bakke
* gnu/packages/llvm.scm (clang-from-llvm)[arguments]: Add phase 'add-missing-triplets'.
2020-02-25gnu: clang-runtime-3.5: Fix build.Ricardo Wurmus
* gnu/packages/llvm.scm (clang-runtime-3.5) [inputs]: Add libtirpc. [arguments]: Add phase to find rpc headers.
2020-02-24gnu: LLVM: Promote LLVM 9 to the default 'llvm' package.Marius Bakke
* gnu/packages/llvm.scm (llvm-8): Rename to ... (llvm): ... this. Update to 9.0.1. [license]: Change to ASL2.0. (clang-runtime-from-llvm)[license]: Inherit from LLVM. (clang-from-llvm)[license]: Conditionally choose license based on version. (llvm-9, clang-runtime-8, clang-8, clang-toolchain-8): New public variables. (llvm-7): Inherit from LLVM-8 (for the license change). (llvm-6): Inherit from LLVM-7. (llvm-3.9.1): Inherit from LLVM-6. (llvm-3.8): Inherit from LLVM-3.9.1. (llvm-3.7): Inherit from LLVM-3.8. (llvm-3.6): Inherit from LLVM-3.7. (llvm-3.5): Inherit from LLVM-3.6. (libcxx, libclc, libomp): Update to 9.0.1.
2020-02-24gnu: clang: Use the correct CLANG-RUNTIME for versions 6 and 7.Marius Bakke
* gnu/packages/llvm.scm (clang-7): Use CLANG-RUNTIME-7. (clang-6): Use CLANG-RUNTIME-6.
2020-02-24gnu: Reorganize llvm.scm.Marius Bakke
* gnu/packages/llvm.scm (libcxx, libclc, libomp, libcxx-6): Move package definitions below the various LLVM/Clang variants.
2020-02-24gnu: clang@9: Update to 9.0.1.Marius Bakke
* gnu/packages/llvm.scm (llvm-9): Update to 9.0.1. clang-runtime-9, clang-9): Update hashes.
2020-02-24gnu: llvm: Add helper procedure for constructing download URLs.Marius Bakke
...in preparation for LLVM 9.0.1 which is no longer hosted on llvm.org. * gnu/packages/llvm.scm (llvm-download-uri): New procedure. (llvm-8, clang-runtime-from-llvm, clang-from-llvm, libcxx, libomp, llvm-9, llvm-7, llvm-6, libcxx-6, llvm-3.9.1, llvm-3.8, llvm-3.7, llvm-3.6, llvm-3.5)[source](uri): Use it.