1 | # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 |
---|
2 | # $Id$ |
---|
3 | |
---|
4 | PortSystem 1.0 |
---|
5 | |
---|
6 | name bison |
---|
7 | epoch 1 |
---|
8 | version 3.0.4 |
---|
9 | categories devel |
---|
10 | platforms darwin |
---|
11 | subport bison-runtime { |
---|
12 | supported_archs noarch |
---|
13 | } |
---|
14 | license GPL-3+ |
---|
15 | maintainers mww |
---|
16 | |
---|
17 | if {${subport} eq "bison-runtime"} { |
---|
18 | description Localization support for Bison-generated parsers |
---|
19 | long_description The Bison parser generator provides \ |
---|
20 | translations for its parser diagnostics. \ |
---|
21 | Programs that contain Bison-generated parsers \ |
---|
22 | can use these translations to generate \ |
---|
23 | localized error messages. |
---|
24 | installs_libs no |
---|
25 | } else { |
---|
26 | description The Yacc-compatible Parser Generator |
---|
27 | long_description Bison is a general-purpose parser generator \ |
---|
28 | that converts an annotated context-free \ |
---|
29 | grammar into a deterministic LR or generalized \ |
---|
30 | LR (GLR) parser employing LALR(1) parser \ |
---|
31 | tables. As an experimental feature, Bison can \ |
---|
32 | also generate IELR(1) or canonical LR(1) \ |
---|
33 | parser tables. Once you are proficient with \ |
---|
34 | Bison, you can use it to develop a wide range \ |
---|
35 | of language parsers, from those used in simple \ |
---|
36 | desk calculators to complex programming \ |
---|
37 | languages. |
---|
38 | |
---|
39 | depends_build bin:perl:perl5 |
---|
40 | depends_lib port:gettext \ |
---|
41 | port:m4 |
---|
42 | depends_run port:bison-runtime |
---|
43 | } |
---|
44 | homepage http://www.gnu.org/software/bison |
---|
45 | |
---|
46 | master_sites gnu |
---|
47 | use_xz yes |
---|
48 | checksums rmd160 414959f3d619d8e4875e241ee02852b2ff13c2cb \ |
---|
49 | sha256 a72428c7917bdf9fa93cb8181c971b6e22834125848cf1d03ce10b1bb0716fe1 |
---|
50 | |
---|
51 | configure.args --disable-dependency-tracking \ |
---|
52 | --disable-silent-rules |
---|
53 | |
---|
54 | if {${subport} eq "bison-runtime"} { |
---|
55 | |
---|
56 | build.dir ${worksrcpath}/runtime-po |
---|
57 | |
---|
58 | # Use the deactivate hack because `bison` used to install these files. |
---|
59 | pre-activate { |
---|
60 | if {![catch {lindex [registry_active bison] 0} installedBison]} { |
---|
61 | set installedBisonEpoch [lindex $installedBison 5] |
---|
62 | set installedBisonVersion [lindex $installedBison 1] |
---|
63 | if {$installedBisonEpoch < 1 |
---|
64 | || ($installedBisonEpoch == 1 |
---|
65 | && [vercmp $installedBisonVersion 3.0.4] < 0)} { |
---|
66 | registry_deactivate_composite bison {} {ports_nodepcheck true} |
---|
67 | } |
---|
68 | } |
---|
69 | } |
---|
70 | |
---|
71 | livecheck.type none |
---|
72 | |
---|
73 | } else { |
---|
74 | |
---|
75 | patchfiles skip-runtime-po.patch |
---|
76 | |
---|
77 | test.run yes |
---|
78 | test.target check |
---|
79 | |
---|
80 | post-destroot { |
---|
81 | xinstall -d ${destroot}${prefix}/share/examples |
---|
82 | move ${destroot}${prefix}/share/doc/${subport}/examples \ |
---|
83 | ${destroot}${prefix}/share/examples/${subport} |
---|
84 | } |
---|
85 | |
---|
86 | livecheck.type regex |
---|
87 | livecheck.url http://ftp.gnu.org/gnu/bison/ |
---|
88 | livecheck.regex ${name}-(\\d+(?:\\.\\d+)*) |
---|
89 | } |
---|