; $VER: Install DVI & DVILW 3.62 (29.01.94)
;
;       Installer Script fr DVI & DVILW 3.62
;       Version:  1.01
;       Autor:    Markus Zahn
;

( complete 0 )
( set @default-dest "TeX:" )
( set lha_prog "LhA" )

( if ( exists "ENV:TEXCONFIG" )
  ( set config_dest ( getenv "TEXCONFIG" ) )
  ( set config_dest "TeX:config" )
)

( welcome )

( if ( set TeX ( getassign "TeX" "a" ) )
  ( message
      "\nIhre TeX Installation scheint sich im Verzeichnis\n" TeX "\n"
      "zu befinden. Die Treiber werden standardmig in das Verzeichnis "
      "TeX:bin kopiert. Die zugehrigen Konfigurationsdatein werden im Ordner "
      "TeX:config abgelegt."
  )
  (
    ( message
        "\nVerzeichnis TeX: nicht gefunden!\n"
        "Vielleicht haben Sie TeX nocht nicht auf Ihrem System installiert? "
        "In diesem Fall installieren Sie bitte zuerst Ihre TeX Version. "
        "Ansonsten sollten Sie das logische Laufwerk TeX: einrichten."
    )
    ( set TeX
      ( tackon
        ( askdir
          ( prompt
              "Welches Verzeichnis wollen Sie dem logischen Laufwerk "
              "TeX: zuordnen?"
          )
          ( help @askdir-help )
          ( default "Work:" )
        )
        ""
      )
    )
    ( makeassign "TeX" TeX )
  )
)

( set TeX "TeX:" )

;
; Copy executables and support files.
;

( set bin_dest
  ( tackon
    ( askdir
      ( prompt
          "In welches Verzeichnis sollen die beiden Treiber DVI "
          "und DVILW kopiert werden?"
      )
      ( help
          "Das vorgeschlagene Verzeichnis ist \"TeX:bin\". Der gewhlte "
          "Ordner sollte sich auf jeden Fall im Suchpfad Ihres Systems befinden, "
          "es sei denn Sie verwenden DVI und DVILW ausschlielich von der "
          "Workbench aus. Auf Wunsch knnen die entsprechenden Anweisungen spter "
          "in der Datei S:User-Startup eingetragen werden.\n\n"
          @askdir-help
      )
      ( default ( tackon TeX "bin" ) )
    )
    ""
  )
)

( copyfiles
  ( prompt "Die Treiber werden kopiert..." )
  ( help @copyfiles-help )
  ( all )
  ( source "Bin" )
  ( dest bin_dest )
  ( infos )
)

( complete 5 )

( set config_dest
  ( tackon
    ( askdir
      ( prompt
          "In welches Verzeichnis sollen die Konfigurationsdateien "
          "kopiert werden?"
      )
      ( help
          "Der vorgeschlagene Ordner fr die Konfigurationsdateien ist "
          "entweder das in der Environmentvariablen \"TEXCONFIG\" gespeicherte "
          "Verzeichnis, oder der Ordner TeX:config.\n\n"
          @askdir-help
      )
      ( default config_dest )
    )
    ""
  )
)

( copyfiles
  ( prompt "Die Konfigurationsdateien werden kopiert..." )
  ( help @copyfiles-help )
  ( choices "dvilw.map" "dvilw.ps" )
  ( source "Config" )
  ( dest config_dest )
)

( complete 10 )

( set rexx_dest
  ( tackon
    ( askdir
      ( prompt
          "In welchen Ordner soll das mitgelieferte ARexx Skript "
          "kopiert werden?"
      )
      ( help
          "Der vorgeschlagene Ordner fr ARexx Dateien ist \"Rexx:\". "
          "Sollten Sie ein anderes Verzeichnis audwhlen, so sollte der "
          "entsprechende Pfad in den Konfigurationsdateien \"dvi.opt\" sowie "
          "\"dvilw.opt\" eingetragen werden. Diese Eintragungen werden spter "
          "fr Sie vorgenommen. Beachten Sie, da der Pfad des ARexx-Skripts "
          "unter keinen Umstnden Leerzeichen enthalten darf, da es sonst zu "
          "Fehlern bei der automatischen Zeichensatzerzeugung kommt.\n\n"
          @askdir-help
      )
      ( default "Rexx:" )
    )
    ""
  )
)

( copyfiles
  ( prompt "Das ARexx Skript wird kopiert..." )
  ( help @copyfiles-help )
  ( all )
  ( source "Rexx" )
  ( dest rexx_dest )
)

