Skip to content

Commit 77d4fe6

Browse files
committed
[libs] Remove legacy version of openssl
Because we introduce the legacy version of openssl to made it work `python2legacy`, but we recently removed `python2legacy`, so there is no point to maintain this changes. Also: - we shortens some lines to be friendly with pep8 - removed comment about ndk-r15c because our minimal ndk is r17c, so this comment is now pointless Note: the python3crystax recipe make use of this legacy openssl libs, but, as far as I know, nobody is maintaining the python3crystax recipe (probably is broken and we should remove it)
1 parent 85207a0 commit 77d4fe6

File tree

3 files changed

+21
-88
lines changed

3 files changed

+21
-88
lines changed

pythonforandroid/recipes/openssl/__init__.py

Lines changed: 21 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -41,48 +41,30 @@ class OpenSSLRecipe(Recipe):
4141
- Add ability to build a legacy version of the openssl libs when using
4242
python2legacy or python3crystax.
4343
44+
.. versionchanged:: 2019.06.06.1.dev0
45+
46+
- Removed legacy version of openssl libraries
47+
4448
'''
4549

46-
standard_version = '1.1'
50+
version = '1.1'
4751
'''the major minor version used to link our recipes'''
48-
legacy_version = '1.0'
49-
'''the major minor version used to link our recipes when using
50-
python2legacy or python3crystax'''
5152

52-
standard_url_version = '1.1.1'
53+
url_version = '1.1.1'
5354
'''the version used to download our libraries'''
54-
legacy_url_version = '1.0.2q'
55-
'''the version used to download our libraries when using python2legacy or
56-
python3crystax'''
5755

5856
url = 'https://www.openssl.org/source/openssl-{url_version}.tar.gz'
5957

60-
@property
61-
def use_legacy(self):
62-
if not self.ctx.recipe_build_order:
63-
return False
64-
return 'python3crystax' in self.ctx.recipe_build_order
65-
66-
@property
67-
def version(self):
68-
if self.use_legacy:
69-
return self.legacy_version
70-
return self.standard_version
71-
72-
@property
73-
def url_version(self):
74-
if self.use_legacy:
75-
return self.legacy_url_version
76-
return self.standard_url_version
77-
7858
@property
7959
def versioned_url(self):
8060
if self.url is None:
8161
return None
8262
return self.url.format(url_version=self.url_version)
8363

8464
def get_build_dir(self, arch):
85-
return join(self.get_build_container_dir(arch), self.name + self.version)
65+
return join(
66+
self.get_build_container_dir(arch), self.name + self.version
67+
)
8668

8769
def include_flags(self, arch):
8870
'''Returns a string with the include folders'''
@@ -113,22 +95,18 @@ def should_build(self, arch):
11395
'libcrypto' + self.version + '.so')
11496

11597
def get_recipe_env(self, arch=None):
116-
env = super(OpenSSLRecipe, self).get_recipe_env(arch, clang=not self.use_legacy)
98+
env = super(OpenSSLRecipe, self).get_recipe_env(arch, clang=True)
11799
env['OPENSSL_VERSION'] = self.version
118100
env['MAKE'] = 'make' # This removes the '-j5', which isn't safe
119-
if self.use_legacy:
120-
env['CFLAGS'] += ' ' + env['LDFLAGS']
121-
env['CC'] += ' ' + env['LDFLAGS']
122-
else:
123-
env['ANDROID_NDK'] = self.ctx.ndk_dir
101+
env['ANDROID_NDK'] = self.ctx.ndk_dir
124102
return env
125103

126104
def select_build_arch(self, arch):
127105
aname = arch.arch
128106
if 'arm64' in aname:
129-
return 'android-arm64' if not self.use_legacy else 'linux-aarch64'
107+
return 'android-arm64'
130108
if 'v7a' in aname:
131-
return 'android-arm' if not self.use_legacy else 'android-armv7'
109+
return 'android-arm'
132110
if 'arm' in aname:
133111
return 'android'
134112
if 'x86_64' in aname:
@@ -144,24 +122,15 @@ def build_arch(self, arch):
144122
# so instead we manually run perl passing in Configure
145123
perl = sh.Command('perl')
146124
buildarch = self.select_build_arch(arch)
147-
# XXX if we don't have no-asm, using clang and ndk-15c, i got:
148-
# crypto/aes/bsaes-armv7.S:1372:14: error: immediate operand must be in the range [0,4095]
149-
# add r8, r6, #.LREVM0SR-.LM0 @ borrow r8
150-
# ^
151-
# crypto/aes/bsaes-armv7.S:1434:14: error: immediate operand must be in the range [0,4095]
152-
# sub r6, r8, #.LREVM0SR-.LSR @ pass constants
153-
config_args = ['shared', 'no-dso', 'no-asm']
154-
if self.use_legacy:
155-
config_args.append('no-krb5')
156-
config_args.append(buildarch)
157-
if not self.use_legacy:
158-
config_args.append('-D__ANDROID_API__={}'.format(self.ctx.ndk_api))
125+
config_args = [
126+
'shared',
127+
'no-dso',
128+
'no-asm',
129+
buildarch,
130+
'-D__ANDROID_API__={}'.format(self.ctx.ndk_api),
131+
]
159132
shprint(perl, 'Configure', *config_args, _env=env)
160-
self.apply_patch(
161-
'disable-sover{}.patch'.format(
162-
'-legacy' if self.use_legacy else ''), arch.arch)
163-
if self.use_legacy:
164-
self.apply_patch('rename-shared-lib.patch', arch.arch)
133+
self.apply_patch('disable-sover.patch', arch.arch)
165134

166135
shprint(sh.make, 'build_libs', _env=env)
167136

pythonforandroid/recipes/openssl/disable-sover-legacy.patch

Lines changed: 0 additions & 20 deletions
This file was deleted.

pythonforandroid/recipes/openssl/rename-shared-lib.patch

Lines changed: 0 additions & 16 deletions
This file was deleted.

0 commit comments

Comments
 (0)