Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version for Armbian - Orange Pi #1

Open
wants to merge 210 commits into
base: master
Choose a base branch
from
Open

Conversation

rozzimann96
Copy link

Hi, do you plain make version for Orange Pi? For example Orange Pi PC+ with Armbian installed?
I try to install but "cmake .." command every time end with error message. Thx

pallas and others added 6 commits October 24, 2020 13:45
There hasn't been much volatility in fdk-aac recently, and any changes they
do make are being actively tracked.  Rather than wait for a real ex-AOSP
release, pull in what's there now and fix up later.
add the secondary target for LIBPLIST as plist-2.0, as needed for and tested on Fedora 33
Also slightly reworked the layout of the Desktop Operating System section, to show instructions for multiple OS's better.
This change allows install from build directories that are not the source
directory.  PROGRAMS are part of the source directory while TARGETS/RUNTIME
are executibles generated by the build.  I've gotten this right in other
projects, just messed it up here.

tl;dr: s/PROGRAMS/TARGETS/
pallas and others added 23 commits November 21, 2020 16:37
This commit removes the curve25519-donna and ed25519 libraries and
replaces them with their OpenSSL implementations.

Two new macros were defined in `lib/pairing.h`:
- `X25519_KEX_SIZE` for the size of the keys in bytes
- `PAIRING_SIG_SIZE` for the length of the signature in bytes

These macros were implemented in `lib/raop_handlers.h` too.

Also, the `handle_error` function from `lib/crypto.c` was renamed to
`crypto_handle_error`, improved slightly and placed into the
header `lib/crypto.h`.
This way `lib/pairing.c` can call this function when an OpenSSL
error occurs.
raop/get_parameter: fix memory leak
This commit moves all code responsible for the elliptic curve
cryptography into the `lib/crypto.c` file into seperate functions.
All of OpenSSLs data structures are wrapper in appropiate structs.

Also, the `crypto_handle_error` functions is renamed back to
`handle_error` and removed from the `lib/crypto.h` header.
Use OpenSSL for elliptic curve crypto
In 6f51dd0 Use OpenSSL for elliptic curve crypto, all crypto became the
responsibility of OpenSSL.  Unfortunately, CMake was set to require 1.1.1 or
higher, but Stretch was on 1.1.0 meaning that RPiPlay suddenly starts to
break for older version of RaspberryPi OS.  I don't see anything that
actually requires 1.1.1, so search for 1.1.0 or better and set the
appropriate API compatibility level for OpenSSL.

This change has been tried on Buster, but I don't have a Stretch install so
I'm crossing my fingers here with the knowledge that OPENSSL_API_COMPAT has
been robust enough in my past experience.

Issue: #192
Most users want a Release build, so change the default build type to that.
Developers who want a Debug build can explicitly ask for it.
The commit that moved ECC into OpenSSL chose version 1.1.1, and I should
have stuck with that, since that's where ECC got EVP support.  Whoops!
Same as before, we'll take what we can get.
Same as before.  I don't actually understand fdk-aac versioning, so
reference the merge hash instead.
* A function called indirectly cannot be decorated
  with `__attribute((always_inline))`, as this is
  guaranteed to only work with direct calls:
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63220#c1

Bug: https://bugs.gentoo.org/798045
Actually a no-op since we're not wasm, but meh.
Previously, we weren't calling Final after Update when decrypting (or
encrypting) via AES.  My assumption is that this is because it was failing
when due to a padding issue that caused Final to bail out.  This change
turns off padding for both encrypt/decrypt and adds the call to final.

We should probably consider having a static context that is reset after the
call rather than allocating/deallocating a new CTX every time.  I'm going to
punt on that for now though.

Issue: FD-/RPiPlay#283
In order to make this easier in the future, use FDK-AAC's own CMakeLists.
An unfortunate side effect is that we're now compiling the encoder again, so
the build time is longer and the binary is larger.
…0 systems

tested on debian, ubuntu, OpenSUSE, macOS, FreeBSD
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.