Skip to content
This repository was archived by the owner on Apr 12, 2021. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 60739e534d9e
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 24cdaa7b4889
Choose a head ref

Commits on Dec 18, 2018

  1. Copy the full SHA
    2757ddb View commit details
  2. Copy the full SHA
    74750dc View commit details
  3. Copy the full SHA
    907216a View commit details
  4. Copy the full SHA
    27f8b6b View commit details
  5. Copy the full SHA
    53550c8 View commit details
  6. Copy the full SHA
    676d07a View commit details
  7. Copy the full SHA
    56e112e View commit details
  8. Copy the full SHA
    c689741 View commit details
  9. Fix inclusion of sources

    svanderburg committed Dec 18, 2018
    Copy the full SHA
    cb42643 View commit details
  10. Copy the full SHA
    074c7e9 View commit details
  11. Copy the full SHA
    5e690b4 View commit details
  12. Copy the full SHA
    b99ac1c View commit details
  13. Copy the full SHA
    3bfd3e7 View commit details
  14. Fix adb program module

    svanderburg committed Dec 18, 2018
    Copy the full SHA
    8122431 View commit details
  15. Copy the full SHA
    5142862 View commit details

Commits on Dec 19, 2018

  1. Remove redundant chmod

    svanderburg committed Dec 19, 2018
    Copy the full SHA
    7a5a370 View commit details

Commits on Dec 20, 2018

  1. Copy the full SHA
    e37f045 View commit details

Commits on Dec 22, 2018

  1. rtl_433: 18.05 -> 18.12

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/rtl_433/versions
    r-ryantm committed Dec 22, 2018
    Copy the full SHA
    926642d View commit details

Commits on Dec 24, 2018

  1. wavebox: 4.5.5 -> 4.5.9

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/wavebox/versions
    r-ryantm committed Dec 24, 2018
    Copy the full SHA
    4adc26c View commit details
  2. guff: init at 0.1.0

    marsam committed Dec 24, 2018
    Copy the full SHA
    f994e5f View commit details
  3. stellarium: 0.18.2 -> 0.18.3

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/stellarium/versions
    r-ryantm committed Dec 24, 2018
    Copy the full SHA
    c6cc68a View commit details
  4. skopeo: 0.1.32 -> 0.1.34

    gilligan committed Dec 24, 2018
    Copy the full SHA
    1de2527 View commit details
  5. Copy the full SHA
    daaba73 View commit details
  6. goffice: add updateScript

    jtojnar committed Dec 24, 2018
    Copy the full SHA
    bdf4607 View commit details
  7. gnumeric: 1.12.43 → 1.12.44

    Also remove entity definitions, gnumeric now inlines them:
    
    https://bugzilla.gnome.org/show_bug.cgi?id=790226
    jtojnar committed Dec 24, 2018
    Copy the full SHA
    eee2410 View commit details
  8. lasem: init at 0.4.3

    jtojnar committed Dec 24, 2018
    Copy the full SHA
    9cf3c1f View commit details
  9. goffice: add lasem support

    Also split outputs
    jtojnar committed Dec 24, 2018
    Copy the full SHA
    dd3eea4 View commit details
  10. osquery: fix build

    As discussed in #51756, recently packaged versions of `lvm2` miss the
    `lvm2app.h` header which breaks the osquery build.
    
    Please note that this simply fixes the build and is not an upgrade. The
    CMake patches are fairly diverged in constrast to the current upstream
    packaging which requires a lot more effort I can't provide ATM.
    
    cc @markuskowa @hedning
    Ma27 committed Dec 24, 2018
    Copy the full SHA
    8934dae View commit details
  11. Merge pull request #52747 from marsam/init-guff

    guff: init at 0.1.0
    matthewbauer authored Dec 24, 2018
    Copy the full SHA
    badc0a0 View commit details
  12. Merge pull request #52744 from Ma27/fix-osquery

    osquery: fix build
    Ma27 authored Dec 24, 2018
    Copy the full SHA
    8ae753e View commit details
  13. Merge pull request #52769 from gilligan/skopeo-0134

    skopeo: 0.1.32 -> 0.1.34
    rasendubi authored Dec 24, 2018
    Copy the full SHA
    5e1f301 View commit details
  14. Merge pull request #52768 from r-ryantm/auto-update/stellarium

    stellarium: 0.18.2 -> 0.18.3
    rasendubi authored Dec 24, 2018
    Copy the full SHA
    a5306b3 View commit details
  15. Copy the full SHA
    a27aa24 View commit details
  16. Merge pull request #52688 from r-ryantm/auto-update/rtl_433

    rtl_433: 18.05 -> 18.12
    markuskowa authored Dec 24, 2018
    Copy the full SHA
    3dec2df View commit details
  17. Merge pull request #52757 from r-ryantm/auto-update/wavebox

    wavebox: 4.5.5 -> 4.5.9
    markuskowa authored Dec 24, 2018
    Copy the full SHA
    2cff8cd View commit details
  18. linux: Add 4.20

    NeQuissimus committed Dec 24, 2018
    Copy the full SHA
    8f9c2f9 View commit details
  19. Copy the full SHA
    24cdaa7 View commit details
