diff options
-rw-r--r-- | README.md | 105 | ||||
-rw-r--r-- | makefile | 21 |
2 files changed, 104 insertions, 22 deletions
@@ -1,27 +1,85 @@ | |||
1 | TeX Live for OpenBSD | 1 | TeX Live for *Open*BSD |
2 | ==================== | 2 | ====================== |
3 | 3 | ||
4 | There are two ways to use TeX Live in OpenBSD. | 4 | There are two ways of using TeX Live in OpenBSD. |
5 | 5 | ||
6 | 1. From ports. TeX Live is available in variety of “schemes” to wit | 6 | 1. From ports. TeX Live is available in variety of “schemes” to wit |
7 | different sets of package collections, of which a list can be found | 7 | different sets of package collections, of which a list can be found |
8 | on the | 8 | on |
9 | [openports.pl](https://openports.pl/search?file=&pkgname=texlive) | 9 | [openports.pl](https://openports.pl/search?file=&pkgname=texlive)fa.[^1] |
10 | website.[^1] | ||
11 | 2. By installing the “native” TeX Live over the internet, as described | 10 | 2. By installing the “native” TeX Live over the internet, as described |
12 | on [its home page](https://tug.org/texlive). This latter method | 11 | on [its home page](https://tug.org/texlive). This latter method |
13 | makes it easy to install new packages and to update existing | 12 | facilitates the installation of new packages and the updating of |
14 | ones. However, the binaries for OpenBSD are not currently part of | 13 | existing ones. However, the binaries for OpenBSD are not currently |
15 | the official TeX Live distribution. The reason for this is | 14 | part of the official TeX Live distribution. The reason for this is |
15 | that the TeX Live binaries are published once a year while the | ||
16 | OpenBSD system undergoes two updates a year. | ||
17 | |||
18 | This page provides an easy way to build one's own TeX Live binaries | ||
19 | for OpenBSD—either -stable or -current—through a simple script which | ||
20 | is nothing but an adapted version of the one used to build TeX Live | ||
21 | for the supported systems.[^2] | ||
16 | 22 | ||
17 | References | 23 | In addition, *TeX Live for OpenBSD* provides ready-to-use binary sets |
18 | ---------- | 24 | for those who do not wish to compile their own. |
25 | |||
26 | In addition to the standard binaries supported by TeX Live, TeX Live | ||
27 | for OpenBSD provides the following: | ||
28 | - xindy | ||
29 | - LuaMetaTeX (ConTeXt) | ||
30 | - asymptote | ||
31 | |||
32 | Installing TeX Live on OpenBSD with ready-to-use binaries | ||
33 | --------------------------------------------------------- | ||
34 | |||
35 | Please read first the reference page on this matter: | ||
36 | <https://tug.org/texlive/custom-bin.html>. | ||
37 | |||
38 | 1. Requirements: | ||
39 | - curl | ||
40 | - gpg | ||
41 | - xz | ||
42 | - p5-Tk | ||
43 | 2. Import the public key used to sign the archive: | ||
44 | ```sh | ||
45 | gpg --keyserver pgp.mit.edu --recv 1773E9248085C8C7 | ||
46 | ``` | ||
47 | 3. Clone this git repository and fetch the binaries: | ||
48 | ```sh | ||
49 | git clone https://git.sr.ht/~ralessi/texlive-openbsd | ||
50 | cd texlive-openbsd | ||
51 | make fetch | ||
52 | ``` | ||
53 | 4. Proceed with TL installation, as per the instructions displayed on | ||
54 | the terminal. | ||
55 | |||
56 | ### All by hand | ||
57 | Direct link to the binaries: <https://www.ekdosis.org/texlive>. | ||
58 | |||
59 | Updating the binaries over the course of the year | ||
60 | ------------------------------------------------- | ||
61 | |||
62 | The requirements are the same as above. | ||
63 | |||
64 | 1. Go to the directory where the texlive-openbsd git repository was | ||
65 | cloned, then do: | ||
66 | ```sh | ||
67 | make | ||
68 | ``` | ||
69 | 2. Proceed as per the instructions displayed on the terminal. | ||
70 | |||
71 | Alternatively, the direct link to the binaries provided above can be | ||
72 | used. | ||
73 | |||
74 | Building the sources | ||
75 | -------------------- | ||
76 | |||
77 | ### References | ||
19 | - General information: <https://tug.org/texlive/build.html> | 78 | - General information: <https://tug.org/texlive/build.html> |
20 | - Building GNU CLISP for xindy: | 79 | - Building GNU CLISP for xindy: |
21 | <https://tug.org/svn/texlive/trunk/Build/source/utils/README?view=markup> | 80 | <https://tug.org/svn/texlive/trunk/Build/source/utils/README?view=markup> |
22 | 81 | ||
23 | Requirements | 82 | ### Requirements |
24 | ------------ | ||
25 | - For texlive | 83 | - For texlive |
26 | - git | 84 | - git |
27 | - gmake | 85 | - gmake |
@@ -36,17 +94,26 @@ Requirements | |||
36 | - freeglut | 94 | - freeglut |
37 | - readline | 95 | - readline |
38 | 96 | ||
39 | Getting the sources | 97 | ### Getting the sources |
40 | ------------------- | ||
41 | ```sh | 98 | ```sh |
42 | checkout-tl.sh | 99 | ./checkout-tl.sh |
43 | ``` | 100 | ``` |
44 | 101 | ||
45 | Building the binaries | 102 | ### Building |
46 | --------------------- | ||
47 | ```sh | 103 | ```sh |
48 | tl-build.sh | 104 | ./tl-build.sh |
49 | ``` | 105 | ``` |
50 | 106 | ||
107 | Acknowledgements | ||
108 | ---------------- | ||
109 | Special thanks go to the following people for their work and kind | ||
110 | advice: Karl Berry, Nelson H. F. Beebe, Norbert Preining and Mojca | ||
111 | Miklavec. | ||
112 | |||
113 | Notes | ||
114 | ----- | ||
51 | [^1]: More information on how TL is built for OpenBSD here: | 115 | [^1]: More information on how TL is built for OpenBSD here: |
52 | <https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/print/texlive> | 116 | <https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/print/texlive> |
117 | |||
118 | [^2]: See <https://tug.org/texlive/build.html>. The `Build` script can | ||
119 | be found here: <https://tug.org/svn/texlive/trunk/Build/source>. | ||
@@ -5,7 +5,7 @@ OPENBSD_VERSION!=uname -r | sed 's/\.//' | |||
5 | TLBINPATH!=which latex | sed 's/\/latex//' | 5 | TLBINPATH!=which latex | sed 's/\/latex//' |
6 | TMPSOURCE?="" | 6 | TMPSOURCE?="" |
7 | 7 | ||
8 | .MAIN: fetch | 8 | .MAIN: update |
9 | 9 | ||
10 | fetch: | 10 | fetch: |
11 | curl ${BINREPO}/amd64-openbsd${OPENBSD_VERSION}.tar.xz \ | 11 | curl ${BINREPO}/amd64-openbsd${OPENBSD_VERSION}.tar.xz \ |
@@ -13,9 +13,24 @@ fetch: | |||
13 | curl ${BINREPO}/amd64-openbsd${OPENBSD_VERSION}.tar.xz.asc \ | 13 | curl ${BINREPO}/amd64-openbsd${OPENBSD_VERSION}.tar.xz.asc \ |
14 | > ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz.asc | 14 | > ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz.asc |
15 | gpg --verify ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz.asc | 15 | gpg --verify ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz.asc |
16 | unxz ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz | ||
17 | mkdir ${TMPDIR}/bin \ | ||
18 | && tar xf ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar \ | ||
19 | -C ${TMPDIR}/bin | ||
20 | @echo "Looks good." | ||
21 | @echo "Now do this to install TeX Live with custom binaries:" | ||
22 | @echo " cd /path/to/install-tl" | ||
23 | @echo " ./install-tl --custom-bin=${TMPDIR}/bin" | ||
24 | |||
25 | update: | ||
26 | curl ${BINREPO}/amd64-openbsd${OPENBSD_VERSION}.tar.xz \ | ||
27 | > ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz | ||
28 | curl ${BINREPO}/amd64-openbsd${OPENBSD_VERSION}.tar.xz.asc \ | ||
29 | > ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz.asc | ||
30 | gpg --verify ${TMPDIR}/amd64-openbsd${OPENBSD_VERSION}.tar.xz.asc | ||
16 | .if "${PREFIX}" == ${TLBINPATH} | 31 | .if "${PREFIX}" == ${TLBINPATH} |
17 | @echo "Looks good." | 32 | @echo "Looks good." |
18 | @echo "Now do this to install or update the binaries:" | 33 | @echo "Now do this to update the binaries:" |
19 | @echo "1. Remove the binaries that are currently installed:" | 34 | @echo "1. Remove the binaries that are currently installed:" |
20 | @echo " doas rm ${PREFIX}/*" | 35 | @echo " doas rm ${PREFIX}/*" |
21 | @echo "2. Run this command:" | 36 | @echo "2. Run this command:" |
@@ -31,4 +46,4 @@ install: | |||
31 | unxz ${TMPSOURCE}/amd64-openbsd${OPENBSD_VERSION}.tar.xz | 46 | unxz ${TMPSOURCE}/amd64-openbsd${OPENBSD_VERSION}.tar.xz |
32 | doas tar xf ${TMPSOURCE}/amd64-openbsd${OPENBSD_VERSION}.tar -C ${PREFIX}/ | 47 | doas tar xf ${TMPSOURCE}/amd64-openbsd${OPENBSD_VERSION}.tar -C ${PREFIX}/ |
33 | 48 | ||
34 | .PHONY: fetch install | 49 | .PHONY: fetch update install |