summaryrefslogtreecommitdiff
path: root/Master/tlpkg/bin/tl-update-asy
blob: ba03b39bf10d2ee414d189fedb39a32b6d19a90b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#!/bin/sh
# $Id$
# Public domain.  Originally written 2008, Karl Berry.
# Info about updating asymptote.
# 
# Do not run this script.  It won't work.  It is necessary to run the
# commands one at a time and think about what is being done.  It's
# checked in so that when I get hit by a truck, at least the procedure I
# used will be available as a starting point.
# 
# The script uses various paths and convenience variables that I define
# for myself; feel free to peruse tug.org:~karl/.bash_login, etc.
# --karl

ver=...   # the newly-released version, from revision.cc

test "x$1" = x--build || exit 1
renice +19 -p $$ >/dev/null 2>&1

# 
if false && $update_sources_from_ctan; then
  # this part is about copying the sources from CTAN to TL.
  cd $B/source/utils/
  edit README for asymptote$ver
  (cd asymptote && make distclean; sup && sat)  # be sure no dregs
  \cp -arf /home/ftp/tex-archive/graphics/asymptote/ .

  cd asymptote
  # show list of new files to add:
  svn status | sed -n 's/^\?//p' | fgrep -v binaries
  svn add `!!`
  
  # show list of files to remove:
  diff -qr . /home/ftp/tex-archive/graphics/asymptote/ \
  | egrep -v ' differ' | egrep -v '\.svn'
  svn rm ...

  # final check and commit:
  svn status # don't worry about binaries.
  svn commit -m"asy $ver sources" . ../README
  exit $?

# 
elif test "x$1" = x--build; then
  # this part is about building the i386-linux asymptote on tug.org.
  # Despite all the dire warnings above, this part actually can be run
  # as a script, because it's so often necessary to redo.
  set -e
  PATH=/usr/bin:/bin:/sbin; export PATH # system gcc for sake of shared libs
  #PATH=/usr/local/bin:$PATH		# need new gs to pass tests, but ok
  PATH=$lb:$PATH			# get our kpsewhich
  svn=/usr/local/bin/svn                # so we need our svn explicitly
  unset GREP_OPTIONS CDPATH
  
  set -x
  cd /home/texlive/karl/Build/source/utils/asymptote
  $svn update
  $svn revert asy-keywords.el
  $svn status
  if test -f Makefile; then
    make clean
    $svn revert doc/asy-latex.pdf
    rm -f Makefile
  fi
  rm -rf config.cache config.h config.log config.status errors.temp
  rm -rf /tmp/ainst autom4te.cache
  # these configure options represent what is intended to be supported
  # in the x86_64-linux build.
  ASYMPTOTE_EPSDRIVER=epswrite; export ASYMPTOTE_EPSDRIVER
  ./configure -C --prefix=/tmp/ainst \
    --with-latex=/tmp/ainst/latex --with-context=/tmp/ainst/context \
    --enable-fftw --enable-gl --enable-gsl \
    --enable-texlive-build CFLAGS=-g CXXFLAGS=-ansi
  make
  make check
  make install-prebuilt
  test ! -r .git || mv dot.git .git
  exit 0


# 
elif false && $update_runtime_from_ainst; then
  # this part is about copying the results of a successful build 
  # and install (from the previous section) into the Master/texmf runtime.
  cp="cp -afv"

  xu=$B/source/utils
  xy=$xu/asymptote
  cd $xy
  $cp binaries/i386-win32/texlive/asy.exe $pg/asymptote/

  cd /tmp/ainst
  $cp share/info/{*/,}*.info $xist/doc/info
  $cp share/man/man1/asy.1 $xist/doc/man/man1/asy.1
  $cp share/man/man1/xasy.1x $xist/doc/man/man1/xasy.1
  $cp -r share/doc/asymptote $xist/doc
  #
  $cp -r share/asymptote $xist
  #
  $cp latex/asymptote/* $xist/tex/latex/asymptote/
  $cp context*/asymptote/* $xist/tex/context/third/asymptote/
  #
  # also copy in i386-linux binaryfrom build machine.
  lb=$xb/x86_64-linux
  $cp bin/asy $lb/
  strip $lb/asy

  cd $xist/doc/man
  make
  
  ci="$xu/README \
    $xy \
    $xb/i386-linux $lb $pg/asymptote/ \
    $xist/doc/info/  $xist/doc/man $xist/doc/asymptote \
    $xist/asymptote/ $xist/tex/*/asymptote"

  svn status $ci | sed -n 's/^\?//p'
  svn add `!!`

  cd /tmp/ainst
  xmf=/home/texlive/karl/Master/texmf-dist
  diff -qr share/asymptote/ $xmf/asymptote/ | fgrep -v .svn
  #svn rm ...

  diff -qr share/doc/asymptote/ $xmf/doc/asymptote/ | fgrep -v .svn
  #svn rm ...

  svn status $ci  # just to see
  scom -m"asymptote $ver" $ci
fi