OpenBSD installation

From Wiki
Revision as of 20:52, 8 December 2010 by Taco (talk | contribs) (Reverted edits by (Talk) to last version by Taco)
Jump to navigation Jump to search

this page contains instructions how to get the latest ConTeXt up and running on OpenBSD 3.8--4.2.

as of OpenBSD 4.3 the texlive package is the preferred tex distribution. a section will be added how to upgrade context in texlive.

at the moment of writing, teTeX port files are still available through cvs or in ports.tar.gz. a section will be added how to roll your own teTeX on 4.3.

install gmake and ruby

# pkg_add gmake ruby

install teTeX 3.0

# pkg_add teTex_base-3.0p3

this adds all the dependencies with newer pkg tools. if using older ones, add the other packages manually (teTeX_texmf, teTeX_base-fmt).

strictly speaking, one doesn't need X11 for using teTeX, in this case install the *-no_x11 packages.

update pdftex

get the latest version from sarovar.

please note that you will need gnu ghostscript 8.54+ for these pdfs.

# tar xvzf pdftex-1.40.9.tgz
# cd pdftex-1.40.9
# sh ./

when finished, replace the binaries (pdftex is only a symlink to pdfetex):

# cp build/texk/web2c/pdftex /usr/local/bin/pdfetex
# cp build/texk/web2c/pdftex.pool /usr/local/share/texmf/web2c/pdftex.pool
# cp build/texk/web2c/ttf2afm /usr/local/bin/ttf2afm
# fmtutil-sys --all

the last command will update all the formats except the ones which come with context. please note that this will also break the md5 package checksums of the teTeX packages and will leave partial packages when removed/upgraded.

update mpost

this is optional. fetch the source from here

# bunzip2 metapost-0.901.tar.bz2
# tar xvf metapost-0.901.tar
# cd metapost-0.901

apply the following diff (scratch the bashism and use gmake):

--- Build.orig  Sat Mar  4 18:34:06 2006
+++ Build       Sat Mar  4 18:34:15 2006
@@ -1,7 +1,7 @@
-#!/usr/bin/env bash
 # $Id: Build,v 1.3 2005/05/08 15:55:26 taco Exp $
 # builds new pdftex binaries
 # this deletes all previous builds.

run the build and install the new version:

# ./Build
# mkdir -p /usr/local/share/texmf-local/metapost/base
# cp -p texmf/metapost/base/* \
# cd build/texk/web2c
# cp mpost dvitomp mpware/{dmp,mpto,newer,makempx} \
# cp mp.pool /usr/local/share/texmf/web2c/mp.pool
# texhash
# fmtutil-sys --byfmt mpost

modify texmf.cnf

apply the following diff to /usr/local/share/texmf/web2c/texmf.cnf

--- texmf.cnf.orig      Tue Mar  7 00:01:07 2006
+++ texmf.cnf   Tue Mar  7 00:02:16 2006
@@ -246,7 +246,7 @@
 % and string pools (.pool) for ini{tex,mf,mp}.  It is silly that we have six
 % paths and directories here (they all resolve to a single place by default),
 % but historically ...
+TEXFORMATS = .;$TEXMF/web2c{$engine,}
 MFBASES = .;$TEXMF/web2c
 MPMEMS = .;$TEXMF/web2c
 TEXPOOL = .;$TEXMF/web2c
@@ -409,7 +409,7 @@
 TEX_HUSH = none
 % Enable system commands via \write18{...}?
-shell_escape = f
+shell_escape = t
 % Allow TeX \openin, \openout, or \input on filenames starting with `.'
 % (e.g., .rhosts) or outside the current tree (e.g., /etc/passwd)?

more about these changes here and here.

warning: shell_escape = t is a security issue when you're on a system with many users; if you're running it on your own personal computer, it is safe to set this to true. (Thomas A. Schmitz)

upgrade ConTeXt

get the latest package from here.

# cd /usr/local/share/texmf-local/
# unzip -o $HOME/
# texexec --make --all

the formats will end up in $HOME/.texmf-var/web2c/pdfetex/ of the user doing the compilation, or in /usr/local/share/texmf-local/ if compiling as root. to make them globally accessible, one needs to copy them to the system-wide location:

# cd /usr/local/share/texmf-local/
# cp cont-en.* metafun.* mptopdf.* /var/texmf/web2c
# texhash

upgrade Latin Modern fonts

download and install the lm fonts. first delete the old files then copy the new ones.

newer contexts don't need the teTeX provided mappings so move them out of the way:

# rm -r /usr/local/share/texmf-local/fonts/map/dvip{s,dfm}/context
# texhash

ruby scripts

recent versions of ConTeXt mkii use ruby, so make sure you have ruby installed as well.

$ texexec --check 
TeXExec | current distribution: web2c
TeXExec | context source date: 2007.01.23 13:32
TeXExec | format path: /etc/texmf/web2cunset /var/texmf/web2cunset
/usr/local/share/texmf/web2cunset usr/local/share/texmf-local/web2cunset
/usr/local/share/texmf-dist/web2cunset /etc/texmf/web2c /var/texmf/web2c
/usr/local/share/texmf/web2c /usr/local/share/texmf-local/web2c
TeXExec | start of analysis
TeXExec | end of analysis
TeXExec |
TeXExec | TeXExec | version 6.2.0 - 1997-2006 - PRAGMA ADE/POD
TeXExec | TeXUtil   | version 9.1.0 - 1997-2005 - PRAGMA ADE/POD
TeXExec | CtxTools | version 1.3.3 - 2004/2006 - PRAGMA ADE/POD