-
Notifications
You must be signed in to change notification settings - Fork 7
/
PackageInfo.g
273 lines (252 loc) · 10.6 KB
/
PackageInfo.g
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
############################################################################
##
#W PackageInfo.g GUAVA Package Greg Gamble
#W Frank Lübeck
#W David Joyner
#W Joe Fields
SetPackageInfo( rec(
PackageName := "GUAVA",
Subtitle := "a GAP package for computing with error-correcting codes",
Version := "3.19",
Date := "21/03/2024", # dd/mm/yyyy format
License := "GPL-2.0-or-later",
SourceRepository := rec(
Type := "git",
URL := Concatenation(
"https://github.com/gap-packages/", LowercaseString(~.PackageName) ),
),
IssueTrackerURL := Concatenation( ~.SourceRepository.URL, "/issues" ),
PackageWWWHome := Concatenation( "https://gap-packages.github.io/",
LowercaseString( ~.PackageName ) ),
README_URL := Concatenation( ~.PackageWWWHome, "/", "README.md" ),
PackageInfoURL := Concatenation( ~.PackageWWWHome, "/", "PackageInfo.g" ),
ArchiveURL := Concatenation( ~.SourceRepository.URL,
"/releases/download/v", ~.Version,
"/", LowercaseString(~.PackageName), "-", ~.Version ),
ArchiveFormats
:= ".tar.gz",
BannerString:=Concatenation("""
____ |
/ \ / --+-- Version """, ~.Version, """
/ | | |\ \ / /| |
| __ | | | \ \ / / | the GUAVA Group
| | | | |--\ \ / /--|
\ | | | | \ \ / / |
\___/ \___/ | \ \/ / |
Homepage: https://gap-packages.github.io/guava
Report issues at https://github.com/gap-packages/guava/issues
"""),
Persons := [
rec(
LastName := "Baart",
FirstNames := "Reinald",
IsAuthor := true,
IsMaintainer := false,
Place := "Delft",
Institution := "Delft University of Technology",
),
rec(
LastName := "Boothby",
FirstNames := "Tom",
IsAuthor := true,
IsMaintainer := false,
Place := "Seattle",
Institution := "The University of Washington",
),
rec(
LastName := "Cramwinckel",
FirstNames := "Jasper",
IsAuthor := true,
IsMaintainer := false,
Place := "Delft",
Institution := "Delft University of Technology",
),
rec(
LastName := "Fields",
FirstNames := "Joe",
IsAuthor := true,
IsMaintainer := true,
Email := "[email protected]",
WWWHome := "http://giam.southernct.edu/",
PostalAddress := Concatenation( [
"Joe Fields\n",
"Mathematics Department\n",
"Southern Conn. St. Univ.\n",
"New Haven, CT 06515\n",
"USA" ] ),
Place := "New Haven",
Institution := "SCSU"
),
rec(
LastName := "Joyner",
FirstNames := "David",
IsAuthor := true,
IsMaintainer := false,
Email := "[email protected]",
WWWHome := "https://sites.google.com/site/wdjoyner/",
PostalAddress := Concatenation( [
"W. David Joyner\n",
"Mathematics Department\n",
"U. S. Naval Academy\n",
"Annapolis, MD 21402\n",
"USA" ] ),
Place := "Annapolis",
Institution := "U. S. Naval Academy"
),
rec(
LastName := "Miller",
FirstNames := "Robert",
IsAuthor := true,
IsMaintainer := false,
Place := "Seattle",
Institution := "The University of Washington",
),
rec(
LastName := "Minkes",
FirstNames := "Eric",
IsAuthor := true,
IsMaintainer := false,
Place := "Delft",
Institution := "Delft University of Technology",
),
rec(
LastName := "Roijackers",
FirstNames := "Erik",
IsAuthor := true,
IsMaintainer := false,
Place := "Delft",
Institution := "Delft University of Technology",
),
rec(
LastName := "Ruscio",
FirstNames := "Lea",
IsAuthor := true,
IsMaintainer := false,
Place := "Edinburgh",
Institution := "The University of Edinburgh",
),
rec(
LastName := "Tjhai",
FirstNames := "Cen",
IsAuthor := true,
IsMaintainer := false,
Place := "Plymouth",
Institution := "The University of Plymouth",
)
],
Status := "accepted",
CommunicatedBy
:= "Charles Wright (Eugene)",
AcceptDate
:= "02/2003",
## 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 '<span class="pkgname">GAP</span>' and
## '<span class="pkgname">MyPKG</span>' for specifying package names.
##
AbstractHTML :=
"<span class=\"pkgname\">GUAVA</span> is a <span class=\"pkgname\">GAP</span> package for computing with codes. <span class=\"pkgname\">GUAVA</span> can construct unrestricted (non-linear), linear and cyclic codes; transform one code into another (for example by puncturing); construct a new code from two other codes (using direct sums for example); perform decoding/error-correction; and can calculate important data of codes (such as the minumim distance or covering radius) quickly. Limited ability to compute algebraic geometric codes.",
## On the GAP Website there is an online version of all manuals in the
## GAP distribution. To handle the documentation of a package it is
## necessary to have:
## - an archive containing the package documentation (in at least one
## of HTML or PDF-format, preferably both formats)
## - the start file of the HTML documentation (if provided), *relative to
## package root*
## - the PDF-file (if provided) *relative to the package root*
## For links to other package manuals or the GAP manuals one can assume
## relative paths as in a standard GAP installation.
## Also, provide the information which is currently given in your packages
## init.g file in the command DeclarePackage(Auto)Documentation
## (for future simplification of the package loading mechanism).
##
## Please, don't include unnecessary files (.log, .aux, .dvi, .ps, ...) in
## the provided documentation archive.
##
# in case of several help books give a list of such records here:
PackageDoc := rec(
# use same as in GAP
BookName := "GUAVA",
ArchiveURLSubset := ["doc"],
HTMLStart := "doc/chap0_mj.html",
PDFFile := "doc/manual.pdf",
# the path to the .six file used by GAP's help system
SixFile := "doc/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 := "GUAVA Coding Theory Package",
Subtitle := "error-correcting codes computations",
# Should this help book be autoloaded when GAP starts up? This should
# usually be 'true', otherwise say 'false'.
),
## 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.8.0",
# 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 := [],
# without these the package will issue a warning while loading
SuggestedOtherPackages := [["SONATA",">= 2.3"]],
# 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 := []
),
## Provide a test function for the availability of this package, see
## documentation of 'Declare(Auto)Package', this is the <tester> function.
## For packages which will not fully work, use 'Info(InfoWarning, 1,
## ".....")' statements. For packages containing nothing but GAP code,
## just say 'ReturnTrue' here.
## (When this is used for package loading in the future the availability
## tests of other packages, as given above, will be done automatically and
## need not be included here.)
AvailabilityTest :=
function()
local path;
# Test for existence of the compiled binary
path := DirectoriesPackagePrograms( "guava" );
if ForAny( ["desauto", "leonconv", "wtdist"],
f -> Filename( path, f ) = fail ) then
LogPackageLoadingMessage( PACKAGE_WARNING,
[ "Package ``GUAVA'': the C code programs are not compiled.",
"Some GUAVA functions, e.g. `IsEquivalent', ",
"will be unavailable.",
"See ?Installing GUAVA" ] );
fi;
return true;
end,
## *Optional*, but recommended: path relative to package root to a file which
## contains as many tests of the package functionality as sensible.
TestFile := "tst/guava.tst",
## *Optional*: Here you can list some keyword related to the topic
## of the package.
Keywords := [ "code", "codeword", "Hamming", "linear code",
"nonlinear code","minimum distance", "minimum weight",
"error-correcting block codes", "decoding",
"generator matrix", "check matrix","covering radius",
"weight distribution","automorphism group of code" ],
AutoDoc := rec(
entities := rec(
VERSION := ~.Version,
RELEASEDATE := function(date)
local day, month, year, allMonths;
day := Int(date{[1,2]});
month := Int(date{[4,5]});
year := Int(date{[7..10]});
allMonths := [ "January", "February", "March", "April", "May", "June", "July",
"August", "September", "October", "November", "December"];
return Concatenation(String(day)," ", allMonths[month], " ", String(year));
end(~.Date),
RELEASEYEAR := ~.Date{[7..10]},
),
),
));