summaryrefslogtreecommitdiff
path: root/recipes/openssl.recipe
AgeCommit message (Collapse)AuthorFilesLines
2021-01-13openssl: add support for macOS arm64Andoni Morales Alastruey1-2/+6
Bump version to 1.1.1h that includes support for Apple silicon Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/661>
2020-07-09openssl.recipe: Fix some UWP incompatibilitiesNirbheek Chauhan1-1/+4
These errors were reported by the Windows App Certification Kit. Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/544>
2020-07-07openssl.recipe: Use debug/release CRT on MSVCNirbheek Chauhan1-0/+9
Otherwise openssl always links to the release CRT. Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/542>
2020-06-12openssl.recipe: Add support for building with MSVCNirbheek Chauhan1-69/+115
Supports both regular Win32 and WinRT/UWP. Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/505>
2020-06-12openssl.recipe: Ensure that Perl uses forward slashesNirbheek Chauhan1-0/+6
Someone reported on IRC that openssl was failing to build because it was complaining about Perl using backward slashes instead of forward slashes. Turned out to be because someone had overriden TERM to be `dumb` instead of the default `cygwin`. Set those vars ourselves to prevent this from happening. Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/510>
2020-06-09openssl.recipe: Bump to 1.1.1gNirbheek Chauhan1-2/+2
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/503>
2020-06-09buildtools: test minimum version for cmake and nasmStéphane Cerveau1-1/+1
cmake and nasm needs minimum version. Add a test to build it if needed. Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/483>
2020-05-26openssl.recipe: Use InvalidRecipeErrorNirbheek Chauhan1-5/+5
This is the correct way to signal that a recipe cannot be used. Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/480>
2020-03-31openssl.recipe: Bump to 1.1.1eNirbheek Chauhan1-2/+2
2020-03-31openssl.recipe: Load ca-cert bundle from a portable prefixNirbheek Chauhan1-1/+3
We only use openssl now, which by default picks up a ca cert bundle file called `cert.pem` inside `OPENSSLDIR`. Without this all certificate checks fail with the error `Unacceptable TLS certificate`. Howeve, we can't just use `OPENSSLDIR` since it's hard-coded and will break portable prefixes, and also the ca-cert file we install is named differently. So now by default we load the default system store from `PREFIX/etc/ssl/certs/ca-certificates.crt` where `PREFIX` is deduced from the location of `crypto.dll`, which is in bindir. Fixes https://gitlab.freedesktop.org/gstreamer/cerbero/issues/256
2020-03-04Replace all @async_modify_environment by @modify_environmentLoïc Le Page1-2/+2
2020-02-25cerbero/build: Workaround MSYS trying to be too smartNirbheek Chauhan1-15/+14
Finally figured out the actual issue that I was trying to solve in f38df32d8 and 78f06dd405. Paths like `c:/foobar` (lowercase drive letter) are considered to be a POSIX path list, so `c:/foobar/` becomes `c;C:\foobar`: http://mingw.org/wiki/Posix_path_conversion This will happen anytime we try to pass a path as a command-line argument. We used to work-around this by using `to_unixpath()`, but that's just sinking deeper into dependence on broken shell behaviour. This happens now because we're passing includes in CFLAGS, CXXFLAGS, CPPFLAGS, etc. So let's just bypass the shell entirely by constructing a list. As a side-effect, this is another step towards being able to run Cerbero from a directory with spaces in it. For now, we'll convert `config_sh` to a list when not using an Autotools configure. Luckily, we don't need to pass any paths as arguments to it anyway. When running other stages, we now always use a list instead of a string. Hopefully the fallout is small and obvious for people using forks of Cerbero.
2019-11-26Import FatalError in the files where it is usedAlexandru Băluț1-1/+0
Removed the same in recipes because it's not needed there.
2019-11-10openssl.recipe: Update to 1.1.1dNirbheek Chauhan1-2/+5
Had to disable asm on x86_64 because of: ``` Undefined symbols for architecture x86_64: "_aesni_cbc_encrypt", referenced from: _aesni_init_key in libcrypto.a(e_aes.o) _aesni_cbc_cipher in libcrypto.a(e_aes.o) "_aesni_ccm64_decrypt_blocks", referenced from: ... ```
2019-09-04recipes: Upgrade openssl to 1.1.1cEdward Hervey1-3/+5
Several CVEs were fixed since
2019-06-25Fix librtmp and openssl builds on native WindowsNirbheek Chauhan1-5/+12
After https://gitlab.freedesktop.org/gstreamer/cerbero/merge_requests/195 we changed the way we run commands in general, which broke shell expansion assumptions in these recipes. Closes https://gitlab.freedesktop.org/gstreamer/cerbero/issues/168
2019-06-07openssl: fix native win32 build with the new toolchainAndoni Morales Alastruey1-0/+3
2019-03-18openssl.recipe: Fix Perl searching with new async configureNirbheek Chauhan1-4/+7
Env must be set *before* we modify it (so in prepare()), and we need to pass the env to check_perl_version() since we no longer set os.environ. Also, use async_call for calling configure to enable parallelization on Universal builds.
2019-03-18build: Convert configure to async functionsMatthew Waters1-3/+3
This way we can run multiple of them at the same time. Initial patch by Nirbheek Chauhan
2019-03-18cerbero: store the envirnoment on the recipeMatthew Waters1-2/+2
Instead of using the global os.environ for everything. Allows parellalising steps with different environments.
2019-02-04Extend licensing scheme, install & package licensesNirbheek Chauhan1-1/+1
Licensing was incorrect, incomplete, and at best, ambiguous. Some recipes were picking one license when there were many, others were listing all the licenses and you had to pick one. On the other hand, many projects are licensed under multiple BSD-like licenses, and you must adhere to the terms of all of them, and there was no way to know how from the binary packages. Now we have an extended syntax for declaring the licensing properties of a recipe. The licenses array can now also contain dictionaries with License enums as keys and relative paths to files in the source tree as values. All files specified in this way will be copied into `share/licenses/$recipe_name`. Common license texts which are copied verbatim by projects without adding any specific author/copyright information have been copied into `data/licenses/` and will be copied into `share/licenses/$recipe_name` when a license is specified without a corresponding source tree file. `share/licenses/$recipe_name/README-LICENSE-INFO.txt` contains a disclaimer that this is not legal advice, and uses (AND) and (OR) operators to declare the combinations of licenses you can pick when adhering to the license requirements of a project. `share/licenses/$recipe_name` is, of course, now also copied into the devel binary packages. I have made a best-effort to check and update the licenses in each recipe, but I have probably missed things. Reviews and updates are welcome. I also did not bother updating the toolchain recipe licenses too carefully since we do not ship them with our binary packages; except mingw-runtime.recipe (which does have an updated license).
2019-02-04recipes: Ensure that post_install is always chained upNirbheek Chauhan1-0/+1
We already do some things in post_install, but we currently only do this for gstreamer recipes, but that's overall a bit flaky. This will allow us to do more things in post_install and make things consistent.
2019-02-04licenses: Fix a couple of licenses and remove unused enumsNirbheek Chauhan1-1/+1
freetype: You have to pick between FTL and GPLv2 frei0r-plugins: It's GPLv2+, not LGPL openssl: Obviously, OpenSSL not BSD harfbuzz: Actually BSD, not LGPLv2+ lame: transitioned to LGPL2, no longer GPL nettle/gmp: licensed under all three licenses osx-framework: No license, just copying of files from other recipes gst-shell, vsintegration, etc: Match with gstreamer's license toolchain: All LGPLv2+, GPLv2+, or GPLv3+ other recipes: verified by `diff -uw` on license Remove most unused license enums, except Proprietary
2018-12-18openssl: Disable async APIsNicolas Dufresne1-1/+1
Enabling async APIs imply using OS features are are not allowed by Apple. This should not affect GStreamer as we don't use these new APIs. https://github.com/openssl/openssl/issues/2545
2018-10-04openssl.recipe: Fix android API targetting on armv7Nirbheek Chauhan1-6/+1
Passing a -D to config_sh was somehow overriding all cflags and causing the build to target Android API 21 instead of 14. This fixes a CI failure on cross-android-universal with -bad
2018-10-02openssl.recipe: Upgrade to 1.1.1Nirbheek Chauhan1-12/+10
Lots of changes in the build system.
2018-09-19recipes: Add tarball checksums for all recipesNirbheek Chauhan1-0/+1
This should cover all recipes; even those that aren't built by default https://bugzilla.gnome.org/show_bug.cgi?id=797177
2018-06-29cerbero: openssl.recipe patchVincenzo Bono1-3/+2
Added Platform.Linux in or to Platform.android, before the check for Architecture.ARMv7. https://bugzilla.gnome.org/show_bug.cgi?id=796684
2018-06-19openssl.recipe: Fix perl version checkingNirbheek Chauhan1-5/+5
check_call doesn't always inherit the current environment, so it would run the wrong Perl because our PATH changes were ignored. However, this only happened in a `package` run where some other recipe was built beforehand. Instead, use `which()` now so that we read PATH directly. Also don't use environment variables to communicate the perl path, we already have that information in self.config.
2018-05-06openssl: Reenable poly1305 custom armv4 assemblyJan Schmidt1-1/+1
Fix the THUMB-2 linkage and reenable the asm section. https://bugzilla.gnome.org/show_bug.cgi?id=795244
2018-04-17openssl: set openssl_platform for ARM LinuxOmar Akkila1-0/+6
https://bugzilla.gnome.org/show_bug.cgi?id=794824
2018-04-09openssl: fix linking on android/armv7Matthew Waters1-0/+6
Linking an android application for armv7 would result in undefined references with the 1.1.0h update because it seems configure can't seem to detect the max available arm architecture anymore. Fix by specifying on the configure command crypto/evp/e_aes.c:1084: error: undefined reference to 'aes_v8_set_encrypt_key' crypto/evp/e_aes.c:1044: error: undefined reference to 'aes_v8_set_decrypt_key' crypto/evp/e_aes.c:1060: error: undefined reference to 'aes_v8_encrypt' crypto/evp/e_aes.c:1060: error: undefined reference to 'aes_v8_ctr32_encrypt_blocks' crypto/evp/e_aes.c:1060: error: undefined reference to 'aes_v8_cbc_encrypt' crypto/evp/e_aes.c:1060: error: undefined reference to 'bsaes_ctr32_encrypt_blocks' crypto/evp/e_aes.c:1060: error: undefined reference to 'aes_v8_decrypt' crypto/evp/e_aes.c:1060: error: undefined reference to 'bsaes_cbc_encrypt' crypto/evp/e_aes.c:1831: error: undefined reference to 'aes_v8_set_decrypt_key' crypto/evp/e_aes.c:1840: error: undefined reference to 'aes_v8_set_encrypt_key' crypto/evp/e_aes.c:1823: error: undefined reference to 'aes_v8_set_encrypt_key' crypto/evp/e_aes.c:1851: error: undefined reference to 'aes_v8_decrypt' crypto/evp/e_aes.c:1851: error: undefined reference to 'aes_v8_encrypt' crypto/evp/e_aes.c:1851: error: undefined reference to 'bsaes_xts_encrypt' crypto/evp/e_aes.c:1851: error: undefined reference to 'bsaes_xts_decrypt' crypto/evp/e_aes.c:1446: error: undefined reference to 'aes_v8_set_encrypt_key' crypto/evp/e_aes.c:1504: error: undefined reference to 'bsaes_ctr32_encrypt_blocks' crypto/evp/e_aes.c:1504: error: undefined reference to 'aes_v8_encrypt' crypto/evp/e_aes.c:1504: error: undefined reference to 'aes_v8_ctr32_encrypt_blocks' crypto/evp/e_aes.c:2068: error: undefined reference to 'aes_v8_encrypt' crypto/evp/e_aes.c:2480: error: undefined reference to 'aes_v8_set_decrypt_key' crypto/evp/e_aes.c:2525: error: undefined reference to 'aes_v8_decrypt' crypto/modes/gcm128.c:790: error: undefined reference to 'gcm_init_neon' crypto/modes/gcm128.c:785: error: undefined reference to 'gcm_gmult_neon' crypto/modes/gcm128.c:785: error: undefined reference to 'gcm_ghash_neon' crypto/armcap.c:53: error: undefined reference to '_armv7_tick' crypto/armcap.c:167: error: undefined reference to '_armv7_neon_probe' crypto/armcap.c:181: error: undefined reference to '_armv8_sha256_probe' crypto/armcap.c:186: error: undefined reference to '_armv7_tick' crypto/armcap.c:177: error: undefined reference to '_armv8_sha1_probe' crypto/armcap.c:170: error: undefined reference to '_armv8_pmull_probe' crypto/armcap.c:173: error: undefined reference to '_armv8_aes_probe'
2018-04-09Revert "recipes: downgrade openssl to 1.1.0g again"Matthew Waters1-1/+4
This reverts commit 98f9447fda18433b96f4bdec9fa5f8c6a187df1d.
2018-04-09recipes/openssl: disable poly1305 optimization assembly for armMatthew Waters1-0/+2
Fails to link with Android NDK's r16 binutils NDK bug report: https://github.com/android-ndk/ndk/issues/337
2018-04-05recipes: downgrade openssl to 1.1.0g againTim-Philipp Müller1-4/+1
Version 1.1.0g seems to result in linking failures on Android: crypto/evp/e_aes.c:1084: error: undefined reference to 'aes_v8_set_encrypt_key' crypto/evp/e_aes.c:1060: error: undefined reference to 'bsaes_cbc_encrypt' crypto/modes/gcm128.c:790: error: undefined reference to 'gcm_init_neon' crypto/modes/gcm128.c:785: error: undefined reference to 'gcm_gmult_neon' crypto/modes/gcm128.c:785: error: undefined reference to 'gcm_ghash_neon' crypto/armcap.c:53: error: undefined reference to '_armv7_tick' crypto/armcap.c:167: error: undefined reference to '_armv7_neon_probe' crypto/armcap.c:181: error: undefined reference to '_armv8_sha256_probe' crypto/armcap.c:186: error: undefined reference to '_armv7_tick' crypto/armcap.c:177: error: undefined reference to '_armv8_sha1_probe' crypto/armcap.c:170: error: undefined reference to '_armv8_pmull_probe' crypto/armcap.c:173: error: undefined reference to '_armv8_aes_probe' (and more in the same vein). Revert until someone can investigate. And remove comment about tarballs, redirects have been set up.
2018-03-29openssl: update to 1.1.0hTim-Philipp Müller1-2/+5
And move uri from ftp to https.
2018-03-10openssl.recipe: Fix random build failuresNirbheek Chauhan1-0/+2
This should fix build failures like this: https://ci.gstreamer.net/job/cerbero-ios-universal-7.1/7131/console
2018-03-09openssl.recipe: Fix build on macos and iosNirbheek Chauhan1-12/+7
CFLAGS cannot be passed to Configure because it detects -arch x86_64 as a target directive and errors out. We also can't rely on CFLAG passing it everywhere, so we have to set it with CC. This also means we don't need the patch that adds support for detecting -isysroot, etc, since those should always be passed correctly now.
2018-03-09openssl.recipe: Enable more crypto algos on LinuxNirbheek Chauhan1-0/+5
These are not used by us, but the system version of Sphinx used by gst-validate ends up trying to use libssl built by this recipe, and fails due to undefined symbols: Could not import extension sphinx.builders.linkcheck (exception: /usr/lib64/python3.6/lib-dynload/_ssl.cpython-36m-x86_64-linux-gnu.so: symbol SSLv3_method, version OPENSSL_1_1_0 not defined in file libssl.so.1.1 with link time reference) Similar problem with librpmio.so.8, which is used during package generation on Fedora: rpmbuild: relocation error: /lib64/librpmio.so.8: symbol EVP_md2, version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1 with link time reference It's harmless to enable these and we're effectively matching distro build settings for openssl, so should not be an issue.
2018-03-09openssl.recipe: New recipe needed by the dtls pluginNirbheek Chauhan1-0/+125
This commit also installs a new Perl in its own prefix in bootstrap. OpenSSL needs Perl 5.10.0, and removing that dependency is too much work. Unfortunately, we cannot use Strawberry Perl because that operates on back-slashes instead of unix-style forward-slashes so OpenSSL's Configure rejects it. We also can't use this MinGW-Perl as a replacement for MSYS's Perl because it can't find any MSYS tools (like m4), which causes perl scripts like autom4te which call `system m4` to fail. As a result, this Perl is *only* used by openssl.recipe and only when building natively on Windows.
2015-08-15openssl: Remove recipe, it's not used anywhereSebastian Dröge1-111/+0
2015-03-11openssl: Build and install libraries onlyArun Raghavan1-0/+7
2014-12-01openssl: Also ship the openssl pkg-config filesSebastian Dröge1-1/+2
Yes, it really has pkg-config files.
2014-12-01openssl: Add files listingsSebastian Dröge1-0/+4
2014-11-27openssl: Also set CFLAG(S) to oursSebastian Dröge1-1/+2
2014-11-27openssl: Select architecture correctly tooSebastian Dröge1-5/+35
2014-11-27libsrtp/openh264/openssl: Hopefully fix dependency_libs for realSebastian Dröge1-4/+2
2014-11-27openssl: Fix typo while adding LDFLAGSNirbheek Chauhan1-1/+1
2014-11-27libsrtp, openh264, openssl: Also add the dependency libsNirbheek Chauhan1-2/+5
2014-11-27openssl: Only create .la files on non-iOSSebastian Dröge1-6/+9