/
std_py23.go
117 lines (92 loc) · 2.09 KB
/
std_py23.go
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
package buildercollection
import (
"github.com/AnimusPEXUS/aipsetup/basictypes"
"github.com/AnimusPEXUS/utils/logger"
)
func init() {
Index["std_py23"] = func(bs basictypes.BuildingSiteCtlI) (basictypes.BuilderI, error) {
return NewBuilder_std_py23(bs)
}
}
type Builder_std_py23 struct {
*Builder_std
python string
}
func NewBuilder_std_py23(bs basictypes.BuildingSiteCtlI) (*Builder_std_py23, error) {
self := new(Builder_std_py23)
self.Builder_std = NewBuilder_std(bs)
// self.EditActionsCB = self.EditActions
self.EditConfigureArgsCB = self.EditConfigureArgs
return self, nil
}
func (self *Builder_std_py23) DefineActions() (basictypes.BuilderActions, error) {
ret := basictypes.BuilderActions{}
std_actions, err := self.Builder_std.DefineActions()
if err != nil {
return nil, err
}
append_std_actions := func() error {
for _, i := range []string{
"src_cleanup",
"bld_cleanup",
"extract",
"autogen",
"configure",
"build",
"distribute",
} {
for _, j := range std_actions {
if j.Name == i {
ret, err = ret.AppendSingle(j.Name, j.Callable)
if err != nil {
return err
}
}
}
}
return nil
}
ret, err = ret.AppendSingle(
"set_python2",
func(log *logger.Logger) error {
self.python = "python2"
return nil
},
)
if err != nil {
return nil, err
}
err = append_std_actions()
ret, err = ret.AppendSingle(
"set_python3",
func(log *logger.Logger) error {
self.python = "python3"
return nil
},
)
if err != nil {
return nil, err
}
err = append_std_actions()
for _, i := range []string{"prepack", "pack"} {
for _, j := range std_actions {
if j.Name == i {
ret, err = ret.AppendSingle(j.Name, j.Callable)
if err != nil {
return nil, err
}
}
}
}
return ret, nil
}
func (self *Builder_std_py23) EditConfigureArgs(log *logger.Logger, ret []string) ([]string, error) {
exec, err := self.GetBuildingSiteCtl().GetBuildingSiteValuesCalculator().CalculateInstallPrefixExecutable(
self.python,
)
if err != nil {
return nil, err
}
ret = append(ret, "PYTHON="+exec)
return ret, nil
}