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