|
72 | 72 |
|
73 | 73 | apk add --virtual vim-build curl gcc libc-dev make |
74 | 74 |
|
| 75 | + cd /vim |
| 76 | + |
| 77 | + if [ -d "$INSTALL_PREFIX" ]; then |
| 78 | + echo "WARNING: $INSTALL_PREFIX exists already. Overwriting." |
| 79 | + fi |
| 80 | + |
| 81 | + BUILD_DIR="${FLAVOR}-${repo}-${tag}" |
| 82 | + if [ ! -d "$BUILD_DIR" ]; then |
| 83 | + mkdir -p "$BUILD_DIR" |
| 84 | + cd "$BUILD_DIR" |
| 85 | + # The git package adds about 200MB+ to the image. So, no cloning. |
| 86 | + url="https://github.com/$repo/archive/${tag}.tar.gz" |
| 87 | + echo "Downloading $repo:$tag from $url" |
| 88 | + curl --retry 3 -SL "$url" | tar zx --strip-components=1 |
| 89 | + else |
| 90 | + cd "$BUILD_DIR" |
| 91 | + fi |
| 92 | + |
| 93 | + vim_has_dynamic_python() { |
| 94 | + # Added in b744b2f (released as Vim 7.3g). |
| 95 | + if [ -e src/configure.ac ]; then |
| 96 | + return 1 |
| 97 | + fi |
| 98 | + grep -q -e '--enable-pythoninterp.*OPTS=.*dynamic' src/configure.in |
| 99 | + } |
| 100 | + |
75 | 101 | if [ -n "$PYTHON2" ]; then |
76 | 102 | apk add --virtual vim-build python-dev |
77 | 103 | if [ "$FLAVOR" = vim ]; then |
78 | | - VIM_CONFIG_ARGS="$VIM_CONFIG_ARGS --enable-pythoninterp=dynamic" |
| 104 | + if vim_has_dynamic_python; then |
| 105 | + VIM_CONFIG_ARGS="$VIM_CONFIG_ARGS --enable-pythoninterp=dynamic" |
| 106 | + else |
| 107 | + VIM_CONFIG_ARGS="$VIM_CONFIG_ARGS --enable-pythoninterp" |
| 108 | + apk add python |
| 109 | + fi |
79 | 110 | else |
80 | 111 | apk add --virtual vim-build py2-pip |
81 | 112 | apk add python |
|
86 | 117 | if [ -n "$PYTHON3" ]; then |
87 | 118 | apk add --virtual vim-build python3-dev |
88 | 119 | if [ "$FLAVOR" = vim ]; then |
89 | | - VIM_CONFIG_ARGS="$VIM_CONFIG_ARGS --enable-python3interp=dynamic" |
| 120 | + if ! [ -e src/if_python3.c ]; then |
| 121 | + echo 'WARNING: Python 3 support seems to be missing in this version?!' |
| 122 | + fi |
| 123 | + if vim_has_dynamic_python; then |
| 124 | + VIM_CONFIG_ARGS="$VIM_CONFIG_ARGS --enable-python3interp=dynamic" |
| 125 | + else |
| 126 | + VIM_CONFIG_ARGS="$VIM_CONFIG_ARGS --enable-python3interp" |
| 127 | + apk add python3 |
| 128 | + fi |
90 | 129 | else |
91 | 130 | apk add python3 |
92 | 131 | pip3 install neovim |
@@ -114,31 +153,12 @@ EOF |
114 | 153 | fi |
115 | 154 | fi |
116 | 155 |
|
117 | | - if [ "$FLAVOR" = vim ] && [ -n "$CONFIGURE_OPTIONS" ]; then |
118 | | - VIM_CONFIG_ARGS="$VIM_CONFIG_ARGS $CONFIGURE_OPTIONS" |
119 | | - fi |
120 | | - |
121 | | - cd /vim |
122 | | - |
123 | | - if [ -d "$INSTALL_PREFIX" ]; then |
124 | | - echo "WARNING: $INSTALL_PREFIX exists already. Overwriting." |
125 | | - fi |
126 | | - |
127 | | - BUILD_DIR="${FLAVOR}-${repo}-${tag}" |
128 | | - if [ ! -d "$BUILD_DIR" ]; then |
129 | | - mkdir -p "$BUILD_DIR" |
130 | | - cd "$BUILD_DIR" |
131 | | - # The git package adds about 200MB+ to the image. So, no cloning. |
132 | | - url="https://github.com/$repo/archive/${tag}.tar.gz" |
133 | | - echo "Downloading $repo:$tag from $url" |
134 | | - curl --retry 3 -SL "$url" | tar zx --strip-components=1 |
135 | | - else |
136 | | - cd "$BUILD_DIR" |
137 | | - fi |
138 | | - |
139 | 156 | if [ "$FLAVOR" = vim ]; then |
140 | 157 | apk add --virtual vim-build ncurses-dev |
141 | 158 | apk add ncurses |
| 159 | + if [ -n "$CONFIGURE_OPTIONS" ]; then |
| 160 | + VIM_CONFIG_ARGS="$VIM_CONFIG_ARGS $CONFIGURE_OPTIONS" |
| 161 | + fi |
142 | 162 | elif [ "$FLAVOR" = neovim ]; then |
143 | 163 | # Some of them will be installed already, but it is a good reference for |
144 | 164 | # what is required. |
|
0 commit comments