( complete 11 )

;
; Copy manual
;

( if
    ( askbool
      ( prompt
          "\nWollen Sie die Dokumentation zu DVI und DVILW installieren?\n"
          "Die Dokumentation besteht aus der DVI Datei \"Driver.dvi\" sowie den "
          "(gepackten) TeX Quelldateien \"dviman.lha\". Auf Wunsch kann das Archiv "
          "spter fr Sie entpackt werden."
      )
      ( help @askbool-help )
      ( default 1 )
    )
  (
    ( set doc_dest
      ( tackon
        ( askdir
          ( prompt "In welches Verzeichnis soll die Anleitung kopiert werden?" )
          ( help @askdir-help )
          ( default ( tackon TeX "manual" ) )
        )
        ""
      )
    )
    ( copyfiles
      ( prompt "Die Anleitung wird kopiert..." )
      ( help @copyfiles-help )
      ( all )
      ( source "Manual" )
      ( dest doc_dest )
    )

    ( complete 20 )

    ( if
        ( askbool
          ( prompt
              "\nWollen Sie die TeX Quelldateien der Anleitung extrahieren?\n"
              "Diese Operation setzt die Existenz des Programms \"LhA\" voraus. "
              "Ohne dieses Programm knnen die Dateien nicht entpackt werden."
          )
          ( help
              "Das Programm \"LhA\" existiert in einer Amiga Implementation "
              "von Stefan Boberg. LhA ist Shareware, existiert aber ebenfalls "
              "in einer \"Evaluation\" Version, die zum Kennenlernen z.B. ber "
              "das Aminet frei verfgbar ist.\n\n"
              @askbool-help )
          ( default 1 )
        )
      (
        ( set arc_file ( tackon doc_dest "dviman.lha" ) )
        ( set lha_prog
          ( askfile
            ( prompt
                "Geben Sie bitte Pfad und Namen Ihres LhA kompatiblen "
                "Programms an."
            )
            ( help @askfile-help )
            ( default lha_prog )
          )
        )
        ( working "Die Dokumentation wird entpackt..." )
        ( makeassign "dvi_uniaug_doc" doc_dest )
        ( set ret_val
          ( run
            ( cat lha_prog " e \"" arc_file "\" dvi_uniaug_doc:" )
          )
        )
        ( if ( <> ret_val 0 )
          ( message
              "\nDie TeX Quelldateien konnten nicht erfolgreich enpackt "
              "werden... :-(\n"
              "Vielleicht konnte Ihr LhA kompatibles Programm nicht gefunden "
              "werden. Sie knnen die TeX Quelldateien aber jederzeit von Hand "
              "nachinstallieren."
          )
        )
        ( makeassign "dvi_uniaug_doc" )
      )
    )
  )
)

( complete 50 )

;
; Copy source
;

( if
    ( askbool
      ( prompt
          "\nWollen Sie die C Quelltexte zu DVI und DVILW installieren?\n"
          "Die (gepackten) C Quelldateien sind im Archiv \"dvisrc.lha\" "
          "enthalten. Auf Wunsch kann das Archiv spter fr Sie entpackt werden."
      )
      ( help @askbool-help )
      ( default 1 )
    )
  (
    ( set src_dest
      ( tackon
        ( askdir
          ( prompt "In welches Verzeichnis sollen die Quelldateien kopiert werden?" )
          ( help @askdir-help )
          ( default ( tackon TeX "source" ) )
        )
        ""
      )
    )
    ( copyfiles
      ( prompt "Das Archiv mit den Quelldateien wird kopiert..." )
      ( help @copyfiles-help )
      ( all )
      ( source "Source" )
      ( dest src_dest )
    )

    ( complete 60 )

    ( if
        ( askbool
          ( prompt
              "\nWollen Sie die C Quelltexte von DVI und DVILW extrahieren?\n"
              "Diese Operation setzt die Existenz des Programms \"LhA\" voraus. "
              "Ohne dieses Programm knnen die Dateien nicht entpackt werden."
          )
          ( help
              "Das Programm \"LhA\" existiert in einer Amiga Implementation "
              "von Stefan Boberg. LhA ist Shareware, existiert aber ebenfalls "
              "in einer \"Evaluation\" Version, die zum Kennenlernen z.B. ber "
              "das Aminet frei verfgbar ist.\n\n"
              @askbool-help )
          ( default 1 )
        )
      (
        ( set arc_file ( tackon src_dest "dvisrc.lha" ) )
        ( set lha_prog
          ( askfile
            ( prompt
                "Geben Sie bitte Pfad und Namen Ihres LhA kompatiblen "
                "Programms an."
            )
            ( help @askfile-help )
            ( default lha_prog )
          )
        )
        ( working "Die C Quelltexte werden entpackt..." )
        ( makeassign "dvi_uniaug_src" src_dest )
        ( set ret_val
          ( run
            ( cat lha_prog " e \"" arc_file "\" dvi_uniaug_src:" )
          )
        )
        ( if ( <> ret_val 0 )
          ( message
              "\nDie C Quelltexte konnten nicht erfolgreich enpackt "
              "werden... :-(\n"
              "Vielleicht konnte Ihr LhA kompatibles Programm nicht gefunden "
              "werden. Sie knnen die TeX Quelldateien aber jederzeit von Hand "
              "nachinstallieren."
          )
        )
        ( makeassign "dvi_uniaug_src" )
      )
    )
  )
)

