For each contributor's github handle, get that account name's GitHub ID.
Then, «git blame» the maintainer file and ensure GitHub agrees the commit which added the maintainer to the list was authored by the GitHub ID we've recorded.
These can be used to determine whether a ELF file with ELF header is an
executable or shared library.
We can't implement it in pure bash, as bash has problems with null
bytes.
This improves what commit
e999def1 zlib: clean up static/shared distincion
described as "kind of a mess" and "confusing". And indeed it was confusing.
Now, the concept whether or not the .a file is moved to a split output
is controlled by a clean variable.
The defaults remain unchanged.
The new approach also finally cleanly allows building statically but NOT
using a split output, like all other autoconf-based projects in nixpkgs do
(using the `dontDisableStatic` setting).
That is important for overlays that want to enable static libs for all
packages in one go, without having to hand-patch idiosynchrasies like zlib
had until now.
Until now, if you wanted the .a in the main output, the only way was to go via
`static=false, shared=true` -- which made no sense, because you had to say
`static=false` even though you want a static lib. That is fixed now.
This commit merges the following updates for
androidStudioPackages.{dev,canary}:
* androidStudioPackages.{dev,canary}: 3.6.0.5 -> 3.6.0.6
* androidStudioPackages.{dev,canary}: 3.6.0.4 -> 3.6.0.5
* androidStudioPackages.{dev,canary}: 3.6.0.3 -> 3.6.0.4
These updates where initially delayed due to a bug that causes problems
with the automatic update of the Android Studio Gradle plugin.
But as the current status is "Won't Fix (Infeasible)" [0] there's no
point in skipping the updates for the dev/canary channel any longer.
Unfortunately this update will probably still cause the builds from
canary 3 to break and require manual steps to resolve this issue.
The required manual steps can be found here:
https://issuetracker.google.com/issues/136077720#comment9
I.e. manually update the Gradle plugin here (e.g. directly to alpha06):
dependencies {
classpath 'com.android.tools:gradle:3.6.0-alpha03'
}
[0]: https://issuetracker.google.com/issues/136077720#comment10
Unfortunately this update will probably still cause the builds from
canary 3 to break and require manual steps to resolve these issues:
https://issuetracker.google.com/issues/136077720#comment9
I.e. manually update the Gradle plugin here (e.g. directly to alpha06):
dependencies {
classpath 'com.android.tools:gradle:3.6.0-alpha03'
}
But as the current status is "Won't Fix (Infeasible)" [0] there's no
point in skipping the updates for the dev/canary channel.
[0]: https://issuetracker.google.com/issues/136077720#comment10