Showing with 6,634 additions and 10,023 deletions.
  1. +2 −1 .gitignore
  2. +240 −0 doc/languages-frameworks/android.section.md
  3. +3 −0 doc/languages-frameworks/index.xml
  4. +219 −0 doc/languages-frameworks/ios.section.md
  5. +115 −0 doc/languages-frameworks/titanium.section.md
  6. +3 −3 lib/systems/examples.nix
  7. +1 −2 nixos/modules/programs/adb.nix
  8. +3 −3 pkgs/applications/misc/rtl_433/default.nix
  9. +2 −2 pkgs/applications/networking/instant-messengers/wavebox/default.nix
  10. +13 −17 pkgs/applications/office/gnumeric/default.nix
  11. +2 −2 pkgs/applications/science/astronomy/stellarium/default.nix
  12. +16 −10 pkgs/development/{mobile/androidenv → androidndk-pkgs}/androidndk-pkgs.nix
  13. +34 −0 pkgs/development/androidndk-pkgs/default.nix
  14. +15 −6 pkgs/development/libraries/goffice/default.nix
  15. +38 −0 pkgs/development/libraries/lasem/default.nix
  16. +3 −3 pkgs/development/mobile/adb-sync/default.nix
  17. +1 −1 pkgs/development/mobile/adbfs-rootless/default.nix
  18. +0 −1,614 pkgs/development/mobile/androidenv/addon.xml
  19. +0 −321 pkgs/development/mobile/androidenv/addons.nix
  20. +0 −120 pkgs/development/mobile/androidenv/androidndk.nix
  21. +0 −88 pkgs/development/mobile/androidenv/androidndk_r8e.nix
  22. +0 −296 pkgs/development/mobile/androidenv/androidsdk.nix
  23. +22 −25 pkgs/development/mobile/androidenv/build-app.nix
  24. +0 −108 pkgs/development/mobile/androidenv/build-gradle-app.nix
  25. +0 −376 pkgs/development/mobile/androidenv/build-tools-srcs-linux.nix
  26. +0 −376 pkgs/development/mobile/androidenv/build-tools-srcs-macosx.nix
  27. +19 −53 pkgs/development/mobile/androidenv/build-tools.nix
  28. +10 −0 pkgs/development/mobile/androidenv/cmake.nix
  29. +262 −0 pkgs/development/mobile/androidenv/compose-android-packages.nix
  30. +128 −0 pkgs/development/mobile/androidenv/convertaddons.xsl
  31. +116 −0 pkgs/development/mobile/androidenv/convertpackages.xsl
  32. +47 −0 pkgs/development/mobile/androidenv/convertsystemimages.xsl
  33. +12 −366 pkgs/development/mobile/androidenv/default.nix
  34. +44 −0 pkgs/development/mobile/androidenv/deploy-androidpackage.nix
  35. +52 −41 pkgs/development/mobile/androidenv/emulate-app.nix
  36. +20 −0 pkgs/development/mobile/androidenv/emulator.nix
  37. +0 −14 pkgs/development/mobile/androidenv/fetch.sh
  38. +0 −3 pkgs/development/mobile/androidenv/generate-addons.sh
  39. +0 −82 pkgs/development/mobile/androidenv/generate-addons.xsl
  40. +0 −4 pkgs/development/mobile/androidenv/generate-platforms.sh
  41. +0 −54 pkgs/development/mobile/androidenv/generate-platforms.xsl
  42. +0 −3 pkgs/development/mobile/androidenv/generate-sources.sh
  43. +0 −52 pkgs/development/mobile/androidenv/generate-sources.xsl
  44. +0 −26 pkgs/development/mobile/androidenv/generate-sysimages.sh
  45. +0 −20 pkgs/development/mobile/androidenv/generate-sysimages.xsl
  46. +0 −4 pkgs/development/mobile/androidenv/generate-tools.sh
  47. +0 −43 pkgs/development/mobile/androidenv/generate-tools.xsl
  48. +16 −0 pkgs/development/mobile/androidenv/generate.sh
  49. +1,145 −0 pkgs/development/mobile/androidenv/generated/addons.nix
  50. +1,910 −0 pkgs/development/mobile/androidenv/generated/packages.nix
  51. +157 −0 pkgs/development/mobile/androidenv/generated/system-images-android-tv.nix
  52. +67 −0 pkgs/development/mobile/androidenv/generated/system-images-android-wear-cn.nix
  53. +97 −0 pkgs/development/mobile/androidenv/generated/system-images-android-wear.nix
  54. +547 −0 pkgs/development/mobile/androidenv/generated/system-images-android.nix
  55. +502 −0 pkgs/development/mobile/androidenv/generated/system-images-google_apis.nix
  56. +97 −0 pkgs/development/mobile/androidenv/generated/system-images-google_apis_playstore.nix
  57. +12 −0 pkgs/development/mobile/androidenv/lldb.nix
  58. +0 −13 pkgs/development/mobile/androidenv/make-standalone-toolchain_r10e.patch
  59. +0 −13 pkgs/development/mobile/androidenv/make-standalone-toolchain_r8e.patch
  60. +0 −119 pkgs/development/mobile/androidenv/make_standalone_toolchain.py_16b.patch
  61. +0 −119 pkgs/development/mobile/androidenv/make_standalone_toolchain.py_17c.patch
  62. +51 −0 pkgs/development/mobile/androidenv/ndk-bundle/default.nix
  63. +44 −0 pkgs/development/mobile/androidenv/ndk-bundle/make_standalone_toolchain.py_18.patch
  64. +12 −44 pkgs/development/mobile/androidenv/platform-tools.nix
  65. +0 −343 pkgs/development/mobile/androidenv/platforms-linux.nix
  66. +0 −343 pkgs/development/mobile/androidenv/platforms-macosx.nix
  67. +27 −0 pkgs/development/mobile/androidenv/querypackages.sh
  68. +0 −2,834 pkgs/development/mobile/androidenv/repository-11.xml
  69. +0 −184 pkgs/development/mobile/androidenv/sources.nix
  70. +0 −18 pkgs/development/mobile/androidenv/support-repository.nix
  71. +0 −18 pkgs/development/mobile/androidenv/support.nix
  72. +0 −1,026 pkgs/development/mobile/androidenv/sys-img.xml
  73. +0 −305 pkgs/development/mobile/androidenv/sysimages.nix
  74. +26 −0 pkgs/development/mobile/androidenv/tools.nix
  75. +62 −0 pkgs/development/mobile/androidenv/tools/25.nix
  76. +40 −0 pkgs/development/mobile/androidenv/tools/26.nix
  77. +3 −3 pkgs/development/mobile/flashtool/default.nix
  78. +146 −165 pkgs/development/mobile/titaniumenv/build-app.nix
  79. +8 −16 pkgs/development/mobile/titaniumenv/default.nix
  80. +0 −91 pkgs/development/mobile/titaniumenv/examples/default.nix
  81. +0 −10 pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix
  82. +0 −44 pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
  83. +0 −10 pkgs/development/mobile/titaniumenv/examples/kitchensink/generatekeystore.sh
  84. BIN pkgs/development/mobile/titaniumenv/examples/kitchensink/keystore
  85. +0 −7 pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix
  86. +0 −43 pkgs/development/mobile/titaniumenv/titaniumsdk-6.3.nix
  87. +6 −6 pkgs/development/mobile/titaniumenv/titaniumsdk-7.1.nix
  88. +52 −49 pkgs/development/mobile/xcodeenv/build-app.nix
  89. +5 −1 pkgs/development/mobile/xcodeenv/{xcodewrapper.nix → compose-xcodewrapper.nix}
  90. +5 −5 pkgs/development/mobile/xcodeenv/default.nix
  91. +3 −3 pkgs/development/mobile/xcodeenv/install.html.template
  92. +35 −26 pkgs/development/mobile/xcodeenv/simulate-app.nix
  93. +14 −0 pkgs/development/ocaml-modules/csv/lwt.nix
  94. +2 −2 pkgs/development/tools/apktool/default.nix
  95. +2 −2 pkgs/development/tools/skopeo/default.nix
  96. +2 −2 pkgs/misc/scrcpy/default.nix
  97. +18 −0 pkgs/os-specific/linux/kernel/linux-4.20.nix
  98. +3 −3 pkgs/os-specific/linux/kernel/linux-libre.nix
  99. +1 −1 pkgs/stdenv/cross/default.nix
  100. +25 −0 pkgs/tools/graphics/guff/default.nix
  101. +1 −1 pkgs/tools/networking/gnirehtet/default.nix
  102. +16 −2 pkgs/tools/system/osquery/default.nix
  103. +31 −13 pkgs/top-level/all-packages.nix
  104. +2 −0 pkgs/top-level/ocaml-packages.nix
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -13,4 +13,5 @@ result-*
.DS_Store

