OpenBSD installation

From Wiki
Revision as of 23:14, 6 March 2006 by Minusf (talk | contribs)
Jump to navigation Jump to search

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

install gmake

$ sudo pkg_add gmake

install teTeX 3.0

$ sudo 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.

$ tar xvzf pdftex-1.30.6.tgz
$ cd pdftex-1.30.6

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

--- build.sh.orig       Mon Feb 27 21:45:29 2006
+++ build.sh    Mon Feb 27 23:32:31 2006
@@ -1,7 +1,7 @@
-#! /usr/bin/env bash
+#!/bin/sh
 # $Id$
 # builds new pdftex binaries
-MAKE=make
+MAKE=gmake
 STRIP=strip
 # this deletes all previous builds.

run the build:

$ sh ./build.sh

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

$ sudo mv build/texk/web2c/pdfetex which pdfetex
$ sudo mv build/texk/web2c/pdfetex.pool kpsewhich pdfetex.pool
$ sudo mv build/texk/web2c/ttf2afm which ttf2afm
$ sudo fmtutil-sys --all

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 a very similar diff as with pdftex (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
+#!/bin/sh
 # $Id: Build,v 1.3 2005/05/08 15:55:26 taco Exp $
 # builds new pdftex binaries
-MAKE=make
+MAKE=gmake
 STRIP=strip
 # this deletes all previous builds.

run the build:

$ ./Build
$ sudo mkdir -p /usr/local/share/texmf-local/metapost/base
$ sudo cp -p texmf/metapost/base/* /usr/local/share/texmf-local/metapost/base
$ cd build/texk/web2c
$ sudo mv mpost dvitomp mpware/dmp mpware/mpto mpware/newer mpware/makempx \
  /usr/local/bin
$ sudo mv mp.pool /usr/local/share/texmf/web2c/mp.pool
$ sudo texhash
$ sudo 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
+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/
$ sudo unzip -o ~/cont-tmf.zip
$ sudo texexec --make --all

the formats will end up in $HOME/.texmf-var/web2c/pdfetex/ of the user doing the compiling. to make them globally accessible, one needs to copy them:

$ sudo mv $HOME/.texmf-var/web2c/pdfetex /var/texmf/web2c/
$ sudo texhash