## MIMIMUM: PackageName, Version, PackageDoc, Dependencies, AvailabilityTest, Autoload
## ON UPDATE (manual): Version, Date
## ON UPDATE (automatic): ArchiveURL, PackageDoc.Archive
SetPackageInfo( rec(
## This is case sensitive, use your preferred spelling.
PackageName := "Arrangement",
Subtitle := "A GAP package for Arrangements",
Version := "0.69", # Must change for each update!
Date := "20/04/2007",
ArchiveFormats := "tar.gz,.zip,zoo",
Autoload := false,
# TestFile := "t/testall.g",
Status := "other", # accepted | deposited | dev | other
# CommunicatedBy := "Mike Atkinson (St. Andrews)", # format: 'name (place)'
# AcceptDate := "08/1999", # format: mm/yyyy
Keywords := ["arrangement", "hyperplane"],
BannerString := Concatenation("Loading ", ~.PackageName, " version: ", ~.Version, "\n"),
AbstractHTML :=
"The Arrangement package, as its name suggests, \
is a GAP package for working with Arrangements.",
PackageWWWHome := "http://dean.serenevy.net/page/arrangement",
ArchiveURL := # download URL minus extensions
Concatenation( "http://dean.serenevy.net/Research/Arrangement/Arrangement-", ~.Version ),
README_URL := # The text readme file
"http://dean.serenevy.net/Research/Arrangement/README",
PackageInfoURL := # The PackageInfo file
"http://dean.serenevy.net/Research/Arrangement/PackageInfo.g",
Dependencies := rec(
GAP := ">=4.3",
NeededOtherPackages := [["nq", ">=1.0"], ["laguna", ">=3.0"], ["futil", ">=0.1.2"]], # key, value pairs
SuggestedOtherPackages := [],
# needed external conditions (programs, operating system, ...)
# provide just strings as text or pairs [text, URL], URL provides further information
# (no automatic test will be done for this, do this in your 'AvailabilityTest' below)
ExternalConditions := [],
),
PackageDoc := rec(
# use same as in GAP
BookName := ~.PackageName,
# format/extension can be one of .zoo, .tar.gz, .tar.bz2, -win.zip
Archive := Concatenation( "http://dean.serenevy.net/GAP/Arrangement/doc/Arrangement-", ~.Version ),
ArchiveURLSubset := ["doc", "htm"],
HTMLStart := "htm/chapters.htm",
PDFFile := "doc/manual.pdf",
SixFile := "doc/manual.six",
LongTitle := "Hyperplane and Plane Curve Arrangements",
Autoload := true,
),
Persons := [
rec(
LastName := "Serenevy",
FirstNames := "Dean",
IsAuthor := true,
IsMaintainer := true,
Email := "dean@serenevy.net",
WWWHome := "http://dean.serenevy.net/",
Place := "Boston, Massachusetts, USA",
Institution := "Northeastern University",
),
# provide such a record for each author and/or maintainer ...
],
### DOCUMENTATION SETUP
###--------------------
## Here is the information on the help books of the package, used for
## loading into GAP's online help and maybe for an online copy of the
## documentation on the GAP website.
##
## For the online help the following is needed:
## - the name of the book (.BookName)
## - a long title, shown by ?books (.LongTitle, optional)
## - the path to the manual.six file for this book (.SixFile)
## - a decision if the book should be (auto)loaded, probably 'true'
## (.Autoload)
##
## For an online version on a Web page further entries are needed,
## if possible, provide an HTML- and a PDF-version:
## - if there is an HTML-version the path to the start file,
## relative to the package home directory (.HTMLStart)
## - if there is a PDF-version the path to the .pdf-file,
## relative to the package home directory (.PDFFile)
## - give the paths to the files inside your package directory
## which are needed for the online manual (either as URL .Archive
## if you pack them into a separate archive, or as list
## .ArchiveURLSubset of directory and file names which should be
## copied from your package archive, given in .ArchiveURL above
##
## For links to other GAP or package manuals you can assume a relative
## position of the files as in a standard GAP installation.
##
# in case of several help books give a list of such records here:
### FILE TYPE (TEXT/BINARY) SETUP
###------------------------------
## If not all of the archive formats mentioned above are provided, these
## can be produced at the GAP side. Therefore it is necessary to know which
## files of the package distribution are text files which should be unpacked
## with operating system specific line breaks. There are the following
## possibilities to specify the text files:
##
## - specify below a component 'TextFiles' which is a list of names of the
## text files, relative to the package root directory (e.g., "lib/bla.g")
## - specify below a component 'BinaryFiles' as list of names, then all other
## files are taken as text files.
## - if no 'TextFiles' or 'BinaryFiles' are given and a .zoo archive is
## provided, then the files in that archive with a "!TEXT!" comment are
## taken as text files
## - otherwise: exactly the files with names matching the regular expression
## ".*\(\.txt\|\.gi\|\.gd\|\.g\|\.c\|\.h\|\.htm\|\.html\|\.xml\|\.tex\|\.six\|\.bib\|\.tst\|README.*\|INSTALL.*\|Makefile\)"
## are taken as text files
##
## (Remark: Just providing a .tar.gz file will often result in useful
## archives)
##
## These entries are *optional*.
#TextFiles := ["init.g", ......],
#BinaryFiles := ["doc/manual.dvi", ......],
### TEST FOR PERL
###--------------
## Provide a test function for the availability of this package.
## For packages which will not fully work, use 'Info(InfoWarning, 1,
## ".....")' statements. For packages containing nothing but GAP code,
## just say 'ReturnTrue' here.
## With the new package loading mechanism (GAP >=4.4) the availability
## tests of other packages, as given under .Dependencies above, will be
## done automatically and need not be included in this function.
AvailabilityTest := ReturnTrue,
#AvailabilityTest := function()
# local path,file;
# # test for existence of the compiled binary
# path:=DirectoriesPackagePrograms("example");
# file:=Filename(path,"hello");
# if file=fail then
# Info(InfoWarning,1,
# "Package ``Example'': The program `hello' is not compiled");
# Info(InfoWarning,1,
# "`HelloWorld()' is thus unavailable");
# Info(InfoWarning,1,
# "See the installation instructions; ",
# "type: ?Installing the Example package");
# fi;
# # if the hello binary was vital to the package we would return
# # the following ...
# #return file<>fail;
# # since the hello binary is not vital we return ...
# return true;
# end,
));