/pkgs/development/libraries/qt-5/*/tmp/
/pkgs/desktops/kde-5/*/tmp/
/pkgs/desktops/kde-5/*/tmp/
/pkgs/development/mobile/androidenv/xml/*
240 changes: 240 additions & 0 deletions doc/languages-frameworks/android.section.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,240 @@
---
title: Android
author: Sander van der Burg
date: 2018-11-18
---
# Android

The Android build environment provides three major features and a number of
supporting features.

Deploying an Android SDK installation with plugins
--------------------------------------------------
The first use case is deploying the SDK with a desired set of plugins or subsets
of an SDK.

```nix
with import <nixpkgs> {};
let
androidComposition = androidenv.composeAndroidPackages {
toolsVersion = "25.2.5";
platformToolsVersion = "27.0.1";
buildToolsVersions = [ "27.0.3" ];
includeEmulator = false;
emulatorVersion = "27.2.0";
platformVersions = [ "24" ];
includeSources = false;
includeDocs = false;
includeSystemImages = false;
systemImageTypes = [ "default" ];
abiVersions = [ "armeabi-v7a" ];
lldbVersions = [ "2.0.2558144" ];
cmakeVersions = [ "3.6.4111459" ];
includeNDK = false;
ndkVersion = "16.1.4479499";
useGoogleAPIs = false;
useGoogleTVAddOns = false;
includeExtras = [
"extras;google;gcm"
];
};
in
androidComposition.androidsdk
```

The above function invocation states that we want an Android SDK with the above
specified plugin versions. By default, most plugins are disabled. Notable
exceptions are the tools, platform-tools and build-tools sub packages.

The following parameters are supported:

* `toolsVersion`, specifies the version of the tools package to use
* `platformsToolsVersion` specifies the version of the `platform-tools` plugin
* `buildToolsVersion` specifies the versions of the `build-tools` plugins to
use.
* `includeEmulator` specifies whether to deploy the emulator package (`false`
by default). When enabled, the version of the emulator to deploy can be
specified by setting the `emulatorVersion` parameter.
* `includeDocs` specifies whether the documentation catalog should be included.
* `lldbVersions` specifies what LLDB versions should be deployed.
* `cmakeVersions` specifies which CMake versions should be deployed.
* `includeNDK` specifies that the Android NDK bundle should be included.
Defaults to: `false`.
* `ndkVersion` specifies the NDK version that we want to use.
* `includeExtras` is an array of identifier strings referring to arbitrary
add-on packages that should be installed.
* `platformVersions` specifies which platform SDK versions should be included.

For each platform version that has been specified, we can apply the following
options:

* `includeSystemImages` specifies whether a system image for each platform SDK
should be included.
* `includeSources` specifies whether the sources for each SDK version should be
included.
* `useGoogleAPIs` specifies that for each selected platform version the
Google API should be included.
* `useGoogleTVAddOns` specifies that for each selected platform version the
Google TV add-on should be included.

For each requested system image we can specify the following options:

* `systemImageTypes` specifies what kind of system images should be included.
Defaults to: `default`.
* `abiVersions` specifies what kind of ABI version of each system image should
be included. Defaults to: `armeabi-v7a`.

Most of the function arguments have reasonable default settings.

When building the above expression with:

```bash
$ nix-build
```

The Android SDK gets deployed with all desired plugin versions.

We can also deploy subsets of the Android SDK. For example, to only the the
`platform-tools` package, you can evaluate the following expression:

```nix
with import <nixpkgs> {};
let
androidComposition = androidenv.composeAndroidPackages {
# ...
};
in
androidComposition.platform-tools
```

Using predefine Android package compositions
--------------------------------------------
In addition to composing an Android package set manually, it is also possible
to use a predefined composition that contains all basic packages for a specific
Android version, such as version 9.0 (API-level 28).

The following Nix expression can be used to deploy the entire SDK with all basic
plugins:

```nix
with import <nixpkgs> {};
androidenv.androidPkgs_9_0.androidsdk
```

It is also possible to use one plugin only:

```nix
with import <nixpkgs> {};
androidenv.androidPkgs_9_0.platform-tools
```

Building an Android application
-------------------------------
In addition to the SDK, it is also possible to build an Ant-based Android
project and automatically deploy all the Android plugins that a project
requires.

```nix
with import <nixpkgs> {};
androidenv.buildApp {
name = "MyAndroidApp";
src = ./myappsources;
release = true;
# If release is set to true, you need to specify the following parameters
keyStore = ./keystore;
keyAlias = "myfirstapp";
keyStorePassword = "mykeystore";
keyAliasPassword = "myfirstapp";
# Any Android SDK parameters that install all the relevant plugins that a
# build requires
platformVersions = [ "24" ];
# When we include the NDK, then ndk-build is invoked before Ant gets invoked
includeNDK = true;
}
```

Aside from the app-specific build parameters (`name`, `src`, `release` and
keystore parameters), the `buildApp {}` function supports all the function
parameters that the SDK composition function (the function shown in the
previous section) supports.

This build function is particularly useful when it is desired to use
[Hydra](http://nixos.org/hydra): the Nix-based continuous integration solution
to build Android apps. An Android APK gets exposed as a build product and can be
installed on any Android device with a web browser by navigating to the build
result page.

Spawning emulator instances
---------------------------
For testing purposes, it can also be quite convenient to automatically generate
scripts that spawn emulator instances with all desired configuration settings.

An emulator spawn script can be configured by invoking the `emulateApp {}`
function:

```nix
with import <nixpkgs> {};
androidenv.emulateApp {
name = "emulate-MyAndroidApp";
platformVersion = "24";
abiVersion = "armeabi-v7a"; # mips, x86 or x86_64
systemImageType = "default";
useGoogleAPIs = false;
}
```

It is also possible to specify an APK to deploy inside the emulator
and the package and activity names to launch it:

```nix
with import <nixpkgs> {};
androidenv.emulateApp {
name = "emulate-MyAndroidApp";
platformVersion = "24";
abiVersion = "armeabi-v7a"; # mips, x86 or x86_64
systemImageType = "default";
useGoogleAPIs = false;
app = ./MyApp.apk;
package = "MyApp";
activity = "MainActivity";
}
```

In addition to prebuilt APKs, you can also bind the APK parameter to a
`buildApp {}` function invocation shown in the previous example.

Querying the available versions of each plugin
----------------------------------------------
When using any of the previously shown functions, it may be a bit inconvenient
to find out what options are supported, since the Android SDK provides many
plugins.

A shell script in the `pkgs/development/mobile/androidenv/` sub directory can be used to retrieve all
possible options:

```bash
sh ./querypackages.sh packages build-tools
```

The above command-line instruction queries all build-tools versions in the
generated `packages.nix` expression.

Updating the generated expressions
----------------------------------
Most of the Nix expressions are generated from XML files that the Android
package manager uses. To update the expressions run the `generate.sh` script
that is stored in the `pkgs/development/mobile/androidenv/` sub directory:

```bash
sh ./generate.sh
```
3 changes: 3 additions & 0 deletions doc/languages-frameworks/index.xml
Original file line number Diff line number Diff line change
@@ -10,12 +10,14 @@
Nixpkgs to easily build packages for other programming languages, such as
Perl or Haskell. These are described in this chapter.
</para>
<xi:include href="android.section.xml" />
<xi:include href="beam.xml" />
<xi:include href="bower.xml" />
<xi:include href="coq.xml" />
<xi:include href="go.xml" />
<xi:include href="haskell.section.xml" />
<xi:include href="idris.section.xml" />
<xi:include href="ios.section.xml" />
<xi:include href="java.xml" />
<xi:include href="lua.xml" />
<xi:include href="node.section.xml" />
@@ -27,6 +29,7 @@
<xi:include href="ruby.xml" />
<xi:include href="rust.section.xml" />
<xi:include href="texlive.xml" />
<xi:include href="titanium.section.xml" />
<xi:include href="vim.section.xml" />
<xi:include href="emscripten.section.xml" />
</chapter>
Loading