Age | Commit message (Collapse) | Author | Files | Lines |
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/661>
|
|
|
|
3 years newer than our old version.
|
|
nasm is much more maintained than yasm now, and projects specifically
require nasm, and newer versions too.
Also, don't pass `--enable-win32threads` to x264 on Windows. It
generates a warning since the option is actually
`--disable-win32threads`, and the default is already what we want.
|
|
Instead of using the global os.environ for everything. Allows
parellalising steps with different environments.
|
|
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.
|
|
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
|
|
Disable asm until it's fixed
|
|
This should cover all recipes; even those that aren't built by default
https://bugzilla.gnome.org/show_bug.cgi?id=797177
|
|
This is needed by gst-libav-1.0 and x264.
|
|
Also add a check in Cerbero to ensure that no insecure URLs are used.
|
|
|
|
It makes it easier to upgrade recipes.
|
|
Environment variable modification in a recipe used to be done with:
self.append_env, self.prepend_env, or self.new_env
All of these were dictionaries of {string:string} mappings, which
means that if a recipe wanted to, say, append to `CFLAGS` from
multiple places within the recipe (f.ex., `glib.recipe`), you had to
carefully juggle `=` and `+=` in recipes, which was error-prone
(f.ex., `gstreamer-1.0.recipe` `variants.nodebug` was broken).
Now that we also conditionally use `self.append_env['CFLAGS']` in
`cerbero/build/build.py` for bitcode support with make-based build
systems, it's impossible to get this right in recipes. This was
causing the cross-ios-universal builds to fail on recipes that
directly set `self.append_env['CFLAGS'] = 'foo'` such as pixman.
The dictionaries have now been replaced with the following functions:
self.append_env(varname, value1, value2, ..., sep=separator)
self.prepend_env(varname, value1, value2, ..., sep=separator)
self.set_env(varname, value1, value2, ..., sep=separator)
The separator is used to join value1, value2, etc and also while
appending/prepending to the value in the env. It is optional, and
defaults to ` ` (space).
Most often the usage is very simple to translate:
self.append_env['CFLAGS'] = ' -funroll-loops '
=>
self.append_env('CFLAGS', '-funroll-loops')
If values are omitted with `self.set_env()`, the variable is unset:
self.new_env['MAKEFLAGS'] = None
=>
self.set_env('MAKEFLAGS')
An important intended feature is that multiple calls to these
functions all take effect sequentially at build time for each build
step. So, you can call append and prepend multiple times on the same
variable, and the values will be appended and prepended in that order
to the value at build time.
Note that if you call `self.set_env()` on a variable, the variable will,
of course, be set to that value and previous append/prepend
declarations will be overriden.
Reviewed-by: Jan Schmidt <jan@centricular.com>
|
|
|
|
It fails linking in an android application with relocation problems.
|
|
It will fail to build with NDK r16
|
|
It breaks the iOS, android and mingw builds and seems to
have always been previously overridden anyways
|
|
the end
|
|
|
|
This reverts commit 40779ea8eb0ead12ad8de19021adc94d272f3d7a.
It only works on Linux right now and was not meant to be merged yet.
|
|
Instead of requiring recipes to hard-code the major/minor/micro versions in the
recipe, auto-detect them based on the platform-specific filesprovider regular
expressions.
This reduces maintenance burden greatly and we now generate more accurate .la
files. A bunch of recipes were already wrong (openh264, taglib, etc).
|
|
This is not just about Android, it's also for generic Linux
ARM. For iOS specific, the following if will override.
|
|
|
|
the -no-integrated-as flag is only required on 32bit arm.
|
|
We don't set it anymore for iOS i386/x86-64
|
|
|
|
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=727079
|
|
This reverts commit fdf87e504a7cdd5a9995ef92e4c64e64bae1991f.
|
|
ios/osx clang x86-32bit compiler fails to build PIC code (end up with
not enough registers).
No longer make PIC code generation mandatory.
https://bugzilla.gnome.org/show_bug.cgi?id=727079
|
|
|
|
Fixes a crash when compiled with gcc 4.8
|
|
Fixes linux build when x264 finds avformat
|
|
This reverts commit 048c563aacfc5f71d0e8036549cba42c1217e8fb.
|
|
|
|
|
|
|
|
Stripping is optional and can only happen in the packaging
step.
This also fixes the link stage in Android armv7, where
symbols are required to fixup cortex-a8 erratum:
https://code.google.com/p/android/issues/detail?id=40794
|
|
|
|
|
|
ftp might not work in many network environments.
|
|
posix threads on windows are causing strange locks and hangs
|
|
|
|
the configure script was run using x86 instead of i686 in the
host triplet
|
|
|
|
|