@@ -65,18 +65,25 @@ PREFIX="${PREFIX:-$(pwd)/ci/$PYTHON_TAG}"
65
65
export LDFLAGS=" -Wl,-rpath,$PREFIX /lib"
66
66
67
67
if [ " $CIBUILDWHEEL " = " 1" ]; then
68
- rm -rf ci
69
- mkdir ci || true
70
- cd ci
71
68
if [ -f /usr/bin/apt-get ]; then
72
69
apt-get update
73
- apt-get install libssl-dev wget -y
70
+ apt-get install wget -y
71
+ if [ -z " $OPENSSL_VERSION " ]; then
72
+ apt-get install libssl-dev -y
73
+ fi
74
74
elif [ -f /usr/bin/yum ]; then
75
- yum install wget openssl-devel zlib-devel -y
75
+ yum install wget zlib-devel -y
76
+ if [ -z " $OPENSSL_VERSION " ]; then
77
+ yum install openssl-devel -y
78
+ fi
76
79
fi
80
+ rm -rf ci
81
+ mkdir ci || true
82
+ cd ci
77
83
else
78
84
# Create a virtual environment
79
85
$PYTHON -m venv $PREFIX
86
+ cd ci
80
87
fi
81
88
82
89
# Install zlib
94
101
95
102
# Install openssl
96
103
if [ -n " $OPENSSL_VERSION " ]; then
97
- if [ " $CIBUILDWHEEL " != " 1" ] || [ " $KERNEL " != " Darwin" ]; then
98
- echo " OPENSSL_VERSION should only be set when building"
99
- echo " macOS universal2 wheels on GitHub!"
100
- echo " Please unset and try again"
101
- exit 1
102
- fi
103
104
FILENAME=openssl-$OPENSSL_VERSION
104
105
wget https://www.openssl.org/source/$FILENAME .tar.gz -N --no-check-certificate
105
106
106
- tar xf $FILENAME .tar.gz
107
- mv $FILENAME openssl-x86
107
+ if [ " $KERNEL " = " Darwin" ]; then
108
+ tar xf $FILENAME .tar.gz
109
+ mv $FILENAME openssl-x86
108
110
109
- tar xf $FILENAME .tar.gz
110
- mv $FILENAME openssl-arm
111
+ tar xf $FILENAME .tar.gz
112
+ mv $FILENAME openssl-arm
111
113
112
- cd openssl-x86
113
- ./Configure darwin64-x86_64-cc shared
114
- make
115
- cd ../openssl-arm
116
- ./Configure enable-rc5 zlib darwin64-arm64-cc no-asm
117
- make
118
- cd ..
114
+ cd openssl-x86
115
+ ./Configure darwin64-x86_64-cc shared
116
+ make
117
+ cd ../openssl-arm
118
+ ./Configure enable-rc5 zlib darwin64-arm64-cc no-asm
119
+ make
120
+ cd ..
119
121
120
- mkdir openssl-universal
122
+ mkdir openssl-universal
121
123
122
- LIBSSL=$( basename openssl-x86/libssl.* .dylib)
123
- lipo -create openssl-x86/libssl.* .dylib openssl-arm/libssl.* .dylib -output openssl-universal/$LIBSSL
124
- LIBCRYPTO=$( basename openssl-x86/libcrypto.* .dylib)
125
- lipo -create openssl-x86/libcrypto.* .dylib openssl-arm/libcrypto.* .dylib -output openssl-universal/$LIBCRYPTO
126
- cd openssl-universal
127
- install_name_tool -id " @rpath/$LIBSSL " $LIBSSL
128
- install_name_tool -id " @rpath/$LIBCRYPTO " $LIBCRYPTO
129
- OPENSSL_PREFIX=$( pwd)
130
- cd ..
124
+ LIBSSL=$( basename openssl-x86/libssl.* .dylib)
125
+ lipo -create openssl-x86/libssl.* .dylib openssl-arm/libssl.* .dylib -output openssl-universal/$LIBSSL
126
+ LIBCRYPTO=$( basename openssl-x86/libcrypto.* .dylib)
127
+ lipo -create openssl-x86/libcrypto.* .dylib openssl-arm/libcrypto.* .dylib -output openssl-universal/$LIBCRYPTO
128
+ cd openssl-universal
129
+ install_name_tool -id " @rpath/$LIBSSL " $LIBSSL
130
+ install_name_tool -id " @rpath/$LIBCRYPTO " $LIBCRYPTO
131
+ OPENSSL_PREFIX=$( pwd)
132
+ cd ..
133
+ else
134
+ # Linux
135
+ tar xf $FILENAME .tar.gz
136
+ cd $FILENAME
137
+ ./Configure shared --prefix=$PREFIX --libdir=$PREFIX /lib
138
+ make
139
+ make install
140
+ OPENSSL_PREFIX=$( pwd)
141
+ cd ..
142
+ fi
131
143
fi
132
144
133
145
# Install libssh2
@@ -178,6 +190,7 @@ if [ -n "$LIBGIT2_VERSION" ]; then
178
190
-DOPENSSL_INCLUDE_DIR=" ../openssl-x86/include" \
179
191
-DUSE_SSH=$USE_SSH
180
192
else
193
+ export CFLAGS=-I$PREFIX /include
181
194
CMAKE_PREFIX_PATH=$OPENSSL_PREFIX :$LIBSSH2_PREFIX cmake . \
182
195
-DBUILD_SHARED_LIBS=ON \
183
196
-DBUILD_TESTS=OFF \
@@ -204,6 +217,7 @@ if [ "$CIBUILDWHEEL" = "1" ]; then
204
217
fi
205
218
206
219
# Build pygit2
220
+ cd ..
207
221
$PREFIX /bin/pip install -U pip wheel
208
222
if [ " $1 " = " wheel" ]; then
209
223
shift
0 commit comments