(set vernum (getversion "libs:version.library"))
(set ver (/ vernum 65536))
(set rev (- vernum (* ver 65536)))
(set is_update 0)
(complete 0)

(set @execute-dir (pathonly @icon))
(makeassign "TERMINST" @execute-dir)
(set term-dest (getassign "TERMINUS" "a"))

(if term-dest
   (
      (set @default-dest term-dest)
      (set is_update 
         (askbool
            (prompt 
               "Your current copy of Terminus appears to be located in the drawer named \""
               term-dest
               "\".\n\n  Do you want the update installed in that drawer?"
            )
            (help
               "The logical assignment \"TERMINUS\" is present on your system"
               "If you would like this version placed elsewhere, please select"
               "NO.  Otherwise, select YES to install Terminus there."
            )
            (default 1)
         )
      )
   )
)

(if (= is_update 0)
   (
      (set term-dest
         (tackon 
            (askdir
               (prompt "In which disk or drawer should Terminus be installed?")
               (help @askdir-help)
               (default @default-dest)
            )
            "Terminus"
         )
      )
      (makedir term-dest (infos))
      (makeassign "TERMINUS" term-dest)
   )
)

(set @default-dest "")
(set ver 0)
(if (exists "LIBS:asl.library")
   (
      (set vernum (getversion "LIBS:asl.library"))
      (set ver (/ vernum 65536))
   )
)

(if (and (not (exists "LIBS:req.library")) (< ver 38))
   (copyfiles
      (source "Libs/req.library")
      (dest "LIBS:")
   )
)

(complete 7)

(if (not (exists "LIBS:OwnDevUnit.library"))
   (copyfiles
      (source "Libs/OwnDevUnit.library")
      (dest "LIBS:")
   )
)

(complete 14)

(if (not (exists "LIBS:xprkermit.library"))
   (copyfiles
      (source "Libs/xprkermit.library")
      (dest "LIBS:")
   )
)

(complete 21)

(if (not (exists "LIBS:xprbplus.library"))
   (copyfiles
      (source "Libs/xprbplus.library")
      (dest "LIBS:")
   )
)

(complete 28)

(copyfiles
   (source "Fonts")
   (dest "Fonts:")
   (all)
)

(complete 35)

(set exec-lha (tackon "TERMINST:" "bin/lha -mxE e "))

(if (getassign "REXX:" "a")
   (working "Extracting Terminus ARexx scripts...")
   (set exec-part (tackon "TERMINST:" "RexxFiles REXX:"))
   (run (cat exec-lha exec-part))
)

(complete 42)

(set script-dest (tackon term-dest "Scripts"))
(if (not (exists script-dest))
   (makedir script-dest)
)

(complete 49)

(makeassign "TERMTEMP" script-dest)
(working "Extracting Terminus scripts...")
(set exec-part (tackon "TERMINST:" "ScriptFiles TERMTEMP:"))
(run (cat exec-lha exec-part))

(complete 56)

(copyfiles
   (source "Readme")
   (dest term-dest)
   (infos)
)

(copyfiles
   (source "History.txt")
   (dest term-dest)
   (infos)
)

(complete 63)

(copyfiles
   (source "Registration")
   (dest term-dest)
   (infos)
)

(complete 70)

(copyfiles
   (source "Legal")
   (dest term-dest)
   (infos)
)

(complete 77)

(makeassign "TERMTEMP" term-dest)
(working "Extracting Terminus executables...")
(set exec-part (tackon "TERMINST:" "ExecFiles TERMTEMP:"))
(run (cat exec-lha exec-part))

(complete 84)

(working "Extracting Terminus documentation...")
(set exec-part (tackon "TERMINST:" "DocFiles TERMTEMP:"))
(run (cat exec-lha exec-part))
(makeassign "TERMTEMP")
(makeassign "TERMINST")

(complete 91)

(if (exists "keyfile")
   (copyfiles
      (source "keyfile")
      (dest term-dest)
   )
)

(startup "Terminus"
   (prompt
      "Ready to modify \"S:User-Startup\" so that Terminus can be "
      "used with your system."
   )
   (help @startup-help)
   (command 
      "Assign TERMINUS: " term-dest "\n"
      "Path TERMINUS: add\n"
   )
)

(complete 100)

(exit)
