## 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, ));