( complete 90 )

;
; Optionsdateien anpassen...
;

( set drucker ( askchoice
    ( prompt "Welchen Drucker mchten Sie verwenden?" )
    ( choices
        "Keinen"
        "HP PCL Kompatibler; 300x300 dpi"
        "HP PCL kompatibler; 100x100 dpi"
        "NEC P6 Kompatibler; 360x360 dpi"
        "NEC P6 Kompatibler; 360x180 dpi"
        "NEC P6 Kompatibler; 180x180 dpi"
        "Epson FX-80 oder Kompatibler; 240x216 dpi"
        "Canon BJ-300 oder Kompatibler; 300x300 dpi"
    )
    ( default 0 )
    ( help
      "Bitte geben Sie den Drucker an, auf den DVI konfiguriert werden soll. "
      "Sollten Sie keinen Drucker an Ihren Amiga angeschlossen haben, oder "
      "sollten Sie ausschlielich Ausgaben auf PostScriptfhigen Druckern "
      "erzeugen, knnen Sie hier \"Keinen\" selektieren. In allen anderen "
      "Fllen whlen Sie:\n\n"
      "\"HP PCL ...\" fr Drucker die zum HP Laserjet kompatibel sind, wie z.B. "
      "HP Deskjet, Olivetti JP-350, OKI OL400e etc.\n\n"
      "\"NEC P6 ...\" fr Drucker mit NEC P6 kompatiblem Befehlssatz.\n\n"
      "\"Epson FX-80 ...\" fr Drucker, die zum Epson FX-80 kompatibel sind, wie "
      "z.B. der Star LC-10\n\n"
      "\"Canon BJ-300 ...\" fr Drucker mit Canon BJ-300 kompatiblem "
      "Befehlssatz.\n\n"
      @askchoice-help
    )
  )
)

( if ( = drucker 0 ) ( set output "NONE" ) )
( if ( = drucker 1 ) ( set output "HPHIGH" ) )
( if ( = drucker 2 ) ( set output "HPLOW" ) )
( if ( = drucker 3 ) ( set output "P6HIGH" ) )
( if ( = drucker 4 ) ( set output "P6MID" ) )
( if ( = drucker 5 ) ( set output "P6LOW" ) )
( if ( = drucker 6 ) ( set output "FX80" ) )
( if ( = drucker 7 ) ( set output "BJ300" ) )

( textfile
  ( dest ( tackon config_dest "dvi.opt" ) )
  ( append
      "HRESOLUTION=100\n"
      "VRESOLUTION=100\n\n"
      "CALLMF=" ( tackon rexx_dest "MakePKFont.rexx" ) "\n"
      "PKPATH=TeX:pk/%hx%v/%s.%dpk\n"
      "TFMPATH=TeX:fonts\n"
      "VFPATH=TeX:vfps\n\n"
      "OUTPUT=" output "\n"
  )
  ( help @textfile-help )
)

( message
    "Die Konfigurationsdatei \"dvi.opt\" im Verzeichnis \"" config_dest "\" "
    "wurde entsprechend Ihren Angaben modifiziert. Sie knnen diese Einstellungen "
    "jederzeit entweder ber DVI (Save Options) oder mit einem beliebigen Editor "
    "an Ihre Bedrfnisse anpassen. Beachten Sie, da der Pfad und der Name "
    "externer ARexx-Skripte NIEMALS Leerzeichen enthalten darf, da es sonst zu "
    "Fehlern bei der ausfhrung kommt."
)

;
; Completed...
;

( set @default-dest bin_dest )
( complete 100 )
