#############################################################################
##
## HAPPRIME - PackageInfo.g
## Initialisation file
## Paul Smith
##
## Copyright (C) 2007-2009
## Paul Smith
## National University of Ireland Galway
##
## Base on the GAP "example" package by Werner Nickel and Werner Nickel
##
## This file is part of HAPprime.
##
## HAPprime is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
##
## HAPprime is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program. If not, see .
##
## $Id: PackageInfo.g 357 2008-12-12 11:43:42Z pas $
##
#############################################################################
SetPackageInfo( rec(
## This is case sensitive, use your preferred spelling.
##
PackageName := "HAPprime",
## This may be used by a default banner or on a Web page, should fit on
## one line.
Subtitle := "a HAP extension for small prime power groups",
## See '?Extending: Version Numbers' in GAP help for an explanation
## of valid version numbers. For an automatic package distribution update
## you must provide a new version number even after small changes.
Version := "0.3.2",
Date := "13/02/2009",
## URL of the archive(s) of the current package release, but *without*
## the format extension(s), like '.zoo', which are given next.
## The archive file name *must be changed* with each version of the archive
## (and probably somehow contain the package name and version).
## The paths of the files in the archive must begin with the name of the
## directory containing the package (in our "example" probably:
## example/init.g, ... or example-1.3/init.g, ... )
#
ArchiveURL := "http://www.maths.nuigalway.ie/~pas/CHA/HAPprime/Download/happrime-0.3.2",
## All provided formats as list of file extensions, separated by white
## space or commas.
## Currently recognized formats are:
## .zoo the (GAP-traditional) zoo-format with "!TEXT!" comments
## for text files
## .tar.gz the UNIX standard
## .tar.bz2 compressed with 'bzip2', often smaller than with gzip
## -win.zip zip-format for DOS/Windows, text files must have DOS
## style line breaks (CRLF)
##
## In the future we may also provide .deb or .rpm formats which allow
## a convenient installation and upgrading on Linux systems.
##
# ArchiveFormats := ".zoo", # the others are generated automatically
ArchiveFormats := ".tar.gz",
## 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", ......],
## Information about authors and maintainers is contained in the `Persons'
## field which is a list of records, one record for each person; each
## person's record should be as per the following example:
##
## rec(
## # these are compulsory, characters are interpreted as latin-1, so
## # German umlauts and other western European special characters are ok:
## LastName := "Mller",
## FirstNames := "Fritz Eduard",
##
## # At least one of the following two entries must be given and set
## # to 'true' (an entry can be left out if value is not 'true'):
## IsAuthor := true;
## IsMaintainer := true;
##
## # At least one of the following three entries must be given.
## # - preferably email address and WWW homepage
## # - postal address not needed if email or WWW address available
## # - if no contact known, specify postal address as "no address known"
## Email := "Mueller@no.org",
## # complete URL, starting with protocol
## WWWHome := "http://www.no.org/~Mueller",
## # separate lines by '\n' (*optional*)
## PostalAddress := "Dr. F. Mller\nNo Org Institute\nNo Place 13\n\
## 12345 Notown\nNocountry"
##
## # If you want, add one or both of the following entries (*optional*)
## Place := "Notown",
## Institution := "Institute for Nothing"
## )
##
Persons := [
rec(
LastName := "Smith",
FirstNames := "Paul",
IsAuthor := true,
IsMaintainer := false,
Email := "pas1001@cantab.net",
WWWHome := "http://www.maths.nuigalway.ie/~pas",
PostalAddress := Concatenation( [
"Paul Smith\n",
"Mathematics Department\n",
"NUI Galway\n",
"Galway\n",
"Ireland" ] ),
Place := "Galway",
Institution := "National University of Ireland Galway"
),
# provide such a record for each author and/or maintainer ...
rec(
LastName := "The CHA Group",
FirstNames := "",
IsAuthor := false,
IsMaintainer := true,
Email := "graham.ellis@nuigalway.ie",
WWWHome := "http://hamilton.nuigalway.ie/CHA/",
PostalAddress := Concatenation( [
"The CHA group\n",
"Mathematics Department\n",
"NUI Galway\n",
"Galway\n",
"Ireland" ] ),
Place := "Galway",
Institution := "National University of Ireland Galway"
),
],
## Status information. Currently the following cases are recognized:
## "accepted" for successfully refereed packages
## "deposited" for packages for which the GAP developers agreed
## to distribute them with the core GAP system
## "dev" for development versions of packages
## "other" for all other packages
##
# Status := "accepted",
Status := "deposited",
## You must provide the next two entries if and only if the status is
## "accepted" because is was successfully refereed:
# format: 'name (place)'
# CommunicatedBy := "Mike Atkinson (St. Andrews)",
#CommunicatedBy := "",
# format: mm/yyyy
# AcceptDate := "08/1999",
#AcceptDate := "",
## For a central overview of all packages and a collection of all package
## archives it is necessary to have two files accessible which should be
## contained in each package:
## - A README file, containing a short abstract about the package
## content and installation instructions.
## - The PackageInfo.g file you are currently reading or editing!
## You must specify URLs for these two files, these allow to automate
## the updating of package information on the GAP Website, and inclusion
## and updating of the package in the GAP distribution.
#
README_URL :=
"http://www.maths.nuigalway.ie/~pas/CHA/HAPprime/Download/README.happrime",
PackageInfoURL :=
"http://www.maths.nuigalway.ie/~pas/CHA/HAPprime/Download/PackageInfo.g",
## Here you must provide a short abstract explaining the package content
## in HTML format (used on the package overview Web page) and an URL
## for a Webpage with more detailed information about the package
## (not more than a few lines, less is ok):
## Please, use 'GAP' and
## 'MyPKG' for specifing package names.
##
# AbstractHTML := "This package provides a collection of functions for \
# computing the Smith normal form of integer matrices and some related \
# utilities.",
AbstractHTML :=
"The HAPPrime package is an extension to the \
HAP package. It provides tools to compute \
resolutions and mod-p cohomology rings of finite p-groups.",
PackageWWWHome := "http://www.maths.nuigalway.ie/~pas/CHA/HAPprime/",
## 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:
PackageDoc := [
rec(
BookName := "HAPprime",
ArchiveURLSubset := ["doc"],
HTMLStart := "doc/userguide/chap0.html",
PDFFile := "doc/userguide/manual.pdf",
# the path to the .six file used by GAP's help system
SixFile := "doc/userguide/manual.six",
# a longer title of the book, this together with the book name should
# fit on a single text line (appears with the '?books' command in GAP)
LongTitle := "A small prime-power group extension to HAP",
# Should this help book be autoloaded when GAP starts up? This should
# usually be 'true', otherwise say 'false'.
Autoload := true
),
rec(
BookName := "HAPprime Datatypes",
ArchiveURLSubset := ["doc"],
HTMLStart := "doc/datatypes/chap0.html",
PDFFile := "doc/datatypes/manual.pdf",
SixFile := "doc/datatypes/manual.six",
LongTitle := "Datatype reference for HAPprime",
Autoload := true
)
],
## Are there restrictions on the operating system for this package? Or does
## the package need other packages to be available?
Dependencies := rec(
# GAP version, use version strings for specifying exact versions,
# prepend a '>=' for specifying a least version.
GAP := ">=4.4",
# list of pairs [package name, (least) version], package name is case
# insensitive, least version denoted with '>=' prepended to version string.
# without these, the package will not load
# NeededOtherPackages := [["GAPDoc", ">= 0.99"]],
NeededOtherPackages := [["HAP", ">=1.8.9"]],
# without these the package will issue a warning while loading
# SuggestedOtherPackages := [],
SuggestedOtherPackages := [["GAPDoc", "1.0"], ["singular", "06.07.23"]],
# needed external conditions (programs, operating system, ...) provide
# just strings as text or
# pairs [text, URL] where URL provides further information
# about that point.
# (no automatic test will be done for this, do this in your
# 'AvailabilityTest' function below)
# ExternalConditions := []
ExternalConditions := []
),
## 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 :=
function()
if LoadPackage("singular", "06.07.23") = fail then
Info(InfoWarning, 1, "Package 'HAPprime': Suggested package 'singular' not available - ");
Info(InfoWarning, 1, "Package 'HAPprime': some functions will not work.");
fi;
return true;
end,
#AvailabilityTest := function()
# local path;
# # test for existence of the compiled binary
# path := DirectoriesPackagePrograms("HAPPrime");
# if Filename(path, "hello") = fail then
# Info(InfoWarning, 1,
# "Package ``HAPPrime'': The program `hello' is not compiled");
# Info(InfoWarning, 1,
# "`HelloWorld()' is thus unavailable");
# fi;
# return true;
# end,
## *Optional*: path relative to package root to a file which
## shall be read immediately before the package is loaded.
#PreloadFile := "...",
## The LoadPackage mechanism can produce a default banner from the info
## in this file. If you are not happy with it, you can provide a string
## here that is used as a banner. GAP decides when the banner is shown and
## when it is not shown. *optional* (note the ~-syntax in this example)
#BannerString := Concatenation(
# "----------------------------------------------------------------\n",
# "Loading Example ", ~.Version, "\n",
# "by ", ~.Persons[1].FirstNames, " ", ~.Persons[1].LastName,
# " (", ~.Persons[1].WWWHome, ")\n",
# " ", ~.Persons[2].FirstNames, " ", ~.Persons[2].LastName,
# " (", ~.Persons[2].WWWHome, ")\n",
# "For help, type: ?Example package \n",
# "----------------------------------------------------------------\n" ),
## Suggest here if the package should be *automatically loaded* when GAP is
## started. This should usually be 'false'. Say 'true' only if your package
## provides some improvements of the GAP library which are likely to enhance
## the overall system performance for many users.
Autoload := false,
## *Optional*, but recommended: path relative to package root to a file which
## contains as many tests of the package functionality as sensible.
## The file can either consist of 'ReadTest' calls or it is itself read via
## 'ReadTest'; it is assumed that the latter case occurs if and only if
## the file contains the string 'gap> START_TEST('.
## For submitted packages, these tests are run regularly, as a part of the
## standard GAP test suite.
TestFile := "tst/testall.g",
## *Optional*: Here you can list some keyword related to the topic
## of the package.
Keywords := ["homological algebra", "resolution", "cohomology"]
));