Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mpd
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Иван Мажукин
mpd
Commits
168d6257
Commit
168d6257
authored
Jan 21, 2021
by
Max Kellermann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
python/build/libs.py: build CURL with OpenSSL support
Closes
https://github.com/MusicPlayerDaemon/MPD/issues/1059
parent
1afa33c3
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
67 additions
and
2 deletions
+67
-2
NEWS
NEWS
+2
-0
build.py
android/build.py
+1
-0
libs.py
python/build/libs.py
+8
-1
openssl.py
python/build/openssl.py
+55
-0
project.py
python/build/project.py
+1
-1
No files found.
NEWS
View file @
168d6257
...
...
@@ -10,6 +10,8 @@ ver 0.22.4 (not yet released)
- ffmpeg: detect the output sample format
* output
- moveoutput: fix always_on and tag lost on move
* Android
- enable https:// support (via OpenSSL)
ver 0.22.3 (2020/11/06)
* playlist
...
...
android/build.py
View file @
168d6257
...
...
@@ -172,6 +172,7 @@ thirdparty_libs = [
wildmidi
,
gme
,
ffmpeg
,
openssl
,
curl
,
libexpat
,
libnfs
,
...
...
python/build/libs.py
View file @
168d6257
...
...
@@ -7,6 +7,7 @@ from build.meson import MesonProject
from
build.cmake
import
CmakeProject
from
build.autotools
import
AutotoolsProject
from
build.ffmpeg
import
FfmpegProject
from
build.openssl
import
OpenSSLProject
from
build.boost
import
BoostProject
libmpdclient
=
MesonProject
(
...
...
@@ -376,6 +377,12 @@ ffmpeg = FfmpegProject(
],
)
openssl
=
OpenSSLProject
(
'https://www.openssl.org/source/openssl-3.0.0-alpha10.tar.gz'
,
'b1699acf2148db31f12edf5ebfdf12a92bfd3f0e60538d169710408a3cd3b138'
,
'include/openssl/ossl_typ.h'
,
)
curl
=
AutotoolsProject
(
'http://curl.haxx.se/download/curl-7.74.0.tar.xz'
,
'999d5f2c403cf6e25d58319fdd596611e455dd195208746bc6e6d197a77e878b'
,
...
...
@@ -399,7 +406,7 @@ curl = AutotoolsProject(
'--disable-netrc'
,
'--disable-progress-meter'
,
'--disable-alt-svc'
,
'--without-
ssl'
,
'--without-
gnutls'
,
'--without-nss'
,
'--without-libssh2'
,
'--without-gnutls'
,
'--without-nss'
,
'--without-libssh2'
,
],
patches
=
'src/lib/curl/patches'
,
...
...
python/build/openssl.py
0 → 100644
View file @
168d6257
import
subprocess
from
build.makeproject
import
MakeProject
class
OpenSSLProject
(
MakeProject
):
def
__init__
(
self
,
url
,
md5
,
installed
,
**
kwargs
):
MakeProject
.
__init__
(
self
,
url
,
md5
,
installed
,
install_target
=
'install_dev'
,
**
kwargs
)
def
get_make_args
(
self
,
toolchain
):
return
MakeProject
.
get_make_args
(
self
,
toolchain
)
+
[
'CC='
+
toolchain
.
cc
,
'CFLAGS='
+
toolchain
.
cflags
,
'CPPFLAGS='
+
toolchain
.
cppflags
,
'AR='
+
toolchain
.
ar
,
'RANLIB='
+
toolchain
.
ranlib
,
'build_libs'
,
]
def
build
(
self
,
toolchain
):
src
=
self
.
unpack
(
toolchain
,
out_of_tree
=
False
)
# OpenSSL has a weird target architecture scheme with lots of
# hard-coded architectures; this table translates between our
# "toolchain_arch" (HOST_TRIPLET) and the OpenSSL target
openssl_archs
=
{
# not using "android-*" because those OpenSSL targets want
# to know where the SDK is, but our own build scripts
# prepared everything already to look like a regular Linux
# build
'arm-linux-androideabi'
:
'linux-generic32'
,
'aarch64-linux-android'
:
'linux-aarch64'
,
'i686-linux-android'
:
'linux-x86-clang'
,
'x86_64-linux-android'
:
'linux-x86_64-clang'
,
# Kobo
'arm-linux-gnueabihf'
:
'linux-generic32'
,
# Windows
'i686-w64-mingw32'
:
'mingw'
,
'x86_64-w64-mingw32'
:
'mingw64'
,
}
openssl_arch
=
openssl_archs
[
toolchain
.
arch
]
subprocess
.
check_call
([
'./Configure'
,
'no-shared'
,
'no-module'
,
'no-engine'
,
'no-static-engine'
,
'no-async'
,
'no-tests'
,
'no-asm'
,
# "asm" causes build failures on Windows
openssl_arch
,
'--prefix='
+
toolchain
.
install_prefix
],
cwd
=
src
,
env
=
toolchain
.
env
)
MakeProject
.
build
(
self
,
toolchain
,
src
)
python/build/project.py
View file @
168d6257
...
...
@@ -20,7 +20,7 @@ class Project:
self
.
base
=
base
if
name
is
None
or
version
is
None
:
m
=
re
.
match
(
r'^([-\w]+)-(\d[\d.]*[a-z]?[\d.]*)$'
,
self
.
base
)
m
=
re
.
match
(
r'^([-\w]+)-(\d[\d.]*[a-z]?[\d.]*
(?:-alpha\d+)?
)$'
,
self
.
base
)
if
name
is
None
:
name
=
m
.
group
(
1
)
if
version
is
None
:
version
=
m
.
group
(
2
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment