xindy-2.5.1

#### Beyond Linux® From Scratch (System V Edition) - Version r13.0-791

### Chapter 51. Typesetting

- Prev

  dvisvgm-3.6

- Next

  Creative Commons License

- Up
- Home

# xindy-2.5.1

## Introduction to xindy

Xindy is an index processor that can be used to generate book-like indexes for arbitrary document-preparation systems. This includes systems such as TeX and LaTeX, the roff-family, and SGML/XML-based systems (e.g., HTML) that process some kind of text and generate indexing information.

### Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

### Package Information

- Download (HTTP): https://tug.ctan.org/support/xindy/base/xindy-2.5.1.tar.gz

- Download MD5 sum: 221acfeeb0f6f8388f89a59c56491041

- Download size: 506 KB

- Estimated disk space required: 15 MB

- Estimated build time: less than 0.1 SBU

### Required Additional Downloads

- Required patch: https://www.linuxfromscratch.org/patches/blfs/svn/xindy-2.5.1-upstream_fixes-2.patch

### Xindy Dependencies

#### Required

Clisp-2.49.95 and texlive-20250308

## Installation of xindy

Install xindy by running the following commands:

    export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &&

    sed -i "s/ grep -v '^;'/ awk NF/" make-rules/inputenc/Makefile.in &&

    sed -i 's%\(indexentry\)%\1\\%' make-rules/inputenc/make-inp-rules.pl &&

    patch -Np1 -i ../xindy-2.5.1-upstream_fixes-2.patch &&

    ./configure --prefix=$TEXLIVE_PREFIX              \
                --bindir=$TEXLIVE_PREFIX/bin/$TEXARCH \
                --datarootdir=$TEXLIVE_PREFIX         \
                --includedir=/usr/include             \
                --libdir=$TEXLIVE_PREFIX/texmf-dist   \
                --mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man &&

    make LC_ALL=POSIX

This package does not have a test suite.

Now, as the `root` user:

    make install

## Command Explanations

sed -i "s/ grep -v '^;'/ awk NF/" ...: The build sorts files in latin{1..3} encodings to create latin.xdy, and unicode versions of these to create utf8.xdy after using grep -v '^;' to remove blank lines. With grep-2.23 any data not in the expected encoding is treated as binary, resulting in a useless file. This command uses an alternative way of removing blank lines.

sed -i 's%\(indexentry\)%\1\\%' ...: A regexp contains `indexentry{` - perl has warned about the unescaped left brace for some time and now treats it as illegal. Change it to `indexentry\{`, doubling the backslash for sed.

patch -Np1 -i ../xindy-2.5.1-upstream_fixes-2.patch: Xindy is now maintained at CTAN. This patch updates the source with some of the changes made there (but ignoring changes which were only made to allow for spaces in pathnames and some trivial recent changes).

`--prefix=`, `--bindir=`, `--datarootdir=`, and other “dir” switches: these switches ensure that the files installed from source will overwrite any corresponding files previously installed by install-tl-unx so that the alternative methods of installing texlive are consistent.

`--includedir=/usr/include`: This parameter ensures that the `kpathsea` headers from texlive-20250308 will be found.

make LC_ALL=POSIX: with the current version of coreutils it is essential to build xindy in the POSIX (or C) locale because in a UTF-8 locale the file `latin.xdy` will contain only a heading and then a line '`Binary file (standard input) matches`' instead of the many lines of lisp merge-rule commands it ought to contain.

## Contents

Installed Programs: tex2xindy, texindy, xindy
Installed Libraries: None
Installed Directory: $TEXLIVE_PREFIX/texmf-dist/xindy

### Short Descriptions

tex2xindy | transforms a LaTeX index file into a xindy raw index file
texindy | is a wrapper for xindy that turns on many LaTeX conventions by default
xindy | creates a sorted and tagged index from a raw LaTeX index

- Prev

  dvisvgm-3.6

- Next

  Creative Commons License

- Up
- Home