diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 80485eb1352..3a2761204d6 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -64,13 +64,18 @@ /pkgs/development/haskell-modules/generic-builder.nix @peti @ryantm @basvandijk /pkgs/development/haskell-modules/hoogle.nix @peti @ryantm @basvandijk +# Perl +/pkgs/development/interpreters/perl @volth +/pkgs/top-level/perl-packages.nix @volth +/pkgs/development/perl-modules @volth + # R /pkgs/applications/science/math/R @peti /pkgs/development/r-modules @peti # Ruby -/pkgs/development/interpreters/ruby @zimbatm -/pkgs/development/ruby-modules @zimbatm +/pkgs/development/interpreters/ruby @alyssais @zimbatm +/pkgs/development/ruby-modules @alyssais @zimbatm # Rust /pkgs/development/compilers/rust @Mic92 @LnL7 diff --git a/.gitignore b/.gitignore index dba957f7662..b3ae9e6ea86 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,5 @@ result-* .DS_Store /pkgs/development/libraries/qt-5/*/tmp/ -/pkgs/desktops/kde-5/*/tmp/ \ No newline at end of file +/pkgs/desktops/kde-5/*/tmp/ +/pkgs/development/mobile/androidenv/xml/* diff --git a/doc/languages-frameworks/android.section.md b/doc/languages-frameworks/android.section.md new file mode 100644 index 00000000000..237f3441874 --- /dev/null +++ b/doc/languages-frameworks/android.section.md @@ -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 {}; + +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 {}; + +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 {}; + +androidenv.androidPkgs_9_0.androidsdk +``` + +It is also possible to use one plugin only: + +```nix +with import {}; + +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 {}; + +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 {}; + +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 {}; + +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 +``` diff --git a/doc/languages-frameworks/index.xml b/doc/languages-frameworks/index.xml index ac0ad712532..4564df98fe9 100644 --- a/doc/languages-frameworks/index.xml +++ b/doc/languages-frameworks/index.xml @@ -10,12 +10,14 @@ Nixpkgs to easily build packages for other programming languages, such as Perl or Haskell. These are described in this chapter. + + @@ -27,6 +29,7 @@ + diff --git a/doc/languages-frameworks/ios.section.md b/doc/languages-frameworks/ios.section.md new file mode 100644 index 00000000000..6684b809ffe --- /dev/null +++ b/doc/languages-frameworks/ios.section.md @@ -0,0 +1,219 @@ +--- +title: iOS +author: Sander van der Burg +date: 2018-11-18 +--- +# iOS + +This component is basically a wrapper/workaround that makes it possible to +expose an Xcode installation as a Nix package by means of symlinking to the +relevant executables on the host system. + +Since Xcode can't be packaged with Nix, nor we can publish it as a Nix package +(because of its license) this is basically the only integration strategy +making it possible to do iOS application builds that integrate with other +components of the Nix ecosystem + +The primary objective of this project is to use the Nix expression language to +specify how iOS apps can be built from source code, and to automatically spawn +iOS simulator instances for testing. + +This component also makes it possible to use [Hydra](http://nixos.org/hydra), +the Nix-based continuous integration server to regularly build iOS apps and to +do wireless ad-hoc installations of enterprise IPAs on iOS devices through +Hydra. + +The Xcode build environment implements a number of features. + +Deploying a proxy component wrapper exposing Xcode +-------------------------------------------------- +The first use case is deploying a Nix package that provides symlinks to the Xcode +installation on the host system. This package can be used as a build input to +any build function implemented in the Nix expression language that requires +Xcode. + +```nix +let + pkgs = import {}; + + xcodeenv = import ./xcodeenv { + inherit (pkgs) stdenv; + }; +in +xcodeenv.composeXcodeWrapper { + version = "9.2"; + xcodeBaseDir = "/Applications/Xcode.app"; +} +``` + +By deploying the above expression with `nix-build` and inspecting its content +you will notice that several Xcode-related executables are exposed as a Nix +package: + +```bash +$ ls result/bin +lrwxr-xr-x 1 sander staff 94 1 jan 1970 Simulator -> /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator +lrwxr-xr-x 1 sander staff 17 1 jan 1970 codesign -> /usr/bin/codesign +lrwxr-xr-x 1 sander staff 17 1 jan 1970 security -> /usr/bin/security +lrwxr-xr-x 1 sander staff 21 1 jan 1970 xcode-select -> /usr/bin/xcode-select +lrwxr-xr-x 1 sander staff 61 1 jan 1970 xcodebuild -> /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild +lrwxr-xr-x 1 sander staff 14 1 jan 1970 xcrun -> /usr/bin/xcrun +``` + +Building an iOS application +--------------------------- +We can build an iOS app executable for the simulator, or an IPA/xcarchive file +for release purposes, e.g. ad-hoc, enterprise or store installations, by +executing the `xcodeenv.buildApp {}` function: + +```nix +let + pkgs = import {}; + + xcodeenv = import ./xcodeenv { + inherit (pkgs) stdenv; + }; +in +xcodeenv.buildApp { + name = "MyApp"; + src = ./myappsources; + sdkVersion = "11.2"; + + target = null; # Corresponds to the name of the app by default + configuration = null; # Release for release builds, Debug for debug builds + scheme = null; # -scheme will correspond to the app name by default + sdk = null; # null will set it to 'iphonesimulator` for simulator builds or `iphoneos` to real builds + xcodeFlags = ""; + + release = true; + certificateFile = ./mycertificate.p12; + certificatePassword = "secret"; + provisioningProfile = ./myprovisioning.profile; + signMethod = "ad-hoc"; # 'enterprise' or 'store' + generateIPA = true; + generateXCArchive = false; + + enableWirelessDistribution = true; + installURL = "/installipa.php"; + bundleId = "mycompany.myapp"; + appVersion = "1.0"; + + # Supports all xcodewrapper parameters as well + xcodeBaseDir = "/Applications/Xcode.app"; +} +``` + +The above function takes a variety of parameters: +* The `name` and `src` parameters are mandatory and specify the name of the app + and the location where the source code resides +* `sdkVersion` specifies which version of the iOS SDK to use. + +It also possile to adjust the `xcodebuild` parameters. This is only needed in +rare circumstances. In most cases the default values should suffice: + +* Specifies which `xcodebuild` target to build. By default it takes the target + that has the same name as the app. +* The `configuration` parameter can be overridden if desired. By default, it + will do a debug build for the simulator and a release build for real devices. +* The `scheme` parameter specifies which `-scheme` parameter to propagate to + `xcodebuild`. By default, it corresponds to the app name. +* The `sdk` parameter specifies which SDK to use. By default, it picks + `iphonesimulator` for simulator builds and `iphoneos` for release builds. +* The `xcodeFlags` parameter specifies arbitrary command line parameters that + should be propagated to `xcodebuild`. + +By default, builds are carried out for the iOS simulator. To do release builds +(builds for real iOS devices), you must set the `release` parameter to `true`. +In addition, you need to set the following parameters: + +* `certificateFile` refers to a P12 certificate file. +* `certificatePassword` specifies the password of the P12 certificate. +* `provisioningProfile` refers to the provision profile needed to sign the app +* `signMethod` should refer to `ad-hoc` for signing the app with an ad-hoc + certificate, `enterprise` for enterprise certificates and `app-store` for App + store certificates. +* `generateIPA` specifies that we want to produce an IPA file (this is probably + what you want) +* `generateXCArchive` specifies thet we want to produce an xcarchive file. + +When building IPA files on Hydra and when it is desired to allow iOS devices to +install IPAs by browsing to the Hydra build products page, you can enable the +`enableWirelessDistribution` parameter. + +When enabled, you need to configure the following options: + +* The `installURL` parameter refers to the URL of a PHP script that composes the + `itms-services://` URL allowing iOS devices to install the IPA file. +* `bundleId` refers to the bundle ID value of the app +* `appVersion` refers to the app's version number + +To use wireless adhoc distributions, you must also install the corresponding +PHP script on a web server (see section: 'Installing the PHP script for wireless +ad hoc installations from Hydra' for more information). + +In addition to the build parameters, you can also specify any parameters that +the `xcodeenv.composeXcodeWrapper {}` function takes. For example, the +`xcodeBaseDir` parameter can be overridden to refer to a different Xcode +version. + +Spawning simulator instances +---------------------------- +In addition to building iOS apps, we can also automatically spawn simulator +instances: + +```nix +let + pkgs = import {}; + + xcodeenv = import ./xcodeenv { + inherit (pkgs) stdenv; + }; +in +xcode.simulateApp { + name = "simulate"; + + # Supports all xcodewrapper parameters as well + xcodeBaseDir = "/Applications/Xcode.app"; +} +``` + +The above expression produces a script that starts the simulator from the +provided Xcode installation. The script can be started as follows: + +```bash +./result/bin/run-test-simulator +``` + +By default, the script will show an overview of UDID for all available simulator +instances and asks you to pick one. You can also provide a UDID as a +command-line parameter to launch an instance automatically: + +```bash +./result/bin/run-test-simulator 5C93129D-CF39-4B1A-955F-15180C3BD4B8 +``` + +You can also extend the simulator script to automatically deploy and launch an +app in the requested simulator instance: + +```nix +let + pkgs = import {}; + + xcodeenv = import ./xcodeenv { + inherit (pkgs) stdenv; + }; +in +xcode.simulateApp { + name = "simulate"; + bundleId = "mycompany.myapp"; + app = xcode.buildApp { + # ... + }; + + # Supports all xcodewrapper parameters as well + xcodeBaseDir = "/Applications/Xcode.app"; +} +``` + +By providing the result of an `xcode.buildApp {}` function and configuring the +app bundle id, the app gets deployed automatically and started. diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index eefe46b15de..acd2bf769b0 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -484,10 +484,12 @@ and in this case the `python35` interpreter is automatically used. ### Interpreters Versions 2.7, 3.5, 3.6 and 3.7 of the CPython interpreter are available as -respectively `python27`, `python35`, `python36`, and `python37`. The PyPy -interpreter is available as `pypy`. The aliases `python2` and `python3` -correspond to respectively `python27` and `python37`. The default interpreter, -`python`, maps to `python2`. The Nix expressions for the interpreters can be +respectively `python27`, `python35`, `python36` and `python37`. The aliases +`python2` and `python3` correspond to respectively `python27` and +`python37`. The default interpreter, `python`, maps to `python2`. The PyPy +interpreters compatible with Python 2.7 and 3 are available as `pypy27` and +`pypy3`, with aliases `pypy2` mapping to `pypy27` and `pypy` mapping to +`pypy2`. The Nix expressions for the interpreters can be found in `pkgs/development/interpreters/python`. All packages depending on any Python interpreter get appended @@ -1102,7 +1104,7 @@ on `numpy` will be built with `mkl`. The following is an overlay that configures `numpy` to use `mkl`: ```nix self: super: { - python36 = super.python36.override { + python37 = super.python37.override { packageOverrides = python-self: python-super: { numpy = python-super.numpy.override { blas = super.pkgs.mkl; @@ -1112,6 +1114,15 @@ self: super: { } ``` +`mkl` requires an `openmp` implementation when running with multiple processors. +By default, `mkl` will use Intel's `iomp` implementation if no other is +specified, but this is a runtime-only dependency and binary compatible with the +LLVM implementation. To use that one instead, Intel recommends users set it with +`LD_PRELOAD`. + +Note that `mkl` is only available on `x86_64-{linux,darwin}` platforms; +moreover, Hydra is not building and distributing pre-compiled binaries using it. + ## Contributing ### Contributing guidelines diff --git a/doc/languages-frameworks/titanium.section.md b/doc/languages-frameworks/titanium.section.md new file mode 100644 index 00000000000..7a97664ec59 --- /dev/null +++ b/doc/languages-frameworks/titanium.section.md @@ -0,0 +1,115 @@ +--- +title: Titanium +author: Sander van der Burg +date: 2018-11-18 +--- +# Titanium + +The Nixpkgs repository contains facilities to deploy a variety of versions of +the [Titanium SDK](https://www.appcelerator.com) versions, a cross-platform +mobile app development framework using JavaScript as an implementation language, +and includes a function abstraction making it possible to build Titanium +applications for Android and iOS devices from source code. + +Not all Titanium features supported -- currently, it can only be used to build +Android and iOS apps. + +Building a Titanium app +----------------------- +We can build a Titanium app from source for Android or iOS and for debugging or +release purposes by invoking the `titaniumenv.buildApp {}` function: + +```nix +titaniumenv.buildApp { + name = "myapp"; + src = ./myappsource; + + preBuild = ""; + target = "android"; # or 'iphone' + tiVersion = "7.1.0.GA"; + release = true; + + androidsdkArgs = { + platformVersions = [ "25" "26" ]; + }; + androidKeyStore = ./keystore; + androidKeyAlias = "myfirstapp"; + androidKeyStorePassword = "secret"; + + xcodeBaseDir = "/Applications/Xcode.app"; + xcodewrapperArgs = { + version = "9.3"; + }; + iosMobileProvisioningProfile = ./myprovisioning.profile; + iosCertificateName = "My Company"; + iosCertificate = ./mycertificate.p12; + iosCertificatePassword = "secret"; + iosVersion = "11.3"; + iosBuildStore = false; + + enableWirelessDistribution = true; + installURL = "/installipa.php"; +} +``` + +The `titaniumenv.buildApp {}` function takes the following parameters: + +* The `name` parameter refers to the name in the Nix store. +* The `src` parameter refers to the source code location of the app that needs + to be built. +* `preRebuild` contains optional build instructions that are carried out before + the build starts. +* `target` indicates for which device the app must be built. Currently only + 'android' and 'iphone' (for iOS) are supported. +* `tiVersion` can be used to optionally override the requested Titanium version + in `tiapp.xml`. If not specified, it will use the version in `tiapp.xml`. +* `release` should be set to true when building an app for submission to the + Google Playstore or Apple Appstore. Otherwise, it should be false. + +When the `target` has been set to `android`, we can configure the following +parameters: + +* The `androidSdkArgs` parameter refers to an attribute set that propagates all + parameters to the `androidenv.composeAndroidPackages {}` function. This can + be used to install all relevant Android plugins that may be needed to perform + the Android build. If no parameters are given, it will deploy the platform + SDKs for API-levels 25 and 26 by default. + +When the `release` parameter has been set to true, you need to provide +parameters to sign the app: + +* `androidKeyStore` is the path to the keystore file +* `androidKeyAlias` is the key alias +* `androidKeyStorePassword` refers to the password to open the keystore file. + +When the `target` has been set to `iphone`, we can configure the following +parameters: + +* The `xcodeBaseDir` parameter refers to the location where Xcode has been + installed. When none value is given, the above value is the default. +* The `xcodewrapperArgs` parameter passes arbitrary parameters to the + `xcodeenv.composeXcodeWrapper {}` function. This can, for example, be used + to adjust the default version of Xcode. + +When `release` has been set to true, you also need to provide the following +parameters: + +* `iosMobileProvisioningProfile` refers to a mobile provisioning profile needed + for signing. +* `iosCertificateName` refers to the company name in the P12 certificate. +* `iosCertificate` refers to the path to the P12 file. +* `iosCertificatePassword` contains the password to open the P12 file. +* `iosVersion` refers to the iOS SDK version to use. It defaults to the latest + version. +* `iosBuildStore` should be set to `true` when building for the Apple Appstore + submission. For enterprise or ad-hoc builds it should be set to `false`. + +When `enableWirelessDistribution` has been enabled, you must also provide the +path of the PHP script (`installURL`) (that is included with the iOS build +environment) to enable wireless ad-hoc installations. + +Emulating or simulating the app +------------------------------- +It is also possible to simulate the correspond iOS simulator build by using +`xcodeenv.simulateApp {}` and emulate an Android APK by using +`androidenv.emulateApp {}`. diff --git a/lib/licenses.nix b/lib/licenses.nix index 5ef60b51063..fc9cb42621d 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -29,13 +29,13 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { }; agpl3 = spdx { - spdxId = "AGPL-3.0"; - fullName = "GNU Affero General Public License v3.0"; + spdxId = "AGPL-3.0-only"; + fullName = "GNU Affero General Public License v3.0 only"; }; - agpl3Plus = { + agpl3Plus = spdx { + spdxId = "AGPL-3.0-or-later"; fullName = "GNU Affero General Public License v3.0 or later"; - inherit (agpl3) url; }; amazonsl = { @@ -266,13 +266,23 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { }; fdl12 = spdx { - spdxId = "GFDL-1.2"; - fullName = "GNU Free Documentation License v1.2"; + spdxId = "GFDL-1.2-only"; + fullName = "GNU Free Documentation License v1.2 only"; + }; + + fdl12Plus = spdx { + spdxId = "GFDL-1.2-or-later"; + fullName = "GNU Free Documentation License v1.2 or later"; }; fdl13 = spdx { - spdxId = "GFDL-1.3"; - fullName = "GNU Free Documentation License v1.3"; + spdxId = "GFDL-1.3-only"; + fullName = "GNU Free Documentation License v1.3 only"; + }; + + fdl13Plus = spdx { + spdxId = "GFDL-1.3-or-later"; + fullName = "GNU Free Documentation License v1.3 or later"; }; ffsl = { @@ -297,24 +307,23 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { }; gpl1 = spdx { - spdxId = "GPL-1.0"; + spdxId = "GPL-1.0-only"; fullName = "GNU General Public License v1.0 only"; }; gpl1Plus = spdx { - spdxId = "GPL-1.0+"; + spdxId = "GPL-1.0-or-later"; fullName = "GNU General Public License v1.0 or later"; }; gpl2 = spdx { - spdxId = "GPL-2.0"; + spdxId = "GPL-2.0-only"; fullName = "GNU General Public License v2.0 only"; }; - gpl2Classpath = { + gpl2Classpath = spdx { spdxId = "GPL-2.0-with-classpath-exception"; fullName = "GNU General Public License v2.0 only (with Classpath exception)"; - url = https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception; }; gpl2ClasspathPlus = { @@ -328,17 +337,17 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { }; gpl2Plus = spdx { - spdxId = "GPL-2.0+"; + spdxId = "GPL-2.0-or-later"; fullName = "GNU General Public License v2.0 or later"; }; gpl3 = spdx { - spdxId = "GPL-3.0"; + spdxId = "GPL-3.0-only"; fullName = "GNU General Public License v3.0 only"; }; gpl3Plus = spdx { - spdxId = "GPL-3.0+"; + spdxId = "GPL-3.0-or-later"; fullName = "GNU General Public License v3.0 or later"; }; @@ -408,32 +417,32 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { }; lgpl2 = spdx { - spdxId = "LGPL-2.0"; + spdxId = "LGPL-2.0-only"; fullName = "GNU Library General Public License v2 only"; }; lgpl2Plus = spdx { - spdxId = "LGPL-2.0+"; + spdxId = "LGPL-2.0-or-later"; fullName = "GNU Library General Public License v2 or later"; }; lgpl21 = spdx { - spdxId = "LGPL-2.1"; + spdxId = "LGPL-2.1-only"; fullName = "GNU Library General Public License v2.1 only"; }; lgpl21Plus = spdx { - spdxId = "LGPL-2.1+"; + spdxId = "LGPL-2.1-or-later"; fullName = "GNU Library General Public License v2.1 or later"; }; lgpl3 = spdx { - spdxId = "LGPL-3.0"; + spdxId = "LGPL-3.0-only"; fullName = "GNU Lesser General Public License v3.0 only"; }; lgpl3Plus = spdx { - spdxId = "LGPL-3.0+"; + spdxId = "LGPL-3.0-or-later"; fullName = "GNU Lesser General Public License v3.0 or later"; }; @@ -697,7 +706,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { }; wxWindows = spdx { - spdxId = "WXwindows"; + spdxId = "wxWindows"; fullName = "wxWindows Library Licence, Version 3.1"; }; diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index 608db00a968..ac1633a1a15 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -47,7 +47,7 @@ rec { armv5te-android-prebuilt = rec { config = "armv5tel-unknown-linux-androideabi"; sdkVer = "21"; - ndkVer = "10e"; + ndkVer = "18b"; platform = platforms.armv5te-android; useAndroidPrebuilt = true; }; @@ -55,7 +55,7 @@ rec { armv7a-android-prebuilt = rec { config = "armv7a-unknown-linux-androideabi"; sdkVer = "24"; - ndkVer = "17c"; + ndkVer = "18b"; platform = platforms.armv7a-android; useAndroidPrebuilt = true; }; @@ -63,7 +63,7 @@ rec { aarch64-android-prebuilt = rec { config = "aarch64-unknown-linux-android"; sdkVer = "24"; - ndkVer = "17c"; + ndkVer = "18b"; platform = platforms.aarch64-multiplatform; useAndroidPrebuilt = true; }; diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 9c47599b73e..48474b21235 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -256,6 +256,11 @@ github = "AndrewMorsillo"; name = "Andrew Morsillo"; }; + andersk = { + email = "andersk@mit.edu"; + github = "andersk"; + name = "Anders Kaseorg"; + }; AndersonTorres = { email = "torres.anderson.85@protonmail.com"; github = "AndersonTorres"; @@ -1324,6 +1329,11 @@ github = "ellis"; name = "Ellis Whitehead"; }; + elohmeier = { + email = "elo-nixos@nerdworks.de"; + github = "elohmeier"; + name = "Enno Lohmeier"; + }; elseym = { email = "elseym@me.com"; github = "elseym"; diff --git a/maintainers/scripts/update-python-libraries b/maintainers/scripts/update-python-libraries index d56c9e6338c..4a6024c4038 100755 --- a/maintainers/scripts/update-python-libraries +++ b/maintainers/scripts/update-python-libraries @@ -1,3 +1,5 @@ #!/bin/sh -exec nix-shell -p "python3.withPackages(ps: with ps; [ packaging requests toolz ])" -p git --run pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py +build=`nix-build -E "with import (fetchTarball "channel:nixpkgs-unstable") {}; python3.withPackages(ps: with ps; [ packaging requests toolz ])"` +python=${build}/bin/python +exec ${python} pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py $@ diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml index 69e94fbccc5..d99c8881727 100644 --- a/nixos/doc/manual/release-notes/rl-1903.xml +++ b/nixos/doc/manual/release-notes/rl-1903.xml @@ -43,6 +43,15 @@ ./programs/nm-applet.nix + + + There is a new security.googleOsLogin module for using + OS Login + to manage SSH access to Google Compute Engine instances, which supersedes + the imperative and broken google-accounts-daemon used + in nixos/modules/virtualisation/google-compute-config.nix. + + @@ -318,6 +327,22 @@ case. + + + The pam_unix account module is now loaded with its + control field set to required instead of + sufficient, so that later pam account modules that + might do more extensive checks are being executed. + Previously, the whole account module verification was exited prematurely + in case a nss module provided the account name to + pam_unix. + The LDAP and SSSD NixOS modules already add their NSS modules when + enabled. In case your setup breaks due to some later pam account module + previosuly shadowed, or failing NSS lookups, please file a bug. You can + get back the old behaviour by manually setting + .text]]>. + + diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix index 57b4412d9bb..c0b4041d7e3 100644 --- a/nixos/lib/testing.nix +++ b/nixos/lib/testing.nix @@ -116,7 +116,7 @@ in rec { vms = map (m: m.config.system.build.vm) (lib.attrValues nodes); - ocrProg = tesseract_4.override { enableLanguages = [ "eng" ]; }; + ocrProg = tesseract4.override { enableLanguages = [ "eng" ]; }; imagemagick_tiff = imagemagick_light.override { inherit libtiff; }; diff --git a/nixos/lib/utils.nix b/nixos/lib/utils.nix index 1ef915d4061..b68e55a40b9 100644 --- a/nixos/lib/utils.nix +++ b/nixos/lib/utils.nix @@ -7,9 +7,8 @@ rec { || elem fs.mountPoint [ "/" "/nix" "/nix/store" "/var" "/var/log" "/var/lib" "/etc" ]; # Check whenever `b` depends on `a` as a fileSystem - # FIXME: it's incorrect to simply use hasPrefix here: "/dev/a" is not a parent of "/dev/ab" - fsBefore = a: b: ((any (x: elem x [ "bind" "move" ]) b.options) && (a.mountPoint == b.device)) - || (hasPrefix a.mountPoint b.mountPoint); + fsBefore = a: b: a.mountPoint == b.device + || hasPrefix "${a.mountPoint}${optionalString (!(hasSuffix "/" a.mountPoint)) "/"}" b.mountPoint; # Escape a path according to the systemd rules, e.g. /dev/xyzzy # becomes dev-xyzzy. FIXME: slow. diff --git a/nixos/modules/config/nsswitch.nix b/nixos/modules/config/nsswitch.nix index a74d551f50d..b601e908e49 100644 --- a/nixos/modules/config/nsswitch.nix +++ b/nixos/modules/config/nsswitch.nix @@ -1,6 +1,6 @@ # Configuration for the Name Service Switch (/etc/nsswitch.conf). -{ config, lib, ... }: +{ config, lib, pkgs, ... }: with lib; @@ -15,6 +15,7 @@ let ldap = canLoadExternalModules && (config.users.ldap.enable && config.users.ldap.nsswitch); sssd = canLoadExternalModules && config.services.sssd.enable; resolved = canLoadExternalModules && config.services.resolved.enable; + googleOsLogin = canLoadExternalModules && config.security.googleOsLogin.enable; hostArray = [ "files" ] ++ optional mymachines "mymachines" @@ -29,6 +30,7 @@ let ++ optional sssd "sss" ++ optional ldap "ldap" ++ optional mymachines "mymachines" + ++ optional googleOsLogin "cache_oslogin oslogin" ++ [ "systemd" ]; shadowArray = [ "files" ] @@ -97,7 +99,7 @@ in { # configured IP addresses, or ::1 and 127.0.0.2 as # fallbacks. Systemd also provides nss-mymachines to return IP # addresses of local containers. - system.nssModules = optionals canLoadExternalModules [ config.systemd.package.out ]; - + system.nssModules = (optionals canLoadExternalModules [ config.systemd.package.out ]) + ++ optional googleOsLogin pkgs.google-compute-engine-oslogin.out; }; } diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 8fda7ee0b0a..4a392b6f5c9 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -154,6 +154,7 @@ ./security/chromium-suid-sandbox.nix ./security/dhparams.nix ./security/duosec.nix + ./security/google_oslogin.nix ./security/hidepid.nix ./security/lock-kernel-modules.nix ./security/misc.nix @@ -303,6 +304,7 @@ ./services/hardware/usbmuxd.nix ./services/hardware/thermald.nix ./services/hardware/undervolt.nix + ./services/hardware/vdr.nix ./services/logging/SystemdJournal2Gelf.nix ./services/logging/awstats.nix ./services/logging/fluentd.nix diff --git a/nixos/modules/programs/adb.nix b/nixos/modules/programs/adb.nix index 942572cef9d..250d8c252a3 100644 --- a/nixos/modules/programs/adb.nix +++ b/nixos/modules/programs/adb.nix @@ -16,7 +16,6 @@ with lib; To grant access to a user, it must be part of adbusers group: users.users.alice.extraGroups = ["adbusers"]; ''; - relatedPackages = [ ["androidenv" "platformTools"] ]; }; }; }; @@ -24,7 +23,7 @@ with lib; ###### implementation config = mkIf config.programs.adb.enable { services.udev.packages = [ pkgs.android-udev-rules ]; - environment.systemPackages = [ pkgs.androidenv.platformTools ]; + environment.systemPackages = [ pkgs.androidenv.androidPkgs_9_0.platform-tools ]; users.groups.adbusers = {}; }; } diff --git a/nixos/modules/security/google_oslogin.nix b/nixos/modules/security/google_oslogin.nix new file mode 100644 index 00000000000..246419b681a --- /dev/null +++ b/nixos/modules/security/google_oslogin.nix @@ -0,0 +1,68 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.security.googleOsLogin; + package = pkgs.google-compute-engine-oslogin; + +in + +{ + + options = { + + security.googleOsLogin.enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Google OS Login + + The OS Login package enables the following components: + AuthorizedKeysCommand to query valid SSH keys from the user's OS Login + profile during ssh authentication phase. + NSS Module to provide user and group information + PAM Module for the sshd service, providing authorization and + authentication support, allowing the system to use data stored in + Google Cloud IAM permissions to control both, the ability to log into + an instance, and to perform operations as root (sudo). + ''; + }; + + }; + + config = mkIf cfg.enable { + security.pam.services.sshd = { + makeHomeDir = true; + googleOsLoginAccountVerification = true; + # disabled for now: googleOsLoginAuthentication = true; + }; + + security.sudo.extraConfig = '' + #includedir /run/google-sudoers.d + ''; + systemd.tmpfiles.rules = [ + "d /run/google-sudoers.d 750 root root -" + "d /var/google-users.d 750 root root -" + ]; + + # enable the nss module, so user lookups etc. work + system.nssModules = [ package ]; + + # Ugly: sshd refuses to start if a store path is given because /nix/store is group-writable. + # So indirect by a symlink. + environment.etc."ssh/authorized_keys_command_google_oslogin" = { + mode = "0755"; + text = '' + #!/bin/sh + exec ${package}/bin/google_authorized_keys "$@" + ''; + }; + services.openssh.extraConfig = '' + AuthorizedKeysCommand /etc/ssh/authorized_keys_command_google_oslogin %u + AuthorizedKeysCommandUser nobody + ''; + }; + +} diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index 926c6d77d3b..b1a0eff98c2 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -77,6 +77,30 @@ let ''; }; + googleOsLoginAccountVerification = mkOption { + default = false; + type = types.bool; + description = '' + If set, will use the Google OS Login PAM modules + (pam_oslogin_login, + pam_oslogin_admin) to verify possible OS Login + users and set sudoers configuration accordingly. + This only makes sense to enable for the sshd PAM + service. + ''; + }; + + googleOsLoginAuthentication = mkOption { + default = false; + type = types.bool; + description = '' + If set, will use the pam_oslogin_login's user + authentication methods to authenticate users using 2FA. + This only makes sense to enable for the sshd PAM + service. + ''; + }; + fprintAuth = mkOption { default = config.services.fprintd.enable; type = types.bool; @@ -269,7 +293,7 @@ let text = mkDefault ('' # Account management. - account ${if cfg.sssdStrictAccess then "required" else "sufficient"} pam_unix.so + account required pam_unix.so ${optionalString use_ldap "account sufficient ${pam_ldap}/lib/security/pam_ldap.so"} ${optionalString (config.services.sssd.enable && cfg.sssdStrictAccess==false) @@ -278,8 +302,14 @@ let "account [default=bad success=ok user_unknown=ignore] ${pkgs.sssd}/lib/security/pam_sss.so"} ${optionalString config.krb5.enable "account sufficient ${pam_krb5}/lib/security/pam_krb5.so"} + ${optionalString cfg.googleOsLoginAccountVerification '' + account [success=ok ignore=ignore default=die] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_login.so + account [success=ok default=ignore] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_admin.so + ''} # Authentication management. + ${optionalString cfg.googleOsLoginAuthentication + "auth [success=done perm_denied=bad default=ignore] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_login.so"} ${optionalString cfg.rootOK "auth sufficient pam_rootok.so"} ${optionalString cfg.requireWheel diff --git a/nixos/modules/services/databases/aerospike.nix b/nixos/modules/services/databases/aerospike.nix index 5f33164998b..4b905f90529 100644 --- a/nixos/modules/services/databases/aerospike.nix +++ b/nixos/modules/services/databases/aerospike.nix @@ -43,6 +43,7 @@ in package = mkOption { default = pkgs.aerospike; + defaultText = "pkgs.aerospike"; type = types.package; description = "Which Aerospike derivation to use"; }; diff --git a/nixos/modules/services/databases/clickhouse.nix b/nixos/modules/services/databases/clickhouse.nix index 1b8771cec39..21e0cee3415 100644 --- a/nixos/modules/services/databases/clickhouse.nix +++ b/nixos/modules/services/databases/clickhouse.nix @@ -70,6 +70,11 @@ with lib; }; }; + environment.systemPackages = [ pkgs.clickhouse ]; + + # startup requires a `/etc/localtime` which only if exists if `time.timeZone != null` + time.timeZone = mkDefault "UTC"; + }; } diff --git a/nixos/modules/services/hardware/vdr.nix b/nixos/modules/services/hardware/vdr.nix new file mode 100644 index 00000000000..75136a2f796 --- /dev/null +++ b/nixos/modules/services/hardware/vdr.nix @@ -0,0 +1,71 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.vdr; + libDir = "/var/lib/vdr"; +in { + + ###### interface + + options = { + + services.vdr = { + enable = mkEnableOption "enable VDR. Please put config into ${libDir}."; + + package = mkOption { + type = types.package; + default = pkgs.vdr; + defaultText = "pkgs.vdr"; + example = literalExample "pkgs.wrapVdr.override { plugins = with pkgs.vdrPlugins; [ hello ]; }"; + description = "Package to use."; + }; + + videoDir = mkOption { + type = types.path; + default = "/srv/vdr/video"; + description = "Recording directory"; + }; + + extraArguments = mkOption { + type = types.listOf types.str; + default = []; + description = "Additional command line arguments to pass to VDR."; + }; + }; + }; + + ###### implementation + + config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d ${cfg.videoDir} 0755 vdr vdr -" + "Z ${cfg.videoDir} - vdr vdr -" + ]; + + systemd.services.vdr = { + description = "VDR"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = '' + ${cfg.package}/bin/vdr \ + --video="${cfg.videoDir}" \ + --config="${libDir}" \ + ${escapeShellArgs cfg.extraArguments} + ''; + User = "vdr"; + CacheDirectory = "vdr"; + StateDirectory = "vdr"; + Restart = "on-failure"; + }; + }; + + users.users.vdr = { + group = "vdr"; + home = libDir; + }; + + users.groups.vdr = {}; + }; +} diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix index 412d57b27b8..602cd50d8f5 100644 --- a/nixos/modules/services/network-filesystems/ipfs.nix +++ b/nixos/modules/services/network-filesystems/ipfs.nix @@ -74,7 +74,7 @@ in { services.ipfs = { - enable = mkEnableOption "Interplanetary File System"; + enable = mkEnableOption "Interplanetary File System (WARNING: may cause severe network degredation)"; user = mkOption { type = types.str; diff --git a/nixos/modules/services/networking/shairport-sync.nix b/nixos/modules/services/networking/shairport-sync.nix index 36ecb74ffc9..90c0689dc7b 100644 --- a/nixos/modules/services/networking/shairport-sync.nix +++ b/nixos/modules/services/networking/shairport-sync.nix @@ -27,7 +27,7 @@ in }; arguments = mkOption { - default = "-v -d pulse"; + default = "-v pulse"; description = '' Arguments to pass to the daemon. Defaults to a local pulseaudio server. diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index 035029150c8..047321bd949 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -194,9 +194,12 @@ let ${xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions '') cfg.displayManager.extraSessionFilePackages} - mkdir -p "$out/share/wayland-sessions" + ${concatMapStrings (pkg: '' - ${xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions + if test -d ${pkg}/share/wayland-sessions; then + mkdir -p "$out/share/wayland-sessions" + ${xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions + fi '') cfg.displayManager.extraSessionFilePackages} ''; diff --git a/nixos/modules/virtualisation/google-compute-config.nix b/nixos/modules/virtualisation/google-compute-config.nix index 1f8485b274f..8c7331fe4d2 100644 --- a/nixos/modules/virtualisation/google-compute-config.nix +++ b/nixos/modules/virtualisation/google-compute-config.nix @@ -65,33 +65,7 @@ in # GC has 1460 MTU networking.interfaces.eth0.mtu = 1460; - # allow the google-accounts-daemon to manage users - users.mutableUsers = true; - # and allow users to sudo without password - security.sudo.enable = true; - security.sudo.extraConfig = '' - %google-sudoers ALL=(ALL:ALL) NOPASSWD:ALL - ''; - - # NOTE: google-accounts tries to write to /etc/sudoers.d but the folder doesn't exist - # FIXME: not such file or directory on dynamic SSH provisioning - systemd.services.google-accounts-daemon = { - description = "Google Compute Engine Accounts Daemon"; - # This daemon creates dynamic users - enable = config.users.mutableUsers; - after = [ - "network.target" - "google-instance-setup.service" - "google-network-setup.service" - ]; - requires = ["network.target"]; - wantedBy = ["multi-user.target"]; - path = with pkgs; [ shadow ]; - serviceConfig = { - Type = "simple"; - ExecStart = "${gce}/bin/google_accounts_daemon --debug"; - }; - }; + security.googleOsLogin.enable = true; systemd.services.google-clock-skew-daemon = { description = "Google Compute Engine Clock Skew Daemon"; diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index 66b253c230f..ea8b92e94f0 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -5,7 +5,7 @@ { nixpkgs ? { outPath = (import ../lib).cleanSource ./..; revCount = 56789; shortRev = "gfedcba"; } , stableBranch ? false , supportedSystems ? [ "x86_64-linux" ] -, limitedSupportedSystems ? [ "i686-linux" ] +, limitedSupportedSystems ? [ "i686-linux" "aarch64-linux" ] }: let @@ -46,16 +46,20 @@ in rec { }; constituents = let - all = x: map (system: x.${system}) supportedSystems; + # Except for the given systems, return the system-specific constituent + except = systems: x: map (system: x.${system}) (pkgs.lib.subtractLists systems supportedSystems); + all = x: except [] x; in [ nixos.channel (all nixos.dummy) (all nixos.manual) - nixos.iso_minimal.x86_64-linux or [] - nixos.iso_minimal.i686-linux or [] nixos.iso_graphical.x86_64-linux or [] + nixos.iso_minimal.aarch64-linux or [] + nixos.iso_minimal.i686-linux or [] + nixos.iso_minimal.x86_64-linux or [] nixos.ova.x86_64-linux or [] + nixos.sd_image.aarch64-linux or [] #(all nixos.tests.containers) (all nixos.tests.containers-imperative) @@ -63,24 +67,24 @@ in rec { nixos.tests.chromium.x86_64-linux or [] (all nixos.tests.firefox) (all nixos.tests.firewall) - (all nixos.tests.gnome3) + (except ["aarch64-linux"] nixos.tests.gnome3) nixos.tests.installer.zfsroot.x86_64-linux or [] # ZFS is 64bit only - (all nixos.tests.installer.lvm) - (all nixos.tests.installer.luksroot) - (all nixos.tests.installer.separateBoot) - (all nixos.tests.installer.separateBootFat) - (all nixos.tests.installer.simple) - (all nixos.tests.installer.simpleLabels) - (all nixos.tests.installer.simpleProvided) - (all nixos.tests.installer.simpleUefiSystemdBoot) - (all nixos.tests.installer.swraid) - (all nixos.tests.installer.btrfsSimple) - (all nixos.tests.installer.btrfsSubvols) - (all nixos.tests.installer.btrfsSubvolDefault) - (all nixos.tests.boot.biosCdrom) - #(all nixos.tests.boot.biosUsb) # disabled due to issue #15690 - (all nixos.tests.boot.uefiCdrom) - (all nixos.tests.boot.uefiUsb) + (except ["aarch64-linux"] nixos.tests.installer.lvm) + (except ["aarch64-linux"] nixos.tests.installer.luksroot) + (except ["aarch64-linux"] nixos.tests.installer.separateBoot) + (except ["aarch64-linux"] nixos.tests.installer.separateBootFat) + (except ["aarch64-linux"] nixos.tests.installer.simple) + (except ["aarch64-linux"] nixos.tests.installer.simpleLabels) + (except ["aarch64-linux"] nixos.tests.installer.simpleProvided) + (except ["aarch64-linux"] nixos.tests.installer.simpleUefiSystemdBoot) + (except ["aarch64-linux"] nixos.tests.installer.swraid) + (except ["aarch64-linux"] nixos.tests.installer.btrfsSimple) + (except ["aarch64-linux"] nixos.tests.installer.btrfsSubvols) + (except ["aarch64-linux"] nixos.tests.installer.btrfsSubvolDefault) + (except ["aarch64-linux"] nixos.tests.boot.biosCdrom) + #(except ["aarch64-linux"] nixos.tests.boot.biosUsb) # disabled due to issue #15690 + (except ["aarch64-linux"] nixos.tests.boot.uefiCdrom) + (except ["aarch64-linux"] nixos.tests.boot.uefiUsb) (all nixos.tests.boot-stage1) (all nixos.tests.hibernate) nixos.tests.docker.x86_64-linux or [] @@ -132,7 +136,8 @@ in rec { nixpkgs.tarball (all allSupportedNixpkgs.emacs) - (all allSupportedNixpkgs.jdk) + # The currently available aarch64 JDK is unfree + (except ["aarch64-linux"] allSupportedNixpkgs.jdk) ]; }); diff --git a/nixos/release.nix b/nixos/release.nix index e6abd003e88..e7952b33de6 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -157,7 +157,7 @@ in rec { # A variant with a more recent (but possibly less stable) kernel # that might support more hardware. - iso_minimal_new_kernel = forMatchingSystems [ "x86_64-linux" ] (system: makeIso { + iso_minimal_new_kernel = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system: makeIso { module = ./modules/installer/cd-dvd/installation-cd-minimal-new-kernel.nix; type = "minimal-new-kernel"; inherit system; @@ -273,7 +273,7 @@ in rec { { services.httpd.enable = true; services.httpd.adminAddr = "foo@example.org"; services.postgresql.enable = true; - services.postgresql.package = pkgs.postgresql_9_3; + services.postgresql.package = pkgs.postgresql; environment.systemPackages = [ pkgs.php ]; }); }; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index ca5015ded3e..860262eeb6c 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -39,6 +39,7 @@ in cfssl = handleTestOn ["x86_64-linux"] ./cfssl.nix {}; chromium = (handleTestOn ["x86_64-linux"] ./chromium.nix {}).stable or {}; cjdns = handleTest ./cjdns.nix {}; + clickhouse = handleTest ./clickhouse.nix {}; cloud-init = handleTest ./cloud-init.nix {}; codimd = handleTest ./codimd.nix {}; containers-bridge = handleTest ./containers-bridge.nix {}; @@ -80,6 +81,7 @@ in gitlab = handleTest ./gitlab.nix {}; gitolite = handleTest ./gitolite.nix {}; gjs = handleTest ./gjs.nix {}; + google-oslogin = handleTest ./google-oslogin {}; gnome3 = handleTestOn ["x86_64-linux"] ./gnome3.nix {}; # libsmbios is unsupported on aarch64 gnome3-gdm = handleTestOn ["x86_64-linux"] ./gnome3-gdm.nix {}; # libsmbios is unsupported on aarch64 gocd-agent = handleTest ./gocd-agent.nix {}; diff --git a/nixos/tests/clickhouse.nix b/nixos/tests/clickhouse.nix new file mode 100644 index 00000000000..7d835069ec4 --- /dev/null +++ b/nixos/tests/clickhouse.nix @@ -0,0 +1,25 @@ +import ./make-test.nix ({ pkgs, ... }: { + name = "clickhouse"; + meta.maintainers = with pkgs.stdenv.lib.maintainers; [ ma27 ]; + + machine = { + services.clickhouse.enable = true; + }; + + testScript = + let + # work around quote/substitution complexity by Nix, Perl, bash and SQL. + tableDDL = pkgs.writeText "ddl.sql" "CREATE TABLE `demo` (`value` FixedString(10)) engine = MergeTree PARTITION BY value ORDER BY tuple();"; + insertQuery = pkgs.writeText "insert.sql" "INSERT INTO `demo` (`value`) VALUES ('foo');"; + selectQuery = pkgs.writeText "select.sql" "SELECT * from `demo`"; + in + '' + $machine->start(); + $machine->waitForUnit("clickhouse.service"); + $machine->waitForOpenPort(9000); + + $machine->succeed("cat ${tableDDL} | clickhouse-client"); + $machine->succeed("cat ${insertQuery} | clickhouse-client"); + $machine->succeed("cat ${selectQuery} | clickhouse-client | grep foo"); + ''; +}) diff --git a/nixos/tests/google-oslogin/default.nix b/nixos/tests/google-oslogin/default.nix new file mode 100644 index 00000000000..3b84bba3f98 --- /dev/null +++ b/nixos/tests/google-oslogin/default.nix @@ -0,0 +1,52 @@ +import ../make-test.nix ({ pkgs, ... } : +let + inherit (import ./../ssh-keys.nix pkgs) + snakeOilPrivateKey snakeOilPublicKey; +in { + name = "google-oslogin"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ adisbladis flokli ]; + }; + + nodes = { + # the server provides both the the mocked google metadata server and the ssh server + server = (import ./server.nix pkgs); + + client = { ... }: {}; + }; + testScript = '' + startAll; + + $server->waitForUnit("mock-google-metadata.service"); + $server->waitForOpenPort(80); + + # mockserver should return a non-expired ssh key for both mockuser and mockadmin + $server->succeed('${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys mockuser | grep -q "${snakeOilPublicKey}"'); + $server->succeed('${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys mockadmin | grep -q "${snakeOilPublicKey}"'); + + # install snakeoil ssh key on the client + $client->succeed("mkdir -p ~/.ssh"); + $client->succeed("cat ${snakeOilPrivateKey} > ~/.ssh/id_snakeoil"); + $client->succeed("chmod 600 ~/.ssh/id_snakeoil"); + + $client->waitForUnit("network.target"); + $server->waitForUnit("sshd.service"); + + # we should not be able to connect as non-existing user + $client->fail("ssh -o User=ghost -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server -i ~/.ssh/id_snakeoil 'true'"); + + # we should be able to connect as mockuser + $client->succeed("ssh -o User=mockuser -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server -i ~/.ssh/id_snakeoil 'true'"); + # but we shouldn't be able to sudo + $client->fail("ssh -o User=mockuser -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server -i ~/.ssh/id_snakeoil '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'"); + + # we should also be able to log in as mockadmin + $client->succeed("ssh -o User=mockadmin -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server -i ~/.ssh/id_snakeoil 'true'"); + # pam_oslogin_admin.so should now have generated a sudoers file + $server->succeed("find /run/google-sudoers.d | grep -q '/run/google-sudoers.d/mockadmin'"); + + # and we should be able to sudo + $client->succeed("ssh -o User=mockadmin -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server -i ~/.ssh/id_snakeoil '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'"); + ''; + }) + diff --git a/nixos/tests/google-oslogin/server.nix b/nixos/tests/google-oslogin/server.nix new file mode 100644 index 00000000000..fdb7141da31 --- /dev/null +++ b/nixos/tests/google-oslogin/server.nix @@ -0,0 +1,29 @@ +{ pkgs, ... }: +let + inherit (import ./../ssh-keys.nix pkgs) + snakeOilPrivateKey snakeOilPublicKey; +in { + networking.firewall.allowedTCPPorts = [ 80 ]; + + systemd.services.mock-google-metadata = { + description = "Mock Google metadata service"; + serviceConfig.Type = "simple"; + serviceConfig.ExecStart = "${pkgs.python3}/bin/python ${./server.py}"; + environment = { + SNAKEOIL_PUBLIC_KEY = snakeOilPublicKey; + }; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + }; + + services.openssh.enable = true; + services.openssh.challengeResponseAuthentication = false; + services.openssh.passwordAuthentication = false; + + security.googleOsLogin.enable = true; + + # Mock google service + networking.extraHosts = '' + 127.0.0.1 metadata.google.internal + ''; +} diff --git a/nixos/tests/google-oslogin/server.py b/nixos/tests/google-oslogin/server.py new file mode 100644 index 00000000000..bfc527cb97d --- /dev/null +++ b/nixos/tests/google-oslogin/server.py @@ -0,0 +1,96 @@ +#!/usr/bin/env python3 +import json +import sys +import time +import os +import hashlib +import base64 + +from http.server import BaseHTTPRequestHandler, HTTPServer +from typing import Dict + +SNAKEOIL_PUBLIC_KEY = os.environ['SNAKEOIL_PUBLIC_KEY'] + + +def w(msg): + sys.stderr.write(f"{msg}\n") + sys.stderr.flush() + + +def gen_fingerprint(pubkey): + decoded_key = base64.b64decode(pubkey.encode("ascii").split()[1]) + return hashlib.sha256(decoded_key).hexdigest() + +def gen_email(username): + """username seems to be a 21 characters long number string, so mimic that in a reproducible way""" + return str(int(hashlib.sha256(username.encode()).hexdigest(), 16))[0:21] + +def gen_mockuser(username: str, uid: str, gid: str, home_directory: str, snakeoil_pubkey: str) -> Dict: + snakeoil_pubkey_fingerprint = gen_fingerprint(snakeoil_pubkey) + # seems to be a 21 characters long numberstring, so mimic that in a reproducible way + email = gen_email(username) + return { + "loginProfiles": [ + { + "name": email, + "posixAccounts": [ + { + "primary": True, + "username": username, + "uid": uid, + "gid": gid, + "homeDirectory": home_directory, + "operatingSystemType": "LINUX" + } + ], + "sshPublicKeys": { + snakeoil_pubkey_fingerprint: { + "key": snakeoil_pubkey, + "expirationTimeUsec": str((time.time() + 600) * 1000000), # 10 minutes in the future + "fingerprint": snakeoil_pubkey_fingerprint + } + } + } + ] + } + + +class ReqHandler(BaseHTTPRequestHandler): + def _send_json_ok(self, data): + self.send_response(200) + self.send_header('Content-type', 'application/json') + self.end_headers() + out = json.dumps(data).encode() + w(out) + self.wfile.write(out) + + def do_GET(self): + p = str(self.path) + # mockuser and mockadmin are allowed to login, both use the same snakeoil public key + if p == '/computeMetadata/v1/oslogin/users?username=mockuser' \ + or p == '/computeMetadata/v1/oslogin/users?uid=1009719690': + self._send_json_ok(gen_mockuser(username='mockuser', uid='1009719690', gid='1009719690', + home_directory='/home/mockuser', snakeoil_pubkey=SNAKEOIL_PUBLIC_KEY)) + elif p == '/computeMetadata/v1/oslogin/users?username=mockadmin' \ + or p == '/computeMetadata/v1/oslogin/users?uid=1009719691': + self._send_json_ok(gen_mockuser(username='mockadmin', uid='1009719691', gid='1009719691', + home_directory='/home/mockadmin', snakeoil_pubkey=SNAKEOIL_PUBLIC_KEY)) + + # mockuser is allowed to login + elif p == f"/computeMetadata/v1/oslogin/authorize?email={gen_email('mockuser')}&policy=login": + self._send_json_ok({'success': True}) + + # mockadmin may also become root + elif p == f"/computeMetadata/v1/oslogin/authorize?email={gen_email('mockadmin')}&policy=login" or p == f"/computeMetadata/v1/oslogin/authorize?email={gen_email('mockadmin')}&policy=adminLogin": + self._send_json_ok({'success': True}) + else: + sys.stderr.write(f"Unhandled path: {p}\n") + sys.stderr.flush() + self.send_response(501) + self.end_headers() + self.wfile.write(b'') + + +if __name__ == '__main__': + s = HTTPServer(('0.0.0.0', 80), ReqHandler) + s.serve_forever() diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix index 7627bb07901..73c1e71eb51 100644 --- a/nixos/tests/home-assistant.nix +++ b/nixos/tests/home-assistant.nix @@ -4,6 +4,7 @@ let configDir = "/var/lib/foobar"; apiPassword = "some_secret"; mqttPassword = "another_secret"; + hassCli = "hass-cli --server http://hass:8123 --password '${apiPassword}'"; in { name = "home-assistant"; @@ -16,7 +17,7 @@ in { { pkgs, ... }: { environment.systemPackages = with pkgs; [ - mosquitto + mosquitto home-assistant-cli ]; services.home-assistant = { inherit configDir; @@ -71,6 +72,11 @@ in { $hass->waitUntilSucceeds("mosquitto_pub -V mqttv311 -t home-assistant/test -u homeassistant -P '${mqttPassword}' -m let_there_be_light"); $hass->succeed("curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}' | grep -qF '\"state\": \"on\"'"); + # Toggle a binary sensor using hass-cli + $hass->succeed("${hassCli} entity get binary_sensor.mqtt_binary_sensor | grep -qF '\"state\": \"on\"'"); + $hass->succeed("${hassCli} entity edit binary_sensor.mqtt_binary_sensor --json='{\"state\": \"off\"}'"); + $hass->succeed("curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}' | grep -qF '\"state\": \"off\"'"); + # Print log to ease debugging my $log = $hass->succeed("cat ${configDir}/home-assistant.log"); print "\n### home-assistant.log ###\n"; diff --git a/pkgs/applications/audio/ams-lv2/default.nix b/pkgs/applications/audio/ams-lv2/default.nix index 3475f62dcbb..7383623a5ff 100644 --- a/pkgs/applications/audio/ams-lv2/default.nix +++ b/pkgs/applications/audio/ams-lv2/default.nix @@ -21,5 +21,7 @@ stdenv.mkDerivation rec { license = licenses.gpl3; maintainers = [ maintainers.goibhniu ]; platforms = platforms.linux; + # Build uses `-msse` and `-mfpmath=sse` + badPlatforms = [ "aarch64-linux" ]; }; } diff --git a/pkgs/applications/audio/artyFX/default.nix b/pkgs/applications/audio/artyFX/default.nix index 9a9095d2fc1..91a0a1f140c 100644 --- a/pkgs/applications/audio/artyFX/default.nix +++ b/pkgs/applications/audio/artyFX/default.nix @@ -20,5 +20,7 @@ stdenv.mkDerivation rec { license = licenses.gpl2; maintainers = [ maintainers.magnetophon ]; platforms = platforms.linux; + # Build uses `-msse` and `-mfpmath=sse` + badPlatforms = [ "aarch64-linux" ]; }; } diff --git a/pkgs/applications/audio/lmms/default.nix b/pkgs/applications/audio/lmms/default.nix index 0ff864c0048..59e94e0bdad 100644 --- a/pkgs/applications/audio/lmms/default.nix +++ b/pkgs/applications/audio/lmms/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, alsaLib ? null, fftwFloat, fltk13 -, fluidsynth ? null, lame ? null, libgig ? null, libjack2 ? null, libpulseaudio ? null +, fluidsynth_1 ? null, lame ? null, libgig ? null, libjack2 ? null, libpulseaudio ? null , libsamplerate, libsoundio ? null, libsndfile, libvorbis ? null, portaudio ? null , qtbase, qtx11extras, qttools, SDL ? null }: stdenv.mkDerivation rec { name = "lmms-${version}"; - version = "1.2.0-rc6"; + version = "1.2.0-rc7"; src = fetchFromGitHub { owner = "LMMS"; repo = "lmms"; rev = "v${version}"; - sha256 = "1pqir5srfrknfd8nmbz565ymq18ffw8d8k9pbmzggaxvlcr12b25"; + sha256 = "1hshzf2sbdfw37y9rz1ksgvn81kp2n23dp74lsaasc2n7wzjwdis"; fetchSubmodules = true; }; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { alsaLib fftwFloat fltk13 - fluidsynth + fluidsynth_1 lame libgig libjack2 diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix index a268c155a0f..5fbf9108ed7 100644 --- a/pkgs/applications/audio/lollypop/default.nix +++ b/pkgs/applications/audio/lollypop/default.nix @@ -5,7 +5,7 @@ python3.pkgs.buildPythonApplication rec { pname = "lollypop"; - version = "0.9.611"; + version = "0.9.906"; format = "other"; doCheck = false; @@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec { url = "https://gitlab.gnome.org/World/lollypop"; rev = "refs/tags/${version}"; fetchSubmodules = true; - sha256 = "1k78a26sld0xd14c9hr4qv8c7qaq1m8zqk1mzrh4pl7ysqqg9p20"; + sha256 = "1blfq3vdzs3ji3sr1z6dn5c2f8w93zv2k7aa5xpfpfnds4zfd3q6"; }; nativeBuildInputs = with python3.pkgs; [ diff --git a/pkgs/applications/audio/qjackctl/default.nix b/pkgs/applications/audio/qjackctl/default.nix index 83608014f14..eafde7957a2 100644 --- a/pkgs/applications/audio/qjackctl/default.nix +++ b/pkgs/applications/audio/qjackctl/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, alsaLib, libjack2, dbus, qtbase, qttools, qtx11extras }: stdenv.mkDerivation rec { - version = "0.5.3"; + version = "0.5.5"; name = "qjackctl-${version}"; # some dependencies such as killall have to be installed additionally src = fetchurl { url = "mirror://sourceforge/qjackctl/${name}.tar.gz"; - sha256 = "0x08af8m5l8qy9av3dlldsg58ny9nc69h1s4i6hqkvj24jwy6fw1"; + sha256 = "1rzzqa39a6llr52vjkjr0a86nc776kmr5xs52qqga8ms9697psz5"; }; buildInputs = [ diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix index 31b8bce90f4..c10358eed1e 100644 --- a/pkgs/applications/audio/qmmp/default.nix +++ b/pkgs/applications/audio/qmmp/default.nix @@ -29,11 +29,11 @@ # handle that. stdenv.mkDerivation rec { - name = "qmmp-1.2.4"; + name = "qmmp-1.2.5"; src = fetchurl { url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2"; - sha256 = "0rmfd6h0186b6n4g079d8kshdmp3k5n8w06a1l41m4p3fgq08j92"; + sha256 = "1xs8kg65088yzdhdkymmknkp1s4adzv095f5jhjvy62s8ymyjvnx"; }; buildInputs = diff --git a/pkgs/applications/audio/rosegarden/default.nix b/pkgs/applications/audio/rosegarden/default.nix index 0b2bd9507e5..55e3b55472b 100644 --- a/pkgs/applications/audio/rosegarden/default.nix +++ b/pkgs/applications/audio/rosegarden/default.nix @@ -3,12 +3,12 @@ , liblo, liblrdf, libsamplerate, libsndfile, lirc ? null, qtbase }: stdenv.mkDerivation (rec { - version = "18.06"; + version = "18.12"; name = "rosegarden-${version}"; src = fetchurl { url = "mirror://sourceforge/rosegarden/${name}.tar.bz2"; - sha256 = "04qc80sqb2ji42pq3mayhvqqn39hlxzymsywpbpzfpchr19chxx7"; + sha256 = "15i9fm0vkn3wsgahaxqi1j5zs0wc0j3wdwml0x49084gk2p328vb"; }; patchPhase = '' diff --git a/pkgs/applications/audio/whipper/default.nix b/pkgs/applications/audio/whipper/default.nix index 8b93175ce35..07ab9b55e5b 100644 --- a/pkgs/applications/audio/whipper/default.nix +++ b/pkgs/applications/audio/whipper/default.nix @@ -3,13 +3,13 @@ python2.pkgs.buildPythonApplication rec { name = "whipper-${version}"; - version = "0.7.2"; + version = "0.7.3"; src = fetchFromGitHub { owner = "whipper-team"; repo = "whipper"; rev = "v${version}"; - sha256 = "17cn11c6c62pfhhp6vcslxpanb0czh2xbxq1g6wd7bpmgw38yd8v"; + sha256 = "0ypbgc458i7yvbyvg6wg6agz5yzlwm1v6zw7fmyq9h59xsv27mpr"; }; pythonPath = with python2.pkgs; [ diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index fbed3b432c0..96e39cdc629 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -13,14 +13,14 @@ let sha256Hash = "117skqjax1xz9plarhdnrw2rwprjpybdc7mx7wggxapyy920vv5r"; }; betaVersion = { - version = "3.3.0.18"; # "Android Studio 3.3 RC 2" - build = "182.5160847"; - sha256Hash = "05rjwvcph0wx0p0hai5z6n9lnyhk3i5yvbvhr51jc8s3k3b6jyi5"; + version = "3.3.0.19"; # "Android Studio 3.3 RC 3" + build = "182.5183351"; + sha256Hash = "1rql4kxjic4qjcd8zssw2mmi55cxpzd0wp5g0kzwk5wybsfdcqhy"; }; latestVersion = { # canary & dev - version = "3.4.0.7"; # "Android Studio 3.4 Canary 8" - build = "183.5173923"; - sha256Hash = "0bf96c9db15rw1k1znz6yxhbrn9q990zy3pkq0nsirnqfpgllvpi"; + version = "3.4.0.8"; # "Android Studio 3.4 Canary 9" + build = "183.5186062"; + sha256Hash = "04i7ys0qzj3039h41q4na6737gl55wpp6hiwfas2h6zwvj25a9z9"; }; in rec { # Old alias diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix index 4d4da86d440..5674f64b30a 100644 --- a/pkgs/applications/editors/emacs-modes/elpa-generated.nix +++ b/pkgs/applications/editors/emacs-modes/elpa-generated.nix @@ -39,10 +39,10 @@ elpaBuild { pname = "ada-mode"; ename = "ada-mode"; - version = "5.3.2"; + version = "6.0.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ada-mode-5.3.2.tar"; - sha256 = "1ayp4y8q201fny2far9p2ziji968f2svr7apvfrlwnnpkk3w9lif"; + url = "https://elpa.gnu.org/packages/ada-mode-6.0.1.tar"; + sha256 = "12ryblyqnhqibaffibs7qq3xq9rf5d4y9dishq82pbbh9y8s17hj"; }; packageRequires = [ cl-lib emacs wisi ]; meta = { @@ -478,10 +478,10 @@ elpaBuild { pname = "company"; ename = "company"; - version = "0.9.7"; + version = "0.9.9"; src = fetchurl { - url = "https://elpa.gnu.org/packages/company-0.9.7.tar"; - sha256 = "17p61yzbgymr46y6vbz7pfvydp5hfkqckbwficwkpz0nq8gcklhs"; + url = "https://elpa.gnu.org/packages/company-0.9.9.tar"; + sha256 = "1qinkz8gwgc27p3p3c9kddrrwx0jb4w0vgx7jq8fwpfj1n92m1rv"; }; packageRequires = [ emacs ]; meta = { @@ -711,16 +711,16 @@ license = lib.licenses.free; }; }) {}; - diff-hl = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: + diff-hl = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "diff-hl"; ename = "diff-hl"; - version = "1.8.4"; + version = "1.8.5"; src = fetchurl { - url = "https://elpa.gnu.org/packages/diff-hl-1.8.4.tar"; - sha256 = "0axhidc3cym7a2x4rpxf4745qss9s9ajyg4s9h5b4zn7v7fyp71n"; + url = "https://elpa.gnu.org/packages/diff-hl-1.8.5.tar"; + sha256 = "1vxc7z7c2qs0mx7l5sa4sybi5qbzv0s79flj74p1ynw8dl3qxg3d"; }; - packageRequires = [ cl-lib ]; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://elpa.gnu.org/packages/diff-hl.html"; license = lib.licenses.free; @@ -835,10 +835,10 @@ elpaBuild { pname = "ebdb"; ename = "ebdb"; - version = "0.6"; + version = "0.6.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ebdb-0.6.tar"; - sha256 = "1zj8jvq5l4wlk4734i3isxi4barpivarq2f9kqzkfia7mcspxav8"; + url = "https://elpa.gnu.org/packages/ebdb-0.6.2.tar"; + sha256 = "1b37962mvm80vk5sdk9kfvvxsxn83z5z6zvm20m9997ggl5dv4dz"; }; packageRequires = [ cl-lib emacs seq ]; meta = { @@ -891,16 +891,21 @@ license = lib.licenses.free; }; }) {}; - eglot = callPackage ({ elpaBuild, emacs, fetchurl, jsonrpc, lib }: + eglot = callPackage ({ elpaBuild + , emacs + , fetchurl + , flymake ? null + , jsonrpc + , lib }: elpaBuild { pname = "eglot"; ename = "eglot"; - version = "1.1"; + version = "1.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/eglot-1.1.tar"; - sha256 = "01h4wh87lrd9l50y20gjjkgg760v8ixvbcb3q8jykl29989zw62y"; + url = "https://elpa.gnu.org/packages/eglot-1.3.tar"; + sha256 = "0hndqabxvrq4ak5kx2xlds5pkayi2bfd1f1xk8aidzk5i70f7yry"; }; - packageRequires = [ emacs jsonrpc ]; + packageRequires = [ emacs flymake jsonrpc ]; meta = { homepage = "https://elpa.gnu.org/packages/eglot.html"; license = lib.licenses.free; @@ -915,10 +920,10 @@ elpaBuild { pname = "el-search"; ename = "el-search"; - version = "1.7.15"; + version = "1.8.7"; src = fetchurl { - url = "https://elpa.gnu.org/packages/el-search-1.7.15.tar"; - sha256 = "000z8vllz53vmfblsrxjm2nc4h9lcyxw8xxqfxxyl99zhfiikjai"; + url = "https://elpa.gnu.org/packages/el-search-1.8.7.tar"; + sha256 = "0jlalcz8hppra2chmppd6b2g5dz8w6yscqylkx28pd7wy6aadx1r"; }; packageRequires = [ cl-print emacs stream ]; meta = { @@ -1032,10 +1037,10 @@ elpaBuild { pname = "exwm"; ename = "exwm"; - version = "0.20"; + version = "0.21"; src = fetchurl { - url = "https://elpa.gnu.org/packages/exwm-0.20.tar"; - sha256 = "0nhhzbkm0mkj7sd1dy2c19cmn56gyaj9nl8kgy86h4fp63hjaz04"; + url = "https://elpa.gnu.org/packages/exwm-0.21.tar"; + sha256 = "07ng1pgsnc3isfsyzh2gfc7391p9il8lb5xqf1z6yqn20w7k6xzj"; }; packageRequires = [ xelb ]; meta = { @@ -1088,6 +1093,21 @@ license = lib.licenses.free; }; }) {}; + flymake = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "flymake"; + ename = "flymake"; + version = "1.0.3"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/flymake-1.0.3.el"; + sha256 = "1algny2zhcl4vc7kp5czcqvxzpgqfjnz2rnkv26r0ylxig3s98v7"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/flymake.html"; + license = lib.licenses.free; + }; + }) {}; fountain-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "fountain-mode"; @@ -1197,10 +1217,10 @@ elpaBuild { pname = "gnorb"; ename = "gnorb"; - version = "1.6.0"; + version = "1.6.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/gnorb-1.6.0.tar"; - sha256 = "0nssrnrf083mw7kllp0hkxdkklvildzmslcs1r3zf2hnl1ggfs8y"; + url = "https://elpa.gnu.org/packages/gnorb-1.6.1.tar"; + sha256 = "0n4460hsmcc3l0y3nb3fysvh33cjwgv0a3mkc26xcx8v85zl7m63"; }; packageRequires = [ cl-lib ]; meta = { @@ -1232,10 +1252,10 @@ elpaBuild { pname = "gnus-mock"; ename = "gnus-mock"; - version = "0.3.0"; + version = "0.4.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/gnus-mock-0.3.0.tar"; - sha256 = "02z3f8njwv480fff57dbrf7nhmwbgm4apzicnzwmip5j4a6w5q0n"; + url = "https://elpa.gnu.org/packages/gnus-mock-0.4.0.tar"; + sha256 = "058bd4f8za9bxayrd2j5b05qvk8lxxm8mmfwxb73d7k15z3z3l3s"; }; packageRequires = []; meta = { @@ -1243,6 +1263,21 @@ license = lib.licenses.free; }; }) {}; + gpastel = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "gpastel"; + ename = "gpastel"; + version = "0.3.0"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/gpastel-0.3.0.el"; + sha256 = "0426y55f7mbfbyjhl2bn0c2cn57jd4d8xvzri2pbqakff8ij470a"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/gpastel.html"; + license = lib.licenses.free; + }; + }) {}; heap = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "heap"; @@ -1459,10 +1494,10 @@ elpaBuild { pname = "jsonrpc"; ename = "jsonrpc"; - version = "1.0.6"; + version = "1.0.7"; src = fetchurl { - url = "https://elpa.gnu.org/packages/jsonrpc-1.0.6.el"; - sha256 = "13a19smz8cksv6fgcyxb111csvagkp07z5nl4imyp5b23asgl70p"; + url = "https://elpa.gnu.org/packages/jsonrpc-1.0.7.el"; + sha256 = "19z35gjphl4mlgpznfhlccgipnmbb3c1dvax48f4hw8qwksfcac1"; }; packageRequires = [ emacs ]; meta = { @@ -1858,10 +1893,10 @@ elpaBuild { pname = "nhexl-mode"; ename = "nhexl-mode"; - version = "1.0"; + version = "1.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/nhexl-mode-1.0.el"; - sha256 = "1bf0jfim41m08ac4p4zxjj6qqw7f86gwiwyvfjg68n2nzbzgz1i9"; + url = "https://elpa.gnu.org/packages/nhexl-mode-1.2.el"; + sha256 = "031h22p564qdvr9khs05qcba06pmsk68cr7zyc7c04hfr3y3ziaf"; }; packageRequires = [ cl-lib emacs ]; meta = { @@ -1989,6 +2024,21 @@ license = lib.licenses.free; }; }) {}; + org-edna = callPackage ({ elpaBuild, emacs, fetchurl, lib, org, seq }: + elpaBuild { + pname = "org-edna"; + ename = "org-edna"; + version = "1.0.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/org-edna-1.0.1.tar"; + sha256 = "0xzyzx3pq1q6d66qcqx38pgxzn160y9yrzpy0ka8ap5xsm7ngn7m"; + }; + packageRequires = [ emacs org seq ]; + meta = { + homepage = "https://elpa.gnu.org/packages/org-edna.html"; + license = lib.licenses.free; + }; + }) {}; orgalist = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "orgalist"; @@ -2113,10 +2163,10 @@ elpaBuild { pname = "posframe"; ename = "posframe"; - version = "0.3.0"; + version = "0.4.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/posframe-0.3.0.el"; - sha256 = "0q74lwklr29c50qgaqly48nj7f49kgxiv70lsvhdy8cg2v082v8k"; + url = "https://elpa.gnu.org/packages/posframe-0.4.2.el"; + sha256 = "1h8vvxvsg41vc1nnglqjs2q0k1yzfsn72skga9s76qa3zxmx6kds"; }; packageRequires = [ emacs ]; meta = { @@ -2522,10 +2572,10 @@ elpaBuild { pname = "ssh-deploy"; ename = "ssh-deploy"; - version = "2.0"; + version = "3.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ssh-deploy-2.0.tar"; - sha256 = "0mrgnandnqk25bx3x2a7hdw7pmjiq24w2lad7l2xqaqpwb8r6wgj"; + url = "https://elpa.gnu.org/packages/ssh-deploy-3.0.tar"; + sha256 = "0lv9qwm1dhcd2l2mnhjfpqsz6xx0wabjg5j5sm3425fjsaqws6m7"; }; packageRequires = [ emacs ]; meta = { @@ -2552,10 +2602,10 @@ elpaBuild { pname = "svg"; ename = "svg"; - version = "0.1"; + version = "0.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/svg-0.1.el"; - sha256 = "0v27casnjvjjaalmrbw494sk0zciws037cn6cmcc6rnhj30lzbv5"; + url = "https://elpa.gnu.org/packages/svg-0.2.el"; + sha256 = "14yfi27v3zdzh1chcjiq4l63iwh0vd99wv1z4w7agr33540jybc5"; }; packageRequires = [ emacs ]; meta = { @@ -2578,6 +2628,21 @@ license = lib.licenses.free; }; }) {}; + system-packages = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "system-packages"; + ename = "system-packages"; + version = "1.0.10"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/system-packages-1.0.10.tar"; + sha256 = "1vwf2j0fxrsqmrgc7x5nkkg0vlhwgxppc4w7kb5is6dgrssskpb5"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/system-packages.html"; + license = lib.licenses.free; + }; + }) {}; tNFA = callPackage ({ elpaBuild, fetchurl, lib, queue }: elpaBuild { pname = "tNFA"; @@ -2767,6 +2832,21 @@ license = lib.licenses.free; }; }) {}; + vcl-mode = callPackage ({ elpaBuild, fetchurl, lib }: + elpaBuild { + pname = "vcl-mode"; + ename = "vcl-mode"; + version = "1.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/vcl-mode-1.1.el"; + sha256 = "1r70pmvr95k5f2xphvhliqvyh7al0qabm7wvkamximcssvs38q1h"; + }; + packageRequires = []; + meta = { + homepage = "https://elpa.gnu.org/packages/vcl-mode.html"; + license = lib.licenses.free; + }; + }) {}; vdiff = callPackage ({ elpaBuild, emacs, fetchurl, hydra, lib }: elpaBuild { pname = "vdiff"; @@ -2932,16 +3012,16 @@ license = lib.licenses.free; }; }) {}; - wisi = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: + wisi = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, seq }: elpaBuild { pname = "wisi"; ename = "wisi"; - version = "1.1.6"; + version = "2.0.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/wisi-1.1.6.tar"; - sha256 = "0p7hm9l4gbp50rmpqna6jnc1pss2axdd6m6hk9ik4afbz0knzwnk"; + url = "https://elpa.gnu.org/packages/wisi-2.0.1.tar"; + sha256 = "1h0g6y33jrafcabgyi7j700hpv4p56v84c2mlqb334k1g9rq3709"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ cl-lib emacs seq ]; meta = { homepage = "https://elpa.gnu.org/packages/wisi.html"; license = lib.licenses.free; @@ -2966,10 +3046,10 @@ elpaBuild { pname = "xclip"; ename = "xclip"; - version = "1.5"; + version = "1.7"; src = fetchurl { - url = "https://elpa.gnu.org/packages/xclip-1.5.el"; - sha256 = "1fyqyi0672igjn53xlaj8hzbymkw08pk6wj58ndbrnm410g0h0i9"; + url = "https://elpa.gnu.org/packages/xclip-1.7.el"; + sha256 = "0jpy3zzbyb16vqa9l6m45crzlypwvscvs76h8lci7kvp91kq954r"; }; packageRequires = []; meta = { @@ -3044,10 +3124,10 @@ elpaBuild { pname = "zones"; ename = "zones"; - version = "2018.11.13"; + version = "2018.11.21"; src = fetchurl { - url = "https://elpa.gnu.org/packages/zones-2018.11.13.el"; - sha256 = "0716m9s5qjp5w3gdlx0p53qrfylw6mhdmic88qmsndmhkijsrax4"; + url = "https://elpa.gnu.org/packages/zones-2018.11.21.el"; + sha256 = "0s68mnynjd08gyga7xdnb0zy3irsxl1jryidpcrkzg821vfrk11i"; }; packageRequires = []; meta = { diff --git a/pkgs/applications/editors/emacs-modes/org-generated.nix b/pkgs/applications/editors/emacs-modes/org-generated.nix index 479fb91acfe..d97b0729528 100644 --- a/pkgs/applications/editors/emacs-modes/org-generated.nix +++ b/pkgs/applications/editors/emacs-modes/org-generated.nix @@ -4,10 +4,10 @@ elpaBuild { pname = "org"; ename = "org"; - version = "20181119"; + version = "20181217"; src = fetchurl { - url = "http://orgmode.org/elpa/org-20181119.tar"; - sha256 = "0li6mx0kv70js3mlw7wxk1yi8kgc3nxnb87kdb7jy68xh4lsila7"; + url = "http://orgmode.org/elpa/org-20181217.tar"; + sha256 = "0j301z0429dnk1d3bn7524y848vp9il41sxpm9z9hs7gpzfdcw28"; }; packageRequires = []; meta = { @@ -19,10 +19,10 @@ elpaBuild { pname = "org-plus-contrib"; ename = "org-plus-contrib"; - version = "20181119"; + version = "20181217"; src = fetchurl { - url = "http://orgmode.org/elpa/org-plus-contrib-20181119.tar"; - sha256 = "0dz0vn2xyidifrwrd604yknyq843i31jcc8qgsi6wib29rh7zzpa"; + url = "http://orgmode.org/elpa/org-plus-contrib-20181217.tar"; + sha256 = "1p7v9246zxkp68kc63550x3w7pmhx1drgj20wmddhvs0bqd3k3ap"; }; packageRequires = []; meta = { diff --git a/pkgs/applications/editors/ghostwriter/default.nix b/pkgs/applications/editors/ghostwriter/default.nix index 1ed09a1caa5..65645dcc969 100644 --- a/pkgs/applications/editors/ghostwriter/default.nix +++ b/pkgs/applications/editors/ghostwriter/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, qmake, pkgconfig, qtwebkit, hunspell }: +{ stdenv, fetchFromGitHub, qmake, pkgconfig, qttools, qtwebkit, hunspell }: stdenv.mkDerivation rec { pname = "ghostwriter"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "1pqlr08z5syqcq5p282asxwzrrm7c1w94baxyb467swh8yp3fj5m"; }; - nativeBuildInputs = [ qmake pkgconfig ]; + nativeBuildInputs = [ qmake pkgconfig qttools ]; buildInputs = [ qtwebkit hunspell ]; diff --git a/pkgs/applications/editors/gnome-builder/default.nix b/pkgs/applications/editors/gnome-builder/default.nix index a66b3ba6322..5a4be5eb448 100644 --- a/pkgs/applications/editors/gnome-builder/default.nix +++ b/pkgs/applications/editors/gnome-builder/default.nix @@ -30,14 +30,14 @@ , wrapGAppsHook }: let - version = "3.30.0"; + version = "3.30.2"; pname = "gnome-builder"; in stdenv.mkDerivation { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1pshzpjy9rk6gijlm97s316aihykzxrmb07vilp17q5857passak"; + sha256 = "05yax7iv9g831xvw9xdc01qc0l7qpmh6rfd692x8cbg76hljxdrr"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/editors/manuskript/default.nix b/pkgs/applications/editors/manuskript/default.nix index 815af2103d5..4f4be05f79e 100644 --- a/pkgs/applications/editors/manuskript/default.nix +++ b/pkgs/applications/editors/manuskript/default.nix @@ -2,13 +2,13 @@ python3Packages.buildPythonApplication rec { pname = "manuskript"; - version = "0.3.0"; + version = "0.8.0"; src = fetchFromGitHub { repo = pname; owner = "olivierkes"; rev = version; - sha256 = "0bqxc4a8kyi6xz1zs0dp85wxl9h4v8lzc6073bbcsn1zg4y59ys7"; + sha256 = "0vqz02p3m9n4hk2jplnklr9s6niqdm5iykab6nblqdm4plb04c34"; }; propagatedBuildInputs = [ diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix index 52cdc0bc067..74e8c0e6b43 100644 --- a/pkgs/applications/graphics/rawtherapee/default.nix +++ b/pkgs/applications/graphics/rawtherapee/default.nix @@ -4,14 +4,14 @@ }: stdenv.mkDerivation rec { - version = "5.4"; + version = "5.5"; name = "rawtherapee-" + version; src = fetchFromGitHub { owner = "Beep6581"; repo = "RawTherapee"; rev = version; - sha256 = "1h2x5biqsb4kfwsffqkyk8ky22qv2a0cjs1s445x9farcr3kwk99"; + sha256 = "13clnx7rwkfa7wxgsim1xdx2pd7gwmmdad1m8a3fvywr20ml8xzk"; }; nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook ]; diff --git a/pkgs/applications/graphics/tesseract/4.x.nix b/pkgs/applications/graphics/tesseract/4.x.nix deleted file mode 100644 index 2ebca09b831..00000000000 --- a/pkgs/applications/graphics/tesseract/4.x.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, autoconf-archive, pkgconfig -, leptonica, libpng, libtiff, icu, pango, opencl-headers - -# Supported list of languages or `null' for all available languages -, enableLanguages ? null -}: - -stdenv.mkDerivation rec { - name = "tesseract-${version}"; - version = "4.0.0"; - - src = fetchFromGitHub { - owner = "tesseract-ocr"; - repo = "tesseract"; - rev = version; - sha256 = "1b5fi2vibc4kk9b30kkk4ais4bw8fbbv24bzr5709194hb81cav8"; - }; - - tessdata = fetchFromGitHub { - owner = "tesseract-ocr"; - repo = "tessdata"; - rev = version; - sha256 = "1chw1ya5zf8aaj2ixr9x013x7vwwwjjmx6f2ag0d6i14lypygy28"; - }; - - nativeBuildInputs = [ pkgconfig autoreconfHook autoconf-archive ]; - buildInputs = [ leptonica libpng libtiff icu pango opencl-headers ]; - - # Copy the .traineddata files of the languages specified in enableLanguages - # into `$out/share/tessdata' and check afterwards if copying was successful. - postInstall = let - mkArg = lang: "-iname ${stdenv.lib.escapeShellArg "${lang}.traineddata"}"; - mkFindArgs = stdenv.lib.concatMapStringsSep " -o " mkArg; - findLangArgs = if enableLanguages != null - then "\\( ${mkFindArgs enableLanguages} \\)" - else "-iname '*.traineddata'"; - in '' - numLangs="$(find "$tessdata" -mindepth 1 -maxdepth 1 -type f \ - ${findLangArgs} -exec cp -t "$out/share/tessdata" {} + -print | wc -l)" - - ${if enableLanguages != null then '' - expected=${toString (builtins.length enableLanguages)} - '' else '' - expected="$(ls -1 "$tessdata/"*.traineddata | wc -l)" - ''} - - if [ "$numLangs" -ne "$expected" ]; then - echo "Expected $expected languages, but $numLangs" \ - "were copied to \`$out/share/tessdata'" >&2 - exit 1 - fi - ''; - - meta = { - description = "OCR engine"; - homepage = https://github.com/tesseract-ocr/tesseract; - license = stdenv.lib.licenses.asl20; - maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; - }; -} diff --git a/pkgs/applications/graphics/tesseract/default.nix b/pkgs/applications/graphics/tesseract/default.nix index 7940079d099..840c87de216 100644 --- a/pkgs/applications/graphics/tesseract/default.nix +++ b/pkgs/applications/graphics/tesseract/default.nix @@ -1,67 +1,18 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig -, leptonica, libpng, libtiff, icu, pango, opencl-headers -# Supported list of languages or `null' for all available languages -, enableLanguages ? null -# if you want just a specific list of languages, optionally specify a hash -# to make tessdata a fixed output derivation. -, enableLanguagesHash ? (if enableLanguages == null # all languages - then "1h48xfzabhn0ldbx5ib67cp9607pr0zpblsy8z6fs4knn0zznfnw" - else null) -}: +{ callPackage, lowPrio }: -let tessdata = stdenv.mkDerivation ({ - name = "tessdata"; - src = fetchFromGitHub { - owner = "tesseract-ocr"; - repo = "tessdata"; - rev = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d"; - # when updating don't forget to update the default value fo enableLanguagesHash - sha256 = "1v4b63v5nzcxr2y3635r19l7lj5smjmc9vfk0wmxlryxncb4vpg7"; - }; - buildCommand = '' - cd $src; - for lang in ${if enableLanguages==null then "*.traineddata" else stdenv.lib.concatMapStringsSep " " (x: x+".traineddata") enableLanguages} ; do - install -Dt $out/share/tessdata $src/$lang ; - done; - ''; - preferLocalBuild = true; - } // (stdenv.lib.optionalAttrs (enableLanguagesHash != null) { - # when a hash is given, we make this a fixed output derivation. - outputHashMode = "recursive"; - outputHashAlgo = "sha256"; - outputHash = enableLanguagesHash; - })); +let + base3 = callPackage ./tesseract3.nix {}; + base4 = callPackage ./tesseract4.nix {}; + languages = callPackage ./languages.nix {}; in - -stdenv.mkDerivation rec { - name = "tesseract-${version}"; - version = "3.05.00"; - - src = fetchFromGitHub { - owner = "tesseract-ocr"; - repo = "tesseract"; - rev = version; - sha256 = "11wrpcfl118wxsv2c3w2scznwb48c4547qml42s2bpdz079g8y30"; +{ + tesseract3 = callPackage ./wrapper.nix { + tesseractBase = base3; + languages = languages.v3; }; - enableParallelBuilding = true; - - nativeBuildInputs = [ pkgconfig autoreconfHook ]; - buildInputs = [ leptonica libpng libtiff icu pango opencl-headers ]; - - LIBLEPT_HEADERSDIR = "${leptonica}/include"; - - postInstall = '' - for i in ${tessdata}/share/tessdata/*; do - ln -s $i $out/share/tessdata; - done - ''; - - meta = { - description = "OCR engine"; - homepage = https://github.com/tesseract-ocr/tesseract; - license = stdenv.lib.licenses.asl20; - maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux ++ darwin; - }; + tesseract4 = lowPrio (callPackage ./wrapper.nix { + tesseractBase = base4; + languages = languages.v4; + }); } diff --git a/pkgs/applications/graphics/tesseract/fetch-language-hashes b/pkgs/applications/graphics/tesseract/fetch-language-hashes new file mode 100755 index 00000000000..c431f1d97c2 --- /dev/null +++ b/pkgs/applications/graphics/tesseract/fetch-language-hashes @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +# Usage: +# ./fetch-language-hashes […] +# +# Fetches all languages if no language codes are given. +# +# Example: +# ./fetch-language-hashes 4.0.0 eng spa +# +# Output: +# eng = "0iy0..."; +# spa = "15kw..."; + +set -e + +(( $# >= 1 )) || exit 1 +tessdataRev=$1 +shift + +if (( $# > 0 )); then + langCodes="$@" +else + repoPage=$(curl -fs https://github.com/tesseract-ocr/tessdata/tree/$tessdataRev || { + >&2 echo "Invalid tessdataRev: $tessdataRev" + exit 1 + }) + langCodes=$(echo $(echo "$repoPage" | grep -ohP "(?<=/)[^/]+?(?=\.traineddata)" | sort)) +fi + +for lang in $langCodes; do + url=https://github.com/tesseract-ocr/tessdata/raw/$tessdataRev/$lang.traineddata + hash=$(nix-prefetch-url $url 2>/dev/null) + echo "$lang = \"$hash\";" +done diff --git a/pkgs/applications/graphics/tesseract/languages.nix b/pkgs/applications/graphics/tesseract/languages.nix new file mode 100644 index 00000000000..08512a5cdd9 --- /dev/null +++ b/pkgs/applications/graphics/tesseract/languages.nix @@ -0,0 +1,289 @@ +{ stdenv, lib, fetchurl, fetchFromGitHub }: + +rec { + makeLanguages = { tessdataRev, tessdata ? null, all ? null, languages ? {} }: + let + tessdataSrc = fetchFromGitHub { + owner = "tesseract-ocr"; + repo = "tessdata"; + rev = tessdataRev; + sha256 = tessdata; + }; + + languageFile = lang: sha256: fetchurl { + url = "https://github.com/tesseract-ocr/tessdata/raw/${tessdataRev}/${lang}.traineddata"; + inherit sha256; + }; + in + { + # Use a simple fixed-output derivation for all languages to increase nix eval performance + all = stdenv.mkDerivation { + name = "all"; + buildCommand = '' + mkdir $out + cd ${tessdataSrc} + cp *.traineddata $out + ''; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = all; + }; + } // (lib.mapAttrs languageFile languages); + + v3 = makeLanguages { + tessdataRev = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d"; + tessdata = "1v4b63v5nzcxr2y3635r19l7lj5smjmc9vfk0wmxlryxncb4vpg7"; + all = "0yj6h9n6h0kzzcqsn3z87vsi8pa60szp0yiayb0znd0v9my0dqhn"; + + # Run `./fetch-language-hashes ` to generate these hashes + languages = { + afr = "15dsnzy4i9ai26ilm73gkfj4ck039raa88i6w443c4b1fnay2akf"; + amh = "1wbcsdq3svxga3j1alk61xs72a9fhsfsyjxhp3cwxfaqfhrzg7h4"; + ara = "0nk495gki6jbbnwcl2ybsx4nd02d6qykcjncq0d2g8pbgapqmj91"; + asm = "0c3wq15yphq7x74s2sn3f90k6z1cf5j7ic62z0dynidrv99bddfh"; + aze = "0pz073hxqkx1a1cshlgg5k11lj73s52sdxa7k3020drc314lhaxw"; + aze_cyrl = "0djbfgx28ykcjsn2p0766qrmj256g7vhc7valc3ivsva8b906lxq"; + bel = "04zqy8vik0fcakq6apfp8wjhkkhlg0yn9kmag1lk7s8fy9ax3ws2"; + ben = "0q7812kn5xjm47hcgdcg911lhbgqr7hbvqckfxxm8qw0yjx2cy0m"; + bod = "0rwq7539zzfs8xs0bf1535z1cwkm0yk1ni25f5gjav7nm6qpiaan"; + bos = "1qr04dj7lx347gxpin5nfprbggmxq2mwx8kf3pcc3vb5x3pa57g4"; + bul = "0cyyqgi3i4y9bfzwls0lwljzgd0r8ayfqb4bbvdh4qmbni9x42ya"; + cat = "0kgw8f5pdw9lfbn6cfp5n1s0j8pj3418yx6rsbagzcf1gr36gbr9"; + ceb = "1g1n4np4vhar7wfwx2km5k6kldb600rrl7npfbf75229rar068f1"; + ces = "0zxkkyhpd74i6321nv86pkjb0k7p9cp6m174rbn42nl7jz6qxib0"; + chi_sim = "0k250xr0gk9yh22yqxd0zpxdsrqfzs164kdv5n9rxx1g996yffij"; + chi_tra = "03nxqpd546p0gwfj6pqzbdbv5zjpdddzlpa10xn4nvmks1mmckbp"; + chr = "1k1sg3hap0kd5aa36ysvmhp7r3fynxf0f7lzz814h6p3g250zclb"; + cym = "0d6wbf9cmrrzf66mhcckwdfy3xh2i38r0by9nk6isw9rl7bf7j07"; + dan = "1s1yj56rpzmif3ir3qs4iab744cgpflk7y8812z2665bh61illpr"; + dan_frak = "1bxi53ymib5g0139vfd2pflh7nl5925vqznq3sfgaqx7gdx630vi"; + deu = "0fna7fqk1a8ivd7q2k38vx37qm3vbn183zh4z5zfqb4pgqmb8znb"; + deu_frak = "1y4krkvarg7jxhcq49fgybg4phbn58y9c0z2bm8mnp28jkih1cnb"; + dzo = "1fcz0imi7zxi99762pxfcm5iz2jcbqj3s742magka4ihrxnz07xm"; + ell = "0r0f71jy4y29bg055qvvy93wchi3lh08zz0k9c8l7466b03yvq5v"; + eng = "0vghah8kqcv0n5fnjb88w6siz156ysrc41fckw3f2y8c3sgmqlf0"; + enm = "10y61xv3w1ypgqz5rgb22y5hh1i4zx03cwiqw21ifqvg4xdrln46"; + epo = "1y5lh55mbcx33cm7qlf1dcah8ffycxmlcpzjzx9r6ij14fdd4964"; + equ = "1nqrd0a9jqqh6byy8snfhad1hisrc92dcx44wsy7v4nf40j3mx1s"; + est = "12ll8lq1hjcsq9hh93020w78r7f1rcxcwlvrjqw8j5p3k9jg5a4g"; + eus = "034s9mp7lw1a4yvf2cmbbj2fbqbaq6xnjqh30yn0wq0c0jck96nw"; + fas = "0m61p4byc0kzf75cdn6g18s8hcg9r8ifs34wr85lbsb65kil4ijx"; + fin = "1wac333k0lcd5jwprzg99b10bq8sdc96b9d6275kg9imyqjwcc7q"; + fra = "1ax7i0nw1lwkz4sbrvn4z0lcrcai77ymdpla7qk7yij6s4xb5bw6"; + frk = "16nmr71p93724vk1x5mq4r8vxpwnm448p6dwqv8scg8asch1cidp"; + frm = "00yz3hz7wcralq8wbx1ap4c6b37ac6vnz5bgmxmgdx0kqzibiddn"; + gle = "1n8z8kmn5m628rlzgz5v0iw6h46aalflq5asa1wj5rygx1y2azpa"; + glg = "0fdniayplc3iwmlmvhblarh1gm97dp8rqhhkb8b0clwfd9cj342z"; + grc = "04r2193qcxqyab5998xn8bf7197wiccmjm7iakij8d0c7l61dnxb"; + guj = "0dp8mlxmf0x9wb8dg0c508sdwz03icq94z8ji8jhwgdqgv8hw1al"; + hat = "0793mmlxbb09c8103jhdvlczz647nyn4ykkgd3gwgavncmjh72v8"; + heb = "16za9ff1i3ya6hz75l9v3v7j4039kscxxw21g3i2w5p9zn52hyag"; + hin = "1vnn5wpc724kgib8jbx0kpnnp4al60ivqir72gnbyh6cpnflb6bf"; + hrv = "15rqd6xiv2bdmalb5s6rxvw0yk6w9agn9fli3bvi703q6vpj2yn3"; + hun = "19zzwdxwi3h3vdsgr271i1m87gfpdirk6b1ljw2j8qmfilp4sw56"; + iku = "1v1yvc1194qycjgb4ihh5hpj6472nlbp66dii183514g2dh9x0db"; + ind = "120d4b41wvsgcd1sgy2mp78i9hvi7w03a63078dz1yds0yqdwf1p"; + isl = "003ngk8dfv6dglkq8pmi6jsglrfkc65js5ywh3vvkg7qfqf6qsxz"; + ita = "1lxklk3zc3x3k8yfpp6ygyv7fndgs57dfasc97rh8782ds16wkjs"; + ita_old = "188gby1y51pa1ycyc8y17d16hs5w27yl5ch7xzni98bdjkwbkl1z"; + jav = "1fjyjznjchls5ifbnx2b9xagisgxvgj9lsf39rr9d87sbzdbbwbp"; + jpn = "1wmayj8wh3pfwznjhalad2qzv38mhrzw2sxl71mycvzvpdy9ag1w"; + kan = "0hak4953whw9vd9dzl0hq076kzb19kk45kmfxk03af4k6gb206vg"; + kat = "16k0057cvvdc6snm5svhdv3cr7cw71g74yy8215njjbsi838imi3"; + kat_old = "02gl755d38plyvzwfjqxvjgfqkbjs9rvzx33qfhm2zvmgbwrfrfh"; + kaz = "0hc36w7zz5waycsk220v0r83sg991gd5f5r937mvz44viql80sgm"; + khm = "1gb2nv5qdq5fz9w9xq4fj68p46b62sd1m986ra5qbnskxqizr12s"; + kir = "1b1ing6qqi8qqfh4xpk76rp4gxp69wdjdl5m777ayx3v02d7nhh3"; + kor = "1rldj6f8h1nn5wpx57b0ci7p0fnivnwzgaf0d3576xls26z2wcgv"; + kur = "1cp2pfd6g662gvxi7ywkxfbfq1lwbis888bf1gg8ynzy342mx1ic"; + lao = "03bdaxakmxpbbr9vsnbzzfksvm6js0l5i0ijwl71piqyxqjj1gxf"; + lat = "1q7v7drnwpna9k2l79jbdlxiv1j617rqzjc9d48h3lfrma5z97sj"; + lav = "0fxzyvw7n67rmw2irvlghkf1bii4w47200zv26p0v3a9dwvhc7sg"; + lit = "0f00ggjjqrl94kwwjmjqwajyfprsml0br8vhn2gvn11gaxvm52hm"; + mal = "1i83plhin3m6sq8p92vzlyng5z59gvvqypyh7rnmvdmm9rranx8a"; + mar = "0ay7q53yl3709crvn5l9c9jx7hw6m5d3x2crmvnvczsh83ayfdik"; + mkd = "1q1wadcr4j1dzssyyqz43qmizc6vfqkbivr6xi2p7p4h9rl11x73"; + mlt = "1qp4v6habak1l7xrw322wglvjjndrfp4j7bj8d4npwbzk1sh4s0h"; + msa = "048p6mkx9zr40s9s5vbi0gnizhvqwn0g8i1hf1l8db7igbax5xyj"; + mya = "17nyr5bd42kzvid3421n3mwckd49vzrjhjahd8rnfsmbsy1x382l"; + nep = "154375r32sdmvcnp1ckvgbp3wxvb2xiiypb8bxbsvrabrz4wzjqc"; + nld = "1clwbky71zkz55zd3f8r9hj8fhpnbkply80p1js4fvs7x12r715x"; + nor = "1ynvrz6s0vmlq1xkjd8k2w6bx8770x6v29qgx83d4nl17ngjd459"; + ori = "0dsakc8gnwhs6z5kxc2wdkbn31gkkiqk5vriw0swghychp164aac"; + osd = "1zq0dfliavglmix7zzrqdxz1w01rm1f1x1352bqn8xf4zivdbxcw"; + pan = "1fwdpwkydfmr6drwgkqzn89z12r2rdm02a75vvdxhxg2a9yiwmbv"; + pol = "155z870ygzws476kp7qpzi8jcjcv3jb5px8rbzhnag1fklqr48hx"; + por = "1814cff2rffpzlg4hyyrjzpf5ps2i95rmpa4c8ikblbvrlcv97q8"; + pus = "1iz5nn1zfvn1l9gb1jriwx991d2hwwc7x4k1nvzjlwpzscplx25b"; + ron = "11lr80zhvnnngvwwk01z1d3prfpbh3qbwpl1nl5fp7h09d6n3wzl"; + rus = "1d6a8lg4bmd3np16jds1py3qpkaq4ahnhwghd5r0159y0jpxq00q"; + san = "169f4ajgwn99yfdfrlwfvdgvv1abal7fpdp31sknvq8l7w2sak3g"; + sin = "1411g18r6f6j6f4n0sn7ajgs4gkplb892s6ak0hi9nyyxwv3r1gm"; + slk = "0bxfbrg1nf6px0xzkh6ihdi71fmr1rxxs99qb191k7pm16x2lpds"; + slk_frak = "0zyqnn1y5cyx1y7wzgw743k4584ljl0rhvk2q1ni6jnjx9ciwzqy"; + slv = "1kjn9m9hbwp0m0p2v8c3skpzr6f8x42hz8x48zl22550a7hq8n1h"; + spa = "1npgl8ylvfm60hd4214z8a3lriy1hckhijschrbjpzmwdfcqafgj"; + spa_old = "0w4ivkv8flyn7bjlyjcrcrdnslkvrrfs7l33mvird1jhhkyqd8sx"; + sqi = "15wzvh6qm3yx7yf0k5j7g1imsaqxvq7r2xh6a0xgmkqbyypbbkdf"; + srp = "05blqriv30x02c80ds3x7zhw0y21nc6lkqlv5jwgwnjgw4yfpgrm"; + srp_latn = "0ss8s3q60aq8sd2a3sbnzvp13qqarxnjw4hij8hd9ab5gsjw0nwr"; + swa = "1pwwhx7ldq21cv06cchws8gvwsmkwn5sjcy9z3nk3nbp9qjsf44f"; + swe = "0l10iyn2cr7ibgk0akmpg8725mpwpydawgv3s77izsw7y6xhfr1a"; + syr = "08bxil13wyp5h4hvbxjcys7ypgqgg46rrp653m7gyv5q94ycjgb0"; + tam = "1g155kyba2wjfgzgy48g6yd2csinwbfjdi5r7vw0wm3dh1z39dvz"; + tel = "0fydrcb54b6mmqazb337x4s36i2a64sb4xm7y7g3nqqmk9afsipv"; + tgk = "0f6j37friywj7y132fv0jm6aj4sx8f0b7brspj3pbjqqpi4v5ws0"; + tgl = "0f1r0gicif57qhyw8xaa1sqgny720q3z5cpd5srrn9i6fihaz577"; + tha = "1y2hw55jfpidk95y8qbsiczgg2r2khabac97s1y3gl0v93a44jna"; + tir = "1y7iryhjr83ca4yh5jjz7qlnrx4kbrp0a0p650whjvk2gnv8m98h"; + tur = "0xqnq99b2jb4v74bj95py6wmg14dm31zp5s3l48dmcv6zdgcxg2w"; + uig = "1sdddr15zlb33kd1d7hzi5lfd15bfhqn105d7x6snfpqp7vq4bxv"; + ukr = "0cdwjnfnnmzz7jdn49l96vqgaimclfxcxaw09cm63f5my382r2rg"; + urd = "10xcn1zs2lfswp5yai0ckyg7js587qhr5cf7qib3i35qjbw7nc18"; + uzb = "1jkkd5j6vsx5jv5gwprbfwg1vwh714prm8j446wzvp74brmk949l"; + uzb_cyrl = "1kdia38rgm2qd3ly80a412jyagxxryr09h1nz2d0iw71bmfn4855"; + vie = "1ja18jxxaw282y4jljxpjf1gj15il61vc2ykpfy22vn88wvydxff"; + yid = "1jddd0g8mm5v00z5kb8rbpfs7ppzgq9kzm1xlhhvv960yfdbi6fd"; + }; + }; + + v4 = makeLanguages { + tessdataRev = "4.0.0"; + tessdata = "1chw1ya5zf8aaj2ixr9x013x7vwwwjjmx6f2ag0d6i14lypygy28"; + all = "0dqgkp369rcvq72yhgnzj1pj8yrv7kqzc7y6sqs7nzcq7l5qazlg"; + + # Run `./fetch-language-hashes ` to generate these hashes + languages = { + afr = "1a9f8pnrspfmcq9gpjnxn2kkhjlsmh912bnpx671fjizxpmiri2y"; + amh = "0m1vdyxjx57kmf2qra0p31k509y1cqn4pyckzw00i5n3wx11d2j0"; + ara = "0nswl6n0s94g900j5k1gwzp7m140c0yd9a2fdb2lzhdvg1krf190"; + asm = "025d9vrjcrwyd6cc6hrw1x8xqhicgrb9wpvhhmlw71ql04dadslf"; + aze = "01shcs78a6xn3my8p3y42x1c9f5hzfn83w2n2nwpffbgz4y2nsgf"; + aze_cyrl = "1sbd89i5r7rnkjh2in8j0plrxnfiill9jl8pr68iw77ghih6q1vg"; + bel = "0dhyymsxcyzwal8474q7ag3m2akv0b92hkdz7rka5z1cxry1cn8c"; + ben = "0a7q9414k3frn37x2qcglz722ysg2iivj6kqaaa0ik7z14ibc8v0"; + bod = "0rh7x54nlh6ir6ldccj8hi7g8hwlp13r3fkljw8gndvhwmgfkkar"; + bos = "1szym4n605hlx12a9vpz4jjs76jscajh22rgkqwbv4qdsl0gi3nd"; + bre = "070f4c84iznblsw4jkwpzh9dss8nfb678160szm5r8dlv2yinrrk"; + bul = "03bg2yw79lg8rl43y9288313jrfh0h69vl4s4cmlgbmnbx8pvxwj"; + cat = "19xs691aj8yy2ff07c3gzm07zicd5ha0gmcjxjh9pknqf2gfy7qv"; + ceb = "1896vn41hqc4anm6hjvrnn022i0p8pmhwsp5rv9w2cvr6738l79r"; + ces = "0fh2g47msfr91285rnccxcmcshihm126sqy496s4vrr0vk8ix1nf"; + chi_sim = "0qxkvbpm5l7gzsshnn72wfx473pprf5nmw8hd4i4x2qxnfddh1gw"; + chi_sim_vert = "1f75pzvxbda82vxa2zb1z9b9f13sh81kzaw45vg5118ncsklj8w7"; + chi_tra = "056vjws1fir1v5iv44pzykkxs5q1dbb2j8blhj47i53w1zf6g42m"; + chi_tra_vert = "10c9cdycg1a5kwlgg60sh8yp07w2fl4whinpxfhlzrzs56allql4"; + chr = "19qq8a6c27973djsc4xpcklis92r58x21fg4mz5azdyka5i1n46l"; + cos = "0z9kx1hw8h5n00pcahxla808wya50wrkk8cz7x676pd93ibyrlyx"; + cym = "13pk9cpf43xxqbz3blfz2av2yd1ma6ds6jbdiqw8anhhj7l9ch2d"; + dan = "1jirmahxvyyswhhyzhinvcqaycz7m3ixchqrj3lgfcdi3anvabr2"; + dan_frak = "17wcgdqxmbzn7qchnx5gsa05aj4wmhbwk43w173bl3wr6h5ylmh0"; + deu = "194rqsg4nlycca9bg2fqf15xgcl110rxp182l7dbjfjhar4knsw9"; + deu_frak = "12hhhp32f15c7fw2jp05mwim9ps14kmamhh6vmalvm7r2033vbm7"; + div = "09mm9r5hxhsc4qpyg10ym9mc2kdpawx8zk0aiv1xpgd35rzpyz41"; + dzo = "1zk7crgcazgqy5zmslp6iw4jws07nja31qdxx0rpzhn3c0bjgw1b"; + ell = "1hhym18a9411953j47xjk47jx9ij9xi2qwlx05c93zl41528nsqg"; + eng = "0iy07z182lwhqfa0q288ha691scpsry330aynaizn68wcmywk86s"; + enm = "1dhr1qvil38bil43wk5ci645sbm3my2y9y7qlcbnwz2p4pflayvm"; + epo = "1jig4db7050vww32vxsqyig3j1b0vgz9ipxbsw0jpkjia84k44n9"; + equ = "02qwg6s1z7pynwm0p6dvpwi04ivfkr1s7qgssbla1dx7v0ih6rlg"; + est = "1jxygahy6by7fbirbmjmd68k6560q1a3h5mvpzdx15h5fw0q58gl"; + eus = "0cai7nm7si8680avrrls8bf9ski980rvsj560fh9y6n9rz7mh9mp"; + fao = "1n3434jf18bzakbylzyg3jaw2ad4h376g56dsql32bgh2yvyww8a"; + fas = "17wjkfka9725rz32clgqgk9msmbz4axs59vz30jmhhxyrkliafqb"; + fil = "0p713k8g27df9z384ns111xqxii5kq20m8brflsmd3yckw1mibhz"; + fin = "1wc3y9nnm7rb2c2c5fkj7cv7jb27jlkb2bh0g8kaz57h6imfmb2g"; + fra = "04qrfvi6irlaahh1pgn5azyfhbhavm12yyybza8603alf8firh7a"; + frk = "05cqmxxxjqdl5hjyzi6dpmixnjpd6f3jr6741yapdmnxvkzxkiyp"; + frm = "0a86yy6hd0lvlbzvnzjmyapzc0rn7mnkdadqycd65bw1b714cvy2"; + fry = "0i84r8g9hlkr9nlhypl4lq6ncrhbcpskqkdcijgk88c2fdknh57h"; + gla = "17idyhb505waz9dnb8dsk54faw7y0xvvb12yw71k0skq3i90akar"; + gle = "1q87h5zzcva54pg364d3hl6q9hdlydlyj1qmq8n5k7hqk11msxmk"; + glg = "01xssz1rhpy3a0sm4i43nba61wc2srz6wv327vdw1kg8ijm0s0g4"; + grc = "00x0s3smx4wg5h12y2b9al0j2jk1y3f0yy2x6f2qf7ps831drgyl"; + guj = "028v4fgn0zi2044vk6j2rlqklc9i0kj22s52vhifmx1g02kz9154"; + hat = "1bca516pr2cnyjlwycc7pr6gfmdjb8565hp06pw9nwpr20ry0hss"; + heb = "1qfkffjh29b21frs0mv6llsrchixl5kjkpj1if7fq816g9mym9kx"; + hin = "1rkfam5c6qil2590lfffzndhq3bncdgf4ij0cyjcglgyljgx0xnc"; + hrv = "0da7b6mk0rwc9zlbqkycwjpddp3qpy07l643i00ia5a1zq35fmgp"; + hun = "0w2s4mn9p74zqzmp9hh2017zgsh5v43k4lid4pv29f4b0y5gj9xi"; + hye = "0ifzm875wlbjh4vkpmj1n6f14m8i174413l6pc6i44y4p5fpgxrf"; + iku = "19arnv82xbxhbcy8pf9fv1sl5zc5707mk34nh7w46dlz86qkidmn"; + ind = "1d421hizwni4m6sr4f3nqqpr1g744hzn0krk130m7x8mhzgamba5"; + isl = "1hjjw8k2r9qa990ziq5wxr36kyf16mnmrqfmq5vbcjprka9h08pq"; + ita = "1qyrvlf7pjxzyb29sc7aq3gq61bww14sijka44scxggfw7134l3r"; + ita_old = "1pf8461jbj0vpyry0b54crmkf2bk9mh4klxvmj09jvf0aq2vm9s6"; + jav = "18vvbyimj0y462amjmwvqa6h9n8l122j9v0w3hfp63hlxpfprm0m"; + jpn = "16hma9w32vdh41ihymp894jza72b0d235hwriv18r78j5n86nhbg"; + jpn_vert = "0yca09l9sbpfjgb2slnpb9q7qd7vz3a1wb6bkln30d3nl0d9r1rn"; + kan = "0lcmx37rjfxkbhhbrld1ndmkwkm9w9b3pzxhas0cv5dqsx2f84jd"; + kat = "1b164bgwa7bbvw4177h8fxfh0fbh4bycfl9pkaa184dpjpaiqpia"; + kat_old = "1mgff7sh93hdp3wh0ckikdggrdgf0syp75s39pickpbkp9ic41ai"; + kaz = "0h37y0kb5lwsp5zpl7bvxg3ryqldl5hxfnardliwgyqgnag951vi"; + khm = "0m7x1fynr18sid2kjjw8xa9ika0a0fc6a6hvc7ihizi47893hdfb"; + kir = "09kxwqpqf6kxjii07qlqsiii83zk12rszp88xnzzjp8rjsnk78s3"; + kor = "0nsr43fwrp9876ia1fc0zcviv2n8hw16n0wfh158vhygwglvy84m"; + kor_vert = "1wmvdznmikk9fq7wdffvn22scxmcl26vjh26jhicqwxpc7kg4bh8"; + kur = "0gbsf3ny3n5mgb30v54bz3crgnimdpg19jn633pbpzryzg3xhd25"; + kur_ara = "1sbj0cczhi9q119fbzpi0m6zr9kjp3k76bv9w8szkv1wc5y4fng6"; + lao = "1gvxlg8bw3a4c9izg3c2a2yl7q6rsy7z9y64axdw9a04pz2ndbl5"; + lat = "0b7an3q3xrf9c55bhiqqh7l45ga88l0kwvkp1akmlr98piach3vr"; + lav = "0fqsmy47cygamddxyjfrdgkfa9bvmrvf4csvppnkdvfzy6iiv0c2"; + lit = "0wjgbkwc3bf5khdqali7ylnhhs4xvpx19m3zx2y9s27v2wjbb6kv"; + ltz = "02zdxbniiqfl87fzsiaaqgldqfsv15z5hja1xhxnqpl0nds7shfc"; + mal = "0a41ifz8i6lj2ywxjkwvymxzxahkz2cjv4apbrawdj1h42bn7frd"; + mar = "00swhlh9bckvmlxanfmlw5j4n9qqhggl84bsq0827bmijsqwnl44"; + mkd = "1bqfiwxlzfpz4fs4z5ci2wbv01qhrcayk1inmk3dxq7dsywx1ajg"; + mlt = "1rmmga2aw88hr7q7cfr5cvhnsgnf1mi069d5k7z66zp4vzbl4zyz"; + mon = "1jksvcavn9plsmjdmhg40mwq5rlvrd1b9gvghdjg7zkf6qqqynlh"; + mri = "0jlfawx20s5clsnk82ndy3v2zidh4cfh4acrh8nindk21xmiwh5i"; + msa = "0m7zs8anaa3l4z5f3xvbhs4syp41dp4all2yfpi1plyr0hy784an"; + mya = "0hljm5haadlr4k5rhw4mvhkygcnrr709rvl7amz7av3nskmi8mb1"; + nep = "1dhy0m2h6xfgwibf92iwxsn926dmrhfvkg9rafkdaqcr4pq6w563"; + nld = "0bspf5bv1s7qzm6k4aqbpq91zvk4kxxhx5zv08w91xfsa1zpdxmi"; + nor = "08majhc9m0fjvac50yq52ia2af9kscclimwkv403klnj4kgf8ndq"; + oci = "1mzrw9gsdjrd1xj3zv7l5gzgjq5jrygxf8cfkz20d9lls0wj1xdv"; + ori = "1sh42mjzb1hv6l6lljp3wifjmz7wrv818f9f16m8qjikwqxm0s78"; + osd = "03mvfk1q1xp1klpf4bwna903rnp51bkqr3gl5hvxybvrc3l2m7z1"; + pan = "0165kr94p6x5yxzs4p8sfppvg9cywp65ps0xaym5rqz9iashz32h"; + pol = "0g0b71ms6ddgykmkna4mlavgzgmh9vj6s62fi8l4ja93nfpr37hp"; + por = "132jbhzmcsq8skanm15bw2niyx9xpbrqr411wn7w9r5i3cvnlv01"; + pus = "0iiglnkn478al11avigsav625pn7ifscycnxpj6fg8835vjww3xr"; + que = "01vkmfi9idjwskv5pllmrxpil0v5h7f7rzv5viclxrzkmbvrz9b5"; + ron = "0ag6vs0cn3sryavs1mfrallgdgi4h28114g7m61rhlhq0z484g0m"; + rus = "1hippm3w5d73sh50r136x0xff2p6x128ry2x4fywf6xdpv1f46v8"; + san = "1qlpqkr5c5wqcf1bvlipy72advqnvd4wm61vghmrj2sda8mx87sx"; + sin = "097d2s4ma0zsq0ab5qs1ylgl9l5phw91fnpsvb7vjmz2mw3ic964"; + slk = "0c97pp5iffhdzyma605x8q3rx1qq9pq2h6cai1kppaj92rz3ji9k"; + slk_frak = "16ivsam1g18zlpw6pgidvzwb7h8rvw1s10nigs6yfwir8hjxsgki"; + slv = "0644jlm55p0dg4zchgrashmbv36zb4x649ckmf2jkbss8bzx7wsf"; + snd = "1i2mfi4414l3v9nznjy7959y2jcr8ymvf6w8zpyrw6nad4d1aak7"; + spa = "15kwvr7cpcnlxm1ja1yyc022dmsd04gmk7h1p0df12aicsscn3qb"; + spa_old = "1jq80c4mi3rmwnfhb3mbaaq0ci101mgbibkji9ala4l5dkcwjra3"; + sqi = "19cvvixhz9906p4c9i2grpr386rbp5alp4fp14xm9nd81bmq4701"; + srp = "1jd25n13h6vxsa3gzbj6q6mdh02rjl4qrd1bffr5psp33asqvw0l"; + srp_latn = "1k7577mn3z0bm5ma9d8l14sn5wpvw50hq1nxwbc36yn3a5b3mhiz"; + sun = "0lvlaw3jfvr7b5v09669kq8mm19jdsk9g5h09jsa2gr6fvsq11pa"; + swa = "0qy9qc5pa1dzzqrh1z40gk845z1r4d2smywnzydknbb3n240lhz0"; + swe = "1y56r7bgzw0pqkdylbah07r1f0v03sblkggiql8x5200rhaxvqi4"; + syr = "1vfj5fsiv170jghryrxwyz0i9mdsaki1kglxrklkb2caal9kwy38"; + tam = "0rhhdbnp0a2hpg00vpc0xyxcl2w36i1kn63mrvwx1f9q7m3y1fmf"; + tat = "0a74rp8pyp4yivv2xcy2m8xgwch8scr3wmk1fzniwzf43fsrqp76"; + tel = "0gcq8hxhxvilyh7x7kiikq07hllqysc8sfyr88gvpj4xi092h2bx"; + tgk = "1458gk0k6gk49n8lr6fj7l7cwkhxn0lrhybzq10zl1ly7yzjhf67"; + tgl = "12yscwckdy3l21mvsrj1021gxw2isjrg369r08rsf7lh96wn4wkn"; + tha = "01f0j7gsc5slxaaql1gqbhk4wlwaxc29dlmfxwjzikxc46gjl0w8"; + tir = "1q6w48b1jchv55713pq20inzjjdymh32fw8wxfaj1qi7bjqfb9fk"; + ton = "06g60ga8rys8jaimqrvd4svh40qs1nz4bszdnf2hdv05ibryibdq"; + tur = "0g9g1wvibp61qbriy8ys948yfkl88xk9g8f93bnq8w8dx029b6s8"; + uig = "09sajx21lw3a3ph62dyqr10pjaq2mij10sdhkhvvjiydk34dn548"; + ukr = "14q8ls8gkrg7c9pc6qzm6yf5ady3i3303vs1hz4d2idcl6yry334"; + urd = "15vszhqraxqdcng1069p6i4xq3ck3904q207nkbap6dfpcpjig40"; + uzb = "03hyw0vavmjirqs4wkd5r85g91w2avsyl14z624fhm3gc66pqg7n"; + uzb_cyrl = "1433lrrp2lfgb1k0a4sc20b35b2jcl8f1z92vm2936y7w04xpaq7"; + vie = "02k40d3wji74d1jgvkr3zrn9gpzlmp0lqhrrdmc48r2sgvnrnk8n"; + yid = "0xnbvi04xv1qapqg72wa3bjwbw51pkdnyncjpjp37vn6dzh04l0z"; + yor = "07w3aci52ng6i6nyp97q5zb2dqlj08w6im90y1h691qah1x44zlv"; + }; + }; +} diff --git a/pkgs/applications/graphics/tesseract/tesseract3.nix b/pkgs/applications/graphics/tesseract/tesseract3.nix new file mode 100644 index 00000000000..db0e06434aa --- /dev/null +++ b/pkgs/applications/graphics/tesseract/tesseract3.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, fetchFromGitHub, autoreconfHook, pkgconfig +, leptonica, libpng, libtiff, icu, pango, opencl-headers }: + +stdenv.mkDerivation rec { + name = "tesseract-${version}"; + version = "3.05.00"; + + src = fetchFromGitHub { + owner = "tesseract-ocr"; + repo = "tesseract"; + rev = version; + sha256 = "11wrpcfl118wxsv2c3w2scznwb48c4547qml42s2bpdz079g8y30"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + buildInputs = [ leptonica libpng libtiff icu pango opencl-headers ]; + + LIBLEPT_HEADERSDIR = "${leptonica}/include"; + + meta = { + description = "OCR engine"; + homepage = https://github.com/tesseract-ocr/tesseract; + license = stdenv.lib.licenses.asl20; + maintainers = with stdenv.lib.maintainers; [ viric earvstedt ]; + platforms = with stdenv.lib.platforms; linux ++ darwin; + }; +} diff --git a/pkgs/applications/graphics/tesseract/tesseract4.nix b/pkgs/applications/graphics/tesseract/tesseract4.nix new file mode 100644 index 00000000000..df321023c74 --- /dev/null +++ b/pkgs/applications/graphics/tesseract/tesseract4.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, autoconf-archive, pkgconfig +, leptonica, libpng, libtiff, icu, pango, opencl-headers }: + +stdenv.mkDerivation rec { + name = "tesseract-${version}"; + version = "4.0.0"; + + src = fetchFromGitHub { + owner = "tesseract-ocr"; + repo = "tesseract"; + rev = version; + sha256 = "1b5fi2vibc4kk9b30kkk4ais4bw8fbbv24bzr5709194hb81cav8"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ pkgconfig autoreconfHook autoconf-archive ]; + buildInputs = [ leptonica libpng libtiff icu pango opencl-headers ]; + + meta = { + description = "OCR engine"; + homepage = https://github.com/tesseract-ocr/tesseract; + license = stdenv.lib.licenses.asl20; + maintainers = with stdenv.lib.maintainers; [ viric earvstedt ]; + platforms = with stdenv.lib.platforms; linux ++ darwin; + }; +} diff --git a/pkgs/applications/graphics/tesseract/wrapper.nix b/pkgs/applications/graphics/tesseract/wrapper.nix new file mode 100644 index 00000000000..365d68a9ee7 --- /dev/null +++ b/pkgs/applications/graphics/tesseract/wrapper.nix @@ -0,0 +1,58 @@ +{ stdenv, makeWrapper, tesseractBase, languages + +# A list of languages like [ "eng" "spa" … ] or `null` for all available languages +, enableLanguages ? null + +# A list of files or a directory containing files +, tessdata ? (if enableLanguages == null then languages.all + else map (lang: languages.${lang}) enableLanguages) + +# This argument is obsolete +, enableLanguagesHash ? null +}: + +let + passthru = { inherit tesseractBase languages tessdata; }; + + tesseractWithData = tesseractBase.overrideAttrs (_: { + inherit tesseractBase tessdata; + + buildInputs = [ makeWrapper ]; + + buildCommand = '' + makeWrapper {$tesseractBase,$out}/bin/tesseract --set-default TESSDATA_PREFIX $out/share/tessdata + + # Recursively link include, share + cp -rs --no-preserve=mode $tesseractBase/{include,share} $out + + cp -r --no-preserve=mode $tesseractBase/lib $out + # Fixup the store paths in lib so that the tessdata from this derivation is used. + if (( ''${#tesseractBase} != ''${#out} )); then + echo "Can't replace store paths due to differing lengths" + exit 1 + fi + find $out/lib -type f -exec sed -i "s|$tesseractBase|$out|g" {} \; + + if [[ -d "$tessdata" ]]; then + ln -s $tessdata/* $out/share/tessdata + else + for lang in $tessdata; do + ln -s $lang $out/share/tessdata/''${lang#/nix/store*-} + done + fi + + if [[ ! -e $out/share/tessdata/eng.traineddata ]]; then + # This is a bug in Tesseract's internal tessdata discovery mechanism + echo "eng.traineddata must be present in tessdata for Tesseract to work" + exit 1 + fi + ''; + }); + + tesseract = (if enableLanguages == [] then tesseractBase else tesseractWithData) // passthru; +in + if enableLanguagesHash == null then + tesseract + else + stdenv.lib.warn "Argument `enableLanguagesHash` is obsolete and can be removed." + tesseract diff --git a/pkgs/applications/misc/albert/default.nix b/pkgs/applications/misc/albert/default.nix index d1a62dad6c9..39dae0db125 100644 --- a/pkgs/applications/misc/albert/default.nix +++ b/pkgs/applications/misc/albert/default.nix @@ -1,24 +1,22 @@ { mkDerivation, lib, fetchFromGitHub, makeWrapper, qtbase, - qtdeclarative, qtsvg, qtx11extras, muparser, cmake, python3 }: + qtdeclarative, qtsvg, qtx11extras, muparser, cmake, python3, + qtcharts }: -let - pname = "albert"; - version = "0.14.22"; -in mkDerivation rec { - name = "${pname}-${version}"; + pname = "albert"; + version = "0.15.0"; src = fetchFromGitHub { owner = "albertlauncher"; repo = "albert"; rev = "v${version}"; - sha256 = "0i9kss5szirmd0pzw3cm692kl9rhkan1zfywfqrjdf3i3b6914sg"; + sha256 = "063z9yq6bsxcsqsw1n93ks5dzhzv6i252mjz1d5mxhxvgmqlfk0v"; fetchSubmodules = true; }; nativeBuildInputs = [ cmake makeWrapper ]; - buildInputs = [ qtbase qtdeclarative qtsvg qtx11extras muparser python3 ]; + buildInputs = [ qtbase qtdeclarative qtsvg qtx11extras muparser python3 qtcharts ]; enableParallelBuilding = true; diff --git a/pkgs/applications/misc/flrig/default.nix b/pkgs/applications/misc/flrig/default.nix index baee3010d69..64d2677d4e1 100644 --- a/pkgs/applications/misc/flrig/default.nix +++ b/pkgs/applications/misc/flrig/default.nix @@ -6,13 +6,13 @@ }: stdenv.mkDerivation rec { - version = "1.3.40"; + version = "1.3.41"; pname = "flrig"; name = "${pname}-${version}"; src = fetchurl { url = "mirror://sourceforge/fldigi/${name}.tar.gz"; - sha256 = "1wr7bb2577gha7y3a8m5w60m4xdv8m0199cj2c6349sgbds373w9"; + sha256 = "0vh14azg3pppyg3fb7kf6q3ighw1ka9m60jf2dzsd77f4hidhqx4"; }; buildInputs = [ diff --git a/pkgs/applications/misc/glom/default.nix b/pkgs/applications/misc/glom/default.nix new file mode 100644 index 00000000000..9e71837c0f5 --- /dev/null +++ b/pkgs/applications/misc/glom/default.nix @@ -0,0 +1,132 @@ +{ stdenv +, fetchFromGitLab +, pkgconfig +, autoconf +, automake +, libtool +, mm-common +, intltool +, itstool +, doxygen +, graphviz +, makeFontsConf +, freefont_ttf +, boost +, libxmlxx3 +, libxslt +, libgdamm +, libarchive +, libepc +, python3 +, ncurses +, glibmm +, gtk3 +, openssl +, gtkmm3 +, goocanvasmm2 +, evince +, isocodes +, gtksourceviewmm4 +, postgresql +, gnome3 +, gobject-introspection +, wrapGAppsHook +}: + +let + gda = libgdamm.override { + mysqlSupport = true; + postgresSupport = true; + }; + python = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]); + sphinx-build = python3.pkgs.sphinx.overrideAttrs (super: { + postFixup = super.postFixup or "" + '' + # Do not propagate Python + rm $out/nix-support/propagated-build-inputs + ''; + }); + boost_python = boost.override { enablePython = true; inherit python; }; +in stdenv.mkDerivation rec { + pname = "glom"; + version = "unstable-2018-12-16"; + + outputs = [ "out" "lib" "dev" "doc" "devdoc" ]; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "GNOME"; + repo = pname; + rev = "fa5ff04f209f35bf3e97bc1c3eb1d1138d6172ce"; + sha256 = "145hnk96xa4v35i3a3mbf3fnx4nlk8cksc0qhm7nrh8cnnrbdfgn"; + }; + + nativeBuildInputs = [ + pkgconfig + autoconf + automake + libtool + mm-common + intltool + gnome3.yelp-tools + itstool + doxygen + graphviz + sphinx-build + wrapGAppsHook + gobject-introspection # for setup hook + ]; + + buildInputs = [ + boost_python + glibmm + gtk3 + openssl + libxmlxx3 + libxslt + gda + libarchive + libepc + python + ncurses # for python + gtkmm3 + goocanvasmm2 + evince + isocodes + python3.pkgs.pygobject3 + gtksourceviewmm4 + postgresql # for pg_config + ]; + + enableParallelBuilding = true; + + preConfigure = "NOCONFIGURE=1 ./autogen.sh"; + + configureFlags = [ + "--with-boost-python=boost_python${stdenv.lib.versions.major python3.version}${stdenv.lib.versions.minor python3.version}" + ]; + + makeFlags = [ + "libdocdir=${placeholder "doc"}/share/doc/$(book_name)" + "devhelpdir=${placeholder "devdoc"}/share/devhelp/books/$(book_name)" + ]; + + # Fontconfig error: Cannot load default config file + FONTCONFIG_FILE = makeFontsConf { + fontDirectories = [ freefont_ttf ]; + }; + + preFixup = '' + gappsWrapperArgs+=( + --prefix PYTHONPATH : "${placeholder "out"}/${python3.sitePackages}" + --set PYTHONHOME "${python}" + ) + ''; + + meta = with stdenv.lib; { + description = "An easy-to-use database designer and user interface"; + homepage = http://www.glom.org/; + license = [ licenses.lgpl2 licenses.gpl2 ]; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix index 0e84283a9ef..8f69abd3a98 100644 --- a/pkgs/applications/misc/k2pdfopt/default.nix +++ b/pkgs/applications/misc/k2pdfopt/default.nix @@ -75,19 +75,21 @@ stdenv.mkDerivation rec { cp ${src}/leptonica_mod/* src/ ''; }); - tesseract_modded = tesseract.overrideAttrs (attrs: { - prePatch = '' - cp ${src}/tesseract_mod/{ambigs.cpp,ccutil.h,ccutil.cpp} ccutil/ - cp ${src}/tesseract_mod/dawg.cpp api/ - cp ${src}/tesseract_mod/{imagedata.cpp,tessdatamanager.cpp} ccstruct/ - cp ${src}/tesseract_mod/openclwrapper.h opencl/ - cp ${src}/tesseract_mod/{tessedit.cpp,thresholder.cpp} ccmain/ - cp ${src}/tesseract_mod/tess_lang_mod_edge.h cube/ - cp ${src}/tesseract_mod/tesscapi.cpp api/ - cp ${src}/include_mod/{tesseract.h,leptonica.h} api/ - ''; - patches = [ ./tesseract.patch ]; - }); + tesseract_modded = tesseract.override { + tesseractBase = tesseract.tesseractBase.overrideAttrs (_: { + prePatch = '' + cp ${src}/tesseract_mod/{ambigs.cpp,ccutil.h,ccutil.cpp} ccutil/ + cp ${src}/tesseract_mod/dawg.cpp api/ + cp ${src}/tesseract_mod/{imagedata.cpp,tessdatamanager.cpp} ccstruct/ + cp ${src}/tesseract_mod/openclwrapper.h opencl/ + cp ${src}/tesseract_mod/{tessedit.cpp,thresholder.cpp} ccmain/ + cp ${src}/tesseract_mod/tess_lang_mod_edge.h cube/ + cp ${src}/tesseract_mod/tesscapi.cpp api/ + cp ${src}/include_mod/{tesseract.h,leptonica.h} api/ + ''; + patches = [ ./tesseract.patch ]; + }); + }; in [ zlib libpng ] ++ optional enableGSL gsl ++ diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix index f32509686c0..ed3aca996e1 100644 --- a/pkgs/applications/misc/llpp/default.nix +++ b/pkgs/applications/misc/llpp/default.nix @@ -1,33 +1,36 @@ -{ stdenv, lib, makeWrapper, fetchgit, pkgconfig, ninja, ocaml, findlib, mupdf -, gtk3, openjpeg, jbig2dec, mujs, xsel, openssl, freetype, ncurses }: +{ stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11, +libGLU_combined, freetype, xclip }: -assert lib.versionAtLeast (lib.getVersion ocaml) "4.02"; +assert lib.versionAtLeast (lib.getVersion ocaml) "4.07"; stdenv.mkDerivation rec { name = "llpp-${version}"; - version = "2018-03-02"; + version = "30"; src = fetchgit { url = "git://repo.or.cz/llpp.git"; - rev = "0ab1fbbf142b6df6d6bae782e3af2ec50f32dec9"; - sha256 = "1h0hrmxwm7ripgp051788p8ad0q38dc9nvjx87mdwlkwk9qc0dis"; + rev = "v${version}"; + sha256 = "0iilpzf12hs0zky58j55l4y5dvzv7fc53nsrg324n9vka92mppvd"; fetchSubmodules = false; }; - nativeBuildInputs = [ pkgconfig makeWrapper ninja ]; - buildInputs = [ ocaml findlib mupdf gtk3 jbig2dec openjpeg mujs openssl freetype ncurses ]; + patches = (substituteAll { + inherit version; + src = ./fix-build-bash.patch; + }); + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ ocaml mupdf libX11 libGLU_combined freetype ]; dontStrip = true; configurePhase = '' - sed -i -e 's+ocamlc --version+ocamlc -version+' build.sh - sed -i -e 's+-I \$srcdir/mupdf/include -I \$srcdir/mupdf/thirdparty/freetype/include+-I ${freetype.dev}/include+' build.sh - sed -i -e 's+-lmupdf +-lfreetype -lz -lharfbuzz -ljbig2dec -lopenjp2 -ljpeg -lmupdf +' build.sh - sed -i -e 's+-L\$srcdir/mupdf/build/native ++' build.sh + mkdir -p build/mupdf/thirdparty + ln -s ${freetype.dev} build/mupdf/thirdparty/freetype ''; buildPhase = '' - sh ./build.sh build + bash ./build.bash build ''; installPhase = '' @@ -35,14 +38,14 @@ stdenv.mkDerivation rec { install build/llpp $out/bin wrapProgram $out/bin/llpp \ --prefix CAML_LD_LIBRARY_PATH ":" "$out/lib" \ - --prefix PATH ":" "${xsel}/bin" + --prefix PATH ":" "${xclip}/bin" ''; meta = with stdenv.lib; { homepage = https://repo.or.cz/w/llpp.git; description = "A MuPDF based PDF pager written in OCaml"; platforms = platforms.linux; - maintainers = with maintainers; [ pSub ]; + maintainers = with maintainers; [ pSub enzime ]; license = licenses.gpl3; }; } diff --git a/pkgs/applications/misc/llpp/fix-build-bash.patch b/pkgs/applications/misc/llpp/fix-build-bash.patch new file mode 100644 index 00000000000..25d503290ce --- /dev/null +++ b/pkgs/applications/misc/llpp/fix-build-bash.patch @@ -0,0 +1,88 @@ +From cccadedfbcb6764a38382154838113a6b2fd4dee Mon Sep 17 00:00:00 2001 +From: Michael Hoang +Date: Mon, 10 Dec 2018 15:08:01 +1100 +Subject: [PATCH] Patch build.bash for nixpkgs + +--- + build.bash | 37 ++----------------------------------- + 1 file changed, 2 insertions(+), 35 deletions(-) + +diff --git a/build.bash b/build.bash +index 1588011..72117d9 100755 +--- a/build.bash ++++ b/build.bash +@@ -29,7 +29,6 @@ srcd="$(dirname $0)" + mudir=$outd/mupdf + muinc="-I $mudir/include -I $mudir/thirdparty/freetype/include" + +-test -d "$mudir" || die muPDF not found, consult $(dirname $0)/BUILDING + + mkdir -p $outd/{$wsid,lablGL} + :>$outd/ordered +@@ -39,12 +38,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; } + mbt=native + mulibs="$mudir/build/$mbt/libmupdf.a" # $mudir/build/$mbt/libmupdf-third.a + +-keycmd="(cd $mudir && git describe --tags --dirty); digest $mulibs" +-isfresh "$mulibs" "$(eval $keycmd)" || ( +- make -C "$mudir" build=$mbt -j $mjobs libs +- echo "k='$(eval $keycmd)'" >$mudir/build/$mbt/libmupdf.a.past +-) && vecho "fresh mupdf" +- + oincs() { + local i= + local incs1= +@@ -90,32 +83,6 @@ mflags() { + } + + overs="$(ocamlc -vnum 2>/dev/null)" || overs="" +-test "$overs" = "4.07.0" || { +- url=https://caml.inria.fr/pub/distrib/ocaml-4.07/ocaml-4.07.0.tar.xz +- txz=$outd/$(basename $url) +- isfresh $txz $url || { +- executable_p() { command -v "$1" >/dev/null 2>&1; } +- if executable_p wget; then dl() { wget -q "$1" -O "$2"; } +- elif executable_p curl; then dl() { curl -L "$1" -o "$2"; } +- else die "no program to fetch remote urls found" +- fi +- dl $url $txz +- echo "k=$url" >$txz.past +- } && vecho "fresh $txz" +- absprefix=$(cd $outd &>/dev/null; pwd -P) +- export PATH=$absprefix/bin:$PATH +- isfresh $absprefix/bin/ocamlc "$url" || ( +- tar xf $txz -C $outd +- bn=$(basename $url) +- cd $outd/${bn%.tar.xz} +- ./configure -prefix $absprefix \ +- -no-graph -no-debugger -no-ocamldoc -no-native-compiler +- make -j $mjobs world +- make install +- echo "k='$url'" >$absprefix/bin/ocamlc.past +- ) && vecho "fresh ocamlc" +- overs=$(ocamlc -vnum 2>/dev/null) +-} + + bocaml1() { + grep -q "$3" $outd/ordered || { +@@ -224,7 +191,7 @@ bobjc() { + } && vecho "fresh $o" + } + +-ver=$(cd $srcd && git describe --tags --dirty) || ver=unknown ++ver=@version@ + + cmd="(. $srcd/genconfstr.sh >$outd/confstruct.ml)" + keycmd="digest $srcd/genconfstr.sh $outd/confstruct.ml" +@@ -278,7 +245,7 @@ for m in ml_gl ml_glarray ml_raw; do + done + + libs="str.cma unix.cma" +-clibs="-L$mudir/build/$mbt -lmupdf -lmupdf-third -lpthread" ++clibs="-lmupdf -lfreetype -lpthread" + if $darwin; then + mcomp=$(ocamlc -config | grep bytecomp_c_co | { read _ c; echo $c; }) + clibs="$clibs -framework Cocoa -framework OpenGL" +-- +2.19.2 + diff --git a/pkgs/applications/misc/pgmanage/default.nix b/pkgs/applications/misc/pgmanage/default.nix index a17f34378a8..113a63f7fe1 100644 --- a/pkgs/applications/misc/pgmanage/default.nix +++ b/pkgs/applications/misc/pgmanage/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "pgmanage-${version}"; - version = "10.3.1"; + version = "11.0.1"; src = fetchFromGitHub { owner = "pgManage"; repo = "pgManage"; rev = "v${version}"; - sha256 = "0ym1arla9wfkmr5n6h6dfyd680vlnng5s5j5nyxi2gl2wxqqhxzz"; + sha256 = "1a1dbc32b3y0ph8ydf800h6pz7dg6g1gxgid4gffk7k58xj0c5yf"; }; patchPhase = '' diff --git a/pkgs/applications/misc/playonlinux/default.nix b/pkgs/applications/misc/playonlinux/default.nix index 8c9f13ce92c..e1b6b7fcc46 100644 --- a/pkgs/applications/misc/playonlinux/default.nix +++ b/pkgs/applications/misc/playonlinux/default.nix @@ -22,7 +22,7 @@ }: let - version = "4.2.12"; + version = "4.3.3"; binpath = stdenv.lib.makeBinPath [ cabextract @@ -55,7 +55,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "https://www.playonlinux.com/script_files/PlayOnLinux/${version}/PlayOnLinux_${version}.tar.gz"; - sha256 = "03k8v9dknc5hfrfzqw1nkpifz7wkixv3mvjl1vnp4fx8rj2xrjrq"; + sha256 = "117xivwa87i2w66klplmwd5q7pfxcbrj2rjm11wl8iy5h3xpqkak"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/misc/qmapshack/default.nix b/pkgs/applications/misc/qmapshack/default.nix index a2c8c75dc24..7b2e8bed10e 100644 --- a/pkgs/applications/misc/qmapshack/default.nix +++ b/pkgs/applications/misc/qmapshack/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "qmapshack-${version}"; - version = "1.12.0"; + version = "1.12.1"; src = fetchurl { url = "https://bitbucket.org/maproom/qmapshack/downloads/${name}.tar.gz"; - sha256 = "0d5p60kq9pa2hfql4nr8p42n88lr42jrsryrsllvaj45b8b6kvih"; + sha256 = "1d6n7xk0ksxb1fw43s5lb08vgxf6h93k3rb401cbka1inpyf2232"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/misc/rtl_433/default.nix b/pkgs/applications/misc/rtl_433/default.nix index 7097dda3574..5d012437e6e 100644 --- a/pkgs/applications/misc/rtl_433/default.nix +++ b/pkgs/applications/misc/rtl_433/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libusb1, rtl-sdr }: stdenv.mkDerivation rec { - version = "18.05"; + version = "18.12"; name = "rtl_433-${version}"; src = fetchFromGitHub { owner = "merbanan"; repo = "rtl_433"; - rev = "18.05"; - sha256 = "0vfhnjyrx6w1m8g1hww5vdz4zgdlhcaps9g0397mxlki4sm77wpc"; + rev = "18.12"; + sha256 = "0y73g9ffpsgnmfk8lbihyl9d1fd9v91wsn8k8xhsdmgmn4ra1jk5"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/misc/soapysdr/default.nix b/pkgs/applications/misc/soapysdr/default.nix index 90639fc5705..f14b560bf52 100644 --- a/pkgs/applications/misc/soapysdr/default.nix +++ b/pkgs/applications/misc/soapysdr/default.nix @@ -19,7 +19,7 @@ in stdenv.mkDerivation { }; nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ libusb ncurses numpy swig2 python ]; + buildInputs = [ libusb ncurses numpy swig2 python makeWrapper ]; cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" @@ -33,8 +33,8 @@ in stdenv.mkDerivation { done # Needed for at least the remote plugin server - for file in out/bin/*; do - ${makeWrapper}/bin/wrapProgram "$file" \ + for file in $out/bin/*; do + wrapProgram "$file" \ --prefix SOAPY_SDR_PLUGIN_PATH : ${lib.makeSearchPath "lib/SoapySDR/modules0.6" extraPackages} done ''; diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index a6dc397cbc5..add3cd6a4a7 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix @@ -1,18 +1,18 @@ # This file is autogenerated from update.sh in the same directory. { beta = { - sha256 = "03ddfxxzh8pxil9n28y8nkzl8x0kb5bzzjy4mihg448dflh3anq2"; - sha256bin64 = "147lh1way8db0j0m6wbpfzmfsvvlsjb29cjgf7s9hljb00wqv6ay"; - version = "71.0.3578.80"; + sha256 = "1xcdbf5yia3xm0kil0gyd1mlj3m902w1px3lzpdqv31mr2lzaz08"; + sha256bin64 = "0pcbz3201nyl07psdxwphb3z9shqj4crj16f97xclyvjnwpl1jnp"; + version = "72.0.3626.28"; }; dev = { - sha256 = "0whw1kq5gd07k061ycfdn7bygahbl6zqa54wkz2lqh73yknbbnj4"; - sha256bin64 = "0hlfzzf7kx90jw0zin685c4haiv262hf9a4sj6fmb2yhj21hbp87"; - version = "72.0.3622.0"; + sha256 = "1vlpcafg3xx6bpnf74xs6ifqjbpb5bpxp10r55w4784yr57pmhq3"; + sha256bin64 = "02y974zbxy1gbiv9q8hp7nfl0l5frn35ggmgc44g90pbry48h8rg"; + version = "73.0.3642.0"; }; stable = { - sha256 = "03ddfxxzh8pxil9n28y8nkzl8x0kb5bzzjy4mihg448dflh3anq2"; - sha256bin64 = "1rnw3whn2aaxxb4w3s2nf0wb91qjrq099550j42wig7xa71j6rz4"; - version = "71.0.3578.80"; + sha256 = "0icxdg4fvz30jzq0xvl11zlwc9anb3lr9lb8sn1lqxr513isjmhw"; + sha256bin64 = "07kiqx5bpk54il0ynxl61bs5yscxb470q2bw3sx6cxjbhmnvbcn2"; + version = "71.0.3578.98"; }; } diff --git a/pkgs/applications/networking/browsers/midori/default.nix b/pkgs/applications/networking/browsers/midori/default.nix index c3273562b0b..6091c25ccd9 100644 --- a/pkgs/applications/networking/browsers/midori/default.nix +++ b/pkgs/applications/networking/browsers/midori/default.nix @@ -1,54 +1,31 @@ -{ stdenv, fetchurl, cmake, pkgconfig, intltool, vala_0_34, wrapGAppsHook -, gtk3, webkitgtk, librsvg, libnotify, sqlite -, glib-networking, gsettings-desktop-schemas, libsoup, pcre, gnome3 -, libxcb, libpthreadstubs, libXdmcp, libxkbcommon, epoxy, at-spi2-core -, zeitgeistSupport ? false, zeitgeist ? null +{ stdenv, fetchurl, cmake, ninja, pkgconfig, intltool, vala, wrapGAppsHook +, gtk3, webkitgtk, sqlite, gsettings-desktop-schemas, libsoup, glib-networking, gnome3 }: -assert zeitgeistSupport -> zeitgeist != null; - stdenv.mkDerivation rec { - name = "midori-${version}"; - version = "0.5.11"; + pname = "midori"; + version = "7"; + + src = fetchurl { + url = "https://github.com/midori-browser/core/releases/download/v${version}/midori-v${version}.0.tar.gz"; + sha256 = "0ffdnjp55s0ci737vlhxikb2nihghwlb6mjcjzpgpnzi47vjqnwh"; + }; + + nativeBuildInputs = [ + pkgconfig cmake ninja intltool vala wrapGAppsHook + ]; + + buildInputs = [ + gtk3 webkitgtk sqlite gsettings-desktop-schemas gnome3.gcr + (libsoup.override { gnomeSupport = true; }) gnome3.libpeas + glib-networking + ]; meta = with stdenv.lib; { description = "Lightweight WebKitGTK+ web browser"; - homepage = http://midori-browser.org; + homepage = https://www.midori-browser.org/; license = with licenses; [ lgpl21Plus ]; platforms = with platforms; linux; maintainers = with maintainers; [ raskin ramkromberg ]; }; - - src = fetchurl { - urls = [ - "${meta.homepage}/downloads/midori_${version}_all_.tar.bz2" - "http://mirrors-ru.go-parts.com/blfs/conglomeration/midori/midori_${version}_all_.tar.bz2" - ]; - name = "midori_${version}_all_.tar.bz2"; - sha256 = "0gcwqkcyliqz10i33ww3wl02mmfnl7jzl2d493l4l53ipsb1l6cn"; - }; - - nativeBuildInputs = [ - pkgconfig wrapGAppsHook cmake intltool vala_0_34 - ]; - - buildInputs = [ - gtk3 webkitgtk librsvg libnotify sqlite gsettings-desktop-schemas pcre gnome3.gcr - libxcb libpthreadstubs libXdmcp libxkbcommon epoxy at-spi2-core - (libsoup.override {gnomeSupport = true;}) - ] ++ stdenv.lib.optionals zeitgeistSupport [ - zeitgeist - ]; - - cmakeFlags = [ - "-DUSE_ZEITGEIST=${if zeitgeistSupport then "ON" else "OFF"}" - "-DHALF_BRO_INCOM_WEBKIT2=ON" - "-DUSE_GTK3=1" - ]; - - NIX_LDFLAGS="-lX11"; - - preFixup = '' - gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules") - ''; } diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index 8b7dfc86027..5e44bb8cbef 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -10,20 +10,14 @@ assert withMediaPlayback -> gst_all_1 != null; let - pdfjs = stdenv.mkDerivation rec { - name = "pdfjs-${version}"; + pdfjs = let version = "1.10.100"; - - src = fetchzip { - url = "https://github.com/mozilla/pdf.js/releases/download/${version}/${name}-dist.zip"; - sha256 = "04df4cf6i6chnggfjn6m1z9vb89f01a0l9fj5rk21yr9iirq9rkq"; - stripRoot = false; - }; - - buildCommand = '' - mkdir $out - cp -r $src $out - ''; + in + fetchzip rec { + name = "pdfjs-${version}"; + url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip"; + sha256 = "04df4cf6i6chnggfjn6m1z9vb89f01a0l9fj5rk21yr9iirq9rkq"; + stripRoot = false; }; in python3Packages.buildPythonApplication rec { diff --git a/pkgs/applications/networking/browsers/surf/default.nix b/pkgs/applications/networking/browsers/surf/default.nix index 88680414d1c..3a7612bb0fb 100644 --- a/pkgs/applications/networking/browsers/surf/default.nix +++ b/pkgs/applications/networking/browsers/surf/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { inherit patches; - installFlags = [ "PREFIX=/" "DESTDIR=$(out)" ]; + installFlags = [ "PREFIX=$(out)" ]; meta = with stdenv.lib; { description = "A simple web browser based on WebKit/GTK+"; diff --git a/pkgs/applications/networking/cluster/cni/default.nix b/pkgs/applications/networking/cluster/cni/default.nix index 130ccdc8311..3f342ea04a0 100644 --- a/pkgs/applications/networking/cluster/cni/default.nix +++ b/pkgs/applications/networking/cluster/cni/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchFromGitHub, go, removeReferencesTo }: +{ stdenv, fetchFromGitHub, buildGoPackage }: -stdenv.mkDerivation rec { +buildGoPackage rec { name = "cni-${version}"; version = "0.6.0"; @@ -11,29 +11,23 @@ stdenv.mkDerivation rec { sha256 = "00ajs2r5r2z3l0vqwxrcwhjfc9px12qbcv5vnvs2mdipvvls1y2y"; }; - buildInputs = [ removeReferencesTo go ]; - - GOCACHE = "off"; + goPackagePath = "github.com/containernetworking/cni"; buildPhase = '' + cd "go/src/${goPackagePath}" patchShebangs build.sh ./build.sh ''; installPhase = '' - mkdir -p $out/bin - mv bin/cnitool $out/bin - ''; - - preFixup = '' - find $out/bin -type f -exec remove-references-to -t ${go} '{}' + + install -Dm555 bin/cnitool $bin/bin/cnitool ''; meta = with stdenv.lib; { description = "Container Network Interface - networking for Linux containers"; license = licenses.asl20; homepage = https://github.com/containernetworking/cni; - maintainers = with maintainers; [offline]; + maintainers = with maintainers; [ offline vdemeester ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/networking/cluster/luigi/default.nix b/pkgs/applications/networking/cluster/luigi/default.nix index e7cba7d9f38..aad75264364 100644 --- a/pkgs/applications/networking/cluster/luigi/default.nix +++ b/pkgs/applications/networking/cluster/luigi/default.nix @@ -19,6 +19,9 @@ python3Packages.buildPythonApplication rec { # Requires tox, hadoop, and google cloud doCheck = false; + # This enables accessing modules stored in cwd + makeWrapperArgs = ["--prefix PYTHONPATH . :"]; + meta = with lib; { homepage = https://github.com/spotify/luigi; description = "Python package that helps you build complex pipelines of batch jobs"; diff --git a/pkgs/applications/networking/cluster/pig/default.nix b/pkgs/applications/networking/cluster/pig/default.nix index 45dcfb1738c..26c39f8cbe2 100644 --- a/pkgs/applications/networking/cluster/pig/default.nix +++ b/pkgs/applications/networking/cluster/pig/default.nix @@ -2,15 +2,15 @@ stdenv.mkDerivation rec { - name = "pig-0.16.0"; + name = "pig-0.17.0"; src = fetchurl { url = "mirror://apache/pig/${name}/${name}.tar.gz"; - sha256 = "0p79grz5islnq195lv7pqdxb5l3v4y0k0w63602827qs70zpr508"; + sha256 = "1wwpg0w47f49rnivn2d26vrxgyfl9gpqx3vmzbl5lhx6x5l3fqbd"; }; - buildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper ]; installPhase = '' mkdir -p $out @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = http://pig.apache.org/; + homepage = https://pig.apache.org/; description = "High-level language for Apache Hadoop"; license = licenses.asl20; diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix index ab884a1b97c..56c30df37c5 100644 --- a/pkgs/applications/networking/cluster/terragrunt/default.nix +++ b/pkgs/applications/networking/cluster/terragrunt/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "terragrunt-${version}"; - version = "0.17.3"; + version = "0.17.4"; goPackagePath = "github.com/gruntwork-io/terragrunt"; @@ -10,7 +10,7 @@ buildGoPackage rec { owner = "gruntwork-io"; repo = "terragrunt"; rev = "v${version}"; - sha256 = "1b0fwql9nr00qpvcbsbdymxf1wrgr590gkms7yz3yirb4xfl3gl3"; + sha256 = "13hlv0ydmv8gpzgg6bfr7rp89xfw1bkgd0j684armw8zq29cmv3a"; }; goDeps = ./deps.nix; diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix index 3fec84d224f..8508ab10e1a 100644 --- a/pkgs/applications/networking/flexget/default.nix +++ b/pkgs/applications/networking/flexget/default.nix @@ -1,8 +1,4 @@ -{ lib, python -, delugeSupport ? true, deluge ? null -}: - -assert delugeSupport -> deluge != null; +{ lib, python36 }: # Flexget have been a trouble maker in the past, # if you see flexget breaking when updating packages, don't worry. @@ -10,17 +6,9 @@ assert delugeSupport -> deluge != null; # -- Mic92 let - python' = python.override { inherit packageOverrides; }; + python' = python36.override { inherit packageOverrides; }; packageOverrides = self: super: { - sqlalchemy = super.sqlalchemy.overridePythonAttrs (old: rec { - version = "1.2.6"; - src = old.src.override { - inherit version; - sha256 = "1nwylglh256mbwwnng6n6bzgxshyz18j12hw76sghbprp74hrc3w"; - }; - }); - guessit = super.guessit.overridePythonAttrs (old: rec { version = "3.0.3"; src = old.src.override { @@ -36,14 +24,16 @@ with python'.pkgs; buildPythonApplication rec { pname = "FlexGet"; - version = "2.17.14"; + version = "2.17.20"; src = fetchPypi { inherit pname version; - sha256 = "1wh12nspjzsgb0a7qp67s4k8wssbhhf500s8x8mx2smb1mgy4xzz"; + sha256 = "a09ef9482ed54f7e96eb8b4d08c59687c5c43a3341c9d2675383693e6c3681c3"; }; postPatch = '' + # build for the correct python version + substituteInPlace setup.cfg --replace $'[bdist_wheel]\npython-tag = py27' "" # remove dependency constraints sed 's/==\([0-9]\.\?\)\+//' -i requirements.txt ''; @@ -52,25 +42,20 @@ buildPythonApplication rec { doCheck = false; propagatedBuildInputs = [ + # See https://github.com/Flexget/Flexget/blob/master/requirements.in feedparser sqlalchemy pyyaml - chardet beautifulsoup4 html5lib + beautifulsoup4 html5lib PyRSS2Gen pynzb rpyc jinja2 - jsonschema requests dateutil + requests dateutil jsonschema pathpy guessit APScheduler terminaltables colorclass cherrypy flask flask-restful flask-restplus flask-compress - flask_login flask-cors safe - pyparsing future zxcvbn-python - werkzeug tempora cheroot rebulk - portend transmissionrpc aniso8601 - babelfish certifi click futures - idna itsdangerous markupsafe - plumbum pytz six tzlocal urllib3 - webencodings werkzeug zxcvbn-python - backports_functools_lru_cache - ] ++ lib.optional (pythonOlder "3.4") pathlib - ++ lib.optional delugeSupport deluge; + flask_login flask-cors + pyparsing zxcvbn-python future + # Optional requirements + deluge-client + ] ++ lib.optional (pythonOlder "3.4") pathlib; meta = with lib; { homepage = https://flexget.com/; diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix index 7717862f6a0..24e641abc82 100644 --- a/pkgs/applications/networking/gns3/server.nix +++ b/pkgs/applications/networking/gns3/server.nix @@ -1,10 +1,10 @@ { stable, branch, version, sha256Hash }: -{ stdenv, python3Packages, fetchFromGitHub, fetchurl }: +{ stdenv, python36Packages, fetchFromGitHub, fetchurl }: let - pythonPackages = python3Packages; - async-timeout = (stdenv.lib.overrideDerivation pythonPackages.async-timeout + pythonPackages = python36Packages; + async-timeout = pythonPackages.async-timeout.overrideAttrs (oldAttrs: rec { pname = "async-timeout"; @@ -13,8 +13,8 @@ let inherit pname version; sha256 = "1l3kg062m02mph6rf9rdv8r5c5n356clxa6b6mrn0i77vk9g9kq0"; }; - })); - aiohttp = (stdenv.lib.overrideDerivation pythonPackages.aiohttp + }); + aiohttp = pythonPackages.aiohttp.overrideAttrs (oldAttrs: rec { pname = "aiohttp"; @@ -24,10 +24,9 @@ let sha256 = "8adda6583ba438a4c70693374e10b60168663ffa6564c5c75d3c7a9055290964"; }; propagatedBuildInputs = [ async-timeout ] - ++ (with pythonPackages; [ attrs chardet multidict yarl ]) - ++ stdenv.lib.optional (pythonPackages.pythonOlder "3.7") pythonPackages.idna-ssl; - })); - aiohttp-cors = (stdenv.lib.overrideDerivation pythonPackages.aiohttp-cors + ++ (with pythonPackages; [ attrs chardet multidict yarl idna-ssl ]); + }); + aiohttp-cors = pythonPackages.aiohttp-cors.overrideAttrs (oldAttrs: rec { pname = "aiohttp-cors"; @@ -41,7 +40,7 @@ let ++ stdenv.lib.optional (pythonPackages.pythonOlder "3.5") pythonPackages.typing; - })); + }); in pythonPackages.buildPythonPackage rec { name = "${pname}-${version}"; pname = "gns3-server"; @@ -57,7 +56,7 @@ in pythonPackages.buildPythonPackage rec { ++ (with pythonPackages; [ yarl aiohttp multidict jinja2 psutil zipstream raven jsonschema typing - prompt_toolkit + (pythonPackages.callPackage ../../../development/python-modules/prompt_toolkit/1.nix {}) ]); # Requires network access diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix index 3b8cdd7a8cc..45214944309 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix @@ -13,9 +13,10 @@ stdenv.mkDerivation { platforms = stdenv.lib.platforms.linux; }; - makeFlags = "PURPLE_LIBDIR=lib PURPLE_DATADIR=share/data DESTDIR=$$out"; - preInstall = "mkdir -p \$out/share"; - postInstall = "ln -s \$out/lib/purple-2 \$out/share/pidgin-msn-pecan"; + makeFlags = [ + "PURPLE_LIBDIR=${placeholder "out"}/lib" + "PURPLE_DATADIR=${placeholder "out"}/share/data" + ]; buildInputs = [pidgin]; } diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-mra/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-mra/default.nix index 574c01c2cde..18bf89a5f2e 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-mra/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-mra/default.nix @@ -15,13 +15,16 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ pidgin ]; - preConfigure = '' + postPatch = '' sed -i 's|-I/usr/include/libpurple|$(shell pkg-config --cflags purple)|' Makefile - export DESTDIR=$out - export LIBDIR=/lib - export DATADIR=/share ''; + makeFlags = [ + "DESTDIR=/" + "LIBDIR=${placeholder "out"}/lib" + "DATADIR=${placeholder "out"}/share" + ]; + meta = { homepage = https://github.com/dreadatour/pidgin-mra; description = "Mail.ru Agent plugin for Pidgin / libpurple"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix index b8d6cf6aee3..7e86a390edc 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, pidgin, unzip, glib, json-glib, nss, nspr, libgnome-keyring } : +{ stdenv, fetchFromGitHub, pidgin, glib, json-glib, nss, nspr, libgnome-keyring } : stdenv.mkDerivation rec { name = "pidgin-opensteamworks-${version}"; @@ -13,12 +13,11 @@ stdenv.mkDerivation rec { preConfigure = "cd steam-mobile"; installFlags = [ - "DESTDIR=$(out)" - "PLUGIN_DIR_PURPLE=/lib/purple-2" - "DATA_ROOT_DIR_PURPLE=/share" + "PLUGIN_DIR_PURPLE=${placeholder "out"}/lib/purple-2" + "DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share" ]; - buildInputs = [ pidgin unzip glib json-glib nss nspr libgnome-keyring ]; + buildInputs = [ pidgin glib json-glib nss nspr libgnome-keyring ]; meta = with stdenv.lib; { homepage = https://github.com/EionRobb/pidgin-opensteamworks; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-skypeweb/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-skypeweb/default.nix index 6e589febe6d..5fbf385ed07 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-skypeweb/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-skypeweb/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "pidgin-skypeweb-${version}"; - version = "1.2.2"; + version = "1.5"; src = fetchFromGitHub { owner = "EionRobb"; repo = "skype4pidgin"; - rev = "${version}"; - sha256 = "1lxpz316jmns6i143v4j6sd6k0a4a54alw08rvwjckf2rig57lj2"; + rev = version; + sha256 = "1bd9gd36yhrbrww0dvai9rnzxxj1c9sb4003c72wg27w12y47xfv"; }; setSourceRoot = '' @@ -18,13 +18,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ pidgin json-glib ]; - makeFlags = [ - "PLUGIN_DIR_PURPLE=/lib/pidgin/" - "DATA_ROOT_DIR_PURPLE=/share" - "DESTDIR=$(out)" - ]; - - postInstall = "ln -s \$out/lib/pidgin \$out/share/pidgin-skypeweb"; + PKG_CONFIG_PURPLE_PLUGINDIR = "${placeholder "out"}/lib/purple-2"; + PKG_CONFIG_PURPLE_DATADIR = "${placeholder "out"}/share"; meta = with stdenv.lib; { homepage = https://github.com/EionRobb/skype4pidgin; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix index af58aaa0a76..ba1d64c8b92 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix @@ -14,12 +14,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ pidgin json-glib ]; - makeFlags = [ - "DESTDIR=$(out)" - ]; - - PKG_CONFIG_PURPLE_PLUGINDIR = "/lib/purple-2"; - PKG_CONFIG_PURPLE_DATADIR = "/share"; + PKG_CONFIG_PURPLE_PLUGINDIR = "${placeholder "out"}/lib/purple-2"; + PKG_CONFIG_PURPLE_DATADIR = "${placeholder "out"}/share"; meta = with stdenv.lib; { homepage = https://github.com/EionRobb/purple-discord; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix index d4a26a266c3..0b2cba64920 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix @@ -18,9 +18,8 @@ stdenv.mkDerivation rec { hardeningDisable = [ "fortify" ]; # upstream compiles with -O0 makeFlags = [ - "DESTDIR=$(out)" - "PLUGIN_DIR_PURPLE=/lib/pidgin/" - "DATA_ROOT_DIR_PURPLE=/share" + "PLUGIN_DIR_PURPLE=${placeholder "out"}/lib/purple-2" + "DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share" ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix index e2ca3972b5f..1d1617ed9e0 100644 --- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix +++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix @@ -3,11 +3,11 @@ let configFile = writeText "riot-config.json" conf; in stdenv.mkDerivation rec { name= "riot-web-${version}"; - version = "0.17.6"; + version = "0.17.8"; src = fetchurl { url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz"; - sha256 = "1y38fq0r9cxmazh9rjc5qy7fzwy81ad35k538d6rsfwz1y88ipdm"; + sha256 = "0610h307q0zlyd0l7afrb8jv1r9gy9gc07zkjn33jpycwmpbwxbz"; }; installPhase = '' diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix index c74226e1e40..2aa09074204 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix @@ -4,8 +4,8 @@ let mkTelegram = args: qt5.callPackage (import ./generic.nix args) { }; stableVersion = { stable = true; - version = "1.5.2"; - sha256Hash = "0kg1xw1b4zj5a2yf6x5r7wrpl7w0fs52s58w606n9gyx7kdcgkj8"; + version = "1.5.4"; + sha256Hash = "0a52m5qkvk01yl3za3k7pccjrqkr8gbxqnj5lnhh1im1pdxqwh4m"; # svn log svn://svn.archlinux.org/community/telegram-desktop/trunk archPatchesRevision = "415526"; archPatchesHash = "1lfzws90ab0vajhm5r64gyyqqc1g6a2ay0a1vkp0ah1iw5jh11ik"; diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix index 302eb975d81..c20da7eeb66 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix @@ -29,7 +29,9 @@ mkDerivation rec { }; # TODO: libtgvoip.patch no-gtk2.patch - patches = [ "${archPatches}/tdesktop.patch" ] + patches = [ + "${archPatches}/tdesktop.patch" + ] # TODO: Only required to work around a compiler bug. # This should be fixed in GCC 7.3.1 (or later?) ++ [ ./fix-internal-compiler-error.patch ]; diff --git a/pkgs/applications/networking/instant-messengers/wavebox/default.nix b/pkgs/applications/networking/instant-messengers/wavebox/default.nix index b85e9d3d4cb..85dafa331c1 100644 --- a/pkgs/applications/networking/instant-messengers/wavebox/default.nix +++ b/pkgs/applications/networking/instant-messengers/wavebox/default.nix @@ -8,7 +8,7 @@ with stdenv.lib; let bits = "x86_64"; - version = "4.5.5"; + version = "4.5.9"; desktopItem = makeDesktopItem rec { name = "Wavebox"; @@ -25,7 +25,7 @@ in stdenv.mkDerivation rec { name = "wavebox-${version}"; src = fetchurl { url = "https://github.com/wavebox/waveboxapp/releases/download/v${version}/${tarball}"; - sha256 = "b392e02b3b1b4deece32311aeb69b31c2550c4251be65f408c35b0badbf3c8b6"; + sha256 = "158kj7r5p4p3xk5pwzvbd51h543panmgkr64knv418ksyqjdi16g"; }; # don't remove runtime deps diff --git a/pkgs/applications/networking/syncplay/default.nix b/pkgs/applications/networking/syncplay/default.nix index 5861513e7bd..b8c905345bd 100644 --- a/pkgs/applications/networking/syncplay/default.nix +++ b/pkgs/applications/networking/syncplay/default.nix @@ -2,13 +2,13 @@ python3Packages.buildPythonApplication rec { name = "syncplay-${version}"; - version = "1.6.0"; + version = "1.6.1"; format = "other"; src = fetchurl { - url = https://github.com/Syncplay/syncplay/archive/v1.6.0.tar.gz; - sha256 = "19x7b694p8b3qp578qk8q4g0pybhfjd4zk8rgrggz40s1yyfnwy5"; + url = https://github.com/Syncplay/syncplay/archive/v1.6.1.tar.gz; + sha256 = "15rhbc3r7l012d330hb64p8bhcpy4ydy89iv34c34a1r554b8k97"; }; propagatedBuildInputs = with python3Packages; [ pyside twisted ]; diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index 16649653eb3..b084e4af972 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -3,14 +3,14 @@ let common = { stname, target, postInstall ? "" }: buildGoPackage rec { - version = "0.14.52"; + version = "0.14.54"; name = "${stname}-${version}"; src = fetchFromGitHub { owner = "syncthing"; repo = "syncthing"; rev = "v${version}"; - sha256 = "1qzzbqfyjqlgzysyf6dr0xsm3gn35irmllxjjd94v169swvkk5kd"; + sha256 = "0l73ka71l6gxv46wmlyzj8zhfpfj3vf6nv6x3x0z25ymr3wa2fza"; }; goPackagePath = "github.com/syncthing/syncthing"; diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix index b1aed5e5f59..5d0985b0ba2 100644 --- a/pkgs/applications/office/gnumeric/default.nix +++ b/pkgs/applications/office/gnumeric/default.nix @@ -5,33 +5,23 @@ let inherit (pythonPackages) python pygobject3; - isopub = fetchurl { url = http://www.oasis-open.org/docbook/xml/4.5/ent/isopub.ent; sha256 = "073l492jz70chcadr2p7ssx7gz5hd731s2cazhxx4r845kilyr77"; }; - isonum = fetchurl { url = http://www.oasis-open.org/docbook/xml/4.5/ent/isonum.ent; sha256 = "04b62dw2g3cj9i4vn9xyrsrlz8fpmmijq98dm0nrkky31bwbbrs3"; }; - isogrk1 = fetchurl { url = http://www.oasis-open.org/docbook/xml/4.5/ent/isogrk1.ent; sha256 = "04b23anhs5wr62n4rgsjirzvw7rpjcsf8smz4ffzaqh3b0vw90vm"; }; in stdenv.mkDerivation rec { - name = "gnumeric-1.12.43"; + pname = "gnumeric"; + version = "1.12.44"; src = fetchurl { - url = "mirror://gnome/sources/gnumeric/1.12/${name}.tar.xz"; - sha256 = "87c9abd6260cf29401fa1e0fcce374e8c7bcd1986608e4049f6037c9d32b5fd5"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0147962c6ybdsj57rz95nla0rls7g545wc2n7pz59zmzyd5pksk0"; }; configureFlags = [ "--disable-component" ]; - prePatch = '' - substituteInPlace doc/C/gnumeric.xml \ - --replace http://www.oasis-open.org/docbook/xml/4.5/ent/isopub.ent ${isopub} \ - --replace http://www.oasis-open.org/docbook/xml/4.5/ent/isonum.ent ${isonum} \ - --replace http://www.oasis-open.org/docbook/xml/4.5/ent/isogrk1.ent ${isogrk1} - ''; - - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig intltool bison itstool makeWrapper ]; # ToDo: optional libgda, introspection? buildInputs = [ - intltool bison - goffice gtk3 makeWrapper gnome3.defaultIconTheme - python pygobject3 itstool + goffice gtk3 gnome3.defaultIconTheme + python pygobject3 ] ++ (with perlPackages; [ perl XMLParser ]); enableParallelBuilding = true; @@ -44,6 +34,12 @@ in stdenv.mkDerivation rec { done ''; + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + }; + }; + meta = with stdenv.lib; { description = "The GNOME Office Spreadsheet"; license = stdenv.lib.licenses.gpl2Plus; diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix index 26a141dc506..a3e2bdd4d1e 100644 --- a/pkgs/applications/office/zim/default.nix +++ b/pkgs/applications/office/zim/default.nix @@ -9,11 +9,11 @@ python2Packages.buildPythonApplication rec { name = "zim-${version}"; - version = "0.68"; + version = "0.69"; src = fetchurl { url = "http://zim-wiki.org/downloads/${name}.tar.gz"; - sha256 = "05fzb24a2s3pm89zb6gwa48wb925an5i652klx8yk9pn23h1h5fr"; + sha256 = "1j04l1914iw87b0jd3r1czrh0q491fdgbqbi0biacxiri5q0i6a1"; }; propagatedBuildInputs = with python2Packages; [ pyGtkGlade pyxdg pygobject2 ]; @@ -42,5 +42,6 @@ python2Packages.buildPythonApplication rec { homepage = http://zim-wiki.org; license = licenses.gpl2Plus; maintainers = with maintainers; [ pSub ]; + broken = stdenv.isDarwin; # https://github.com/NixOS/nixpkgs/pull/52658#issuecomment-449565790 }; } diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix index cb7b2fbff3c..eb7ba2a8c9c 100644 --- a/pkgs/applications/science/astronomy/stellarium/default.nix +++ b/pkgs/applications/science/astronomy/stellarium/default.nix @@ -6,13 +6,13 @@ mkDerivation rec { name = "stellarium-${version}"; - version = "0.18.2"; + version = "0.18.3"; src = fetchFromGitHub { owner = "Stellarium"; repo = "stellarium"; rev = "v${version}"; - sha256 = "17764i52dmipaz62k5n23fyx07d7cjir0dgav0s5b6sjd8gbjwbf"; + sha256 = "1cnwfk3vdsxh8gacw22qik401z0kpzd1ralbg9ph2cjqx9x2m1s1"; }; nativeBuildInputs = [ cmake perl ]; diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix index 9c7de486573..ad37a3a7dab 100644 --- a/pkgs/applications/science/biology/picard-tools/default.nix +++ b/pkgs/applications/science/biology/picard-tools/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "picard-tools-${version}"; - version = "2.18.17"; + version = "2.18.20"; src = fetchurl { url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar"; - sha256 = "0ks7ymrjfya5h77hp0bqyipzdri0kf97c8wks32nvwkj821687zm"; + sha256 = "0dx6fxn6d7mawkah242fdi9wm8pdzmm4m004fb9ak2fsvrs2m5pk"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/science/electronics/dsview/default.nix b/pkgs/applications/science/electronics/dsview/default.nix new file mode 100644 index 00000000000..af3844f4731 --- /dev/null +++ b/pkgs/applications/science/electronics/dsview/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchFromGitHub, pkgconfig, cmake, autoreconfHook, +glib, libzip, boost, fftw, qtbase, +libusb, makeWrapper, libsigrok4dsl, libsigrokdecode4dsl +}: + +stdenv.mkDerivation rec { + name = "dsview-${version}"; + + version = "0.99"; + + src = fetchFromGitHub { + owner = "DreamSourceLab"; + repo = "DSView"; + rev = version; + sha256 = "189i3baqgn8k3aypalayss0g489xi0an9hmvyggvxmgg1cvcwka2"; + }; + + postUnpack = '' + export sourceRoot=$sourceRoot/DSView + ''; + + patches = [ + # Fix absolute install paths + ./install.patch + ]; + + nativeBuildInputs = [ cmake pkgconfig makeWrapper ]; + + buildInputs = [ + boost fftw qtbase libusb libzip libsigrokdecode4dsl libsigrok4dsl + ]; + + enableParallelBuilding = true; + + postFixup = '' + wrapProgram $out/bin/DSView --suffix QT_PLUGIN_PATH : \ + ${qtbase.bin}/${qtbase.qtPluginPrefix} + ''; + + meta = with stdenv.lib; { + description = "A GUI program for supporting various instruments from DreamSourceLab, including logic analyzer, oscilloscope, etc"; + homepage = http://www.dreamsourcelab.com/; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bachp ]; + }; +} diff --git a/pkgs/applications/science/electronics/dsview/install.patch b/pkgs/applications/science/electronics/dsview/install.patch new file mode 100644 index 00000000000..e30a28d80fa --- /dev/null +++ b/pkgs/applications/science/electronics/dsview/install.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c1c33e1..208a184 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -403,8 +403,8 @@ install(DIRECTORY res DESTINATION share/${PROJECT_NAME}) + install(FILES icons/logo.png DESTINATION share/${PROJECT_NAME} RENAME logo.png) + install(FILES ../NEWS DESTINATION share/${PROJECT_NAME} RENAME NEWS) + install(FILES ../ug.pdf DESTINATION share/${PROJECT_NAME} RENAME ug.pdf) +-install(FILES DreamSourceLab.rules DESTINATION /etc/udev/rules.d/) +-install(FILES DSView.desktop DESTINATION /usr/share/applications/) ++install(FILES DreamSourceLab.rules DESTINATION etc/udev/rules.d/) ++install(FILES DSView.desktop DESTINATION share/applications/) + + #=============================================================================== + #= Packaging (handled by CPack) diff --git a/pkgs/applications/science/electronics/dsview/libsigrok4dsl.nix b/pkgs/applications/science/electronics/dsview/libsigrok4dsl.nix new file mode 100644 index 00000000000..4a681907e19 --- /dev/null +++ b/pkgs/applications/science/electronics/dsview/libsigrok4dsl.nix @@ -0,0 +1,28 @@ +{ stdenv, pkgconfig, autoreconfHook, +glib, libzip, libserialport, check, libusb, libftdi, +systemd, alsaLib, dsview +}: + +stdenv.mkDerivation rec { + inherit (dsview) version src; + + name = "libsigrok4dsl-${version}"; + + postUnpack = '' + export sourceRoot=$sourceRoot/libsigrok4DSL + ''; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + + buildInputs = [ + glib libzip libserialport libusb libftdi systemd check alsaLib + ]; + + meta = with stdenv.lib; { + description = "A fork of the sigrok library for usage with DSView"; + homepage = http://www.dreamsourcelab.com/; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bachp ]; + }; +} diff --git a/pkgs/applications/science/electronics/dsview/libsigrokdecode4dsl.nix b/pkgs/applications/science/electronics/dsview/libsigrokdecode4dsl.nix new file mode 100644 index 00000000000..58f32f2ae6c --- /dev/null +++ b/pkgs/applications/science/electronics/dsview/libsigrokdecode4dsl.nix @@ -0,0 +1,27 @@ +{ stdenv, pkgconfig, autoreconfHook, +glib, check, python3, dsview +}: + +stdenv.mkDerivation rec { + inherit (dsview) version src; + + name = "libsigrokdecode4dsl-${version}"; + + postUnpack = '' + export sourceRoot=$sourceRoot/libsigrokdecode4DSL + ''; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + + buildInputs = [ + python3 glib check + ]; + + meta = with stdenv.lib; { + description = "A fork of the sigrokdecode library for usage with DSView"; + homepage = http://www.dreamsourcelab.com/; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bachp ]; + }; +} diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix index ab9f6af85d3..fdee3e013de 100644 --- a/pkgs/applications/science/electronics/verilator/default.nix +++ b/pkgs/applications/science/electronics/verilator/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "verilator-${version}"; - version = "4.006"; + version = "4.008"; src = fetchurl { url = "https://www.veripool.org/ftp/${name}.tgz"; - sha256 = "0vnybpknf4llw3fw800ffiqj89ilbq06j8b2x4syj2gsrlnjvp1i"; + sha256 = "1b0cj7bb2a3hrfaziix7p9idcpbygapdl0nrfr3pbdxxsgnzdknm"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/science/logic/aspino/default.nix b/pkgs/applications/science/logic/aspino/default.nix index d7a5e7b4c83..bf8d3cf03b8 100644 --- a/pkgs/applications/science/logic/aspino/default.nix +++ b/pkgs/applications/science/logic/aspino/default.nix @@ -44,5 +44,7 @@ stdenv.mkDerivation rec { platforms = platforms.unix; license = licenses.asl20; homepage = http://alviano.net/software/maxino/; + # See pkgs/applications/science/logic/glucose/default.nix + badPlatforms = [ "aarch64-linux" ]; }; } diff --git a/pkgs/applications/science/logic/avy/default.nix b/pkgs/applications/science/logic/avy/default.nix index 218006e15d5..6c2d2f0a062 100644 --- a/pkgs/applications/science/logic/avy/default.nix +++ b/pkgs/applications/science/logic/avy/default.nix @@ -46,5 +46,8 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.mit; maintainers = with stdenv.lib.maintainers; [ thoughtpolice ]; platforms = stdenv.lib.platforms.linux; + # See pkgs/applications/science/logic/glucose/default.nix + # (The error is different due to glucose-fenv.patch, but the same) + badPlatforms = [ "aarch64-linux" ]; }; } diff --git a/pkgs/applications/science/logic/glucose/default.nix b/pkgs/applications/science/logic/glucose/default.nix index a0035f96539..bc8d372ce42 100644 --- a/pkgs/applications/science/logic/glucose/default.nix +++ b/pkgs/applications/science/logic/glucose/default.nix @@ -23,5 +23,7 @@ stdenv.mkDerivation rec { license = licenses.mit; platforms = platforms.unix; maintainers = with maintainers; [ gebner ]; + # Build uses _FPU_EXTENDED macro + badPlatforms = [ "aarch64-linux" ]; }; } diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix index 5cd6bbf4bdd..4283ebd931a 100644 --- a/pkgs/applications/science/math/R/default.nix +++ b/pkgs/applications/science/math/R/default.nix @@ -8,11 +8,11 @@ }: stdenv.mkDerivation rec { - name = "R-3.5.1"; + name = "R-3.5.2"; src = fetchurl { url = "https://cran.r-project.org/src/base/R-3/${name}.tar.gz"; - sha256 = "0463bff5eea0f3d93fa071f79c18d0993878fd4f2e18ae6cf22c1639d11457ed"; + sha256 = "0qjvdic1qd5vndc4f0wjndpm0x18lbvbcc8nkix8saqgy8y8qgg5"; }; dontUseImakeConfigure = true; diff --git a/pkgs/applications/version-management/git-and-tools/git-secret/default.nix b/pkgs/applications/version-management/git-and-tools/git-secret/default.nix index 4993910634a..5c6c22ac9cc 100644 --- a/pkgs/applications/version-management/git-and-tools/git-secret/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-secret/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper, git, gnupg }: +{ stdenv, lib, fetchFromGitHub, makeWrapper, git, gnupg, gawk }: let version = "0.2.4"; @@ -20,7 +20,7 @@ in stdenv.mkDerivation { install -D git-secret $out/bin/git-secret wrapProgram $out/bin/git-secret \ - --prefix PATH : "${lib.makeBinPath [ git gnupg ]}" + --prefix PATH : "${lib.makeBinPath [ git gnupg gawk ]}" mkdir $out/share cp -r man $out/share diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix index 242c06138eb..8df7c3700a2 100644 --- a/pkgs/applications/version-management/git-repo/default.nix +++ b/pkgs/applications/version-management/git-repo/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { name = "git-repo-${version}"; - version = "1.13.0"; + version = "1.13.1"; src = fetchFromGitHub { owner = "android"; repo = "tools_repo"; rev = "v${version}"; - sha256 = "0078nyz2j3ci9rs0h104xh046n0mcls3xcw5mysi2r7453xj8fkn"; + sha256 = "09p0xv8x7mkmibri7rcl1k4dwh2gj3c7dipkrwrsir6hrwsispd1"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix index 3af24ffe759..eca07b81bac 100644 --- a/pkgs/applications/version-management/gitea/default.nix +++ b/pkgs/applications/version-management/gitea/default.nix @@ -7,13 +7,13 @@ with stdenv.lib; buildGoPackage rec { name = "gitea-${version}"; - version = "1.6.0"; + version = "1.6.2"; src = fetchFromGitHub { owner = "go-gitea"; repo = "gitea"; rev = "v${version}"; - sha256 = "01nqf8pnpa0n72brqh499z15rys6f0ck7l2cnpbiqgg3kir8b21p"; + sha256 = "1ijxpihdg8k6gs1xpim0iviqakvjadjzp0a5ki2czykilnyg8y85"; # Required to generate the same checksum on MacOS due to unicode encoding differences # More information: https://github.com/NixOS/nixpkgs/pull/48128 extraPostFetch = '' @@ -33,7 +33,12 @@ buildGoPackage rec { nativeBuildInputs = [ makeWrapper ]; - buildFlags = optionalString sqliteSupport "-tags sqlite"; + buildFlags = optional sqliteSupport "-tags sqlite"; + buildFlagsArray = '' + -ldflags= + -X=main.Version=${version} + ${optionalString sqliteSupport "-X=main.Tags=sqlite"} + ''; outputs = [ "bin" "out" "data" ]; diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix index d59b7241230..f5127094bc9 100644 --- a/pkgs/applications/version-management/mercurial/default.nix +++ b/pkgs/applications/version-management/mercurial/default.nix @@ -49,8 +49,9 @@ in python2Packages.buildPythonApplication { cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin chmod u+x $out/share/cgi-bin/hgweb.cgi - # install bash completion - install -D -v contrib/bash_completion $out/share/bash-completion/completions/mercurial + # install bash/zsh completions + install -v -m644 -D contrib/bash_completion $out/share/bash-completion/completions/_hg + install -v -m644 -D contrib/zsh_completion $out/share/zsh/site-functions/_hg ''; meta = { diff --git a/pkgs/applications/version-management/src/default.nix b/pkgs/applications/version-management/src/default.nix index 4a4879600ae..1054a2c06cf 100644 --- a/pkgs/applications/version-management/src/default.nix +++ b/pkgs/applications/version-management/src/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "src-${version}"; - version = "1.18"; + version = "1.22"; src = fetchurl { url = "http://www.catb.org/~esr/src/${name}.tar.gz"; - sha256 = "0n0skhvya8w2az45h2gsafxy8m2mvqas64nrgxifcmrzfv0rf26c"; + sha256 = "0xvfg3aikr2jh09vjvxsha7day5br88chvirncr59ad40da1fils"; }; buildInputs = [ python rcs git makeWrapper ]; diff --git a/pkgs/applications/video/vdr/default.nix b/pkgs/applications/video/vdr/default.nix new file mode 100644 index 00000000000..0ad0b04e7e4 --- /dev/null +++ b/pkgs/applications/video/vdr/default.nix @@ -0,0 +1,78 @@ +{ stdenv, fetchurl, fontconfig, libjpeg, libcap, freetype, fribidi, pkgconfig +, gettext, ncurses, systemd, perl +, enableSystemd ? true +, enableBidi ? true +}: +let + + version = "2.4.0"; + + name = "vdr-${version}"; + + mkPlugin = name: stdenv.mkDerivation { + name = "vdr-${name}-${version}"; + inherit (vdr) src; + buildInputs = [ vdr ]; + preConfigure = "cd PLUGINS/src/${name}"; + installFlags = [ "DESTDIR=$(out)" ]; + }; + + vdr = stdenv.mkDerivation { + + inherit name; + + src = fetchurl { + url = "ftp://ftp.tvdr.de/vdr/${name}.tar.bz2"; + sha256 = "1klcgy9kr7n6z8d2c77j63bl8hvhx5qnqppg73f77004hzz4kbwk"; + }; + + enableParallelBuilding = true; + + postPatch = "substituteInPlace Makefile --replace libsystemd-daemon libsystemd"; + + buildInputs = [ fontconfig libjpeg libcap freetype ] + ++ stdenv.lib.optional enableSystemd systemd + ++ stdenv.lib.optional enableBidi fribidi; + + buildFlags = [ "vdr" "i18n" ] + ++ stdenv.lib.optional enableSystemd "SDNOTIFY=1" + ++ stdenv.lib.optional enableBidi "BIDI=1"; + + nativeBuildInputs = [ perl ]; + + # plugins uses the same build environment as vdr + propagatedNativeBuildInputs = [ pkgconfig gettext ]; + + installFlags = [ + "DESTDIR=$(out)" + "PREFIX=" # needs to be empty, otherwise plugins try to install at same prefix + ]; + + installTargets = [ "install-pc" "install-bin" "install-doc" "install-i18n" + "install-includes" ]; + + postInstall = '' + mkdir -p $out/lib/vdr # only needed if vdr is started without any plugin + mkdir -p $out/share/vdr/conf + cp *.conf $out/share/vdr/conf + ''; + + outputs = [ "out" "dev" "man" ]; + + meta = with stdenv.lib; { + homepage = http://www.tvdr.de/; + description = "Video Disc Recorder"; + maintainers = [ maintainers.ck3d ]; + platforms = [ "i686-linux" "x86_64-linux" ]; + license = licenses.gpl2; + }; + + }; +in vdr // { + plugins = { + skincurses = (mkPlugin "skincurses").overrideAttrs( + oldAttr: { buildInputs = oldAttr.buildInputs ++ [ ncurses ]; }); + } // (stdenv.lib.genAttrs [ + "epgtableid0" "hello" "osddemo" "pictures" "servicedemo" "status" "svdrpdemo" + ] mkPlugin); +} diff --git a/pkgs/applications/video/vdr/plugins.nix b/pkgs/applications/video/vdr/plugins.nix new file mode 100644 index 00000000000..0e543390c4b --- /dev/null +++ b/pkgs/applications/video/vdr/plugins.nix @@ -0,0 +1,318 @@ +{ stdenv, fetchurl, fetchgit, vdr, ffmpeg_2, alsaLib, fetchFromGitHub +, libvdpau, libxcb, xcbutilwm, graphicsmagick, libav, pcre, xorgserver, ffmpeg +, libiconv, boost, libgcrypt, perl, utillinux, groff, libva, xorg }: +{ + femon = stdenv.mkDerivation rec { + + name = "vdr-femon-2.4.0"; + + buildInputs = [ vdr ]; + + src = fetchurl { + url = "http://www.saunalahti.fi/~rahrenbe/vdr/femon/files/${name}.tgz"; + sha256 = "1hra1xslj8s68zbyr8zdqp8yap0aj1p6rxyc6cwy1j122kwcnapp"; + }; + + postPatch = "substituteInPlace Makefile --replace /bin/true true"; + + makeFlags = [ "DESTDIR=$(out)" ]; + + meta = with stdenv.lib; { + homepage = http://www.saunalahti.fi/~rahrenbe/vdr/femon/; + description = "DVB Frontend Status Monitor plugin for VDR"; + maintainers = [ maintainers.ck3d ]; + license = licenses.gpl2; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; + + }; + + vaapidevice = stdenv.mkDerivation { + + name = "vdr-vaapidevice-0.7.0"; + + buildInputs = [ + vdr libxcb xcbutilwm ffmpeg + alsaLib + libvdpau # vdpau + libva # va-api + ] ++ (with xorg; [ libxcb libX11 ]); + + makeFlags = [ "DESTDIR=$(out)" ]; + + postPatch = '' + substituteInPlace softhddev.c --replace /usr/bin/X ${xorgserver}/bin/X + ''; + + src = fetchFromGitHub { + owner = "pesintta"; + repo = "vdr-plugin-vaapidevice"; + sha256 = "072y61fpkh3i2dragg0nsd4g3malgwxkwpdrb1ykdljyzf52s5hs"; + rev = "c99afc23a53e6d91f9afaa99af59b30e68e626a8"; + }; + + meta = with stdenv.lib; { + homepage = https://github.com/pesintta/vdr-plugin-vaapidevice; + description = "VDR SoftHDDevice Plug-in (with VA-API VPP additions)"; + maintainers = [ maintainers.ck3d ]; + license = licenses.gpl2; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; + + }; + + + markad = stdenv.mkDerivation rec { + name = "vdr-markad-2017-03-13"; + + src = fetchgit { + url = "git://projects.vdr-developer.org/vdr-plugin-markad.git"; + sha256 = "0jvy70r8bcmbs7zdqilfz019z5xkz5c6rs57h1dsgv8v6x86c2i4"; + rev = "ea2e182ec798375f3830f8b794e7408576f139ad"; + }; + + buildInputs = [ vdr libav ]; + + postPatch = '' + substituteInPlace command/Makefile --replace '$(DESTDIR)/usr' '$(DESTDIR)' + + substituteInPlace plugin/markad.cpp \ + --replace "/usr/bin" "$out/bin" \ + --replace "/var/lib/markad" "$out/var/lib/markad" + + substituteInPlace command/markad-standalone.cpp \ + --replace "/var/lib/markad" "$out/var/lib/markad" + ''; + + preBuild = '' + mkdir -p $out/lib/vdr + ''; + + buildFlags = [ + "DESTDIR=$(out)" + "LIBDIR=$(out)/lib/vdr" + "VDRDIR=${vdr.dev}/include/vdr" + "LOCALEDIR=$(DESTDIR)/share/locale" + ]; + + installFlags = buildFlags; + + meta = with stdenv.lib; { + homepage = https://projects.vdr-developer.org/projects/plg-markad; + description = "Ein Programm zum automatischen Setzen von Schnittmarken bei Werbeeinblendungen während einer Sendung."; + maintainers = [ maintainers.ck3d ]; + license = licenses.gpl2; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; + + }; + + epgsearch = stdenv.mkDerivation rec { + pname = "vdr-epgsearch"; + version = "2.4.0"; + + src = fetchurl { + url = "https://projects.vdr-developer.org/git/vdr-plugin-epgsearch.git/snapshot/vdr-plugin-epgsearch-${version}.tar.bz2"; + sha256 = "0xfgn17vicyjwdf0rbkrik4q16mnfi305d4wmi8f0qk825pa0z3y"; + }; + + postPatch = '' + for f in *.sh; do + patchShebangs "$f" + done + ''; + + nativeBuildInputs = [ + perl # for pod2man and pos2html + utillinux + groff + ]; + + buildInputs = [ + vdr + pcre + ]; + + buildFlags = [ + "SENDMAIL=" + "REGEXLIB=pcre" + ]; + + installFlags = [ + "DESTDIR=$(out)" + ]; + + outputs = [ "out" "man" ]; + + meta = with stdenv.lib; { + homepage = http://winni.vdr-developer.org/epgsearch; + description = "Searchtimer and replacement of the VDR program menu"; + maintainers = [ maintainers.ck3d ]; + license = licenses.gpl2; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; + + }; + + vnsiserver = let + name = "vnsiserver"; + version = "1.8.0"; + in stdenv.mkDerivation { + name = "vdr-${name}-${version}"; + + buildInputs = [ vdr ]; + + installFlags = [ "DESTDIR=$(out)" ]; + + src = fetchFromGitHub { + repo = "vdr-plugin-${name}"; + owner = "FernetMenta"; + rev = "v${version}"; + sha256 = "0n7idpxqx7ayd63scl6xwdx828ik4kb2mwz0c30cfjnmnxxd45lw"; + }; + + meta = with stdenv.lib; { + homepage = https://github.com/FernetMenta/vdr-plugin-vnsiserver; + description = "VDR plugin to handle KODI clients."; + maintainers = [ maintainers.ck3d ]; + license = licenses.gpl2; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; + + }; + + text2skin = stdenv.mkDerivation rec { + name = "vdr-text2skin-1.3.4-20170702"; + + src = fetchgit { + url = "git://projects.vdr-developer.org/vdr-plugin-text2skin.git"; + sha256 = "19hkwmaw6nwak38bv6cm2vcjjkf4w5yjyxb98qq6zfjjh5wq54aa"; + rev = "8f7954da2488ced734c30e7c2704b92a44e6e1ad"; + }; + + buildInputs = [ vdr graphicsmagick ]; + + buildFlags = [ + "DESTDIR=$(out)" + "IMAGELIB=graphicsmagic" + "VDRDIR=${vdr.dev}/include/vdr" + "LOCALEDIR=$(DESTDIR)/share/locale" + "LIBDIR=$(DESTDIR)/lib/vdr" + ]; + + preBuild = '' + mkdir -p $out/lib/vdr + ''; + + installPhase = ":"; + + meta = with stdenv.lib; { + homepage = https://projects.vdr-developer.org/projects/plg-text2skin; + description = "VDR Text2Skin Plugin"; + maintainers = [ maintainers.ck3d ]; + license = licenses.gpl2; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; + }; + + fritzbox = let + libconvpp = stdenv.mkDerivation { + name = "jowi24-libconv++-20130216"; + propagatedBuildInputs = [ libiconv ]; + CXXFLAGS = "-std=gnu++11 -Os"; + src = fetchFromGitHub { + owner = "jowi24"; + repo = "libconvpp"; + rev = "90769b2216bc66c5ea5e41a929236c20d367c63b"; + sha256 = "0bf0dwxrzd42l84p8nxcsjdk1gvzlhad93nsbn97z6kr61n4cr33"; + }; + installPhase = '' + mkdir -p $out/lib $out/include/libconv++ + cp source.a $out/lib/libconv++.a + cp *.h $out/include/libconv++ + ''; + }; + + liblogpp = stdenv.mkDerivation { + name = "jowi24-liblogpp-20130216"; + CXXFLAGS = "-std=gnu++11 -Os"; + src = fetchFromGitHub { + owner = "jowi24"; + repo = "liblogpp"; + rev = "eee4046d2ae440974bcc8ceec00b069f0a2c62b9"; + sha256 = "01aqvwmwh5kk3mncqpim8llwha9gj5qq0c4cvqfn4h8wqi3d9l3p"; + }; + installPhase = '' + mkdir -p $out/lib $out/include/liblog++ + cp source.a $out/lib/liblog++.a + cp *.h $out/include/liblog++ + ''; + }; + + libnetpp = stdenv.mkDerivation { + name = "jowi24-libnet++-20180628"; + CXXFLAGS = "-std=gnu++11 -Os"; + src = fetchFromGitHub { + owner = "jowi24"; + repo = "libnetpp"; + rev = "212847f0efaeffee8422059b8e202d844174aaf3"; + sha256 = "0vjl6ld6aj25rzxm26yjv3h2gy7gp7qnbinpw6sf1shg2xim9x0b"; + }; + installPhase = '' + mkdir -p $out/lib $out/include/libnet++ + cp source.a $out/lib/libnet++.a + cp *.h $out/include/libnet++ + ''; + buildInputs = [ boost liblogpp libconvpp ]; + }; + + libfritzpp = stdenv.mkDerivation { + name = "jowi24-libfritzpp-20131201"; + CXXFLAGS = "-std=gnu++11 -Os"; + src = fetchFromGitHub { + owner = "jowi24"; + repo = "libfritzpp"; + rev = "ca19013c9451cbac7a90155b486ea9959ced0f67"; + sha256 = "0jk93zm3qzl9z96gfs6xl1c8ip8lckgbzibf7jay7dbgkg9kyjfg"; + }; + installPhase = '' + mkdir -p $out/lib $out/include/libfritz++ + cp source.a $out/lib/libfritz++.a + cp *.h $out/include/libfritz++ + ''; + propagatedBuildInputs = [ libgcrypt ]; + buildInputs = [ boost liblogpp libconvpp libnetpp ]; + }; + + in stdenv.mkDerivation rec { + pname = "vdr-fritzbox"; + + version = "1.5.3"; + + src = fetchFromGitHub { + owner = "jowi24"; + repo = "vdr-fritz"; + rev = version; + sha256 = "0wab1kyma9jzhm6j33cv9hd2a5d1334ghgdi2051nmr1bdcfcsw8"; + }; + + postUnpack = '' + cp ${libfritzpp}/lib/* $sourceRoot/libfritz++ + cp ${liblogpp}/lib/* $sourceRoot/liblog++ + cp ${libnetpp}/lib/* $sourceRoot/libnet++ + cp ${libconvpp}/lib/* $sourceRoot/libconv++ + ''; + + buildInputs = [ vdr boost libconvpp libfritzpp libnetpp liblogpp ]; + + installFlags = [ "DESTDIR=$(out)" ]; + + meta = with stdenv.lib; { + homepage = https://github.com/jowi24/vdr-fritz; + description = "A plugin for VDR to access AVMs Fritz Box routers"; + maintainers = [ maintainers.ck3d ]; + license = licenses.gpl2; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; + }; +} diff --git a/pkgs/applications/video/vdr/wrapper.nix b/pkgs/applications/video/vdr/wrapper.nix new file mode 100644 index 00000000000..2272d1605fd --- /dev/null +++ b/pkgs/applications/video/vdr/wrapper.nix @@ -0,0 +1,21 @@ +{ symlinkJoin, lib, makeWrapper, vdr, plugins ? [] }: +symlinkJoin { + + name = "vdr-with-plugins-${(builtins.parseDrvName vdr.name).version}"; + + paths = [ vdr ] ++ plugins; + + nativeBuildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram $out/bin/vdr --add-flags "-L $out/lib/vdr --localedir=$out/share/locale" + ''; + + meta = with vdr.meta; { + inherit license homepage; + description = description + + " (with plugins: " + + lib.concatStrings (lib.intersperse ", " (map (x: ""+x.name) plugins)) + + ")"; + }; +} diff --git a/pkgs/applications/virtualization/firecracker/default.nix b/pkgs/applications/virtualization/firecracker/default.nix new file mode 100644 index 00000000000..7d8772da73d --- /dev/null +++ b/pkgs/applications/virtualization/firecracker/default.nix @@ -0,0 +1,35 @@ +{ fetchurl, stdenv }: + +let + version = "0.12.0"; + baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download"; + + fetchbin = name: sha256: fetchurl { + url = "${baseurl}/v${version}/${name}-v${version}"; + inherit sha256; + }; + + firecracker-bin = fetchbin "firecracker" "0jk9w5kagqp3w668c1x0g4yyahmy7696pm0bkhv066rrdpcqpw66"; + jailer-bin = fetchbin "jailer" "1fcxzpnapnccklgbi4bis3f6c9fki2daxvzg9l7433vfqz2zbyjl"; +in +stdenv.mkDerivation { + name = "firecracker-${version}"; + inherit version; + + srcs = [ firecracker-bin jailer-bin ]; + phases = [ "installPhase" ]; + + installPhase = '' + mkdir -p $out/bin + install -D ${firecracker-bin} $out/bin/firecracker + install -D ${jailer-bin} $out/bin/jailer + ''; + + meta = with stdenv.lib; { + description = "Secure, fast, minimal micro-container virtualization"; + homepage = http://firecracker-microvm.io; + license = licenses.asl20; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ thoughtpolice ]; + }; +} diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix index be5b8f62108..b89ef1dd7bf 100644 --- a/pkgs/applications/virtualization/runc/default.nix +++ b/pkgs/applications/virtualization/runc/default.nix @@ -1,9 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, removeReferencesTo, go-md2man -, go, pkgconfig, libapparmor, apparmor-parser, libseccomp }: +{ stdenv, lib, fetchFromGitHub, buildGoPackage, go-md2man +, pkgconfig, libapparmor, apparmor-parser, libseccomp, which }: with lib; -stdenv.mkDerivation rec { +buildGoPackage rec { name = "runc-${version}"; version = "1.0.0-rc6"; @@ -14,32 +14,26 @@ stdenv.mkDerivation rec { sha256 = "1jwacb8xnmx5fr86gximhbl9dlbdwj3rpf27hav9q1si86w5pb1j"; }; - outputs = [ "out" "man" ]; + goPackagePath = "github.com/opencontainers/runc"; + outputs = [ "bin" "out" "man" ]; hardeningDisable = ["fortify"]; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ removeReferencesTo go-md2man go libseccomp libapparmor apparmor-parser ]; + buildInputs = [ go-md2man libseccomp libapparmor apparmor-parser which ]; makeFlags = ''BUILDTAGS+=seccomp BUILDTAGS+=apparmor''; - preConfigure = '' - # Extract the source - cd "$NIX_BUILD_TOP" - mkdir -p "go/src/github.com/opencontainers" - mv "$sourceRoot" "go/src/github.com/opencontainers/runc" - export GOPATH=$NIX_BUILD_TOP/go:$GOPATH - ''; - - preBuild = '' - cd go/src/github.com/opencontainers/runc + buildPhase = '' + cd go/src/${goPackagePath} patchShebangs . substituteInPlace libcontainer/apparmor/apparmor.go \ --replace /sbin/apparmor_parser ${apparmor-parser}/bin/apparmor_parser + make ${makeFlags} runc ''; installPhase = '' - install -Dm755 runc $out/bin/runc + install -Dm755 runc $bin/bin/runc # Include contributed man pages man/md2man-all.sh -q @@ -55,10 +49,6 @@ stdenv.mkDerivation rec { done ''; - preFixup = '' - find $out/bin -type f -exec remove-references-to -t ${go} '{}' + - ''; - meta = { homepage = https://runc.io/; description = "A CLI tool for spawning and running containers according to the OCI specification"; diff --git a/pkgs/applications/window-managers/dwm/dwm-status.nix b/pkgs/applications/window-managers/dwm/dwm-status.nix index f88ef63bc2e..d846ab7e29d 100644 --- a/pkgs/applications/window-managers/dwm/dwm-status.nix +++ b/pkgs/applications/window-managers/dwm/dwm-status.nix @@ -9,23 +9,22 @@ in rustPlatform.buildRustPackage rec { name = "dwm-status-${version}"; - version = "1.4.1"; + version = "1.5.0"; src = fetchFromGitHub { owner = "Gerschtli"; repo = "dwm-status"; rev = version; - sha256 = "054lwgqpx3kbrnlsqbnd8fxsawvw3nl702pf56c7dcm4sfws15nl"; + sha256 = "0mfzpyacd7i6ipbjwyl1zc0x3lnz0f4qqzsmsb07p047z95mw4v6"; }; nativeBuildInputs = [ makeWrapper pkgconfig ]; buildInputs = [ dbus gdk_pixbuf libnotify xorg.libX11 ]; - cargoSha256 = "0wbbbk99hxxlrkm389iqni9aqvw2laarwk6hhwsr4ph3y278qhi8"; + cargoSha256 = "1cngcacsbzijs55k4kz8fidki3p8jblk3v5s21hjsn4glzjdbkmm"; postInstall = lib.optionalString enableAlsaUtils '' - wrapProgram $out/bin/dwm-status \ - --prefix "PATH" : "${binPath}" + wrapProgram $out/bin/dwm-status --prefix "PATH" : "${binPath}" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/window-managers/yabar/unstable.nix b/pkgs/applications/window-managers/yabar/unstable.nix index 77abc0c7ed4..47c8f6c5e56 100644 --- a/pkgs/applications/window-managers/yabar/unstable.nix +++ b/pkgs/applications/window-managers/yabar/unstable.nix @@ -1,4 +1,4 @@ -{ playerctl, libxkbcommon, callPackage, attrs ? {} }: +{ fetchpatch, playerctl, libxkbcommon, callPackage, attrs ? {} }: let pkg = callPackage ./build.nix ({ @@ -15,4 +15,11 @@ in pkg.overrideAttrs (o: { makeFlags = o.makeFlags ++ [ "PLAYERCTL=1" ]; + + patches = (o.patches or []) ++ [ + (fetchpatch { + url = "https://github.com/geommer/yabar/commit/008dc1420ff684cf12ce2ef3ac9d642e054e39f5.patch"; + sha256 = "1q7nd66ai6nr2m6iqxn55gvbr4r5gjc00c8wyjc3riv31qcbqbhv"; + }) + ]; }) diff --git a/pkgs/data/fonts/source-sans-pro/default.nix b/pkgs/data/fonts/source-sans-pro/default.nix index fccb231f4ca..1561605b6ad 100644 --- a/pkgs/data/fonts/source-sans-pro/default.nix +++ b/pkgs/data/fonts/source-sans-pro/default.nix @@ -1,16 +1,18 @@ { stdenv, fetchzip }: fetchzip { - name = "source-sans-pro-2.010"; + name = "source-sans-pro-2.040"; - url = "https://github.com/adobe-fonts/source-sans-pro/archive/2.010R-ro/1.065R-it.zip"; + url = "https://github.com/adobe-fonts/source-sans-pro/releases/download/2.040R-ro%2F1.090R-it/source-sans-pro-2.040R-ro-1.090R-it.zip"; postFetch = '' - mkdir -p $out/share/fonts/opentype - unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype + mkdir -p $out/share/fonts/opentype $out/share/fonts/truetype $out/share/fonts/variable + unzip -j $downloadedFile "*/OTF/*.otf" -d $out/share/fonts/opentype + unzip -j $downloadedFile "*/TTF/*.ttf" -d $out/share/fonts/truetype + unzip -j $downloadedFile "*/VAR/*.otf" -d $out/share/fonts/variable ''; - sha256 = "17rgkh54arybmcdg750ynw32x2sps7p9vrvq9kpih8vdghwrh9k2"; + sha256 = "1n7z9xpxls74xxjsa61df1ln86y063m07w1f4sbxpjaa0frim4pp"; meta = with stdenv.lib; { homepage = https://sourceforge.net/adobe/sourcesans; diff --git a/pkgs/misc/themes/plano/default.nix b/pkgs/data/themes/plano/default.nix similarity index 89% rename from pkgs/misc/themes/plano/default.nix rename to pkgs/data/themes/plano/default.nix index e1d319ba8c1..e878943ff62 100644 --- a/pkgs/misc/themes/plano/default.nix +++ b/pkgs/data/themes/plano/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "plano-theme-${version}"; - version = "3.28-3"; + version = "3.30-2"; src = fetchFromGitHub { owner = "lassekongo83"; repo = "plano-theme"; rev = "v${version}"; - sha256 = "0k9jgnifc2s8vsw9fanknx1mg8vlh6qa1cbb910nm4vgrxsbrc74"; + sha256 = "06yagpb0dpb8nzh3lvs607rzg6y5l6skl4mjcmbxayapsqka45hj"; }; buildInputs = [ gdk_pixbuf gtk_engines ]; diff --git a/pkgs/misc/themes/shades-of-gray/default.nix b/pkgs/data/themes/shades-of-gray/default.nix similarity index 80% rename from pkgs/misc/themes/shades-of-gray/default.nix rename to pkgs/data/themes/shades-of-gray/default.nix index 009a45b39dd..64cc2be5998 100644 --- a/pkgs/misc/themes/shades-of-gray/default.nix +++ b/pkgs/data/themes/shades-of-gray/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "shades-of-gray-theme-${version}"; - version = "1.1.1"; + version = "1.1.3"; src = fetchFromGitHub { owner = "WernerFP"; repo = "Shades-of-gray-theme"; rev = version; - sha256 = "1m75m6aq4hh39m8qrmbkaw31j4gzkh63ial4xnhw2habf31av682"; + sha256 = "14p1s1pmzqnn9j9vwqfxfd4i045p356a6d9rwzzs0gx3c6ibqx3a"; }; buildInputs = [ gtk_engines ]; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/share/themes - cp -a Shades-of-gray* README.md preview_01.png $out/share/themes/ + cp -a Shades-of-gray* $out/share/themes/ ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix index 4867335af12..94d39964bc4 100644 --- a/pkgs/desktops/gnome-3/core/evince/default.nix +++ b/pkgs/desktops/gnome-3/core/evince/default.nix @@ -4,7 +4,7 @@ , librsvg, gobject-introspection, yelp-tools, gspell , recentListSize ? null # 5 is not enough, allow passing a different number , supportXPS ? false # Open XML Paper Specification via libgxps -, autoreconfHook +, autoreconfHook, pruneLibtoolFiles }: stdenv.mkDerivation rec { @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - pkgconfig gobject-introspection intltool itstool wrapGAppsHook yelp-tools autoreconfHook + pkgconfig gobject-introspection intltool itstool wrapGAppsHook yelp-tools autoreconfHook pruneLibtoolFiles ]; buildInputs = [ diff --git a/pkgs/desktops/gnome-3/core/gnome-software/default.nix b/pkgs/desktops/gnome-3/core/gnome-software/default.nix index fc822be4e0e..3c45842fdd4 100644 --- a/pkgs/desktops/gnome-3/core/gnome-software/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-software/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "gnome-software-${version}"; - version = "3.30.5"; + version = "3.30.6"; src = fetchurl { url = "mirror://gnome/sources/gnome-software/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0d2x208qbkx8szkrfddv1bz4rd9awfhbxvh078j7zrrfmzvq7892"; + sha256 = "00lh1ifgcs888i0774qdz2pzd5vnzcc5kvx20lcmgk37vvf0qqsl"; }; patches = [ diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 29b48873e72..6bf0c5add1f 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -359,8 +359,6 @@ lib.makeScope pkgs.newScope (self: with self; { #### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/ - california = callPackage ./misc/california { }; - geary = callPackage ./misc/geary { }; gfbgraph = callPackage ./misc/gfbgraph { }; diff --git a/pkgs/desktops/gnome-3/misc/california/default.nix b/pkgs/desktops/gnome-3/misc/california/default.nix deleted file mode 100644 index 8024f66650e..00000000000 --- a/pkgs/desktops/gnome-3/misc/california/default.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala_0_34, libgee, wrapGAppsHook, itstool, gobject-introspection -, gnome-online-accounts, evolution-data-server, gnome3, glib, libsoup, libgdata, sqlite, xdg_utils }: - -let - pname = "california"; - version = "0.4.0"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1dky2kllv469k8966ilnf4xrr7z35pq8mdvs7kwziy59cdikapxj"; - }; - - nativeBuildInputs = [ intltool itstool vala_0_34 pkgconfig wrapGAppsHook gobject-introspection ]; - buildInputs = [ glib gtk3 libgee libsoup libgdata gnome-online-accounts evolution-data-server sqlite xdg_utils gnome3.gsettings-desktop-schemas ]; - - enableParallelBuilding = true; - - patches = [ - # Apply Fedora patch to build with evolution-data-server > 3.13 - (fetchurl { - url = https://src.fedoraproject.org/rpms/california/raw/c00bf9924d8fa8cb0a9ec06564d1a1b00c9055af/f/0002-Build-with-evolution-data-server-3.13.90.patch; - sha256 = "0g9923n329p32gzr1q52ad30f8vyz8vrri4rih0w8klmf02ga4pm"; - }) - # Apply Fedora patch to build with libical > 3.0 - (fetchurl { - url = https://src.fedoraproject.org/rpms/california/raw/2af9a6a1b67b53f3fca1472c5350dc11a1acf28f/f/california-0.4.0-libical-3.0.patch; - sha256 = "0cxycfaql0bsiz9hzanns33pwdqpb5n44znfcfa66i1bin34r4n6"; - }) - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with stdenv.lib; { - homepage = https://wiki.gnome.org/Apps/California; - description = "Calendar application for GNOME 3"; - maintainers = with maintainers; [ pSub ]; - license = licenses.lgpl21; - platforms = platforms.linux; - }; -} diff --git a/pkgs/development/mobile/androidenv/androidndk-pkgs.nix b/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix similarity index 77% rename from pkgs/development/mobile/androidenv/androidndk-pkgs.nix rename to pkgs/development/androidndk-pkgs/androidndk-pkgs.nix index d4189fe8455..e43dacce625 100644 --- a/pkgs/development/mobile/androidenv/androidndk-pkgs.nix +++ b/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix @@ -38,14 +38,16 @@ let hostInfo = ndkInfoFun stdenv.hostPlatform; targetInfo = ndkInfoFun stdenv.targetPlatform; - in rec { # Misc tools binaries = let ndkBinDir = - "${androidndk}/libexec/${androidndk.name}/toolchains/${targetInfo.triple}-${targetInfo.gccVer}/prebuilt/${hostInfo.double}/bin"; + "${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/${targetInfo.triple}-${targetInfo.gccVer}/prebuilt/${hostInfo.double}/bin"; + ndkGCCLibDir = + "${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/${targetInfo.triple}-${targetInfo.gccVer}/prebuilt/${hostInfo.double}/lib/gcc/${targetInfo.triple}/4.9.x"; + in runCommand "ndk-gcc-binutils" { isGNU = true; # for cc-wrapper nativeBuildInputs = [ makeWrapper ]; @@ -54,8 +56,15 @@ rec { mkdir -p $out/bin for prog in ${ndkBinDir}/${targetInfo.triple}-*; do prog_suffix=$(basename $prog | sed 's/${targetInfo.triple}-//') - ln -s $prog $out/bin/${stdenv.targetPlatform.config}-$prog_suffix + cat > $out/bin/${stdenv.targetPlatform.config}-$prog_suffix < Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server. - postInstall = '' - echo "Updating Mono key store" - $out/bin/cert-sync ${cacert}/etc/ssl/certs/ca-bundle.crt - '' - # According to [1], gmcs is just mcs - # [1] https://github.com/mono/mono/blob/master/scripts/gmcs.in - + '' - ln -s $out/bin/mcs $out/bin/gmcs - ''; - - inherit enableParallelBuilding; - - meta = with stdenv.lib; { - homepage = http://mono-project.com/; - description = "Cross platform, open source .NET development framework"; - platforms = with platforms; darwin ++ linux; - maintainers = with maintainers; [ thoughtpolice obadz vrthra ]; - license = licenses.free; # Combination of LGPL/X11/GPL ? - }; -} diff --git a/pkgs/development/compilers/mono/generic.nix b/pkgs/development/compilers/mono/generic.nix index 06dcfb8b393..400b040ae85 100644 --- a/pkgs/development/compilers/mono/generic.nix +++ b/pkgs/development/compilers/mono/generic.nix @@ -1,19 +1,10 @@ -{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11 -, callPackage, ncurses, zlib -, cacert, Foundation, libobjc, python - -, version, sha256 -, withLLVM ? false -, enableParallelBuilding ? true -, meta ? {} -}: +{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11, callPackage, ncurses, zlib, withLLVM ? false, cacert, Foundation, libobjc, python, version, sha256, autoconf, libtool, automake, cmake, which, enableParallelBuilding ? true }: let llvm = callPackage ./llvm.nix { }; - name = "mono-${version}"; in -stdenv.mkDerivation { - inherit name; +stdenv.mkDerivation rec { + name = "mono-${version}"; src = fetchurl { inherit sha256; @@ -21,7 +12,7 @@ stdenv.mkDerivation { }; buildInputs = - [ bison pkgconfig glib gettext perl libgdiplus libX11 ncurses zlib python + [ bison pkgconfig glib gettext perl libgdiplus libX11 ncurses zlib python autoconf libtool automake cmake which ] ++ (stdenv.lib.optionals stdenv.isDarwin [ Foundation libobjc ]); @@ -32,8 +23,6 @@ stdenv.mkDerivation { # To overcome the bug https://bugzilla.novell.com/show_bug.cgi?id=644723 dontDisableStatic = true; - # In fact I think this line does not help at all to what I - # wanted to achieve: have mono to find libgdiplus automatically configureFlags = [ "--x-includes=${libX11.dev}/include" "--x-libraries=${libX11.out}/lib" @@ -41,10 +30,14 @@ stdenv.mkDerivation { ] ++ stdenv.lib.optionals withLLVM [ "--enable-llvm" - "--enable-llvmloaded" "--with-llvm=${llvm}" ]; + configurePhase = '' + patchShebangs ./ + ./autogen.sh --prefix $out $configureFlags + ''; + # Attempt to fix this error when running "mcs --version": # The file /nix/store/xxx-mono-2.4.2.1/lib/mscorlib.dll is an invalid CIL image dontStrip = true; @@ -57,19 +50,18 @@ stdenv.mkDerivation { # LLVM path to point into the Mono LLVM build, since it's private anyway. preBuild = '' makeFlagsArray=(INSTALL=`type -tp install`) - patchShebangs ./ substituteInPlace mcs/class/corlib/System/Environment.cs --replace /usr/share "$out/share" '' + stdenv.lib.optionalString withLLVM '' substituteInPlace mono/mini/aot-compiler.c --replace "llvm_path = g_strdup (\"\")" "llvm_path = g_strdup (\"${llvm}/bin/\")" ''; - # Fix mono DLLMap so it can find libX11 and gdiplus to run winforms apps + # Fix mono DLLMap so it can find libX11 to run winforms apps + # libgdiplus is correctly handled by the --with-libgdiplus configure flag # Other items in the DLLMap may need to be pointed to their store locations, I don't think this is exhaustive # http://www.mono-project.com/Config_DllMap postBuild = '' find . -name 'config' -type f | xargs \ - sed -i -e "s@libX11.so.6@${libX11.out}/lib/libX11.so.6@g" \ - -e "s@/.*libgdiplus.so@${libgdiplus}/lib/libgdiplus.so@g" \ + sed -i -e "s@libX11.so.6@${libX11.out}/lib/libX11.so.6@g" ''; # Without this, any Mono application attempting to open an SSL connection will throw with @@ -87,11 +79,11 @@ stdenv.mkDerivation { inherit enableParallelBuilding; - meta = { + meta = with stdenv.lib; { homepage = http://mono-project.com/; description = "Cross platform, open source .NET development framework"; - platforms = stdenv.lib.platforms.x86; - maintainers = with stdenv.lib.maintainers; [ thoughtpolice obadz vrthra ]; - license = stdenv.lib.licenses.free; # Combination of LGPL/X11/GPL ? - } // meta; + platforms = with platforms; darwin ++ linux; + maintainers = with maintainers; [ thoughtpolice obadz vrthra ]; + license = licenses.free; # Combination of LGPL/X11/GPL ? + }; } diff --git a/pkgs/development/compilers/mono/llvm.nix b/pkgs/development/compilers/mono/llvm.nix index 8e9dcc1dbcb..616ec420d2d 100644 --- a/pkgs/development/compilers/mono/llvm.nix +++ b/pkgs/development/compilers/mono/llvm.nix @@ -1,9 +1,10 @@ { stdenv -, fetchurl -, perl +, lib +, fetchFromGitHub , groff , cmake -, python +, python2 +, perl , libffi , libbfd , libxml2 @@ -14,22 +15,16 @@ stdenv.mkDerivation rec { name = "llvm-${version}"; - version = "3.4svn-mono-f9b1a74368"; - src = fetchurl { - # from the HEAD of the 'mono3' branch - url = "https://github.com/mono/llvm/archive/f9b1a74368ec299fc04c4cfef4b5aa0992b7b806.tar.gz"; - name = "${name}.tar.gz"; - sha256 = "1bbkx4p5zdnk3nbdd5jxvbwqx8cdq8z1n1nhf639i98mggs0zhdg"; + version = "3.6-mono-2017-02-15"; + + src = fetchFromGitHub { + owner = "mono"; + repo = "llvm"; + rev = "dbb6fdffdeb780d11851a6be77c209bd7ada4bd3"; + sha256 = "07wd1cs3fdvzb1lv41b655z5zk34f47j8fgd9ljjimi5j9pj71f7"; }; - patches = [ ./build-fix-llvm.patch ]; - unpackPhase = '' - unpackFile ${src} - mv llvm-* llvm - sourceRoot=$PWD/llvm - ''; - - buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind; + buildInputs = [ perl groff cmake libxml2 python2 libffi ] ++ lib.optional stdenv.isLinux valgrind; propagatedBuildInputs = [ ncurses zlib ]; @@ -43,7 +38,6 @@ stdenv.mkDerivation rec { cmakeFlags = with stdenv; [ "-DLLVM_ENABLE_FFI=ON" "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" - "-DCMAKE_CXX_FLAGS=-std=c++11" ] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON"; enableParallelBuilding = true; diff --git a/pkgs/development/compilers/mono/pkgconfig-before-gac-5x.patch b/pkgs/development/compilers/mono/pkgconfig-before-gac-5x.patch deleted file mode 100644 index 1b9c59402bf..00000000000 --- a/pkgs/development/compilers/mono/pkgconfig-before-gac-5x.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff -Naur mono-5.0.0/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets.old mono-5.0.0/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets ---- mono-5.0.0/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets.old 2017-04-24 23:45:18.348116305 +0200 -+++ mono-5.0.0/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets 2017-04-24 23:45:11.407051755 +0200 -@@ -167,8 +167,8 @@ - $(ReferencePath); - @(AdditionalReferencePath); - {HintPathFromItem}; -- {TargetFrameworkDirectory}; - {PkgConfig}; -+ {TargetFrameworkDirectory}; - {GAC}; - {RawFileName}; - $(OutDir) -diff -Naur mono-5.0.0/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets.old mono-5.0.0/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets ---- mono-5.0.0/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets.old 2017-04-24 23:49:53.019616196 +0200 -+++ mono-5.0.0/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets 2017-04-24 23:50:05.709729585 +0200 -@@ -232,8 +232,8 @@ - $(ReferencePath); - @(AdditionalReferencePath); - {HintPathFromItem}; -- {TargetFrameworkDirectory}; - {PkgConfig}; -+ {TargetFrameworkDirectory}; - {GAC}; - {RawFileName}; - $(OutDir) -diff -Naur mono-5.0.0/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets.old mono-5.0.0/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets ---- mono-5.0.0/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets.old 2017-04-24 23:52:33.200037047 +0200 -+++ mono-5.0.0/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets 2017-04-24 23:52:43.281125802 +0200 -@@ -139,8 +139,8 @@ - $(ReferencePath); - @(AdditionalReferencePath); - {HintPathFromItem}; -- {TargetFrameworkDirectory}; - {PkgConfig}; -+ {TargetFrameworkDirectory}; - {GAC}; - {RawFileName}; - $(OutDir) -diff -Naur mono-5.0.0/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets.old mono-5.0.0/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets ---- mono-5.0.0/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets.old 2017-04-24 23:54:02.585821594 +0200 -+++ mono-5.0.0/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets 2017-04-24 23:54:09.313880438 +0200 -@@ -234,8 +234,8 @@ - $(ReferencePath); - @(AdditionalReferencePath); - {HintPathFromItem}; -- {TargetFrameworkDirectory}; - {PkgConfig}; -+ {TargetFrameworkDirectory}; - {GAC}; - {RawFileName}; - $(OutDir) -diff -Naur mono-5.0.0/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets.old mono-5.0.0/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets ---- mono-5.0.0/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets.old 2017-04-24 23:55:46.244895155 +0200 -+++ mono-5.0.0/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets 2017-04-24 23:55:51.998961342 +0200 -@@ -232,8 +232,8 @@ - $(ReferencePath); - @(AdditionalReferencePath); - {HintPathFromItem}; -- {TargetFrameworkDirectory}; - {PkgConfig}; -+ {TargetFrameworkDirectory}; - {GAC}; - {RawFileName}; - $(OutDir) diff --git a/pkgs/development/compilers/mruby/default.nix b/pkgs/development/compilers/mruby/default.nix index 3ab553678b6..cfc1f00a803 100644 --- a/pkgs/development/compilers/mruby/default.nix +++ b/pkgs/development/compilers/mruby/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "mruby-${version}"; - version = "1.4.1"; + version = "2.0.0"; src = fetchFromGitHub { owner = "mruby"; repo = "mruby"; rev = version; - sha256 = "0pw72acbqgs4n1qa297nnja23v9hxz9g7190yfx9kwm7mgbllmww"; + sha256 = "1r6w1asjshff43ymdwa6xmrkggza99mi2kw88k7ic6ag2j81hcj5"; }; patches = [ diff --git a/pkgs/development/compilers/solc/default.nix b/pkgs/development/compilers/solc/default.nix index af9ddb872f9..48279fd7108 100644 --- a/pkgs/development/compilers/solc/default.nix +++ b/pkgs/development/compilers/solc/default.nix @@ -1,9 +1,9 @@ { stdenv, fetchzip, fetchFromGitHub, boost, cmake, z3 }: let - version = "0.5.1"; - rev = "c8a2cb62832afb2dc09ccee6fd42c1516dfdb981"; - sha256 = "0d6mfnixlr9m5yr3r4p6cv6vwrrivcamyar5d0f9rvir9w9ypzrr"; + version = "0.5.2"; + rev = "1df8f40cd2fd7b47698d847907b8ca7b47eb488d"; + sha256 = "009kjyb3r2p64wpdzfcmqr9swm5haaixbzvsbw1nd4wipwbp66y0"; jsoncppURL = https://github.com/open-source-parsers/jsoncpp/archive/1.8.4.tar.gz; jsoncpp = fetchzip { url = jsoncppURL; @@ -33,11 +33,10 @@ stdenv.mkDerivation { cmakeFlags = [ "-DBoost_USE_STATIC_LIBS=OFF" "-DBUILD_SHARED_LIBS=ON" - "-DINSTALL_LLLC=ON" ]; doCheck = stdenv.hostPlatform.isLinux && stdenv.hostPlatform == stdenv.buildPlatform; - checkPhase = "LD_LIBRARY_PATH=./libsolc:./libsolidity:./liblll:./libevmasm:./libdevcore:./libyul:./liblangutil:$LD_LIBRARY_PATH " + + checkPhase = "LD_LIBRARY_PATH=./libsolc:./libsolidity:./libevmasm:./libdevcore:./libyul:./liblangutil:$LD_LIBRARY_PATH " + "./test/soltest -p -- --no-ipc --no-smt --testpath ../test"; nativeBuildInputs = [ cmake ]; @@ -47,7 +46,6 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "Compiler for Ethereum smart contract language Solidity"; - longDescription = "This package also includes `lllc', the LLL compiler."; homepage = https://github.com/ethereum/solidity; license = licenses.gpl3; platforms = with platforms; linux ++ darwin; diff --git a/pkgs/development/compilers/solc/patches/shared-libs-install.patch b/pkgs/development/compilers/solc/patches/shared-libs-install.patch index fa30655e04e..e106c9bbb74 100644 --- a/pkgs/development/compilers/solc/patches/shared-libs-install.patch +++ b/pkgs/development/compilers/solc/patches/shared-libs-install.patch @@ -2,7 +2,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 0c05208f..8893648e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -48,6 +48,25 @@ add_subdirectory(libevmasm) +@@ -48,6 +48,22 @@ add_subdirectory(libevmasm) add_subdirectory(libsolidity) add_subdirectory(libsolc) @@ -21,9 +21,6 @@ index 0c05208f..8893648e 100644 +install(DIRECTORY liblangutil/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/liblangutil + FILES_MATCHING PATTERN "*.h") -+install(DIRECTORY liblll/ -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/liblll -+ FILES_MATCHING PATTERN "*.h") + if (NOT EMSCRIPTEN) add_subdirectory(solc) @@ -46,15 +43,6 @@ index 86192c1b..e7f15e93 100644 add_library(evmasm ${sources} ${headers}) target_link_libraries(evmasm PUBLIC devcore) +install(TARGETS evmasm LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -diff --git a/liblll/CMakeLists.txt b/liblll/CMakeLists.txt -index 4cdc073a..b61f03c7 100644 ---- a/liblll/CMakeLists.txt -+++ b/liblll/CMakeLists.txt -@@ -3,3 +3,4 @@ file(GLOB headers "*.h") - - add_library(lll ${sources} ${headers}) - target_link_libraries(lll PUBLIC evmasm devcore) -+install(TARGETS lll LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/libsolidity/CMakeLists.txt b/libsolidity/CMakeLists.txt index 0bdec4b4..e876177e 100644 --- a/libsolidity/CMakeLists.txt @@ -69,11 +57,10 @@ index 0bdec4b4..e876177e 100644 target_link_libraries(solidity PUBLIC ${Z3_LIBRARY}) --- a/libyul/CMakeLists.txt +++ b/libyul/CMakeLists.txt -@@ -42,3 +42,4 @@ endif() +@@ -43,3 +43,4 @@ endif() optimiser/VarDeclPropagator.cpp ) --target_link_libraries(yul PUBLIC devcore) -+target_link_libraries(yul PUBLIC evmasm devcore langutil) + target_link_libraries(yul PUBLIC evmasm devcore langutil) +install(TARGETS yul LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) --- a/liblangutil/CMakeLists.txt +++ b/liblangutil/CMakeLists.txt diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index a721625b1f4..daf0987be57 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -45,12 +45,6 @@ let }; in rec { - vala_0_34 = generic { - major = "0.34"; - minor = "18"; - sha256 = "1lhw3ghns059y5d6pdldy5p4yjwlhcls84k892i6qmbhxg34945q"; - }; - vala_0_36 = generic { major = "0.36"; minor = "15"; diff --git a/pkgs/development/coq-modules/Cheerios/default.nix b/pkgs/development/coq-modules/Cheerios/default.nix index 217c2ad5344..2429ccf3cf6 100644 --- a/pkgs/development/coq-modules/Cheerios/default.nix +++ b/pkgs/development/coq-modules/Cheerios/default.nix @@ -1,32 +1,11 @@ { stdenv, fetchFromGitHub, coq, StructTact }: -let params = +let param = { - "8.6" = { version = "20181102"; rev = "04da309304bdd28a1f7dacca9fdf8696204a4ff2"; sha256 = "1xfa78p70c90favds1mv1vj5sr9bv0ad3dsgg05v3v72006g2f1q"; - }; - - "8.7" = { - version = "20181102"; - rev = "04da309304bdd28a1f7dacca9fdf8696204a4ff2"; - sha256 = "1xfa78p70c90favds1mv1vj5sr9bv0ad3dsgg05v3v72006g2f1q"; - }; - - "8.8" = { - version = "20181102"; - rev = "04da309304bdd28a1f7dacca9fdf8696204a4ff2"; - sha256 = "1xfa78p70c90favds1mv1vj5sr9bv0ad3dsgg05v3v72006g2f1q"; - }; - - "8.9" = { - version = "20181102"; - rev = "04da309304bdd28a1f7dacca9fdf8696204a4ff2"; - sha256 = "1xfa78p70c90favds1mv1vj5sr9bv0ad3dsgg05v3v72006g2f1q"; - }; }; - param = params."${coq.coq-version}"; in stdenv.mkDerivation rec { @@ -38,15 +17,16 @@ stdenv.mkDerivation rec { inherit (param) rev sha256; }; - buildInputs = [ - coq coq.ocaml coq.camlp5 coq.findlib StructTact - ]; + buildInputs = [ coq ]; + + propagatedBuildInputs = [ StructTact ]; enableParallelBuilding = true; - buildPhase = "make -j$NIX_BUILD_CORES"; + preConfigure = "patchShebangs ./configure"; + installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" ]; + compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6"; }; } diff --git a/pkgs/development/coq-modules/InfSeqExt/default.nix b/pkgs/development/coq-modules/InfSeqExt/default.nix index 355b9e43927..6b908f5a09a 100644 --- a/pkgs/development/coq-modules/InfSeqExt/default.nix +++ b/pkgs/development/coq-modules/InfSeqExt/default.nix @@ -1,38 +1,11 @@ -{ stdenv, fetchFromGitHub, coq, mathcomp }: +{ stdenv, fetchFromGitHub, coq }: -let params = +let param = { - "8.5" = { version = "20180918"; rev = "243d6be45666da73a9da6c37d451327165275798"; sha256 = "1nh2psb4pcppy1akk24ilb4p08m35cba357i4xyymmarmbwqpxmn"; - }; - - "8.6" = { - version = "20180918"; - rev = "243d6be45666da73a9da6c37d451327165275798"; - sha256 = "1nh2psb4pcppy1akk24ilb4p08m35cba357i4xyymmarmbwqpxmn"; - }; - - "8.7" = { - version = "20180918"; - rev = "243d6be45666da73a9da6c37d451327165275798"; - sha256 = "1nh2psb4pcppy1akk24ilb4p08m35cba357i4xyymmarmbwqpxmn"; - }; - - "8.8" = { - version = "20180918"; - rev = "243d6be45666da73a9da6c37d451327165275798"; - sha256 = "1nh2psb4pcppy1akk24ilb4p08m35cba357i4xyymmarmbwqpxmn"; - }; - - "8.9" = { - version = "20180918"; - rev = "243d6be45666da73a9da6c37d451327165275798"; - sha256 = "1nh2psb4pcppy1akk24ilb4p08m35cba357i4xyymmarmbwqpxmn"; - }; }; - param = params."${coq.coq-version}"; in stdenv.mkDerivation rec { @@ -44,15 +17,15 @@ stdenv.mkDerivation rec { inherit (param) rev sha256; }; - buildInputs = [ - coq coq.ocaml coq.camlp5 coq.findlib mathcomp - ]; + buildInputs = [ coq ]; + enableParallelBuilding = true; - buildPhase = "make -j$NIX_BUILD_CORES"; + preConfigure = "patchShebangs ./configure"; + installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" ]; + compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.5"; }; } diff --git a/pkgs/development/coq-modules/StructTact/default.nix b/pkgs/development/coq-modules/StructTact/default.nix index 1fd6187e049..55d59b93140 100644 --- a/pkgs/development/coq-modules/StructTact/default.nix +++ b/pkgs/development/coq-modules/StructTact/default.nix @@ -1,38 +1,11 @@ { stdenv, fetchFromGitHub, coq, mathcomp }: -let params = +let param = { - "8.5" = { version = "20181102"; rev = "82a85b7ec07e71fa6b30cfc05f6a7bfb09ef2510"; sha256 = "08zry20flgj7qq37xk32kzmg4fg6d4wi9m7pf9aph8fd3j2a0b5v"; - }; - - "8.6" = { - version = "20181102"; - rev = "82a85b7ec07e71fa6b30cfc05f6a7bfb09ef2510"; - sha256 = "08zry20flgj7qq37xk32kzmg4fg6d4wi9m7pf9aph8fd3j2a0b5v"; - }; - - "8.7" = { - version = "20181102"; - rev = "82a85b7ec07e71fa6b30cfc05f6a7bfb09ef2510"; - sha256 = "08zry20flgj7qq37xk32kzmg4fg6d4wi9m7pf9aph8fd3j2a0b5v"; - }; - - "8.8" = { - version = "20181102"; - rev = "82a85b7ec07e71fa6b30cfc05f6a7bfb09ef2510"; - sha256 = "08zry20flgj7qq37xk32kzmg4fg6d4wi9m7pf9aph8fd3j2a0b5v"; - }; - - "8.9" = { - version = "20181102"; - rev = "82a85b7ec07e71fa6b30cfc05f6a7bfb09ef2510"; - sha256 = "08zry20flgj7qq37xk32kzmg4fg6d4wi9m7pf9aph8fd3j2a0b5v"; - }; }; - param = params."${coq.coq-version}"; in stdenv.mkDerivation rec { @@ -44,15 +17,15 @@ stdenv.mkDerivation rec { inherit (param) rev sha256; }; - buildInputs = [ - coq coq.ocaml coq.camlp5 coq.findlib - ]; + buildInputs = [ coq ]; + enableParallelBuilding = true; - buildPhase = "make -j$NIX_BUILD_CORES"; + preConfigure = "patchShebangs ./configure"; + installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" ]; + compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.5"; }; } diff --git a/pkgs/development/coq-modules/Verdi/default.nix b/pkgs/development/coq-modules/Verdi/default.nix index 9f54eb67c72..8eaa2bdfae7 100644 --- a/pkgs/development/coq-modules/Verdi/default.nix +++ b/pkgs/development/coq-modules/Verdi/default.nix @@ -1,32 +1,11 @@ -{ stdenv, fetchFromGitHub, coq, mathcomp, StructTact, InfSeqExt, Cheerios }: +{ stdenv, fetchFromGitHub, coq, Cheerios, InfSeqExt, ssreflect }: -let params = +let param = { - "8.6" = { version = "20181102"; rev = "25b79cf1be5527ab8dc1b8314fcee93e76a2e564"; sha256 = "1vw47c37k5vaa8vbr6ryqy8riagngwcrfmb3rai37yi9xhdqg55z"; - }; - - "8.7" = { - version = "20181102"; - rev = "25b79cf1be5527ab8dc1b8314fcee93e76a2e564"; - sha256 = "1vw47c37k5vaa8vbr6ryqy8riagngwcrfmb3rai37yi9xhdqg55z"; - }; - - "8.8" = { - version = "20181102"; - rev = "25b79cf1be5527ab8dc1b8314fcee93e76a2e564"; - sha256 = "1vw47c37k5vaa8vbr6ryqy8riagngwcrfmb3rai37yi9xhdqg55z"; - }; - - "8.9" = { - version = "20181102"; - rev = "25b79cf1be5527ab8dc1b8314fcee93e76a2e564"; - sha256 = "1vw47c37k5vaa8vbr6ryqy8riagngwcrfmb3rai37yi9xhdqg55z"; - }; }; - param = params."${coq.coq-version}"; in stdenv.mkDerivation rec { @@ -38,15 +17,16 @@ stdenv.mkDerivation rec { inherit (param) rev sha256; }; - buildInputs = [ - coq coq.ocaml coq.camlp5 coq.findlib mathcomp StructTact InfSeqExt Cheerios - ]; + buildInputs = [ coq ]; + propagatedBuildInputs = [ Cheerios InfSeqExt ssreflect ]; + enableParallelBuilding = true; - buildPhase = "make -j$NIX_BUILD_CORES"; + preConfigure = "patchShebangs ./configure"; + installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" ]; + compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6"; }; } diff --git a/pkgs/development/coq-modules/coqprime/default.nix b/pkgs/development/coq-modules/coqprime/default.nix index 54cb7c50e40..191812b3f2e 100644 --- a/pkgs/development/coq-modules/coqprime/default.nix +++ b/pkgs/development/coq-modules/coqprime/default.nix @@ -1,16 +1,19 @@ { stdenv, fetchFromGitHub, coq, bignums }: let params = + let v_8_8 = { + version = "8.8"; + sha256 = "075yjczk79pf1hd3lgdjiz84ilkzfxjh18lgzrhhqp7d3kz5lxp5"; + }; + in { "8.7" = { version = "8.7.2"; sha256 = "15zlcrx06qqxjy3nhh22wzy0rb4npc8l4nx2bbsfsvrisbq1qb7k"; }; - "8.8" = { - version = "8.8"; - sha256 = "075yjczk79pf1hd3lgdjiz84ilkzfxjh18lgzrhhqp7d3kz5lxp5"; + "8.8" = v_8_8; + "8.9" = v_8_8; }; - }; param = params."${coq.coq-version}" ; in diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 3c01250c3fe..10c11415d8b 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1201,9 +1201,6 @@ self: super: { # https://github.com/mgajda/json-autotype/issues/25 json-autotype = dontCheck super.json-autotype; - # https://github.com/kazu-yamamoto/iproute/issues/43 - appar = self.appar_0_1_7; - # The LTS-12.x version doesn't suffice to build hlint, hoogle, etc. hlint = super.hlint.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_21_0; }); hoogle = super.hoogle.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_21_0; }); diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix index 2b3165981ea..f35172ed024 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix @@ -63,7 +63,7 @@ self: super: { hspec-discover = self.hspec-discover_2_6_0; hspec-megaparsec = doJailbreak super.hspec-megaparsec; # newer versions need megaparsec 7.x hspec-meta = self.hspec-meta_2_6_0; - JuicyPixels = self.JuicyPixels_3_3_2; + JuicyPixels = self.JuicyPixels_3_3_3; lens = self.lens_4_17; megaparsec = dontCheck (doJailbreak super.megaparsec); pandoc = self.pandoc_2_5; diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml index 18a6c1ea12b..f56a14f2ef4 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml @@ -42,8 +42,9 @@ core-packages: default-package-overrides: # Newer versions don't work in LTS-12.x + - alsa-mixer < 0.3 - cassava-megaparsec < 2 - # LTS Haskell 12.22 + # LTS Haskell 12.23 - abstract-deque ==0.3 - abstract-deque-tests ==0.3 - abstract-par ==0.3.3 @@ -76,7 +77,7 @@ default-package-overrides: - alarmclock ==0.5.0.2 - alerts ==0.1.0.0 - alex ==3.2.4 - - alg ==0.2.8.0 + - alg ==0.2.9.0 - algebra ==4.3.1 - algebraic-graphs ==0.2 - Allure ==0.8.3.0 @@ -182,7 +183,7 @@ default-package-overrides: - ansi-wl-pprint ==0.6.8.2 - ANum ==0.2.0.2 - api-field-json-th ==0.1.0.2 - - appar ==0.1.5 + - appar ==0.1.7 - apply-refact ==0.5.0.0 - apportionment ==0.0.0.3 - approximate ==0.3.1 @@ -281,7 +282,7 @@ default-package-overrides: - blake2 ==0.2.0 - blank-canvas ==0.6.3 - blas-carray ==0.0.1.1 - - blas-ffi ==0.0.1.1 + - blas-ffi ==0.0.2 - blas-hs ==0.1.1.0 - blaze-bootstrap ==0.1.0.1 - blaze-builder ==0.4.1.0 @@ -701,7 +702,7 @@ default-package-overrides: - exp-pairs ==0.1.6.0 - extensible ==0.4.9 - extensible-exceptions ==0.1.1.4 - - extra ==1.6.13 + - extra ==1.6.14 - extractable-singleton ==0.0.1 - extrapolate ==0.3.3 - facts ==0.0.1.0 @@ -730,8 +731,8 @@ default-package-overrides: - fileplow ==0.1.0.0 - filter-logger ==0.6.0.0 - filtrable ==0.1.1.0 + - Fin ==0.2.6.1 - fin ==0.0.1 - - Fin ==0.2.6.0 - FindBin ==0.0.5 - find-clumpiness ==0.2.3.1 - fingertree ==0.1.4.2 @@ -870,12 +871,12 @@ default-package-overrides: - GLUT ==2.7.0.14 - gnuplot ==0.5.5.3 - goggles ==0.3.2 - - google-oauth2-jwt ==0.3.0 + - google-oauth2-jwt ==0.3.1 - gpolyline ==0.1.0.1 - graph-core ==0.3.0.0 - graphs ==0.7.1 - graphviz ==2999.20.0.2 - - graph-wrapper ==0.2.5.1 + - graph-wrapper ==0.2.5.2 - gravatar ==0.8.0 - graylog ==0.1.0.1 - greskell ==0.2.2.0 @@ -907,7 +908,7 @@ default-package-overrides: - hapistrano ==0.3.7.0 - happstack-server ==7.5.1.1 - happy ==1.19.9 - - hasbolt ==0.1.3.1 + - hasbolt ==0.1.3.2 - hashable ==1.2.7.0 - hashids ==1.0.2.4 - hashing ==0.1.0.1 @@ -1122,7 +1123,7 @@ default-package-overrides: - iff ==0.0.6 - ihaskell ==0.9.1.0 - ihaskell-hvega ==0.1.0.3 - - ihs ==0.1.0.2 + - ihs ==0.1.0.3 - ilist ==0.3.1.0 - imagesize-conduit ==1.1 - Imlib ==0.1.2 @@ -1154,7 +1155,7 @@ default-package-overrides: - invariant ==0.5.1 - invertible ==0.2.0.5 - invertible-grammar ==0.1.1 - - io-choice ==0.0.6 + - io-choice ==0.0.7 - io-machine ==0.2.0.0 - io-manager ==0.1.0.2 - io-memoize ==1.1.1.0 @@ -1164,7 +1165,7 @@ default-package-overrides: - io-streams-haproxy ==1.0.0.2 - ip ==1.3.0 - ip6addr ==1.0.0 - - iproute ==1.7.6 + - iproute ==1.7.7 - IPv6Addr ==1.1.1 - IPv6DB ==0.3.1 - ipython-kernel ==0.9.1.0 @@ -1330,7 +1331,7 @@ default-package-overrides: - median-stream ==0.7.0.0 - med-module ==0.1.1 - megaparsec ==6.5.0 - - mega-sdist ==0.3.3.1 + - mega-sdist ==0.3.3.2 - memory ==0.14.18 - MemoTrie ==0.6.9 - mercury-api ==0.1.0.1 @@ -1733,6 +1734,7 @@ default-package-overrides: - refined ==0.2.3.0 - reflection ==2.1.4 - RefSerialize ==0.4.0 + - regex ==1.0.1.4 - regex-applicative ==0.3.3 - regex-applicative-text ==0.1.0.1 - regex-base ==0.93.2 @@ -1800,8 +1802,8 @@ default-package-overrides: - say ==0.1.0.1 - sbp ==2.3.17 - sbv ==7.12 - - scalendar ==1.2.0 - SCalendar ==1.1.0 + - scalendar ==1.2.0 - scalpel ==0.5.1 - scalpel-core ==0.5.1 - scanner ==0.2 @@ -1878,7 +1880,7 @@ default-package-overrides: - shell-escape ==0.2.0 - shelltestrunner ==1.9 - shelly ==1.8.1 - - shortcut-links ==0.4.2.0 + - shortcut-links ==0.4.2.1 - should-not-typecheck ==2.1.0 - show-combinators ==0.1.0.0 - show-prettyprint ==0.2.2 @@ -2184,7 +2186,7 @@ default-package-overrides: - unix-bytestring ==0.3.7.3 - unix-compat ==0.5.1 - unix-time ==0.3.8 - - unliftio ==0.2.8.1 + - unliftio ==0.2.9.0 - unliftio-core ==0.1.2.0 - unlit ==0.4.0.0 - unordered-containers ==0.2.9.0 @@ -2303,7 +2305,7 @@ default-package-overrides: - word-wrap ==0.4.1 - world-peace ==0.1.0.0 - wrap ==0.0.0 - - wreq ==0.5.3.0 + - wreq ==0.5.3.1 - wreq-stringless ==0.5.9.1 - writer-cps-full ==0.1.0.0 - writer-cps-lens ==0.1.0.1 diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index db518444cb2..8ad30bb087e 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -5051,6 +5051,8 @@ self: { pname = "Euterpea"; version = "2.0.6"; sha256 = "0smaa34s0yz90q4qx104glyx8s93k6vn6r60m6aq9infm7rkffxw"; + revision = "1"; + editedCabalFile = "1yrr18wv22ri1v8mij4lazl5lpri7sf8bxbz7igsbs8dngmycn9r"; libraryHaskellDepends = [ array arrows base bytestring containers deepseq ghc-prim HCodecs heap PortMidi random stm @@ -5469,21 +5471,6 @@ self: { }) {}; "Fin" = callPackage - ({ mkDerivation, alg, base, foldable1, natural-induction, peano - , universe-base - }: - mkDerivation { - pname = "Fin"; - version = "0.2.6.0"; - sha256 = "18qc3ih3l9zd13knxxsh657iq3c742pfaz4i45bq1ir60qwjqmhw"; - libraryHaskellDepends = [ - alg base foldable1 natural-induction peano universe-base - ]; - description = "Finite totally-ordered sets"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "Fin_0_2_6_1" = callPackage ({ mkDerivation, alg, base, foldable1, natural-induction, peano , universe-base }: @@ -5496,7 +5483,6 @@ self: { ]; description = "Finite totally-ordered sets"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "Finance-Quote-Yahoo" = callPackage @@ -6689,6 +6675,29 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "Glob_0_10_0" = callPackage + ({ mkDerivation, base, containers, directory, dlist, filepath + , HUnit, QuickCheck, test-framework, test-framework-hunit + , test-framework-quickcheck2, transformers, transformers-compat + }: + mkDerivation { + pname = "Glob"; + version = "0.10.0"; + sha256 = "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"; + libraryHaskellDepends = [ + base containers directory dlist filepath transformers + transformers-compat + ]; + testHaskellDepends = [ + base containers directory dlist filepath HUnit QuickCheck + test-framework test-framework-hunit test-framework-quickcheck2 + transformers transformers-compat + ]; + description = "Globbing library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "GlomeTrace" = callPackage ({ mkDerivation, array, base, GlomeVec }: mkDerivation { @@ -7367,18 +7376,15 @@ self: { }) {inherit (pkgs) unixODBC;}; "HDBC-postgresql" = callPackage - ({ mkDerivation, base, bytestring, Cabal, convertible, HDBC, mtl - , old-time, parsec, postgresql, time, utf8-string + ({ mkDerivation, base, bytestring, convertible, HDBC, mtl, old-time + , parsec, postgresql, time, utf8-string }: mkDerivation { pname = "HDBC-postgresql"; - version = "2.3.2.5"; - sha256 = "0l9i7mkdcch7f1ajl0fma7rra3dc0llmlia0iqhqb4k0gcrpy7l8"; - revision = "1"; - editedCabalFile = "1myhqsn3kk21pchlwf9s6vxggl59s6vmhmbx2539ad4jvnfy2ijx"; + version = "2.3.2.6"; + sha256 = "1kas80zv3vbqq9cd73w87fj4mwxcphfmf7ycfnl4jwdzpqjzr0yj"; isLibrary = true; isExecutable = true; - setupHaskellDepends = [ base Cabal ]; libraryHaskellDepends = [ base bytestring convertible HDBC mtl old-time parsec time utf8-string @@ -9290,8 +9296,8 @@ self: { ({ mkDerivation, array, base, containers, random }: mkDerivation { pname = "HaskellForMaths"; - version = "0.4.8"; - sha256 = "0yn2nj6irmj24j1djvnnq26i2lbf9g9x1wdhmcrk519glcn5k64j"; + version = "0.4.9"; + sha256 = "1jgim9g0jbv6k31aalq0yps843jmfx74k53lnd1p79kgad7670rz"; libraryHaskellDepends = [ array base containers random ]; description = "Combinatorics, group theory, commutative algebra, non-commutative algebra"; license = stdenv.lib.licenses.bsd3; @@ -10743,14 +10749,16 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "JuicyPixels_3_3_2" = callPackage + "JuicyPixels_3_3_3" = callPackage ({ mkDerivation, base, binary, bytestring, containers, deepseq, mtl , primitive, transformers, vector, zlib }: mkDerivation { pname = "JuicyPixels"; - version = "3.3.2"; - sha256 = "120jlrqwa7i32yddwbyl6iyx99gx1fvrizb5lybj87p4fr7cxj6z"; + version = "3.3.3"; + sha256 = "1i5k81nfgibbmf5f70iicbh8rqbng61r926wcf9hwy2aa2vba11c"; + revision = "1"; + editedCabalFile = "1q8xyxn1a4ldaa1grmr7dywdbf4vqjw65v52h6z7ssz12hgjx0gq"; libraryHaskellDepends = [ base binary bytestring containers deepseq mtl primitive transformers vector zlib @@ -10950,8 +10958,8 @@ self: { ({ mkDerivation, array, base, Cabal }: mkDerivation { pname = "KMP"; - version = "0.1.0.2"; - sha256 = "14dpqfji00jq2rc09l8d1ivphpiwkryjk5sn6lrwxv8mcly3pvhn"; + version = "0.2.0.0"; + sha256 = "0x90yi4aplfqhwaaw5ymgcmv6fpg7659r8n7ir6xfkrpgfmk18i9"; libraryHaskellDepends = [ array base ]; testHaskellDepends = [ base Cabal ]; description = "Knuth–Morris–Pratt string searching algorithm"; @@ -14639,8 +14647,8 @@ self: { }: mkDerivation { pname = "Plot-ho-matic"; - version = "0.12.2.2"; - sha256 = "07zxn4gqkmprrpfyd8vvsf4c2350965k029nzvs0zvrwfbkxin4m"; + version = "0.12.2.3"; + sha256 = "1wmylc6z8ikq2qky46jvzffrrjzl8c9xzzlkwsx8223cxa2n59pn"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -15653,17 +15661,15 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "Rasterific_0_7_4_1" = callPackage + "Rasterific_0_7_4_2" = callPackage ({ mkDerivation, base, bytestring, containers, dlist, FontyFruity , free, JuicyPixels, mtl, primitive, transformers, vector , vector-algorithms }: mkDerivation { pname = "Rasterific"; - version = "0.7.4.1"; - sha256 = "1d0j7xf2xbgrlny30qwm52wby51ic2cqlhb867a7a03k02p7ib2b"; - revision = "1"; - editedCabalFile = "1lz8b9xcfcv0a762zvaksh7c80yryc9yhap198dlm60i0znpjdg2"; + version = "0.7.4.2"; + sha256 = "1sg63cvcb64gbrxkn5pgs1nvvb1c9qfya7xxwn5daqpjgan426w1"; libraryHaskellDepends = [ base bytestring containers dlist FontyFruity free JuicyPixels mtl primitive transformers vector vector-algorithms @@ -16345,6 +16351,8 @@ self: { pname = "SVGFonts"; version = "1.7"; sha256 = "1k9ili7l9pp5a009jh55vigb917wdnsl6iaz0ggp6d4nw1jwsg6s"; + revision = "1"; + editedCabalFile = "1w687f4lk4l07wqgldhpg7ycid0fs099x8vrylcxqdgfrzmm04dg"; enableSeparateDataOutput = true; libraryHaskellDepends = [ attoparsec base blaze-markup blaze-svg bytestring cereal @@ -22009,8 +22017,8 @@ self: { pname = "aeson-extra"; version = "0.4.1.1"; sha256 = "1y7xss382hdxrv4jzprsm3b7ij7wiw8jgjg9wp49dx6bfvcnb2nl"; - revision = "2"; - editedCabalFile = "1iiibpr8pcdr0bjp0rhf1sxvs0kv66jm01nwlhj4243864qx476r"; + revision = "3"; + editedCabalFile = "0b9ccv529msmqay0gw2xcxm67n08hmv6s45ivyd8vq0rig4wz407"; libraryHaskellDepends = [ aeson aeson-compat attoparsec attoparsec-iso8601 base base-compat-batteries bytestring containers deepseq exceptions @@ -23285,17 +23293,6 @@ self: { }) {}; "alg" = callPackage - ({ mkDerivation, base, util }: - mkDerivation { - pname = "alg"; - version = "0.2.8.0"; - sha256 = "1zw50da4wz8qdc62qlvg74k3g5n48xlzda2k7c3y9zb8xb2xbfrr"; - libraryHaskellDepends = [ base util ]; - description = "Algebraic structures"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "alg_0_2_9_0" = callPackage ({ mkDerivation, base, util }: mkDerivation { pname = "alg"; @@ -23304,7 +23301,6 @@ self: { libraryHaskellDepends = [ base util ]; description = "Algebraic structures"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "alga" = callPackage @@ -23775,6 +23771,20 @@ self: { }) {inherit (pkgs) alsaLib;}; "alsa-mixer" = callPackage + ({ mkDerivation, alsa-core, alsaLib, base, c2hs, unix }: + mkDerivation { + pname = "alsa-mixer"; + version = "0.2.0.3"; + sha256 = "13fgd78msqsyzm92cbasm8m3s1rww6r1g83qbrv4mkm2h50fnvgp"; + libraryHaskellDepends = [ alsa-core base unix ]; + librarySystemDepends = [ alsaLib ]; + libraryToolDepends = [ c2hs ]; + description = "Bindings to the ALSA simple mixer API"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + }) {inherit (pkgs) alsaLib;}; + + "alsa-mixer_0_3_0" = callPackage ({ mkDerivation, alsa-core, alsaLib, base, c2hs, unix }: mkDerivation { pname = "alsa-mixer"; @@ -23785,7 +23795,7 @@ self: { libraryToolDepends = [ c2hs ]; description = "Bindings to the ALSA simple mixer API"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = [ "i686-linux" "x86_64-linux" ]; + hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) alsaLib;}; "alsa-pcm" = callPackage @@ -26594,8 +26604,8 @@ self: { }: mkDerivation { pname = "amqp-worker"; - version = "0.2.4"; - sha256 = "0ps0d9hly3cc9y7cmi5gr6p3h8qddig7sz3s7v6dl0icy3bvhinc"; + version = "0.2.5"; + sha256 = "0crbrmxwv1dwd84l41p2zmx5ap5wwr0n5a9cznz87x3cc6qncylq"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -27272,8 +27282,8 @@ self: { }: mkDerivation { pname = "antiope-athena"; - version = "6.1.5"; - sha256 = "0p78yxdnfzz6jw7az6xfh6sjcnf9d8sl512cmhdcws78p7f2rhlx"; + version = "6.2.0"; + sha256 = "0kd31s399rddcjj8ayvki85j66xlkb7gh0jgfwxmxcxp3x4gs0xi"; libraryHaskellDepends = [ amazonka amazonka-athena amazonka-core base lens resourcet text unliftio-core @@ -27289,8 +27299,8 @@ self: { ({ mkDerivation, aeson, antiope-s3, avro, base, bytestring, text }: mkDerivation { pname = "antiope-contract"; - version = "6.1.5"; - sha256 = "1ikd0sn3z901hyad55ngzs99b0v9bs5vkry5965w22smljdg3rqh"; + version = "6.2.0"; + sha256 = "0s2s0vq6n7zwjj1yd7kmpwxkvbnfd2ikjv9nzg1rz0hm6mz1dn4p"; libraryHaskellDepends = [ aeson antiope-s3 avro base bytestring text ]; @@ -27305,8 +27315,8 @@ self: { }: mkDerivation { pname = "antiope-core"; - version = "6.1.5"; - sha256 = "06c8wd4gjlrz1sdk7qpd1l8n29a3jkipy749j3414x7b5fqxbzi7"; + version = "6.2.0"; + sha256 = "0g3bhh8vdnkd5h9savhjc053jbb4k7b7chbzcjjqd4kj95v8jmr3"; libraryHaskellDepends = [ amazonka amazonka-core base bytestring exceptions generic-lens http-client http-types lens monad-logger mtl resourcet text @@ -27328,8 +27338,8 @@ self: { }: mkDerivation { pname = "antiope-dynamodb"; - version = "6.1.5"; - sha256 = "181ygxvf29acianvnryv1kbn5g69axkagqa54429ja8jfxiblrqq"; + version = "6.2.0"; + sha256 = "1kv6ihb6829fbgzz489sg0zyz02rp9p8wk90w4x3sjsynf8djrjj"; libraryHaskellDepends = [ amazonka amazonka-core amazonka-dynamodb antiope-core base generic-lens lens text unliftio-core unordered-containers @@ -27349,8 +27359,8 @@ self: { }: mkDerivation { pname = "antiope-messages"; - version = "6.1.5"; - sha256 = "09ysy9r38d216vzq0nm1zfl4fqz8mrqa39c2ivy7pqm4xldsqary"; + version = "6.2.0"; + sha256 = "11zkyfv06fsqxznr36hh563yz401y3wg2a5hc6x6ydza4xdnrzdz"; libraryHaskellDepends = [ aeson amazonka amazonka-core amazonka-s3 amazonka-sqs antiope-s3 base generic-lens lens lens-aeson monad-loops network-uri text @@ -27374,8 +27384,8 @@ self: { }: mkDerivation { pname = "antiope-s3"; - version = "6.1.5"; - sha256 = "0b2mildkgd271c8hwg6b3jf8xgli5bmd4dx9c0ac8ihyn28xr0m8"; + version = "6.2.0"; + sha256 = "1gb9ypj5gp6qkzncg44sja35pw2s6qg7msjrlcvhdfbcjs6pxrqj"; libraryHaskellDepends = [ amazonka amazonka-core amazonka-s3 antiope-core attoparsec base bytestring conduit conduit-extra exceptions generic-lens http-types @@ -27397,8 +27407,8 @@ self: { }: mkDerivation { pname = "antiope-sns"; - version = "6.1.5"; - sha256 = "07kg0b0iyik0axnycph3irp73cv614qcny3z3rib1rpvbknz9iwh"; + version = "6.2.0"; + sha256 = "0npm9q3vf2njiqwyswxc6xh5psjls0skz29mz22y59sk25m5fmkv"; libraryHaskellDepends = [ aeson amazonka amazonka-core amazonka-sns base generic-lens lens text unliftio-core @@ -27418,8 +27428,8 @@ self: { }: mkDerivation { pname = "antiope-sqs"; - version = "6.1.5"; - sha256 = "097vxkz54k4ijqqzb8lijr90hvnyyhqm7sqn5qxam3wy355w3z5c"; + version = "6.2.0"; + sha256 = "0v33diw8cwvfb9b4k24whbyl4apjq67rh36ndn5qr6627kp3b825"; libraryHaskellDepends = [ aeson amazonka amazonka-core amazonka-s3 amazonka-sqs antiope-messages antiope-s3 base generic-lens lens lens-aeson @@ -27643,8 +27653,8 @@ self: { }: mkDerivation { pname = "apecs"; - version = "0.7.0"; - sha256 = "1yah3yn4z6nxm8gdlkmzlbi8h7nd4zb4905dvzb9b66njhff06l2"; + version = "0.7.1"; + sha256 = "0cvjqv6zbjzvp01ikfx5lkwb7fbq25555rbvfriwhsfjqanw5pj7"; libraryHaskellDepends = [ base containers mtl template-haskell vector ]; @@ -27662,8 +27672,8 @@ self: { }: mkDerivation { pname = "apecs-gloss"; - version = "0.1.1"; - sha256 = "0s5vhxgfgj4v51dnrhzfbids0a873113rqb76xr8f5azq6kr9g3p"; + version = "0.2.0"; + sha256 = "0qkdjanbrnwhxzr168xwrnhcd1hwsymlb1nvsb1mrklzj93amfvh"; libraryHaskellDepends = [ apecs apecs-physics base containers gloss linear ]; @@ -28199,19 +28209,6 @@ self: { }) {}; "appar" = callPackage - ({ mkDerivation, base, bytestring }: - mkDerivation { - pname = "appar"; - version = "0.1.5"; - sha256 = "0qlfwy8nxl1na55p155vq5yn0cqz26mmmh5vs28aqry7kyyxndfi"; - revision = "1"; - editedCabalFile = "0adhm7jldcqnikvd8b9wj6p5rnhf4ciwbms0jafwx79w720knj9p"; - libraryHaskellDepends = [ base bytestring ]; - description = "A simple applicative parser"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "appar_0_1_7" = callPackage ({ mkDerivation, base, bytestring }: mkDerivation { pname = "appar"; @@ -28220,7 +28217,6 @@ self: { libraryHaskellDepends = [ base bytestring ]; description = "A simple applicative parser"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "appc" = callPackage @@ -29227,14 +29223,12 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) arpack;}; - "array_0_5_2_0" = callPackage + "array_0_5_3_0" = callPackage ({ mkDerivation, base }: mkDerivation { pname = "array"; - version = "0.5.2.0"; - sha256 = "12v83s2imxb3p2crnlzrpjh0nk6lpysw9bdk9yahs6f37csa5jaj"; - revision = "2"; - editedCabalFile = "1irpwz3spy3yy27kzw8sklhcvxz3mx9fkgqia7r9m069w5wid9kg"; + version = "0.5.3.0"; + sha256 = "07pyr2x09n23rdxldqgbx12hlg9dk92q9p56bpcdw3r87ajc3m9z"; libraryHaskellDepends = [ base ]; description = "Mutable and immutable arrays"; license = stdenv.lib.licenses.bsd3; @@ -32372,30 +32366,21 @@ self: { "aws-lambda-haskell-runtime" = callPackage ({ mkDerivation, aeson, base, bytestring, case-insensitive, conduit , directory, filepath, hspec, microlens-platform, mtl - , optparse-generic, process, QuickCheck, relude, template-haskell - , text, wreq + , optparse-generic, process, template-haskell, text, uuid, wreq }: mkDerivation { pname = "aws-lambda-haskell-runtime"; - version = "1.0.4"; - sha256 = "0cfmdgy0vn62gdi01r02k4yb87s4xv0xhyd06j5ws6ky6cpmmdwx"; + version = "1.0.7"; + sha256 = "0dkagfvnxr1bbl6ngglqvvwl4gc66ipvyww4j80nwaxdfwx85wjq"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson base bytestring case-insensitive conduit directory filepath - microlens-platform mtl optparse-generic process relude - template-haskell text wreq - ]; - executableHaskellDepends = [ - aeson base bytestring case-insensitive conduit directory filepath - microlens-platform mtl optparse-generic process relude - template-haskell text wreq - ]; - testHaskellDepends = [ - aeson base bytestring case-insensitive conduit directory filepath - hspec microlens-platform mtl optparse-generic process QuickCheck - relude template-haskell text wreq + microlens-platform mtl optparse-generic process template-haskell + text uuid wreq ]; + executableHaskellDepends = [ base mtl ]; + testHaskellDepends = [ base hspec mtl ]; description = "Haskell runtime for AWS Lambda"; license = stdenv.lib.licenses.asl20; }) {}; @@ -32646,8 +32631,8 @@ self: { }) {}; "axel" = callPackage - ({ mkDerivation, base, bytestring, directory, filepath - , freer-simple, haskell-src-exts, hedgehog, lens, lens-aeson + ({ mkDerivation, base, bytestring, containers, directory, filepath + , freer-simple, ghcid, haskell-src-exts, hedgehog, lens, lens-aeson , optparse-applicative, parsec, process, regex-pcre, singletons , split, strict, tasty, tasty-discover, tasty-golden , tasty-hedgehog, tasty-hspec, template-haskell, text, transformers @@ -32655,22 +32640,24 @@ self: { }: mkDerivation { pname = "axel"; - version = "0.0.8"; - sha256 = "16fkrc87yirzha3fgdcbidi7k9xkmb5y5w1i4i10rlikhszfr2b9"; + version = "0.0.9"; + sha256 = "0kr7iblj23dlfjzym2ndrns2x7z65sdn2pz8dwxsqvn8jhh24p7f"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ - base bytestring directory filepath freer-simple haskell-src-exts - lens lens-aeson optparse-applicative parsec process regex-pcre - singletons strict template-haskell text typed-process vector yaml + base bytestring containers directory filepath freer-simple ghcid + haskell-src-exts lens lens-aeson optparse-applicative parsec + process regex-pcre singletons strict template-haskell text + typed-process vector yaml ]; executableHaskellDepends = [ - base freer-simple optparse-applicative + base containers freer-simple optparse-applicative ]; testHaskellDepends = [ - base bytestring filepath freer-simple hedgehog lens split tasty - tasty-discover tasty-golden tasty-hedgehog tasty-hspec transformers + base bytestring containers filepath freer-simple hedgehog lens + split tasty tasty-discover tasty-golden tasty-hedgehog tasty-hspec + transformers ]; testToolDepends = [ tasty-discover ]; description = "The Axel programming language"; @@ -33302,8 +33289,8 @@ self: { }: mkDerivation { pname = "barbies"; - version = "1.0.0.0"; - sha256 = "05bbn1aqa6r9392fffgjgdl4m8nnagjx27aps5xrcf5x45kk88ci"; + version = "1.1.0.0"; + sha256 = "02lnq2f5n75r214lrhkhdl3a85lzn3am197df4a0mp6pvw07z1cs"; libraryHaskellDepends = [ base bifunctors ]; testHaskellDepends = [ base QuickCheck tasty tasty-hunit tasty-quickcheck @@ -36401,8 +36388,8 @@ self: { ({ mkDerivation, base, monetdb-mapi }: mkDerivation { pname = "bindings-monetdb-mapi"; - version = "0.1.0.1"; - sha256 = "0ghl73n679y5srg4b2jwy6xgnd4lbv7wad8k133k6c7k70zq89hl"; + version = "0.1.0.2"; + sha256 = "1f6n2x8c0r72d011piyf8fqclfxcqda98ha3w29c86y66qid0wjm"; libraryHaskellDepends = [ base ]; libraryPkgconfigDepends = [ monetdb-mapi ]; description = "Low-level bindings for the MonetDB API (mapi)"; @@ -36779,6 +36766,8 @@ self: { pname = "biocore"; version = "0.3.1"; sha256 = "06ml9p144bv0c9hv6pkcvhdgc0vw0jxzbqb834ilr38kjmrpsar1"; + revision = "1"; + editedCabalFile = "0lz3inilvxn1simbpm8002iv7h9wk1gzng2vj3gpxps99zvihqc4"; libraryHaskellDepends = [ base bytestring stringable ]; description = "A bioinformatics library"; license = "LGPL"; @@ -37938,8 +37927,10 @@ self: { ({ mkDerivation, base, blas, netlib-ffi }: mkDerivation { pname = "blas-ffi"; - version = "0.0.1.1"; - sha256 = "0dphqcnnka0ahfgdnshm8r3bd6r5wbpln9kksa6y09yi2nnqh3gf"; + version = "0.0.2"; + sha256 = "047qal272s1hc3pp7xy8vyq4dm80nvqin34zvl7wz09c0qrnnvyc"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ base netlib-ffi ]; libraryPkgconfigDepends = [ blas ]; description = "Auto-generated interface to Fortran BLAS"; @@ -37947,12 +37938,12 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) blas;}; - "blas-ffi_0_0_2" = callPackage + "blas-ffi_0_1" = callPackage ({ mkDerivation, base, blas, netlib-ffi }: mkDerivation { pname = "blas-ffi"; - version = "0.0.2"; - sha256 = "047qal272s1hc3pp7xy8vyq4dm80nvqin34zvl7wz09c0qrnnvyc"; + version = "0.1"; + sha256 = "1zmw1x37ayssplj8w01ivfyh2jjg906c389cjah4hpn5dpb7p9w5"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base netlib-ffi ]; @@ -40190,6 +40181,28 @@ self: { license = stdenv.lib.licenses.asl20; }) {}; + "bson_0_3_2_7" = callPackage + ({ mkDerivation, base, binary, bytestring, cryptohash + , data-binary-ieee754, mtl, network, QuickCheck, test-framework + , test-framework-quickcheck2, text, time + }: + mkDerivation { + pname = "bson"; + version = "0.3.2.7"; + sha256 = "0avzr3aa3mbr9hcjwd0nr0pnpiym7s35qw7nghz51mrzb76rsci7"; + libraryHaskellDepends = [ + base binary bytestring cryptohash data-binary-ieee754 mtl network + text time + ]; + testHaskellDepends = [ + base binary bytestring cryptohash data-binary-ieee754 mtl network + QuickCheck test-framework test-framework-quickcheck2 text time + ]; + description = "BSON documents are JSON-like objects with a standard binary encoding"; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "bson-generic" = callPackage ({ mkDerivation, base, bson, ghc-prim, text }: mkDerivation { @@ -42046,6 +42059,8 @@ self: { pname = "cabal-file-th"; version = "0.2.4"; sha256 = "076rprsnb9nyhm97ky4vzfcvirl8wx4g3f68lx7k5inhmkzxfm8b"; + revision = "1"; + editedCabalFile = "0qbhrpn23vrqyh71vkbbs5yxwlb8m6nzfpwn6mqz2xi0wwzvl9s6"; libraryHaskellDepends = [ base Cabal directory pretty template-haskell ]; @@ -42363,10 +42378,8 @@ self: { }: mkDerivation { pname = "cabal-plan"; - version = "0.4.0.0"; - sha256 = "0cbk0xhv189jv656x6a2s0bcnhkks4rlpkhvxbb215v5ldmrkpb1"; - revision = "1"; - editedCabalFile = "161vgfbwm8psqa6ncs12j7sn5lqjag1xi62vllvp8xbz9lcvbchb"; + version = "0.5.0.0"; + sha256 = "1vfa4lwfjhv4nyl1rwm7i99zdkwriighlhfcz0rgjwzgg56wrihq"; configureFlags = [ "-fexe" ]; isLibrary = true; isExecutable = true; @@ -42380,7 +42393,7 @@ self: { ]; doHaddock = false; description = "Library and utiltity for processing cabal's plan.json file"; - license = stdenv.lib.licenses.gpl3; + license = "GPL-2.0-or-later AND BSD-3-Clause"; hydraPlatforms = stdenv.lib.platforms.none; }) {}; @@ -43976,8 +43989,8 @@ self: { }: mkDerivation { pname = "casadi-bindings"; - version = "3.1.0.3"; - sha256 = "0fb4pyz1f66r811ihpcrq5qpznnxrnrrsh8wfy5g8i5k8srf78n9"; + version = "3.4.5.0"; + sha256 = "0ps01gm27dajr8ixfppc2mfmx8yzr24fbq9k5n3c9xgxvn9w7rmc"; libraryHaskellDepends = [ base binary casadi-bindings-core casadi-bindings-internal cereal containers linear spatial-math vector vector-binary-instances @@ -44015,8 +44028,8 @@ self: { }: mkDerivation { pname = "casadi-bindings-core"; - version = "3.1.0.0"; - sha256 = "08z6jh8hn23162d6baznvs3br3fin4rp6j4sdfsiid1c3z92q3rn"; + version = "3.4.5.0"; + sha256 = "0iqzr6gm30a0v7523yqkipgph89wlyihwmnzidpvki0vlv6fldrl"; libraryHaskellDepends = [ base casadi-bindings-internal containers vector ]; @@ -44030,8 +44043,8 @@ self: { ({ mkDerivation, base, casadi, containers, vector }: mkDerivation { pname = "casadi-bindings-internal"; - version = "0.1.5.0"; - sha256 = "0p7kbg015447sasn6n4l5kdafrxc2yhgqrxg46xadma6vvv00hf2"; + version = "0.1.6.1"; + sha256 = "1y2h0r0l0b9y43n0irsc5s82x7xmzdjdjaz6cqmxk19v0hg4jdnx"; libraryHaskellDepends = [ base containers vector ]; librarySystemDepends = [ casadi ]; description = "low level bindings to CasADi"; @@ -44891,6 +44904,26 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "cayley-client_0_4_8" = callPackage + ({ mkDerivation, aeson, attoparsec, base, binary, bytestring + , exceptions, hspec, http-client, http-conduit, lens, lens-aeson + , mtl, text, transformers, unordered-containers, vector + }: + mkDerivation { + pname = "cayley-client"; + version = "0.4.8"; + sha256 = "09hrq1k8s8w7rawyn78hjagirs3yrkp79nn7p5w1l8amp27k5cdi"; + libraryHaskellDepends = [ + aeson attoparsec base binary bytestring exceptions http-client + http-conduit lens lens-aeson mtl text transformers + unordered-containers vector + ]; + testHaskellDepends = [ aeson base hspec unordered-containers ]; + description = "A Haskell client for the Cayley graph database"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "cayley-dickson" = callPackage ({ mkDerivation, base, random }: mkDerivation { @@ -48622,8 +48655,8 @@ self: { }: mkDerivation { pname = "cloudi"; - version = "1.7.4"; - sha256 = "0vpsb7sngc8q7bkdg737bfzqfkl14mwjzaycfs0x0fwl6f8l5a8a"; + version = "1.7.5"; + sha256 = "08cklswxmd7x0zxkkrlwh1qy57jbqp0dv3x57xskxpmwyhws2vgs"; libraryHaskellDepends = [ array base binary bytestring containers network time unix zlib ]; @@ -49504,26 +49537,26 @@ self: { "codex" = callPackage ({ mkDerivation, ascii-progress, base, bytestring, Cabal - , containers, cryptohash, directory, either, filepath, hackage-db - , http-client, lens, machines, machines-directory, MissingH - , monad-loops, network, process, tar, text, transformers, wreq - , yaml, zlib + , containers, cryptohash, directory, filepath, hackage-db + , http-client, lens, machines, machines-directory, network, process + , tar, text, transformers, wreq, yaml, zlib }: mkDerivation { pname = "codex"; - version = "0.5.1.2"; - sha256 = "0w9m737v3fdgslqdfw16bq7hhsimjazdxrd4r5kzpm0jai39707r"; + version = "0.5.2.0"; + sha256 = "1bvz8pzh9qgb7ffnmihcain877igf1hm8rs4z9qx1gckz2c566vv"; + revision = "1"; + editedCabalFile = "0v0jlarip2689jxixymqzy36qywla76j78iqzyyc6s7hrd63mrlx"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ ascii-progress base bytestring Cabal containers cryptohash - directory either filepath hackage-db http-client lens machines + directory filepath hackage-db http-client lens machines machines-directory process tar text transformers wreq yaml zlib ]; executableHaskellDepends = [ - ascii-progress base bytestring Cabal directory either filepath - hackage-db MissingH monad-loops network process transformers wreq - yaml + ascii-progress base Cabal directory filepath hackage-db network + process transformers wreq yaml ]; description = "A ctags file generator for cabal project dependencies"; license = stdenv.lib.licenses.asl20; @@ -53339,8 +53372,8 @@ self: { ({ mkDerivation, base, containers, convert, lens, text, vector }: mkDerivation { pname = "container"; - version = "1.1.5"; - sha256 = "1hh3ahw1vfmws1hyyl6blqyxaz4qcip0h0d80ia8pb6b1gfbvxsm"; + version = "1.1.6"; + sha256 = "0q4zgd7hsnpq5wnn5gk5rz9nq1kfp8ci5kc6yp1rmzbyky3j0211"; libraryHaskellDepends = [ base containers convert lens text vector ]; @@ -54025,8 +54058,8 @@ self: { }: mkDerivation { pname = "convert"; - version = "1.5"; - sha256 = "0hw2qmb3g9p7zqqk92hwnzamld6kg121dkv4va4hkpcjlhb8af6g"; + version = "1.5.1"; + sha256 = "044syln587z5mc4fia0d81p47rpkbvzkyyrcxyckqkh2yj3b2k85"; libraryHaskellDepends = [ ansi-wl-pprint base bytestring containers data-default impossible lens template-haskell text utf8-string @@ -56466,8 +56499,8 @@ self: { pname = "cryptoids"; version = "0.5.1.0"; sha256 = "0ai7hg4r944hck9vq2ffwwjsxp3mjfvxwhfr8b8765n1bh86i466"; - revision = "1"; - editedCabalFile = "0whcgkgdq7hp1z4dr8291q8kpqipfr4mvn8dqq7byxm10v59kn0k"; + revision = "3"; + editedCabalFile = "0pjdc90i3qyzxc289kjvn90hnn5xjjzjpgnb24iwqj6ik9asi86g"; libraryHaskellDepends = [ base binary bytestring cryptoids-class cryptoids-types cryptonite directory exceptions filepath memory @@ -56482,22 +56515,26 @@ self: { pname = "cryptoids-class"; version = "0.0.0"; sha256 = "0zp0d815r0dv2xqdi6drq846zz2a82gpqp6nvap3b5dnx2q3hbjy"; - revision = "3"; - editedCabalFile = "1hcdhmksd81sylfjyx0wb4yhrswdwbjlaarq8fbmwcl7fjm4sxfy"; + revision = "4"; + editedCabalFile = "0c3cq648sh5cpj0isknhayamzgzv8avixxfpzr4riags70jr28ld"; libraryHaskellDepends = [ base cryptoids-types exceptions ]; description = "Typeclass-based interface to cryptoids"; license = stdenv.lib.licenses.bsd3; }) {}; "cryptoids-types" = callPackage - ({ mkDerivation, base, binary, http-api-data, path-pieces }: + ({ mkDerivation, aeson, base, binary, deepseq, hashable + , http-api-data, path-pieces + }: mkDerivation { pname = "cryptoids-types"; - version = "0.0.0"; - sha256 = "0qp6lx1k2mqay1i4wgkwgaqamp33gijw0wb13rh71i0qwyvnr51b"; - revision = "3"; - editedCabalFile = "1v8fgyh03qggn0fr2kg79m3r1v9i85q0dihgmbq5z4s1y700c8vq"; - libraryHaskellDepends = [ base binary http-api-data path-pieces ]; + version = "1.0.0"; + sha256 = "0dhv92hdydhhgwgdihl3wpiyxl10szrgfnb68ygn07xxhmmfc3hf"; + revision = "1"; + editedCabalFile = "0fy6fxzaimgi0nrplzdgi0s26cjz2nrv7y5gdnk0z6k3jd1x5qgb"; + libraryHaskellDepends = [ + aeson base binary deepseq hashable http-api-data path-pieces + ]; description = "Shared types for encrypting internal object identifiers before exposure"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -63635,8 +63672,8 @@ self: { pname = "diagrams-lib"; version = "1.4.2.3"; sha256 = "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"; - revision = "1"; - editedCabalFile = "0zsigisgn6sjpfy2hm31zddnsyqm2a046nxb5drjqm7r0aa3vjff"; + revision = "2"; + editedCabalFile = "0gn1lpsq1v9qpyhpizyknn3sfixg1b64s0dsl1jf25lz4kcrpbs7"; libraryHaskellDepends = [ active adjunctions array base bytestring cereal colour containers data-default-class diagrams-core diagrams-solve directory @@ -63812,8 +63849,8 @@ self: { pname = "diagrams-solve"; version = "0.1.1"; sha256 = "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"; - revision = "3"; - editedCabalFile = "13vfs5k09c16q3dvqzgfca1kd93pgc4ll8mfl3wracanm5mn5rx7"; + revision = "4"; + editedCabalFile = "1yjacw17ga4rh6iw70vclk03qm5xjw4y17c7m43gjw8h3cfaq15d"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base deepseq tasty tasty-hunit tasty-quickcheck @@ -66728,6 +66765,22 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "doctest-driver-gen_0_3_0_0" = callPackage + ({ mkDerivation, base, doctest }: + mkDerivation { + pname = "doctest-driver-gen"; + version = "0.3.0.0"; + sha256 = "13m5f15076grwln29pnpqrq9h45cy46pagpk1qw3vzspp7k4ahk1"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ base doctest ]; + description = "Generate driver file for doctest's cabal integration"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "doctest-prop" = callPackage ({ mkDerivation, base, doctest, HUnit, QuickCheck }: mkDerivation { @@ -72972,8 +73025,8 @@ self: { }: mkDerivation { pname = "eventsource-store-specs"; - version = "1.2.0"; - sha256 = "1fvwwbbn8407rcxl7sww1k944gq95hniq9s9ys3hzr8a9y65598i"; + version = "1.2.1"; + sha256 = "1b7nhigf4r26zfbcq0civbsw8mhsz4hpdsdnm94zmkysl5k58f04"; libraryHaskellDepends = [ aeson async base eventsource-api mtl streaming tasty tasty-hspec text transformers-base uuid @@ -72989,8 +73042,8 @@ self: { }: mkDerivation { pname = "eventsource-stub-store"; - version = "1.1.0"; - sha256 = "0rfbn3f6dw6m03f47f68if11xkjd98djhballl50zv7fqifcpz7h"; + version = "1.1.1"; + sha256 = "1xd3ngjjpimfpglkgad3r9dmd7sf2mq3kdlbqs4d6xz28gd7vh7y"; libraryHaskellDepends = [ async base containers eventsource-api mtl stm streaming transformers-base @@ -74223,24 +74276,23 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "extensible_0_4_10_1" = callPackage + "extensible_0_5" = callPackage ({ mkDerivation, aeson, base, bytestring, cassava, comonad , constraints, deepseq, exceptions, ghc-prim, hashable, lens , monad-skeleton, mtl, prettyprinter, primitive, profunctors - , QuickCheck, resourcet, semigroups, StateVar, tagged - , template-haskell, text, th-lift, transformers - , unordered-containers, vector + , QuickCheck, resourcet, StateVar, tagged, template-haskell, text + , th-lift, transformers, unordered-containers, vector }: mkDerivation { pname = "extensible"; - version = "0.4.10.1"; - sha256 = "009z0grpjnnmnsc887k6vgfz5w55mniax25dl4ispj1nq74djksb"; + version = "0.5"; + sha256 = "1nsidp8rb3fnkybirgql2ij1vwjzsy2da3qp8abjb1g8aj50ih14"; libraryHaskellDepends = [ aeson base bytestring cassava comonad constraints deepseq exceptions ghc-prim hashable monad-skeleton mtl prettyprinter - primitive profunctors QuickCheck resourcet semigroups StateVar - tagged template-haskell text th-lift transformers - unordered-containers vector + primitive profunctors QuickCheck resourcet StateVar tagged + template-haskell text th-lift transformers unordered-containers + vector ]; testHaskellDepends = [ base lens QuickCheck template-haskell ]; description = "Extensible, efficient, optics-friendly data types and effects"; @@ -74296,8 +74348,8 @@ self: { }: mkDerivation { pname = "extensible-effects-concurrent"; - version = "0.15.0"; - sha256 = "0hy1z2caqwyxqw1s3xxkbrzi3f86w3vzch783ajq41xqd6z8spdp"; + version = "0.18.1"; + sha256 = "14kx3ipwz51g2qvdmz97v4mckglh6hajw6yzbzllqysgljs243cl"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -74355,22 +74407,6 @@ self: { }) {}; "extra" = callPackage - ({ mkDerivation, base, clock, directory, filepath, process - , QuickCheck, time, unix - }: - mkDerivation { - pname = "extra"; - version = "1.6.13"; - sha256 = "0jc5g120ff97sayff10kqn66wz8aw2wymgwgh2livzkf7vqm5q50"; - libraryHaskellDepends = [ - base clock directory filepath process time unix - ]; - testHaskellDepends = [ base directory filepath QuickCheck unix ]; - description = "Extra functions I use"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "extra_1_6_14" = callPackage ({ mkDerivation, base, clock, directory, filepath, process , QuickCheck, time, unix }: @@ -74384,7 +74420,6 @@ self: { testHaskellDepends = [ base directory filepath QuickCheck unix ]; description = "Extra functions I use"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "extract-dependencies" = callPackage @@ -74726,6 +74761,8 @@ self: { pname = "fake"; version = "0.1.1.1"; sha256 = "0f6iqbyyrllry2q48by8qwaq0n9k7b5d00xgw5vvlr9zdvrpllgf"; + revision = "1"; + editedCabalFile = "1a1rsa8hpgpyw8m2bq9ns76n4dbr4iymjhxqkiif6b6xvg8zwld5"; libraryHaskellDepends = [ base containers generics-sop random text time ]; @@ -74953,6 +74990,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "fast-logger_2_4_12" = callPackage + ({ mkDerivation, array, auto-update, base, bytestring, directory + , easy-file, filepath, hspec, text, unix-compat, unix-time + }: + mkDerivation { + pname = "fast-logger"; + version = "2.4.12"; + sha256 = "1jl9kiiijjpilj4zka8ffb2sil31qmgysan2hkld6mhddlr6pjdy"; + libraryHaskellDepends = [ + array auto-update base bytestring directory easy-file filepath text + unix-compat unix-time + ]; + testHaskellDepends = [ base bytestring directory hspec ]; + description = "A fast logging system"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "fast-math" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -75719,8 +75774,8 @@ self: { ({ mkDerivation, base }: mkDerivation { pname = "fedora-dists"; - version = "1.0.0.1"; - sha256 = "0x5lccpwcf2cd97vnqlzyi4lgbyhqcs5ks1sr3l33h1zffpb0br8"; + version = "1.0.0.2"; + sha256 = "0jc7kv2zflxwfbidc4wm6wad8hpwfxw7w2ri1zghk3970dkl7lnl"; libraryHaskellDepends = [ base ]; description = "Library for Fedora distribution versions"; license = stdenv.lib.licenses.gpl3; @@ -76726,8 +76781,8 @@ self: { pname = "filepath-crypto"; version = "0.1.0.0"; sha256 = "1bj9haa4ignmk6c6gdiqb4rnwy395pwqdyfy4kgg0z16w0l39mw0"; - revision = "6"; - editedCabalFile = "0lg22k1f9l51a8bdnhkwq07mg0m3w3rhgavp1lxi3vmsszsmpmvc"; + revision = "7"; + editedCabalFile = "0dniq1rzv6qb75svf2ya32r0116pjh9jlgly7106x3gyziq2cwh3"; libraryHaskellDepends = [ base binary bytestring case-insensitive cryptoids cryptoids-class cryptoids-types exceptions filepath sandi template-haskell @@ -81576,6 +81631,8 @@ self: { pname = "functor-infix"; version = "0.0.5"; sha256 = "0rifm1p5zq2711vak2lyxzz2xs03saym3m3695wpf3zy38safbpn"; + revision = "1"; + editedCabalFile = "0nvk9hff0vd3s7q67pb4my5vfz1y954y0l8vlbbmdx9i20r1m8nf"; libraryHaskellDepends = [ base template-haskell ]; description = "Infix operators for mapping over compositions of functors. Lots of them."; license = stdenv.lib.licenses.mit; @@ -81597,8 +81654,8 @@ self: { ({ mkDerivation, base, ghc-prim, lens }: mkDerivation { pname = "functor-utils"; - version = "1.17.1"; - sha256 = "1ixssxdhw94l1kjxd5k4gvq8wz4b9d0vww5mg2al9q3vzb7d4pld"; + version = "1.17.2"; + sha256 = "1sf4d3af4kf341g7slpylm2113cy0597fngr5ldlds8znylspmms"; libraryHaskellDepends = [ base ghc-prim lens ]; description = "Collection of functor utilities, providing handy operators, like generalization of (.)."; license = stdenv.lib.licenses.asl20; @@ -85229,6 +85286,28 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "ghc-prof_1_4_1_5" = callPackage + ({ mkDerivation, attoparsec, base, containers, directory, filepath + , process, scientific, tasty, tasty-hunit, temporary, text, time + }: + mkDerivation { + pname = "ghc-prof"; + version = "1.4.1.5"; + sha256 = "0cpyzfyfkq6c17xpccgibjpq8j0l4w33mbpivim3kha7k76ilbg4"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + attoparsec base containers scientific text time + ]; + testHaskellDepends = [ + attoparsec base containers directory filepath process tasty + tasty-hunit temporary text + ]; + description = "Library for parsing GHC time and allocation profiling reports"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "ghc-prof-aeson" = callPackage ({ mkDerivation, aeson, base, bytestring, hspec, text, vector }: mkDerivation { @@ -86866,20 +86945,21 @@ self: { "ginger" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, bytestring - , data-default, filepath, http-types, mtl, parsec, process, safe - , scientific, tasty, tasty-hunit, tasty-quickcheck, text, time - , transformers, unordered-containers, utf8-string, vector, yaml + , data-default, filepath, http-types, mtl, parsec, process + , regex-tdfa, safe, scientific, tasty, tasty-hunit + , tasty-quickcheck, text, time, transformers, unordered-containers + , utf8-string, vector, yaml }: mkDerivation { pname = "ginger"; - version = "0.8.2.0"; - sha256 = "06k2imp511v4xxlzqgii14hf0ncnc6wci3hm7w48z332c5nk24m1"; + version = "0.8.4.0"; + sha256 = "0mk0jmw0qvbv73n7g8n14shnyxjkkq6wp3vnk1gx1dnmbk20vdm7"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson aeson-pretty base bytestring data-default filepath http-types - mtl parsec safe scientific text time transformers + mtl parsec regex-tdfa safe scientific text time transformers unordered-containers utf8-string vector ]; executableHaskellDepends = [ @@ -91004,21 +91084,6 @@ self: { }) {}; "google-oauth2-jwt" = callPackage - ({ mkDerivation, base, base64-bytestring, bytestring, HsOpenSSL - , RSA, text, unix-time - }: - mkDerivation { - pname = "google-oauth2-jwt"; - version = "0.3.0"; - sha256 = "1mi7mdkq2d7n3pxlspc5zgval7wb2q7sn261k704nwrbm0phzzbj"; - libraryHaskellDepends = [ - base base64-bytestring bytestring HsOpenSSL RSA text unix-time - ]; - description = "Get a signed JWT for Google Service Accounts"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "google-oauth2-jwt_0_3_1" = callPackage ({ mkDerivation, base, base64-bytestring, bytestring, HsOpenSSL , RSA, text, unix-time }: @@ -91031,7 +91096,6 @@ self: { ]; description = "Get a signed JWT for Google Service Accounts"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "google-search" = callPackage @@ -91056,8 +91120,8 @@ self: { }: mkDerivation { pname = "google-server-api"; - version = "0.2.0.1"; - sha256 = "0d07flz3vpdyq4ifldp466zhj19ll7zlcnwn0ns47d72r79wghiw"; + version = "0.3.0.0"; + sha256 = "1zrgflz6pav8ygjjisjm35w7a232116f90s0pd8jqf46an2bm8i2"; libraryHaskellDepends = [ aeson aeson-casing base base64-bytestring bytestring HsOpenSSL http-api-data http-client http-client-tls mime-mail monad-control @@ -91999,22 +92063,6 @@ self: { }) {}; "graph-wrapper" = callPackage - ({ mkDerivation, array, base, containers, deepseq, hspec - , QuickCheck - }: - mkDerivation { - pname = "graph-wrapper"; - version = "0.2.5.1"; - sha256 = "04z1qbsf1c31r0mhn8bgr8hisffxacq3j61y4fym28idr8zqaqc3"; - libraryHaskellDepends = [ array base containers ]; - testHaskellDepends = [ - array base containers deepseq hspec QuickCheck - ]; - description = "A wrapper around the standard Data.Graph with a less awkward interface"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "graph-wrapper_0_2_5_2" = callPackage ({ mkDerivation, array, base, containers, deepseq, hspec , QuickCheck }: @@ -92028,7 +92076,6 @@ self: { ]; description = "A wrapper around the standard Data.Graph with a less awkward interface"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "graphbuilder" = callPackage @@ -92816,6 +92863,26 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "groundhog_0_10_0" = callPackage + ({ mkDerivation, aeson, attoparsec, base, base64-bytestring + , blaze-builder, bytestring, containers, monad-control, mtl + , resourcet, safe-exceptions, scientific, text, time, transformers + , transformers-base, transformers-compat + }: + mkDerivation { + pname = "groundhog"; + version = "0.10.0"; + sha256 = "1wckm2qrgmv1ccavwvq8ji3pfb4y197s1n1adv8hz9bqk246byrq"; + libraryHaskellDepends = [ + aeson attoparsec base base64-bytestring blaze-builder bytestring + containers monad-control mtl resourcet safe-exceptions scientific + text time transformers transformers-base transformers-compat + ]; + description = "Type-safe datatype-database mapping library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "groundhog-converters" = callPackage ({ mkDerivation, aeson, base, bimap, bytestring, containers , groundhog, groundhog-sqlite, groundhog-th, tasty, tasty-hunit @@ -92861,6 +92928,30 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "groundhog-inspector_0_10_0" = callPackage + ({ mkDerivation, aeson-pretty, base, bytestring, cmdargs + , containers, groundhog, groundhog-sqlite, groundhog-th, mtl + , regex-compat, syb, template-haskell, text, time, transformers + }: + mkDerivation { + pname = "groundhog-inspector"; + version = "0.10.0"; + sha256 = "1l4smiydqqgpfqcyq77d2g0cvglanqfhlhx3y1k9n3kx94yss5a2"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson-pretty base bytestring containers groundhog groundhog-th + regex-compat syb template-haskell text time transformers + ]; + executableHaskellDepends = [ + base bytestring cmdargs containers groundhog groundhog-sqlite + groundhog-th mtl + ]; + description = "Type-safe datatype-database mapping library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "groundhog-mysql" = callPackage ({ mkDerivation, base, bytestring, containers, groundhog , monad-control, monad-logger, mysql, mysql-simple, resource-pool @@ -92879,6 +92970,24 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "groundhog-mysql_0_10" = callPackage + ({ mkDerivation, base, bytestring, containers, groundhog + , monad-control, monad-logger, mysql, mysql-simple, resource-pool + , resourcet, text, time, transformers + }: + mkDerivation { + pname = "groundhog-mysql"; + version = "0.10"; + sha256 = "1idyisl0dbij4ffd0bn1bm681az87wc30qnkn1vmr0cd0xb6mwnx"; + libraryHaskellDepends = [ + base bytestring containers groundhog monad-control monad-logger + mysql mysql-simple resource-pool resourcet text time transformers + ]; + description = "MySQL backend for the groundhog library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "groundhog-postgresql" = callPackage ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring , containers, groundhog, monad-control, postgresql-libpq @@ -92899,6 +93008,26 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "groundhog-postgresql_0_10" = callPackage + ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring + , containers, groundhog, monad-control, postgresql-libpq + , postgresql-simple, resource-pool, resourcet, text, time + , transformers, vector + }: + mkDerivation { + pname = "groundhog-postgresql"; + version = "0.10"; + sha256 = "1digvi8ra58r122i030h0b089sbyzaclir1cg4iqaflbzrnz45l9"; + libraryHaskellDepends = [ + aeson attoparsec base blaze-builder bytestring containers groundhog + monad-control postgresql-libpq postgresql-simple resource-pool + resourcet text time transformers vector + ]; + description = "PostgreSQL backend for the groundhog library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "groundhog-sqlite" = callPackage ({ mkDerivation, base, bytestring, containers, direct-sqlite , groundhog, monad-control, resource-pool, resourcet, text @@ -92917,6 +93046,24 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "groundhog-sqlite_0_10_0" = callPackage + ({ mkDerivation, base, bytestring, containers, direct-sqlite + , groundhog, monad-control, resource-pool, resourcet, text + , transformers, unordered-containers + }: + mkDerivation { + pname = "groundhog-sqlite"; + version = "0.10.0"; + sha256 = "1z6yss15aw0a14i0nj0flb0h2641sjr70mhasp718qmc4iwkgw7x"; + libraryHaskellDepends = [ + base bytestring containers direct-sqlite groundhog monad-control + resource-pool resourcet text transformers unordered-containers + ]; + description = "Sqlite3 backend for the groundhog library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "groundhog-th" = callPackage ({ mkDerivation, aeson, base, bytestring, containers, groundhog , template-haskell, text, time, unordered-containers, yaml @@ -92934,6 +93081,23 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "groundhog-th_0_10" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, groundhog + , template-haskell, text, time, unordered-containers, yaml + }: + mkDerivation { + pname = "groundhog-th"; + version = "0.10"; + sha256 = "1bshffmv8x0yqd9d7m3s3abnhnz1g4ny3va5mkzsvy1snzxj7xlb"; + libraryHaskellDepends = [ + aeson base bytestring containers groundhog template-haskell text + time unordered-containers yaml + ]; + description = "Type-safe datatype-database mapping library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "group-by-date" = callPackage ({ mkDerivation, base, explicit-exception, filemanip, hsshellscript , pathtype, time, transformers, unix-compat, utility-ht @@ -96403,6 +96567,26 @@ self: { license = stdenv.lib.licenses.publicDomain; }) {}; + "hakyll-images" = callPackage + ({ mkDerivation, base, bytestring, hakyll, HUnit-approx + , JuicyPixels, JuicyPixels-extra, tasty, tasty-hunit + }: + mkDerivation { + pname = "hakyll-images"; + version = "0.1.0"; + sha256 = "1l135gmlm2ydqj3d27gfarykcg6k1g204cysm3bk163f499b8w50"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + base bytestring hakyll JuicyPixels JuicyPixels-extra + ]; + testHaskellDepends = [ + base bytestring hakyll HUnit-approx JuicyPixels JuicyPixels-extra + tasty tasty-hunit + ]; + description = "Hakyll utilities to work with images"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "hakyll-ogmarkup" = callPackage ({ mkDerivation, base, hakyll, ogmarkup }: mkDerivation { @@ -98187,26 +98371,6 @@ self: { }) {}; "hasbolt" = callPackage - ({ mkDerivation, base, binary, bytestring, connection, containers - , data-binary-ieee754, data-default, hex, hspec, network - , QuickCheck, text, transformers - }: - mkDerivation { - pname = "hasbolt"; - version = "0.1.3.1"; - sha256 = "0d6prk5fav5l0d4j0ndinn3szimy02dmayx997z5yg6yb5ix3lai"; - libraryHaskellDepends = [ - base binary bytestring connection containers data-binary-ieee754 - data-default network text transformers - ]; - testHaskellDepends = [ - base bytestring containers hex hspec QuickCheck text - ]; - description = "Haskell driver for Neo4j 3+ (BOLT protocol)"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "hasbolt_0_1_3_2" = callPackage ({ mkDerivation, base, binary, bytestring, connection, containers , data-binary-ieee754, data-default, hex, hspec, network , QuickCheck, text, transformers @@ -98224,7 +98388,6 @@ self: { ]; description = "Haskell driver for Neo4j 3+ (BOLT protocol)"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "hasbolt-extras" = callPackage @@ -98888,8 +99051,8 @@ self: { }: mkDerivation { pname = "haskdogs"; - version = "0.5.3"; - sha256 = "1n3vwrm99h4kzcimav18dkbvkpkhspwdf5gz8da1sr4g0m4kg96n"; + version = "0.5.4"; + sha256 = "1f35np3a99y3aifqgp24c5wdjr5nvvs3jj6g71v39355sjj1hsqq"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -99255,8 +99418,8 @@ self: { }: mkDerivation { pname = "haskell-dap"; - version = "0.0.9.0"; - sha256 = "1flsz93wbhd61yfydbfbb3q8brhh0d0gzfsdd3xscwvcbdzgw9qr"; + version = "0.0.10.0"; + sha256 = "1d2jma4gly0bh1a114a7pm6xq13y5py3p1hkkn24755mi4b0ykqa"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base ]; @@ -99830,8 +99993,8 @@ self: { }: mkDerivation { pname = "haskell-names"; - version = "0.9.5"; - sha256 = "0j1snakldb29v8786licz4k2b92pbdbxhxgyz22rvjypdxyhaa7h"; + version = "0.9.6"; + sha256 = "06g1h1dvsh31hm18v3hkx2s4bcrv2h49kgc2x9k1xk6532a9503w"; enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson base bytestring containers data-lens-light filepath @@ -101668,8 +101831,8 @@ self: { }: mkDerivation { pname = "haskoin-store"; - version = "0.9.1"; - sha256 = "099fng9wy9qhcxn14m1mlpq004bl51xas3rk6jkspqv32d4rr6zs"; + version = "0.9.2"; + sha256 = "1p4za0b6n7ldz7jnq25n9f7wmngxy8ic0vy1kppb7wka0a96sdh1"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -105329,8 +105492,8 @@ self: { ({ mkDerivation, base, doctest, time }: mkDerivation { pname = "herf-time"; - version = "0.2.2"; - sha256 = "13nn46l5mf555rab3fwl38g4fznjh3n07754l671vqcr8c5zfm4m"; + version = "0.3.0"; + sha256 = "00ar1kb29gjvna7rcdg6wj3f22dil2pzbzy8zblvyc452zjy03y2"; libraryHaskellDepends = [ base time ]; testHaskellDepends = [ base doctest ]; description = "haskell time manipulation in a 'kerf like' style"; @@ -107529,8 +107692,8 @@ self: { }: mkDerivation { pname = "hinterface"; - version = "0.8.0"; - sha256 = "1mzq87sdcx50i67kf2lv5wg0k6ahxf1x2qxvi41dnaxkjjl1vcmr"; + version = "0.8.1"; + sha256 = "1qpdapvxy03jqrvn4p45pi2zhiy888k8acysb0fqzi3f8mypqm1c"; libraryHaskellDepends = [ array async base binary bytestring containers cryptonite deepseq exceptions lifted-async lifted-base memory monad-control @@ -110802,17 +110965,15 @@ self: { }: mkDerivation { pname = "hosc"; - version = "0.16"; - sha256 = "1xj5kkpkzzwfi26n28s0gkr9vzkmvp276n9jb75j2ccbr8q79vbj"; - revision = "1"; - editedCabalFile = "0n9ra6qhy5wighwa3zn5496473kdarhdgzsvmhnlp14s6sgw8akb"; + version = "0.17"; + sha256 = "0340lldzim02ixj4n0smfwn20y5i0z7v0gqgbb0mdjs6c90rqhv6"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base binary blaze-builder bytestring data-binary-ieee754 network time transformers ]; description = "Haskell Open Sound Control"; - license = "GPL"; + license = stdenv.lib.licenses.gpl3; }) {}; "hosc-json" = callPackage @@ -113116,21 +113277,21 @@ self: { "hsc3" = callPackage ({ mkDerivation, array, base, binary, bytestring, containers - , data-default, data-ordlist, directory, filepath, hashable, hosc - , network, process, random, safe, split, transformers, vector + , data-ordlist, directory, filepath, hosc, murmur-hash, network + , process, random, safe, split, transformers, vector }: mkDerivation { pname = "hsc3"; - version = "0.16"; - sha256 = "0m6pas8dx48mx91159s7p7fljnivs13cg34gys906nhq11dmjdqn"; + version = "0.17"; + sha256 = "1k7gm0qk96rm7rphmmwlqh99kn5v79g8szyyhb9cqg3rfv6as1ld"; enableSeparateDataOutput = true; libraryHaskellDepends = [ - array base binary bytestring containers data-default data-ordlist - directory filepath hashable hosc network process random safe split + array base binary bytestring containers data-ordlist directory + filepath hosc murmur-hash network process random safe split transformers vector ]; description = "Haskell SuperCollider"; - license = "GPL"; + license = stdenv.lib.licenses.gpl3; }) {}; "hsc3-auditor" = callPackage @@ -118287,8 +118448,8 @@ self: { }: mkDerivation { pname = "htvm"; - version = "0.1.0.0"; - sha256 = "0bf3dqyqrdi9mw72kp6hid4p6jk3gs5vw5fd1ycjgid218na7qmm"; + version = "0.1.2"; + sha256 = "0ggb6g6cdx6qzvda4l2z9danq5pkwncf3p2cyb68bwghs988fgxs"; libraryHaskellDepends = [ array base bytestring containers deriving-compat directory Earley filepath mtl pretty-show process recursion-schemes temporary text @@ -118301,7 +118462,7 @@ self: { tasty tasty-hunit tasty-quickcheck temporary text ]; testSystemDepends = [ tvm_runtime ]; - description = "TVM bindings"; + description = "Bindings for TVM machine learning framework"; license = stdenv.lib.licenses.gpl3; }) {tvm_runtime = null;}; @@ -119225,20 +119386,20 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "hw-ip_1_0_0_0" = callPackage - ({ mkDerivation, appar, attoparsec, base, generic-lens, hedgehog + "hw-ip_2_0_0_0" = callPackage + ({ mkDerivation, appar, base, containers, generic-lens, hedgehog , hspec, hw-bits, hw-hspec-hedgehog, iproute, text }: mkDerivation { pname = "hw-ip"; - version = "1.0.0.0"; - sha256 = "0di0r4dq1fzmb1cgmks54wqamx9jsjgnv4qjs3s8kwszz19plpfw"; + version = "2.0.0.0"; + sha256 = "04hb06rbkipm21fji9n5v56wm2jvdnr7w42ndp9x2hyp3m1i9sm0"; libraryHaskellDepends = [ - appar attoparsec base generic-lens hw-bits iproute text + appar base containers generic-lens hw-bits iproute text ]; testHaskellDepends = [ - attoparsec base generic-lens hedgehog hspec hw-bits - hw-hspec-hedgehog text + appar base generic-lens hedgehog hspec hw-bits hw-hspec-hedgehog + text ]; description = "Library for manipulating IP addresses and CIDR blocks"; license = stdenv.lib.licenses.bsd3; @@ -122007,19 +122168,6 @@ self: { }) {}; "ihs" = callPackage - ({ mkDerivation, base, process }: - mkDerivation { - pname = "ihs"; - version = "0.1.0.2"; - sha256 = "0cprv8g7kz07s5954020ac9yfggf3d2wmwp4xa61q4sz5rs7wiwq"; - isLibrary = false; - isExecutable = true; - executableHaskellDepends = [ base process ]; - description = "Interpolated Haskell"; - license = stdenv.lib.licenses.publicDomain; - }) {}; - - "ihs_0_1_0_3" = callPackage ({ mkDerivation, base, process }: mkDerivation { pname = "ihs"; @@ -122030,7 +122178,6 @@ self: { executableHaskellDepends = [ base process ]; description = "Interpolated Haskell"; license = stdenv.lib.licenses.publicDomain; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "ihttp" = callPackage @@ -122595,8 +122742,8 @@ self: { ({ mkDerivation, base, lens }: mkDerivation { pname = "impossible"; - version = "1.1.3"; - sha256 = "01p9s6nzzlmgg1gr42ys6wkxnzp1jqs3ay8jz5lbm1nkbjlabs4n"; + version = "1.1.4"; + sha256 = "0557f8a9aaslkhpyp7b6zidg88a3472ya31rp8amqf71393nvkqp"; libraryHaskellDepends = [ base lens ]; description = "Set of data and type definitions of impossible types. Impossible types are useful when declaring type classes / type families instances that should not be expanded by GHC until a specific type is provided in order to keep the types nice and readable."; license = stdenv.lib.licenses.asl20; @@ -123487,6 +123634,32 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "inline-c_0_7_0_1" = callPackage + ({ mkDerivation, ansi-wl-pprint, base, bytestring, containers + , hashable, hspec, mtl, parsec, parsers, QuickCheck, raw-strings-qq + , regex-posix, template-haskell, transformers, unordered-containers + , vector + }: + mkDerivation { + pname = "inline-c"; + version = "0.7.0.1"; + sha256 = "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + ansi-wl-pprint base bytestring containers hashable mtl parsec + parsers template-haskell transformers unordered-containers vector + ]; + testHaskellDepends = [ + ansi-wl-pprint base containers hashable hspec parsers QuickCheck + raw-strings-qq regex-posix template-haskell transformers + unordered-containers vector + ]; + description = "Write Haskell source files including C code inline. No FFI required."; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "inline-c-cpp_0_1_0_0" = callPackage ({ mkDerivation, base, inline-c, template-haskell }: mkDerivation { @@ -123562,6 +123735,8 @@ self: { pname = "inline-r"; version = "0.9.2"; sha256 = "1h2gwrh8kzx3przx29gcl4wffni3bxy1yrfabf88bdxjwj79s7z0"; + revision = "1"; + editedCabalFile = "01cxsjdxy5brdnw966928bcdivc8ab7kq91vdqkg2q801jf5jj9g"; libraryHaskellDepends = [ aeson base bytestring containers data-default-class deepseq exceptions inline-c mtl pretty primitive process reflection setenv @@ -124278,6 +124453,27 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "interpolator" = callPackage + ({ mkDerivation, aeson, base, containers, either, hspec + , mono-traversable, mtl, product-profunctors, profunctors + , QuickCheck, template-haskell, text + }: + mkDerivation { + pname = "interpolator"; + version = "0.1"; + sha256 = "049zx47z071n8k83xc7fwqqd397pg0g7misrggj4w27gxvdlvr7r"; + libraryHaskellDepends = [ + aeson base containers either mono-traversable mtl + product-profunctors profunctors QuickCheck template-haskell text + ]; + testHaskellDepends = [ + aeson base containers either hspec mono-traversable mtl + product-profunctors profunctors QuickCheck template-haskell text + ]; + description = "Runtime interpolation of environment variables in records using profunctors"; + license = stdenv.lib.licenses.mit; + }) {}; + "interprocess" = callPackage ({ mkDerivation, base, typed-process }: mkDerivation { @@ -124647,25 +124843,6 @@ self: { }) {}; "io-choice" = callPackage - ({ mkDerivation, base, hspec, lifted-base, monad-control - , template-haskell, transformers, transformers-base - }: - mkDerivation { - pname = "io-choice"; - version = "0.0.6"; - sha256 = "1vqw5v1b9mrkhhszxp1rg8gl1d53akdlzwh40w01b1ni208jhav1"; - libraryHaskellDepends = [ - base lifted-base monad-control template-haskell transformers - transformers-base - ]; - testHaskellDepends = [ - base hspec lifted-base monad-control transformers - ]; - description = "Choice for IO and lifted IO"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "io-choice_0_0_7" = callPackage ({ mkDerivation, base, hspec, lifted-base, monad-control , template-haskell, transformers, transformers-base }: @@ -124682,7 +124859,6 @@ self: { ]; description = "Choice for IO and lifted IO"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "io-machine" = callPackage @@ -125118,25 +125294,6 @@ self: { }) {}; "iproute" = callPackage - ({ mkDerivation, appar, base, byteorder, containers, doctest, hspec - , network, QuickCheck, safe - }: - mkDerivation { - pname = "iproute"; - version = "1.7.6"; - sha256 = "1svczhzy126w7pa5vyfg90xrvi2ym34f47nj4hhcpx13dv06g5wi"; - libraryHaskellDepends = [ - appar base byteorder containers network - ]; - testHaskellDepends = [ - appar base byteorder containers doctest hspec network QuickCheck - safe - ]; - description = "IP Routing Table"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "iproute_1_7_7" = callPackage ({ mkDerivation, appar, base, byteorder, containers, doctest, hspec , network, QuickCheck, safe }: @@ -125153,7 +125310,6 @@ self: { ]; description = "IP Routing Table"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "iptables-helpers" = callPackage @@ -127339,6 +127495,41 @@ self: { license = stdenv.lib.licenses.asl20; }) {}; + "jose_0_8_0_0" = callPackage + ({ mkDerivation, aeson, attoparsec, base, base64-bytestring + , bytestring, concise, containers, cryptonite, hspec, lens, memory + , monad-time, mtl, network-uri, QuickCheck, quickcheck-instances + , safe, semigroups, tasty, tasty-hspec, tasty-quickcheck + , template-haskell, text, time, unix, unordered-containers, vector + , x509 + }: + mkDerivation { + pname = "jose"; + version = "0.8.0.0"; + sha256 = "027698xq5l8in420x3sc5zqwp16i1jzjcy8rlh546j8acxcvrqc4"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson attoparsec base base64-bytestring bytestring concise + containers cryptonite lens memory monad-time mtl network-uri + QuickCheck quickcheck-instances safe semigroups template-haskell + text time unordered-containers vector x509 + ]; + executableHaskellDepends = [ + aeson base bytestring lens mtl semigroups text unix + ]; + testHaskellDepends = [ + aeson attoparsec base base64-bytestring bytestring concise + containers cryptonite hspec lens memory monad-time mtl network-uri + QuickCheck quickcheck-instances safe semigroups tasty tasty-hspec + tasty-quickcheck template-haskell text time unordered-containers + vector x509 + ]; + description = "Javascript Object Signing and Encryption and JSON Web Token library"; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "jose-jwt" = callPackage ({ mkDerivation, aeson, attoparsec, base, bytestring, cereal , containers, criterion, cryptonite, doctest, either, hspec, HUnit @@ -127662,6 +127853,22 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "json_0_9_3" = callPackage + ({ mkDerivation, array, base, bytestring, containers, mtl, parsec + , pretty, syb, text + }: + mkDerivation { + pname = "json"; + version = "0.9.3"; + sha256 = "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"; + libraryHaskellDepends = [ + array base bytestring containers mtl parsec pretty syb text + ]; + description = "Support for serialising Haskell to and from JSON"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "json-alt" = callPackage ({ mkDerivation, aeson, base }: mkDerivation { @@ -128627,6 +128834,22 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {Judy = null;}; + "juicy-draw" = callPackage + ({ mkDerivation, base, JuicyPixels, numeric-extras, primitive }: + mkDerivation { + pname = "juicy-draw"; + version = "0.2.0.0"; + sha256 = "0fi4kwcb8mqnzi3cx2gzpls6nyc8vxnhjfgrb7zf04bpcsph7rgr"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base JuicyPixels numeric-extras primitive + ]; + executableHaskellDepends = [ base JuicyPixels ]; + description = "Draw and fill lines, rectangles and polygons"; + license = stdenv.lib.licenses.mit; + }) {}; + "juicy-gcode" = callPackage ({ mkDerivation, base, configurator, lens, linear, matrix , optparse-applicative, svg-tree, text @@ -130249,8 +130472,8 @@ self: { }: mkDerivation { pname = "keystore"; - version = "0.8.1.0"; - sha256 = "11dfxm7wxn1l82cr30gn2xw45ma7apssfgrgz95wrzm5k0kq331v"; + version = "0.8.1.1"; + sha256 = "013cvfp8cfj90lj4n41g8wwrv6xj3iql4m3zzawmpxzkqwmflsqy"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -131509,6 +131732,32 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "lambdabot-xmpp" = callPackage + ({ mkDerivation, base, data-default, lambdabot-core + , lambdabot-haskell-plugins, lambdabot-irc-plugins + , lambdabot-misc-plugins, lambdabot-novelty-plugins + , lambdabot-reference-plugins, lambdabot-social-plugins + , lifted-base, mtl, network, pontarius-xmpp, split, text, tls + , x509-validation, xml-types + }: + mkDerivation { + pname = "lambdabot-xmpp"; + version = "0.1.0.0"; + sha256 = "1bn8gd2gxl44xqffiy8skh714hkvfv2d318v1qg9k52pp53al2ny"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base data-default lambdabot-core lambdabot-haskell-plugins + lambdabot-irc-plugins lambdabot-misc-plugins + lambdabot-novelty-plugins lambdabot-reference-plugins + lambdabot-social-plugins lifted-base mtl network pontarius-xmpp + split text tls x509-validation xml-types + ]; + description = "Lambdabot plugin for XMPP (Jabber) protocol"; + license = "unknown"; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "lambdabot-zulip" = callPackage ({ mkDerivation, base, containers, hint, hspec, HUnit, hzulip , mueval, optparse-applicative, say, text, yaml @@ -133430,8 +133679,8 @@ self: { }: mkDerivation { pname = "layered-state"; - version = "1.1.4"; - sha256 = "06mwkz6816nkwlsc51hfx0y67dhf42rkib165xag7kga7843idxa"; + version = "1.1.5"; + sha256 = "122z7jzhy65ksdkgn505gkjgn0j04gqq38q5k1d3xlg96x670chk"; libraryHaskellDepends = [ base constraints data-default exceptions lens lens-utils monad-branch monoid mtl primitive profunctors prologue transformers @@ -133520,8 +133769,8 @@ self: { }: mkDerivation { pname = "layouting"; - version = "1.1.3"; - sha256 = "1ji0hmfa87n3pl61gmgk4phmpir29j5r81ack95s3h7nxh0q5qh7"; + version = "1.1.4"; + sha256 = "0p50zg1xydvci313dh87g0asx292vbhbz5iaywcw9rapwxlg5zld"; libraryHaskellDepends = [ base container layered-state prologue terminal-text text ]; @@ -134616,8 +134865,8 @@ self: { }: mkDerivation { pname = "lens-utils"; - version = "1.4.5"; - sha256 = "00xcwyl12w95k14rc12ww2i0kgbrv39q1lvq5kfj3z7l5hv4fg0g"; + version = "1.4.6"; + sha256 = "1gz2mf33lszk33yszzcsbjhch1jxszg1h9cin49wwbgrb0imz7ds"; libraryHaskellDepends = [ aeson base containers data-default lens monoid split template-haskell @@ -137219,6 +137468,23 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "list-t_1_0_2" = callPackage + ({ mkDerivation, base, base-prelude, HTF, mmorph, monad-control + , mtl, mtl-prelude, transformers, transformers-base + }: + mkDerivation { + pname = "list-t"; + version = "1.0.2"; + sha256 = "08wjng9d1sqjqc6pgq2lh84gcaabqmrslm3slc0rvaxh1lvasv6s"; + libraryHaskellDepends = [ + base mmorph monad-control mtl transformers transformers-base + ]; + testHaskellDepends = [ base-prelude HTF mmorph mtl-prelude ]; + description = "ListT done right"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "list-t-attoparsec" = callPackage ({ mkDerivation, attoparsec, base-prelude, either, hspec, list-t , list-t-text, text, transformers @@ -137348,8 +137614,8 @@ self: { ({ mkDerivation, base }: mkDerivation { pname = "list-zip-def"; - version = "0.1.0.2"; - sha256 = "15123r7a52qb6dcxy1bxid8llykx439srqripmvji3rizwlqaa89"; + version = "0.1.0.3"; + sha256 = "0sklydccvdbxnj0c79lj7pcvw5v0bkycs9zp566gdcfy08qcjq79"; libraryHaskellDepends = [ base ]; description = "Provides zips with default values"; license = stdenv.lib.licenses.publicDomain; @@ -140660,6 +140926,21 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "macos-corelibs" = callPackage + ({ mkDerivation, base, containers, managed, mtl, profunctors + , tagged, transformers + }: + mkDerivation { + pname = "macos-corelibs"; + version = "0.0.1.0"; + sha256 = "1ma5dc8j1s3fpqkqwlqnb32vwchdyabxp001qa7r7balima5xfjs"; + libraryHaskellDepends = [ + base containers managed mtl profunctors tagged transformers + ]; + description = "Haskell bindings to C-based Mac OS SDK frameworks"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "macosx-make-standalone" = callPackage ({ mkDerivation, base, containers, data-lens, data-lens-template , deepseq, directory, filepath, graph-visit, mtl, process @@ -143505,25 +143786,6 @@ self: { }) {}; "mega-sdist" = callPackage - ({ mkDerivation, base, bytestring, conduit, conduit-extra - , http-conduit, optparse-simple, rio, rio-orphans, tar-conduit - , yaml - }: - mkDerivation { - pname = "mega-sdist"; - version = "0.3.3.1"; - sha256 = "0p4n5m91i80cns1g5n18bczpyxm8jcc205syr3k8xd7x9gwg69ww"; - isLibrary = false; - isExecutable = true; - executableHaskellDepends = [ - base bytestring conduit conduit-extra http-conduit optparse-simple - rio rio-orphans tar-conduit yaml - ]; - description = "Handles uploading to Hackage from mega repos"; - license = stdenv.lib.licenses.mit; - }) {}; - - "mega-sdist_0_3_3_2" = callPackage ({ mkDerivation, base, bytestring, conduit, conduit-extra , http-conduit, optparse-simple, rio, rio-orphans, tar-conduit , yaml @@ -143540,7 +143802,6 @@ self: { ]; description = "Handles uploading to Hackage from mega repos"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "megaparsec" = callPackage @@ -145760,6 +146021,66 @@ self: { license = stdenv.lib.licenses.publicDomain; }) {}; + "mismi-core" = callPackage + ({ mkDerivation, amazonka, amazonka-core, base, bytestring + , exceptions, hedgehog, http-client, http-types, lens + , mismi-core-test, mismi-kernel, mismi-p, mmorph, mtl, resourcet + , retry, text, transformers + }: + mkDerivation { + pname = "mismi-core"; + version = "0.0.1"; + sha256 = "1vcj56blmk3g7vbp3d3a4yhla002w1ws5jxzbmgf1wxswc8hywvc"; + libraryHaskellDepends = [ + amazonka amazonka-core base bytestring exceptions http-client + http-types lens mismi-kernel mismi-p mtl resourcet retry text + transformers + ]; + testHaskellDepends = [ + amazonka-core base exceptions hedgehog mismi-core-test mismi-p + mmorph resourcet transformers + ]; + description = "AWS Library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + broken = true; + }) {mismi-core-test = null;}; + + "mismi-kernel" = callPackage + ({ mkDerivation, base, hedgehog, mismi-p, text }: + mkDerivation { + pname = "mismi-kernel"; + version = "0.0.1"; + sha256 = "1pqm6xza3ds6z5n32bb12q6z2x9n5jzwyxhy7b7f0ryzijasabg4"; + libraryHaskellDepends = [ base mismi-p text ]; + testHaskellDepends = [ base hedgehog mismi-p text ]; + description = "AWS Library"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "mismi-p" = callPackage + ({ mkDerivation, base, text }: + mkDerivation { + pname = "mismi-p"; + version = "0.0.1"; + sha256 = "1xkrf270rfjig6bkpk4n63kgmjh05x38p99ndan4gr31ghbjyvk5"; + libraryHaskellDepends = [ base text ]; + description = "A commmon prelude for the mismi project"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "mismi-s3-core" = callPackage + ({ mkDerivation, attoparsec, base, hedgehog, mismi-p, text }: + mkDerivation { + pname = "mismi-s3-core"; + version = "0.0.1"; + sha256 = "06c7sgkhw7iax6z5cqq1a0icpizwmwl8agvi788h5w2d6hn9wgjh"; + libraryHaskellDepends = [ attoparsec base mismi-p text ]; + testHaskellDepends = [ base hedgehog mismi-p text ]; + description = "AWS Library"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "miso" = callPackage ({ mkDerivation, aeson, base, bytestring, containers, http-api-data , http-types, lucid, network-uri, servant, servant-lucid, text @@ -146366,13 +146687,13 @@ self: { }) {}; "modular-arithmetic" = callPackage - ({ mkDerivation, base, doctest, Glob }: + ({ mkDerivation, base, doctest }: mkDerivation { pname = "modular-arithmetic"; - version = "1.2.1.3"; - sha256 = "1f5k25gqnn037fpan3l956ly0g5cgwnw7qxyc6sm6hgdcl91wn1l"; + version = "1.2.1.4"; + sha256 = "1nlv5bwyfppw6qz6j2z1cvgzpixciv5gygpcvqlfnmmv410il4si"; libraryHaskellDepends = [ base ]; - testHaskellDepends = [ base doctest Glob ]; + testHaskellDepends = [ base doctest ]; description = "A type for integers modulo some constant"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; @@ -146653,8 +146974,8 @@ self: { ({ mkDerivation, base, mtl, transformers }: mkDerivation { pname = "monad-branch"; - version = "1.0.3"; - sha256 = "15nk9lvwz4s6lx8g08x5npai0bk13s6mj26vz6biwy3shpf5v11r"; + version = "1.0.4"; + sha256 = "0g82ccql6pmj319ji3zpmxab78qwdlrjsl7cdfhjvv4m1i4kmzdf"; libraryHaskellDepends = [ base mtl transformers ]; description = "Monadic abstraction for computations that can be branched and run independently"; license = stdenv.lib.licenses.asl20; @@ -147976,8 +148297,8 @@ self: { ({ mkDerivation, base, bindings-monetdb-mapi }: mkDerivation { pname = "monetdb-mapi"; - version = "0.1.0.1"; - sha256 = "1r035w349js424x0864xghvs79v4wsf9br4rwqpfqkyz2hxsqhx0"; + version = "0.1.0.2"; + sha256 = "069jmlnrgia36ncl5mqaqq0iaqwrhx6ig5jjnlxr40vfdi4m4dw6"; libraryHaskellDepends = [ base bindings-monetdb-mapi ]; description = "Mid-level bindings for the MonetDB API (mapi)"; license = stdenv.lib.licenses.bsd3; @@ -148140,6 +148461,32 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "mono-traversable_1_0_10_0" = callPackage + ({ mkDerivation, base, bytestring, containers, foldl, gauge + , hashable, hspec, HUnit, mwc-random, QuickCheck, semigroups, split + , text, transformers, unordered-containers, vector + , vector-algorithms + }: + mkDerivation { + pname = "mono-traversable"; + version = "1.0.10.0"; + sha256 = "04c8gcksxkrfdll2lm3aaj1dgz7snvfa8avsccs3h6v5ygvdp5h0"; + revision = "1"; + editedCabalFile = "1hgwrmq7r8d1nq9283wis67lg0wlid2sgqnr9vpsv2wpnd4n1rdl"; + libraryHaskellDepends = [ + base bytestring containers hashable split text transformers + unordered-containers vector vector-algorithms + ]; + testHaskellDepends = [ + base bytestring containers foldl hspec HUnit QuickCheck semigroups + text transformers unordered-containers vector + ]; + benchmarkHaskellDepends = [ base gauge mwc-random vector ]; + description = "Type classes for mapping, folding, and traversing monomorphic containers"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "mono-traversable-instances" = callPackage ({ mkDerivation, base, comonad, containers, dlist, dlist-instances , mono-traversable, semigroupoids, semigroups, transformers @@ -148172,8 +148519,8 @@ self: { ({ mkDerivation, base, containers, lens, mtl }: mkDerivation { pname = "monoid"; - version = "0.1.8"; - sha256 = "15mwj4w46wszawhiabykamaf020m795zg017jb2j49gpzk8abqjf"; + version = "0.1.9"; + sha256 = "13k5s9y37igvrsfbw5q76zy10fm585dijx10qk32c4agih9fxyfv"; libraryHaskellDepends = [ base containers lens mtl ]; description = "Monoid type classes, designed in modular way, distinguish Monoid from Mempty and Semigroup. This design allows mempty operation don't bring Semigroups related constraints until (<>) is used."; license = stdenv.lib.licenses.asl20; @@ -148520,8 +148867,8 @@ self: { ({ mkDerivation, base, containers, hspec }: mkDerivation { pname = "more-containers"; - version = "0.1.1.0"; - sha256 = "1gy7h36spmksn1d3vg56l93kfgd24im304ync20pzaymkbljh1gk"; + version = "0.1.2.0"; + sha256 = "0q3ljqjzzrx1y0vbsgvrnmbmvysxkfk2ky5xxix1kirpn1q45yjj"; libraryHaskellDepends = [ base containers ]; testHaskellDepends = [ base containers hspec ]; description = "A few more collections"; @@ -148706,6 +149053,22 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "moss" = callPackage + ({ mkDerivation, base, bytestring, conduit-extra, mtl, network + , network-simple, unix-compat + }: + mkDerivation { + pname = "moss"; + version = "0.1.0.0"; + sha256 = "19gy0x191gk6wa85vp5nhh0xgmr3mj2daiqx8bap452fm1y85qcr"; + libraryHaskellDepends = [ + base bytestring conduit-extra mtl network network-simple + unix-compat + ]; + description = "Haskell client for Moss"; + license = stdenv.lib.licenses.mit; + }) {}; + "moto" = callPackage ({ mkDerivation, aeson, attoparsec, base, bytestring, containers , cryptohash-sha1, df1, di, di-core, di-df1, directory, filepath @@ -154026,6 +154389,17 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "network-uri-lenses" = callPackage + ({ mkDerivation, base, lens, network-uri }: + mkDerivation { + pname = "network-uri-lenses"; + version = "0.2.0.0"; + sha256 = "08yvcvpqwibxpqjz3qbkvks1aqgbshdc9chnj8b49yd1vdrzx41p"; + libraryHaskellDepends = [ base lens network-uri ]; + description = "Lenses for network-uri"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "network-uri-static" = callPackage ({ mkDerivation, base, doctest, network-uri, template-haskell }: mkDerivation { @@ -154423,8 +154797,8 @@ self: { }: mkDerivation { pname = "ngx-export-tools"; - version = "0.4.1.0"; - sha256 = "0q70p894sqzzx534vxl8grrizllzhw3cx1d02nfg88h7gr82zp3f"; + version = "0.4.2.1"; + sha256 = "1hb4n0sjxz6hrdpgw27kxynhvlb8lxf86k4vjjdvic038gf7lfik"; libraryHaskellDepends = [ aeson base binary bytestring ngx-export safe template-haskell ]; @@ -155519,6 +155893,25 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "notmuch" = callPackage + ({ mkDerivation, base, bytestring, c2hs, deepseq, mtl, notmuch + , profunctors, tagged, talloc, text, time + }: + mkDerivation { + pname = "notmuch"; + version = "0.1.0.0"; + sha256 = "100kqfyw5aan07ywynqrpmgvsv1cma1v7sl2a8zvlwnhva39nz3b"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base bytestring deepseq mtl profunctors tagged text time + ]; + librarySystemDepends = [ notmuch talloc ]; + libraryToolDepends = [ c2hs ]; + description = "Haskell binding to Notmuch, the mail indexer"; + license = stdenv.lib.licenses.gpl3; + }) {inherit (pkgs) notmuch; inherit (pkgs) talloc;}; + "notmuch-haskell" = callPackage ({ mkDerivation, base, containers, filepath, notmuch, old-locale , parseargs, time @@ -162269,14 +162662,14 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "path-io_1_4_0" = callPackage + "path-io_1_4_1" = callPackage ({ mkDerivation, base, containers, directory, dlist, exceptions , filepath, hspec, path, temporary, time, transformers, unix-compat }: mkDerivation { pname = "path-io"; - version = "1.4.0"; - sha256 = "0pffdxzn59qm3ifk746sp2g3h2gip2ijs39gwi0k0xn1rkid6ph5"; + version = "1.4.1"; + sha256 = "0v5zwdsy8dd2ljidjm2rr8wfpvjlgk1g7c5xf40ddzjn9ghykk2p"; libraryHaskellDepends = [ base containers directory dlist exceptions filepath path temporary time transformers unix-compat @@ -164355,7 +164748,7 @@ self: { maintainers = with stdenv.lib.maintainers; [ psibi ]; }) {inherit (pkgs) sqlite;}; - "persistent-sqlite_2_9_0" = callPackage + "persistent-sqlite_2_9_1" = callPackage ({ mkDerivation, aeson, base, bytestring, conduit, containers , hspec, microlens-th, monad-logger, old-locale, persistent , persistent-template, resource-pool, resourcet, sqlite, temporary @@ -164363,8 +164756,8 @@ self: { }: mkDerivation { pname = "persistent-sqlite"; - version = "2.9.0"; - sha256 = "0yn99m64p49x0bghpbnm77bk3ghk99w2w5d1772cmx15aq2d7w0y"; + version = "2.9.1"; + sha256 = "1lh55511zw1zrbvfwbyz18zsm7kb2xsym76f1lp4cdjz37c7sh2j"; configureFlags = [ "-fsystemlib" ]; isLibrary = true; isExecutable = true; @@ -168396,8 +168789,9 @@ self: { }: mkDerivation { pname = "pontarius-xmpp"; - version = "0.5.4"; - sha256 = "0fmi915jmdh2k6fp97vywxpbljpcf6xpmvy3m7l1imqig0hfd8nf"; + version = "0.5.5"; + sha256 = "044fhp9fa2fp0aka972wmlmfq05k63dc1xb6fqrbwcyaamlprdsp"; + setupHaskellDepends = [ base Cabal filepath ]; libraryHaskellDepends = [ attoparsec base base64-bytestring binary bytestring conduit containers crypto-api crypto-random cryptohash cryptohash-cryptoapi @@ -168763,8 +169157,8 @@ self: { }: mkDerivation { pname = "posix-paths"; - version = "0.2.1.5"; - sha256 = "1pyi25gz2r3pc64f1i5awyp3mg5w74ik9wh5s9i9hs7bfmkjk1as"; + version = "0.2.1.6"; + sha256 = "0ibycc7z3gm6jr83cgsqwa7hkky2ldfqqd30ickgq6vn2rkp8fbj"; libraryHaskellDepends = [ base bytestring unix ]; testHaskellDepends = [ base bytestring doctest HUnit QuickCheck unix @@ -170600,14 +170994,14 @@ self: { license = stdenv.lib.licenses.mit; }) {}; - "pretty-show_1_9_2" = callPackage + "pretty-show_1_9_4" = callPackage ({ mkDerivation, array, base, filepath, ghc-prim, happy , haskell-lexer, pretty, text }: mkDerivation { pname = "pretty-show"; - version = "1.9.2"; - sha256 = "01vqa5z364cgj73360rpb4rcysfgfyil9l7gxfp96vzcca3gi37a"; + version = "1.9.4"; + sha256 = "00gpniygx45yczhkf6ayqik5kraa2c436ragx07mqp3mp383ab5r"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -172220,8 +172614,8 @@ self: { }: mkDerivation { pname = "prologue"; - version = "3.2.4"; - sha256 = "0smh3g9k2l4ic9gh1i7aq541nnacipvvc9c0v04xq5rk0rzrswmv"; + version = "3.2.6"; + sha256 = "0xic2d3b7ya0qrb8r4q0v6f9zgbh7sw0l7rpbmz09i8pkx7bj90y"; libraryHaskellDepends = [ base bifunctors binary comonad cond container convert data-default deepseq deriving-compat either errors exceptions functor-utils @@ -172561,34 +172955,37 @@ self: { "proteome" = callPackage ({ mkDerivation, aeson, ansi-terminal, base, bytestring, containers - , data-default-class, deepseq, directory, filepath, hslogger, HTF - , lens, messagepack, MissingH, mtl, nvim-hs, pretty-terminal - , prettyprinter, process, resourcet, split, stm, strings, text - , time, transformers, unliftio, utf8-string + , data-default-class, deepseq, directory, either, filepath + , hslogger, HTF, lens, messagepack, MissingH, mtl, nvim-hs + , pretty-terminal, prettyprinter, process, resourcet, safe, split + , stm, strings, text, time, transformers, unliftio, utf8-string }: mkDerivation { pname = "proteome"; - version = "0.3.8.0"; - sha256 = "1lr0a5vyf305ikhzf8xqrdzksz48vjlikx7zvjxkp0wsarz07ikd"; + version = "0.3.14.0"; + sha256 = "0mrx51kqz69n8axhzcxfi7x0ddn35ypny2lidas45q0865qgniif"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson ansi-terminal base bytestring containers data-default-class - deepseq directory filepath hslogger lens messagepack MissingH mtl - nvim-hs pretty-terminal prettyprinter process resourcet split stm - strings text time transformers unliftio utf8-string + deepseq directory either filepath hslogger lens messagepack + MissingH mtl nvim-hs pretty-terminal prettyprinter process + resourcet safe split stm strings text time transformers unliftio + utf8-string ]; executableHaskellDepends = [ aeson ansi-terminal base bytestring containers data-default-class - deepseq directory filepath hslogger lens messagepack MissingH mtl - nvim-hs pretty-terminal prettyprinter process resourcet split stm - strings text time transformers unliftio utf8-string + deepseq directory either filepath hslogger lens messagepack + MissingH mtl nvim-hs pretty-terminal prettyprinter process + resourcet safe split stm strings text time transformers unliftio + utf8-string ]; testHaskellDepends = [ aeson ansi-terminal base bytestring containers data-default-class - deepseq directory filepath hslogger HTF lens messagepack MissingH - mtl nvim-hs pretty-terminal prettyprinter process resourcet split - stm strings text time transformers unliftio utf8-string + deepseq directory either filepath hslogger HTF lens messagepack + MissingH mtl nvim-hs pretty-terminal prettyprinter process + resourcet safe split stm strings text time transformers unliftio + utf8-string ]; description = "neovim project manager"; license = stdenv.lib.licenses.mit; @@ -172860,14 +173257,14 @@ self: { license = stdenv.lib.licenses.bsd3; }) {inherit (pkgs) protobuf;}; - "proto-lens-protoc_0_4_0_1" = callPackage + "proto-lens-protoc_0_4_0_2" = callPackage ({ mkDerivation, base, bytestring, containers, filepath , haskell-src-exts, lens-family, pretty, proto-lens, protobuf, text }: mkDerivation { pname = "proto-lens-protoc"; - version = "0.4.0.1"; - sha256 = "1vigmy8aq65yaspgq803a4vxsq5v3zwlaq95yrf47zrvcx1lw3ni"; + version = "0.4.0.2"; + sha256 = "1kvbv7c42qcynh25mh1vzwdzk4fhvjai031hwmsrmpqywgbgknmm"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -176196,8 +176593,8 @@ self: { }: mkDerivation { pname = "radius"; - version = "0.5.0.2"; - sha256 = "08y57j4235ajkf3z05p8lcixgr2x1m6mih5l0bfic4gxfvs818wc"; + version = "0.6.0.0"; + sha256 = "02jvlbj3w5ww59ms37l24crr8vib7ghzr9y79bip3p4mhpi4c32l"; libraryHaskellDepends = [ base binary bytestring cryptonite iproute memory ]; @@ -178741,6 +179138,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "recursion-schemes_5_1" = callPackage + ({ mkDerivation, base, base-orphans, comonad, free, HUnit + , template-haskell, th-abstraction, transformers + }: + mkDerivation { + pname = "recursion-schemes"; + version = "5.1"; + sha256 = "1lpk8mkh3vd2j56f0fmaj64indgf5m1db9355fgimcb4xfw13nq1"; + libraryHaskellDepends = [ + base base-orphans comonad free template-haskell th-abstraction + transformers + ]; + testHaskellDepends = [ base HUnit template-haskell transformers ]; + description = "Generalized bananas, lenses and barbed wire"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "recursion-schemes-ext" = callPackage ({ mkDerivation, base, composition-prelude, criterion, deepseq , hspec, lens, recursion-schemes @@ -179675,6 +180090,27 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "regex_1_0_2_0" = callPackage + ({ mkDerivation, array, base, base-compat, bytestring, containers + , hashable, regex-base, regex-pcre-builtin, regex-tdfa + , regex-tdfa-text, template-haskell, text, time, time-locale-compat + , transformers, unordered-containers, utf8-string + }: + mkDerivation { + pname = "regex"; + version = "1.0.2.0"; + sha256 = "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"; + libraryHaskellDepends = [ + array base base-compat bytestring containers hashable regex-base + regex-pcre-builtin regex-tdfa regex-tdfa-text template-haskell text + time time-locale-compat transformers unordered-containers + utf8-string + ]; + description = "Toolkit for regex-base"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "regex-applicative" = callPackage ({ mkDerivation, base, containers, smallcheck, tasty, tasty-hunit , tasty-smallcheck, transformers @@ -179814,8 +180250,8 @@ self: { }: mkDerivation { pname = "regex-examples"; - version = "1.0.1.4"; - sha256 = "0lxwp1kqacw7dvhbrzy7kl0w5g79gp22b9143m6cgd2f2z7bgzqp"; + version = "1.0.2.0"; + sha256 = "0qpf4b2zxdlih1smlhybs923n2gjaxhx8i1rgjw6v7ng13vnriiy"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -180119,8 +180555,8 @@ self: { }: mkDerivation { pname = "regex-with-pcre"; - version = "1.0.1.4"; - sha256 = "0pgy9bym4450kzhrzy3amw8dhswzvmqnj5i8pn33l8rvsyr37zp7"; + version = "1.0.2.0"; + sha256 = "19vn5w4vhgxv9s6nhlmj4xl8pa16d1a2ygxxyd5b0qg3q27vvisk"; libraryHaskellDepends = [ base base-compat bytestring containers regex regex-base regex-pcre-builtin regex-pcre-text regex-tdfa template-haskell text @@ -180333,8 +180769,8 @@ self: { }: mkDerivation { pname = "registry"; - version = "0.1.2.0"; - sha256 = "1y2fvb5qf2gz3nzw983v7r1xgdxxxg0n62sambngf7w8pww5p27d"; + version = "0.1.2.2"; + sha256 = "1knhdrjj5y9p8974am4z31k163yjz3123lvjjk1ml4ba65afqhc7"; libraryHaskellDepends = [ base exceptions mtl protolude resourcet text transformers-base ]; @@ -186366,6 +186802,34 @@ self: { license = stdenv.lib.licenses.bsd3; }) {inherit (pkgs) z3;}; + "sbv_7_13" = callPackage + ({ mkDerivation, array, async, base, bytestring, containers + , crackNum, deepseq, directory, doctest, filepath, generic-deriving + , ghc, Glob, hlint, mtl, pretty, process, QuickCheck, random, syb + , tasty, tasty-golden, tasty-hunit, tasty-quickcheck + , template-haskell, time, z3 + }: + mkDerivation { + pname = "sbv"; + version = "7.13"; + sha256 = "0bk400swnb4s98c5p71ml1px6jndaiqhf5dj7zmnliyplqcgpfik"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + array async base containers crackNum deepseq directory filepath + generic-deriving ghc mtl pretty process QuickCheck random syb + template-haskell time + ]; + testHaskellDepends = [ + base bytestring containers crackNum directory doctest filepath Glob + hlint mtl QuickCheck random syb tasty tasty-golden tasty-hunit + tasty-quickcheck template-haskell + ]; + testSystemDepends = [ z3 ]; + description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {inherit (pkgs) z3;}; + "sbvPlugin" = callPackage ({ mkDerivation, base, containers, directory, filepath, ghc , ghc-prim, mtl, process, sbv, tasty, tasty-golden @@ -188608,8 +189072,8 @@ self: { }: mkDerivation { pname = "semilattices"; - version = "0.0.0.2"; - sha256 = "1f4xy2kl8mqvlrzv8y0qs2i3c095iprbzpa4j424sifsmms3ya89"; + version = "0.0.0.3"; + sha256 = "089vgwbcwa3hj53hh9djmilwfknsd9g9z9q1gbl0dad4lr39062f"; libraryHaskellDepends = [ base containers hashable unordered-containers ]; @@ -189595,8 +190059,8 @@ self: { pname = "servant-auth-server"; version = "0.4.2.0"; sha256 = "000szizds1c8amxm7gl75gpwrlj38gv665bhp59d35wcq03na4ap"; - revision = "2"; - editedCabalFile = "188chzggs5ahc2v1mxrr5cda5dqjwwar8b85yz7ysvlvbxb1zsb3"; + revision = "3"; + editedCabalFile = "1zjxqlfyw3wwlyq2faiq9gqhfixn2mvfsv8dapalxs9fph7a2nzj"; libraryHaskellDepends = [ aeson base base64-bytestring blaze-builder bytestring bytestring-conversion case-insensitive cookie crypto-api @@ -193721,8 +194185,8 @@ self: { ({ mkDerivation, base, text }: mkDerivation { pname = "shortcut-links"; - version = "0.4.2.0"; - sha256 = "09sh6c1cwhs9x49mim8z1pafb0sh1z3im0k5wvigkpagx72pasqy"; + version = "0.4.2.1"; + sha256 = "1zyy4jma61vg684sa66mpdlq9ylfrfv23d8m0163lbcfpkxfqdhd"; libraryHaskellDepends = [ base text ]; description = "Link shortcuts for use in text markup"; license = stdenv.lib.licenses.bsd3; @@ -195750,6 +196214,17 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "skip-var" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "skip-var"; + version = "0.1.0.0"; + sha256 = "1xwbr25nsjkjvwjh62inr3ja7lp7carmc4nd68ybkyxmcfp1ivmc"; + libraryHaskellDepends = [ base ]; + description = "Skip variables"; + license = stdenv.lib.licenses.mit; + }) {}; + "skulk" = callPackage ({ mkDerivation, base, hspec, QuickCheck }: mkDerivation { @@ -196745,27 +197220,27 @@ self: { "snap" = callPackage ({ mkDerivation, aeson, async, attoparsec, base, bytestring, cereal , clientsession, configurator, containers, deepseq, directory - , directory-tree, dlist, filepath, hashable, heist, http-streams - , HUnit, lens, lifted-base, map-syntax, monad-control, mtl - , mwc-random, pwstore-fast, QuickCheck, smallcheck, snap-core + , directory-tree, dlist, fail, filepath, hashable, heist + , http-streams, HUnit, lens, lifted-base, map-syntax, monad-control + , mtl, mwc-random, pwstore-fast, QuickCheck, smallcheck, snap-core , snap-server, stm, syb, test-framework, test-framework-hunit , test-framework-quickcheck2, test-framework-smallcheck, text, time , transformers, transformers-base, unordered-containers, xmlhtml }: mkDerivation { pname = "snap"; - version = "1.1.1.0"; - sha256 = "08kgvry18kfkspif2xn8j7w9jfinhrnl33g6ap74fz7rsrg68jz7"; + version = "1.1.2.0"; + sha256 = "05da0dg0p6djcsinycih50hjnircibmicarwg2vr14a7zbrhynps"; libraryHaskellDepends = [ aeson attoparsec base bytestring cereal clientsession configurator - containers directory directory-tree dlist filepath hashable heist - lens lifted-base map-syntax monad-control mtl mwc-random + containers directory directory-tree dlist fail filepath hashable + heist lens lifted-base map-syntax monad-control mtl mwc-random pwstore-fast snap-core snap-server stm text time transformers transformers-base unordered-containers xmlhtml ]; testHaskellDepends = [ aeson async attoparsec base bytestring cereal clientsession - configurator containers deepseq directory directory-tree dlist + configurator containers deepseq directory directory-tree dlist fail filepath hashable heist http-streams HUnit lens lifted-base map-syntax monad-control mtl mwc-random pwstore-fast QuickCheck smallcheck snap-core snap-server stm syb test-framework @@ -196998,8 +197473,8 @@ self: { pname = "snap-loader-dynamic"; version = "1.0.0.0"; sha256 = "12zvmdkypwflmc81i0sxbfmb3ja0vydycmaliyvrw0z32kg705wg"; - revision = "3"; - editedCabalFile = "0kk3viaz5hikj9815ja9l3fqq3653vx7q9jamkz68hyfxyvf8qxh"; + revision = "4"; + editedCabalFile = "19bi4vh6pvcm0qc4wz0ydhs9flii6hyzg7z3iiijfcyhdcc9iah9"; libraryHaskellDepends = [ base directory directory-tree hint mtl snap-core template-haskell time unix @@ -200113,25 +200588,24 @@ self: { "sproxy2" = callPackage ({ mkDerivation, aeson, base, base64-bytestring, blaze-builder - , bytestring, cereal, conduit, containers, cookie, docopt, entropy - , Glob, http-client, http-conduit, http-types - , interpolatedstring-perl6, network, postgresql-simple - , resource-pool, SHA, sqlite-simple, text, time, unix - , unordered-containers, wai, wai-conduit, warp, warp-tls, word8 - , yaml + , bytestring, cereal, conduit, cookie, docopt, entropy, Glob + , http-client, http-conduit, http-types, interpolatedstring-perl6 + , network, postgresql-simple, resource-pool, SHA, sqlite-simple + , text, time, unix, unordered-containers, wai, wai-conduit, warp + , warp-tls, word8, yaml }: mkDerivation { pname = "sproxy2"; - version = "1.96.0"; - sha256 = "0wzkh312d7h957vkf2qqsbnf9xm98vm8y5kzray87rn6rdc5k5x6"; + version = "1.97.0"; + sha256 = "1in8sb41bl46xwk49904xkm3k5s59xikvmyyani1p60l0zfrb2jk"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ aeson base base64-bytestring blaze-builder bytestring cereal - conduit containers cookie docopt entropy Glob http-client - http-conduit http-types interpolatedstring-perl6 network - postgresql-simple resource-pool SHA sqlite-simple text time unix - unordered-containers wai wai-conduit warp warp-tls word8 yaml + conduit cookie docopt entropy Glob http-client http-conduit + http-types interpolatedstring-perl6 network postgresql-simple + resource-pool SHA sqlite-simple text time unix unordered-containers + wai wai-conduit warp warp-tls word8 yaml ]; description = "Secure HTTP proxy for authenticating users via OAuth2"; license = stdenv.lib.licenses.mit; @@ -201253,6 +201727,24 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "stack2cabal" = callPackage + ({ mkDerivation, base, bytestring, Cabal, directory, filepath + , hpack, stackage-to-hackage, text + }: + mkDerivation { + pname = "stack2cabal"; + version = "1.0.0"; + sha256 = "0pqyf8jpldb733i0g93z5w1r6rgxgdnswkd2ciw8pbq5dw38q2yf"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base bytestring Cabal directory filepath hpack stackage-to-hackage + text + ]; + description = "Convert stack projects to cabal.project + cabal.project.freeze"; + license = stdenv.lib.licenses.gpl3Plus; + }) {}; + "stack2nix" = callPackage ({ mkDerivation, async, base, Cabal, cabal2nix, containers , directory, distribution-nixpkgs, filepath, hackage-db, hspec @@ -201529,19 +202021,22 @@ self: { "stackage-to-hackage" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, directory - , extra, filepath, HsOpenSSL, HsYAML, http-streams, network-uri - , optparse-applicative, semigroupoids, text + , extra, filepath, HsYAML, http-client, http-client-tls + , optparse-applicative, text }: mkDerivation { pname = "stackage-to-hackage"; - version = "1.0.2"; - sha256 = "0s474q0hwz917vhh9hmx33j9jjbgm58ajgl0wacw8hfbs8awwk20"; - isLibrary = false; + version = "1.1.0"; + sha256 = "165g5vyxck8hh2523v4h0cwjl3yvp4wwzlsdrs9wvg9ca3ij0v85"; + isLibrary = true; isExecutable = true; + libraryHaskellDepends = [ + base bytestring Cabal containers directory extra filepath HsYAML + http-client http-client-tls text + ]; executableHaskellDepends = [ - base bytestring Cabal containers directory extra filepath HsOpenSSL - HsYAML http-streams network-uri optparse-applicative semigroupoids - text + base bytestring Cabal containers directory extra filepath + optparse-applicative text ]; description = "Convert stack.yaml to cabal.project + cabal.project.freeze"; license = stdenv.lib.licenses.gpl3Plus; @@ -203320,15 +203815,15 @@ self: { license = stdenv.lib.licenses.mit; }) {}; - "stratosphere_0_28_1" = callPackage + "stratosphere_0_29_0" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers , hashable, hspec, hspec-discover, lens, template-haskell, text , unordered-containers }: mkDerivation { pname = "stratosphere"; - version = "0.28.1"; - sha256 = "1brypavqh8049adidzgsjsrfd2sxbv387cckwxl4kkm4s49zrx18"; + version = "0.29.0"; + sha256 = "0zncpgjklm649fzrjjy0bri0ivybrc7lvys8yq72b4dpb8ksp5zs"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -204621,6 +205116,17 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "stripe-concepts" = callPackage + ({ mkDerivation, base, bytestring, text }: + mkDerivation { + pname = "stripe-concepts"; + version = "1.0.0.0"; + sha256 = "0s518mlb181407w2gmlhaayaf3ypn03lzw3fmkzkiqz2c89kd1rw"; + libraryHaskellDepends = [ base bytestring text ]; + description = "Types for the Stripe API"; + license = stdenv.lib.licenses.mit; + }) {}; + "stripe-core" = callPackage ({ mkDerivation, aeson, base, bytestring, mtl, text, time , transformers, unordered-containers @@ -204691,6 +205197,40 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "stripe-scotty" = callPackage + ({ mkDerivation, aeson, base, bytestring, http-types, scotty + , stripe-concepts, stripe-signature, text, unordered-containers + }: + mkDerivation { + pname = "stripe-scotty"; + version = "1.0.0.0"; + sha256 = "195v1a3sl5skz2jr71r1b4za033s6hib7ld59f4fdrfdr5658sbs"; + revision = "1"; + editedCabalFile = "0c3r39217650yjxxs1523ywvyiirrh2f209gl4hfznyigkx2kg41"; + libraryHaskellDepends = [ + aeson base bytestring http-types scotty stripe-concepts + stripe-signature text unordered-containers + ]; + description = "Listen for Stripe webhook events with Scotty"; + license = stdenv.lib.licenses.mit; + }) {}; + + "stripe-signature" = callPackage + ({ mkDerivation, base, bytestring, cryptonite, hex-text, memory + , stripe-concepts, text + }: + mkDerivation { + pname = "stripe-signature"; + version = "1.0.0.0"; + sha256 = "0hg5l9fyfr6yhna2awcyrfr38zlpd1q58b6q6fc3aq8qhbwk8zps"; + libraryHaskellDepends = [ + base bytestring cryptonite hex-text memory stripe-concepts text + ]; + testHaskellDepends = [ base bytestring text ]; + description = "Verification of Stripe webhook signatures"; + license = stdenv.lib.licenses.mit; + }) {}; + "stripe-tests" = callPackage ({ mkDerivation, aeson, base, bytestring, free, hspec, hspec-core , mtl, random, stripe-core, text, time, transformers @@ -204709,6 +205249,22 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "stripe-wreq" = callPackage + ({ mkDerivation, aeson, base, bytestring, lens, stripe-concepts + , text, unordered-containers, wreq + }: + mkDerivation { + pname = "stripe-wreq"; + version = "1.0.0.0"; + sha256 = "1cm9fvkpanxydbbrk9s1yj3bkxd7wcschi40a4dhmh8h3wr89y8s"; + libraryHaskellDepends = [ + aeson base bytestring lens stripe-concepts text + unordered-containers wreq + ]; + description = "Use the Stripe API via Wreq"; + license = stdenv.lib.licenses.mit; + }) {}; + "strips" = callPackage ({ mkDerivation, base, containers, hspec, mtl }: mkDerivation { @@ -205739,14 +206295,16 @@ self: { }) {}; "supervisors" = callPackage - ({ mkDerivation, async, base, containers, hspec, stm, unliftio }: + ({ mkDerivation, async, base, containers, hspec, safe-exceptions + , stm + }: mkDerivation { pname = "supervisors"; - version = "0.1.0.0"; - sha256 = "1sxralp0hcz2zn5byn67xq612nzmpm890gnjs827sidvr7r7h31j"; - revision = "2"; - editedCabalFile = "08qz4qbfrj7hpk3pgyjy3r149dz48jpxajyjs10fgiz16xg11zyl"; - libraryHaskellDepends = [ async base containers stm unliftio ]; + version = "0.2.0.0"; + sha256 = "0q6r211sbb9dyrplr61xajbwcfvz7z93401mhqxhw3pz55vyrg8i"; + libraryHaskellDepends = [ + async base containers safe-exceptions stm + ]; testHaskellDepends = [ base hspec ]; description = "Monitor groups of threads with non-hierarchical lifetimes"; license = stdenv.lib.licenses.mit; @@ -208826,6 +209384,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "tasty-ant-xml_1_1_5" = callPackage + ({ mkDerivation, base, containers, directory, filepath + , generic-deriving, ghc-prim, mtl, stm, tagged, tasty, transformers + , xml + }: + mkDerivation { + pname = "tasty-ant-xml"; + version = "1.1.5"; + sha256 = "1px562a9c3vn0qxy8zs8mkp73nfqca17hdwhv5p7qgawpjafxk32"; + libraryHaskellDepends = [ + base containers directory filepath generic-deriving ghc-prim mtl + stm tagged tasty transformers xml + ]; + description = "Render tasty output to XML for Jenkins"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "tasty-auto" = callPackage ({ mkDerivation, base, directory, filepath, tasty, tasty-hspec , tasty-hunit, tasty-quickcheck, tasty-smallcheck @@ -209294,6 +209870,17 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "tasty-test-vector" = callPackage + ({ mkDerivation, base, tasty }: + mkDerivation { + pname = "tasty-test-vector"; + version = "0"; + sha256 = "1kgz9mp1h391rqj9n78bfvxl8pd3bxanbnwkc5l9gvlygly3fz8j"; + libraryHaskellDepends = [ base tasty ]; + description = "Test vector support for tasty"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "tasty-th" = callPackage ({ mkDerivation, base, haskell-src-exts, tasty, tasty-hunit , template-haskell @@ -210556,8 +211143,8 @@ self: { }: mkDerivation { pname = "terminal-text"; - version = "1.1.1"; - sha256 = "1jgdxqck3ck65mppi694w0f5x0547148y5agi100zggp8r3yxsy3"; + version = "1.1.2"; + sha256 = "1cfxkx3mfjxw8fh3gw4wqk5wwf10hi1aldhn6xc75mwfa6x7djjq"; libraryHaskellDepends = [ ansi-terminal base container layered-state prologue text ]; @@ -212504,6 +213091,21 @@ self: { license = stdenv.lib.licenses.isc; }) {}; + "th-abstraction_0_2_10_0" = callPackage + ({ mkDerivation, base, containers, ghc-prim, template-haskell }: + mkDerivation { + pname = "th-abstraction"; + version = "0.2.10.0"; + sha256 = "1bql46ylr111g0pncdsf5mbhn6cpaw9xlqby89bz417dlk5gzny9"; + libraryHaskellDepends = [ + base containers ghc-prim template-haskell + ]; + testHaskellDepends = [ base containers template-haskell ]; + description = "Nicer interface for reified information about data types"; + license = stdenv.lib.licenses.isc; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "th-alpha" = callPackage ({ mkDerivation, base, containers, derive, mmorph, mtl, tasty , tasty-hunit, tasty-quickcheck, template-haskell, th-desugar @@ -213826,19 +214428,19 @@ self: { }) {}; "tidal" = callPackage - ({ mkDerivation, base, colour, containers, hashable, hosc - , mersenne-random-pure64, monad-loops, mtl, parsec, safe, tasty - , tasty-hunit, text, time, websockets + ({ mkDerivation, base, bifunctors, colour, containers, hashable + , hosc, microspec, monad-loops, mtl, mwc-random, network, parsec + , random, safe, text, time, vector }: mkDerivation { pname = "tidal"; - version = "0.9.10"; - sha256 = "1fgana79fwmn2s3b50vs9wlri6z4f2b8lad5m4n4ggc4rginvlkw"; + version = "1.0.3"; + sha256 = "1blzlahn1xsp03wiv7ci4n6795xx8i9syhclbgcx6fy6gkfr2wy2"; libraryHaskellDepends = [ - base colour containers hashable hosc mersenne-random-pure64 - monad-loops mtl parsec safe text time websockets + base bifunctors colour containers hashable hosc monad-loops mtl + mwc-random network parsec random safe text time vector ]; - testHaskellDepends = [ base tasty tasty-hunit ]; + testHaskellDepends = [ base containers microspec parsec ]; description = "Pattern language for improvised music"; license = stdenv.lib.licenses.gpl3; }) {}; @@ -217999,6 +218601,30 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "turtle_1_5_13" = callPackage + ({ mkDerivation, ansi-wl-pprint, async, base, bytestring, clock + , containers, criterion, directory, doctest, exceptions, foldl + , hostname, managed, optional-args, optparse-applicative, process + , semigroups, stm, system-fileio, system-filepath, temporary, text + , time, transformers, unix, unix-compat + }: + mkDerivation { + pname = "turtle"; + version = "1.5.13"; + sha256 = "1124yhw0l8924cwkmap1qn2z0hf4vn3r73h4pmi9icahg8zpc1hg"; + libraryHaskellDepends = [ + ansi-wl-pprint async base bytestring clock containers directory + exceptions foldl hostname managed optional-args + optparse-applicative process semigroups stm system-fileio + system-filepath temporary text time transformers unix unix-compat + ]; + testHaskellDepends = [ base doctest system-filepath temporary ]; + benchmarkHaskellDepends = [ base criterion text ]; + description = "Shell programming, Haskell-style"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "turtle-options" = callPackage ({ mkDerivation, base, HUnit, optional-args, parsec, text, turtle }: @@ -219052,6 +219678,8 @@ self: { pname = "type-level-sets"; version = "0.8.9.0"; sha256 = "1acsr7g9ssli9yil9kws47gc6h3csmk2afncyki41pipa1vsriv4"; + revision = "1"; + editedCabalFile = "0cc0ws2plharq0gvindgmkp1fs82zd43zijkh7wf0ilfnr2l17z2"; libraryHaskellDepends = [ base ghc-prim ]; description = "Type-level sets and finite maps (with value-level counterparts)"; license = stdenv.lib.licenses.bsd3; @@ -219087,8 +219715,8 @@ self: { }: mkDerivation { pname = "type-map"; - version = "0.1.3.0"; - sha256 = "146kc36z6fljcgmgl9vii1pmf3hs80v2vz21r84p823znrqjs8gc"; + version = "0.1.4.0"; + sha256 = "16ccnn5dk6wl2ynwwmc71rr64qpppqxlmxahmj5g3plq8hh0p40d"; libraryHaskellDepends = [ base containers ghc-prim vector ]; testHaskellDepends = [ base HUnit test-framework test-framework-hunit @@ -219402,8 +220030,8 @@ self: { }: mkDerivation { pname = "typed-spreadsheet"; - version = "1.1.3"; - sha256 = "1y59kd92f5v116y26dlznvqi5kcb6y89rliwcs8ay9sk76606fa6"; + version = "1.1.4"; + sha256 = "16xbzwaiakimwwkbb0q0nxa08j7842z3894p04ijjvksllkdrlna"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -219527,8 +220155,8 @@ self: { }: mkDerivation { pname = "typelevel"; - version = "1.2.2"; - sha256 = "0baigk89rd5cdy35v3abvdwh7g11fnz2rpnzfy4ahr0q1lj395f5"; + version = "1.2.3"; + sha256 = "02bvzgl0331xa4pwdclw08wyq8canmw06ps3xvgvhb5miy93rrwz"; libraryHaskellDepends = [ base constraints convert exceptions lens mtl pretty pretty-show primitive transformers @@ -221560,14 +222188,15 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "unix-time_0_4_0" = callPackage - ({ mkDerivation, base, binary, bytestring, doctest, hspec - , old-locale, old-time, QuickCheck, time + "unix-time_0_4_3" = callPackage + ({ mkDerivation, base, binary, bytestring, Cabal, cabal-doctest + , doctest, hspec, old-locale, old-time, QuickCheck, time }: mkDerivation { pname = "unix-time"; - version = "0.4.0"; - sha256 = "0fb9mdg596db9wbxsr5m3zc3wasvwblb32fsva0zrac93c9rq51r"; + version = "0.4.3"; + sha256 = "0h95vmsk7qyk9nbgjm5vi32ikdw07p1z0l7k6b5hbsv3wavivm53"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ base binary bytestring old-time ]; testHaskellDepends = [ base bytestring doctest hspec old-locale old-time QuickCheck time @@ -221626,28 +222255,6 @@ self: { }) {}; "unliftio" = callPackage - ({ mkDerivation, async, base, deepseq, directory, filepath, hspec - , process, stm, time, transformers, unix, unliftio-core - }: - mkDerivation { - pname = "unliftio"; - version = "0.2.8.1"; - sha256 = "18v8rzm2nxpck5xvg8qixkarhliy16yswgvj6vbjzq8bn4n6nydz"; - revision = "1"; - editedCabalFile = "1zx2h1mnjcjszjdchg17gqrnj3d56x46947jm92snmdjw8x231wg"; - libraryHaskellDepends = [ - async base deepseq directory filepath process stm time transformers - unix unliftio-core - ]; - testHaskellDepends = [ - async base deepseq directory filepath hspec process stm time - transformers unix unliftio-core - ]; - description = "The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)"; - license = stdenv.lib.licenses.mit; - }) {}; - - "unliftio_0_2_9_0" = callPackage ({ mkDerivation, async, base, deepseq, directory, filepath, gauge , hspec, process, QuickCheck, stm, time, transformers, unix , unliftio-core @@ -221670,7 +222277,6 @@ self: { ]; description = "The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)"; license = stdenv.lib.licenses.mit; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "unliftio-core" = callPackage @@ -223276,8 +223882,8 @@ self: { pname = "uuid-crypto"; version = "1.4.0.0"; sha256 = "191da0bdgzbpibh7v2n2cg13gkq2vchsybad0qy9qixk0rzi1cvn"; - revision = "4"; - editedCabalFile = "1rzvpkvjbvzwvks795998k8232pc41yvcblrq7f29abrvd0587xp"; + revision = "6"; + editedCabalFile = "146jxyrsnrcwsll6mhq8a67ms1wpbbbxmkbq7sh9wza6c4g2fbwy"; libraryHaskellDepends = [ base binary bytestring cryptoids cryptoids-class cryptoids-types exceptions uuid @@ -224662,17 +225268,18 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "vector-sized_1_1_1_0" = callPackage + "vector-sized_1_2_0_0" = callPackage ({ mkDerivation, adjunctions, base, comonad, deepseq, distributive - , finite-typelits, indexed-list-literals, primitive, vector + , finite-typelits, hashable, indexed-list-literals, primitive + , vector }: mkDerivation { pname = "vector-sized"; - version = "1.1.1.0"; - sha256 = "05rrfiy0zzcq5jmr1kfbpv1p6f35pqsd5k6zf78byznzjwk758nb"; + version = "1.2.0.0"; + sha256 = "04r43b30vayg56n88b5r3b5krh2kjxnqgmr4kx052bgpl8k6zh54"; libraryHaskellDepends = [ adjunctions base comonad deepseq distributive finite-typelits - indexed-list-literals primitive vector + hashable indexed-list-literals primitive vector ]; description = "Size tagged vectors"; license = stdenv.lib.licenses.bsd3; @@ -224793,8 +225400,8 @@ self: { }: mkDerivation { pname = "vector-text"; - version = "1.1.5"; - sha256 = "1gd7dg9icr1211rf298ny60yjgyyxbxa62l16q28yd5z160sr3ir"; + version = "1.1.6"; + sha256 = "14ms8ach15c1pyaih92qi703vj9aanbrmcsfwzxb55vwfpbbm2f4"; libraryHaskellDepends = [ base binary prologue text vector vector-binary-instances ]; @@ -225153,6 +225760,25 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "viewprof_0_0_0_26" = callPackage + ({ mkDerivation, base, brick, containers, directory, ghc-prof, lens + , scientific, text, vector, vector-algorithms, vty + }: + mkDerivation { + pname = "viewprof"; + version = "0.0.0.26"; + sha256 = "11nd137135jq19l58g5fkxzznbv2hdrfyy231fy9s8hifm2rz14d"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base brick containers directory ghc-prof lens scientific text + vector vector-algorithms vty + ]; + description = "Text-based interactive GHC .prof viewer"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "views" = callPackage ({ mkDerivation, base, mtl }: mkDerivation { @@ -226040,8 +226666,8 @@ self: { }: mkDerivation { pname = "waargonaut"; - version = "0.4.2.0"; - sha256 = "19zfzff6cp57xv220yyxfi0j36x1qic7v4sa93yclshyjmhm7vnm"; + version = "0.5.0.0"; + sha256 = "0xa9ql4583z9cwkn76sf41igk0ny8yp8fcgs6lwbk7kfbb54kk4b"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ base bifunctors bytestring containers contravariant digit @@ -226632,6 +227258,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "wai-logger_2_3_3" = callPackage + ({ mkDerivation, base, byteorder, bytestring, Cabal, cabal-doctest + , doctest, fast-logger, http-types, network, wai + }: + mkDerivation { + pname = "wai-logger"; + version = "2.3.3"; + sha256 = "1i200kn3cnd1b3hf53982y6rddwrf3z1acbclf1xc15632df73wx"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + base byteorder bytestring fast-logger http-types network wai + ]; + testHaskellDepends = [ base doctest ]; + description = "A logging system for WAI"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "wai-logger-buffered" = callPackage ({ mkDerivation, base, bytestring, containers, data-default , http-types, time, wai, warp @@ -230834,44 +231478,6 @@ self: { }) {}; "wreq" = callPackage - ({ mkDerivation, aeson, aeson-pretty, attoparsec - , authenticate-oauth, base, base16-bytestring, base64-bytestring - , bytestring, Cabal, cabal-doctest, case-insensitive, containers - , cryptonite, directory, doctest, exceptions, filepath, ghc-prim - , hashable, http-client, http-client-tls, http-types, HUnit, lens - , lens-aeson, memory, mime-types, network-info, psqueues - , QuickCheck, snap-core, snap-server, template-haskell, temporary - , test-framework, test-framework-hunit, test-framework-quickcheck2 - , text, time, time-locale-compat, transformers, unix-compat - , unordered-containers, uuid, vector - }: - mkDerivation { - pname = "wreq"; - version = "0.5.3.0"; - sha256 = "1bi78y0jzm8mvwbfc4mphg8iyjz5v1f4ziqpk1dskvb1f3ysw3d9"; - isLibrary = true; - isExecutable = true; - setupHaskellDepends = [ base Cabal cabal-doctest ]; - libraryHaskellDepends = [ - aeson attoparsec authenticate-oauth base base16-bytestring - bytestring case-insensitive containers cryptonite exceptions - ghc-prim hashable http-client http-client-tls http-types lens - lens-aeson memory mime-types psqueues template-haskell text time - time-locale-compat unordered-containers - ]; - testHaskellDepends = [ - aeson aeson-pretty base base64-bytestring bytestring - case-insensitive containers directory doctest filepath hashable - http-client http-types HUnit lens lens-aeson network-info - QuickCheck snap-core snap-server temporary test-framework - test-framework-hunit test-framework-quickcheck2 text time - transformers unix-compat unordered-containers uuid vector - ]; - description = "An easy-to-use HTTP client library"; - license = stdenv.lib.licenses.bsd3; - }) {}; - - "wreq_0_5_3_1" = callPackage ({ mkDerivation, aeson, aeson-pretty, attoparsec , authenticate-oauth, base, base16-bytestring, base64-bytestring , bytestring, Cabal, cabal-doctest, case-insensitive, containers @@ -230907,7 +231513,6 @@ self: { ]; description = "An easy-to-use HTTP client library"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; }) {}; "wreq-sb" = callPackage @@ -231232,8 +231837,8 @@ self: { }: mkDerivation { pname = "wsjtx-udp"; - version = "0.1.3.4"; - sha256 = "0krn5ams62dh4f0gfyx7ss7ymm438s9bf4m329pqnhj11p2fiazf"; + version = "0.1.3.5"; + sha256 = "1x2975pj2i0c4w1s00s4qc24sa24y29magilfxbhy8v1w1hfqcv7"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -235286,8 +235891,8 @@ self: { pname = "yesod-bin"; version = "1.6.0.3"; sha256 = "1p5f6bl4gynm47m1xg1x1xh9nz913i83iprh2xd207359idjknz4"; - revision = "3"; - editedCabalFile = "0v3bwg26ghxa1wdvwyvrffd8wwxhv1qk9g8f64ax1n8gz53k6an7"; + revision = "4"; + editedCabalFile = "1iw9m3z6m4n9dlwamf1kwr7pp2wpk6awf1m63zjkgw5j4vwxlcpg"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -237737,6 +238342,18 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "yx" = callPackage + ({ mkDerivation, array, base, bytestring, hspec }: + mkDerivation { + pname = "yx"; + version = "0.0.2.0"; + sha256 = "05xh7x02ddh87kwslgckzh3g5i22r01vfrb160gns3zl6fv8sj2z"; + libraryHaskellDepends = [ array base bytestring ]; + testHaskellDepends = [ array base bytestring hspec ]; + description = "Row-major coordinates"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "yxdb-utils" = callPackage ({ mkDerivation, array, attoparsec, base, bimap, binary , binary-conduit, bytestring, Codec-Compression-LZF, conduit @@ -238988,6 +239605,20 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "zsyntax" = callPackage + ({ mkDerivation, base, constraints, containers, mtl, multiset }: + mkDerivation { + pname = "zsyntax"; + version = "0.2.0.0"; + sha256 = "1pv2slz9r305lal25gh5zhr0lnkf4nzsg6vib6i576m83d3pcsgx"; + libraryHaskellDepends = [ + base constraints containers mtl multiset + ]; + testHaskellDepends = [ base containers mtl multiset ]; + description = "Automated theorem prover for the Zsyntax biochemical calculus"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "ztail" = callPackage ({ mkDerivation, array, base, bytestring, filepath, hinotify , process, regex-posix, time, unix, unordered-containers diff --git a/pkgs/development/idris-modules/tparsec.nix b/pkgs/development/idris-modules/tparsec.nix index 00d4adba5dc..fcf25f0fb93 100644 --- a/pkgs/development/idris-modules/tparsec.nix +++ b/pkgs/development/idris-modules/tparsec.nix @@ -4,15 +4,15 @@ }: build-idris-package { name = "tparsec"; - version = "2018-06-26"; + version = "2018-11-09"; ipkgName = "TParsec"; src = fetchFromGitHub { owner = "gallais"; repo = "idris-tparsec"; - rev = "ca32d1a83f3de95f8979d48016e79d010f47b3c2"; - sha256 = "1zjzk8xjmyyx1qwrdwwg7yjzcgj5wkbwpx8a3wpbj5sv4b5s2r30"; + rev = "fc5bc1e0bf21a53ec854990ed799c4c73e304b06"; + sha256 = "0ladks6x1qhs884w4rsxnzpq8dpijyqfqbvhk55kq10xh6w1smrz"; }; meta = { diff --git a/pkgs/development/interpreters/angelscript/2.22.nix b/pkgs/development/interpreters/angelscript/2.22.nix index c9097bec5dc..0449572da02 100644 --- a/pkgs/development/interpreters/angelscript/2.22.nix +++ b/pkgs/development/interpreters/angelscript/2.22.nix @@ -38,6 +38,7 @@ stdenv.mkDerivation { license = stdenv.lib.licenses.zlib ; maintainers = [stdenv.lib.maintainers.raskin]; platforms = stdenv.lib.platforms.linux; + badPlatforms = [ "aarch64-linux" ]; downloadPage = "http://www.angelcode.com/angelscript/downloads.html"; homepage="http://www.angelcode.com/angelscript/"; }; diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix index 845b5b1f1c0..001f7c9abee 100644 --- a/pkgs/development/interpreters/clojure/default.nix +++ b/pkgs/development/interpreters/clojure/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "clojure-${version}"; - version = "1.9.0.391"; + version = "1.10.0.403"; src = fetchurl { url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz"; - sha256 = "1720nbp891mhdjp37z1ns7rg8yapk3a7h1a1rkzhx7abngpwwjcz"; + sha256 = "0jsyd0vr1qfqs0dz560hyfya553jhr4m4msf5x0n610yzvbqym4c"; }; buildInputs = [ makeWrapper ]; @@ -23,8 +23,8 @@ stdenv.mkDerivation rec { substituteInPlace clojure --replace PREFIX $prefix install -Dt $out/bin clj clojure - wrapProgram $out/bin/clj --prefix PATH : ${binPath} - wrapProgram $out/bin/clojure --prefix PATH : ${binPath} + wrapProgram $out/bin/clj --prefix PATH : $out/bin:${binPath} + wrapProgram $out/bin/clojure --prefix PATH : $out/bin:${binPath} ''; meta = with stdenv.lib; { diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index eb913e1a375..b9a6835908f 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -110,12 +110,7 @@ let self = toPythonModule (python.stdenv.mkDerivation (builtins.removeAttrs attr } // meta; })); -passthru = { - updateScript = let +passthru.updateScript = let filename = builtins.head (lib.splitString ":" self.meta.position); - in writeScript "update-python" '' - #!${python.stdenv.shell} - ${update-python-libraries} ${filename} - ''; -}; + in attrs.passthru.updateScript or [ update-python-libraries filename ]; in lib.extendDerivation true passthru self diff --git a/pkgs/development/interpreters/python/pypy/3/default.nix b/pkgs/development/interpreters/python/pypy/3/default.nix new file mode 100644 index 00000000000..23e239d925b --- /dev/null +++ b/pkgs/development/interpreters/python/pypy/3/default.nix @@ -0,0 +1,138 @@ +{ stdenv, substituteAll, fetchurl +, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi +, sqlite, openssl, ncurses, python, expat, tcl, tk, tix, xlibsWrapper, libX11 +, makeWrapper, callPackage, self, gdbm, db, lzma +, python-setup-hook +# For the Python package set +, packageOverrides ? (self: super: {}) +}: + +assert zlibSupport -> zlib != null; + +let + version = "6.0.0"; + pythonVersion = "3.5"; + libPrefix = "pypy${pythonVersion}"; + sitePackages = "site-packages"; + + pythonForPypy = python.withPackages (ppkgs: [ ppkgs.pycparser ]); + +in stdenv.mkDerivation rec { + name = "pypy3-${version}"; + inherit version pythonVersion; + + src = fetchurl { + url = "https://bitbucket.org/pypy/pypy/get/release-pypy${pythonVersion}-v${version}.tar.bz2"; + sha256 = "0lwq8nn0r5yj01bwmkk5p7xvvrp4s550l8184mkmn74d3gphrlwg"; + }; + + nativeBuildInputs = [ pkgconfig makeWrapper ]; + buildInputs = [ + bzip2 openssl pythonForPypy libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 gdbm db lzma + ] ++ stdenv.lib.optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc + ++ stdenv.lib.optional zlibSupport zlib; + + hardeningDisable = stdenv.lib.optional stdenv.isi686 "pic"; + + C_INCLUDE_PATH = stdenv.lib.makeSearchPathOutput "dev" "include" buildInputs; + LIBRARY_PATH = stdenv.lib.makeLibraryPath buildInputs; + LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath (stdenv.lib.filter (x : x.outPath != stdenv.cc.libc.outPath or "") buildInputs); + + patches = [ + (substituteAll { + src = ./tk_tcl_paths.patch; + inherit tk tcl; + tk_dev = tk.dev; + tcl_dev = tcl; + tk_libprefix = tk.libPrefix; + tcl_libprefix = tcl.libPrefix; + }) + ]; + + postPatch = '' + substituteInPlace "lib-python/3/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'" + + # hint pypy to find nix ncurses + substituteInPlace pypy/module/_minimal_curses/fficurses.py \ + --replace "/usr/include/ncurses/curses.h" "${ncurses.dev}/include/curses.h" \ + --replace "ncurses/curses.h" "${ncurses.dev}/include/curses.h" \ + --replace "ncurses/term.h" "${ncurses.dev}/include/term.h" \ + --replace "libraries=['curses']" "libraries=['ncurses']" + + sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite.dev}/include'], library_dirs=['${sqlite.out}/lib']@" lib_pypy/_sqlite3_build.py + ''; + + buildPhase = '' + ${pythonForPypy.interpreter} rpython/bin/rpython \ + --make-jobs="$NIX_BUILD_CORES" \ + -Ojit \ + --batch pypy/goal/targetpypystandalone.py + ''; + + setupHook = python-setup-hook sitePackages; + + doCheck = true; + checkPhase = '' + export TERMINFO="${ncurses.out}/share/terminfo/"; + export TERM="xterm"; + export HOME="$TMPDIR"; + # disable asyncio due to https://github.com/NixOS/nix/issues/1238 + # disable os due to https://github.com/NixOS/nixpkgs/issues/10496 + # disable pathlib due to https://bitbucket.org/pypy/pypy/pull-requests/594 + # disable shutils because it assumes gid 0 exists + # disable socket because it has two actual network tests that fail + # disable tarfile because it assumes gid 0 exists + ${pythonForPypy.interpreter} ./pypy/test_all.py --pypy=./pypy3-c -k 'not ( test_asyncio or test_os or test_pathlib or test_shutil or test_socket or test_tarfile )' lib-python + ''; + + installPhase = '' + mkdir -p $out/{bin,include,lib,pypy3-c} + + cp -R {include,lib_pypy,lib-python,pypy3-c} $out/pypy3-c + cp libpypy3-c.so $out/lib/ + ln -s $out/pypy3-c/pypy3-c $out/bin/pypy3 + + # other packages expect to find stuff according to libPrefix + ln -s $out/pypy3-c/include $out/include/${libPrefix} + ln -s $out/pypy3-c/lib-python/3 $out/lib/${libPrefix} + + # We must wrap the original, not the symlink. + # PyPy uses argv[0] to find its standard library, and while it knows + # how to follow symlinks, it doesn't know about wrappers. So, it + # will think the wrapper is the original. As long as the wrapper has + # the same path as the original, this is OK. + wrapProgram "$out/pypy3-c/pypy3-c" \ + --set LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:$out/lib" \ + --set LIBRARY_PATH "${LIBRARY_PATH}:$out/lib" + + # verify cffi modules + $out/bin/pypy3 -c "import tkinter;import sqlite3;import curses;import lzma" + + # Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484 + echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py + ''; + + passthru = let + pythonPackages = callPackage ../../../../../top-level/python-packages.nix {python=self; overrides=packageOverrides;}; + in rec { + inherit zlibSupport libPrefix sitePackages; + executable = "pypy3"; + isPypy = true; + isPy3 = true; + isPy35 = true; + buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; }; + interpreter = "${self}/bin/${executable}"; + withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; + pkgs = pythonPackages; + }; + + enableParallelBuilding = true; # almost no parallelization without STM + + meta = with stdenv.lib; { + homepage = http://pypy.org/; + description = "Fast, compliant alternative implementation of the Python language (3.5.3)"; + license = licenses.mit; + platforms = [ "i686-linux" "x86_64-linux" ]; + maintainers = with maintainers; [ andersk ]; + }; +} diff --git a/pkgs/development/interpreters/python/pypy/3/tk_tcl_paths.patch b/pkgs/development/interpreters/python/pypy/3/tk_tcl_paths.patch new file mode 100644 index 00000000000..92bbfc557b3 --- /dev/null +++ b/pkgs/development/interpreters/python/pypy/3/tk_tcl_paths.patch @@ -0,0 +1,17 @@ +--- pypy-pypy-84a2f3e6a7f8.org/lib_pypy/_tkinter/tklib_build.py 2017-10-03 11:49:20.000000000 +0100 ++++ pypy-pypy-84a2f3e6a7f8/lib_pypy/_tkinter/tklib_build.py 2017-11-21 13:20:51.398607530 +0000 +@@ -24,11 +24,11 @@ + else: + # On some Linux distributions, the tcl and tk libraries are + # stored in /usr/include, so we must check this case also +- libdirs = [] ++ libdirs = ["@tcl@/lib", "@tk@/lib"] + found = False + for _ver in ['', '8.6', '8.5']: +- incdirs = ['/usr/include/tcl' + _ver] +- linklibs = ['tcl' + _ver, 'tk' + _ver] ++ incdirs = ['@tcl_dev@/include', '@tk_dev@/include'] ++ linklibs = ['@tcl_libprefix@', '@tk_libprefix@'] + if os.path.isdir(incdirs[0]): + found = True + break diff --git a/pkgs/development/libraries/aften/default.nix b/pkgs/development/libraries/aften/default.nix index fb16c71fd19..22e91ee61d7 100644 --- a/pkgs/development/libraries/aften/default.nix +++ b/pkgs/development/libraries/aften/default.nix @@ -16,6 +16,6 @@ stdenv.mkDerivation rec { description = "An audio encoder which generates compressed audio streams based on ATSC A/52 specification"; homepage = "http://aften.sourceforge.net/"; license = stdenv.lib.licenses.lgpl2; - platforms = stdenv.lib.platforms.unix; + platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; }; } diff --git a/pkgs/development/libraries/allegro/5.nix b/pkgs/development/libraries/allegro/5.nix index 5e82a1a3c6b..269a139a3d6 100644 --- a/pkgs/development/libraries/allegro/5.nix +++ b/pkgs/development/libraries/allegro/5.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, texinfo, libXext, xextproto, libX11, xproto +{ stdenv, fetchFromGitHub, fetchpatch, texinfo, libXext, xextproto, libX11, xproto , libXpm, libXt, libXcursor, alsaLib, cmake, zlib, libpng, libvorbis , libXxf86dga, libXxf86misc, xf86dgaproto, xf86miscproto , xf86vidmodeproto, libXxf86vm, openal, libGLU_combined, kbproto, libjpeg, flac @@ -28,7 +28,15 @@ stdenv.mkDerivation rec { libpulseaudio libpthreadstubs ]; - patchPhase = '' + patches = [ + # fix compilation with mesa 18.2.5 + (fetchpatch { + url = "https://github.com/liballeg/allegro5/commit/a40d30e21802ecf5c9382cf34af9b01bd3781e47.patch"; + sha256 = "1f1xlj5y2vr6wzmcz04s8kxn8cfdwrg9kjlnvpz9dix1z3qjnd4m"; + }) + ]; + + postPatch = '' sed -e 's@/XInput2.h@/XI2.h@g' -i CMakeLists.txt "src/"*.c ''; diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix index 971637bc787..fc67035ce20 100644 --- a/pkgs/development/libraries/avahi/default.nix +++ b/pkgs/development/libraries/avahi/default.nix @@ -1,5 +1,6 @@ { fetchurl, stdenv, pkgconfig, libdaemon, dbus, perlPackages , expat, gettext, intltool, glib, libiconv +, gtk3Support ? false, gtk3 ? null , qt4 ? null , qt4Support ? false , withLibdnssdCompat ? false }: @@ -19,13 +20,15 @@ stdenv.mkDerivation rec { buildInputs = [ libdaemon dbus glib expat libiconv ] ++ (with perlPackages; [ perl XMLParser ]) + ++ (stdenv.lib.optional gtk3Support gtk3) ++ (stdenv.lib.optional qt4Support qt4); nativeBuildInputs = [ pkgconfig gettext intltool glib ]; configureFlags = [ "--disable-qt3" "--disable-gdbm" "--disable-mono" - "--disable-gtk" "--disable-gtk3" + "--disable-gtk" + (stdenv.lib.enableFeature gtk3Support "gtk3") "--${if qt4Support then "enable" else "disable"}-qt4" "--disable-python" "--localstatedir=/var" "--with-distro=none" # A systemd unit is provided by the avahi-daemon NixOS module diff --git a/pkgs/development/libraries/beignet/default.nix b/pkgs/development/libraries/beignet/default.nix index 02c67d7dbf8..ba6fc7cb541 100644 --- a/pkgs/development/libraries/beignet/default.nix +++ b/pkgs/development/libraries/beignet/default.nix @@ -107,5 +107,7 @@ stdenv.mkDerivation rec { license = licenses.lgpl21Plus; maintainers = with maintainers; [ artuuge zimbatm ]; platforms = platforms.linux; + # Requires libdrm_intel + badPlatforms = [ "aarch64-linux" ]; }; } diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix index c79b874ecb6..3e488acee74 100644 --- a/pkgs/development/libraries/boost/generic.nix +++ b/pkgs/development/libraries/boost/generic.nix @@ -111,7 +111,8 @@ stdenv.mkDerivation { description = "Collection of C++ libraries"; license = stdenv.lib.licenses.boost; - platforms = (if versionOlder version "1.59" then remove "aarch64-linux" else id) (platforms.unix ++ platforms.windows); + platforms = (platforms.unix ++ platforms.windows); + badPlatforms = stdenv.lib.optional (versionOlder version "1.59") "aarch64-linux"; maintainers = with maintainers; [ peti wkennington ]; }; diff --git a/pkgs/development/libraries/bootil/default.nix b/pkgs/development/libraries/bootil/default.nix index 0ed223832b6..3c27281571a 100644 --- a/pkgs/development/libraries/bootil/default.nix +++ b/pkgs/development/libraries/bootil/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.free; maintainers = [ stdenv.lib.maintainers.abigailbuccaneer ]; platforms = stdenv.lib.platforms.all; + # Build uses `-msse` and `-mfpmath=sse` + badPlatforms = [ "aarch64-linux" ]; }; src = fetchFromGitHub { diff --git a/pkgs/development/libraries/dbus-sharp/default.nix b/pkgs/development/libraries/dbus-sharp/default.nix index 2704ef2de9f..14db5baea3f 100644 --- a/pkgs/development/libraries/dbus-sharp/default.nix +++ b/pkgs/development/libraries/dbus-sharp/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchFromGitHub, pkgconfig, mono48, autoreconfHook }: +{stdenv, fetchFromGitHub, pkgconfig, mono4, autoreconfHook }: stdenv.mkDerivation rec { name = "dbus-sharp-${version}"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { # Use msbuild when https://github.com/NixOS/nixpkgs/pull/43680 is merged # See: https://github.com/NixOS/nixpkgs/pull/46060 - buildInputs = [ mono48 ]; + buildInputs = [ mono4 ]; dontStrip = true; diff --git a/pkgs/development/libraries/fdk-aac/default.nix b/pkgs/development/libraries/fdk-aac/default.nix index 903f43b1e68..9b7cea3ebbc 100644 --- a/pkgs/development/libraries/fdk-aac/default.nix +++ b/pkgs/development/libraries/fdk-aac/default.nix @@ -5,11 +5,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "fdk-aac-${version}"; - version = "0.1.6"; + version = "2.0.0"; src = fetchurl { url = "mirror://sourceforge/opencore-amr/fdk-aac/${name}.tar.gz"; - sha256 = "1bfkpqba0v2jgxqwaf9xsrr63a089wckrir497lm6nbbmi11pdma"; + sha256 = "0v6rbyw9f9lpfvcg3v1qyapga5hqfnb3wp3x5yaxpwcgjw7ydmpp"; }; configureFlags = [ ] diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix index 03324d54899..7ad5680c75c 100644 --- a/pkgs/development/libraries/freetds/default.nix +++ b/pkgs/development/libraries/freetds/default.nix @@ -8,11 +8,11 @@ assert odbcSupport -> unixODBC != null; stdenv.mkDerivation rec { name = "freetds-${version}"; - version = "1.00.104"; + version = "1.00.109"; src = fetchurl { url = "http://www.freetds.org/files/stable/${name}.tar.bz2"; - sha256 = "0mlg027mppv2348f4wwdpxpac9baqkdsg7xqx21kyx5dx5kmr71g"; + sha256 = "0d00ixf78jzkyhccxjsaspz7yvlwk0xvrfcqfca4cwnwvnyb54ry"; }; buildInputs = [ diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix index 9a3775a79bd..3d3275b041f 100644 --- a/pkgs/development/libraries/goffice/default.nix +++ b/pkgs/development/libraries/goffice/default.nix @@ -1,18 +1,21 @@ -{ fetchurl, stdenv, pkgconfig, intltool, glib, gtk3 -, libgsf, libxml2, libxslt, cairo, pango, librsvg }: +{ fetchurl, stdenv, pkgconfig, intltool, glib, gtk3, lasem +, libgsf, libxml2, libxslt, cairo, pango, librsvg, gnome3 }: stdenv.mkDerivation rec { - name = "goffice-0.10.44"; + pname = "goffice"; + version = "0.10.44"; + + outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { - url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "1fd7cm6j0g0mqgpqs4y22b4gd2ll4mcyvg4d0q22d5ndjapl4q3d"; }; nativeBuildInputs = [ pkgconfig intltool ]; - propagatedBuildInputs = [ # ToDo lasem library for MathML, opt. introspection? - glib gtk3 libxml2 cairo pango libgsf + propagatedBuildInputs = [ + glib gtk3 libxml2 cairo pango libgsf lasem ]; buildInputs = [ libxslt librsvg ]; @@ -20,6 +23,12 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; doCheck = true; + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + }; + }; + meta = { description = "A Glib/GTK+ set of document centric objects and utilities"; diff --git a/pkgs/development/libraries/goocanvasmm/default.nix b/pkgs/development/libraries/goocanvasmm/default.nix new file mode 100644 index 00000000000..b7f56837686 --- /dev/null +++ b/pkgs/development/libraries/goocanvasmm/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, pkgconfig, goocanvas2, gtkmm3, gnome3 }: + +stdenv.mkDerivation rec { + pname = "goocanvasmm"; + version = "1.90.11"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0vpdfrj59nwzwj8bk4s0h05iyql62pxjzsxh72g3vry07s3i3zw0"; + }; + nativeBuildInputs = [ pkgconfig ]; + propagatedBuildInputs = [ gtkmm3 goocanvas2 ]; + + enableParallelBuilding = true; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + }; + }; + + meta = with stdenv.lib; { + description = "C++ bindings for GooCanvas"; + homepage = https://wiki.gnome.org/Projects/GooCanvas; + license = licenses.lgpl2; + maintainers = with maintainers; [ ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/libraries/gsl/gsl-1_16.nix b/pkgs/development/libraries/gsl/gsl-1_16.nix index f569d9c3ea1..69fe1b0db55 100644 --- a/pkgs/development/libraries/gsl/gsl-1_16.nix +++ b/pkgs/development/libraries/gsl/gsl-1_16.nix @@ -36,5 +36,7 @@ stdenv.mkDerivation rec { extensive test suite. ''; platforms = stdenv.lib.platforms.unix; + # Failing "eigen" tests on aarch64. + badPlatforms = [ "aarch64-linux" ]; }; } diff --git a/pkgs/development/libraries/gtksourceviewmm/4.x.nix b/pkgs/development/libraries/gtksourceviewmm/4.x.nix new file mode 100644 index 00000000000..d60bb29c47a --- /dev/null +++ b/pkgs/development/libraries/gtksourceviewmm/4.x.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, pkgconfig, gtkmm3, glibmm, gtksourceview4, gnome3 }: + +stdenv.mkDerivation rec { + pname = "gtksourceviewmm"; + version = "3.91.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "088p2ch1b4fvzl9416nw3waj0pqgp31cd5zj4lx5hzzrq2afgapy"; + }; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + versionPolicy = "none"; + }; + }; + + nativeBuildInputs = [ pkgconfig ]; + propagatedBuildInputs = [ glibmm gtkmm3 gtksourceview4 ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + homepage = https://developer.gnome.org/gtksourceviewmm/; + description = "C++ wrapper for gtksourceview"; + license = licenses.lgpl2; + maintainers = gnome3.maintainers; + }; +} + diff --git a/pkgs/development/libraries/icu/63.nix b/pkgs/development/libraries/icu/63.nix new file mode 100644 index 00000000000..719318990c6 --- /dev/null +++ b/pkgs/development/libraries/icu/63.nix @@ -0,0 +1,14 @@ +{ stdenv, lib, fetchurl, fetchpatch, fixDarwinDylibNames, nativeBuildRoot }: + +import ./base.nix { + version = "63.1"; + sha256 = "17fbk0lm2clsxbmjzvyp245ayx0n4chji3ky1f3fbz2ljjv91i05"; + patches = [ + # https://bugzilla.mozilla.org/show_bug.cgi?id=1499398 + (fetchpatch { + url = https://github.com/unicode-org/icu/commit/8baff8f03e07d8e02304d0c888d0bb21ad2eeb01.patch; + sha256 = "1awfa98ljcf95a85cssahw6bvdnpbq5brf1kgspy14w4mlmhd0jb"; + }) + ]; + patchFlags = [ "-p3" ]; +} { inherit stdenv lib fetchurl fixDarwinDylibNames nativeBuildRoot; } diff --git a/pkgs/development/libraries/icu/base.nix b/pkgs/development/libraries/icu/base.nix index 8ad58c5f90b..0a8cb7d4684 100644 --- a/pkgs/development/libraries/icu/base.nix +++ b/pkgs/development/libraries/icu/base.nix @@ -1,5 +1,5 @@ { version, sha256, patches ? [], patchFlags ? "" }: -{ stdenv, fetchurl, fixDarwinDylibNames +{ stdenv, lib, fetchurl, fixDarwinDylibNames # Cross-compiled icu4c requires a build-root of a native compile , buildRootOnly ? false, nativeBuildRoot }: @@ -20,7 +20,7 @@ let ''; # https://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27 - postPatch = if (stdenv.hostPlatform.libc == "glibc" || stdenv.hostPlatform.libc == "musl") + postPatch = if (stdenv.hostPlatform.libc == "glibc" || stdenv.hostPlatform.libc == "musl") && lib.versionOlder version "62.1" then "substituteInPlace i18n/digitlst.cpp --replace '' ''" else null; # won't find locale_t on darwin diff --git a/pkgs/development/libraries/lasem/default.nix b/pkgs/development/libraries/lasem/default.nix new file mode 100644 index 00000000000..aa1172029d2 --- /dev/null +++ b/pkgs/development/libraries/lasem/default.nix @@ -0,0 +1,38 @@ +{ fetchurl, stdenv, pkgconfig, intltool, gobject-introspection, glib, gdk_pixbuf +, libxml2, cairo, pango, gnome3 }: + +stdenv.mkDerivation rec { + pname = "lasem"; + version = "0.4.3"; + + outputs = [ "bin" "out" "dev" "man" "doc" "devdoc" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "13ym5pm2y3wk5hh9zb2535i3lnhnzyzs0na1knxwgvwxazwm1ng7"; + }; + + nativeBuildInputs = [ pkgconfig intltool gobject-introspection ]; + + propagatedBuildInputs = [ + glib gdk_pixbuf libxml2 cairo pango + ]; + + enableParallelBuilding = true; + doCheck = true; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + }; + }; + + meta = { + description = "SVG and MathML rendering library"; + + homepage = https://wiki.gnome.org/Projects/Lasem; + license = stdenv.lib.licenses.gpl2Plus; + + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/development/libraries/libcollectdclient/default.nix b/pkgs/development/libraries/libcollectdclient/default.nix index 4f4007649d0..0f1cbeb2f96 100644 --- a/pkgs/development/libraries/libcollectdclient/default.nix +++ b/pkgs/development/libraries/libcollectdclient/default.nix @@ -5,11 +5,7 @@ collectd.overrideAttrs (oldAttrs: { name = "libcollectdclient-${collectd.version}"; buildInputs = [ ]; - NIX_CFLAGS_COMPILE = oldAttrs.NIX_CFLAGS_COMPILE ++ [ - "-Wno-error=unused-function" - ]; - - configureFlags = oldAttrs.configureFlags ++ [ + configureFlags = (oldAttrs.configureFlags or []) ++ [ "--disable-daemon" "--disable-all-plugins" ]; diff --git a/pkgs/development/libraries/libepc/default.nix b/pkgs/development/libraries/libepc/default.nix new file mode 100644 index 00000000000..59780699fd1 --- /dev/null +++ b/pkgs/development/libraries/libepc/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk-doc, glib, avahi, gnutls, libuuid, libsoup, gtk3, gnome3 }: + +let + avahiWithGtk = avahi.override { gtk3Support = true; }; +in stdenv.mkDerivation rec { + pname = "libepc"; + version = "0.4.6"; + + outputs = [ "out" "dev" "devdoc" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1s3svb2slqjsrqfv50c2ymnqcijcxb5gnx6bfibwh9l5ga290n91"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + gtk-doc + ]; + buildInputs = [ + glib + libuuid + gtk3 + ]; + propagatedBuildInputs = [ + avahiWithGtk + gnutls + libsoup + ]; + + enableParallelBuilding = true; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + }; + }; + + meta = with stdenv.lib; { + description = "Easy Publish and Consume Library"; + homepage = https://wiki.gnome.org/Projects/libepc; + license = licenses.lgpl21Plus; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/libgda/default.nix b/pkgs/development/libraries/libgda/default.nix index ee9323ebc5c..9bf03f25c9c 100644 --- a/pkgs/development/libraries/libgda/default.nix +++ b/pkgs/development/libraries/libgda/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gtk3, openssl, gnome3, vala +{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gtk3, openssl, gnome3, gobject-introspection, vala , overrideCC, gcc6 , mysqlSupport ? false, mysql ? null , postgresSupport ? false, postgresql ? null @@ -23,7 +23,7 @@ assert postgresSupport -> postgresql != null; hardeningDisable = [ "format" ]; - nativeBuildInputs = [ pkgconfig intltool itstool libxml2 vala ]; + nativeBuildInputs = [ pkgconfig intltool itstool libxml2 gobject-introspection vala ]; buildInputs = with stdenv.lib; [ gtk3 openssl gnome3.libgee ] ++ optional (mysqlSupport) mysql.connector-c ++ optional (postgresSupport) postgresql; diff --git a/pkgs/development/libraries/libgdamm/default.nix b/pkgs/development/libraries/libgdamm/default.nix new file mode 100644 index 00000000000..012400a49ab --- /dev/null +++ b/pkgs/development/libraries/libgdamm/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, pkgconfig, glibmm, libgda, libxml2, gnome3 +, mysqlSupport ? false, mysql ? null +, postgresSupport ? false, postgresql ? null }: + +let + gda = libgda.override { + inherit mysqlSupport postgresSupport; + }; +in stdenv.mkDerivation rec { + pname = "libgdamm"; + version = "4.99.11"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1fyh15b3f8hmwbswalxk1g4l04yvvybksn5nm7gznn5jl5q010p9"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ glibmm libxml2 ]; + propagatedBuildInputs = [ gda ]; + + enableParallelBuilding = true; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + }; + }; + + meta = with stdenv.lib; { + description = "C++ bindings for libgda"; + homepage = http://www.gnome-db.org/; + license = licenses.lgpl21Plus; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/libgdiplus/default.nix b/pkgs/development/libraries/libgdiplus/default.nix index d54f9203d23..70353d68ca7 100644 --- a/pkgs/development/libraries/libgdiplus/default.nix +++ b/pkgs/development/libraries/libgdiplus/default.nix @@ -1,31 +1,40 @@ -{ stdenv, fetchurl, pkgconfig, glib, cairo, Carbon, fontconfig +{ stdenv, fetchFromGitHub, pkgconfig, glib, cairo, Carbon, fontconfig , libtiff, giflib, libjpeg, libpng -, libXrender, libexif }: +, libXrender, libexif, autoreconfHook, fetchpatch }: stdenv.mkDerivation rec { - name = "libgdiplus-2.10.9"; + name = "libgdiplus-5.6"; - src = fetchurl { - url = "https://download.mono-project.com/sources/libgdiplus/${name}.tar.bz2"; - sha256 = "0klnbly2q0yx5p0l5z8da9lhqsjj9xqj06kdw2v7rnms4z1vdpkd"; + src = fetchFromGitHub { + owner = "mono"; + repo = "libgdiplus"; + rev = "5.6"; + sha256 = "11xr84kng74j3pd8sx74q80a71k6dw0a502qgibcxlyqh666lfb7"; }; NIX_LDFLAGS = "-lgif"; - patches = - [ (fetchurl { - url = "https://raw.github.com/MagicGroup/MagicSpecLib/master/libgdiplus/libgdiplus-2.10.1-libpng15.patch"; - sha256 = "130r0jm065pjvbz5dkx96w37vj1wqc8fakmi2znribs14g0bl65f"; - }) - ./giflib.patch - ]; - - patchFlags = "-p0"; + patches = [ # Series of patches cherry-picked from master, all fixes various sigsegv (or required by other patch) + (fetchpatch { + url = "https://github.com/mono/libgdiplus/commit/d33a2580a94701ff33abe28c22881d6173be57d0.patch"; + sha256 = "0rr54jylscn4icqjprqhwrncyr92r0d7kmfrrq3myskplpqv1c11"; + }) + (fetchpatch { + url ="https://github.com/mono/libgdiplus/commit/aa6aa53906935572f52f519fe4ab9ebedc051d08.patch"; + sha256 = "1wg0avm8qv5cb4vk80baflfzszm6q7ydhn89c3h6kq68hg6zsf1f"; + }) + (fetchpatch { + url = "https://github.com/mono/libgdiplus/commit/81e45a1d5a3ac3cf035bcc3fabb2859818b6cc04.patch"; + sha256 = "07wmc88cd1lqifs5x6npryni65jyy9gi8lgr2i1lb7v0fhvlyswg"; + }) + ]; hardeningDisable = [ "format" ]; + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + buildInputs = - [ pkgconfig glib cairo fontconfig libtiff giflib + [ glib cairo fontconfig libtiff giflib libjpeg libpng libXrender libexif ] ++ stdenv.lib.optional stdenv.isDarwin Carbon; @@ -34,6 +43,10 @@ stdenv.mkDerivation rec { ln -s $out/lib/libgdiplus.0.dylib $out/lib/libgdiplus.so ''; + checkPhase = '' + make check -w + ''; + meta = with stdenv.lib; { description = "Mono library that provides a GDI+-compatible API on non-Windows operating systems"; homepage = https://www.mono-project.com/docs/gui/libgdiplus/; diff --git a/pkgs/development/libraries/libgdiplus/giflib.patch b/pkgs/development/libraries/libgdiplus/giflib.patch deleted file mode 100644 index 7b90d9863fd..00000000000 --- a/pkgs/development/libraries/libgdiplus/giflib.patch +++ /dev/null @@ -1,143 +0,0 @@ -diff -Naur libgdiplus-2.10.9-orig/src/gifcodec.c libgdiplus-2.10.9/src/gifcodec.c ---- src/gifcodec.c -+++ src/gifcodec.c -@@ -39,8 +39,10 @@ - - #include "gifcodec.h" - -+#if GIFLIB_MAJOR < 5 - /* giflib declares this incorrectly as EgifOpen */ - extern GifFileType *EGifOpen(void *userData, OutputFunc writeFunc); -+#endif - - /* Data structure used for callback */ - typedef struct -@@ -105,7 +107,7 @@ - */ - - static int --AddExtensionBlockMono(SavedImage *New, int Len, BYTE ExtData[]) -+AddExtensionBlockMono(SavedImage *New, int Len, int func, BYTE ExtData[]) - { - ExtensionBlock *ep; - -@@ -129,7 +131,7 @@ - - if (ExtData) { - memcpy(ep->Bytes, ExtData, Len); -- ep->Function = New->Function; -+ ep->Function = func; - } - - return (GIF_OK); -@@ -232,20 +234,20 @@ - } - - case EXTENSION_RECORD_TYPE: { -- if (DGifGetExtension(GifFile, &temp_save.Function, &ExtData) == GIF_ERROR) { -+ int func; -+ if (DGifGetExtension(GifFile, &func, &ExtData) == GIF_ERROR) { - return (GIF_ERROR); - } - - while (ExtData != NULL) { - /* Create an extension block with our data */ -- if (AddExtensionBlockMono(&temp_save, ExtData[0], &ExtData[1]) == GIF_ERROR) { -+ if (AddExtensionBlockMono(&temp_save, func, ExtData[0], &ExtData[1]) == GIF_ERROR) { - return (GIF_ERROR); - } - - if (DGifGetExtensionNext(GifFile, &ExtData) == GIF_ERROR) { - return (GIF_ERROR); - } -- temp_save.Function = 0; - } - break; - } -@@ -303,12 +305,19 @@ - result = NULL; - loop_counter = FALSE; - -+#if GIFLIB_MAJOR < 5 - if (from_file) { - gif = DGifOpen(stream, &gdip_gif_fileinputfunc); - } else { - gif = DGifOpen (stream, &gdip_gif_inputfunc); - } -- -+#else -+ if (from_file) -+ gif = DGifOpen(stream, &gdip_gif_fileinputfunc, NULL); -+ else -+ gif = DGifOpen(stream, &gdip_gif_inputfunc, NULL); -+#endif -+ - if (gif == NULL) { - goto error; - } -@@ -581,7 +590,7 @@ - } - - FreeExtensionMono(&global_extensions); -- DGifCloseFile (gif); -+ DGifCloseFile (gif, NULL); - - *image = result; - return Ok; -@@ -597,7 +606,7 @@ - - if (gif != NULL) { - FreeExtensionMono (&global_extensions); -- DGifCloseFile (gif); -+ DGifCloseFile (gif, NULL); - } - - *image = NULL; -@@ -660,11 +669,22 @@ - return InvalidParameter; - } - -+#if GIFLIB_MAJOR < 5 - if (from_file) { - fp = EGifOpenFileName (stream, 0); - } else { - fp = EGifOpen (stream, gdip_gif_outputfunc); - } -+#else -+ if (from_file) -+ fp = EGifOpenFileName (stream, 0, NULL); -+ else -+ fp = EGifOpen (stream, gdip_gif_outputfunc, NULL); -+#define MakeMapObject GifMakeMapObject -+#define FreeMapObject GifFreeMapObject -+#define QuantizeBuffer GifQuantizeBuffer -+#define BitSize GifBitSize -+#endif - - if (!fp) { - return FileNotFound; -@@ -848,8 +868,15 @@ - Buffer[0] = 1; - Buffer[1] = ptr[0]; - Buffer[2] = ptr[1]; -+#if GIFLIB_MAJOR < 5 - EGifPutExtensionFirst(fp, APPLICATION_EXT_FUNC_CODE, 11, "NETSCAPE2.0"); - EGifPutExtensionLast(fp, APPLICATION_EXT_FUNC_CODE, 3, Buffer); -+#else -+ EGifPutExtensionLeader(fp, APPLICATION_EXT_FUNC_CODE); -+ EGifPutExtensionBlock(fp, 11, "NETSCAPE2.0"); -+ EGifPutExtensionBlock(fp, 3, Buffer); -+ EGifPutExtensionTrailer(fp); -+#endif - } - } - -@@ -923,7 +950,7 @@ - } - } - -- EGifCloseFile (fp); -+ EGifCloseFile (fp, NULL); - - return Ok; - diff --git a/pkgs/development/libraries/libgrss/default.nix b/pkgs/development/libraries/libgrss/default.nix index 430ebcfd309..8fc44fb6a8d 100644 --- a/pkgs/development/libraries/libgrss/default.nix +++ b/pkgs/development/libraries/libgrss/default.nix @@ -26,6 +26,7 @@ stdenv.mkDerivation { passthru = { updateScript = gnome3.updateScript { packageName = pname; + versionPolicy = "none"; }; }; diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix index 766c0dcf00e..0487010d11e 100644 --- a/pkgs/development/libraries/librealsense/default.nix +++ b/pkgs/development/libraries/librealsense/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "librealsense-${version}"; - version = "2.16.4"; + version = "2.17.0"; src = fetchFromGitHub { owner = "IntelRealSense"; repo = "librealsense"; rev = "v${version}"; - sha256 = "0664lsdw9a3s3apqiv9kkzfnz86ai9wdc8y00qyxrmxq9lpjsq11"; + sha256 = "1ac580yhxmvxpdvlzdzpcdffysr6z3dl8dykndnq5758alkyspd7"; }; buildInputs = [ diff --git a/pkgs/development/libraries/librime/default.nix b/pkgs/development/libraries/librime/default.nix index 5be9a2de94e..a592fd86257 100644 --- a/pkgs/development/libraries/librime/default.nix +++ b/pkgs/development/libraries/librime/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "librime-${version}"; - version = "1.3.1"; + version = "1.3.2"; src = fetchFromGitHub { owner = "rime"; repo = "librime"; rev = "${version}"; - sha256 = "1y0h3nnz97smx9z8h5fzk4c27mvrwv8kajxffqc43bhyvxvb2jd6"; + sha256 = "06q10cv7a3i6d8l3sq79nasw3p1njvmjgh4jq2hqw9abcx351m1r"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/mailcore2/default.nix b/pkgs/development/libraries/mailcore2/default.nix index 367c4e96384..c7794b1a8bf 100644 --- a/pkgs/development/libraries/mailcore2/default.nix +++ b/pkgs/development/libraries/mailcore2/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { name = "mailcore2-${version}"; - version = "0.6.2"; + version = "0.6.3"; src = fetchFromGitHub { owner = "MailCore"; repo = "mailcore2"; rev = version; - sha256 = "1d0wmnkk9vnjqc28i79z3fwaaycdbprfspagik4mzdkgval5r5pm"; + sha256 = "0yxynvfmifpw9hdhv499a813hb2ynan74r353lhcdajkkm7w8br5"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/mm-common/default.nix b/pkgs/development/libraries/mm-common/default.nix new file mode 100644 index 00000000000..78ae8875fcf --- /dev/null +++ b/pkgs/development/libraries/mm-common/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, gnome3 }: + +stdenv.mkDerivation rec { + pname = "mm-common"; + version = "0.9.12"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "02vwgv404b56wxy0gnm9xq9fvzgn9dhfqcy2hhl78ljv3v7drzyf"; + }; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + versionPolicy = "none"; + }; + }; + + meta = with stdenv.lib; { + description = "Common build files of GLib/GTK+ C++ bindings"; + longDescription = '' + The mm-common module provides the build infrastructure and utilities + shared among the GNOME C++ binding libraries. It is only a required + dependency for building the C++ bindings from the gnome.org version + control repository. An installation of mm-common is not required for + building tarball releases, unless configured to use maintainer-mode. + ''; + homepage = http://www.gtkmm.org; + license = licenses.gpl2Plus; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/mono-addins/default.nix b/pkgs/development/libraries/mono-addins/default.nix index ca72557242f..43311c29659 100644 --- a/pkgs/development/libraries/mono-addins/default.nix +++ b/pkgs/development/libraries/mono-addins/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, mono48, gtk-sharp-2_0 }: +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, mono4, gtk-sharp-2_0 }: stdenv.mkDerivation rec { name = "mono-addins-${version}"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig autoreconfHook ]; # Use msbuild when https://github.com/NixOS/nixpkgs/pull/43680 is merged - buildInputs = [ mono48 gtk-sharp-2_0 ]; + buildInputs = [ mono4 gtk-sharp-2_0 ]; dontStrip = true; diff --git a/pkgs/development/libraries/mpich/default.nix b/pkgs/development/libraries/mpich/default.nix index bab52e0fbe0..ffe6b5edf96 100644 --- a/pkgs/development/libraries/mpich/default.nix +++ b/pkgs/development/libraries/mpich/default.nix @@ -23,17 +23,18 @@ stdenv.mkDerivation rec { doCheck = true; preFixup = '' + # Ensure the default compilers are the ones mpich was built with + sed -i 's:CC="gcc":CC=${stdenv.cc}/bin/gcc:' $out/bin/mpicc + sed -i 's:CXX="g++":CXX=${stdenv.cc}/bin/g++:' $out/bin/mpicxx + sed -i 's:FC="gfortran":FC=${gfortran}/bin/gfortran:' $out/bin/mpifort + '' + + stdenv.lib.optionalString (!stdenv.isDarwin) '' # /tmp/nix-build... ends up in the RPATH, fix it manually for entry in $out/bin/mpichversion $out/bin/mpivars; do echo "fix rpath: $entry" patchelf --set-rpath "$out/lib" $entry done - - # Ensure the default compilers are the ones mpich was built with - sed -i 's:CC="gcc":CC=${stdenv.cc}/bin/gcc:' $out/bin/mpicc - sed -i 's:CXX="g++":CXX=${stdenv.cc}/bin/g++:' $out/bin/mpicxx - sed -i 's:FC="gfortran":FC=${gfortran}/bin/gfortran:' $out/bin/mpifort - ''; + ''; meta = with stdenv.lib; { description = "Implementation of the Message Passing Interface (MPI) standard"; @@ -49,6 +50,6 @@ stdenv.mkDerivation rec { fullName = "MPICH license (permissive)"; }; maintainers = [ maintainers.markuskowa ]; - platforms = platforms.linux; + platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/development/libraries/nlohmann_json/default.nix b/pkgs/development/libraries/nlohmann_json/default.nix index d57461853d3..eb737c0757d 100644 --- a/pkgs/development/libraries/nlohmann_json/default.nix +++ b/pkgs/development/libraries/nlohmann_json/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "nlohmann_json-${version}"; - version = "3.4.0"; + version = "3.5.0"; src = fetchFromGitHub { owner = "nlohmann"; repo = "json"; rev = "v${version}"; - sha256 = "1140gz5za7yvfcphdgxaq1dm4b1vxy1m8d1w0s0smv4vvdvl26ym"; + sha256 = "1jq522d48bvfrxr4f6jnijwx2dwqfb8w9k636j4kxlg1hka27lji"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/openbabel/default.nix b/pkgs/development/libraries/openbabel/default.nix index bfbf6f1212f..81754ffad4d 100644 --- a/pkgs/development/libraries/openbabel/default.nix +++ b/pkgs/development/libraries/openbabel/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, cmake, zlib, libxml2, eigen, python, cairo, pcre, pkgconfig }: +{stdenv, fetchurl, fetchpatch, cmake, zlib, libxml2, eigen, python, cairo, pcre, pkgconfig }: stdenv.mkDerivation rec { name = "openbabel-${version}"; @@ -9,6 +9,14 @@ stdenv.mkDerivation rec { sha256 = "0xm7y859ivq2cp0q08mwshfxm0jq31xkyr4x8s0j6l7khf57yk2r"; }; + patches = [ + # ARM / AArch64 fixes. + (fetchpatch { + url = https://github.com/openbabel/openbabel/commit/ee11c98a655296550710db1207b294f00e168216.patch; + sha256 = "0wjqjrkr4pfirzzicdvlyr591vppydk572ix28jd2sagnfnf566g"; + }) + ]; + # TODO : perl & python bindings; # TODO : wxGTK: I have no time to compile # TODO : separate lib and apps diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix index f948cbb062f..cca820e2f37 100644 --- a/pkgs/development/libraries/opencv/3.x.nix +++ b/pkgs/development/libraries/opencv/3.x.nix @@ -35,20 +35,20 @@ }: let - version = "3.4.4"; + version = "3.4.5"; src = fetchFromGitHub { owner = "opencv"; repo = "opencv"; rev = version; - sha256 = "1xzbv0922r2zq4fgpkc1ldyq3kxp4c6x6dizydbspka18jrrxqlr"; + sha256 = "0hz9316ys2qi0lx9dcbsk3mkn8cn08q12hc96p6zz2d4is6d5wsc"; }; contribSrc = fetchFromGitHub { owner = "opencv"; repo = "opencv_contrib"; rev = version; - sha256 = "0ylsljkmgfj5vam05cv0z3qwkqwjwz5fs5f5yif3pwvb99lxlbib"; + sha256 = "1fw7qwgibiznqal2dg4alkw8hrrrpjc0jaicf2406604rjm2lx6h"; }; # Contrib must be built in order to enable Tesseract support: @@ -147,13 +147,6 @@ stdenv.mkDerivation rec { cp --no-preserve=mode -r "${contribSrc}/modules" "$NIX_BUILD_TOP/opencv_contrib" ''; - patches = - # https://github.com/opencv/opencv/pull/13254 - lib.optional enablePython (fetchpatch { - url = https://github.com/opencv/opencv/commit/ad35b79e3f98b4ce30481e0299cca550ed77aef0.patch; - sha256 = "0rkvg6wm5fyncszfpd83wa4lvsb8srvk21r1jcld758i4f334sws"; - }); - # This prevents cmake from using libraries in impure paths (which # causes build failure on non NixOS) # Also, work around https://github.com/NixOS/nixpkgs/issues/26304 with diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix index 407070506ab..3f21ee15bf3 100644 --- a/pkgs/development/libraries/opencv/4.x.nix +++ b/pkgs/development/libraries/opencv/4.x.nix @@ -1,5 +1,5 @@ { lib, stdenv -, fetchurl, fetchFromGitHub, fetchpatch +, fetchurl, fetchFromGitHub , cmake, pkgconfig, unzip, zlib, pcre, hdf5 , glog, boost, google-gflags, protobuf , config @@ -35,20 +35,20 @@ }: let - version = "4.0.0"; + version = "4.0.1"; src = fetchFromGitHub { owner = "opencv"; repo = "opencv"; rev = version; - sha256 = "1r2hszm4044dfx65wv69rcs419jjd7bqllhnpcwk3n28f5ahln50"; + sha256 = "1f0n2a57sn47w55vaxlwhr3g6xgchvr3gxicxbkyzai3pvj55k48"; }; contribSrc = fetchFromGitHub { owner = "opencv"; repo = "opencv_contrib"; rev = version; - sha256 = "1g4pzw7hv1v9jp1nrqjxqwpi1byl3mxkj6w6ibq6ydsn0138p66z"; + sha256 = "0svw8f6nvnzmrc0baj6priq4hbijla4kl6gzy8yif1jfvcwb1syy"; }; # Contrib must be built in order to enable Tesseract support: @@ -160,21 +160,6 @@ stdenv.mkDerivation rec { cp --no-preserve=mode -r "${contribSrc}/modules" "$NIX_BUILD_TOP/source/opencv_contrib" ''; - patches = - # Fixes issue: https://github.com/opencv/opencv_contrib/issues/1923 - # PR: https://github.com/opencv/opencv_contrib/pull/1913 - lib.optional buildContrib (fetchpatch { - url = https://github.com/opencv/opencv_contrib/commit/e068b62a1432d4d5688693a9e20bf175dfaa9a3e.patch; - sha256 = "102mq1qgmla40hhj8mda70inhakdazm9agyah98kq9931scvf0c9"; - stripLen = 2; - extraPrefix = "opencv_contrib/"; - }) ++ - # https://github.com/opencv/opencv/pull/13254 - lib.optional enablePython (fetchpatch { - url = https://github.com/opencv/opencv/commit/ad35b79e3f98b4ce30481e0299cca550ed77aef0.patch; - sha256 = "0rkvg6wm5fyncszfpd83wa4lvsb8srvk21r1jcld758i4f334sws"; - }); - # This prevents cmake from using libraries in impure paths (which # causes build failure on non NixOS) # Also, work around https://github.com/NixOS/nixpkgs/issues/26304 with diff --git a/pkgs/development/libraries/qmlbox2d/default.nix b/pkgs/development/libraries/qmlbox2d/default.nix index 630f606c2e5..083e0a51b81 100644 --- a/pkgs/development/libraries/qmlbox2d/default.nix +++ b/pkgs/development/libraries/qmlbox2d/default.nix @@ -1,11 +1,11 @@ {stdenv, qtdeclarative, fetchFromGitHub, qmake }: stdenv.mkDerivation rec { - name = "qml-box2d-2018-03-16"; + name = "qml-box2d-2018-04-06"; src = fetchFromGitHub { owner = "qml-box2d"; repo = "qml-box2d"; - sha256 = "1fbsvv28b4r0szcv8bk5gxpf8v534jp2axyfp438384sy757wsq2"; - rev = "21e57f1"; + sha256 = "0gb8limy6ck23z3k0k2j7c4c4s95p40f6lbzk4szq7fjnnw22kb7"; + rev = "b7212d5640701f93f0cd88fbd3a32c619030ae62"; }; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/science/math/mkl/default.nix b/pkgs/development/libraries/science/math/mkl/default.nix index 37814047f97..0eecb2012f1 100644 --- a/pkgs/development/libraries/science/math/mkl/default.nix +++ b/pkgs/development/libraries/science/math/mkl/default.nix @@ -1,21 +1,8 @@ { stdenvNoCC, writeText, fetchurl, rpmextract, undmg }: /* - Some (but not all) mkl functions require openmp, but Intel does not add these - to SO_NEEDED and instructs users to put openmp on their LD_LIBRARY_PATH. If - you are using mkl and your library/application is using some of the functions - that require openmp, add a setupHook like this to your package: - - setupHook = writeText "setup-hook.sh" '' - addOpenmp() { - addToSearchPath LD_LIBRARY_PATH ${openmp}/lib - } - addEnvHooks "$targetOffset" addOpenmp - ''; - - We do not add the setup hook here, because avoiding it allows this large - package to be a fixed-output derivation with better cache efficiency. - */ - + For details on using mkl as a blas provider for python packages such as numpy, + numexpr, scipy, etc., see the Python section of the NixPkgs manual. +*/ stdenvNoCC.mkDerivation rec { name = "mkl-${version}"; version = "${date}.${rel}"; @@ -43,16 +30,23 @@ stdenvNoCC.mkDerivation rec { '' else '' rpmextract rpm/intel-mkl-common-c-${date}-${rel}-${date}-${rel}.noarch.rpm rpmextract rpm/intel-mkl-core-rt-${date}-${rel}-${date}-${rel}.x86_64.rpm + rpmextract rpm/intel-openmp-19.0.0-${rel}-19.0.0-${rel}.x86_64.rpm ''; installPhase = if stdenvNoCC.isDarwin then '' mkdir -p $out/lib + cp -r compilers_and_libraries_${version}/mac/mkl/include $out/ - cp -r compilers_and_libraries_${version}/mac/mkl/lib/* $out/lib/ + cp -r compilers_and_libraries_${version}/licensing/mkl/en/license.txt $out/lib/ + cp -r compilers_and_libraries_${version}/mac/compiler/lib/* $out/lib/ + cp -r compilers_and_libraries_${version}/mac/mkl/lib/* $out/lib/ '' else '' mkdir -p $out/lib + cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/include $out/ + + cp -r opt/intel/compilers_and_libraries_${version}/linux/compiler/lib/intel64_lin/* $out/lib/ cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/lib/intel64_lin/* $out/lib/ cp license.txt $out/lib/ ''; @@ -66,8 +60,8 @@ stdenvNoCC.mkDerivation rec { outputHashAlgo = "sha256"; outputHashMode = "recursive"; outputHash = if stdenvNoCC.isDarwin - then "1224dln7n8px1rk8biiggf77wjhxh8mzw0hd8zlyjm8i6j8w7i12" - else "0d8ai0wi8drp071acqkm1wv6vyg12010y843y56zzi1pql81xqvx"; + then "0000000000000000000000000000000000000000000000000000" + else "1amagcaan0hk3x9v7gg03gkw02n066v4kmjb32yyzsy5rfrivb1a"; meta = with stdenvNoCC.lib; { description = "Intel Math Kernel Library"; @@ -78,7 +72,7 @@ stdenvNoCC.mkDerivation rec { threading models. ''; homepage = https://software.intel.com/en-us/mkl; - license = [ licenses.issl licenses.unfreeRedistributable ]; + license = licenses.issl; platforms = [ "x86_64-linux" "x86_64-darwin" ]; maintainers = [ maintainers.bhipple ]; }; diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index 532a26481af..120fa25090a 100644 --- a/pkgs/development/libraries/science/math/openblas/default.nix +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -89,6 +89,15 @@ stdenv.mkDerivation rec { inherit blas64; + patches = [ + # Fixes build on x86_64-darwin. See: + # https://github.com/xianyi/OpenBLAS/issues/1926 + (fetchpatch { + url = https://github.com/xianyi/OpenBLAS/commit/701ea88347461e4c5d896765438dc870281b3834.patch; + sha256 = "18rcfgkjsijl9d2510jn961wqvz7zdlz2fgy1yjmax29kvv8fqd9"; + }) + ]; + # Some hardening features are disabled due to sporadic failures in # OpenBLAS-based programs. The problem may not be with OpenBLAS itself, but # with how these flags interact with hardening measures used downstream. @@ -118,8 +127,6 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optional (stdenv.hostPlatform.libc == "musl") "NO_AFFINITY=1" ++ mapAttrsToList (var: val: var + "=" + val) config; - patches = []; - doCheck = true; checkTarget = "tests"; diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix index efe7214ab6a..92e8bded875 100644 --- a/pkgs/development/libraries/wlroots/default.nix +++ b/pkgs/development/libraries/wlroots/default.nix @@ -2,28 +2,11 @@ , wayland, libGL, wayland-protocols, libinput, libxkbcommon, pixman , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa_noglu , libpng, ffmpeg_4 -, python3Packages # TODO: Temporary }: let pname = "wlroots"; version = "0.2"; - meson480 = meson.overrideAttrs (oldAttrs: rec { - name = pname + "-" + version; - pname = "meson"; - version = "0.48.0"; - - src = python3Packages.fetchPypi { - inherit pname version; - sha256 = "0qawsm6px1vca3babnqwn0hmkzsxy4w0gi345apd2qk3v0cv7ipc"; - }; - # Remove gir-fallback-path.patch and - # a87496addd9160300837aa50193f4798c6f1d251.patch (already in 0.48.0): - patches = builtins.filter - (str: !(stdenv.lib.hasSuffix "gir-fallback-path.patch" str - || stdenv.lib.hasSuffix "a87496addd9160300837aa50193f4798c6f1d251.patch" str)) - oldAttrs.patches; - }); in stdenv.mkDerivation rec { name = "${pname}-${version}"; @@ -43,7 +26,7 @@ in stdenv.mkDerivation rec { # programs (in examples) AND rootston outputs = [ "out" "bin" "examples" ]; - nativeBuildInputs = [ meson480 ninja pkgconfig ]; + nativeBuildInputs = [ meson ninja pkgconfig ]; buildInputs = [ wayland libGL wayland-protocols libinput libxkbcommon pixman diff --git a/pkgs/development/libraries/wt/default.nix b/pkgs/development/libraries/wt/default.nix index aec64c9c33c..e1c339d1e0f 100644 --- a/pkgs/development/libraries/wt/default.nix +++ b/pkgs/development/libraries/wt/default.nix @@ -48,7 +48,7 @@ in { }; wt4 = generic { - version = "4.0.4"; - sha256 = "17kq9fxc0xqx7q7kyryiph3mg0d3hnd3jw0rl55zvzfsdd71220w"; + version = "4.0.5"; + sha256 = "1gn8f30mjmn9aaxdazk49wijz37nglfww15ydrjiyhl6v5xhsjdv"; }; } diff --git a/pkgs/development/mobile/adb-sync/default.nix b/pkgs/development/mobile/adb-sync/default.nix index ee6ff3cecd5..b6d35051733 100644 --- a/pkgs/development/mobile/adb-sync/default.nix +++ b/pkgs/development/mobile/adb-sync/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, python3, androidsdk, makeWrapper }: +{ stdenv, fetchgit, python3, platform-tools, makeWrapper }: stdenv.mkDerivation rec { name = "adb-sync-${version}"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "1y016bjky5sn58v91jyqfz7vw8qfqnfhb9s9jd32k8y29hy5vy4d"; }; - buildInputs = [ python3 androidsdk makeWrapper ]; + buildInputs = [ python3 platform-tools makeWrapper ]; phases = "installPhase"; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { mkdir -p $out/bin cp $src/adb-channel $src/adb-sync $out/bin/ patchShebangs $out/bin - wrapProgram $out/bin/adb-sync --suffix PATH : ${androidsdk}/bin + wrapProgram $out/bin/adb-sync --suffix PATH : ${platform-tools}/bin ''; meta = with stdenv.lib; { diff --git a/pkgs/development/mobile/adbfs-rootless/default.nix b/pkgs/development/mobile/adbfs-rootless/default.nix index 18ad3048d83..fffe2fbbcbe 100644 --- a/pkgs/development/mobile/adbfs-rootless/default.nix +++ b/pkgs/development/mobile/adbfs-rootless/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { postPatch = '' # very ugly way of replacing the adb calls - sed -e 's|"adb |"${stdenv.lib.getBin adb}/bin/adb |g' \ + sed -e 's|"adb |"${adb}/bin/adb |g' \ -i adbfs.cpp ''; diff --git a/pkgs/development/mobile/androidenv/addon.xml b/pkgs/development/mobile/androidenv/addon.xml deleted file mode 100644 index 68792038d00..00000000000 --- a/pkgs/development/mobile/androidenv/addon.xml +++ /dev/null @@ -1,1614 +0,0 @@ - - - - Terms and Conditions - -This is the Android Software Development Kit License Agreement - -1. Introduction - -1.1 The Android Software Development Kit (referred to in the License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK. - -1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. - -1.3 A "compatible implementation" means any Android device that (i) complies with the Android Compatibility Definition document, which can be found at the Android compatibility website (http://source.android.com/compatibility) and which may be updated from time to time; and (ii) successfully passes the Android Compatibility Test Suite (CTS). - -1.4 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. - - -2. Accepting the License Agreement - -2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement. - -2.2 By clicking to accept, you hereby agree to the terms of the License Agreement. - -2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries, including the country in which you are resident or from which you use the SDK. - -2.4 If you are agreeing to be bound by the License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity. - - -3. SDK License from Google - -3.1 Subject to the terms of the License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the SDK solely to develop applications for compatible implementations of Android. - -3.2 You may not use this SDK to develop applications for other platforms (including non-compatible implementations of Android) or to develop another SDK. You are of course free to develop applications for other platforms, including non-compatible implementations of Android, provided that this SDK is not used for that purpose. - -3.3 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. - -3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK. - -3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. - -3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you. - -3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. - -3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK. - - -4. Use of the SDK by You - -4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications. - -4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). - -4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so. - -4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier. - -4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. - -4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. - -5. Your Developer Credentials - -5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. - -6. Privacy and Information - -6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected. - -6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy. - - -7. Third Party Applications - -7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. - -7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. - -7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, the License Agreement does not affect your legal relationship with these third parties. - - -8. Using Android APIs - -8.1 Google Data APIs - -8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. - -8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. - - -9. Terminating the License Agreement - -9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below. - -9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials. - -9.3 Google may at any time, terminate the License Agreement with you if: -(A) you have breached any provision of the License Agreement; or -(B) Google is required to do so by law; or -(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or -(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable. - -9.4 When the License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst the License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. - - -10. DISCLAIMER OF WARRANTIES - -10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. - -10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. - -10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - - -11. LIMITATION OF LIABILITY - -11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. - - -12. Indemnification - -12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with the License Agreement. - - -13. Changes to the License Agreement - -13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available. - - -14. General Legal Terms - -14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK. - -14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. - -14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. - -14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. - -14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. - -14.6 The rights granted in the License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under the License Agreement without the prior written approval of the other party. - -14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. - - -November 20, 2015 - To get started with the Android SDK Preview, you must agree to the following terms and conditions. -As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk. The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data. - -This is the Android SDK Preview License Agreement (the "License Agreement"). - -1. Introduction - -1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview. - -1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. - -1.3 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. - -2. Accepting the License Agreement - -2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement. - -2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement. - -2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview. - -2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity. - -3. Preview License from Google - -3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform. - -3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. - -3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview. - -3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview. - -3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights. - -3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you. - -3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. - -3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview. - -4. Use of the Preview by You - -4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications. - -4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). - -4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so. - -4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party. - -4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. - -4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. - -4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released. - -5. Your Developer Credentials - -5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. - -6. Privacy and Information - -6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected. - -6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/. - -7. Third Party Applications - -7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. - -7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. - -7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. - -8. Using Google APIs - -8.1 Google APIs - -8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. - -8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. - -9. Terminating the License Agreement - -9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below. - -9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials. - -9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you. - -9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of: -(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and -(B) Google issues a final release version of the Android SDK. - -9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely. - -10. DISCLAIMERS - -10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. - -10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE. - -10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - -11. LIMITATION OF LIABILITY - -11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. - -12. Indemnification - -12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement. - -13. Changes to the License Agreement - -13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available. - -14. General Legal Terms - -14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview. - -14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. - -14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. - -14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. - -14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. - -14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google. - -14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. - -June 2014. - Terms and Conditions - -This is the Google TV Add-on for the Android Software Development Kit License Agreement. - -1. Introduction - -1.1 The Google TV Add-on for the Android Software Development Kit (referred to in this License Agreement as the "Google TV Add-on" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the Google TV Add-on. - -1.2 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. - -2. Accepting this License Agreement - -2.1 In order to use the Google TV Add-on, you must first agree to this License Agreement. You may not use the Google TV Add-on if you do not accept this License Agreement. - -2.2 You can accept this License Agreement by: - -(A) clicking to accept or agree to this License Agreement, where this option is made available to you; or - -(B) by actually using the Google TV Add-on. In this case, you agree that use of the Google TV Add-on constitutes acceptance of the License Agreement from that point onwards. - -2.3 You may not use the Google TV Add-on and may not accept the Licensing Agreement if you are a person barred from receiving the Google TV Add-on under the laws of the United States or other countries including the country in which you are resident or from which you use the Google TV Add-on. - -2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the Licensing Agreement or use the Google TV Add-on on behalf of your employer or other entity. - -3. Google TV Add-on License from Google - -3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non- assignable and non-exclusive license to use the Google TV Add-on solely to develop applications to run on the Google TV platform. - -3.2 You agree that Google or third parties own all legal right, title and interest in and to the Google TV Add-on, including any Intellectual Property Rights that subsist in the Google TV Add-on. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. - -3.3 Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Google TV Add-on or any part of the Google TV Add-on. Except to the extent required by applicable third party licenses, you may not load any part of the Google TV Add-on onto a mobile handset, television, or any other hardware device except a personal computer, combine any part of the Google TV Add-on with other software, or distribute any software or device incorporating a part of the Google TV Add-on. - -3.4 Use, reproduction and distribution of components of the Google TV Add-on licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement. - -3.5 You agree that the form and nature of the Google TV Add-on that Google provides may change without prior notice to you and that future versions of the Google TV Add-on may be incompatible with applications developed on previous versions of the Google TV Add-on. You agree that Google may stop (permanently or temporarily) providing the Google TV Add-on (or any features within the Google TV Add-on) to you or to users generally at Google's sole discretion, without prior notice to you. - -3.6 Nothing in this License Agreement gives you a right to use any of Google's or it’s licensors’ trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. - -3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Google TV Add-on. - -4. Use of the Google TV Add-on by You - -4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the Google TV Add-on, including any intellectual property rights that subsist in those applications. - -4.2 You agree to use the Google TV Add-on and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). - -4.3 You agree that if you use the Google TV Add-on to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, your must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you explicit permission to do so. - -4.4 You agree that you will not engage in any activity with the Google TV Add-on, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google, Multichannel Video Program Distributors or any mobile communications carrier. - -4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through the Google TV platform and/or applications for the Google TV platform, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. - -4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. - -5. Your Developer Credentials - -5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. - -6. Privacy and Information - -6.1 In order to continually innovate and improve the Google TV Add-on, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Google TV Add-on are being used and how they are being used. Before any of this information is collected, the Google TV Add-on will notify you and seek your consent. If you withhold consent, the information will not be collected. - -6.2 The data collected is examined in the aggregate to improve the Google TV Add-on and is maintained in accordance with Google's Privacy Policy. - -7. Third Party Applications for the Google TV Platform - -7.1 If you use the Google TV Add-on to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. - -7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. - -7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties. - -8. Using Google TV APIs - -8.1 If you use any Google TV API to retrieve data from Google, you acknowledge that the data (“Google TV API Content”) may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. Some portions of the Google TV API Content are licensed to Google by third parties, including but not limited to Tribune Media Services - -8.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. - -8.3 Except as explicitly permitted in Section 3 (Google TV Add-on License from Google), you must: - -(a) not modify nor format the Google TV API Content except to the extent reasonably and technically necessary to optimize the display such Google TV API Content in your application; - -(b) not edit the Google TV API Content in a manner that renders the Google TV API Content inaccurate of alters its inherent meaning (provided that displaying excerpts will not violate the foregoing); or - -(c) not create any commercial audience measurement tool or service using the Google TV API Content - -9. Terminating this License Agreement - -9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below. - -9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the Google TV Add-on and any relevant developer credentials. - -9.3 Google may at any time, terminate this License Agreement with you if: - -(A) you have breached any provision of this License Agreement; or - -(B) Google is required to do so by law; or - -(C) the partner with whom Google offered certain parts of Google TV Add-on (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the Google TV Add-on to you; or - -(D) Google decides to no longer providing the Google TV Add-on or certain parts of the Google TV Add-on to users in the country in which you are resident or from which you use the service, or the provision of the Google TV Add-on or certain Google TV Add-on services to you by Google is, in Google's sole discretion, no longer commercially viable. - -9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. - -10. DISCLAIMER OF WARRANTIES - -10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GOOGLE TV ADD-ON IS AT YOUR SOLE RISK AND THAT THE GOOGLE TV ADD-ON IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. - -10.2 YOUR USE OF THE GOOGLE TV ADD-ON AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GOOGLE TV ADD-ON IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. - -10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - -11. LIMITATION OF LIABILITY - -11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. - -12. Indemnification - -12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the Google TV Add-on, (b) any application you develop on the Google TV Add-on that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement. - -13. Changes to the License Agreement - -13.1 Google may make changes to the License Agreement as it distributes new versions of the Google TV Add-on. - -14. General Legal Terms - -14.1 This License Agreement constitute the whole legal agreement between you and Google and govern your use of the Google TV Add-on (excluding any services which Google may provide to you under a separate written agreement), and completely replace any prior agreements between you and Google in relation to the Google TV Add-on. - -14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. - -14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable. - -14.4 You acknowledge and agree that Google’s API data licensors and each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement. - -14.5 EXPORT RESTRICTIONS. THE GOOGLE TV ADD-ON IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GOOGLE TV ADD-ON. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. - -14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party. - -14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. - - -August 15, 2011 - This is a Developer Preview of the GDK that is subject to change. - -Terms and Conditions - -This is the Glass Development Kit License Agreement. - -1. Introduction - -1.1 The Glass Development Kit (referred to in this License Agreement as the "GDK" and specifically including the Android system files, packaged APIs, and GDK library files, if and when they are made available) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the GDK. - -1.2 "Glass" means Glass devices and the Glass software stack for use on Glass devices. - - -1.3 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. - -1.4 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. - -2. Accepting this License Agreement - -2.1 In order to use the GDK, you must first agree to this License Agreement. You may not use the GDK if you do not accept this License Agreement. - -2.2 By clicking to accept, you hereby agree to the terms of this License Agreement. - -2.3 You may not use the GDK and may not accept the License Agreement if you are a person barred from receiving the GDK under the laws of the United States or other countries including the country in which you are resident or from which you use the GDK. - -2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the GDK on behalf of your employer or other entity. - -3. GDK License from Google - -3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the GDK solely to develop applications to run on the Glass platform for Glass devices. - -3.2 You agree that Google or third parties own all legal right, title and interest in and to the GDK, including any Intellectual Property Rights that subsist in the GDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. - -3.3 You may not use the GDK for any purpose not expressly permitted by this License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the GDK or any part of the GDK; or (b) load any part of the GDK onto a mobile handset or wearable computing device or any other hardware device except a Glass device personal computer, combine any part of the GDK with other software, or distribute any software or device incorporating a part of the GDK. - -3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Glass, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the GDK. - -3.5 Use, reproduction and distribution of components of the GDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement. - -3.6 You agree that the form and nature of the GDK that Google provides may change without prior notice to you and that future versions of the GDK may be incompatible with applications developed on previous versions of the GDK. You agree that Google may stop (permanently or temporarily) providing the GDK (or any features within the GDK) to you or to users generally at Google's sole discretion, without prior notice to you. - -3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. - -3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the GDK. - - -3.9 Your use of any Android system files, packaged APIs, or other components of the GDK which are part of the Android Software Development Kit is subject to the terms of the Android Software Development Kit License Agreement located at http://developer.android.com/sdk/terms.html. These terms are hereby incorporated by reference into this License Agreement. - -4. Use of the GDK by You - -4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the GDK, including any intellectual property rights that subsist in those applications. - -4.2 You agree to use the GDK and write applications only for purposes that are permitted by (a) this License Agreement, (b) the Glass Platform Developer Policies (located at https://developers.google.com/glass/policies, and hereby incorporated into this License Agreement by reference), and (c) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). - -4.3 You agree that if you use the GDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so. - -4.4 You agree that you will not engage in any activity with the GDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google. - -4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Glass and/or applications for Glass, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. - -4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. - - -4.7 The GDK is in development, and your testing and feedback are an important part of the development process. By using the GDK, you acknowledge that implementation of some features are still under development and that you should not rely on the GDK, Glass devices, Glass system software, Google Mirror API, or Glass services having the full functionality of a stable release. - -5. Your Developer Credentials - -5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. - -6. Privacy and Information - - -6.1 In order to continually innovate and improve the GDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the GDK are being used and how they are being used. Before any of this information is collected, the GDK will notify you and seek your consent. If you withhold consent, the information will not be collected. - -6.2 The data collected is examined in the aggregate to improve the GDK and is maintained in accordance with Google's Privacy Policy. - -7. Third Party Applications - -7.1 If you use the GDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. - -7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. - -7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties. - -8. Using Google APIs - -8.1 Google APIs - -8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. - -8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. - -9. Terminating this License Agreement - -9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below. - -9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the GDK and any relevant developer credentials. - -9.3 Google may at any time, terminate this License Agreement with you if: -(A) you have breached any provision of this License Agreement; or -(B) Google is required to do so by law; or -(C) the partner with whom Google offered certain parts of GDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the GDK to you; or -(D) Google decides to no longer provide the GDK or certain parts of the GDK to users in the country in which you are resident or from which you use the service, or the provision of the GDK or certain GDK services to you by Google is, in Google's sole discretion, no longer commercially viable. - -9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. - -10. DISCLAIMER OF WARRANTIES - -10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GDK IS AT YOUR SOLE RISK AND THAT THE GDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. - -10.2 YOUR USE OF THE GDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. - -10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - -11. LIMITATION OF LIABILITY - -11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. - -12. Indemnification - -12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the GDK, (b) any application you develop on the GDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement. - -13. Changes to the License Agreement - -13.1 Google may make changes to the License Agreement as it distributes new versions of the GDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the GDK is made available. - -14. General Legal Terms - -14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the GDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the GDK. - -14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. - -14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable. - -14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement. - -14.5 EXPORT RESTRICTIONS. THE GDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. - -14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party. - -14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. - -November 19, 2013 - Intel (R) Hardware Accelerated Execution Manager -End-User License Agreement - -Copyright (c) 2012 Intel Corporation. -All rights reserved. - -Redistribution. Redistribution and use in binary form, without modification, are permitted provided that the following conditions are met: - -1.Redistributions must reproduce the above copyright notice and the following disclaimer in the documentation and/or other materials provided with the distribution. - -2.Neither the name of Intel Corporation nor the names of its suppliers may be used to endorse or promote products derived from this software without specific prior written permission. - -3.No reverse engineering, de-compilation, or disassembly of this software is permitted. Limited patent license. Intel Corporation grants a world-wide, royalty-free, non-exclusive license under patents it now or hereafter owns or controls to make, have made, use, import, offer to sell and sell ("Utilize") this software, but solely to the extent that any such patent is necessary to Utilize the software alone. The patent license shall not apply to any combinations which include this software. No hardware per se is licensed hereunder. - -DISCLAIMER. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - 3 - - - - 34908058 - 1f92abf3a76be66ae8032257fc7620acbd2b2e3a - google_apis-3-r03.zip - - - - google - Google Inc. - google_apis - Google APIs - 3 - Android + Google APIs - http://developer.android.com/ - - - com.google.android.maps - API for Google Maps - - - - - - - 2 - - - - 42435735 - 9b6e86d8568558de4d606a7debc4f6049608dbd0 - google_apis-4_r02.zip - - - - google - Google Inc. - google_apis - Google APIs - 4 - Android + Google APIs - http://developer.android.com/ - - - com.google.android.maps - API for Google Maps - - - - - - - 1 - - - - 49123776 - 46eaeb56b645ee7ffa24ede8fa17f3df70db0503 - google_apis-5_r01.zip - - - - google - Google Inc. - google_apis - Google APIs - 5 - Android + Google APIs - http://developer.android.com/ - - - com.google.android.maps - API for Google Maps - - - - - - - 1 - - - - 53382941 - 5ff545d96e031e09580a6cf55713015c7d4936b2 - google_apis-6_r01.zip - - - - google - Google Inc. - google_apis - Google APIs - 6 - Android + Google APIs - http://developer.android.com/ - - - com.google.android.maps - API for Google Maps - - - - - - - 1 - - - - 53691339 - 2e7f91e0fe34fef7f58aeced973c6ae52361b5ac - google_apis-7_r01.zip - - - - google - Google Inc. - google_apis - Google APIs - 7 - Android + Google APIs - http://developer.android.com/ - - - com.google.android.maps - API for Google Maps - - - - - - - 2 - - - - 59505020 - 3079958e7ec87222cac1e6b27bc471b27bf2c352 - google_apis-8_r02.zip - - - - google - Google Inc. - google_apis - Google APIs - 8 - Android + Google APIs - http://developer.android.com/ - - - com.google.android.maps - API for Google Maps - - - - - - - 2 - - - - 63401546 - 78664645a1e9accea4430814f8694291a7f1ea5d - google_apis-9_r02.zip - - - - google - Google Inc. - google_apis - Google APIs - 9 - Android + Google APIs - http://developer.android.com/ - - - com.google.android.maps - API for Google Maps - - - - - - - 2 - - - - 65781578 - cc0711857c881fa7534f90cf8cc09b8fe985484d - google_apis-10_r02.zip - - - - google - Google Inc. - google_apis - Google APIs - 10 - Android + Google APIs - http://developer.android.com/ - - - com.google.android.maps - API for Google Maps - - - com.android.future.usb.accessory - API for USB Accessories - - - - - - - 1 - - - - 83477179 - 5eab5e81addee9f3576d456d205208314b5146a5 - google_apis-11_r01.zip - - - - google - Google Inc. - google_apis - Google APIs - 11 - Android + Google APIs - http://developer.android.com/ - - - com.google.android.maps - API for Google Maps - - - - - - - 1 - - - - 86099835 - e9999f4fa978812174dfeceec0721c793a636e5d - google_apis-12_r01.zip - - - - google - Google Inc. - google_apis - Google APIs - 12 - Android + Google APIs - http://developer.android.com/ - - - com.google.android.maps - API for Google Maps - - - com.android.future.usb.accessory - API for USB Accessories - - - - - - - 1 - - - - 88615525 - 3b153edd211c27dc736c893c658418a4f9041417 - google_apis-13_r01.zip - - - - google - Google Inc. - google_apis - Google APIs - 13 - Android + Google APIs - http://developer.android.com/ - - - com.google.android.maps - API for Google Maps - - - com.android.future.usb.accessory - API for USB Accessories - - - - - - - 2 - - - - 106533714 - f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39 - google_apis-14_r02.zip - - - - google - Google Inc. - google_apis - Google APIs - 14 - Android + Google APIs - - - com.google.android.maps - API for Google Maps - - - com.android.future.usb.accessory - API for USB Accessories - - - - - - 3 - - - - 106624396 - d0d2bf26805eb271693570a1aaec33e7dc3f45e9 - google_apis-15_r03.zip - - - - google - Google Inc. - google_apis - Google APIs - 15 - Android + Google APIs - - - com.google.android.maps - API for Google Maps - - - com.android.future.usb.accessory - API for USB Accessories - - - com.google.android.media.effects - Collection of video effects - - - - - - 4 - - - - 127341982 - ee6acf1b01020bfa8a8e24725dbc4478bee5e792 - google_apis-16_r04.zip - - - - google - Google Inc. - google_apis - Google APIs - 16 - Android + Google APIs - - - com.google.android.maps - API for Google Maps - - - com.android.future.usb.accessory - API for USB Accessories - - - com.google.android.media.effects - Collection of video effects - - - - - - 4 - - - - 137231243 - a076be0677f38df8ca5536b44dfb411a0c808c4f - google_apis-17_r04.zip - - - - google - Google Inc. - google_apis - Google APIs - 17 - Android + Google APIs - - - com.google.android.maps - API for Google Maps - - - com.android.future.usb.accessory - API for USB Accessories - - - com.google.android.media.effects - Collection of video effects - - - - - - 4 - - - - 143195183 - 6109603409debdd40854d4d4a92eaf8481462c8b - google_apis-18_r04.zip - - - - google - Google Inc. - google_apis - Google APIs - 18 - Android + Google APIs - - - com.google.android.maps - API for Google Maps - - - com.android.future.usb.accessory - API for USB Accessories - - - com.google.android.media.effects - Collection of video effects - - - - - - 20 - - - - 147081 - 5b933abe830b2f25b4c0f171d45e9e0651e56311 - google_apis-19_r20.zip - - - - google - Google Inc. - google_apis - Google APIs - 19 - Android + Google APIs - - - com.google.android.maps - API for Google Maps - - - com.android.future.usb.accessory - API for USB Accessories - - - com.google.android.media.effects - Collection of video effects - - - - - - 1 - - - - 154865 - 31361c2868f27343ee917fbd259c1463821b6145 - google_apis-24_r1.zip - - - - google - Google Inc. - google_apis - Google APIs - 24 - Android + Google APIs - - - com.google.android.maps - API for Google Maps - - - com.android.future.usb.accessory - API for USB Accessories - - - com.google.android.media.effects - Collection of video effects - - - - - - 1 - - - - 154871 - 550e83eea9513ab11c44919ac6da54b36084a9f3 - google_apis-25_r1.zip - - - - google - Google Inc. - google_apis - Google APIs - 23 - Android + Google APIs - - - com.google.android.maps - API for Google Maps - - - com.android.future.usb.accessory - API for USB Accessories - - - com.google.android.media.effects - Collection of video effects - - - - - - 1 - - - - 179499 - 66a754efb24e9bb07cc51648426443c7586c9d4a - google_apis-21_r01.zip - - - - google - Google Inc. - google_apis - Google APIs - 21 - Android + Google APIs - - - com.google.android.maps - API for Google Maps - - - com.android.future.usb.accessory - API for USB Accessories - - - com.google.android.media.effects - Collection of video effects - - - - - - 1 - - - - 179259 - 5def0f42160cba8acff51b9c0c7e8be313de84f5 - google_apis-22_r01.zip - - - - google - Google Inc. - google_apis - Google APIs - 22 - Android + Google APIs - - - com.google.android.maps - API for Google Maps - - - com.android.future.usb.accessory - API for USB Accessories - - - com.google.android.media.effects - Collection of video effects - - - - - - 1 - - - - 179900 - 04c5cc1a7c88967250ebba9561d81e24104167db - google_apis-23_r01.zip - - - - google - Google Inc. - google_apis - Google APIs - 23 - Android + Google APIs - - - com.google.android.maps - API for Google Maps - - - com.android.future.usb.accessory - API for USB Accessories - - - com.google.android.media.effects - Collection of video effects - - - - - - - 2 - - - - 78266751 - 92128a12e7e8b0fb5bac59153d7779b717e7b840 - google_tv-12_r02.zip - - - - google - Google Inc. - google_tv_addon - Google TV Addon - 12 - - http://developer.android.com/ - - - - - - 1 - - - - 87721879 - b73f7c66011ac8180b44aa4e83b8d78c66ea9a09 - google_tv-13_r01.zip - - - - google - Google Inc. - google_tv_addon - Google TV Addon - 13 - - http://developer.android.com/ - - - - - - 47 - 0 - 0 - - - - - 355529608 - a0d22beacc106a6977321f2b07d692ce4979e96a - android_m2repository_r47.zip - - - - android - Android - Local Maven repository for Support Libraries - Android Support Repository - m2repository - - - - - 58 - - - - - 215426029 - 05086add9e3a0eb1b67111108d7757a4337c3f10 - google_m2repository_gms_v11_3_rc05_wear_2_0_5.zip - - - - google - Google Inc. - Local Maven repository for Support Libraries - Google Repository - m2repository - - - - - 1 - - - - - 75109 - 355e8dc304a92a5616db235af8ee7bd554356254 - market_licensing-r02.zip - - - - google - - Android Market Licensing client library - http://developer.android.com/guide/publishing/licensing.html - Google Play Licensing Library - market_licensing - - - - - 1 - - - - - 110201 - 5305399dc1a56814e86b8459ce24871916f78b8c - market_apk_expansion-r03.zip - - - - google - Google Inc. - Android Market APK Expansion library - http://developer.android.com/guide/market/expansion-files.html - Google Play APK Expansion library - market_apk_expansion - - - - - - 12 - - - - - 5265389 - 92558dbc380bba3d55d0ec181167fb05ce7c79d9 - google_play_services_3265130_r12.zip - - - - google - Google Inc. - Google Play services client library and sample code - https://developers.google.com/android/google-play-services/index - Google Play services for Froyo - google_play_services_froyo - - - - - 49 - - - - - 15456884 - f95bf19634e2ab0430923247fe2c50246432d2e9 - google_play_services_v16_1_rc09.zip - - - - google - Google Inc. - Google Play services Javadocs and sample code - https://developers.google.com/android/google-play-services/index - Google Play services - google_play_services - - - - - 11 - - - - - 8682859 - dc8a2ed2fbd7246d4caf9ab10ffe7749dc35d1cc - usb_driver_r11-windows.zip - windows - - - - google - Google Inc. - USB Driver for Windows, revision 11 - http://developer.android.com/ - Google USB Driver - usb_driver - - - - - - 11 - - - - - 704512 - 0102859d9575baa0bf4fd5eb422af2ad0fe6cb82 - GoogleAdMobAdsSdkAndroid-6.4.1.zip - - - - google - Google Inc. - AdMob Ads SDK - https://developers.google.com/mobile-ads-sdk/docs/ - Google AdMob Ads SDK - admob_ads_sdk - - - - - - 3 - - - - - 211432 - dc14026bf0ce78315cb5dd00552607de0894de83 - GoogleAnalyticsAndroid_2.0beta5.zip - - - - google - Google Inc. - Analytics App Tracking SDK - http://developers.google.com/analytics/devguides/collection/ - Google Analytics App Tracking SDK - analytics_sdk_v2 - - - - - 2 - - - - - 4055193 - 13f3a3b2670a5fc04a7342861644be9a01b07e38 - webdriver_r02.zip - - - - google - Google Inc. - - http://selenium.googlecode.com - Google Web Driver - webdriver - - - - - - 3 - - - - - 5901400 - ad066fd0dc7fc99d8aadac09c65a3c2519fbc7bf - gcm_r03.zip - - - - google - Google Inc. - GCM library has been moved to Google Play Services (com.google.android.gms.gcm) and this standalone version is no longer supported - https://developers.google.com/android/gcm/index - Google Cloud Messaging for Android Library - gcm - - - - - 1 - - - - - 2167286 - 4fb5344e34e8faab4db18af07dace44c50db26a7 - simulator_r01.zip - - - - google - Google Inc. - Android Auto API testing simulators - http://developer.android.com/auto - Android Auto API Simulators - simulators - - - - - 1 - 1 - - - - - 1346009 - 202a6e1b3009a0eb815f8c672d2d5b3717de6169 - desktop-head-unit-linux_r01.1.zip - linux - - - - 2375533 - 8179cbb3914493ebc5eb65b731cba061582f2e84 - desktop-head-unit-macosx_r01.1.zip - macosx - - - - 2691901 - 99c4a7172d73673552119347bc24c58b47da177b - desktop-head-unit-windows_r01.1.zip - windows - - - - google - Google Inc. - Head unit emulator for developers targeting the Android Auto platform. - http://developer.android.com/tools/help/desktop-head-unit.html - Android Auto Desktop Head Unit emulator - auto - - - - - 1 - 5 - 0 - - - - - 33351418 - 6c282b9c686e819fe7f5ac8f2249d2479acb63b4 - iasdk-1.5.0-1538000167.zip - - - - google - Google Inc. - Google Play Instant Development SDK - https://developer.android.com/topic/google-play-instant/ - Google Play Instant Development SDK - instantapps - - diff --git a/pkgs/development/mobile/androidenv/addons.nix b/pkgs/development/mobile/androidenv/addons.nix deleted file mode 100644 index 1a8e2d32a4b..00000000000 --- a/pkgs/development/mobile/androidenv/addons.nix +++ /dev/null @@ -1,321 +0,0 @@ - -# This file is generated from generate-addons.sh. DO NOT EDIT. -# Execute generate-addons.sh or fetch.sh to update the file. -{stdenv, fetchurl, unzip}: - -let - buildGoogleApis = args: - stdenv.mkDerivation (args // { - buildInputs = [ unzip ]; - buildCommand = '' - mkdir -p $out - cd $out - unzip $src - ''; - }); -in -{ - - google_apis_3 = buildGoogleApis { - name = "google_apis-3"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-3-r03.zip; - sha1 = "1f92abf3a76be66ae8032257fc7620acbd2b2e3a"; - }; - meta = { - description = "Android + Google APIs"; - url = http://developer.android.com/; - }; - }; - - google_apis_4 = buildGoogleApis { - name = "google_apis-4"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-4_r02.zip; - sha1 = "9b6e86d8568558de4d606a7debc4f6049608dbd0"; - }; - meta = { - description = "Android + Google APIs"; - url = http://developer.android.com/; - }; - }; - - google_apis_5 = buildGoogleApis { - name = "google_apis-5"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-5_r01.zip; - sha1 = "46eaeb56b645ee7ffa24ede8fa17f3df70db0503"; - }; - meta = { - description = "Android + Google APIs"; - url = http://developer.android.com/; - }; - }; - - google_apis_6 = buildGoogleApis { - name = "google_apis-6"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-6_r01.zip; - sha1 = "5ff545d96e031e09580a6cf55713015c7d4936b2"; - }; - meta = { - description = "Android + Google APIs"; - url = http://developer.android.com/; - }; - }; - - google_apis_7 = buildGoogleApis { - name = "google_apis-7"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-7_r01.zip; - sha1 = "2e7f91e0fe34fef7f58aeced973c6ae52361b5ac"; - }; - meta = { - description = "Android + Google APIs"; - url = http://developer.android.com/; - }; - }; - - google_apis_8 = buildGoogleApis { - name = "google_apis-8"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-8_r02.zip; - sha1 = "3079958e7ec87222cac1e6b27bc471b27bf2c352"; - }; - meta = { - description = "Android + Google APIs"; - url = http://developer.android.com/; - }; - }; - - google_apis_9 = buildGoogleApis { - name = "google_apis-9"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-9_r02.zip; - sha1 = "78664645a1e9accea4430814f8694291a7f1ea5d"; - }; - meta = { - description = "Android + Google APIs"; - url = http://developer.android.com/; - }; - }; - - google_apis_10 = buildGoogleApis { - name = "google_apis-10"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-10_r02.zip; - sha1 = "cc0711857c881fa7534f90cf8cc09b8fe985484d"; - }; - meta = { - description = "Android + Google APIs"; - url = http://developer.android.com/; - }; - }; - - google_apis_11 = buildGoogleApis { - name = "google_apis-11"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-11_r01.zip; - sha1 = "5eab5e81addee9f3576d456d205208314b5146a5"; - }; - meta = { - description = "Android + Google APIs"; - url = http://developer.android.com/; - }; - }; - - google_apis_12 = buildGoogleApis { - name = "google_apis-12"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-12_r01.zip; - sha1 = "e9999f4fa978812174dfeceec0721c793a636e5d"; - }; - meta = { - description = "Android + Google APIs"; - url = http://developer.android.com/; - }; - }; - - google_apis_13 = buildGoogleApis { - name = "google_apis-13"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-13_r01.zip; - sha1 = "3b153edd211c27dc736c893c658418a4f9041417"; - }; - meta = { - description = "Android + Google APIs"; - url = http://developer.android.com/; - }; - }; - - google_apis_14 = buildGoogleApis { - name = "google_apis-14"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-14_r02.zip; - sha1 = "f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39"; - }; - meta = { - description = "Android + Google APIs"; - - }; - }; - - google_apis_15 = buildGoogleApis { - name = "google_apis-15"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-15_r03.zip; - sha1 = "d0d2bf26805eb271693570a1aaec33e7dc3f45e9"; - }; - meta = { - description = "Android + Google APIs"; - - }; - }; - - google_apis_16 = buildGoogleApis { - name = "google_apis-16"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-16_r04.zip; - sha1 = "ee6acf1b01020bfa8a8e24725dbc4478bee5e792"; - }; - meta = { - description = "Android + Google APIs"; - - }; - }; - - google_apis_17 = buildGoogleApis { - name = "google_apis-17"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-17_r04.zip; - sha1 = "a076be0677f38df8ca5536b44dfb411a0c808c4f"; - }; - meta = { - description = "Android + Google APIs"; - - }; - }; - - google_apis_18 = buildGoogleApis { - name = "google_apis-18"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-18_r04.zip; - sha1 = "6109603409debdd40854d4d4a92eaf8481462c8b"; - }; - meta = { - description = "Android + Google APIs"; - - }; - }; - - google_apis_19 = buildGoogleApis { - name = "google_apis-19"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-19_r20.zip; - sha1 = "5b933abe830b2f25b4c0f171d45e9e0651e56311"; - }; - meta = { - description = "Android + Google APIs"; - - }; - }; - - google_apis_21 = buildGoogleApis { - name = "google_apis-21"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-21_r01.zip; - sha1 = "66a754efb24e9bb07cc51648426443c7586c9d4a"; - }; - meta = { - description = "Android + Google APIs"; - - }; - }; - - google_apis_22 = buildGoogleApis { - name = "google_apis-22"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-22_r01.zip; - sha1 = "5def0f42160cba8acff51b9c0c7e8be313de84f5"; - }; - meta = { - description = "Android + Google APIs"; - - }; - }; - - google_apis_23 = buildGoogleApis { - name = "google_apis-23"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-23_r01.zip; - sha1 = "04c5cc1a7c88967250ebba9561d81e24104167db"; - }; - meta = { - description = "Android + Google APIs"; - - }; - }; - - google_apis_24 = buildGoogleApis { - name = "google_apis-24"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-24_r1.zip; - sha1 = "31361c2868f27343ee917fbd259c1463821b6145"; - }; - meta = { - description = "Android + Google APIs"; - - }; - }; - - google_apis_25 = buildGoogleApis { - name = "google_apis-25"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_apis-25_r1.zip; - sha1 = "550e83eea9513ab11c44919ac6da54b36084a9f3"; - }; - meta = { - description = "Android + Google APIs"; - - }; - }; - - android_support_extra = buildGoogleApis { - name = "android_support_extra"; - src = fetchurl { - url = https://dl.google.com/android/repository/support_r23.2.1.zip; - sha1 = "41121bbc412c2fce0be170d589d20cfa3e78e857"; - }; - meta = { - description = "Android Support Library"; - url = http://developer.android.com/; - }; - }; - - - google_play_services = buildGoogleApis { - name = "google_play_services"; - src = fetchurl { - url = https://dl.google.com/android/repository/google_play_services_v16_1_rc09.zip; - sha1 = "f95bf19634e2ab0430923247fe2c50246432d2e9"; - }; - meta = { - description = "Google Play services client library and sample code"; - url = http://developer.android.com/; - }; - }; - - instant_apps = buildGoogleApis { - name = "instant_apps_sdk"; - src = fetchurl { - url = https://dl.google.com/android/repository/iasdk-1.5.0-1538000167.zip; - sha1 = "6c282b9c686e819fe7f5ac8f2249d2479acb63b4"; - }; - meta = { - description = "Android Instant Apps Development SDK"; - url = "https://developer.android.com/"; - }; - }; - - -} diff --git a/pkgs/development/mobile/androidenv/androidndk.nix b/pkgs/development/mobile/androidenv/androidndk.nix deleted file mode 100644 index 23ae4378dc6..00000000000 --- a/pkgs/development/mobile/androidenv/androidndk.nix +++ /dev/null @@ -1,120 +0,0 @@ -{ stdenv, fetchurl, zlib, ncurses5, unzip, lib, makeWrapper -, coreutils, file, findutils, gawk, gnugrep, gnused, jdk, which -, platformTools, python3, libcxx, version, sha1s, bash, runCommand -, fullNDK ? false # set to true if you want other parts of the NDK - # that is not used by Nixpkgs like sources, - # examples, docs, or LLVM toolchains -}: - -let - makeStandaloneToolchain = api: arch: let - full_ndk = (ndk true); - in runCommand "makeStandaloneToolchain-${version}" {} '' - ${full_ndk}/libexec/${full_ndk.name}/build/tools/make_standalone_toolchain.py --api ${toString api} --arch ${arch} --install-dir $out - ''; - ndk = fullNDK: stdenv.mkDerivation rec { - name = "android-ndk-r${version}"; - inherit version; - - src = fetchurl { - url = "https://dl.google.com/android/repository/${name}-${stdenv.hostPlatform.parsed.kernel.name}-${stdenv.hostPlatform.parsed.cpu.name}.zip"; - sha1 = sha1s.${stdenv.hostPlatform.system} or (throw "platform ${stdenv.hostPlatform.system} not supported!"); - }; - - phases = "buildPhase"; - - nativeBuildInputs = [ unzip makeWrapper file ]; - - buildCommand = let - bin_path = "$out/bin"; - pkg_path = "$out/libexec/${name}"; - sed_script_1 = - "'s|^PROGDIR=`dirname $0`" + - "|PROGDIR=`dirname $(readlink -f $(which $0))`|'"; - runtime_paths = (lib.makeBinPath [ - coreutils file findutils - gawk gnugrep gnused - jdk python3 which - ]) + ":${platformTools}/platform-tools"; - in '' - mkdir -pv $out/libexec - cd $out/libexec - unzip -qq $src - - # so that it doesn't fail because of read-only permissions set - cd - - ${if (version == "10e") then - '' - patch -p1 \ - --no-backup-if-mismatch \ - -d $out/libexec/${name} < ${ ./make-standalone-toolchain_r10e.patch } - '' - else - '' - patch -p1 \ - --no-backup-if-mismatch \ - -d $out/libexec/${name} < ${ ./. + "/make_standalone_toolchain.py_" + "${version}" + ".patch" } - - sed -i 's,#!/usr/bin/env python,#!${python3}/bin/python,g' ${pkg_path}/build/tools/make_standalone_toolchain.py - sed -i 's,#!/bin/bash,#!${bash}/bin/bash,g' ${pkg_path}/build/tools/make_standalone_toolchain.py - wrapProgram ${pkg_path}/build/tools/make_standalone_toolchain.py --prefix PATH : "${runtime_paths}" - '' - } - - patchShebangs ${pkg_path} - - cd ${pkg_path} - - '' + lib.optionalString (!fullNDK) '' - # Steps to reduce output size - rm -rf docs sources tests - # We only support cross compiling with gcc for now - rm -rf toolchains/*-clang* toolchains/llvm* - '' + - - '' - find ${pkg_path}/toolchains \( \ - \( -type f -a -name "*.so*" \) -o \ - \( -type f -a -perm -0100 \) \ - \) -exec patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-*so.? \ - --set-rpath ${stdenv.lib.makeLibraryPath [ libcxx zlib ncurses5 ]} {} \; - # fix ineffective PROGDIR / MYNDKDIR determination - for i in ndk-build ${lib.optionalString (version == "10e") "ndk-gdb ndk-gdb-py"} - do - sed -i -e ${sed_script_1} $i - done - - # wrap - for i in ndk-build ${lib.optionalString (version == "10e") "ndk-gdb ndk-gdb-py ndk-which"} - do - wrapProgram "$(pwd)/$i" --prefix PATH : "${runtime_paths}" - done - - ${stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") '' - for i in ${pkg_path}/prebuilt/linux-x86_64/bin/* - do - if ! isELF $i; then continue; fi - patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 $i - patchelf --set-rpath ${stdenv.cc.cc.lib}/lib64 $i - done - ''} - - # make some executables available in PATH - mkdir -pv ${bin_path} - for i in \ - ndk-build ${lib.optionalString (version == "10e") "ndk-depends ndk-gdb ndk-gdb-py ndk-gdb.py ndk-stack ndk-which"} - do - ln -sf ${pkg_path}/$i ${bin_path}/$i - done - ''; - - meta = { - platforms = builtins.attrNames sha1s; - hydraPlatforms = []; - license = stdenv.lib.licenses.asl20; - }; - }; - passthru = { - inherit makeStandaloneToolchain; - }; -in lib.extendDerivation true passthru (ndk fullNDK) diff --git a/pkgs/development/mobile/androidenv/androidndk_r8e.nix b/pkgs/development/mobile/androidenv/androidndk_r8e.nix deleted file mode 100644 index 68d2150f972..00000000000 --- a/pkgs/development/mobile/androidenv/androidndk_r8e.nix +++ /dev/null @@ -1,88 +0,0 @@ -{ stdenv, fetchurl, zlib, ncurses, lib, makeWrapper -, coreutils, file, findutils, gawk, gnugrep, gnused, jdk, which -, platformTools -, fullNDK ? false # set to true if you want other parts of the NDK - # that is not used by Nixpkgs like sources, - # examples, docs, or LLVM toolchains -}: - -stdenv.mkDerivation rec { - name = "android-ndk-r8e"; - - src = if stdenv.hostPlatform.system == "i686-linux" - then fetchurl { - url = "http://dl.google.com/android/ndk/${name}-linux-x86.tar.bz2"; - sha256 = "c2c4e0c8b3037149a0f5dbb08d72f814a52af4da9fff9d80328c675457e95a98"; - } - else if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { - url = "http://dl.google.com/android/ndk/${name}-linux-x86_64.tar.bz2"; - sha256 = "093gf55zbh38p2gk5bdykj1vg9p5l774wjdzw5mhk4144jm1wdq7"; - } - else throw "platform ${stdenv.hostPlatform.system} not supported!"; - - phases = "buildPhase"; - - nativeBuildInputs = [ makeWrapper ]; - - buildCommand = let - bin_path = "$out/bin"; - pkg_path = "$out/libexec/${name}"; - sed_script_1 = - "'s|^PROGDIR=`dirname $0`" + - "|PROGDIR=`dirname $(readlink -f $(which $0))`|'"; - sed_script_2 = - "'s|^MYNDKDIR=`dirname $0`" + - "|MYNDKDIR=`dirname $(readlink -f $(which $0))`|'"; - runtime_paths = (lib.makeBinPath [ - coreutils file findutils - gawk gnugrep gnused - jdk - which - ]) + ":${platformTools}/platform-tools"; - in '' - set -x - mkdir -pv $out/libexec - cd $out/libexec - tar -xjf $src - - # so that it doesn't fail because of read-only permissions set - cd - - patch -p1 \ - --no-backup-if-mismatch \ - -d $out/libexec/${name} < ${ ./make-standalone-toolchain_r8e.patch } - cd ${pkg_path} - - '' + lib.optionalString (!fullNDK) '' - # Steps to reduce output size - rm -rf docs sources tests - # We only support cross compiling with gcc for now - rm -rf toolchains/*-clang* toolchains/llvm-* - - '' + '' - find ${pkg_path}/toolchains \( \ - \( -type f -a -name "*.so*" \) -o \ - \( -type f -a -perm -0100 \) \ - \) -exec patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-*so.? \ - --set-rpath ${stdenv.lib.makeLibraryPath [ zlib ncurses ]} {} \; - # fix ineffective PROGDIR / MYNDKDIR determination - for i in ndk-build ndk-gdb ndk-gdb-py - do - sed -i -e ${sed_script_1} $i - done - sed -i -e ${sed_script_2} ndk-which - # a bash script - patchShebangs ndk-which - # wrap - for i in ndk-build ndk-gdb ndk-gdb-py ndk-which - do - wrapProgram "$(pwd)/$i" --prefix PATH : "${runtime_paths}" - done - # make some executables available in PATH - mkdir -pv ${bin_path} - for i in \ - ndk-build ndk-depends ndk-gdb ndk-gdb-py ndk-gdb.py ndk-stack ndk-which - do - ln -sf ${pkg_path}/$i ${bin_path}/$i - done - ''; -} diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix deleted file mode 100644 index 26750aed6cf..00000000000 --- a/pkgs/development/mobile/androidenv/androidsdk.nix +++ /dev/null @@ -1,296 +0,0 @@ -{ stdenv, stdenv_32bit, fetchurl, fetchzip, unzip, makeWrapper -, platformTools, buildTools, support, supportRepository, platforms, sysimages, addons, sources -, libX11, libXext, libXrender, libxcb, libXau, libXdmcp, libXtst, libGLU_combined, alsaLib -, freetype, fontconfig, glib, gtk2, atk, file, jdk, coreutils, libpulseaudio, dbus -, zlib, glxinfo, xkeyboardconfig -, includeSources -, licenseAccepted -}: -{ platformVersions, abiVersions, useGoogleAPIs, buildToolsVersions ? [], useExtraSupportLibs ? false -, useGooglePlayServices ? false, useInstantApps ? false }: - -if !licenseAccepted then throw '' - You must accept the Android Software Development Kit License Agreement at - https://developer.android.com/studio/terms - by setting nixpkgs config option 'android_sdk.accept_license = true;' - '' -else assert licenseAccepted; - -let inherit (stdenv.lib) makeLibraryPath; - - googleRepository = let version = "gms_v9_rc41_wear_2_0_rc6"; - in fetchzip rec { - url = "https://dl-ssl.google.com/android/repository/google_m2repository_${version}.zip"; - sha256 = "0k99xmynv0k62d301zx5jnjkddflr51i5lb02l9incg7m5cn8kzx"; - }; - -in - -stdenv.mkDerivation rec { - name = "android-sdk-${version}"; - version = "26.1.1"; - - src = if (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux") - then fetchurl { - url = "https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip"; - sha256 = "1yfy0qqxz1ixpsci1pizls1nrncmi8p16wcb9rimdn4q3mdfxzwj"; - } - else if stdenv.hostPlatform.system == "x86_64-darwin" then fetchurl { - url = "https://dl.google.com/android/repository/sdk-tools-darwin-4333796.zip"; - sha256 = "0gl5c30m40kx0vvrpbaa8cw8wq2vb89r14hgzb1df4qgpic97cpc"; - } - else throw "platform not ${stdenv.hostPlatform.system} supported!"; - - emulator = fetchurl { - url = "https://dl.google.com/android/repository/emulator-linux-4969155.zip"; - sha256 = "0iw0j6j3w9zpfalsa7xq2czz4vzgq96zk2zddjhanwwx4p8fhrfd"; - }; - - buildCommand = '' - mkdir -p $out/libexec - cd $out/libexec - unpackFile $src - unpackFile $emulator - cd tools - - for f in monitor bin/monkeyrunner bin/uiautomatorviewer - do - sed -i -e "s|/bin/ls|${coreutils}/bin/ls|" "$f" - done - - ${stdenv.lib.optionalString (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux") - '' - # There are a number of native binaries. We must patch them to let them find the interpreter and libstdc++ - - for i in mksdcard - do - patchelf --set-interpreter ${stdenv_32bit.cc.libc.out}/lib/ld-linux.so.2 $i - patchelf --set-rpath ${stdenv_32bit.cc.cc.lib}/lib $i - done - - # The following scripts used SWT and wants to dynamically load some GTK+ stuff. - # Creating these wrappers ensure that they can be found: - - wrapProgram `pwd`/android \ - --prefix PATH : ${jdk}/bin \ - --prefix LD_LIBRARY_PATH : ${makeLibraryPath [ glib gtk2 libXtst ]} - - wrapProgram `pwd`/bin/uiautomatorviewer \ - --prefix PATH : ${jdk}/bin \ - --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ glib gtk2 libXtst ]} - - # The emulators need additional libraries, which are dynamically loaded => let's wrap them - - ${stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") '' - cd .. - for i in emulator/emulator* emulator/qemu/linux-x86_64/qemu-system-* - do - patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 $i - wrapProgram `pwd`/$i \ - --prefix PATH : ${stdenv.lib.makeBinPath [ file glxinfo ]} \ - --suffix LD_LIBRARY_PATH : `pwd`/lib:${makeLibraryPath [ stdenv.cc.cc libX11 libxcb libXau libXdmcp libXext libGLU_combined alsaLib zlib libpulseaudio dbus.lib ]} \ - --suffix QT_XKB_CONFIG_ROOT : ${xkeyboardconfig}/share/X11/xkb - done - cd tools - ''} - ''} - - patchShebangs . - - ${if stdenv.hostPlatform.system == "i686-linux" then - '' - # The monitor requires some more patching - - cd lib/monitor-x86 - patchelf --set-interpreter ${stdenv_32bit.cc.libc.out}/lib/ld-linux.so.2 monitor - patchelf --set-rpath ${makeLibraryPath [ libX11 libXext libXrender freetype fontconfig ]} libcairo-swt.so - - wrapProgram `pwd`/monitor \ - --prefix LD_LIBRARY_PATH : ${makeLibraryPath [ gtk2 atk stdenv.cc.cc libXtst ]} - - cd ../.. - '' - else if stdenv.hostPlatform.system == "x86_64-linux" then - '' - # The monitor requires some more patching - - cd lib/monitor-x86_64 - patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 monitor - patchelf --set-rpath ${makeLibraryPath [ libX11 libXext libXrender freetype fontconfig ]} libcairo-swt.so - - wrapProgram `pwd`/monitor \ - --prefix LD_LIBRARY_PATH : ${makeLibraryPath [ gtk2 atk stdenv.cc.cc libXtst ]} - - cd ../.. - '' - else ""} - - # Symlink the other sub packages - - cd .. - ln -s ${platformTools}/platform-tools - ln -s ${support}/support - - mkdir -p build-tools - cd build-tools - - ${stdenv.lib.concatMapStrings - (v: "ln -s ${builtins.getAttr "v${builtins.replaceStrings ["."] ["_"] v}" buildTools}/build-tools/*") - (if (builtins.length buildToolsVersions) == 0 then platformVersions else buildToolsVersions)} - - cd .. - - # Symlink required Google API add-ons - - mkdir -p add-ons - cd add-ons - - ${if useGoogleAPIs then - stdenv.lib.concatMapStrings (platformVersion: - if (builtins.hasAttr ("google_apis_"+platformVersion) addons) then - let - googleApis = builtins.getAttr ("google_apis_"+platformVersion) addons; - in - "ln -s ${googleApis}/* addon-google_apis-${platformVersion}\n" - else "") platformVersions - else ""} - - cd .. - - # Symlink required extras - - mkdir -p extras/android - cd extras/android - - ln -s ${supportRepository}/m2repository - - ${if useExtraSupportLibs then - "ln -s ${addons.android_support_extra}/support ." - else ""} - - cd .. - mkdir -p google - cd google - - ${if useGooglePlayServices then - "ln -s ${addons.google_play_services}/google-play-services google_play_services" - else ""} - - ${stdenv.lib.optionalString useInstantApps - "ln -s ${addons.instant_apps}/whsdk instantapps"} - - ln -s ${googleRepository} m2repository - - cd ../.. - - # Symlink required sources - mkdir -p sources - cd sources - - ${if includeSources then - stdenv.lib.concatMapStrings (platformVersion: - if (builtins.hasAttr ("source_"+platformVersion) sources) then - let - source = builtins.getAttr ("source_"+platformVersion) sources; - in - "ln -s ${source}/* android-${platformVersion}\n" - else "") platformVersions - else ""} - - cd .. - - # Symlink required platforms - - mkdir -p platforms - cd platforms - - ${stdenv.lib.concatMapStrings (platformVersion: - if (builtins.hasAttr ("platform_"+platformVersion) platforms) then - let - platform = builtins.getAttr ("platform_"+platformVersion) platforms; - in - "ln -s ${platform}/* android-${platformVersion}\n" - else "" - ) platformVersions} - - cd .. - - # Symlink required system images - - mkdir -p system-images - cd system-images - - ${stdenv.lib.concatMapStrings (abiVersion: - stdenv.lib.concatMapStrings (platformVersion: - if (builtins.hasAttr ("sysimg_" + abiVersion + "_" + platformVersion) sysimages) then - let - sysimg = builtins.getAttr ("sysimg_" + abiVersion + "_" + platformVersion) sysimages; - in - '' - mkdir -p android-${platformVersion} - cd android-${platformVersion} - ln -s ${sysimg}/* - cd .. - '' - else "" - ) platformVersions - ) abiVersions} - - # Create wrappers to the most important tools and platform tools so that we can run them if the SDK is in our PATH - - mkdir -p $out/bin - - for i in $out/libexec/tools/* - do - if [ ! -d $i ] && [ -x $i ] - then - ln -sf $i $out/bin/$(basename $i) - fi - done - - for i in $out/libexec/tools/bin/* - do - if [ ! -d $i ] && [ -x $i ] - then - ln -sf $i $out/bin/$(basename $i) - fi - done - - for i in $out/libexec/platform-tools/* - do - if [ ! -d $i ] && [ -x $i ] - then - ln -sf $i $out/bin/$(basename $i) - fi - done - - for i in $out/libexec/build-tools/*/* - do - if [ ! -d $i ] && [ -x $i ] - then - ln -sf $i $out/bin/$(basename $i) - fi - done - - for i in $out/libexec/emulator/* - do - if [ ! -d $i ] && [ -x $i ] - then - ln -sf $i $out/bin/$(basename $i) - fi - done - - wrapProgram $out/bin/sdkmanager \ - --set JAVA_HOME ${jdk} - - yes | ANDROID_SDK_HOME=$(mktemp -d) $out/bin/sdkmanager --licenses || true - ''; - - buildInputs = [ unzip makeWrapper ]; - - meta = { - platforms = stdenv.lib.platforms.unix; - hydraPlatforms = []; - license = stdenv.lib.licenses.unfree; - }; -} diff --git a/pkgs/development/mobile/androidenv/build-app.nix b/pkgs/development/mobile/androidenv/build-app.nix index 20b3ff3b8f5..62cdeb43032 100644 --- a/pkgs/development/mobile/androidenv/build-app.nix +++ b/pkgs/development/mobile/androidenv/build-app.nix @@ -1,28 +1,26 @@ -{ stdenv, androidsdk, jdk, ant, androidndk, gnumake, gawk, file, which }: -args@{ name, src, platformVersions ? [ "8" ], useGoogleAPIs ? false, antFlags ? "" +{ composeAndroidPackages, stdenv, ant, jdk, gnumake, gawk }: + +{ name , release ? false, keyStore ? null, keyAlias ? null, keyStorePassword ? null, keyAliasPassword ? null -, useNDK ? false, ... -}: +, antFlags ? "" +, ... +}@args: assert release -> keyStore != null && keyAlias != null && keyStorePassword != null && keyAliasPassword != null; let - androidsdkComposition = androidsdk { - inherit platformVersions useGoogleAPIs; - abiVersions = []; - }; + androidSdkFormalArgs = builtins.functionArgs composeAndroidPackages; + androidArgs = builtins.intersectAttrs androidSdkFormalArgs args; + androidsdk = (composeAndroidPackages androidArgs).androidsdk; + + extraArgs = removeAttrs args ([ "name" ] ++ builtins.attrNames androidSdkFormalArgs); in stdenv.mkDerivation ({ - name = stdenv.lib.replaceChars [" "] [""] name; - - ANDROID_HOME = "${androidsdkComposition}/libexec"; - - buildInputs = [ jdk ant ] ++ - stdenv.lib.optional useNDK [ androidndk gnumake gawk file which ]; - + name = stdenv.lib.replaceChars [" "] [""] name; # Android APKs may contain white spaces in their names, but Nix store paths cannot + ANDROID_HOME = "${androidsdk}/libexec/android-sdk"; + buildInputs = [ jdk ant ]; buildPhase = '' ${stdenv.lib.optionalString release '' - # Provide key singing attributes ( echo "key.store=${keyStore}" echo "key.alias=${keyAlias}" @@ -32,20 +30,19 @@ stdenv.mkDerivation ({ ''} export ANDROID_SDK_HOME=`pwd` # Key files cannot be stored in the user's home directory. This overrides it. - ${if useNDK then '' - export GNUMAKE=${gnumake}/bin/make - export NDK_HOST_AWK=${gawk}/bin/gawk - ${androidndk}/bin/ndk-build - '' else ""} + + ${stdenv.lib.optionalString (args ? includeNDK && args.includeNDK) '' + export GNUMAKE=${gnumake}/bin/make + export NDK_HOST_AWK=${gawk}/bin/gawk + ${androidsdk}/libexec/android-sdk/ndk-bundle/ndk-build + ''} ant ${antFlags} ${if release then "release" else "debug"} ''; - installPhase = '' mkdir -p $out mv bin/*-${if release then "release" else "debug"}.apk $out - + mkdir -p $out/nix-support echo "file binary-dist \"$(echo $out/*.apk)\"" > $out/nix-support/hydra-build-products ''; -} // -builtins.removeAttrs args ["name"]) +} // extraArgs) diff --git a/pkgs/development/mobile/androidenv/build-gradle-app.nix b/pkgs/development/mobile/androidenv/build-gradle-app.nix deleted file mode 100644 index d6a39146324..00000000000 --- a/pkgs/development/mobile/androidenv/build-gradle-app.nix +++ /dev/null @@ -1,108 +0,0 @@ -{ stdenv, androidsdk, jdk, androidndk, gnumake, gawk, file -, which, gradle, fetchurl, buildEnv, runCommand }: - -args@{ name, src, platformVersions ? [ "8" ], useGoogleAPIs ? false - , useExtraSupportLibs ? false, useGooglePlayServices ? false - , release ? false, keyStore ? null, keyAlias ? null - , keyStorePassword ? null, keyAliasPassword ? null - , useNDK ? false, buildInputs ? [], mavenDeps, gradleTask - , buildDirectory ? "./.", acceptAndroidSdkLicenses ? false }: - -assert release -> keyStore != null; -assert release -> keyAlias != null; -assert release -> keyStorePassword != null; -assert release -> keyAliasPassword != null; -assert acceptAndroidSdkLicenses; - -let - inherit (stdenv.lib) optionalString; - - m2install = { repo, version, artifactId, groupId - , jarSha256, pomSha256, aarSha256, suffix ? "" }: - let m2Name = "${artifactId}-${version}"; - m2Path = "${builtins.replaceStrings ["."] ["/"] groupId}/${artifactId}/${version}"; - in runCommand m2Name {} ('' - mkdir -p $out/m2/${m2Path} - '' + optionalString (jarSha256 != null) '' - install -D ${fetchurl { - url = "${repo}${m2Path}/${m2Name}${suffix}.jar"; - sha256 = jarSha256; - }} $out/m2/${m2Path}/${m2Name}${suffix}.jar - '' + optionalString (pomSha256 != null) '' - install -D ${fetchurl { - url = "${repo}${m2Path}/${m2Name}${suffix}.pom"; - sha256 = pomSha256; - }} $out/m2/${m2Path}/${m2Name}${suffix}.pom - '' + optionalString (aarSha256 != null) '' - install -D ${fetchurl { - url = "${repo}${m2Path}/${m2Name}${suffix}.aar"; - sha256 = aarSha256; - }} $out/m2/${m2Path}/${m2Name}${suffix}.aar - ''); - - androidsdkComposition = androidsdk { - inherit platformVersions useGoogleAPIs - useExtraSupportLibs useGooglePlayServices; - abiVersions = [ "armeabi-v7a" ]; - }; -in -stdenv.mkDerivation ({ - name = stdenv.lib.replaceChars [" "] [""] name; - - ANDROID_HOME = "${androidsdkComposition}/libexec"; - ANDROID_NDK_HOME = "${androidndk}/libexec/${androidndk.name}"; - - buildInputs = [ jdk gradle ] ++ - stdenv.lib.optional useNDK [ androidndk gnumake gawk file which ] ++ - buildInputs; - - DEPENDENCIES = buildEnv { name = "${name}-maven-deps"; - paths = map m2install mavenDeps; - }; - - buildPhase = '' - ${optionalString release '' - # Provide key signing attributes - ( echo "RELEASE_STORE_FILE=${keyStore}" - echo "RELEASE_KEY_ALIAS=${keyAlias}" - echo "RELEASE_STORE_PASSWORD=${keyStorePassword}" - echo "RELEASE_KEY_PASSWORD=${keyAliasPassword}" - ) >> gradle.properties - ''} - buildDir=`pwd` - cp -r $ANDROID_HOME $buildDir/local_sdk - chmod -R 755 local_sdk - export ANDROID_HOME=$buildDir/local_sdk - # Key files cannot be stored in the user's home directory. This - # overrides it. - export ANDROID_SDK_HOME=`pwd` - - mkdir -p "$ANDROID_HOME/licenses" - echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license" - echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license" - - export APP_HOME=`pwd` - - mkdir -p .m2/repository - if [ -d "$DEPENDENCIES/m2" ] ; then - cp -RL "$DEPENDENCIES"/m2/* .m2/repository/ - fi - chmod -R 755 .m2 - mkdir -p .m2/repository/com/android/support - cp -RL local_sdk/extras/android/m2repository/com/android/support/* .m2/repository/com/android/support/ - cp -RL local_sdk/extras/google/m2repository/* .m2/repository/ - gradle ${gradleTask} --offline --no-daemon -g ./tmp -Dmaven.repo.local=`pwd`/.m2/repository - ''; - - installPhase = '' - mkdir -p $out - mv ${buildDirectory}/build/outputs/apk/*.apk $out - - mkdir -p $out/nix-support - echo "file binary-dist \"$(echo $out/*.apk)\"" > $out/nix-support/hydra-build-products - ''; - - meta = { - license = stdenv.lib.licenses.unfree; - }; -} // builtins.removeAttrs args ["name" "mavenDeps"]) diff --git a/pkgs/development/mobile/androidenv/build-tools-srcs-linux.nix b/pkgs/development/mobile/androidenv/build-tools-srcs-linux.nix deleted file mode 100644 index 3c2960755e7..00000000000 --- a/pkgs/development/mobile/androidenv/build-tools-srcs-linux.nix +++ /dev/null @@ -1,376 +0,0 @@ - -# This file is generated from generate-tools.sh. DO NOT EDIT. -# Execute generate-tools.sh or fetch.sh to update the file. -{ fetchurl }: - -{ - - v17 = { - version = "17.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r17-linux.zip; - sha1 = "2c2872bc3806aabf16a12e3959c2183ddc866e6d"; - }; - }; - - v18_0_1 = { - version = "18.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r18.0.1-linux.zip; - sha1 = "f11618492b0d2270c332325d45d752d3656a9640"; - }; - }; - - v18_1_0 = { - version = "18.1.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r18.1-linux.zip; - sha1 = "f314a0599e51397f0886fe888b50dd98f2f050d8"; - }; - }; - - v18_1_1 = { - version = "18.1.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r18.1.1-linux.zip; - sha1 = "68c9acbfc0cec2d51b19efaed39831a17055d998"; - }; - }; - - v19 = { - version = "19.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r19-linux.zip; - sha1 = "55c1a6cf632e7d346f0002b275ec41fd3137fd83"; - }; - }; - - v19_0_1 = { - version = "19.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r19.0.1-linux.zip; - sha1 = "18d2312dc4368858914213087f4e61445aca4517"; - }; - }; - - v19_0_2 = { - version = "19.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r19.0.2-linux.zip; - sha1 = "a03a6bdea0091aea32e1b35b90a7294c9f04e3dd"; - }; - }; - - v19_0_3 = { - version = "19.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r19.0.3-linux.zip; - sha1 = "c2d6055478e9d2d4fba476ee85f99181ddd1160c"; - }; - }; - - v19_1_0 = { - version = "19.1.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r19.1-linux.zip; - sha1 = "1ff20ac15fa47a75d00346ec12f180d531b3ca89"; - }; - }; - - v20 = { - version = "20.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r20-linux.zip; - sha1 = "b688905526a5584d1327a662d871a635ff502758"; - }; - }; - - v21 = { - version = "21.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r21-linux.zip; - sha1 = "4933328fdeecbd554a29528f254f4993468e1cf4"; - }; - }; - - v21_0_1 = { - version = "21.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r21.0.1-linux.zip; - sha1 = "e573069eea3e5255e7a65bedeb767f4fd0a5f49a"; - }; - }; - - v21_0_2 = { - version = "21.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r21.0.2-linux.zip; - sha1 = "e1236ab8897b62b57414adcf04c132567b2612a5"; - }; - }; - - v21_1_0 = { - version = "21.1.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r21.1-linux.zip; - sha1 = "b7455e543784d52a8925f960bc880493ed1478cb"; - }; - }; - - v21_1_1 = { - version = "21.1.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r21.1.1-linux.zip; - sha1 = "1c712ee3a1ba5a8b0548f9c32f17d4a0ddfd727d"; - }; - }; - - v21_1_2 = { - version = "21.1.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r21.1.2-linux.zip; - sha1 = "5e35259843bf2926113a38368b08458735479658"; - }; - }; - - v22 = { - version = "22.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r22-linux.zip; - sha1 = "a8a1619dd090e44fac957bce6842e62abf87965b"; - }; - }; - - v22_0_1 = { - version = "22.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r22.0.1-linux.zip; - sha1 = "da8b9c5c3ede39298e6cf0283c000c2ee9029646"; - }; - }; - - v23 = { - version = "23.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r23-linux.zip; - sha1 = "c1d6209212b01469f80fa804e0c1d39a06bc9060"; - }; - }; - - v23_0_1 = { - version = "23.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r23.0.1-linux.zip; - sha1 = "b6ba7c399d5fa487d95289d8832e4ad943aed556"; - }; - }; - - v23_0_2 = { - version = "23.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r23.0.2-linux.zip; - sha1 = "8a9f2b37f6fcf7a9fa784dc21aeaeb41bbb9f2c3"; - }; - }; - - v23_0_3 = { - version = "23.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r23.0.3-linux.zip; - sha1 = "368f2600feac7e9b511b82f53d1f2240ae4a91a3"; - }; - }; - - v24 = { - version = "24.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r24-linux.zip; - sha1 = "c6271c4d78a5612ea6c7150688bcd5b7313de8d1"; - }; - }; - - v24_0_1 = { - version = "24.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r24.0.1-linux.zip; - sha1 = "84f18c392919a074fcbb9b1d967984e6b2fef8b4"; - }; - }; - - v24_0_2 = { - version = "24.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r24.0.2-linux.zip; - sha1 = "f199a7a788c3fefbed102eea34d6007737b803cf"; - }; - }; - - v24_0_3 = { - version = "24.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r24.0.3-linux.zip; - sha1 = "9e8cc49d66e03fa1a8ecc1ac3e58f1324f5da304"; - }; - }; - - v25 = { - version = "25.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r25-linux.zip; - sha1 = "f2bbda60403e75cabd0f238598c3b4dfca56ea44"; - }; - }; - - v25_0_1 = { - version = "25.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r25.0.1-linux.zip; - sha1 = "ff063d252ab750d339f5947d06ff782836f22bac"; - }; - }; - - v25_0_2 = { - version = "25.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r25.0.2-linux.zip; - sha1 = "ff953c0177e317618fda40516f3e9d95fd43c7ae"; - }; - }; - - v25_0_3 = { - version = "25.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r25.0.3-linux.zip; - sha1 = "db95f3a0ae376534d4d69f4cdb6fad20649f3509"; - }; - }; - - v26 = { - version = "26.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r26-linux.zip; - sha1 = "1cbe72929876f8a872ab1f1b1040a9f720261f59"; - }; - }; - - v26_rc1 = { - version = "26.0.0-rc1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r26-rc1-linux.zip; - sha1 = "8cd6388dc96db2d7a49d06159cf990d3bbc78d04"; - }; - }; - - v26_rc2 = { - version = "26.0.0-rc2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r26-rc2-linux.zip; - sha1 = "629bbd8d2e415bf64871fb0b4c0540fd6d0347a0"; - }; - }; - - v26_0_1 = { - version = "26.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r26.0.1-linux.zip; - sha1 = "5378c2c78091b414d0eac40a6bd37f2faa31a365"; - }; - }; - - v26_0_2 = { - version = "26.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r26.0.2-linux.zip; - sha1 = "5b2b7b66c7bf2151f2af183b5b50a17808850592"; - }; - }; - - v26_0_3 = { - version = "26.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r26.0.3-linux.zip; - sha1 = "8a2e6c1bcd845844523a68aa17e5442f0dce328c"; - }; - }; - - v27 = { - version = "27.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r27-linux.zip; - sha1 = "28542332ba97cf4a08c3eddfcf5edd70e3cf1260"; - }; - }; - - v27_0_1 = { - version = "27.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r27.0.1-linux.zip; - sha1 = "7f4eedb1077ef948b848040dcd15de9e8a759f4a"; - }; - }; - - v27_0_2 = { - version = "27.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r27.0.2-linux.zip; - sha1 = "b687ddf6be84f11607871138aad32cf857d0b837"; - }; - }; - - v27_0_3 = { - version = "27.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r27.0.3-linux.zip; - sha1 = "d85e7a6320eddffe7eeace3437605079dac938ca"; - }; - }; - - v28 = { - version = "28.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r28-linux.zip; - sha1 = "d9f8a754d833ccd334f56fcc6089c5925cd82abb"; - }; - }; - - v28_rc1 = { - version = "28.0.0-rc1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r28-rc1-linux.zip; - sha1 = "1601977fae25fd478bcfaa0481ca5ea3c609d840"; - }; - }; - - v28_rc2 = { - version = "28.0.0-rc2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r28-rc2-linux.zip; - sha1 = "efe9c0dde0646a07544c864276390ca6e96b24dc"; - }; - }; - - v28_0_1 = { - version = "28.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r28.0.1-linux.zip; - sha1 = "ee70dfa1fccb58b37cebc9544830511f36a137a0"; - }; - }; - - v28_0_2 = { - version = "28.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r28.0.2-linux.zip; - sha1 = "b4492209810a3fd48deaa982f9852fef12433d55"; - }; - }; - - v28_0_3 = { - version = "28.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r28.0.3-linux.zip; - sha1 = "ea6f2f7103cd9da9ff0bdf6e37fbbba548fa4165"; - }; - }; - -} diff --git a/pkgs/development/mobile/androidenv/build-tools-srcs-macosx.nix b/pkgs/development/mobile/androidenv/build-tools-srcs-macosx.nix deleted file mode 100644 index 1e15aa7c873..00000000000 --- a/pkgs/development/mobile/androidenv/build-tools-srcs-macosx.nix +++ /dev/null @@ -1,376 +0,0 @@ - -# This file is generated from generate-tools.sh. DO NOT EDIT. -# Execute generate-tools.sh or fetch.sh to update the file. -{ fetchurl }: - -{ - - v17 = { - version = "17.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r17-macosx.zip; - sha1 = "602ee709be9dbb8f179b1e4075148a57f9419930"; - }; - }; - - v18_0_1 = { - version = "18.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r18.0.1-macosx.zip; - sha1 = "d84f5692fb44d60fc53e5b2507cebf9f24626902"; - }; - }; - - v18_1_0 = { - version = "18.1.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r18.1-macosx.zip; - sha1 = "16ddb299b8b43063e5bb3387ec17147c5053dfd8"; - }; - }; - - v18_1_1 = { - version = "18.1.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r18.1.1-macosx.zip; - sha1 = "a9d9d37f6ddf859e57abc78802a77aaa166e48d4"; - }; - }; - - v19 = { - version = "19.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r19-macosx.zip; - sha1 = "86ec1c12db1bc446b7bcaefc5cc14eb361044e90"; - }; - }; - - v19_0_1 = { - version = "19.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r19.0.1-macosx.zip; - sha1 = "efaf50fb19a3edb8d03efbff76f89a249ad2920b"; - }; - }; - - v19_0_2 = { - version = "19.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r19.0.2-macosx.zip; - sha1 = "145bc43065d45f756d99d87329d899052b9a9288"; - }; - }; - - v19_0_3 = { - version = "19.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r19.0.3-macosx.zip; - sha1 = "651cf8754373b2d52e7f6aab2c52eabffe4e9ea4"; - }; - }; - - v19_1_0 = { - version = "19.1.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r19.1-macosx.zip; - sha1 = "0d11aae3417de1efb4b9a0e0a7855904a61bcec1"; - }; - }; - - v20 = { - version = "20.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r20-macosx.zip; - sha1 = "1240f629411c108a714c4ddd756937c7fab93f83"; - }; - }; - - v21 = { - version = "21.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r21-macosx.zip; - sha1 = "9bef7989b51436bd4e5114d8a0330359f077cbfa"; - }; - }; - - v21_0_1 = { - version = "21.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r21.0.1-macosx.zip; - sha1 = "b60c8f9b810c980abafa04896706f3911be1ade7"; - }; - }; - - v21_0_2 = { - version = "21.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r21.0.2-macosx.zip; - sha1 = "f17471c154058f3734729ef3cc363399b1cd3de1"; - }; - }; - - v21_1_0 = { - version = "21.1.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r21.1-macosx.zip; - sha1 = "df619356c2359aa5eacdd48699d15b335d9bd246"; - }; - }; - - v21_1_1 = { - version = "21.1.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r21.1.1-macosx.zip; - sha1 = "836a146eab0504aa9387a5132e986fe7c7381571"; - }; - }; - - v21_1_2 = { - version = "21.1.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r21.1.2-macosx.zip; - sha1 = "e7c906b4ba0eea93b32ba36c610dbd6b204bff48"; - }; - }; - - v22 = { - version = "22.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r22-macosx.zip; - sha1 = "af95429b24088d704bc5db9bd606e34ac1b82c0d"; - }; - }; - - v22_0_1 = { - version = "22.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r22.0.1-macosx.zip; - sha1 = "53dad7f608e01d53b17176ba11165acbfccc5bbf"; - }; - }; - - v23 = { - version = "23.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r23-macosx.zip; - sha1 = "90ba6e716f7703a236cd44b2e71c5ff430855a03"; - }; - }; - - v23_0_1 = { - version = "23.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r23.0.1-macosx.zip; - sha1 = "d96ec1522721e9a179ae2c591c99f75d31d39718"; - }; - }; - - v23_0_2 = { - version = "23.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r23.0.2-macosx.zip; - sha1 = "482c4cbceef8ff58aefd92d8155a38610158fdaf"; - }; - }; - - v23_0_3 = { - version = "23.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r23.0.3-macosx.zip; - sha1 = "fbc98cd303fd15a31d472de6c03bd707829f00b0"; - }; - }; - - v24 = { - version = "24.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r24-macosx.zip; - sha1 = "97fc4ed442f23989cc488d02c1d1de9bdde241de"; - }; - }; - - v24_0_1 = { - version = "24.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r24.0.1-macosx.zip; - sha1 = "5c6457fcdfa07724fb086d8ff4e8316fc0742848"; - }; - }; - - v24_0_2 = { - version = "24.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r24.0.2-macosx.zip; - sha1 = "8bb8fc575477491d5957de743089df412de55cda"; - }; - }; - - v24_0_3 = { - version = "24.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r24.0.3-macosx.zip; - sha1 = "a01c15f1b105c34595681075e1895d58b3fff48c"; - }; - }; - - v25 = { - version = "25.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r25-macosx.zip; - sha1 = "273c5c29a65cbed00e44f3aa470bbd7dce556606"; - }; - }; - - v25_0_1 = { - version = "25.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r25.0.1-macosx.zip; - sha1 = "7bf7f22d7d48ef20b6ab0e3d7a2912e5c088340f"; - }; - }; - - v25_0_2 = { - version = "25.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r25.0.2-macosx.zip; - sha1 = "12a5204bb3b6e39437535469fde7ddf42da46b16"; - }; - }; - - v25_0_3 = { - version = "25.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r25.0.3-macosx.zip; - sha1 = "160d2fefb5ce68e443427fc30a793a703b63e26e"; - }; - }; - - v26 = { - version = "26.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r26-macosx.zip; - sha1 = "d01a1aeca03747245f1f5936b3cb01759c66d086"; - }; - }; - - v26_rc1 = { - version = "26.0.0-rc1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r26-rc1-macosx.zip; - sha1 = "5c5a1de7d5f4f000d36ae349229fe0be846d6137"; - }; - }; - - v26_rc2 = { - version = "26.0.0-rc2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r26-rc2-macosx.zip; - sha1 = "cb1eb738a1f7003025af267a9b8cc2d259533c70"; - }; - }; - - v26_0_1 = { - version = "26.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r26.0.1-macosx.zip; - sha1 = "cbde59de198916b390777dd0227921bfa2120832"; - }; - }; - - v26_0_2 = { - version = "26.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r26.0.2-macosx.zip; - sha1 = "d9ed7c7f149ce38be5dc08979aea8acec1459ca0"; - }; - }; - - v26_0_3 = { - version = "26.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r26.0.3-macosx.zip; - sha1 = "5bb90ed935d99e5bc90686f43b852e68c5ad40df"; - }; - }; - - v27 = { - version = "27.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r27-macosx.zip; - sha1 = "fb4e8d7e6b8d29a77090e34024077a80458d5ae1"; - }; - }; - - v27_0_1 = { - version = "27.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r27.0.1-macosx.zip; - sha1 = "1edd07bfdbadd95652d093040e16d858f7489594"; - }; - }; - - v27_0_2 = { - version = "27.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r27.0.2-macosx.zip; - sha1 = "6d5d9cf2a47877f273f4b742b19e712a051a31be"; - }; - }; - - v27_0_3 = { - version = "27.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r27.0.3-macosx.zip; - sha1 = "61d9fb18790c68d66ff73bf1e7ad56bc1f1eef2d"; - }; - }; - - v28 = { - version = "28.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r28-macosx.zip; - sha1 = "72088d32d1d82cc3c2cf7cf6618b6130c0c84ade"; - }; - }; - - v28_rc1 = { - version = "28.0.0-rc1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r28-rc1-macosx.zip; - sha1 = "2c77821967a2330b7b227072d0b1c02ef19fe2fc"; - }; - }; - - v28_rc2 = { - version = "28.0.0-rc2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r28-rc2-macosx.zip; - sha1 = "0d0314b353589feb10e528b44c5a685b6658d797"; - }; - }; - - v28_0_1 = { - version = "28.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r28.0.1-macosx.zip; - sha1 = "aeef42ad953f1630dd6f5d71eefdc0b825211462"; - }; - }; - - v28_0_2 = { - version = "28.0.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r28.0.2-macosx.zip; - sha1 = "c10dd5a7825578622fb362a8a34f76eb3ba0c0a9"; - }; - }; - - v28_0_3 = { - version = "28.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/build-tools_r28.0.3-macosx.zip; - sha1 = "f8c333a2991b1ab05a671bc6248b78e00edcd83a"; - }; - }; - -} diff --git a/pkgs/development/mobile/androidenv/build-tools.nix b/pkgs/development/mobile/androidenv/build-tools.nix index b362dc2dca5..976ef141627 100644 --- a/pkgs/development/mobile/androidenv/build-tools.nix +++ b/pkgs/development/mobile/androidenv/build-tools.nix @@ -1,53 +1,19 @@ -{stdenv, lib, stdenv_32bit, fetchurl, unzip, zlib_32bit, ncurses_32bit, file, zlib, ncurses, coreutils, buildToolsSources}: +{deployAndroidPackage, lib, package, os, autoPatchelfHook, makeWrapper, pkgs, pkgs_i686}: -let buildBuildTools = name: { version, src }: - stdenv.mkDerivation rec { - inherit version src; - name = "android-build-tools-r${version}"; - buildCommand = '' - mkdir -p $out/build-tools - cd $out/build-tools - unzip $src - mv android-* ${version} +deployAndroidPackage { + inherit package os; + buildInputs = [ autoPatchelfHook makeWrapper ] ++ + lib.optional (os == "linux") [ pkgs.glibc pkgs.zlib pkgs.ncurses5 pkgs_i686.glibc pkgs_i686.zlib pkgs_i686.ncurses5 ]; + patchInstructions = '' + ${lib.optionalString (os == "linux") '' + addAutoPatchelfSearchPath $packageBaseDir/lib + addAutoPatchelfSearchPath $packageBaseDir/lib64 + autoPatchelf --no-recurse $packageBaseDir/lib64 + autoPatchelf --no-recurse $packageBaseDir + ''} - cd ${version} - - for f in $(grep -Rl /bin/ls .); do - sed -i -e "s|/bin/ls|${coreutils}/bin/ls|" "$f" - done - - ${stdenv.lib.optionalString (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux") - '' - - ln -s ${ncurses.out}/lib/libncurses.so.5 `pwd`/lib64/libtinfo.so.5 - - find . -type f -print0 | while IFS= read -r -d "" file - do - type=$(file "$file") - ## Patch 64-bit binaries - if grep -q "ELF 64-bit" <<< "$type" - then - if grep -q "interpreter" <<< "$type" - then - patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 "$file" - fi - patchelf --set-rpath `pwd`/lib64:${stdenv.cc.cc.lib.out}/lib:${zlib.out}/lib:${ncurses.out}/lib "$file" - ## Patch 32-bit binaries - elif grep -q "ELF 32-bit" <<< "$type" - then - if grep -q "interpreter" <<< "$type" - then - patchelf --set-interpreter ${stdenv_32bit.cc.libc.out}/lib/ld-linux.so.2 "$file" - fi - patchelf --set-rpath ${stdenv_32bit.cc.cc.lib.out}/lib:${zlib_32bit.out}/lib:${ncurses_32bit.out}/lib "$file" - fi - done - ''} - - patchShebangs . - ''; - - buildInputs = [ unzip file ]; - }; -in - lib.mapAttrs buildBuildTools buildToolsSources + wrapProgram $PWD/mainDexClasses \ + --prefix PATH : ${pkgs.jdk8}/bin + ''; + noAuditTmpdir = true; # The checker script gets confused by the build-tools path that is incorrectly identified as a reference to /build +} diff --git a/pkgs/development/mobile/androidenv/cmake.nix b/pkgs/development/mobile/androidenv/cmake.nix new file mode 100644 index 00000000000..1aeef467642 --- /dev/null +++ b/pkgs/development/mobile/androidenv/cmake.nix @@ -0,0 +1,10 @@ +{deployAndroidPackage, lib, package, os, autoPatchelfHook, pkgs}: + +deployAndroidPackage { + inherit package os; + buildInputs = [ autoPatchelfHook ] + ++ lib.optional (os == "linux") [ pkgs.stdenv.glibc pkgs.stdenv.cc.cc ]; + patchInstructions = lib.optionalString (os == "linux") '' + autoPatchelf $packageBaseDir/bin + ''; +} diff --git a/pkgs/development/mobile/androidenv/compose-android-packages.nix b/pkgs/development/mobile/androidenv/compose-android-packages.nix new file mode 100644 index 00000000000..690f9712a10 --- /dev/null +++ b/pkgs/development/mobile/androidenv/compose-android-packages.nix @@ -0,0 +1,262 @@ +{stdenv, fetchurl, requireFile, makeWrapper, unzip, autoPatchelfHook, pkgs, pkgs_i686, licenseAccepted ? false}: + +{ toolsVersion ? "25.2.5" +, platformToolsVersion ? "28.0.1" +, buildToolsVersions ? [ "28.0.3" ] +, includeEmulator ? false +, emulatorVersion ? "28.0.14" +, platformVersions ? [] +, includeSources ? false +, includeDocs ? false +, includeSystemImages ? false +, systemImageTypes ? [ "default" ] +, abiVersions ? [ "armeabi-v7a" ] +, lldbVersions ? [ ] +, cmakeVersions ? [ ] +, includeNDK ? false +, ndkVersion ? "18.1.5063045" +, useGoogleAPIs ? false +, useGoogleTVAddOns ? false +, includeExtras ? [] +}: + +if !licenseAccepted then throw '' + You must accept the Android Software Development Kit License Agreement at + https://developer.android.com/studio/terms + by setting nixpkgs config option 'android_sdk.accept_license = true;' + '' +else assert licenseAccepted; + +let + inherit (pkgs) stdenv fetchurl makeWrapper unzip; + + # Determine the Android os identifier from Nix's system identifier + os = if stdenv.system == "x86_64-linux" then "linux" + else if stdenv.system == "x86_64-darwin" then "macosx" + else "No tarballs found for system architecture: ${stdenv.system}"; + + # Generated Nix packages + packages = import ./generated/packages.nix { + inherit fetchurl; + }; + + # Generated system images + system-images-packages-android = import ./generated/system-images-android.nix { + inherit fetchurl; + }; + + system-images-packages-android-tv = import ./generated/system-images-android-tv.nix { + inherit fetchurl; + }; + + system-images-packages-android-wear = import ./generated/system-images-android-wear.nix { + inherit fetchurl; + }; + + system-images-packages-android-wear-cn = import ./generated/system-images-android-wear-cn.nix { + inherit fetchurl; + }; + + system-images-packages-google_apis = import ./generated/system-images-google_apis.nix { + inherit fetchurl; + }; + + system-images-packages-google_apis_playstore = import ./generated/system-images-google_apis_playstore.nix { + inherit fetchurl; + }; + + system-images-packages = + stdenv.lib.recursiveUpdate + system-images-packages-android + (stdenv.lib.recursiveUpdate system-images-packages-android-tv + (stdenv.lib.recursiveUpdate system-images-packages-android-wear + (stdenv.lib.recursiveUpdate system-images-packages-android-wear-cn + (stdenv.lib.recursiveUpdate system-images-packages-google_apis system-images-packages-google_apis_playstore)))); + + # Generated addons + addons = import ./generated/addons.nix { + inherit fetchurl; + }; +in +rec { + deployAndroidPackage = import ./deploy-androidpackage.nix { + inherit stdenv unzip; + }; + + platform-tools = import ./platform-tools.nix { + inherit deployAndroidPackage os autoPatchelfHook pkgs; + inherit (stdenv) lib; + package = packages.platform-tools."${platformToolsVersion}"; + }; + + build-tools = map (version: + import ./build-tools.nix { + inherit deployAndroidPackage os autoPatchelfHook makeWrapper pkgs pkgs_i686; + inherit (stdenv) lib; + package = packages.build-tools."${version}"; + } + ) buildToolsVersions; + + docs = deployAndroidPackage { + inherit os; + package = packages.docs."1"; + }; + + emulator = import ./emulator.nix { + inherit deployAndroidPackage os autoPatchelfHook makeWrapper pkgs pkgs_i686; + inherit (stdenv) lib; + package = packages.emulator."${emulatorVersion}"."${os}"; + }; + + platforms = map (version: + deployAndroidPackage { + inherit os; + package = packages.platforms."${version}"; + } + ) platformVersions; + + sources = map (version: + deployAndroidPackage { + inherit os; + package = packages.sources."${version}"; + } + ) platformVersions; + + system-images = stdenv.lib.flatten (map (apiVersion: + map (type: + map (abiVersion: + deployAndroidPackage { + inherit os; + package = system-images-packages.${apiVersion}.${type}.${abiVersion}; + } + ) abiVersions + ) systemImageTypes + ) platformVersions); + + lldb = map (version: + import ./lldb.nix { + inherit deployAndroidPackage os autoPatchelfHook pkgs; + inherit (stdenv) lib; + package = packages.lldb."${version}"; + } + ) lldbVersions; + + cmake = map (version: + import ./cmake.nix { + inherit deployAndroidPackage os autoPatchelfHook pkgs; + inherit (stdenv) lib; + package = packages.cmake."${version}"; + } + ) cmakeVersions; + + ndk-bundle = import ./ndk-bundle { + inherit deployAndroidPackage os autoPatchelfHook makeWrapper pkgs platform-tools; + inherit (stdenv) lib; + package = packages.ndk-bundle."${ndkVersion}"; + }; + + google-apis = map (version: + deployAndroidPackage { + inherit os; + package = addons.addons."${version}".google_apis; + } + ) (builtins.filter (platformVersion: platformVersion < "26") platformVersions); # API level 26 and higher include Google APIs by default + + google-tv-addons = map (version: + deployAndroidPackage { + inherit os; + package = addons.addons."${version}".google_tv_addon; + } + ) platformVersions; + + # Function that automatically links all plugins for which multiple versions can coexist + linkPlugins = {name, plugins}: + stdenv.lib.optionalString (plugins != []) '' + mkdir -p ${name} + ${stdenv.lib.concatMapStrings (plugin: '' + ln -s ${plugin}/libexec/android-sdk/${name}/* ${name} + '') plugins} + ''; + + # Function that automatically links a plugin for which only one version exists + linkPlugin = {name, plugin, check ? true}: + stdenv.lib.optionalString check '' + ln -s ${plugin}/libexec/android-sdk/* ${name} + ''; + + # Links all plugins related to a requested platform + linkPlatformPlugins = {name, plugins, check}: + stdenv.lib.optionalString check '' + mkdir -p ${name} + ${stdenv.lib.concatMapStrings (plugin: '' + ln -s ${plugin}/libexec/android-sdk/${name}/* ${name} + '') plugins} + ''; # */ + + # This derivation deploys the tools package and symlinks all the desired + # plugins that we want to use. + + androidsdk = import ./tools.nix { + inherit deployAndroidPackage requireFile packages toolsVersion autoPatchelfHook makeWrapper os pkgs pkgs_i686; + inherit (stdenv) lib; + + postInstall = '' + # Symlink all requested plugins + + ${linkPlugin { name = "platform-tools"; plugin = platform-tools; }} + ${linkPlugins { name = "build-tools"; plugins = build-tools; }} + ${linkPlugin { name = "emulator"; plugin = emulator; check = includeEmulator; }} + ${linkPlugin { name = "docs"; plugin = docs; check = includeDocs; }} + ${linkPlugins { name = "platforms"; plugins = platforms; }} + ${linkPlatformPlugins { name = "sources"; plugins = sources; check = includeSources; }} + ${linkPlugins { name = "lldb"; plugins = lldb; }} + ${linkPlugins { name = "cmake"; plugins = cmake; }} + ${linkPlugin { name = "ndk-bundle"; plugin = ndk-bundle; check = includeNDK; }} + + ${stdenv.lib.optionalString includeSystemImages '' + mkdir -p system-images + ${stdenv.lib.concatMapStrings (system-image: '' + apiVersion=$(basename $(echo ${system-image}/libexec/android-sdk/system-images/*)) + type=$(basename $(echo ${system-image}/libexec/android-sdk/system-images/*/*)) + mkdir -p system-images/$apiVersion/$type + ln -s ${system-image}/libexec/android-sdk/system-images/$apiVersion/$type/* system-images/$apiVersion/$type + '') system-images} + ''} + + ${linkPlatformPlugins { name = "add-ons"; plugins = google-apis; check = useGoogleAPIs; }} + ${linkPlatformPlugins { name = "add-ons"; plugins = google-apis; check = useGoogleTVAddOns; }} + + # Link extras + ${stdenv.lib.concatMapStrings (identifier: + let + path = addons.extras."${identifier}".path; + addon = deployAndroidPackage { + inherit os; + package = addons.extras."${identifier}"; + }; + in + '' + targetDir=$(dirname ${path}) + mkdir -p $targetDir + ln -s ${addon}/libexec/android-sdk/${path} $targetDir + '') includeExtras} + + # Expose common executables in bin/ + mkdir -p $out/bin + find $PWD/tools -not -path '*/\.*' -type f -executable -mindepth 1 -maxdepth 1 | while read i + do + ln -s $i $out/bin + done + + find $PWD/tools/bin -not -path '*/\.*' -type f -executable -mindepth 1 -maxdepth 1 | while read i + do + ln -s $i $out/bin + done + + for i in ${platform-tools}/bin/* + do + ln -s $i $out/bin + done + ''; + }; +} diff --git a/pkgs/development/mobile/androidenv/convertaddons.xsl b/pkgs/development/mobile/androidenv/convertaddons.xsl new file mode 100644 index 00000000000..73f58ff5cde --- /dev/null +++ b/pkgs/development/mobile/androidenv/convertaddons.xsl @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + https://dl.google.com/android/repository/ + + + + + + +{fetchurl}: + +{ + addons = { + + + ""."" = { + name = ""; + path = ""; + revision = ""; + displayName = ""; + archives = { + + all = fetchurl { + url = ; + sha1 = ""; + }; + + + = fetchurl { + url = ; + sha1 = ""; + }; + + }; + }; + + + + + ""."" = { + name = ""; + path = "add-ons/addon-google_apis-google-25"; + revision = ""; + displayName = ""; + archives = { + + all = fetchurl { + url = ; + sha1 = ""; + }; + + + = fetchurl { + url = ; + sha1 = ""; + }; + + }; + }; + + }; + + extras = { + + + + + + + + + + + + . + + + + . + + + + -rc + + + + + "" = { + name = ""; + path = ""; + revision = ""; + displayName = ""; + archives = { + + all = fetchurl { + url = ; + sha1 = ""; + }; + + + = fetchurl { + url = ; + sha1 = ""; + }; + + }; + }; + + }; +} + + + diff --git a/pkgs/development/mobile/androidenv/convertpackages.xsl b/pkgs/development/mobile/androidenv/convertpackages.xsl new file mode 100644 index 00000000000..9623e01abcd --- /dev/null +++ b/pkgs/development/mobile/androidenv/convertpackages.xsl @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + https://dl.google.com/android/repository/ + + + + + + +{fetchurl}: + +{ + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + + . + + + + -rc + + + + + + + + + + + + + + + + + + + + + + + + ""."". = { + + + ""."" = { + + + name = ""; + path = ""; + revision = ""; + displayName = ""; + archives = { + + all = fetchurl { + url = ; + sha1 = ""; + }; + + + = fetchurl { + url = ; + sha1 = ""; + }; + + }; + }; + +} + + diff --git a/pkgs/development/mobile/androidenv/convertsystemimages.xsl b/pkgs/development/mobile/androidenv/convertsystemimages.xsl new file mode 100644 index 00000000000..42d19cb6965 --- /dev/null +++ b/pkgs/development/mobile/androidenv/convertsystemimages.xsl @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + https://dl.google.com/android/repository/sys-img// + + + + + +{fetchurl}: + +{ + + + -- + + + "".."" = { + name = "system-image-"; + path = ""; + revision = ""; + displayName = ""; + archives.all = fetchurl { + + url = ; + sha1 = ""; + + }; + }; + +} + + diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix index 282924047aa..92560105422 100644 --- a/pkgs/development/mobile/androidenv/default.nix +++ b/pkgs/development/mobile/androidenv/default.nix @@ -1,380 +1,26 @@ -{ buildPackages, pkgs, pkgs_i686, targetPackages -, includeSources ? true, licenseAccepted ? false +{ pkgs ? import {} +, pkgs_i686 ? import { system = "i686-linux"; } +, licenseAccepted ? false }: -# TODO: use callPackage instead of import to avoid so many inherits - rec { - platformTools = import ./platform-tools.nix { - inherit buildPackages pkgs; - }; - - buildToolsSources = let - system = pkgs.stdenv.hostPlatform.system; - path = if (system == "i686-linux" || system == "x86_64-linux") - then ./build-tools-srcs-linux.nix - else if system == "x86_64-darwin" - then ./build-tools-srcs-macosx.nix - else throw "System: ${system} not supported!"; - in - import path { inherit (pkgs) fetchurl; }; - - buildTools = import ./build-tools.nix { - inherit (pkgs) stdenv lib fetchurl unzip zlib file coreutils; - inherit buildToolsSources; - stdenv_32bit = pkgs_i686.stdenv; - zlib_32bit = pkgs_i686.zlib; - ncurses_32bit = pkgs_i686.ncurses5; - ncurses = pkgs.ncurses5; - }; - - support = import ./support.nix { - inherit (pkgs) stdenv fetchurl unzip; - }; - - supportRepository = import ./support-repository.nix { - inherit (pkgs) stdenv fetchurl unzip; - }; - - platforms = if (pkgs.stdenv.hostPlatform.system == "i686-linux" || pkgs.stdenv.hostPlatform.system == "x86_64-linux") - then import ./platforms-linux.nix { - inherit (pkgs) stdenv fetchurl unzip; - } - else if pkgs.stdenv.hostPlatform.system == "x86_64-darwin" - then import ./platforms-macosx.nix { - inherit (pkgs) stdenv fetchurl unzip; - } - else throw "Platform: ${pkgs.stdenv.hostPlatform.system} not supported!"; - - sysimages = import ./sysimages.nix { - inherit (pkgs) stdenv fetchurl unzip; - }; - - addons = import ./addons.nix { - inherit (pkgs) stdenv fetchurl unzip; - }; - - sources = import ./sources.nix { - inherit (pkgs) stdenv fetchurl unzip; - }; - - androidsdk = import ./androidsdk.nix { - inherit (pkgs) stdenv fetchurl unzip makeWrapper zlib - glxinfo freetype fontconfig glib gtk2 atk - libGLU_combined file alsaLib jdk coreutils - libpulseaudio dbus fetchzip; - inherit (pkgs.xorg) libX11 libXext libXrender - libxcb libXau libXdmcp libXtst xkeyboardconfig; - - inherit platformTools buildTools support - supportRepository platforms sysimages - addons sources includeSources licenseAccepted; - - stdenv_32bit = pkgs_i686.stdenv; - }; - - androidsdk_2_1 = androidsdk { - platformVersions = [ "7" ]; - abiVersions = [ "armeabi-v7a" ]; - useGoogleAPIs = true; - }; - - androidsdk_2_2 = androidsdk { - platformVersions = [ "8" ]; - abiVersions = [ "armeabi-v7a" ]; - useGoogleAPIs = true; - }; - - androidsdk_2_3_3 = androidsdk { - platformVersions = [ "10" ]; - abiVersions = [ "armeabi-v7a" ]; - useGoogleAPIs = true; - }; - - androidsdk_3_0 = androidsdk { - platformVersions = [ "11" ]; - abiVersions = [ "armeabi-v7a" ]; - useGoogleAPIs = true; - }; - - androidsdk_3_1 = androidsdk { - platformVersions = [ "12" ]; - abiVersions = [ "armeabi-v7a" ]; - useGoogleAPIs = true; - }; - - androidsdk_3_2 = androidsdk { - platformVersions = [ "13" ]; - abiVersions = [ "armeabi-v7a" ]; - useGoogleAPIs = true; - }; - - androidsdk_4_0 = androidsdk { - platformVersions = [ "14" ]; - abiVersions = [ "armeabi-v7a" ]; - useGoogleAPIs = true; - }; - - androidsdk_4_0_3 = androidsdk { - platformVersions = [ "15" ]; - abiVersions = [ "armeabi-v7a" ]; - useGoogleAPIs = true; - }; - - androidsdk_4_1 = androidsdk { - platformVersions = [ "16" ]; - abiVersions = [ "armeabi-v7a" ]; - useGoogleAPIs = true; - }; - - androidsdk_4_2 = androidsdk { - platformVersions = [ "17" ]; - abiVersions = [ "armeabi-v7a" ]; - useGoogleAPIs = true; - }; - - androidsdk_4_3 = androidsdk { - platformVersions = [ "18" ]; - abiVersions = [ "armeabi-v7a" "x86" ]; - useGoogleAPIs = true; - }; - - androidsdk_4_4 = androidsdk { - platformVersions = [ "19" ]; - abiVersions = [ "armeabi-v7a" "x86" ]; - useGoogleAPIs = true; - }; - - androidsdk_5_0_1 = androidsdk { - platformVersions = [ "21" ]; - abiVersions = [ "armeabi-v7a" "x86" ]; - useGoogleAPIs = true; - }; - - androidsdk_5_0_1_extras = androidsdk { - platformVersions = [ "21" ]; - abiVersions = [ "armeabi-v7a" "x86" ]; - useGoogleAPIs = true; - useExtraSupportLibs = true; - useGooglePlayServices = true; - }; - - androidsdk_5_1_1 = androidsdk { - platformVersions = [ "22" ]; - abiVersions = [ "armeabi-v7a" "x86" "x86_64"]; - useGoogleAPIs = true; - }; - - androidsdk_5_1_1_extras = androidsdk { - platformVersions = [ "22" ]; - abiVersions = [ "armeabi-v7a" "x86" "x86_64"]; - useGoogleAPIs = true; - useExtraSupportLibs = true; - useGooglePlayServices = true; - }; - - androidsdk_6_0 = androidsdk { - platformVersions = [ "23" ]; - abiVersions = [ "armeabi-v7a" "x86" "x86_64"]; - useGoogleAPIs = true; - }; - - androidsdk_6_0_extras = androidsdk { - platformVersions = [ "23" ]; - abiVersions = [ "armeabi-v7a" "x86" "x86_64"]; - useGoogleAPIs = true; - useExtraSupportLibs = true; - useGooglePlayServices = true; - useInstantApps = true; - }; - - androidsdk_7_0 = androidsdk { - platformVersions = [ "24" ]; - abiVersions = [ "x86" "x86_64"]; - useGoogleAPIs = true; - }; - - androidsdk_7_0_extras = androidsdk { - platformVersions = [ "24" ]; - abiVersions = [ "x86" "x86_64"]; - useGoogleAPIs = true; - useExtraSupportLibs = true; - useGooglePlayServices = true; - useInstantApps = true; - }; - - androidsdk_7_1_1 = androidsdk { - platformVersions = [ "25" ]; - abiVersions = [ "x86" "x86_64"]; - useGoogleAPIs = true; - }; - - androidsdk_7_1_1_extras = androidsdk { - platformVersions = [ "25" ]; - abiVersions = [ "x86" "x86_64"]; - useGoogleAPIs = true; - useExtraSupportLibs = true; - useGooglePlayServices = true; - useInstantApps = true; - }; - - androidsdk_8_0 = androidsdk { - platformVersions = [ "26" ]; - abiVersions = [ "x86" "x86_64"]; - useGoogleAPIs = true; - }; - - androidsdk_8_0_extras = androidsdk { - platformVersions = [ "26" ]; - abiVersions = [ "x86" "x86_64"]; - useGoogleAPIs = true; - useExtraSupportLibs = true; - useGooglePlayServices = true; - useInstantApps = true; - }; - - androidsdk_8_1 = androidsdk { - platformVersions = [ "27" ]; - abiVersions = [ "x86" "x86_64"]; - useGoogleAPIs = true; - }; - - androidsdk_8_1_extras = androidsdk { - platformVersions = [ "27" ]; - abiVersions = [ "x86" "x86_64"]; - useGoogleAPIs = true; - useExtraSupportLibs = true; - useGooglePlayServices = true; - useInstantApps = true; - }; - - androidsdk_9_0 = androidsdk { - platformVersions = [ "28" ]; - abiVersions = [ "x86" "x86_64"]; - useGoogleAPIs = true; - }; - - androidsdk_9_0_extras = androidsdk { - platformVersions = [ "28" ]; - abiVersions = [ "x86" "x86_64"]; - useGoogleAPIs = true; - useExtraSupportLibs = true; - useGooglePlayServices = true; - useInstantApps = true; - }; - - androidsdk_latest = androidsdk_9_0; - - androidndk_10e = pkgs.callPackage ./androidndk.nix { - inherit (buildPackages) - unzip makeWrapper; - inherit (pkgs) - stdenv fetchurl zlib ncurses5 lib python3 libcxx - coreutils file findutils gawk gnugrep gnused jdk which; - inherit platformTools; - version = "10e"; - sha1s = { - x86_64-darwin = "6be8598e4ed3d9dd42998c8cb666f0ee502b1294"; - x86_64-linux = "f692681b007071103277f6edc6f91cb5c5494a32"; - }; - }; - - androidndk_16b = pkgs.callPackage ./androidndk.nix { - inherit (buildPackages) - unzip makeWrapper; - inherit (pkgs) - stdenv fetchurl zlib ncurses5 lib python3 libcxx - coreutils file findutils gawk gnugrep gnused jdk which; - inherit platformTools; - version = "16b"; - sha1s = { - x86_64-darwin = "e51e615449b98c716cf912057e2682e75d55e2de"; - x86_64-linux = "42aa43aae89a50d1c66c3f9fdecd676936da6128"; - }; - }; - - androidndk_17c = pkgs.callPackage ./androidndk.nix { - inherit (buildPackages) - unzip makeWrapper; - inherit (pkgs) - stdenv fetchurl zlib ncurses5 lib python3 libcxx - coreutils file findutils gawk gnugrep gnused jdk which; - inherit platformTools; - version = "17c"; - sha1s = { - x86_64-darwin = "f97e3d7711497e3b4faf9e7b3fa0f0da90bb649c"; - x86_64-linux = "12cacc70c3fd2f40574015631c00f41fb8a39048"; - }; - }; - - androidndk_18b = pkgs.callPackage ./androidndk.nix { - inherit (buildPackages) - unzip makeWrapper; - inherit (pkgs) - stdenv fetchurl zlib ncurses5 lib python3 libcxx - coreutils file findutils gawk gnugrep gnused jdk which; - inherit platformTools; - version = "18b"; - sha1s = { - x86_64-darwin = "98cb9909aa8c2dab32db188bbdc3ac6207e09440"; - x86_64-linux = "500679655da3a86aecf67007e8ab230ea9b4dd7b"; - }; - }; - androidndk = androidndk_18b; - - androidndk_r8e = import ./androidndk_r8e.nix { - inherit (buildPackages) - makeWrapper; - inherit (pkgs) - stdenv fetchurl zlib ncurses lib - coreutils file findutils gawk gnugrep gnused jdk which; - inherit platformTools; + composeAndroidPackages = import ./compose-android-packages.nix { + inherit (pkgs) stdenv fetchurl requireFile makeWrapper unzip autoPatchelfHook; + inherit pkgs pkgs_i686 licenseAccepted; }; buildApp = import ./build-app.nix { - inherit (pkgs) stdenv jdk ant gnumake gawk file which; - inherit androidsdk androidndk; + inherit (pkgs) stdenv jdk ant gnumake gawk; + inherit composeAndroidPackages; }; emulateApp = import ./emulate-app.nix { inherit (pkgs) stdenv; - inherit androidsdk; + inherit composeAndroidPackages; }; - androidndkPkgs_17c = import ./androidndk-pkgs.nix { - inherit (buildPackages) - makeWrapper; - inherit (pkgs) - lib stdenv - runCommand wrapBintoolsWith wrapCCWith; - # buildPackages.foo rather than buildPackages.buildPackages.foo would work, - # but for splicing messing up on infinite recursion for the variants we - # *dont't* use. Using this workaround, but also making a test to ensure - # these two really are the same. - buildAndroidndk = buildPackages.buildPackages.androidenv.androidndk_17c; - androidndk = androidndk_17c; - targetAndroidndkPkgs = targetPackages.androidenv.androidndkPkgs_17c; - }; - androidndkPkgs = androidndkPkgs_17c; - - androidndkPkgs_10e = import ./androidndk-pkgs.nix { - inherit (buildPackages) - makeWrapper; - inherit (pkgs) - lib stdenv - runCommand wrapBintoolsWith wrapCCWith; - # buildPackages.foo rather than buildPackages.buildPackages.foo would work, - # but for splicing messing up on infinite recursion for the variants we - # *dont't* use. Using this workaround, but also making a test to ensure - # these two really are the same. - buildAndroidndk = buildPackages.buildPackages.androidenv.androidndk_10e; - androidndk = androidndk_10e; - targetAndroidndkPkgs = targetPackages.androidenv.androidndkPkgs_10e; - }; - - buildGradleApp = import ./build-gradle-app.nix { - inherit (pkgs) stdenv jdk gnumake gawk file runCommand - which gradle fetchurl buildEnv; - inherit androidsdk androidndk; + androidPkgs_9_0 = composeAndroidPackages { + platformVersions = [ "28" ]; + abiVersions = [ "x86" "x86_64"]; }; } diff --git a/pkgs/development/mobile/androidenv/deploy-androidpackage.nix b/pkgs/development/mobile/androidenv/deploy-androidpackage.nix new file mode 100644 index 00000000000..97fd197cb7d --- /dev/null +++ b/pkgs/development/mobile/androidenv/deploy-androidpackage.nix @@ -0,0 +1,44 @@ +{stdenv, unzip}: +{package, os ? null, buildInputs ? [], patchInstructions ? "", meta ? {}, ...}@args: + +let + extraParams = removeAttrs args [ "package" "os" "buildInputs" "patchInstructions" ]; +in +stdenv.mkDerivation ({ + name = package.name + "-" + package.revision; + src = if os != null && builtins.hasAttr os package.archives then package.archives.${os} else package.archives.all; + buildInputs = [ unzip ] ++ buildInputs; + + # Most Android Zip packages have a root folder, but some don't. We unpack + # the zip file in a folder and we try to discover whether it has a single root + # folder. If this is the case, we adjust the current working folder. + unpackPhase = '' + mkdir extractedzip + cd extractedzip + unpackFile "$src" + if [ "$(find . -mindepth 1 -maxdepth 1 -type d | wc -l)" -eq 1 ] + then + cd "$(find . -mindepth 1 -maxdepth 1 -type d)" + fi + sourceRoot="$PWD" + ''; + + installPhase = '' + packageBaseDir=$out/libexec/android-sdk/${package.path} + mkdir -p $packageBaseDir + cd $packageBaseDir + cp -av $sourceRoot/* . + ${patchInstructions} + ''; + + # We never attempt to strip. This is not required since we're doing binary + # deployments. Moreover, some executables that have been patched with patchelf + # may not work any longer after they have been stripped. + dontStrip = true; + dontPatchELF = true; + dontAutoPatchelf = true; + + meta = { + description = package.displayName; + } // meta; +} // extraParams) diff --git a/pkgs/development/mobile/androidenv/emulate-app.nix b/pkgs/development/mobile/androidenv/emulate-app.nix index 2fc753c047a..01669024b3b 100644 --- a/pkgs/development/mobile/androidenv/emulate-app.nix +++ b/pkgs/development/mobile/androidenv/emulate-app.nix @@ -1,33 +1,41 @@ -{stdenv, androidsdk}: +{ composeAndroidPackages, stdenv }: { name, app ? null -, platformVersion ? "8", abiVersion ? "armeabi-v7a", useGoogleAPIs ? false +, platformVersion ? "16", abiVersion ? "armeabi-v7a", systemImageType ? "default", useGoogleAPIs ? false , enableGPU ? false, extraAVDFiles ? [] , package ? null, activity ? null , avdHomeDir ? null -}: +}@args: let - androidsdkComposition = androidsdk { - inherit useGoogleAPIs; + androidSdkArgNames = builtins.attrNames (builtins.functionArgs composeAndroidPackages); + extraParams = removeAttrs args ([ "name" ] ++ androidSdkArgNames); + + # Extract the parameters meant for the Android SDK + androidParams = { platformVersions = [ platformVersion ]; + includeEmulator = true; + includeSystemImages = true; + systemImageTypes = [ systemImageType ]; abiVersions = [ abiVersion ]; }; + + androidsdkComposition = (composeAndroidPackages androidParams).androidsdk; in stdenv.mkDerivation { inherit name; - + buildCommand = '' mkdir -p $out/bin - + cat > $out/bin/run-test-emulator << "EOF" #! ${stdenv.shell} -e - + # We need a TMPDIR if [ "$TMPDIR" = "" ] then export TMPDIR=/tmp fi - + ${if avdHomeDir == null then '' # Store the virtual devices somewhere else, instead of polluting a user's HOME directory export ANDROID_SDK_HOME=$(mktemp -d $TMPDIR/nix-android-vm-XXXX) @@ -35,20 +43,23 @@ stdenv.mkDerivation { mkdir -p "${avdHomeDir}" export ANDROID_SDK_HOME="${avdHomeDir}" ''} - + + # We need to specify the location of the Android SDK root folder + export ANDROID_SDK_ROOT=${androidsdkComposition}/libexec/android-sdk + # We have to look for a free TCP port - + echo "Looking for a free TCP port in range 5554-5584" >&2 - + for i in $(seq 5554 2 5584) do - if [ -z "$(${androidsdkComposition}/libexec/platform-tools/adb devices | grep emulator-$i)" ] + if [ -z "$(${androidsdkComposition}/libexec/android-sdk/platform-tools/adb devices | grep emulator-$i)" ] then port=$i break fi done - + if [ -z "$port" ] then echo "Unfortunately, the emulator port space is exhausted!" >&2 @@ -56,57 +67,57 @@ stdenv.mkDerivation { else echo "We have a free TCP port: $port" >&2 fi - + export ANDROID_SERIAL="emulator-$port" - + # Create a virtual android device for testing if it does not exists - - if [ "$(${androidsdkComposition}/libexec/tools/android list avd | grep 'Name: device')" = "" ] + ${androidsdkComposition}/libexec/android-sdk/tools/android list targets + + if [ "$(${androidsdkComposition}/libexec/android-sdk/tools/android list avd | grep 'Name: device')" = "" ] then # Create a virtual android device - yes "" | ${androidsdkComposition}/libexec/tools/android create avd -n device -t ${if useGoogleAPIs then "'Google Inc.:Google APIs:"+platformVersion+"'" else "android-"+platformVersion} $NIX_ANDROID_AVD_FLAGS - + yes "" | ${androidsdkComposition}/libexec/android-sdk/tools/android create avd -n device -t 1 --abi ${systemImageType}/${abiVersion} $NIX_ANDROID_AVD_FLAGS + ${stdenv.lib.optionalString enableGPU '' # Enable GPU acceleration echo "hw.gpu.enabled=yes" >> $ANDROID_SDK_HOME/.android/avd/device.avd/config.ini ''} - + ${stdenv.lib.concatMapStrings (extraAVDFile: '' ln -sf ${extraAVDFile} $ANDROID_SDK_HOME/.android/avd/device.avd '') extraAVDFiles} fi - + # Launch the emulator - ${androidsdkComposition}/libexec/tools/emulator -avd device -no-boot-anim -port $port $NIX_ANDROID_EMULATOR_FLAGS & + ${androidsdkComposition}/libexec/android-sdk/emulator/emulator -avd device -no-boot-anim -port $port $NIX_ANDROID_EMULATOR_FLAGS & # Wait until the device has completely booted - echo "Waiting until the emulator has booted the device and the package manager is ready..." >&2 - - ${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port wait-for-device - + + ${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port wait-for-device + echo "Device state has been reached" >&2 - - while [ -z "$(${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port shell getprop dev.bootcomplete | grep 1)" ] + + while [ -z "$(${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell getprop dev.bootcomplete | grep 1)" ] do sleep 5 done - + echo "dev.bootcomplete property is 1" >&2 - - #while [ -z "$(${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port shell getprop sys.boot_completed | grep 1)" ] + + #while [ -z "$(${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell getprop sys.boot_completed | grep 1)" ] #do #sleep 5 #done - + #echo "sys.boot_completed property is 1" >&2 - + echo "ready" >&2 - + ${stdenv.lib.optionalString (app != null) '' # Install the App through the debugger, if it has not been installed yet - - if [ -z "${package}" ] || [ "$(${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port shell pm list packages | grep package:${package})" = "" ] + + if [ -z "${package}" ] || [ "$(${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell pm list packages | grep package:${package})" = "" ] then if [ -d "${app}" ] then @@ -114,13 +125,13 @@ stdenv.mkDerivation { else appPath="${app}" fi - - ${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port install "$appPath" + + ${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port install "$appPath" fi - + # Start the application ${stdenv.lib.optionalString (package != null && activity != null) '' - ${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/${activity} + ${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/${activity} ''} ''} EOF diff --git a/pkgs/development/mobile/androidenv/emulator.nix b/pkgs/development/mobile/androidenv/emulator.nix new file mode 100644 index 00000000000..7ba74eb900f --- /dev/null +++ b/pkgs/development/mobile/androidenv/emulator.nix @@ -0,0 +1,20 @@ +{deployAndroidPackage, lib, package, os, autoPatchelfHook, makeWrapper, pkgs, pkgs_i686}: + +deployAndroidPackage { + inherit package os; + buildInputs = [ autoPatchelfHook makeWrapper ] + ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.xlibs.libX11 pkgs.xlibs.libXext pkgs.xlibs.libXdamage pkgs.xlibs.libXfixes pkgs.xlibs.libxcb pkgs.libGL pkgs.libpulseaudio pkgs.zlib pkgs.ncurses5 pkgs.stdenv.cc.cc pkgs_i686.glibc ]; + patchInstructions = lib.optionalString (os == "linux") '' + addAutoPatchelfSearchPath $packageBaseDir/lib + addAutoPatchelfSearchPath $packageBaseDir/lib64 + addAutoPatchelfSearchPath $packageBaseDir/lib64/qt/lib + autoPatchelf $out + + # Wrap emulator so that it can load libdbus-1.so at runtime and it no longer complains about XKB keymaps + wrapProgram $out/libexec/android-sdk/emulator/emulator \ + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.dbus ]} \ + --set QT_XKB_CONFIG_ROOT ${pkgs.xkeyboard_config}/share/X11/xkb \ + --set QTCOMPOSE ${pkgs.xorg.libX11.out}/share/X11/locale + ''; + dontMoveLib64 = true; +} diff --git a/pkgs/development/mobile/androidenv/fetch.sh b/pkgs/development/mobile/androidenv/fetch.sh deleted file mode 100755 index ef15e8eaeda..00000000000 --- a/pkgs/development/mobile/androidenv/fetch.sh +++ /dev/null @@ -1,14 +0,0 @@ -#! /usr/bin/env nix-shell -#! nix-shell -i bash --pure -p curl libxslt - -# we skip the intel addons, as they are Windows+osX only -# we skip the default sys-img (arm?) because it is empty -curl -o repository-11.xml https://dl.google.com/android/repository/repository-11.xml -curl -o addon.xml https://dl.google.com/android/repository/addon.xml -curl -o sys-img.xml https://dl.google.com/android/repository/sys-img/android/sys-img.xml - -./generate-addons.sh -./generate-platforms.sh -./generate-sysimages.sh -./generate-sources.sh -./generate-tools.sh diff --git a/pkgs/development/mobile/androidenv/generate-addons.sh b/pkgs/development/mobile/androidenv/generate-addons.sh deleted file mode 100755 index 9b2cf34eabc..00000000000 --- a/pkgs/development/mobile/androidenv/generate-addons.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -e - -xsltproc generate-addons.xsl addon.xml > addons.nix diff --git a/pkgs/development/mobile/androidenv/generate-addons.xsl b/pkgs/development/mobile/androidenv/generate-addons.xsl deleted file mode 100644 index d32ad717cd7..00000000000 --- a/pkgs/development/mobile/androidenv/generate-addons.xsl +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - -# This file is generated from generate-addons.sh. DO NOT EDIT. -# Execute generate-addons.sh or fetch.sh to update the file. -{stdenv, fetchurl, unzip}: - -let - buildGoogleApis = args: - stdenv.mkDerivation (args // { - buildInputs = [ unzip ]; - buildCommand = '' - mkdir -p $out - cd $out - unzip $src - ''; - }); -in -{ - - google_apis_ = buildGoogleApis { - name = "-"; - src = fetchurl { - url = https://dl.google.com/android/repository/; - sha1 = ""; - }; - meta = { - description = ""; - url = ; - }; - }; - - - - android_support_extra = buildGoogleApis { - name = "android_support_extra"; - src = fetchurl { - url = https://dl.google.com/android/repository/; - sha1 = ""; - }; - meta = { - description = "Android Support Library"; - url = http://developer.android.com/; - }; - }; - - google_play_services = buildGoogleApis { - name = "google_play_services"; - src = fetchurl { - url = https://dl.google.com/android/repository/; - sha1 = ""; - }; - meta = { - description = "Google Play services client library and sample code"; - url = http://developer.android.com/; - }; - }; - - - - - instant_apps = buildGoogleApis { - name = "instant_apps_sdk"; - src = fetchurl { - url = https://dl.google.com/android/repository/; - sha1 = ""; - }; - meta = { - description = "Android Instant Apps Development SDK"; - url = "https://developer.android.com/"; - }; - }; - - -} - - - diff --git a/pkgs/development/mobile/androidenv/generate-platforms.sh b/pkgs/development/mobile/androidenv/generate-platforms.sh deleted file mode 100755 index ce89f6a8036..00000000000 --- a/pkgs/development/mobile/androidenv/generate-platforms.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -e - -xsltproc --stringparam os linux generate-platforms.xsl repository-11.xml > platforms-linux.nix -xsltproc --stringparam os macosx generate-platforms.xsl repository-11.xml > platforms-macosx.nix diff --git a/pkgs/development/mobile/androidenv/generate-platforms.xsl b/pkgs/development/mobile/androidenv/generate-platforms.xsl deleted file mode 100644 index 54a165d21e4..00000000000 --- a/pkgs/development/mobile/androidenv/generate-platforms.xsl +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - https://dl.google.com/android/repository/ - - - - - - -# This file is generated from generate-platforms.sh. DO NOT EDIT. -# Execute generate-platforms.sh or fetch.sh to update the file. -{stdenv, fetchurl, unzip}: - -let - buildPlatform = args: - stdenv.mkDerivation (args // { - buildInputs = [ unzip ]; - buildCommand = '' - mkdir -p $out - cd $out - unzip $src - ''; - }); -in -{ - - platform_ = buildPlatform { - name = "android-platform-"; - src = fetchurl { - url = ; - sha1 = ""; - }; - meta = { - description = ""; - homepage = ; - }; - }; - -} - - diff --git a/pkgs/development/mobile/androidenv/generate-sources.sh b/pkgs/development/mobile/androidenv/generate-sources.sh deleted file mode 100755 index 861fbbf9d2e..00000000000 --- a/pkgs/development/mobile/androidenv/generate-sources.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -e - -xsltproc generate-sources.xsl repository-11.xml > sources.nix diff --git a/pkgs/development/mobile/androidenv/generate-sources.xsl b/pkgs/development/mobile/androidenv/generate-sources.xsl deleted file mode 100644 index ad76369b2be..00000000000 --- a/pkgs/development/mobile/androidenv/generate-sources.xsl +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - https://dl.google.com/android/repository/ - - - - - - -# This file is generated from generate-sources.sh. DO NOT EDIT. -# Execute generate-sources.sh or fetch.sh to update the file. -{stdenv, fetchurl, unzip}: - -let - buildSource = args: - stdenv.mkDerivation (args // { - buildInputs = [ unzip ]; - buildCommand = '' - mkdir -p $out - cd $out - unzip $src - ''; - }); -in -{ - - source_ = buildSource { - name = "android-source-"; - src = fetchurl { - url = ; - sha1 = ""; - }; - meta = { - description = "Source code for Android API "; - }; - }; - -} - - diff --git a/pkgs/development/mobile/androidenv/generate-sysimages.sh b/pkgs/development/mobile/androidenv/generate-sysimages.sh deleted file mode 100755 index 586381e8ba6..00000000000 --- a/pkgs/development/mobile/androidenv/generate-sysimages.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -e - -cat > sysimages.nix << "EOF" -# This file is generated from generate-sysimages.sh. DO NOT EDIT. -# Execute generate-sysimages.sh or fetch.sh to update the file. -{stdenv, fetchurl, unzip}: - -let - buildSystemImage = args: - stdenv.mkDerivation (args // { - buildInputs = [ unzip ]; - buildCommand = '' - mkdir -p $out - cd $out - unzip $src - ''; - }); -in -{ -EOF - -xsltproc generate-sysimages.xsl sys-img.xml >> sysimages.nix - -cat >> sysimages.nix << "EOF" -} -EOF diff --git a/pkgs/development/mobile/androidenv/generate-sysimages.xsl b/pkgs/development/mobile/androidenv/generate-sysimages.xsl deleted file mode 100644 index 302c7d9deea..00000000000 --- a/pkgs/development/mobile/androidenv/generate-sysimages.xsl +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - sysimg__ = buildSystemImage { - name = "sysimg--"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/; - sha1 = ""; - }; - }; - - - diff --git a/pkgs/development/mobile/androidenv/generate-tools.sh b/pkgs/development/mobile/androidenv/generate-tools.sh deleted file mode 100755 index 5799894fd45..00000000000 --- a/pkgs/development/mobile/androidenv/generate-tools.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -e - -xsltproc --stringparam os linux generate-tools.xsl repository-11.xml > build-tools-srcs-linux.nix -xsltproc --stringparam os macosx generate-tools.xsl repository-11.xml > build-tools-srcs-macosx.nix diff --git a/pkgs/development/mobile/androidenv/generate-tools.xsl b/pkgs/development/mobile/androidenv/generate-tools.xsl deleted file mode 100644 index 814bad12988..00000000000 --- a/pkgs/development/mobile/androidenv/generate-tools.xsl +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - https://dl.google.com/android/repository/ - - - - - - -# This file is generated from generate-tools.sh. DO NOT EDIT. -# Execute generate-tools.sh or fetch.sh to update the file. -{ fetchurl }: - -{ - - - - - - v___rc = { - version = "..-rc"; - src = fetchurl { - url = ; - sha1 = ""; - }; - }; - -} - - diff --git a/pkgs/development/mobile/androidenv/generate.sh b/pkgs/development/mobile/androidenv/generate.sh new file mode 100644 index 00000000000..1c55734f5f4 --- /dev/null +++ b/pkgs/development/mobile/androidenv/generate.sh @@ -0,0 +1,16 @@ +#!/bin/sh -e + +# Convert base packages +curl https://dl.google.com/android/repository/repository2-1.xml -o xml/repository2-1.xml +xsltproc convertpackages.xsl xml/repository2-1.xml > generated/packages.nix + +# Convert system images +for img in android android-tv android-wear android-wear-cn google_apis google_apis_playstore +do + curl https://dl.google.com/android/repository/sys-img/$img/sys-img2-1.xml -o xml/$img-sys-img2-1.xml + xsltproc --stringparam imageType $img convertsystemimages.xsl xml/$img-sys-img2-1.xml > generated/system-images-$img.nix +done + +# Convert system addons +curl https://dl.google.com/android/repository/addon2-1.xml -o xml/addon2-1.xml +xsltproc convertaddons.xsl xml/addon2-1.xml > generated/addons.nix diff --git a/pkgs/development/mobile/androidenv/generated/addons.nix b/pkgs/development/mobile/androidenv/generated/addons.nix new file mode 100644 index 00000000000..d902b111665 --- /dev/null +++ b/pkgs/development/mobile/androidenv/generated/addons.nix @@ -0,0 +1,1145 @@ + +{fetchurl}: + +{ + addons = { + + "10"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-10"; + revision = "10"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-10_r02.zip; + sha1 = "cc0711857c881fa7534f90cf8cc09b8fe985484d"; + }; + + }; + }; + + "11"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-11"; + revision = "11"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-11_r01.zip; + sha1 = "5eab5e81addee9f3576d456d205208314b5146a5"; + }; + + }; + }; + + "12"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-12"; + revision = "12"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-12_r01.zip; + sha1 = "e9999f4fa978812174dfeceec0721c793a636e5d"; + }; + + }; + }; + + "13"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-13"; + revision = "13"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-13_r01.zip; + sha1 = "3b153edd211c27dc736c893c658418a4f9041417"; + }; + + }; + }; + + "14"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-14"; + revision = "14"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-14_r02.zip; + sha1 = "f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39"; + }; + + }; + }; + + "15"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-15"; + revision = "15"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-15_r03.zip; + sha1 = "d0d2bf26805eb271693570a1aaec33e7dc3f45e9"; + }; + + }; + }; + + "16"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-16"; + revision = "16"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-16_r04.zip; + sha1 = "ee6acf1b01020bfa8a8e24725dbc4478bee5e792"; + }; + + }; + }; + + "17"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-17"; + revision = "17"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-17_r04.zip; + sha1 = "a076be0677f38df8ca5536b44dfb411a0c808c4f"; + }; + + }; + }; + + "18"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-18"; + revision = "18"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-18_r04.zip; + sha1 = "6109603409debdd40854d4d4a92eaf8481462c8b"; + }; + + }; + }; + + "19"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-19"; + revision = "19"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-19_r20.zip; + sha1 = "5b933abe830b2f25b4c0f171d45e9e0651e56311"; + }; + + }; + }; + + "21"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-21"; + revision = "21"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-21_r01.zip; + sha1 = "66a754efb24e9bb07cc51648426443c7586c9d4a"; + }; + + }; + }; + + "22"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-22"; + revision = "22"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-22_r01.zip; + sha1 = "5def0f42160cba8acff51b9c0c7e8be313de84f5"; + }; + + }; + }; + + "23"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-23"; + revision = "23"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-23_r01.zip; + sha1 = "04c5cc1a7c88967250ebba9561d81e24104167db"; + }; + + }; + }; + + "24"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-24"; + revision = "24"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-24_r1.zip; + sha1 = "31361c2868f27343ee917fbd259c1463821b6145"; + }; + + }; + }; + + "3"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-3"; + revision = "3"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-3-r03.zip; + sha1 = "1f92abf3a76be66ae8032257fc7620acbd2b2e3a"; + }; + + }; + }; + + "4"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-4"; + revision = "4"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-4_r02.zip; + sha1 = "9b6e86d8568558de4d606a7debc4f6049608dbd0"; + }; + + }; + }; + + "5"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-5"; + revision = "5"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-5_r01.zip; + sha1 = "46eaeb56b645ee7ffa24ede8fa17f3df70db0503"; + }; + + }; + }; + + "6"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-6"; + revision = "6"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-6_r01.zip; + sha1 = "5ff545d96e031e09580a6cf55713015c7d4936b2"; + }; + + }; + }; + + "7"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-7"; + revision = "7"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-7_r01.zip; + sha1 = "2e7f91e0fe34fef7f58aeced973c6ae52361b5ac"; + }; + + }; + }; + + "8"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-8"; + revision = "8"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-8_r02.zip; + sha1 = "3079958e7ec87222cac1e6b27bc471b27bf2c352"; + }; + + }; + }; + + "9"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-9"; + revision = "9"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-9_r02.zip; + sha1 = "78664645a1e9accea4430814f8694291a7f1ea5d"; + }; + + }; + }; + + "12"."google_tv_addon" = { + name = "google_tv_addon"; + path = "add-ons/addon-google_tv_addon-google-12"; + revision = "12"; + displayName = "Google TV Addon"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_tv-12_r02.zip; + sha1 = "92128a12e7e8b0fb5bac59153d7779b717e7b840"; + }; + + }; + }; + + "13"."google_tv_addon" = { + name = "google_tv_addon"; + path = "add-ons/addon-google_tv_addon-google-13"; + revision = "13"; + displayName = "Google TV Addon"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_tv-13_r01.zip; + sha1 = "b73f7c66011ac8180b44aa4e83b8d78c66ea9a09"; + }; + + }; + }; + + "25"."google_apis" = { + name = "google_apis"; + path = "add-ons/addon-google_apis-google-25"; + revision = "25"; + displayName = "Google APIs"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_apis-25_r1.zip; + sha1 = "550e83eea9513ab11c44919ac6da54b36084a9f3"; + }; + + }; + }; + + }; + + extras = { + + + "extras;android;gapid;1" = { + name = "extras-android-gapid-1"; + path = "extras/android/gapid/1"; + revision = "1.0.3"; + displayName = "GPU Debugging tools"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/gapid_r01_linux.zip; + sha1 = "7c9ef7544cf0aea030bcc29bd8e12c04fd53e653"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/gapid_r01_osx.zip; + sha1 = "597eb271349d890566274861eba2770a84ee4c69"; + }; + + }; + }; + + + "extras;android;gapid;3" = { + name = "extras-android-gapid-3"; + path = "extras/android/gapid/3"; + revision = "3.1.0"; + displayName = "GPU Debugging tools"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/gapid_2994895_linux.zip; + sha1 = "e40371ba191f617e4e79bc760d0ab2948ba8cf46"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/gapid_2994895_osx.zip; + sha1 = "ad86a2350b7b9908300277bf03d41649659de384"; + }; + + }; + }; + + + "extras;android;m2repository" = { + name = "extras-android-m2repository"; + path = "extras/android/m2repository"; + revision = "47.0.0"; + displayName = "Android Support Repository"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android_m2repository_r47.zip; + sha1 = "a0d22beacc106a6977321f2b07d692ce4979e96a"; + }; + + }; + }; + + + "extras;google;admob_ads_sdk" = { + name = "extras-google-admob_ads_sdk"; + path = "extras/google/admob_ads_sdk"; + revision = "11"; + displayName = "Google AdMob Ads SDK"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/GoogleAdMobAdsSdkAndroid-6.4.1.zip; + sha1 = "0102859d9575baa0bf4fd5eb422af2ad0fe6cb82"; + }; + + }; + }; + + + "extras;google;analytics_sdk_v2" = { + name = "extras-google-analytics_sdk_v2"; + path = "extras/google/analytics_sdk_v2"; + revision = "3"; + displayName = "Google Analytics App Tracking SDK"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/GoogleAnalyticsAndroid_2.0beta5.zip; + sha1 = "dc14026bf0ce78315cb5dd00552607de0894de83"; + }; + + }; + }; + + + "extras;google;auto" = { + name = "extras-google-auto"; + path = "extras/google/auto"; + revision = "1.1"; + displayName = "Android Auto Desktop Head Unit emulator"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/desktop-head-unit-linux_r01.1.zip; + sha1 = "202a6e1b3009a0eb815f8c672d2d5b3717de6169"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/desktop-head-unit-macosx_r01.1.zip; + sha1 = "8179cbb3914493ebc5eb65b731cba061582f2e84"; + }; + + }; + }; + + + "extras;google;gcm" = { + name = "extras-google-gcm"; + path = "extras/google/gcm"; + revision = "3"; + displayName = "Google Cloud Messaging for Android Library"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/gcm_r03.zip; + sha1 = "ad066fd0dc7fc99d8aadac09c65a3c2519fbc7bf"; + }; + + }; + }; + + + "extras;google;google_play_services" = { + name = "extras-google-google_play_services"; + path = "extras/google/google_play_services"; + revision = "49"; + displayName = "Google Play services"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_play_services_v16_1_rc09.zip; + sha1 = "f95bf19634e2ab0430923247fe2c50246432d2e9"; + }; + + }; + }; + + + "extras;google;google_play_services_froyo" = { + name = "extras-google-google_play_services_froyo"; + path = "extras/google/google_play_services_froyo"; + revision = "12"; + displayName = "Google Play services for Froyo"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_play_services_3265130_r12.zip; + sha1 = "92558dbc380bba3d55d0ec181167fb05ce7c79d9"; + }; + + }; + }; + + + "extras;google;instantapps" = { + name = "extras-google-instantapps"; + path = "extras/google/instantapps"; + revision = "1.5.0"; + displayName = "Google Play Instant Development SDK"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/iasdk-1.5.0-1538000167.zip; + sha1 = "6c282b9c686e819fe7f5ac8f2249d2479acb63b4"; + }; + + }; + }; + + + "extras;google;m2repository" = { + name = "extras-google-m2repository"; + path = "extras/google/m2repository"; + revision = "58"; + displayName = "Google Repository"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/google_m2repository_gms_v11_3_rc05_wear_2_0_5.zip; + sha1 = "05086add9e3a0eb1b67111108d7757a4337c3f10"; + }; + + }; + }; + + + "extras;google;market_apk_expansion" = { + name = "extras-google-market_apk_expansion"; + path = "extras/google/market_apk_expansion"; + revision = "1"; + displayName = "Google Play APK Expansion library"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/market_apk_expansion-r03.zip; + sha1 = "5305399dc1a56814e86b8459ce24871916f78b8c"; + }; + + }; + }; + + + "extras;google;market_licensing" = { + name = "extras-google-market_licensing"; + path = "extras/google/market_licensing"; + revision = "1"; + displayName = "Google Play Licensing Library"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/market_licensing-r02.zip; + sha1 = "355e8dc304a92a5616db235af8ee7bd554356254"; + }; + + }; + }; + + + "extras;google;simulators" = { + name = "extras-google-simulators"; + path = "extras/google/simulators"; + revision = "1"; + displayName = "Android Auto API Simulators"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/simulator_r01.zip; + sha1 = "4fb5344e34e8faab4db18af07dace44c50db26a7"; + }; + + }; + }; + + + "extras;google;usb_driver" = { + name = "extras-google-usb_driver"; + path = "extras/google/usb_driver"; + revision = "11"; + displayName = "Google USB Driver"; + archives = { + + }; + }; + + + "extras;google;webdriver" = { + name = "extras-google-webdriver"; + path = "extras/google/webdriver"; + revision = "2"; + displayName = "Google Web Driver"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/webdriver_r02.zip; + sha1 = "13f3a3b2670a5fc04a7342861644be9a01b07e38"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0"; + revision = "1"; + displayName = "Solver for ConstraintLayout 1.0.0"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0.zip; + sha1 = "b621b9d5adf273bb0725948589863e60e96eeaf1"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha2" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha2"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha2"; + revision = "1"; + displayName = "com.android.support.constraint:constraint-layout-solver:1.0.0-alpha2"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha2.zip; + sha1 = "2e7fd5d8d158f4517ba52af824f84466ffede879"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha3" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha3"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha3"; + revision = "1"; + displayName = "com.android.support.constraint:constraint-layout-solver:1.0.0-alpha3"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha3.zip; + sha1 = "cd1cbbb2621c9034b835e9b69243dc558cdee4dc"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha4" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha4"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha4"; + revision = "1"; + displayName = "com.android.support.constraint:constraint-layout-solver:1.0.0-alpha4"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha4.zip; + sha1 = "2aa2aceecc6ba172742d0af0b43f11d03924eeb8"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha5" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha5"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha5"; + revision = "1"; + displayName = "Solver for ConstraintLayout 1.0.0-alpha5"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha5.zip; + sha1 = "7ba6c82c7645ac023cf45c1e27a6ae3added308a"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha6" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha6"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha6"; + revision = "1"; + displayName = "Solver for ConstraintLayout 1.0.0-alpha6"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha6.zip; + sha1 = "b7e390f940704f4f78e1eaa5f5a5dba3bc3e81ad"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha7" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha7"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha7"; + revision = "1"; + displayName = "Solver for ConstraintLayout 1.0.0-alpha7"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha7.zip; + sha1 = "f08be3c306bf878de31c465e46a266c52014a13f"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha8" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha8"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha8"; + revision = "1"; + displayName = "Solver for ConstraintLayout 1.0.0-alpha8"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha8.zip; + sha1 = "cd13d16a8f0198c1d6040ec8b1d0d4e5bb7feb6a"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha9" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha9"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha9"; + revision = "1"; + displayName = "Solver for ConstraintLayout 1.0.0-alpha9"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha9.zip; + sha1 = "2c52ddd883d83230a17042b8f4ba03669f0f5f40"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-beta1"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta1"; + revision = "1"; + displayName = "Solver for ConstraintLayout 1.0.0-beta1"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-beta1.zip; + sha1 = "042c25575e7650e96f0f5f5d1d3c54ed38eb821a"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta2" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-beta2"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta2"; + revision = "1"; + displayName = "Solver for ConstraintLayout 1.0.0-beta2"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-beta2.zip; + sha1 = "28492fd42b20ae1586591ff906556d459cfdaae8"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta3" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-beta3"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta3"; + revision = "1"; + displayName = "Solver for ConstraintLayout 1.0.0-beta3"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-beta3.zip; + sha1 = "268e763fa64bd217d8d830e59ce76be19aaba631"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-beta4"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta4"; + revision = "1"; + displayName = "Solver for ConstraintLayout 1.0.0-beta4"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-beta4.zip; + sha1 = "2213bf37e7a2869db2635895b8e90ca6841e79d2"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta5" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-beta5"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta5"; + revision = "1"; + displayName = "Solver for ConstraintLayout 1.0.0-beta5"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-beta5.zip; + sha1 = "3918cfef73e64048d0b3e048068e208b414e7e91"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.1"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.1"; + revision = "1"; + displayName = "Solver for ConstraintLayout 1.0.1"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.1.zip; + sha1 = "76f8823def9a6da8954a54737762a6820bc1d043"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.2"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.2"; + revision = "1"; + displayName = "Solver for ConstraintLayout 1.0.2"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.2.zip; + sha1 = "96d7ff669f0e808e9833b2c2e320702826ccc8be"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0"; + revision = "1"; + displayName = "ConstraintLayout for Android 1.0.0"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0.zip; + sha1 = "70acf99689b933bc6735645d5c3d92b91954b6cb"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha2" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha2"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha2"; + revision = "1"; + displayName = "com.android.support.constraint:constraint-layout:1.0.0-alpha2"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha2.zip; + sha1 = "2edb4fc33745cc9d69d985f29fd48fefcd0aa9f0"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha3" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha3"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha3"; + revision = "1"; + displayName = "com.android.support.constraint:constraint-layout:1.0.0-alpha3"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha3.zip; + sha1 = "1a26fb79d98421f315ead7ad15be167727533026"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha4" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha4"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha4"; + revision = "1"; + displayName = "com.android.support.constraint:constraint-layout:1.0.0-alpha4"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha4.zip; + sha1 = "645a9be1f0c1177301e71cd0ddccf1dd67c554fe"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha5" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha5"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha5"; + revision = "1"; + displayName = "ConstraintLayout for Android 1.0.0-alpha5"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha5.zip; + sha1 = "24f78daf491dcad74bcb2acfa79ea2d8e906f53b"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha6" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha6"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha6"; + revision = "1"; + displayName = "ConstraintLayout for Android 1.0.0-alpha6"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha6.zip; + sha1 = "cb60e9ad4f6d3cc3c5b1b98cd3610c8d3204e651"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha7" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha7"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha7"; + revision = "1"; + displayName = "ConstraintLayout for Android 1.0.0-alpha7"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha7.zip; + sha1 = "17ac210c85d24d7e8ace62847f05e4e45b640b73"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha8" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha8"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha8"; + revision = "1"; + displayName = "ConstraintLayout for Android 1.0.0-alpha8"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha8.zip; + sha1 = "7912ba03b04831f918f523648f118c4ee4da7604"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha9" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha9"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha9"; + revision = "1"; + displayName = "ConstraintLayout for Android 1.0.0-alpha9"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha9.zip; + sha1 = "89c2bbc005d4731c7a830a4d5aa98dae121a46a4"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta1" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-beta1"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-beta1"; + revision = "1"; + displayName = "ConstraintLayout for Android 1.0.0-beta1"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-beta1.zip; + sha1 = "11f2f5cec4ff02986bad75435e5be77b704b4c64"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta2" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-beta2"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-beta2"; + revision = "1"; + displayName = "ConstraintLayout for Android 1.0.0-beta2"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-beta2.zip; + sha1 = "623939865ede2e5c2c975dc55963e0d182bcce95"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta3" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-beta3"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-beta3"; + revision = "1"; + displayName = "ConstraintLayout for Android 1.0.0-beta3"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-beta3.zip; + sha1 = "d78bb6a8ce92005fb1e4ed55d892a65b4258c60b"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-beta4"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-beta4"; + revision = "1"; + displayName = "ConstraintLayout for Android 1.0.0-beta4"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-beta4.zip; + sha1 = "dc60844aab93a09a54a3c107685a77b18d7c1c39"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta5" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-beta5"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-beta5"; + revision = "1"; + displayName = "ConstraintLayout for Android 1.0.0-beta5"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-beta5.zip; + sha1 = "4660f6c7a576ea1364f0c3225db71c29ca660d9a"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.1"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.1"; + revision = "1"; + displayName = "ConstraintLayout for Android 1.0.1"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.1.zip; + sha1 = "342b0894b8651fff37586f80f383733e97aba9f9"; + }; + + }; + }; + + + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2" = { + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.2"; + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.2"; + revision = "1"; + displayName = "ConstraintLayout for Android 1.0.2"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.2.zip; + sha1 = "3d9688a50fe0ed7348275f85d1b02278f616d8a4"; + }; + + }; + }; + + }; +} + \ No newline at end of file diff --git a/pkgs/development/mobile/androidenv/generated/packages.nix b/pkgs/development/mobile/androidenv/generated/packages.nix new file mode 100644 index 00000000000..db1f7f1b8d3 --- /dev/null +++ b/pkgs/development/mobile/androidenv/generated/packages.nix @@ -0,0 +1,1910 @@ + +{fetchurl}: + +{ + + "build-tools"."17.0.0" = { + + name = "build-tools"; + path = "build-tools/17.0.0"; + revision = "17.0.0"; + displayName = "Android SDK Build-Tools 17"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r17-linux.zip; + sha1 = "2c2872bc3806aabf16a12e3959c2183ddc866e6d"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r17-macosx.zip; + sha1 = "602ee709be9dbb8f179b1e4075148a57f9419930"; + }; + + }; + }; + + "build-tools"."18.0.1" = { + + name = "build-tools"; + path = "build-tools/18.0.1"; + revision = "18.0.1"; + displayName = "Android SDK Build-Tools 18.0.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r18.0.1-linux.zip; + sha1 = "f11618492b0d2270c332325d45d752d3656a9640"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r18.0.1-macosx.zip; + sha1 = "d84f5692fb44d60fc53e5b2507cebf9f24626902"; + }; + + }; + }; + + "build-tools"."18.1.0" = { + + name = "build-tools"; + path = "build-tools/18.1.0"; + revision = "18.1.0"; + displayName = "Android SDK Build-Tools 18.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r18.1-linux.zip; + sha1 = "f314a0599e51397f0886fe888b50dd98f2f050d8"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r18.1-macosx.zip; + sha1 = "16ddb299b8b43063e5bb3387ec17147c5053dfd8"; + }; + + }; + }; + + "build-tools"."18.1.1" = { + + name = "build-tools"; + path = "build-tools/18.1.1"; + revision = "18.1.1"; + displayName = "Android SDK Build-Tools 18.1.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r18.1.1-linux.zip; + sha1 = "68c9acbfc0cec2d51b19efaed39831a17055d998"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r18.1.1-macosx.zip; + sha1 = "a9d9d37f6ddf859e57abc78802a77aaa166e48d4"; + }; + + }; + }; + + "build-tools"."19.0.0" = { + + name = "build-tools"; + path = "build-tools/19.0.0"; + revision = "19.0.0"; + displayName = "Android SDK Build-Tools 19"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r19-linux.zip; + sha1 = "55c1a6cf632e7d346f0002b275ec41fd3137fd83"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r19-macosx.zip; + sha1 = "86ec1c12db1bc446b7bcaefc5cc14eb361044e90"; + }; + + }; + }; + + "build-tools"."19.0.1" = { + + name = "build-tools"; + path = "build-tools/19.0.1"; + revision = "19.0.1"; + displayName = "Android SDK Build-Tools 19.0.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r19.0.1-linux.zip; + sha1 = "18d2312dc4368858914213087f4e61445aca4517"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r19.0.1-macosx.zip; + sha1 = "efaf50fb19a3edb8d03efbff76f89a249ad2920b"; + }; + + }; + }; + + "build-tools"."19.0.2" = { + + name = "build-tools"; + path = "build-tools/19.0.2"; + revision = "19.0.2"; + displayName = "Android SDK Build-Tools 19.0.2"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r19.0.2-linux.zip; + sha1 = "a03a6bdea0091aea32e1b35b90a7294c9f04e3dd"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r19.0.2-macosx.zip; + sha1 = "145bc43065d45f756d99d87329d899052b9a9288"; + }; + + }; + }; + + "build-tools"."19.0.3" = { + + name = "build-tools"; + path = "build-tools/19.0.3"; + revision = "19.0.3"; + displayName = "Android SDK Build-Tools 19.0.3"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r19.0.3-linux.zip; + sha1 = "c2d6055478e9d2d4fba476ee85f99181ddd1160c"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r19.0.3-macosx.zip; + sha1 = "651cf8754373b2d52e7f6aab2c52eabffe4e9ea4"; + }; + + }; + }; + + "build-tools"."19.1.0" = { + + name = "build-tools"; + path = "build-tools/19.1.0"; + revision = "19.1.0"; + displayName = "Android SDK Build-Tools 19.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r19.1-linux.zip; + sha1 = "1ff20ac15fa47a75d00346ec12f180d531b3ca89"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r19.1-macosx.zip; + sha1 = "0d11aae3417de1efb4b9a0e0a7855904a61bcec1"; + }; + + }; + }; + + "build-tools"."20.0.0" = { + + name = "build-tools"; + path = "build-tools/20.0.0"; + revision = "20.0.0"; + displayName = "Android SDK Build-Tools 20"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r20-linux.zip; + sha1 = "b688905526a5584d1327a662d871a635ff502758"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r20-macosx.zip; + sha1 = "1240f629411c108a714c4ddd756937c7fab93f83"; + }; + + }; + }; + + "build-tools"."21.0.0" = { + + name = "build-tools"; + path = "build-tools/21.0.0"; + revision = "21.0.0"; + displayName = "Android SDK Build-Tools 21"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r21-linux.zip; + sha1 = "4933328fdeecbd554a29528f254f4993468e1cf4"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r21-macosx.zip; + sha1 = "9bef7989b51436bd4e5114d8a0330359f077cbfa"; + }; + + }; + }; + + "build-tools"."21.0.1" = { + + name = "build-tools"; + path = "build-tools/21.0.1"; + revision = "21.0.1"; + displayName = "Android SDK Build-Tools 21.0.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r21.0.1-linux.zip; + sha1 = "e573069eea3e5255e7a65bedeb767f4fd0a5f49a"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r21.0.1-macosx.zip; + sha1 = "b60c8f9b810c980abafa04896706f3911be1ade7"; + }; + + }; + }; + + "build-tools"."21.0.2" = { + + name = "build-tools"; + path = "build-tools/21.0.2"; + revision = "21.0.2"; + displayName = "Android SDK Build-Tools 21.0.2"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r21.0.2-linux.zip; + sha1 = "e1236ab8897b62b57414adcf04c132567b2612a5"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r21.0.2-macosx.zip; + sha1 = "f17471c154058f3734729ef3cc363399b1cd3de1"; + }; + + }; + }; + + "build-tools"."21.1.0" = { + + name = "build-tools"; + path = "build-tools/21.1.0"; + revision = "21.1.0"; + displayName = "Android SDK Build-Tools 21.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r21.1-linux.zip; + sha1 = "b7455e543784d52a8925f960bc880493ed1478cb"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r21.1-macosx.zip; + sha1 = "df619356c2359aa5eacdd48699d15b335d9bd246"; + }; + + }; + }; + + "build-tools"."21.1.1" = { + + name = "build-tools"; + path = "build-tools/21.1.1"; + revision = "21.1.1"; + displayName = "Android SDK Build-Tools 21.1.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r21.1.1-linux.zip; + sha1 = "1c712ee3a1ba5a8b0548f9c32f17d4a0ddfd727d"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r21.1.1-macosx.zip; + sha1 = "836a146eab0504aa9387a5132e986fe7c7381571"; + }; + + }; + }; + + "build-tools"."21.1.2" = { + + name = "build-tools"; + path = "build-tools/21.1.2"; + revision = "21.1.2"; + displayName = "Android SDK Build-Tools 21.1.2"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r21.1.2-linux.zip; + sha1 = "5e35259843bf2926113a38368b08458735479658"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r21.1.2-macosx.zip; + sha1 = "e7c906b4ba0eea93b32ba36c610dbd6b204bff48"; + }; + + }; + }; + + "build-tools"."22.0.0" = { + + name = "build-tools"; + path = "build-tools/22.0.0"; + revision = "22.0.0"; + displayName = "Android SDK Build-Tools 22"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r22-linux.zip; + sha1 = "a8a1619dd090e44fac957bce6842e62abf87965b"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r22-macosx.zip; + sha1 = "af95429b24088d704bc5db9bd606e34ac1b82c0d"; + }; + + }; + }; + + "build-tools"."22.0.1" = { + + name = "build-tools"; + path = "build-tools/22.0.1"; + revision = "22.0.1"; + displayName = "Android SDK Build-Tools 22.0.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r22.0.1-linux.zip; + sha1 = "da8b9c5c3ede39298e6cf0283c000c2ee9029646"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r22.0.1-macosx.zip; + sha1 = "53dad7f608e01d53b17176ba11165acbfccc5bbf"; + }; + + }; + }; + + "build-tools"."23.0.0" = { + + name = "build-tools"; + path = "build-tools/23.0.0"; + revision = "23.0.0"; + displayName = "Android SDK Build-Tools 23"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r23-linux.zip; + sha1 = "c1d6209212b01469f80fa804e0c1d39a06bc9060"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r23-macosx.zip; + sha1 = "90ba6e716f7703a236cd44b2e71c5ff430855a03"; + }; + + }; + }; + + "build-tools"."23.0.1" = { + + name = "build-tools"; + path = "build-tools/23.0.1"; + revision = "23.0.1"; + displayName = "Android SDK Build-Tools 23.0.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r23.0.1-linux.zip; + sha1 = "b6ba7c399d5fa487d95289d8832e4ad943aed556"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r23.0.1-macosx.zip; + sha1 = "d96ec1522721e9a179ae2c591c99f75d31d39718"; + }; + + }; + }; + + "build-tools"."23.0.2" = { + + name = "build-tools"; + path = "build-tools/23.0.2"; + revision = "23.0.2"; + displayName = "Android SDK Build-Tools 23.0.2"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r23.0.2-linux.zip; + sha1 = "8a9f2b37f6fcf7a9fa784dc21aeaeb41bbb9f2c3"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r23.0.2-macosx.zip; + sha1 = "482c4cbceef8ff58aefd92d8155a38610158fdaf"; + }; + + }; + }; + + "build-tools"."23.0.3" = { + + name = "build-tools"; + path = "build-tools/23.0.3"; + revision = "23.0.3"; + displayName = "Android SDK Build-Tools 23.0.3"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r23.0.3-linux.zip; + sha1 = "368f2600feac7e9b511b82f53d1f2240ae4a91a3"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r23.0.3-macosx.zip; + sha1 = "fbc98cd303fd15a31d472de6c03bd707829f00b0"; + }; + + }; + }; + + "build-tools"."24.0.0" = { + + name = "build-tools"; + path = "build-tools/24.0.0"; + revision = "24.0.0"; + displayName = "Android SDK Build-Tools 24"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r24-linux.zip; + sha1 = "c6271c4d78a5612ea6c7150688bcd5b7313de8d1"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r24-macosx.zip; + sha1 = "97fc4ed442f23989cc488d02c1d1de9bdde241de"; + }; + + }; + }; + + "build-tools"."24.0.1" = { + + name = "build-tools"; + path = "build-tools/24.0.1"; + revision = "24.0.1"; + displayName = "Android SDK Build-Tools 24.0.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r24.0.1-linux.zip; + sha1 = "84f18c392919a074fcbb9b1d967984e6b2fef8b4"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r24.0.1-macosx.zip; + sha1 = "5c6457fcdfa07724fb086d8ff4e8316fc0742848"; + }; + + }; + }; + + "build-tools"."24.0.2" = { + + name = "build-tools"; + path = "build-tools/24.0.2"; + revision = "24.0.2"; + displayName = "Android SDK Build-Tools 24.0.2"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r24.0.2-linux.zip; + sha1 = "f199a7a788c3fefbed102eea34d6007737b803cf"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r24.0.2-macosx.zip; + sha1 = "8bb8fc575477491d5957de743089df412de55cda"; + }; + + }; + }; + + "build-tools"."24.0.3" = { + + name = "build-tools"; + path = "build-tools/24.0.3"; + revision = "24.0.3"; + displayName = "Android SDK Build-Tools 24.0.3"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r24.0.3-linux.zip; + sha1 = "9e8cc49d66e03fa1a8ecc1ac3e58f1324f5da304"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r24.0.3-macosx.zip; + sha1 = "a01c15f1b105c34595681075e1895d58b3fff48c"; + }; + + }; + }; + + "build-tools"."25.0.0" = { + + name = "build-tools"; + path = "build-tools/25.0.0"; + revision = "25.0.0"; + displayName = "Android SDK Build-Tools 25"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r25-linux.zip; + sha1 = "f2bbda60403e75cabd0f238598c3b4dfca56ea44"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r25-macosx.zip; + sha1 = "273c5c29a65cbed00e44f3aa470bbd7dce556606"; + }; + + }; + }; + + "build-tools"."25.0.1" = { + + name = "build-tools"; + path = "build-tools/25.0.1"; + revision = "25.0.1"; + displayName = "Android SDK Build-Tools 25.0.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r25.0.1-linux.zip; + sha1 = "ff063d252ab750d339f5947d06ff782836f22bac"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r25.0.1-macosx.zip; + sha1 = "7bf7f22d7d48ef20b6ab0e3d7a2912e5c088340f"; + }; + + }; + }; + + "build-tools"."25.0.2" = { + + name = "build-tools"; + path = "build-tools/25.0.2"; + revision = "25.0.2"; + displayName = "Android SDK Build-Tools 25.0.2"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r25.0.2-linux.zip; + sha1 = "ff953c0177e317618fda40516f3e9d95fd43c7ae"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r25.0.2-macosx.zip; + sha1 = "12a5204bb3b6e39437535469fde7ddf42da46b16"; + }; + + }; + }; + + "build-tools"."25.0.3" = { + + name = "build-tools"; + path = "build-tools/25.0.3"; + revision = "25.0.3"; + displayName = "Android SDK Build-Tools 25.0.3"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r25.0.3-linux.zip; + sha1 = "db95f3a0ae376534d4d69f4cdb6fad20649f3509"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r25.0.3-macosx.zip; + sha1 = "160d2fefb5ce68e443427fc30a793a703b63e26e"; + }; + + }; + }; + + "build-tools"."26.0.0" = { + + name = "build-tools"; + path = "build-tools/26.0.0"; + revision = "26.0.0"; + displayName = "Android SDK Build-Tools 26"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r26-linux.zip; + sha1 = "1cbe72929876f8a872ab1f1b1040a9f720261f59"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r26-macosx.zip; + sha1 = "d01a1aeca03747245f1f5936b3cb01759c66d086"; + }; + + }; + }; + + "build-tools"."26.0.0-rc1" = { + + name = "build-tools"; + path = "build-tools/26.0.0-rc1"; + revision = "26.0.0-rc1"; + displayName = "Android SDK Build-Tools 26-rc1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r26-rc1-linux.zip; + sha1 = "8cd6388dc96db2d7a49d06159cf990d3bbc78d04"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r26-rc1-macosx.zip; + sha1 = "5c5a1de7d5f4f000d36ae349229fe0be846d6137"; + }; + + }; + }; + + "build-tools"."26.0.0-rc2" = { + + name = "build-tools"; + path = "build-tools/26.0.0-rc2"; + revision = "26.0.0-rc2"; + displayName = "Android SDK Build-Tools 26-rc2"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r26-rc2-linux.zip; + sha1 = "629bbd8d2e415bf64871fb0b4c0540fd6d0347a0"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r26-rc2-macosx.zip; + sha1 = "cb1eb738a1f7003025af267a9b8cc2d259533c70"; + }; + + }; + }; + + "build-tools"."26.0.1" = { + + name = "build-tools"; + path = "build-tools/26.0.1"; + revision = "26.0.1"; + displayName = "Android SDK Build-Tools 26.0.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r26.0.1-linux.zip; + sha1 = "5378c2c78091b414d0eac40a6bd37f2faa31a365"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r26.0.1-macosx.zip; + sha1 = "cbde59de198916b390777dd0227921bfa2120832"; + }; + + }; + }; + + "build-tools"."26.0.2" = { + + name = "build-tools"; + path = "build-tools/26.0.2"; + revision = "26.0.2"; + displayName = "Android SDK Build-Tools 26.0.2"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r26.0.2-linux.zip; + sha1 = "5b2b7b66c7bf2151f2af183b5b50a17808850592"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r26.0.2-macosx.zip; + sha1 = "d9ed7c7f149ce38be5dc08979aea8acec1459ca0"; + }; + + }; + }; + + "build-tools"."26.0.3" = { + + name = "build-tools"; + path = "build-tools/26.0.3"; + revision = "26.0.3"; + displayName = "Android SDK Build-Tools 26.0.3"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r26.0.3-linux.zip; + sha1 = "8a2e6c1bcd845844523a68aa17e5442f0dce328c"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r26.0.3-macosx.zip; + sha1 = "5bb90ed935d99e5bc90686f43b852e68c5ad40df"; + }; + + }; + }; + + "build-tools"."27.0.0" = { + + name = "build-tools"; + path = "build-tools/27.0.0"; + revision = "27.0.0"; + displayName = "Android SDK Build-Tools 27"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r27-linux.zip; + sha1 = "28542332ba97cf4a08c3eddfcf5edd70e3cf1260"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r27-macosx.zip; + sha1 = "fb4e8d7e6b8d29a77090e34024077a80458d5ae1"; + }; + + }; + }; + + "build-tools"."27.0.1" = { + + name = "build-tools"; + path = "build-tools/27.0.1"; + revision = "27.0.1"; + displayName = "Android SDK Build-Tools 27.0.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r27.0.1-linux.zip; + sha1 = "7f4eedb1077ef948b848040dcd15de9e8a759f4a"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r27.0.1-macosx.zip; + sha1 = "1edd07bfdbadd95652d093040e16d858f7489594"; + }; + + }; + }; + + "build-tools"."27.0.2" = { + + name = "build-tools"; + path = "build-tools/27.0.2"; + revision = "27.0.2"; + displayName = "Android SDK Build-Tools 27.0.2"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r27.0.2-linux.zip; + sha1 = "b687ddf6be84f11607871138aad32cf857d0b837"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r27.0.2-macosx.zip; + sha1 = "6d5d9cf2a47877f273f4b742b19e712a051a31be"; + }; + + }; + }; + + "build-tools"."27.0.3" = { + + name = "build-tools"; + path = "build-tools/27.0.3"; + revision = "27.0.3"; + displayName = "Android SDK Build-Tools 27.0.3"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r27.0.3-linux.zip; + sha1 = "d85e7a6320eddffe7eeace3437605079dac938ca"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r27.0.3-macosx.zip; + sha1 = "61d9fb18790c68d66ff73bf1e7ad56bc1f1eef2d"; + }; + + }; + }; + + "build-tools"."28.0.0" = { + + name = "build-tools"; + path = "build-tools/28.0.0"; + revision = "28.0.0"; + displayName = "Android SDK Build-Tools 28"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r28-linux.zip; + sha1 = "d9f8a754d833ccd334f56fcc6089c5925cd82abb"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r28-macosx.zip; + sha1 = "72088d32d1d82cc3c2cf7cf6618b6130c0c84ade"; + }; + + }; + }; + + "build-tools"."28.0.0-rc1" = { + + name = "build-tools"; + path = "build-tools/28.0.0-rc1"; + revision = "28.0.0-rc1"; + displayName = "Android SDK Build-Tools 28-rc1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r28-rc1-linux.zip; + sha1 = "1601977fae25fd478bcfaa0481ca5ea3c609d840"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r28-rc1-macosx.zip; + sha1 = "2c77821967a2330b7b227072d0b1c02ef19fe2fc"; + }; + + }; + }; + + "build-tools"."28.0.0-rc2" = { + + name = "build-tools"; + path = "build-tools/28.0.0-rc2"; + revision = "28.0.0-rc2"; + displayName = "Android SDK Build-Tools 28-rc2"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r28-rc2-linux.zip; + sha1 = "efe9c0dde0646a07544c864276390ca6e96b24dc"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r28-rc2-macosx.zip; + sha1 = "0d0314b353589feb10e528b44c5a685b6658d797"; + }; + + }; + }; + + "build-tools"."28.0.1" = { + + name = "build-tools"; + path = "build-tools/28.0.1"; + revision = "28.0.1"; + displayName = "Android SDK Build-Tools 28.0.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r28.0.1-linux.zip; + sha1 = "ee70dfa1fccb58b37cebc9544830511f36a137a0"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r28.0.1-macosx.zip; + sha1 = "aeef42ad953f1630dd6f5d71eefdc0b825211462"; + }; + + }; + }; + + "build-tools"."28.0.2" = { + + name = "build-tools"; + path = "build-tools/28.0.2"; + revision = "28.0.2"; + displayName = "Android SDK Build-Tools 28.0.2"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r28.0.2-linux.zip; + sha1 = "b4492209810a3fd48deaa982f9852fef12433d55"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r28.0.2-macosx.zip; + sha1 = "c10dd5a7825578622fb362a8a34f76eb3ba0c0a9"; + }; + + }; + }; + + "build-tools"."28.0.3" = { + + name = "build-tools"; + path = "build-tools/28.0.3"; + revision = "28.0.3"; + displayName = "Android SDK Build-Tools 28.0.3"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r28.0.3-linux.zip; + sha1 = "ea6f2f7103cd9da9ff0bdf6e37fbbba548fa4165"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r28.0.3-macosx.zip; + sha1 = "f8c333a2991b1ab05a671bc6248b78e00edcd83a"; + }; + + }; + }; + + "cmake"."3.10.2" = { + + name = "cmake"; + path = "cmake/3.10.2.4988404"; + revision = "3.10.2"; + displayName = "CMake 3.10.2.4988404"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/cmake-3.10.2-darwin-x86_64.zip; + sha1 = "f227a85cb53dcb927ac52a5a717f647c4a29bf3b"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/cmake-3.10.2-linux-x86_64.zip; + sha1 = "439e8799bf59f724f104bf62784b2985f1bfe561"; + }; + + }; + }; + + "cmake"."3.6.4111459" = { + + name = "cmake"; + path = "cmake/3.6.4111459"; + revision = "3.6.4111459"; + displayName = "CMake 3.6.4111459"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/cmake-3.6.4111459-darwin-x86_64.zip; + sha1 = "c9b02d630079783c6d67cb91488b622cfcd9765c"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/cmake-3.6.4111459-linux-x86_64.zip; + sha1 = "71c539b9c33f0943e9ad6251fea0b161c0b70782"; + }; + + }; + }; + + "docs"."1" = { + + name = "docs"; + path = "docs"; + revision = "1"; + displayName = "Documentation for Android SDK"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/docs-24_r01.zip; + sha1 = "eef58238949ee9544876cb3e002f2d58e4ee7b5d"; + }; + + }; + }; + + "emulator"."27.3.10".linux = { + + name = "emulator"; + path = "emulator"; + revision = "27.3.10"; + displayName = "Android Emulator"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/emulator-linux-4969155.zip; + sha1 = "5b037b25bc6567fda3071457f0009c057670d9e8"; + }; + + }; + }; + + "emulator"."27.3.10".macosx = { + + name = "emulator"; + path = "emulator"; + revision = "27.3.10"; + displayName = "Android Emulator"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/emulator-darwin-4969155.zip; + sha1 = "28d2b51ee5c84bc544deee433419f33dc9e05b66"; + }; + + }; + }; + + "emulator"."27.3.10".windows = { + + name = "emulator"; + path = "emulator"; + revision = "27.3.10"; + displayName = "Android Emulator"; + archives = { + + }; + }; + + "emulator"."28.0.14".linux = { + + name = "emulator"; + path = "emulator"; + revision = "28.0.14"; + displayName = "Android Emulator"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/emulator-linux-5092175.zip; + sha1 = "062ef9a1f6759481de897d6c5602d9d66e958a0b"; + }; + + }; + }; + + "emulator"."28.0.14".macosx = { + + name = "emulator"; + path = "emulator"; + revision = "28.0.14"; + displayName = "Android Emulator"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/emulator-darwin-5092175.zip; + sha1 = "6dc13599bddd5c2acdb559b25201c92a801d157c"; + }; + + }; + }; + + "emulator"."28.0.14".windows = { + + name = "emulator"; + path = "emulator"; + revision = "28.0.14"; + displayName = "Android Emulator"; + archives = { + + }; + }; + + "lldb"."2.0.2558144" = { + + name = "lldb"; + path = "lldb/2.0"; + revision = "2.0.2558144"; + displayName = "LLDB 2.0"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/lldb-2.0.2558144-darwin-x86_64.zip; + sha1 = "d92e2f4c8284413eed4f27986e62b167d947033c"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/lldb-2.0.2558144-linux-x86_64.zip; + sha1 = "e7060d9b2ba58b28fd7b1a0ea85a151c8371a326"; + }; + + }; + }; + + "lldb"."2.1.2852477" = { + + name = "lldb"; + path = "lldb/2.1"; + revision = "2.1.2852477"; + displayName = "LLDB 2.1"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/lldb-2.1.2852477-darwin-x86_64.zip; + sha1 = "d1e33880a53f1aa8c7e73534adef83a06f091185"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/lldb-2.1.2852477-linux-x86_64.zip; + sha1 = "eb9b96d320210fdfe82495b0597ad43e77f1c240"; + }; + + }; + }; + + "lldb"."2.2.3271982" = { + + name = "lldb"; + path = "lldb/2.2"; + revision = "2.2.3271982"; + displayName = "LLDB 2.2"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/lldb-2.2.3271982-darwin-x86_64.zip; + sha1 = "62089f4e35775e6cedb82d1fa377fdc1de898005"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/lldb-2.2.3271982-linux-x86_64.zip; + sha1 = "413649617d97dd9ef163528f64c0500e1b7c4113"; + }; + + }; + }; + + "lldb"."2.3.3614996" = { + + name = "lldb"; + path = "lldb/2.3"; + revision = "2.3.3614996"; + displayName = "LLDB 2.3"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/lldb-2.3.3614996-darwin-x86_64.zip; + sha1 = "6b0df112c7b9fa41654497fde2fcce990c831e52"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/lldb-2.3.3614996-linux-x86_64.zip; + sha1 = "d7abe655650efe9f6989df31835fa3b3f95c2d13"; + }; + + }; + }; + + "lldb"."3.0.4213617" = { + + name = "lldb"; + path = "lldb/3.0"; + revision = "3.0.4213617"; + displayName = "LLDB 3.0"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/lldb-3.0.4213617-darwin-x86_64.zip; + sha1 = "2492651690a215317b86c755cd4d584ec9838677"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/lldb-3.0.4213617-linux-x86_64.zip; + sha1 = "61d49b6a58953faa61546d631409af5f60d8d9db"; + }; + + }; + }; + + "lldb"."3.1.4508709" = { + + name = "lldb"; + path = "lldb/3.1"; + revision = "3.1.4508709"; + displayName = "LLDB 3.1"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/lldb-3.1.4508709-darwin-x86_64.zip; + sha1 = "2b37aa55b81a7e5b8a369febf1ac0bad6c7c5d58"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/lldb-3.1.4508709-linux-x86_64.zip; + sha1 = "462711c9ee94fec9ff8be5fa8180afec04d1af6f"; + }; + + }; + }; + + "ndk-bundle"."18.1.5063045" = { + + name = "ndk-bundle"; + path = "ndk-bundle"; + revision = "18.1.5063045"; + displayName = "NDK"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r18b-darwin-x86_64.zip; + sha1 = "98cb9909aa8c2dab32db188bbdc3ac6207e09440"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip; + sha1 = "500679655da3a86aecf67007e8ab230ea9b4dd7b"; + }; + + }; + }; + + "patcher"."1" = { + + name = "patcher"; + path = "patcher/v4"; + revision = "1"; + displayName = "SDK Patch Applier v4"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/3534162-studio.sdk-patcher.zip.bak; + sha1 = "046699c5e2716ae11d77e0bad814f7f33fab261e"; + }; + + }; + }; + + "platform-tools"."28.0.1" = { + + name = "platform-tools"; + path = "platform-tools"; + revision = "28.0.1"; + displayName = "Android SDK Platform-Tools"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/platform-tools_r28.0.1-darwin.zip; + sha1 = "ed1edad4a48c27655ce98d0a5821e7296e9de145"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/platform-tools_r28.0.1-linux.zip; + sha1 = "74ff83bc203f01c4f04bd9316ab5a2573f023fd1"; + }; + + }; + }; + + "platforms"."10" = { + + name = "platforms"; + path = "platforms/android-10"; + revision = "10"; + displayName = "Android SDK Platform 10"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-2.3.3_r02.zip; + sha1 = "887e37783ec32f541ea33c2c649dda648e8e6fb3"; + }; + + }; + }; + + "platforms"."11" = { + + name = "platforms"; + path = "platforms/android-11"; + revision = "11"; + displayName = "Android SDK Platform 11"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-3.0_r02.zip; + sha1 = "2c7d4bd13f276e76f6bbd87315fe27aba351dd37"; + }; + + }; + }; + + "platforms"."12" = { + + name = "platforms"; + path = "platforms/android-12"; + revision = "12"; + displayName = "Android SDK Platform 12"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-3.1_r03.zip; + sha1 = "4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf"; + }; + + }; + }; + + "platforms"."13" = { + + name = "platforms"; + path = "platforms/android-13"; + revision = "13"; + displayName = "Android SDK Platform 13"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-3.2_r01.zip; + sha1 = "6189a500a8c44ae73a439604363de93591163cd9"; + }; + + }; + }; + + "platforms"."14" = { + + name = "platforms"; + path = "platforms/android-14"; + revision = "14"; + displayName = "Android SDK Platform 14"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-14_r04.zip; + sha1 = "d4f1d8fbca25225b5f0e7a0adf0d39c3d6e60b3c"; + }; + + }; + }; + + "platforms"."15" = { + + name = "platforms"; + path = "platforms/android-15"; + revision = "15"; + displayName = "Android SDK Platform 15"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-15_r05.zip; + sha1 = "69ab4c443b37184b2883af1fd38cc20cbeffd0f3"; + }; + + }; + }; + + "platforms"."16" = { + + name = "platforms"; + path = "platforms/android-16"; + revision = "16"; + displayName = "Android SDK Platform 16"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-16_r05.zip; + sha1 = "12a5ce6235a76bc30f62c26bda1b680e336abd07"; + }; + + }; + }; + + "platforms"."17" = { + + name = "platforms"; + path = "platforms/android-17"; + revision = "17"; + displayName = "Android SDK Platform 17"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-17_r03.zip; + sha1 = "dbe14101c06e6cdb34e300393e64e64f8c92168a"; + }; + + }; + }; + + "platforms"."18" = { + + name = "platforms"; + path = "platforms/android-18"; + revision = "18"; + displayName = "Android SDK Platform 18"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-18_r03.zip; + sha1 = "e6b09b3505754cbbeb4a5622008b907262ee91cb"; + }; + + }; + }; + + "platforms"."19" = { + + name = "platforms"; + path = "platforms/android-19"; + revision = "19"; + displayName = "Android SDK Platform 19"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-19_r04.zip; + sha1 = "2ff20d89e68f2f5390981342e009db5a2d456aaa"; + }; + + }; + }; + + "platforms"."2" = { + + name = "platforms"; + path = "platforms/android-2"; + revision = "2"; + displayName = "Android SDK Platform 2"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/android-1.1_r1-linux.zip; + sha1 = "c054d25c9b4c6251fa49c2f9c54336998679d3fe"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-1.1_r1-macosx.zip; + sha1 = "e21dbcff45b7356657449ebb3c7e941be2bb5ebe"; + }; + + }; + }; + + "platforms"."20" = { + + name = "platforms"; + path = "platforms/android-20"; + revision = "20"; + displayName = "Android SDK Platform 20"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-20_r02.zip; + sha1 = "a9251f8a3f313ab05834a07a963000927637e01d"; + }; + + }; + }; + + "platforms"."21" = { + + name = "platforms"; + path = "platforms/android-21"; + revision = "21"; + displayName = "Android SDK Platform 21"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-21_r02.zip; + sha1 = "53536556059bb29ae82f414fd2e14bc335a4eb4c"; + }; + + }; + }; + + "platforms"."22" = { + + name = "platforms"; + path = "platforms/android-22"; + revision = "22"; + displayName = "Android SDK Platform 22"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-22_r02.zip; + sha1 = "5d1bd10fea962b216a0dece1247070164760a9fc"; + }; + + }; + }; + + "platforms"."23" = { + + name = "platforms"; + path = "platforms/android-23"; + revision = "23"; + displayName = "Android SDK Platform 23"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/platform-23_r03.zip; + sha1 = "027fede3de6aa1649115bbd0bffff30ccd51c9a0"; + }; + + }; + }; + + "platforms"."24" = { + + name = "platforms"; + path = "platforms/android-24"; + revision = "24"; + displayName = "Android SDK Platform 24"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/platform-24_r02.zip; + sha1 = "8912da3d4bfe7a9f28f0e5ce92d3a8dc96342aee"; + }; + + }; + }; + + "platforms"."25" = { + + name = "platforms"; + path = "platforms/android-25"; + revision = "25"; + displayName = "Android SDK Platform 25"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/platform-25_r03.zip; + sha1 = "00c2c5765e8988504be10a1eb66ed71fcdbd7fe8"; + }; + + }; + }; + + "platforms"."26" = { + + name = "platforms"; + path = "platforms/android-26"; + revision = "26"; + displayName = "Android SDK Platform 26"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/platform-26_r02.zip; + sha1 = "e4ae5d7aa557a3c827135838ee400da8443ac4ef"; + }; + + }; + }; + + "platforms"."27" = { + + name = "platforms"; + path = "platforms/android-27"; + revision = "27"; + displayName = "Android SDK Platform 27"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/platform-27_r03.zip; + sha1 = "35f747e7e70b2d16e0e4246876be28d15ea1c353"; + }; + + }; + }; + + "platforms"."28" = { + + name = "platforms"; + path = "platforms/android-28"; + revision = "28"; + displayName = "Android SDK Platform 28"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/platform-28_r06.zip; + sha1 = "9a4e52b1d55bd2e24216b150aafae2503d3efba6"; + }; + + }; + }; + + "platforms"."3" = { + + name = "platforms"; + path = "platforms/android-3"; + revision = "3"; + displayName = "Android SDK Platform 3"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/android-1.5_r04-linux.zip; + sha1 = "5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-1.5_r04-macosx.zip; + sha1 = "d3a67c2369afa48b6c3c7624de5031c262018d1e"; + }; + + }; + }; + + "platforms"."4" = { + + name = "platforms"; + path = "platforms/android-4"; + revision = "4"; + displayName = "Android SDK Platform 4"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/android-1.6_r03-linux.zip; + sha1 = "483ed088e45bbdf3444baaf9250c8b02e5383cb0"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-1.6_r03-macosx.zip; + sha1 = "bdafad44f5df9f127979bdb21a1fdd87ee3cd625"; + }; + + }; + }; + + "platforms"."5" = { + + name = "platforms"; + path = "platforms/android-5"; + revision = "5"; + displayName = "Android SDK Platform 5"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/android-2.0_r01-linux.zip; + sha1 = "be9be6a99ca32875c96ec7f91160ca9fce7e3c7d"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-2.0_r01-macosx.zip; + sha1 = "2a866d0870dbba18e0503cd41e5fae988a21b314"; + }; + + }; + }; + + "platforms"."6" = { + + name = "platforms"; + path = "platforms/android-6"; + revision = "6"; + displayName = "Android SDK Platform 6"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/android-2.0.1_r01-linux.zip; + sha1 = "ce2c971dce352aa28af06bda92a070116aa5ae1a"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-2.0.1_r01-macosx.zip; + sha1 = "c3096f80d75a6fc8cb38ef8a18aec920e53d42c0"; + }; + + }; + }; + + "platforms"."7" = { + + name = "platforms"; + path = "platforms/android-7"; + revision = "7"; + displayName = "Android SDK Platform 7"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-2.1_r03.zip; + sha1 = "5ce51b023ac19f8738500b1007a1da5de2349a1e"; + }; + + }; + }; + + "platforms"."8" = { + + name = "platforms"; + path = "platforms/android-8"; + revision = "8"; + displayName = "Android SDK Platform 8"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-2.2_r03.zip; + sha1 = "231262c63eefdff8fd0386e9ccfefeb27a8f9202"; + }; + + }; + }; + + "platforms"."9" = { + + name = "platforms"; + path = "platforms/android-9"; + revision = "9"; + displayName = "Android SDK Platform 9"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/android-2.3.1_r02.zip; + sha1 = "209f8a7a8b2cb093fce858b8b55fed3ba5206773"; + }; + + }; + }; + + "sources"."14" = { + + name = "sources"; + path = "sources/android-14"; + revision = "14"; + displayName = "Sources for Android 14"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-14_r01.zip; + sha1 = "eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555"; + }; + + }; + }; + + "sources"."15" = { + + name = "sources"; + path = "sources/android-15"; + revision = "15"; + displayName = "Sources for Android 15"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-15_r02.zip; + sha1 = "e5992a5747c9590783fbbdd700337bf0c9f6b1fa"; + }; + + }; + }; + + "sources"."16" = { + + name = "sources"; + path = "sources/android-16"; + revision = "16"; + displayName = "Sources for Android 16"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-16_r02.zip; + sha1 = "0f83c14ed333c45d962279ab5d6bc98a0269ef84"; + }; + + }; + }; + + "sources"."17" = { + + name = "sources"; + path = "sources/android-17"; + revision = "17"; + displayName = "Sources for Android 17"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-17_r01.zip; + sha1 = "6f1f18cd2d2b1852d7f6892df9cee3823349d43a"; + }; + + }; + }; + + "sources"."18" = { + + name = "sources"; + path = "sources/android-18"; + revision = "18"; + displayName = "Sources for Android 18"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-18_r01.zip; + sha1 = "8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78"; + }; + + }; + }; + + "sources"."19" = { + + name = "sources"; + path = "sources/android-19"; + revision = "19"; + displayName = "Sources for Android 19"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-19_r02.zip; + sha1 = "433a1d043ef77561571250e94cb7a0ef24a202e7"; + }; + + }; + }; + + "sources"."20" = { + + name = "sources"; + path = "sources/android-20"; + revision = "20"; + displayName = "Sources for Android 20"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-20_r01.zip; + sha1 = "8da3e40f2625f9f7ef38b7e403f49f67226c0d76"; + }; + + }; + }; + + "sources"."21" = { + + name = "sources"; + path = "sources/android-21"; + revision = "21"; + displayName = "Sources for Android 21"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-21_r01.zip; + sha1 = "137a5044915d32bea297a8c1552684802bbc2e25"; + }; + + }; + }; + + "sources"."22" = { + + name = "sources"; + path = "sources/android-22"; + revision = "22"; + displayName = "Sources for Android 22"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-22_r01.zip; + sha1 = "98320e13976d11597a4a730a8d203ac9a03ed5a6"; + }; + + }; + }; + + "sources"."23" = { + + name = "sources"; + path = "sources/android-23"; + revision = "23"; + displayName = "Sources for Android 23"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-23_r01.zip; + sha1 = "b0f15da2762b42f543c5e364c2b15b198cc99cc2"; + }; + + }; + }; + + "sources"."24" = { + + name = "sources"; + path = "sources/android-24"; + revision = "24"; + displayName = "Sources for Android 24"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-24_r01.zip; + sha1 = "6b96115830a83d654479f32ce4b724ca9011148b"; + }; + + }; + }; + + "sources"."25" = { + + name = "sources"; + path = "sources/android-25"; + revision = "25"; + displayName = "Sources for Android 25"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-25_r01.zip; + sha1 = "bbc72efd1a9bad87cc507e308f0d29aad438c52c"; + }; + + }; + }; + + "sources"."26" = { + + name = "sources"; + path = "sources/android-26"; + revision = "26"; + displayName = "Sources for Android 26"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-26_r01.zip; + sha1 = "2af701ee3223d580409288540b1d06932fd8f9b9"; + }; + + }; + }; + + "sources"."27" = { + + name = "sources"; + path = "sources/android-27"; + revision = "27"; + displayName = "Sources for Android 27"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-27_r01.zip; + sha1 = "7b714670561d08f54751af42aca929867b806596"; + }; + + }; + }; + + "sources"."28" = { + + name = "sources"; + path = "sources/android-28"; + revision = "28"; + displayName = "Sources for Android 28"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-28_r01.zip; + sha1 = "5610e0c24235ee3fa343c899ddd551be30315255"; + }; + + }; + }; + + "tools"."25.2.5" = { + + name = "tools"; + path = "tools"; + revision = "25.2.5"; + displayName = "Android SDK Tools 25.2.5"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/tools_r25.2.5-linux.zip; + sha1 = "72df3aa1988c0a9003ccdfd7a13a7b8bd0f47fc1"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/tools_r25.2.5-macosx.zip; + sha1 = "d2168d963ac5b616e3d3ddaf21511d084baf3659"; + }; + + }; + }; + + "tools"."26.1.1" = { + + name = "tools"; + path = "tools"; + revision = "26.1.1"; + displayName = "Android SDK Tools"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/sdk-tools-darwin-4333796.zip; + sha1 = "ed85ea7b59bc3483ce0af4c198523ba044e083ad"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip; + sha1 = "8c7c28554a32318461802c1291d76fccfafde054"; + }; + + }; + }; + +} + \ No newline at end of file diff --git a/pkgs/development/mobile/androidenv/generated/system-images-android-tv.nix b/pkgs/development/mobile/androidenv/generated/system-images-android-tv.nix new file mode 100644 index 00000000000..1aa49545254 --- /dev/null +++ b/pkgs/development/mobile/androidenv/generated/system-images-android-tv.nix @@ -0,0 +1,157 @@ + +{fetchurl}: + +{ + + + "21".android-tv."x86" = { + name = "system-image-21-android-tv-x86"; + path = "system-images/android-21/android-tv/x86"; + revision = "21-android-tv-x86"; + displayName = "Android TV Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-tv/x86-21_r03.zip; + sha1 = "2f8a1988188d6abfd6c6395baeb4471a034dc1e8"; + + }; + }; + + + "21".android-tv."armeabi-v7a" = { + name = "system-image-21-android-tv-armeabi-v7a"; + path = "system-images/android-21/android-tv/armeabi-v7a"; + revision = "21-android-tv-armeabi-v7a"; + displayName = "Android TV ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-tv/armeabi-v7a-21_r03.zip; + sha1 = "b63e28a47f11b639dd94981a458b7abfa89ac331"; + + }; + }; + + + "22".android-tv."x86" = { + name = "system-image-22-android-tv-x86"; + path = "system-images/android-22/android-tv/x86"; + revision = "22-android-tv-x86"; + displayName = "Android TV Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-tv/x86-22_r03.zip; + sha1 = "c78efd5a155622eb490be9d326f5783993375c35"; + + }; + }; + + + "23".android-tv."x86" = { + name = "system-image-23-android-tv-x86"; + path = "system-images/android-23/android-tv/x86"; + revision = "23-android-tv-x86"; + displayName = "Android TV Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-tv/x86-23_r17.zip; + sha1 = "6d42eb8f07e1c49c000e530fdb7de894144ea19b"; + + }; + }; + + + "23".android-tv."armeabi-v7a" = { + name = "system-image-23-android-tv-armeabi-v7a"; + path = "system-images/android-23/android-tv/armeabi-v7a"; + revision = "23-android-tv-armeabi-v7a"; + displayName = "Android TV ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-tv/armeabi-v7a-23_r12.zip; + sha1 = "bd84678ae8caf71d584f5210e866b2807e7b4b52"; + + }; + }; + + + "24".android-tv."x86" = { + name = "system-image-24-android-tv-x86"; + path = "system-images/android-24/android-tv/x86"; + revision = "24-android-tv-x86"; + displayName = "Android TV Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-tv/x86-24_r19.zip; + sha1 = "478e7073f9fcd588bcce89946aa632fbf302ac6a"; + + }; + }; + + + "25".android-tv."x86" = { + name = "system-image-25-android-tv-x86"; + path = "system-images/android-25/android-tv/x86"; + revision = "25-android-tv-x86"; + displayName = "Android TV Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-tv/x86-25_r13.zip; + sha1 = "fda1743a87331b43b1ff35cd70f3276ae0b1836d"; + + }; + }; + + + "26".android-tv."x86" = { + name = "system-image-26-android-tv-x86"; + path = "system-images/android-26/android-tv/x86"; + revision = "26-android-tv-x86"; + displayName = "Android TV Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-tv/x86-26_r11.zip; + sha1 = "5c4b0b3c0b9d04a3364956a7ba31d30c33ea57e7"; + + }; + }; + + + "27".android-tv."x86" = { + name = "system-image-27-android-tv-x86"; + path = "system-images/android-27/android-tv/x86"; + revision = "27-android-tv-x86"; + displayName = "Android TV Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-tv/x86-27_r06.zip; + sha1 = "6b69f1e95a3db3d973e19a95ab5da1adc7750d54"; + + }; + }; + + + "28".android-tv."x86" = { + name = "system-image-28-android-tv-x86"; + path = "system-images/android-28/android-tv/x86"; + revision = "28-android-tv-x86"; + displayName = "Android TV Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-tv/x86-28_r07.zip; + sha1 = "3ed7e51036957cf350db7fa128cb485b61cbd061"; + + }; + }; + +} + \ No newline at end of file diff --git a/pkgs/development/mobile/androidenv/generated/system-images-android-wear-cn.nix b/pkgs/development/mobile/androidenv/generated/system-images-android-wear-cn.nix new file mode 100644 index 00000000000..372a751f41c --- /dev/null +++ b/pkgs/development/mobile/androidenv/generated/system-images-android-wear-cn.nix @@ -0,0 +1,67 @@ + +{fetchurl}: + +{ + + + "25".android-wear."armeabi-v7a" = { + name = "system-image-25-android-wear-armeabi-v7a"; + path = "system-images/android-25/android-wear-cn/armeabi-v7a"; + revision = "25-android-wear-armeabi-v7a"; + displayName = "China version of Android Wear ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-wear-cn/armeabi-v7a-25_r04.zip; + sha1 = "02d7bc86df054d1e89fe5856b3af1d2c142cab41"; + + }; + }; + + + "25".android-wear."x86" = { + name = "system-image-25-android-wear-x86"; + path = "system-images/android-25/android-wear-cn/x86"; + revision = "25-android-wear-x86"; + displayName = "China version of Android Wear Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-wear-cn/x86-25_r04.zip; + sha1 = "73eab14c7cf2f6941e1fee61e0038ead7a2c7f4d"; + + }; + }; + + + "26".android-wear."x86" = { + name = "system-image-26-android-wear-x86"; + path = "system-images/android-26/android-wear-cn/x86"; + revision = "26-android-wear-x86"; + displayName = "China version of Android Wear Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-wear-cn/x86-26_r04.zip; + sha1 = "fdc8a313f889a2d6522de1fbc00ee9e13547d096"; + + }; + }; + + + "28".android-wear."x86" = { + name = "system-image-28-android-wear-x86"; + path = "system-images/android-P/android-wear-cn/x86"; + revision = "28-android-wear-x86"; + displayName = "China version of Wear OS Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-wear-cn/x86-P_r02.zip; + sha1 = "a61a2e453a11f77ab15b3e0bf1e017e0bb9d1bcc"; + + }; + }; + +} + \ No newline at end of file diff --git a/pkgs/development/mobile/androidenv/generated/system-images-android-wear.nix b/pkgs/development/mobile/androidenv/generated/system-images-android-wear.nix new file mode 100644 index 00000000000..0c45a1162fe --- /dev/null +++ b/pkgs/development/mobile/androidenv/generated/system-images-android-wear.nix @@ -0,0 +1,97 @@ + +{fetchurl}: + +{ + + + "23".android-wear."armeabi-v7a" = { + name = "system-image-23-android-wear-armeabi-v7a"; + path = "system-images/android-23/android-wear/armeabi-v7a"; + revision = "23-android-wear-armeabi-v7a"; + displayName = "Android Wear ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-wear/armeabi-v7a-23_r06.zip; + sha1 = "0df5d34b1cdaaaa3805a2f06bb889901eabe2e71"; + + }; + }; + + + "23".android-wear."x86" = { + name = "system-image-23-android-wear-x86"; + path = "system-images/android-23/android-wear/x86"; + revision = "23-android-wear-x86"; + displayName = "Android Wear Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-wear/x86-23_r06.zip; + sha1 = "3b15c123f3f71459d5b60c1714d49c5d90a5525e"; + + }; + }; + + + "25".android-wear."armeabi-v7a" = { + name = "system-image-25-android-wear-armeabi-v7a"; + path = "system-images/android-25/android-wear/armeabi-v7a"; + revision = "25-android-wear-armeabi-v7a"; + displayName = "Android Wear ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-wear/armeabi-v7a-25_r03.zip; + sha1 = "76d3568a4e08023047af7d13025a35c9bf1d7e5c"; + + }; + }; + + + "25".android-wear."x86" = { + name = "system-image-25-android-wear-x86"; + path = "system-images/android-25/android-wear/x86"; + revision = "25-android-wear-x86"; + displayName = "Android Wear Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-wear/x86-25_r03.zip; + sha1 = "693fce7b487a65491a4e88e9f740959688c9dbe6"; + + }; + }; + + + "26".android-wear."x86" = { + name = "system-image-26-android-wear-x86"; + path = "system-images/android-26/android-wear/x86"; + revision = "26-android-wear-x86"; + displayName = "Android Wear Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-wear/x86-26_r04.zip; + sha1 = "fbffa91b936ca18fcc1e0bab2b52a8b0835cbb1c"; + + }; + }; + + + "28".android-wear."x86" = { + name = "system-image-28-android-wear-x86"; + path = "system-images/android-P/android-wear/x86"; + revision = "28-android-wear-x86"; + displayName = "Wear OS Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android-wear/x86-P_r02.zip; + sha1 = "cd0d3a56e114dbb0a2a77d58942d344db464b514"; + + }; + }; + +} + \ No newline at end of file diff --git a/pkgs/development/mobile/androidenv/generated/system-images-android.nix b/pkgs/development/mobile/androidenv/generated/system-images-android.nix new file mode 100644 index 00000000000..915cceec546 --- /dev/null +++ b/pkgs/development/mobile/androidenv/generated/system-images-android.nix @@ -0,0 +1,547 @@ + +{fetchurl}: + +{ + + + "10".default."armeabi-v7a" = { + name = "system-image-10-default-armeabi-v7a"; + path = "system-images/android-10/default/armeabi-v7a"; + revision = "10-default-armeabi-v7a"; + displayName = "ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/armv7-10_r04.zip; + sha1 = "54680383118eb5c95a11e1cc2a14aa572c86ee69"; + + }; + }; + + + "14".default."armeabi-v7a" = { + name = "system-image-14-default-armeabi-v7a"; + path = "system-images/android-14/default/armeabi-v7a"; + revision = "14-default-armeabi-v7a"; + displayName = "ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/sysimg_armv7a-14_r02.zip; + sha1 = "d8991b0c06b18d7d6ed4169d67460ee1add6661b"; + + }; + }; + + + "15".default."armeabi-v7a" = { + name = "system-image-15-default-armeabi-v7a"; + path = "system-images/android-15/default/armeabi-v7a"; + revision = "15-default-armeabi-v7a"; + displayName = "ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-15_r04.zip; + sha1 = "363223bd62f5afc0b2bd760b54ce9d26b31eacf1"; + + }; + }; + + + "16".default."armeabi-v7a" = { + name = "system-image-16-default-armeabi-v7a"; + path = "system-images/android-16/default/armeabi-v7a"; + revision = "16-default-armeabi-v7a"; + displayName = "ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/sysimg_armv7a-16_r04.zip; + sha1 = "39c093ea755098f0ee79f607be7df9e54ba4943f"; + + }; + }; + + + "17".default."armeabi-v7a" = { + name = "system-image-17-default-armeabi-v7a"; + path = "system-images/android-17/default/armeabi-v7a"; + revision = "17-default-armeabi-v7a"; + displayName = "ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-17_r05.zip; + sha1 = "7460e8110f4a87f9644f1bdb5511a66872d50fd9"; + + }; + }; + + + "18".default."armeabi-v7a" = { + name = "system-image-18-default-armeabi-v7a"; + path = "system-images/android-18/default/armeabi-v7a"; + revision = "18-default-armeabi-v7a"; + displayName = "ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-18_r04.zip; + sha1 = "0bf34ecf4ddd53f6b1b7fe7dfa12f2887c17e642"; + + }; + }; + + + "19".default."armeabi-v7a" = { + name = "system-image-19-default-armeabi-v7a"; + path = "system-images/android-19/default/armeabi-v7a"; + revision = "19-default-armeabi-v7a"; + displayName = "ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-19_r05.zip; + sha1 = "d1a5fd4f2e1c013c3d3d9bfe7e9db908c3ed56fa"; + + }; + }; + + + "21".default."armeabi-v7a" = { + name = "system-image-21-default-armeabi-v7a"; + path = "system-images/android-21/default/armeabi-v7a"; + revision = "21-default-armeabi-v7a"; + displayName = "ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-21_r04.zip; + sha1 = "8c606f81306564b65e41303d2603e4c42ded0d10"; + + }; + }; + + + "22".default."armeabi-v7a" = { + name = "system-image-22-default-armeabi-v7a"; + path = "system-images/android-22/default/armeabi-v7a"; + revision = "22-default-armeabi-v7a"; + displayName = "ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-22_r02.zip; + sha1 = "2114ec015dbf3a16cbcb4f63e8a84a1b206a07a1"; + + }; + }; + + + "23".default."armeabi-v7a" = { + name = "system-image-23-default-armeabi-v7a"; + path = "system-images/android-23/default/armeabi-v7a"; + revision = "23-default-armeabi-v7a"; + displayName = "ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-23_r06.zip; + sha1 = "7cf2ad756e54a3acfd81064b63cb0cb9dff2798d"; + + }; + }; + + + "24".default."armeabi-v7a" = { + name = "system-image-24-default-armeabi-v7a"; + path = "system-images/android-24/default/armeabi-v7a"; + revision = "24-default-armeabi-v7a"; + displayName = "ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-24_r07.zip; + sha1 = "3454546b4eed2d6c3dd06d47757d6da9f4176033"; + + }; + }; + + + "24".default."arm64-v8a" = { + name = "system-image-24-default-arm64-v8a"; + path = "system-images/android-24/default/arm64-v8a"; + revision = "24-default-arm64-v8a"; + displayName = "ARM 64 v8a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/arm64-v8a-24_r07.zip; + sha1 = "e8ab2e49e4efe4b064232b33b5eeaded61437d7f"; + + }; + }; + + + "16".default."mips" = { + name = "system-image-16-default-mips"; + path = "system-images/android-16/default/mips"; + revision = "16-default-mips"; + displayName = "MIPS System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/sysimg_mips-16_r04.zip; + sha1 = "67943c54fb3943943ffeb05fdd39c0b753681f6e"; + + }; + }; + + + "17".default."mips" = { + name = "system-image-17-default-mips"; + path = "system-images/android-17/default/mips"; + revision = "17-default-mips"; + displayName = "MIPS System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/sysimg_mips-17_r01.zip; + sha1 = "f0c6e153bd584c29e51b5c9723cfbf30f996a05d"; + + }; + }; + + + "10".default."x86" = { + name = "system-image-10-default-x86"; + path = "system-images/android-10/default/x86"; + revision = "10-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86-10_r04.zip; + sha1 = "655ffc5cc89dd45a3aca154b254009016e473aeb"; + + }; + }; + + + "15".default."x86" = { + name = "system-image-15-default-x86"; + path = "system-images/android-15/default/x86"; + revision = "15-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86-15_r04.zip; + sha1 = "e45c728b64881c0e86529a8f7ea9c103a3cd14c1"; + + }; + }; + + + "16".default."x86" = { + name = "system-image-16-default-x86"; + path = "system-images/android-16/default/x86"; + revision = "16-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86-16_r06.zip; + sha1 = "bf1bf8c5591346118d2235da1ad20e7be8a3e9cd"; + + }; + }; + + + "17".default."x86" = { + name = "system-image-17-default-x86"; + path = "system-images/android-17/default/x86"; + revision = "17-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86-17_r04.zip; + sha1 = "03c6d022ab2dcbbcf655d78ba5ccb0431cadcaec"; + + }; + }; + + + "18".default."x86" = { + name = "system-image-18-default-x86"; + path = "system-images/android-18/default/x86"; + revision = "18-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86-18_r03.zip; + sha1 = "03a0cb23465c3de15215934a1dbc9715b56e9458"; + + }; + }; + + + "19".default."x86" = { + name = "system-image-19-default-x86"; + path = "system-images/android-19/default/x86"; + revision = "19-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86-19_r06.zip; + sha1 = "2ac82153aae97f7eae4c5a0761224fe04321d03d"; + + }; + }; + + + "21".default."x86" = { + name = "system-image-21-default-x86"; + path = "system-images/android-21/default/x86"; + revision = "21-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86-21_r05.zip; + sha1 = "00f0eb0a1003efe3316347f762e20a85d8749cff"; + + }; + }; + + + "22".default."x86" = { + name = "system-image-22-default-x86"; + path = "system-images/android-22/default/x86"; + revision = "22-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86-22_r06.zip; + sha1 = "e33e2a6cc3f1cc56b2019dbef3917d2eeb26f54e"; + + }; + }; + + + "23".default."x86" = { + name = "system-image-23-default-x86"; + path = "system-images/android-23/default/x86"; + revision = "23-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86-23_r10.zip; + sha1 = "f6c3e3dd7bd951454795aa75c3a145fd05ac25bb"; + + }; + }; + + + "24".default."x86" = { + name = "system-image-24-default-x86"; + path = "system-images/android-24/default/x86"; + revision = "24-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86-24_r08.zip; + sha1 = "c1cae7634b0216c0b5990f2c144eb8ca948e3511"; + + }; + }; + + + "25".default."x86" = { + name = "system-image-25-default-x86"; + path = "system-images/android-25/default/x86"; + revision = "25-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86-25_r01.zip; + sha1 = "78ce7eb1387d598685633b9f7cbb300c3d3aeb5f"; + + }; + }; + + + "26".default."x86" = { + name = "system-image-26-default-x86"; + path = "system-images/android-26/default/x86"; + revision = "26-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86-26_r01.zip; + sha1 = "e613d6e0da668e30daf547f3c6627a6352846f90"; + + }; + }; + + + "27".default."x86" = { + name = "system-image-27-default-x86"; + path = "system-images/android-27/default/x86"; + revision = "27-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86-27_r01.zip; + sha1 = "4ec990fac7b62958decd12e18a4cd389dfe7c582"; + + }; + }; + + + "28".default."x86" = { + name = "system-image-28-default-x86"; + path = "system-images/android-28/default/x86"; + revision = "28-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86-28_r04.zip; + sha1 = "ce03c42d80c0fc6dc47f6455dbee7aa275d02780"; + + }; + }; + + + "21".default."x86_64" = { + name = "system-image-21-default-x86_64"; + path = "system-images/android-21/default/x86_64"; + revision = "21-default-x86_64"; + displayName = "Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86_64-21_r05.zip; + sha1 = "9078a095825a69e5e215713f0866c83cef65a342"; + + }; + }; + + + "22".default."x86_64" = { + name = "system-image-22-default-x86_64"; + path = "system-images/android-22/default/x86_64"; + revision = "22-default-x86_64"; + displayName = "Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86_64-22_r06.zip; + sha1 = "5db3b27f78cd9c4c5092b1cad5a5dd479fb5b2e4"; + + }; + }; + + + "23".default."x86_64" = { + name = "system-image-23-default-x86_64"; + path = "system-images/android-23/default/x86_64"; + revision = "23-default-x86_64"; + displayName = "Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86_64-23_r10.zip; + sha1 = "7cbc291483ca07dc67b71268c5f08a5755f50f51"; + + }; + }; + + + "24".default."x86_64" = { + name = "system-image-24-default-x86_64"; + path = "system-images/android-24/default/x86_64"; + revision = "24-default-x86_64"; + displayName = "Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86_64-24_r08.zip; + sha1 = "f6559e1949a5879f31a9662f4f0e50ad60181684"; + + }; + }; + + + "25".default."x86_64" = { + name = "system-image-25-default-x86_64"; + path = "system-images/android-25/default/x86_64"; + revision = "25-default-x86_64"; + displayName = "Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86_64-25_r01.zip; + sha1 = "7093d7b39216020226ff430a3b7b81c94d31ad37"; + + }; + }; + + + "26".default."x86_64" = { + name = "system-image-26-default-x86_64"; + path = "system-images/android-26/default/x86_64"; + revision = "26-default-x86_64"; + displayName = "Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86_64-26_r01.zip; + sha1 = "432f149c048bffce7f9de526ec65b336daf7a0a3"; + + }; + }; + + + "27".default."x86_64" = { + name = "system-image-27-default-x86_64"; + path = "system-images/android-27/default/x86_64"; + revision = "27-default-x86_64"; + displayName = "Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86_64-27_r01.zip; + sha1 = "2878261011a59ca3de29dc5b457a495fdb268d60"; + + }; + }; + + + "28".default."x86_64" = { + name = "system-image-28-default-x86_64"; + path = "system-images/android-28/default/x86_64"; + revision = "28-default-x86_64"; + displayName = "Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/android/x86_64-28_r04.zip; + sha1 = "d47a85c8f4e9fd57df97814ad8884eeb0f3a0ef0"; + + }; + }; + +} + \ No newline at end of file diff --git a/pkgs/development/mobile/androidenv/generated/system-images-google_apis.nix b/pkgs/development/mobile/androidenv/generated/system-images-google_apis.nix new file mode 100644 index 00000000000..3b0303b86b4 --- /dev/null +++ b/pkgs/development/mobile/androidenv/generated/system-images-google_apis.nix @@ -0,0 +1,502 @@ + +{fetchurl}: + +{ + + + "10".google_apis."armeabi-v7a" = { + name = "system-image-10-google_apis-armeabi-v7a"; + path = "system-images/android-10/google_apis/armeabi-v7a"; + revision = "10-google_apis-armeabi-v7a"; + displayName = "Google APIs ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-10_r05.zip; + sha1 = "cb60221d4ff6686ae96560970d48d9aa60e80b3f"; + + }; + }; + + + "10".google_apis."x86" = { + name = "system-image-10-google_apis-x86"; + path = "system-images/android-10/google_apis/x86"; + revision = "10-google_apis-x86"; + displayName = "Google APIs Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86-10_r05.zip; + sha1 = "b8e8a4ab26890c4a395fb796bf9cb7ceb51c880e"; + + }; + }; + + + "15".google_apis."armeabi-v7a" = { + name = "system-image-15-google_apis-armeabi-v7a"; + path = "system-images/android-15/google_apis/armeabi-v7a"; + revision = "15-google_apis-armeabi-v7a"; + displayName = "Google APIs ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-15_r05.zip; + sha1 = "1ec4e6f9014fcbe694511280f5b497aaf7dd750f"; + + }; + }; + + + "15".google_apis."x86" = { + name = "system-image-15-google_apis-x86"; + path = "system-images/android-15/google_apis/x86"; + revision = "15-google_apis-x86"; + displayName = "Google APIs Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86-15_r05.zip; + sha1 = "f2b98baaf847ff5b82b82fdc6c396b229067307b"; + + }; + }; + + + "16".google_apis."x86" = { + name = "system-image-16-google_apis-x86"; + path = "system-images/android-16/google_apis/x86"; + revision = "16-google_apis-x86"; + displayName = "Google APIs Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86-16_r05.zip; + sha1 = "7edc5c0836fa32f8d453788c002ca0ee1bc5a0a2"; + + }; + }; + + + "17".google_apis."armeabi-v7a" = { + name = "system-image-17-google_apis-armeabi-v7a"; + path = "system-images/android-17/google_apis/armeabi-v7a"; + revision = "17-google_apis-armeabi-v7a"; + displayName = "Google APIs ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-17_r05.zip; + sha1 = "c990f2a81c24a61f9f1da5d5d205f2924ce548ae"; + + }; + }; + + + "17".google_apis."x86" = { + name = "system-image-17-google_apis-x86"; + path = "system-images/android-17/google_apis/x86"; + revision = "17-google_apis-x86"; + displayName = "Google APIs Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86-17_r06.zip; + sha1 = "7864c34faf0402b8923d8c6e609a5339f74cc8d6"; + + }; + }; + + + "18".google_apis."armeabi-v7a" = { + name = "system-image-18-google_apis-armeabi-v7a"; + path = "system-images/android-18/google_apis/armeabi-v7a"; + revision = "18-google_apis-armeabi-v7a"; + displayName = "Google APIs ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-18_r05.zip; + sha1 = "c4e69a96d4584f7e311e358fe4ad0e5d1bf1605b"; + + }; + }; + + + "18".google_apis."x86" = { + name = "system-image-18-google_apis-x86"; + path = "system-images/android-18/google_apis/x86"; + revision = "18-google_apis-x86"; + displayName = "Google APIs Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86-18_r05.zip; + sha1 = "2b34741693eba9419cb6bf1a467596783234d37a"; + + }; + }; + + + "19".google_apis."x86" = { + name = "system-image-19-google_apis-x86"; + path = "system-images/android-19/google_apis/x86"; + revision = "19-google_apis-x86"; + displayName = "Google APIs Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86-19_r37.zip; + sha1 = "f02473420a166b3df7821d8ae5a623524058b4b8"; + + }; + }; + + + "19".google_apis."armeabi-v7a" = { + name = "system-image-19-google_apis-armeabi-v7a"; + path = "system-images/android-19/google_apis/armeabi-v7a"; + revision = "19-google_apis-armeabi-v7a"; + displayName = "Google APIs ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-19_r37.zip; + sha1 = "b388072493ed010fe2ddf607c8c4239f54ce1a0b"; + + }; + }; + + + "21".google_apis."x86" = { + name = "system-image-21-google_apis-x86"; + path = "system-images/android-21/google_apis/x86"; + revision = "21-google_apis-x86"; + displayName = "Google APIs Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86-21_r29.zip; + sha1 = "1f5ac49e0ae603b0bfeda0c94cd7e0b850b9b50e"; + + }; + }; + + + "21".google_apis."x86_64" = { + name = "system-image-21-google_apis-x86_64"; + path = "system-images/android-21/google_apis/x86_64"; + revision = "21-google_apis-x86_64"; + displayName = "Google APIs Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86_64-21_r29.zip; + sha1 = "74ac387aec286fcee01259dcccd4762cbdb4b517"; + + }; + }; + + + "21".google_apis."armeabi-v7a" = { + name = "system-image-21-google_apis-armeabi-v7a"; + path = "system-images/android-21/google_apis/armeabi-v7a"; + revision = "21-google_apis-armeabi-v7a"; + displayName = "Google APIs ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-21_r29.zip; + sha1 = "1d0c428ac7f5eb49c7389ad0beb09f07cb989b45"; + + }; + }; + + + "22".google_apis."x86" = { + name = "system-image-22-google_apis-x86"; + path = "system-images/android-22/google_apis/x86"; + revision = "22-google_apis-x86"; + displayName = "Google APIs Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86-22_r23.zip; + sha1 = "4ceda9ffd69d5b827a8cc2f56ccac62e72982b33"; + + }; + }; + + + "22".google_apis."armeabi-v7a" = { + name = "system-image-22-google_apis-armeabi-v7a"; + path = "system-images/android-22/google_apis/armeabi-v7a"; + revision = "22-google_apis-armeabi-v7a"; + displayName = "Google APIs ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-22_r23.zip; + sha1 = "0a11bdffa6132303baf87e4a531987a74d5f0792"; + + }; + }; + + + "22".google_apis."x86_64" = { + name = "system-image-22-google_apis-x86_64"; + path = "system-images/android-22/google_apis/x86_64"; + revision = "22-google_apis-x86_64"; + displayName = "Google APIs Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86_64-22_r23.zip; + sha1 = "1dfee1c382574c18e3aa2bc2047793169f3ab125"; + + }; + }; + + + "23".google_apis."x86" = { + name = "system-image-23-google_apis-x86"; + path = "system-images/android-23/google_apis/x86"; + revision = "23-google_apis-x86"; + displayName = "Google APIs Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86-23_r30.zip; + sha1 = "1b8fd61e7e7c76d8c05a41b19370edfb015ed240"; + + }; + }; + + + "23".google_apis."x86_64" = { + name = "system-image-23-google_apis-x86_64"; + path = "system-images/android-23/google_apis/x86_64"; + revision = "23-google_apis-x86_64"; + displayName = "Google APIs Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86_64-23_r30.zip; + sha1 = "69a17c23c4e05e81a2820fe49884807fcebba546"; + + }; + }; + + + "23".google_apis."armeabi-v7a" = { + name = "system-image-23-google_apis-armeabi-v7a"; + path = "system-images/android-23/google_apis/armeabi-v7a"; + revision = "23-google_apis-armeabi-v7a"; + displayName = "Google APIs ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-23_r30.zip; + sha1 = "c3966e3a25623a915902d879f90f6d9253dbb619"; + + }; + }; + + + "24".google_apis."x86" = { + name = "system-image-24-google_apis-x86"; + path = "system-images/android-24/google_apis/x86"; + revision = "24-google_apis-x86"; + displayName = "Google APIs Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86-24_r24.zip; + sha1 = "7a1adb4aa13946830763644d014fc9c6cc1f921d"; + + }; + }; + + + "24".google_apis."x86_64" = { + name = "system-image-24-google_apis-x86_64"; + path = "system-images/android-24/google_apis/x86_64"; + revision = "24-google_apis-x86_64"; + displayName = "Google APIs Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86_64-24_r24.zip; + sha1 = "53b26e8868c7cd27dda31c71ee2bcf999d6b9ce2"; + + }; + }; + + + "24".google_apis."armeabi-v7a" = { + name = "system-image-24-google_apis-armeabi-v7a"; + path = "system-images/android-24/google_apis/armeabi-v7a"; + revision = "24-google_apis-armeabi-v7a"; + displayName = "Google APIs ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-24_r24.zip; + sha1 = "85068d55673bbf9417db8d70107ceed0952b5a28"; + + }; + }; + + + "24".google_apis."arm64-v8a" = { + name = "system-image-24-google_apis-arm64-v8a"; + path = "system-images/android-24/google_apis/arm64-v8a"; + revision = "24-google_apis-arm64-v8a"; + displayName = "Google APIs ARM 64 v8a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/arm64-v8a-24_r24.zip; + sha1 = "93ab33d90fcdbb30ca2e927cd3eea447e933dfd9"; + + }; + }; + + + "25".google_apis."x86" = { + name = "system-image-25-google_apis-x86"; + path = "system-images/android-25/google_apis/x86"; + revision = "25-google_apis-x86"; + displayName = "Google APIs Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86-25_r15.zip; + sha1 = "5948473077341265a0b21a53a7e0afc2f980187c"; + + }; + }; + + + "25".google_apis."x86_64" = { + name = "system-image-25-google_apis-x86_64"; + path = "system-images/android-25/google_apis/x86_64"; + revision = "25-google_apis-x86_64"; + displayName = "Google APIs Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86_64-25_r15.zip; + sha1 = "5a81fc218a7fe82cc6af01f7fae54a8000900443"; + + }; + }; + + + "25".google_apis."armeabi-v7a" = { + name = "system-image-25-google_apis-armeabi-v7a"; + path = "system-images/android-25/google_apis/armeabi-v7a"; + revision = "25-google_apis-armeabi-v7a"; + displayName = "Google APIs ARM EABI v7a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-25_r15.zip; + sha1 = "813e25f9a5f6d775670ed6c5e67a39bffa1411bf"; + + }; + }; + + + "25".google_apis."arm64-v8a" = { + name = "system-image-25-google_apis-arm64-v8a"; + path = "system-images/android-25/google_apis/arm64-v8a"; + revision = "25-google_apis-arm64-v8a"; + displayName = "Google APIs ARM 64 v8a System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/arm64-v8a-25_r15.zip; + sha1 = "c3049e32f031140757f71acb5b8f0179e6f27303"; + + }; + }; + + + "26".google_apis."x86" = { + name = "system-image-26-google_apis-x86"; + path = "system-images/android-26/google_apis/x86"; + revision = "26-google_apis-x86"; + displayName = "Google APIs Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86-26_r12.zip; + sha1 = "167c83bcfd87127c7376ce986b34701f74fe87ff"; + + }; + }; + + + "26".google_apis."x86_64" = { + name = "system-image-26-google_apis-x86_64"; + path = "system-images/android-26/google_apis/x86_64"; + revision = "26-google_apis-x86_64"; + displayName = "Google APIs Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86_64-26_r12.zip; + sha1 = "fcd46121c3486e2a759d0707c015e0b12bbab9db"; + + }; + }; + + + "27".google_apis."x86" = { + name = "system-image-27-google_apis-x86"; + path = "system-images/android-27/google_apis/x86"; + revision = "27-google_apis-x86"; + displayName = "Google APIs Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86-27_r08.zip; + sha1 = "623ee2638713b7dfde8044c91280c2afad5a1ade"; + + }; + }; + + + "28".google_apis."x86" = { + name = "system-image-28-google_apis-x86"; + path = "system-images/android-28/google_apis/x86"; + revision = "28-google_apis-x86"; + displayName = "Google APIs Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86-28_r07.zip; + sha1 = "fe5d58355545ae82b0e6a55adc1d41573ac7dec1"; + + }; + }; + + + "28".google_apis."x86_64" = { + name = "system-image-28-google_apis-x86_64"; + path = "system-images/android-28/google_apis/x86_64"; + revision = "28-google_apis-x86_64"; + displayName = "Google APIs Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis/x86_64-28_r07.zip; + sha1 = "068468683a56725326f741f75b6913ee1e7955ff"; + + }; + }; + +} + \ No newline at end of file diff --git a/pkgs/development/mobile/androidenv/generated/system-images-google_apis_playstore.nix b/pkgs/development/mobile/androidenv/generated/system-images-google_apis_playstore.nix new file mode 100644 index 00000000000..a8bea61ff54 --- /dev/null +++ b/pkgs/development/mobile/androidenv/generated/system-images-google_apis_playstore.nix @@ -0,0 +1,97 @@ + +{fetchurl}: + +{ + + + "24".google_apis_playstore."x86" = { + name = "system-image-24-google_apis_playstore-x86"; + path = "system-images/android-24/google_apis_playstore/x86"; + revision = "24-google_apis_playstore-x86"; + displayName = "Google Play Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86-24_r19.zip; + sha1 = "b52e9593ffdde65c1a0970256a32e8967c89cc22"; + + }; + }; + + + "25".google_apis_playstore."x86" = { + name = "system-image-25-google_apis_playstore-x86"; + path = "system-images/android-25/google_apis_playstore/x86"; + revision = "25-google_apis_playstore-x86"; + displayName = "Google Play Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86-25_r09.zip; + sha1 = "6f6668954f7fd52f896fe7528aa122028c9b026c"; + + }; + }; + + + "26".google_apis_playstore."x86" = { + name = "system-image-26-google_apis_playstore-x86"; + path = "system-images/android-26/google_apis_playstore/x86"; + revision = "26-google_apis_playstore-x86"; + displayName = "Google Play Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86-26_r07.zip; + sha1 = "2c8bee7b97a309f099941532e63c42a7d4a06e19"; + + }; + }; + + + "27".google_apis_playstore."x86" = { + name = "system-image-27-google_apis_playstore-x86"; + path = "system-images/android-27/google_apis_playstore/x86"; + revision = "27-google_apis_playstore-x86"; + displayName = "Google Play Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86-27_r03.zip; + sha1 = "eb5a944ceb691ca0648d0a6f0d93893a47223b5d"; + + }; + }; + + + "28".google_apis_playstore."x86" = { + name = "system-image-28-google_apis_playstore-x86"; + path = "system-images/android-28/google_apis_playstore/x86"; + revision = "28-google_apis_playstore-x86"; + displayName = "Google Play Intel x86 Atom System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86-28_r05.zip; + sha1 = "4c570d259e93b0b27f97bad1aca2ac47f1e9b51a"; + + }; + }; + + + "28".google_apis_playstore."x86_64" = { + name = "system-image-28-google_apis_playstore-x86_64"; + path = "system-images/android-28/google_apis_playstore/x86_64"; + revision = "28-google_apis_playstore-x86_64"; + displayName = "Google Play Intel x86 Atom_64 System Image"; + archives.all = fetchurl { + + url = + https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-28_r05.zip; + sha1 = "5f6b238e4c7de41fd2a1c66841093bcf517255a1"; + + }; + }; + +} + \ No newline at end of file diff --git a/pkgs/development/mobile/androidenv/lldb.nix b/pkgs/development/mobile/androidenv/lldb.nix new file mode 100644 index 00000000000..d812a679c02 --- /dev/null +++ b/pkgs/development/mobile/androidenv/lldb.nix @@ -0,0 +1,12 @@ +{deployAndroidPackage, lib, package, os, autoPatchelfHook, pkgs}: + +deployAndroidPackage { + inherit package os; + buildInputs = [ autoPatchelfHook ] + ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.stdenv.cc.cc pkgs.zlib pkgs.openssl.out pkgs.ncurses5 ]; + patchInstructions = lib.optionalString (os == "linux") '' + addAutoPatchelfSearchPath $packageBaseDir/lib + autoPatchelf $packageBaseDir/lib + autoPatchelf $packageBaseDir/bin + ''; +} diff --git a/pkgs/development/mobile/androidenv/make-standalone-toolchain_r10e.patch b/pkgs/development/mobile/androidenv/make-standalone-toolchain_r10e.patch deleted file mode 100644 index 5eeadbbd12d..00000000000 --- a/pkgs/development/mobile/androidenv/make-standalone-toolchain_r10e.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -ru android-ndk-r10c.old/build/tools/make-standalone-toolchain.sh android-ndk-r10c/build/tools/make-standalone-toolchain.sh ---- android-ndk-r10c.old/build/tools/make-standalone-toolchain.sh 2014-10-16 03:46:32.000000000 +0200 -+++ android-ndk-r10c/build/tools/make-standalone-toolchain.sh 2014-10-24 23:46:22.544928306 +0200 -@@ -310,6 +310,9 @@ - # Now copy the GCC toolchain prebuilt binaries - run copy_directory "$TOOLCHAIN_PATH" "$TMPDIR" - -+# Making it writable again -+chmod -R +w "$TMPDIR" -+ - # Replace soft-link mcld by real file - ALL_LDS=`find $TMPDIR -name "*mcld"` - for LD in $ALL_LDS; do diff --git a/pkgs/development/mobile/androidenv/make-standalone-toolchain_r8e.patch b/pkgs/development/mobile/androidenv/make-standalone-toolchain_r8e.patch deleted file mode 100644 index 4a9f9a4a9dd..00000000000 --- a/pkgs/development/mobile/androidenv/make-standalone-toolchain_r8e.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -ru android-ndk-r8e.old/build/tools/make-standalone-toolchain.sh android-ndk-r8e/build/tools/make-standalone-toolchain.sh ---- android-ndk-r8e.old/build/tools/make-standalone-toolchain.sh 2014-10-16 03:46:32.000000000 +0200 -+++ android-ndk-r8e/build/tools/make-standalone-toolchain.sh 2014-10-24 23:46:22.544928306 +0200 -@@ -194,6 +194,9 @@ - # Now copy the GCC toolchain prebuilt binaries - run copy_directory "$TOOLCHAIN_PATH" "$TMPDIR" - -+# Making it writable again -+chmod -R +w "$TMPDIR" -+ - if [ -n "$LLVM_VERSION" ]; then - # Copy the clang/llvm toolchain prebuilt binaries - run copy_directory "$LLVM_TOOLCHAIN_PATH" "$TMPDIR" diff --git a/pkgs/development/mobile/androidenv/make_standalone_toolchain.py_16b.patch b/pkgs/development/mobile/androidenv/make_standalone_toolchain.py_16b.patch deleted file mode 100644 index 70b1f7e7f4a..00000000000 --- a/pkgs/development/mobile/androidenv/make_standalone_toolchain.py_16b.patch +++ /dev/null @@ -1,119 +0,0 @@ -diff --git a/build/tools/make_standalone_toolchain.py b/build/tools/make_standalone_toolchain.py -index a6ae8448..2739912e 100755 ---- a/build/tools/make_standalone_toolchain.py -+++ b/build/tools/make_standalone_toolchain.py -@@ -398,7 +398,9 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, - sysroot_path, stl, host_tag): - """Create a standalone toolchain.""" - copy_directory_contents(gcc_path, install_path) -+ os.system('chmod -R +w "{}"'.format(install_path)) - copy_directory_contents(clang_path, install_path) -+ os.system('chmod -R +w "{}"'.format(install_path)) - triple = get_triple(arch) - make_clang_scripts( - install_path, triple, api, host_tag.startswith('windows')) -@@ -406,23 +408,28 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, - sysroot = os.path.join(NDK_DIR, 'sysroot') - install_sysroot = os.path.join(install_path, 'sysroot') - shutil.copytree(sysroot, install_sysroot) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - arch_headers = os.path.join(sysroot, 'usr/include', triple) - copy_directory_contents( - arch_headers, os.path.join(install_sysroot, 'usr/include')) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - lib_path = os.path.join(sysroot_path, 'usr/lib') - lib_install = os.path.join(install_sysroot, 'usr/lib') - if os.path.exists(lib_path): - shutil.copytree(lib_path, lib_install) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - lib64_path = os.path.join(sysroot_path, 'usr/lib64') - lib64_install = os.path.join(install_sysroot, 'usr/lib64') - if os.path.exists(lib64_path): - shutil.copytree(lib64_path, lib64_install) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - prebuilt_path = os.path.join(NDK_DIR, 'prebuilt', host_tag) - copy_directory_contents(prebuilt_path, install_path) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - toolchain_lib_dir = os.path.join(gcc_path, 'lib/gcc', triple) - dirs = os.listdir(toolchain_lib_dir) -@@ -444,29 +451,37 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, - if stl == 'gnustl': - gnustl_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/gnu-libstdc++/4.9') - shutil.copytree(os.path.join(gnustl_dir, 'include'), cxx_headers) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - for abi in get_abis(arch): - copy_gnustl_abi_headers(gnustl_dir, install_path, gcc_ver, triple, - abi) -+ os.system('chmod -R +w "{}"'.format(install_path)) - copy_gnustl_libs(gnustl_dir, install_path, triple, abi) -+ os.system('chmod -R +w "{}"'.format(install_path)) - if arch == 'arm': - copy_gnustl_abi_headers(gnustl_dir, install_path, gcc_ver, - triple, abi, thumb=True) -+ os.system('chmod -R +w "{}"'.format(install_path)) - copy_gnustl_libs(gnustl_dir, install_path, triple, abi, - thumb=True) -+ os.system('chmod -R +w "{}"'.format(install_path)) - elif stl == 'libc++': - libcxx_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/llvm-libc++') - libcxxabi_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/llvm-libc++abi') - support_dir = os.path.join(NDK_DIR, 'sources/android/support') - copy_directory_contents(os.path.join(libcxx_dir, 'include'), - cxx_headers) -+ os.system('chmod -R +w "{}"'.format(install_path)) - copy_directory_contents(os.path.join(support_dir, 'include'), - support_headers) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - # I have no idea why we need this, but the old one does it too. - copy_directory_contents( - os.path.join(libcxxabi_dir, 'include'), - os.path.join(install_path, 'include/llvm-libc++abi/include')) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - headers = [ - 'cxxabi.h', -@@ -482,21 +497,25 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, - dest_libdir = get_dest_libdir(install_path, triple, abi) - include_libunwind = arch == 'arm' - copy_libcxx_libs(src_libdir, dest_libdir, include_libunwind) -+ os.system('chmod -R +w "{}"'.format(install_path)) - if arch == 'arm': - thumb_libdir = os.path.join(dest_libdir, 'thumb') - copy_libcxx_libs(src_libdir, thumb_libdir, include_libunwind) -+ os.system('chmod -R +w "{}"'.format(install_path)) - elif stl == 'stlport': - stlport_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/stlport') - gabixx_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/gabi++') - - copy_directory_contents( - os.path.join(stlport_dir, 'stlport'), cxx_headers) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - # Same as for libc++. Not sure why we have this extra directory, but - # keep the cruft for diff. - copy_directory_contents( - os.path.join(gabixx_dir, 'include'), - os.path.join(install_path, 'include/gabi++/include')) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - headers = [ - 'cxxabi.h', -@@ -512,9 +531,11 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, - - for abi in get_abis(arch): - copy_stlport_libs(stlport_dir, install_path, triple, abi) -+ os.system('chmod -R +w "{}"'.format(install_path)) - if arch == 'arm': - copy_stlport_libs(stlport_dir, install_path, triple, abi, - thumb=True) -+ os.system('chmod -R +w "{}"'.format(install_path)) - else: - raise ValueError(stl) - diff --git a/pkgs/development/mobile/androidenv/make_standalone_toolchain.py_17c.patch b/pkgs/development/mobile/androidenv/make_standalone_toolchain.py_17c.patch deleted file mode 100644 index 88ce69be3e8..00000000000 --- a/pkgs/development/mobile/androidenv/make_standalone_toolchain.py_17c.patch +++ /dev/null @@ -1,119 +0,0 @@ -diff --git a/build/tools/make_standalone_toolchain.py b/build/tools/make_standalone_toolchain.py -index daba3351..424b7fef 100755 ---- a/build/tools/make_standalone_toolchain.py -+++ b/build/tools/make_standalone_toolchain.py -@@ -421,7 +421,9 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, - platforms_path, stl, host_tag): - """Create a standalone toolchain.""" - copy_directory_contents(gcc_path, install_path) -+ os.system('chmod -R +w "{}"'.format(install_path)) - copy_directory_contents(clang_path, install_path) -+ os.system('chmod -R +w "{}"'.format(install_path)) - triple = get_triple(arch) - make_clang_scripts( - install_path, triple, api, host_tag.startswith('windows')) -@@ -432,9 +434,11 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, - install_headers = os.path.join(install_sysroot, 'usr/include') - os.makedirs(os.path.dirname(install_headers)) - shutil.copytree(headers, install_headers) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - arch_headers = os.path.join(sysroot, 'usr/include', triple) - copy_directory_contents(arch_headers, os.path.join(install_headers)) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - for lib_suffix in ('', '64'): - lib_path = os.path.join(platforms_path, 'usr/lib{}'.format(lib_suffix)) -@@ -442,20 +446,24 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, - install_sysroot, 'usr/lib{}'.format(lib_suffix)) - if os.path.exists(lib_path): - shutil.copytree(lib_path, lib_install) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - static_lib_path = os.path.join(sysroot, 'usr/lib', triple) - static_lib_install = os.path.join(install_sysroot, 'usr/lib') - if arch == 'x86_64': - static_lib_install += '64' - copy_directory_contents(static_lib_path, static_lib_install) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - prebuilt_path = os.path.join(NDK_DIR, 'prebuilt', host_tag) - copy_directory_contents(prebuilt_path, install_path) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - gdbserver_path = os.path.join( - NDK_DIR, 'prebuilt', 'android-' + arch, 'gdbserver') - gdbserver_install = os.path.join(install_path, 'share', 'gdbserver') - shutil.copytree(gdbserver_path, gdbserver_install) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - toolchain_lib_dir = os.path.join(gcc_path, 'lib/gcc', triple) - dirs = os.listdir(toolchain_lib_dir) -@@ -481,26 +489,33 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, - for abi in get_abis(arch): - copy_gnustl_abi_headers(gnustl_dir, install_path, gcc_ver, triple, - abi) -+ os.system('chmod -R +w "{}"'.format(install_path)) - copy_gnustl_libs(gnustl_dir, install_path, triple, abi) -+ os.system('chmod -R +w "{}"'.format(install_path)) - if arch == 'arm': - copy_gnustl_abi_headers(gnustl_dir, install_path, gcc_ver, - triple, abi, thumb=True) -+ os.system('chmod -R +w "{}"'.format(install_path)) - copy_gnustl_libs(gnustl_dir, install_path, triple, abi, - thumb=True) -+ os.system('chmod -R +w "{}"'.format(install_path)) - elif stl == 'libc++': - libcxx_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/llvm-libc++') - libcxxabi_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/llvm-libc++abi') - copy_directory_contents(os.path.join(libcxx_dir, 'include'), - cxx_headers) -+ os.system('chmod -R +w "{}"'.format(install_path)) - if api < 21: - support_dir = os.path.join(NDK_DIR, 'sources/android/support') - copy_directory_contents(os.path.join(support_dir, 'include'), - support_headers) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - # I have no idea why we need this, but the old one does it too. - copy_directory_contents( - os.path.join(libcxxabi_dir, 'include'), - os.path.join(install_path, 'include/llvm-libc++abi/include')) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - headers = [ - 'cxxabi.h', -@@ -515,21 +530,25 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, - src_libdir = get_src_libdir(libcxx_dir, abi) - dest_libdir = get_dest_libdir(install_path, triple, abi) - copy_libcxx_libs(src_libdir, dest_libdir, abi, api) -+ os.system('chmod -R +w "{}"'.format(install_path)) - if arch == 'arm': - thumb_libdir = os.path.join(dest_libdir, 'thumb') - copy_libcxx_libs(src_libdir, thumb_libdir, abi, api) -+ os.system('chmod -R +w "{}"'.format(install_path)) - elif stl == 'stlport': - stlport_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/stlport') - gabixx_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/gabi++') - - copy_directory_contents( - os.path.join(stlport_dir, 'stlport'), cxx_headers) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - # Same as for libc++. Not sure why we have this extra directory, but - # keep the cruft for diff. - copy_directory_contents( - os.path.join(gabixx_dir, 'include'), - os.path.join(install_path, 'include/gabi++/include')) -+ os.system('chmod -R +w "{}"'.format(install_path)) - - headers = [ - 'cxxabi.h', -@@ -548,6 +567,7 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, - if arch == 'arm': - copy_stlport_libs(stlport_dir, install_path, triple, abi, - thumb=True) -+ os.system('chmod -R +w "{}"'.format(install_path)) - else: - raise ValueError(stl) - diff --git a/pkgs/development/mobile/androidenv/ndk-bundle/default.nix b/pkgs/development/mobile/androidenv/ndk-bundle/default.nix new file mode 100644 index 00000000000..5d70a9f0a1c --- /dev/null +++ b/pkgs/development/mobile/androidenv/ndk-bundle/default.nix @@ -0,0 +1,51 @@ +{deployAndroidPackage, lib, package, os, autoPatchelfHook, makeWrapper, pkgs, platform-tools}: + +let + runtime_paths = lib.makeBinPath [ pkgs.coreutils pkgs.file pkgs.findutils pkgs.gawk pkgs.gnugrep pkgs.gnused pkgs.jdk pkgs.python3 pkgs.which ] + ":${platform-tools}/platform-tools"; +in +deployAndroidPackage { + inherit package os; + buildInputs = [ autoPatchelfHook makeWrapper pkgs.python2 ] + ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.stdenv.cc.cc pkgs.ncurses5 pkgs.zlib pkgs.libcxx.out ]; + patchInstructions = lib.optionalString (os == "linux") '' + patchShebangs . + + patch -p1 \ + --no-backup-if-mismatch < ${./make_standalone_toolchain.py_18.patch} + wrapProgram $(pwd)/build/tools/make_standalone_toolchain.py --prefix PATH : "${runtime_paths}" + + # TODO: allow this stuff + rm -rf docs tests + + # Patch the executables of the toolchains, but not the libraries -- they are needed for crosscompiling + + addAutoPatchelfSearchPath $out/libexec/android-sdk/ndk-bundle/toolchains/renderscript/prebuilt/linux-x86_64/lib64 + find toolchains -type d -name bin | while read dir + do + autoPatchelf "$dir" + done + + # fix ineffective PROGDIR / MYNDKDIR determination + for i in ndk-build + do + sed -i -e 's|^PROGDIR=`dirname $0`|PROGDIR=`dirname $(readlink -f $(which $0))`|' $i + done + + # Patch executables + autoPatchelf prebuilt/linux-x86_64 + + # wrap + for i in ndk-build + do + wrapProgram "$(pwd)/$i" --prefix PATH : "${runtime_paths}" + done + + # make some executables available in PATH + mkdir -p $out/bin + for i in ndk-build + do + ln -sf ../../libexec/android-sdk/ndk-bundle/$i $out/bin/$i + done + ''; + noAuditTmpdir = true; # Audit script gets invoked by the build/ component in the path for the make standalone script +} diff --git a/pkgs/development/mobile/androidenv/ndk-bundle/make_standalone_toolchain.py_18.patch b/pkgs/development/mobile/androidenv/ndk-bundle/make_standalone_toolchain.py_18.patch new file mode 100644 index 00000000000..7af2d44a0f2 --- /dev/null +++ b/pkgs/development/mobile/androidenv/ndk-bundle/make_standalone_toolchain.py_18.patch @@ -0,0 +1,44 @@ +diff -Naur android-ndk-r18b/build/tools/make_standalone_toolchain.py android-ndk-r18b-new/build/tools/make_standalone_toolchain.py +--- android-ndk-r18b/build/tools/make_standalone_toolchain.py 2018-10-11 12:49:38.000000000 +0200 ++++ android-ndk-r18b-new/build/tools/make_standalone_toolchain.py 2018-11-20 21:55:52.689991420 +0100 +@@ -30,7 +30,7 @@ + import sys + import tempfile + import textwrap +- ++import subprocess + + THIS_DIR = os.path.realpath(os.path.dirname(__file__)) + NDK_DIR = os.path.realpath(os.path.join(THIS_DIR, '../..')) +@@ -173,6 +173,7 @@ + logger().debug('Copying %s', src_file) + shutil.copy2(src_file, dst_dir) + ++ subprocess.check_call(["chmod", "-R", "+w", dst]) + + def make_clang_scripts(install_dir, triple, api, windows): + """Creates Clang wrapper scripts. +@@ -365,6 +366,7 @@ + install_headers = os.path.join(install_sysroot, 'usr/include') + os.makedirs(os.path.dirname(install_headers)) + shutil.copytree(headers, install_headers) ++ subprocess.check_call(["chmod", "-R", "+w", install_path]) + + arch_headers = os.path.join(sysroot, 'usr/include', triple) + copy_directory_contents(arch_headers, os.path.join(install_headers)) +@@ -375,6 +377,7 @@ + install_sysroot, 'usr/lib{}'.format(lib_suffix)) + if os.path.exists(lib_path): + shutil.copytree(lib_path, lib_install) ++ subprocess.check_call(["chmod", "-R", "+w", install_path]) + + static_lib_path = os.path.join(sysroot, 'usr/lib', triple) + static_lib_install = os.path.join(install_sysroot, 'usr/lib') +@@ -389,6 +392,7 @@ + NDK_DIR, 'prebuilt', 'android-' + arch, 'gdbserver') + gdbserver_install = os.path.join(install_path, 'share', 'gdbserver') + shutil.copytree(gdbserver_path, gdbserver_install) ++ subprocess.check_call(["chmod", "-R", "+w", install_path]) + + toolchain_lib_dir = os.path.join(gcc_path, 'lib/gcc', triple) + dirs = os.listdir(toolchain_lib_dir) diff --git a/pkgs/development/mobile/androidenv/platform-tools.nix b/pkgs/development/mobile/androidenv/platform-tools.nix index 2cfb11bffbc..9d2f6eb6075 100644 --- a/pkgs/development/mobile/androidenv/platform-tools.nix +++ b/pkgs/development/mobile/androidenv/platform-tools.nix @@ -1,51 +1,19 @@ -{ buildPackages, pkgs }: +{deployAndroidPackage, lib, package, os, autoPatchelfHook, pkgs}: -let - inherit (buildPackages) fetchurl unzip; - inherit (pkgs) stdenv zlib; -in - -stdenv.mkDerivation rec { - version = "28.0.1"; - name = "android-platform-tools-r${version}"; - src = if (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux") - then fetchurl { - url = "https://dl.google.com/android/repository/platform-tools_r${version}-linux.zip"; - sha256 = "14kkr9xib5drjjd0bclm0jn3f5xlmlg652mbv4xd83cv7a53a49y"; - } - else if stdenv.hostPlatform.system == "x86_64-darwin" then fetchurl { - url = "https://dl.google.com/android/repository/platform-tools_r${version}-darwin.zip"; - sha256 = "117syrddq1haicwyjzd1p4pfphj0wldjs7w10fpk3n2b7yp37j1v"; - } - else throw "System ${stdenv.hostPlatform.system} not supported!"; - - buildCommand = '' - mkdir -p $out - cd $out - unzip $src - cd platform-tools - - ${stdenv.lib.optionalString (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux") - '' - for i in adb dmtracedump e2fsdroid fastboot hprof-conv make_f2fs mke2fs sload_f2fs sqlite3 - do - patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 $i - patchelf --set-rpath ${stdenv.cc.cc.lib}/lib:`pwd`/lib64 $i - done - - for i in etc1tool - do - patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 $i - patchelf --set-rpath ${stdenv.cc.cc.lib}/lib:${zlib.out}/lib:`pwd`/lib64 $i - done - ''} +deployAndroidPackage { + inherit package os; + buildInputs = [ autoPatchelfHook ] + ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.zlib pkgs.ncurses5 ]; + patchInstructions = lib.optionalString (os == "linux") '' + addAutoPatchelfSearchPath $packageBaseDir/lib64 + autoPatchelf --no-recurse $packageBaseDir/lib64 + autoPatchelf --no-recurse $packageBaseDir mkdir -p $out/bin - for i in adb fastboot + cd $out/bin + find $out/libexec/android-sdk/platform-tools -type f -executable -mindepth 1 -maxdepth 1 -not -name sqlite3 | while read i do - ln -sf $out/platform-tools/$i $out/bin/$i + ln -s $i done ''; - - nativeBuildInputs = [ unzip ]; } diff --git a/pkgs/development/mobile/androidenv/platforms-linux.nix b/pkgs/development/mobile/androidenv/platforms-linux.nix deleted file mode 100644 index dbb295f8cf5..00000000000 --- a/pkgs/development/mobile/androidenv/platforms-linux.nix +++ /dev/null @@ -1,343 +0,0 @@ - -# This file is generated from generate-platforms.sh. DO NOT EDIT. -# Execute generate-platforms.sh or fetch.sh to update the file. -{stdenv, fetchurl, unzip}: - -let - buildPlatform = args: - stdenv.mkDerivation (args // { - buildInputs = [ unzip ]; - buildCommand = '' - mkdir -p $out - cd $out - unzip $src - ''; - }); -in -{ - - platform_2 = buildPlatform { - name = "android-platform-1.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-1.1_r1-linux.zip; - sha1 = "c054d25c9b4c6251fa49c2f9c54336998679d3fe"; - }; - meta = { - description = "Android SDK Platform 2"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_3 = buildPlatform { - name = "android-platform-1.5"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-1.5_r04-linux.zip; - sha1 = "5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c"; - }; - meta = { - description = "Android SDK Platform 3"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_4 = buildPlatform { - name = "android-platform-1.6"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-1.6_r03-linux.zip; - sha1 = "483ed088e45bbdf3444baaf9250c8b02e5383cb0"; - }; - meta = { - description = "Android SDK Platform 4"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_5 = buildPlatform { - name = "android-platform-2.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-2.0_r01-linux.zip; - sha1 = "be9be6a99ca32875c96ec7f91160ca9fce7e3c7d"; - }; - meta = { - description = "Android SDK Platform 5"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_6 = buildPlatform { - name = "android-platform-2.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-2.0.1_r01-linux.zip; - sha1 = "ce2c971dce352aa28af06bda92a070116aa5ae1a"; - }; - meta = { - description = "Android SDK Platform 6"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_7 = buildPlatform { - name = "android-platform-2.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-2.1_r03.zip; - sha1 = "5ce51b023ac19f8738500b1007a1da5de2349a1e"; - }; - meta = { - description = "Android SDK Platform 7"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_8 = buildPlatform { - name = "android-platform-2.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-2.2_r03.zip; - sha1 = "231262c63eefdff8fd0386e9ccfefeb27a8f9202"; - }; - meta = { - description = "Android SDK Platform 8"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_9 = buildPlatform { - name = "android-platform-2.3.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-2.3.1_r02.zip; - sha1 = "209f8a7a8b2cb093fce858b8b55fed3ba5206773"; - }; - meta = { - description = "Android SDK Platform 9"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_10 = buildPlatform { - name = "android-platform-2.3.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-2.3.3_r02.zip; - sha1 = "887e37783ec32f541ea33c2c649dda648e8e6fb3"; - }; - meta = { - description = "Android SDK Platform 10"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_11 = buildPlatform { - name = "android-platform-3.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-3.0_r02.zip; - sha1 = "2c7d4bd13f276e76f6bbd87315fe27aba351dd37"; - }; - meta = { - description = "Android SDK Platform 11"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_12 = buildPlatform { - name = "android-platform-3.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-3.1_r03.zip; - sha1 = "4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf"; - }; - meta = { - description = "Android SDK Platform 12"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_13 = buildPlatform { - name = "android-platform-3.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-3.2_r01.zip; - sha1 = "6189a500a8c44ae73a439604363de93591163cd9"; - }; - meta = { - description = "Android SDK Platform 13"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_14 = buildPlatform { - name = "android-platform-4.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-14_r04.zip; - sha1 = "d4f1d8fbca25225b5f0e7a0adf0d39c3d6e60b3c"; - }; - meta = { - description = "Android SDK Platform 14"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_15 = buildPlatform { - name = "android-platform-4.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-15_r05.zip; - sha1 = "69ab4c443b37184b2883af1fd38cc20cbeffd0f3"; - }; - meta = { - description = "Android SDK Platform 15"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_16 = buildPlatform { - name = "android-platform-4.1.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-16_r05.zip; - sha1 = "12a5ce6235a76bc30f62c26bda1b680e336abd07"; - }; - meta = { - description = "Android SDK Platform 16"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_17 = buildPlatform { - name = "android-platform-4.2.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-17_r03.zip; - sha1 = "dbe14101c06e6cdb34e300393e64e64f8c92168a"; - }; - meta = { - description = "Android SDK Platform 17"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_18 = buildPlatform { - name = "android-platform-4.3.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-18_r03.zip; - sha1 = "e6b09b3505754cbbeb4a5622008b907262ee91cb"; - }; - meta = { - description = "Android SDK Platform 18"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_19 = buildPlatform { - name = "android-platform-4.4.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-19_r04.zip; - sha1 = "2ff20d89e68f2f5390981342e009db5a2d456aaa"; - }; - meta = { - description = "Android SDK Platform 19"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_20 = buildPlatform { - name = "android-platform-4.4W.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-20_r02.zip; - sha1 = "a9251f8a3f313ab05834a07a963000927637e01d"; - }; - meta = { - description = "Android SDK Platform 20"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_21 = buildPlatform { - name = "android-platform-5.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-21_r02.zip; - sha1 = "53536556059bb29ae82f414fd2e14bc335a4eb4c"; - }; - meta = { - description = "Android SDK Platform 21"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_22 = buildPlatform { - name = "android-platform-5.1.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-22_r02.zip; - sha1 = "5d1bd10fea962b216a0dece1247070164760a9fc"; - }; - meta = { - description = "Android SDK Platform 22"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_23 = buildPlatform { - name = "android-platform-6.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/platform-23_r03.zip; - sha1 = "027fede3de6aa1649115bbd0bffff30ccd51c9a0"; - }; - meta = { - description = "Android SDK Platform 23"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_24 = buildPlatform { - name = "android-platform-7.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/platform-24_r02.zip; - sha1 = "8912da3d4bfe7a9f28f0e5ce92d3a8dc96342aee"; - }; - meta = { - description = "Android SDK Platform 24"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_25 = buildPlatform { - name = "android-platform-7.1.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/platform-25_r03.zip; - sha1 = "00c2c5765e8988504be10a1eb66ed71fcdbd7fe8"; - }; - meta = { - description = "Android SDK Platform 25"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_26 = buildPlatform { - name = "android-platform-8.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/platform-26_r02.zip; - sha1 = "e4ae5d7aa557a3c827135838ee400da8443ac4ef"; - }; - meta = { - description = "Android SDK Platform 26"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_27 = buildPlatform { - name = "android-platform-8.1.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/platform-27_r03.zip; - sha1 = "35f747e7e70b2d16e0e4246876be28d15ea1c353"; - }; - meta = { - description = "Android SDK Platform 27"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_28 = buildPlatform { - name = "android-platform-9"; - src = fetchurl { - url = https://dl.google.com/android/repository/platform-28_r06.zip; - sha1 = "9a4e52b1d55bd2e24216b150aafae2503d3efba6"; - }; - meta = { - description = "Android SDK Platform 28"; - homepage = http://developer.android.com/sdk/; - }; - }; - -} diff --git a/pkgs/development/mobile/androidenv/platforms-macosx.nix b/pkgs/development/mobile/androidenv/platforms-macosx.nix deleted file mode 100644 index 30ed94e516a..00000000000 --- a/pkgs/development/mobile/androidenv/platforms-macosx.nix +++ /dev/null @@ -1,343 +0,0 @@ - -# This file is generated from generate-platforms.sh. DO NOT EDIT. -# Execute generate-platforms.sh or fetch.sh to update the file. -{stdenv, fetchurl, unzip}: - -let - buildPlatform = args: - stdenv.mkDerivation (args // { - buildInputs = [ unzip ]; - buildCommand = '' - mkdir -p $out - cd $out - unzip $src - ''; - }); -in -{ - - platform_2 = buildPlatform { - name = "android-platform-1.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-1.1_r1-macosx.zip; - sha1 = "e21dbcff45b7356657449ebb3c7e941be2bb5ebe"; - }; - meta = { - description = "Android SDK Platform 2"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_3 = buildPlatform { - name = "android-platform-1.5"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-1.5_r04-macosx.zip; - sha1 = "d3a67c2369afa48b6c3c7624de5031c262018d1e"; - }; - meta = { - description = "Android SDK Platform 3"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_4 = buildPlatform { - name = "android-platform-1.6"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-1.6_r03-macosx.zip; - sha1 = "bdafad44f5df9f127979bdb21a1fdd87ee3cd625"; - }; - meta = { - description = "Android SDK Platform 4"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_5 = buildPlatform { - name = "android-platform-2.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-2.0_r01-macosx.zip; - sha1 = "2a866d0870dbba18e0503cd41e5fae988a21b314"; - }; - meta = { - description = "Android SDK Platform 5"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_6 = buildPlatform { - name = "android-platform-2.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-2.0.1_r01-macosx.zip; - sha1 = "c3096f80d75a6fc8cb38ef8a18aec920e53d42c0"; - }; - meta = { - description = "Android SDK Platform 6"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_7 = buildPlatform { - name = "android-platform-2.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-2.1_r03.zip; - sha1 = "5ce51b023ac19f8738500b1007a1da5de2349a1e"; - }; - meta = { - description = "Android SDK Platform 7"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_8 = buildPlatform { - name = "android-platform-2.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-2.2_r03.zip; - sha1 = "231262c63eefdff8fd0386e9ccfefeb27a8f9202"; - }; - meta = { - description = "Android SDK Platform 8"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_9 = buildPlatform { - name = "android-platform-2.3.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-2.3.1_r02.zip; - sha1 = "209f8a7a8b2cb093fce858b8b55fed3ba5206773"; - }; - meta = { - description = "Android SDK Platform 9"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_10 = buildPlatform { - name = "android-platform-2.3.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-2.3.3_r02.zip; - sha1 = "887e37783ec32f541ea33c2c649dda648e8e6fb3"; - }; - meta = { - description = "Android SDK Platform 10"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_11 = buildPlatform { - name = "android-platform-3.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-3.0_r02.zip; - sha1 = "2c7d4bd13f276e76f6bbd87315fe27aba351dd37"; - }; - meta = { - description = "Android SDK Platform 11"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_12 = buildPlatform { - name = "android-platform-3.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-3.1_r03.zip; - sha1 = "4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf"; - }; - meta = { - description = "Android SDK Platform 12"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_13 = buildPlatform { - name = "android-platform-3.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-3.2_r01.zip; - sha1 = "6189a500a8c44ae73a439604363de93591163cd9"; - }; - meta = { - description = "Android SDK Platform 13"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_14 = buildPlatform { - name = "android-platform-4.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-14_r04.zip; - sha1 = "d4f1d8fbca25225b5f0e7a0adf0d39c3d6e60b3c"; - }; - meta = { - description = "Android SDK Platform 14"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_15 = buildPlatform { - name = "android-platform-4.0.3"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-15_r05.zip; - sha1 = "69ab4c443b37184b2883af1fd38cc20cbeffd0f3"; - }; - meta = { - description = "Android SDK Platform 15"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_16 = buildPlatform { - name = "android-platform-4.1.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-16_r05.zip; - sha1 = "12a5ce6235a76bc30f62c26bda1b680e336abd07"; - }; - meta = { - description = "Android SDK Platform 16"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_17 = buildPlatform { - name = "android-platform-4.2.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-17_r03.zip; - sha1 = "dbe14101c06e6cdb34e300393e64e64f8c92168a"; - }; - meta = { - description = "Android SDK Platform 17"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_18 = buildPlatform { - name = "android-platform-4.3.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-18_r03.zip; - sha1 = "e6b09b3505754cbbeb4a5622008b907262ee91cb"; - }; - meta = { - description = "Android SDK Platform 18"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_19 = buildPlatform { - name = "android-platform-4.4.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-19_r04.zip; - sha1 = "2ff20d89e68f2f5390981342e009db5a2d456aaa"; - }; - meta = { - description = "Android SDK Platform 19"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_20 = buildPlatform { - name = "android-platform-4.4W.2"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-20_r02.zip; - sha1 = "a9251f8a3f313ab05834a07a963000927637e01d"; - }; - meta = { - description = "Android SDK Platform 20"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_21 = buildPlatform { - name = "android-platform-5.0.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-21_r02.zip; - sha1 = "53536556059bb29ae82f414fd2e14bc335a4eb4c"; - }; - meta = { - description = "Android SDK Platform 21"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_22 = buildPlatform { - name = "android-platform-5.1.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/android-22_r02.zip; - sha1 = "5d1bd10fea962b216a0dece1247070164760a9fc"; - }; - meta = { - description = "Android SDK Platform 22"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_23 = buildPlatform { - name = "android-platform-6.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/platform-23_r03.zip; - sha1 = "027fede3de6aa1649115bbd0bffff30ccd51c9a0"; - }; - meta = { - description = "Android SDK Platform 23"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_24 = buildPlatform { - name = "android-platform-7.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/platform-24_r02.zip; - sha1 = "8912da3d4bfe7a9f28f0e5ce92d3a8dc96342aee"; - }; - meta = { - description = "Android SDK Platform 24"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_25 = buildPlatform { - name = "android-platform-7.1.1"; - src = fetchurl { - url = https://dl.google.com/android/repository/platform-25_r03.zip; - sha1 = "00c2c5765e8988504be10a1eb66ed71fcdbd7fe8"; - }; - meta = { - description = "Android SDK Platform 25"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_26 = buildPlatform { - name = "android-platform-8.0.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/platform-26_r02.zip; - sha1 = "e4ae5d7aa557a3c827135838ee400da8443ac4ef"; - }; - meta = { - description = "Android SDK Platform 26"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_27 = buildPlatform { - name = "android-platform-8.1.0"; - src = fetchurl { - url = https://dl.google.com/android/repository/platform-27_r03.zip; - sha1 = "35f747e7e70b2d16e0e4246876be28d15ea1c353"; - }; - meta = { - description = "Android SDK Platform 27"; - homepage = http://developer.android.com/sdk/; - }; - }; - - platform_28 = buildPlatform { - name = "android-platform-9"; - src = fetchurl { - url = https://dl.google.com/android/repository/platform-28_r06.zip; - sha1 = "9a4e52b1d55bd2e24216b150aafae2503d3efba6"; - }; - meta = { - description = "Android SDK Platform 28"; - homepage = http://developer.android.com/sdk/; - }; - }; - -} diff --git a/pkgs/development/mobile/androidenv/querypackages.sh b/pkgs/development/mobile/androidenv/querypackages.sh new file mode 100644 index 00000000000..0f31396b876 --- /dev/null +++ b/pkgs/development/mobile/androidenv/querypackages.sh @@ -0,0 +1,27 @@ +#!/bin/sh -e + +if [ "$1" = "" ] +then + echo "Please select a package set: 'packages', 'addons', 'system-images'" >&2 + exit 1 +fi + +if [ "$2" = "" ] +then + echo "Please select a package group:" >&2 + ( cat < - - - - Terms and Conditions - -This is the Android Software Development Kit License Agreement - -1. Introduction - -1.1 The Android Software Development Kit (referred to in the License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK. - -1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. - -1.3 A "compatible implementation" means any Android device that (i) complies with the Android Compatibility Definition document, which can be found at the Android compatibility website (http://source.android.com/compatibility) and which may be updated from time to time; and (ii) successfully passes the Android Compatibility Test Suite (CTS). - -1.4 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. - - -2. Accepting the License Agreement - -2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement. - -2.2 By clicking to accept, you hereby agree to the terms of the License Agreement. - -2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries, including the country in which you are resident or from which you use the SDK. - -2.4 If you are agreeing to be bound by the License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity. - - -3. SDK License from Google - -3.1 Subject to the terms of the License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the SDK solely to develop applications for compatible implementations of Android. - -3.2 You may not use this SDK to develop applications for other platforms (including non-compatible implementations of Android) or to develop another SDK. You are of course free to develop applications for other platforms, including non-compatible implementations of Android, provided that this SDK is not used for that purpose. - -3.3 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. - -3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK. - -3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. - -3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you. - -3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. - -3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK. - - -4. Use of the SDK by You - -4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications. - -4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). - -4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so. - -4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier. - -4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. - -4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. - -5. Your Developer Credentials - -5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. - -6. Privacy and Information - -6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected. - -6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy. - - -7. Third Party Applications - -7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. - -7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. - -7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, the License Agreement does not affect your legal relationship with these third parties. - - -8. Using Android APIs - -8.1 Google Data APIs - -8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. - -8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. - - -9. Terminating the License Agreement - -9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below. - -9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials. - -9.3 Google may at any time, terminate the License Agreement with you if: -(A) you have breached any provision of the License Agreement; or -(B) Google is required to do so by law; or -(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or -(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable. - -9.4 When the License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst the License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. - - -10. DISCLAIMER OF WARRANTIES - -10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. - -10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. - -10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - - -11. LIMITATION OF LIABILITY - -11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. - - -12. Indemnification - -12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with the License Agreement. - - -13. Changes to the License Agreement - -13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available. - - -14. General Legal Terms - -14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK. - -14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. - -14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. - -14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. - -14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. - -14.6 The rights granted in the License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under the License Agreement without the prior written approval of the other party. - -14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. - - -November 20, 2015 - To get started with the Android SDK Preview, you must agree to the following terms and conditions. -As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk. The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data. - -This is the Android SDK Preview License Agreement (the "License Agreement"). - -1. Introduction - -1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview. - -1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. - -1.3 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. - -2. Accepting the License Agreement - -2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement. - -2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement. - -2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview. - -2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity. - -3. Preview License from Google - -3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform. - -3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. - -3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview. - -3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview. - -3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights. - -3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you. - -3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. - -3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview. - -4. Use of the Preview by You - -4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications. - -4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). - -4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so. - -4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party. - -4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. - -4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. - -4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released. - -5. Your Developer Credentials - -5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. - -6. Privacy and Information - -6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected. - -6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/. - -7. Third Party Applications - -7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. - -7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. - -7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. - -8. Using Google APIs - -8.1 Google APIs - -8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. - -8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. - -9. Terminating the License Agreement - -9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below. - -9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials. - -9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you. - -9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of: -(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and -(B) Google issues a final release version of the Android SDK. - -9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely. - -10. DISCLAIMERS - -10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. - -10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE. - -10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - -11. LIMITATION OF LIABILITY - -11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. - -12. Indemnification - -12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement. - -13. Changes to the License Agreement - -13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available. - -14. General Legal Terms - -14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview. - -14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. - -14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. - -14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. - -14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. - -14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google. - -14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. - -June 2014. - - - NDK - 18 - - - - 542911996 - 98cb9909aa8c2dab32db188bbdc3ac6207e09440 - android-ndk-r18b-darwin-x86_64.zip - macosx - 64 - - - - 557038702 - 500679655da3a86aecf67007e8ab230ea9b4dd7b - android-ndk-r18b-linux-x86_64.zip - linux - 64 - - - - 504605336 - 4b8b6a4edc0fa967b429c1d6d25adf69acc28803 - android-ndk-r18b-windows-x86.zip - windows - 32 - - - - 522489470 - 6b6d4138aaaad7166679fdfa4780e177f95cee6f - android-ndk-r18b-windows-x86_64.zip - windows - 64 - - - - - - - 9 - 28 - Android SDK Platform 28 - 6 - - - - 75565084 - 9a4e52b1d55bd2e24216b150aafae2503d3efba6 - platform-28_r06.zip - - - - - 22 - - http://developer.android.com/sdk/ - - 15 - 1 - - - - - 8.1.0 - 27 - Android SDK Platform 27 - 3 - - - - 65635348 - 35f747e7e70b2d16e0e4246876be28d15ea1c353 - platform-27_r03.zip - - - - - 22 - - http://developer.android.com/sdk/ - - 15 - 1 - - - - - 8.0.0 - 26 - Android SDK Platform 26 - 2 - - - - 63623734 - e4ae5d7aa557a3c827135838ee400da8443ac4ef - platform-26_r02.zip - - - - - 22 - - http://developer.android.com/sdk/ - - 15 - 1 - - - - - 7.1.1 - 25 - Android SDK Platform 25 - 3 - - - - 85424763 - 00c2c5765e8988504be10a1eb66ed71fcdbd7fe8 - platform-25_r03.zip - - - - - 22 - - http://developer.android.com/sdk/ - - 16 - 2 - - - - - 7.0 - 24 - Android SDK Platform 24 - 2 - - - - 82648154 - 8912da3d4bfe7a9f28f0e5ce92d3a8dc96342aee - platform-24_r02.zip - - - - - 22 - - http://developer.android.com/sdk/ - - 16 - 2 - - - - - 6.0 - 23 - Android SDK Platform 23 - 3 - - - - 70433421 - 027fede3de6aa1649115bbd0bffff30ccd51c9a0 - platform-23_r03.zip - - - - - 22 - - http://developer.android.com/sdk/ - - 16 - 3 - - - - - 5.1.1 - 22 - Android SDK Platform 22 - 2 - - - - 66852371 - 5d1bd10fea962b216a0dece1247070164760a9fc - android-22_r02.zip - - - - - 22 - - http://developer.android.com/sdk/ - - 14 - 2 - - - - - 5.0.1 - 21 - Android SDK Platform 21 - 2 - - - - 65897960 - 53536556059bb29ae82f414fd2e14bc335a4eb4c - android-21_r02.zip - - - - - 22 - - http://developer.android.com/sdk/ - - 12 - 2 - - - - - 4.4W.2 - 20 - Android SDK Platform 20 - 2 - - - - 63567784 - a9251f8a3f313ab05834a07a963000927637e01d - android-20_r02.zip - - - - - 22 - - http://developer.android.com/sdk/ - - 12 - 1 - - - - - 4.4.2 - 19 - Android SDK Platform 19 - 4 - - - - 63871092 - 2ff20d89e68f2f5390981342e009db5a2d456aaa - android-19_r04.zip - - - - - 22 - - http://developer.android.com/sdk/ - - 12 - 1 - - - - - 4.3.1 - 18 - Android SDK Platform 18 - 3 - - - - 57771739 - e6b09b3505754cbbeb4a5622008b907262ee91cb - android-18_r03.zip - - - - - 21 - - http://developer.android.com/sdk/ - - 12 - 1 - - - - - 4.2.2 - 17 - Android SDK Platform 17 - 3 - - - - 57030216 - dbe14101c06e6cdb34e300393e64e64f8c92168a - android-17_r03.zip - - - - - 21 - - http://developer.android.com/sdk/ - - 12 - 1 - - - - - 4.1.2 - 16 - Android SDK Platform 16 - 5 - - - - 48128695 - 12a5ce6235a76bc30f62c26bda1b680e336abd07 - android-16_r05.zip - - - - - 21 - - http://developer.android.com/sdk/ - - 12 - 1 - - - - - 4.0.3 - 15 - Android SDK Platform 15 - 5 - - - - 44533475 - 69ab4c443b37184b2883af1fd38cc20cbeffd0f3 - android-15_r05.zip - - - - - 21 - - http://developer.android.com/sdk/ - - 12 - 1 - - - - - 4.0 - 14 - Android SDK Platform 14 - 4 - - - - 46038082 - d4f1d8fbca25225b5f0e7a0adf0d39c3d6e60b3c - android-14_r04.zip - - - - http://developer.android.com/sdk/ - - 12 - 1 - - - - - 3.2 - 13 - Android SDK Platform 13 - 1 - - - - 108426536 - 6189a500a8c44ae73a439604363de93591163cd9 - android-3.2_r01.zip - - - - - 12 - - http://developer.android.com/sdk/ - - 4 - - - - - 3.1 - 12 - Android SDK Platform 12 - 3 - - - - 106472351 - 4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf - android-3.1_r03.zip - - - - - 11 - - http://developer.android.com/sdk/ - - 4 - - - - - 3.0 - 11 - Android SDK Platform 11 - 2 - - - - 104513908 - 2c7d4bd13f276e76f6bbd87315fe27aba351dd37 - android-3.0_r02.zip - - - - - 10 - - http://developer.android.com/sdk/ - - 4 - - - - - 2.3.3 - 10 - Android SDK Platform 10 - 2 - - - - 85470907 - 887e37783ec32f541ea33c2c649dda648e8e6fb3 - android-2.3.3_r02.zip - - - - - 4 - - http://developer.android.com/sdk/ - - 4 - - - - - 2.3.1 - 9 - Android SDK Platform 9 - 2 - - - - 78732563 - 209f8a7a8b2cb093fce858b8b55fed3ba5206773 - android-2.3.1_r02.zip - - - - - 4 - - http://developer.android.com/sdk/ - - 4 - - - - - 2.2 - 8 - Android SDK Platform 8 - 3 - - - - 74652366 - 231262c63eefdff8fd0386e9ccfefeb27a8f9202 - android-2.2_r03.zip - - - - - 4 - - http://developer.android.com/sdk/ - - 4 - - - - - 2.1 - 7 - Android SDK Platform 7 - 3 - - - - 70142829 - 5ce51b023ac19f8738500b1007a1da5de2349a1e - android-2.1_r03.zip - - - - - 8 - - http://developer.android.com/sdk/ - - 4 - - - - - 2.0.1 - 6 - Android SDK Platform 6 - - 1 - - - - 79192618 - ce2c971dce352aa28af06bda92a070116aa5ae1a - android-2.0.1_r01-linux.zip - linux - - - - 79035527 - c3096f80d75a6fc8cb38ef8a18aec920e53d42c0 - android-2.0.1_r01-macosx.zip - macosx - - - - 80385601 - 255781ebe4509d9707d0e77edda2815e2bc216e6 - android-2.0.1_r01-windows.zip - windows - - - - - 4 - - http://developer.android.com/sdk/ - - 4 - - - - - 2.0 - 5 - Android SDK Platform 5 - - 1 - - - - 75095268 - be9be6a99ca32875c96ec7f91160ca9fce7e3c7d - android-2.0_r01-linux.zip - linux - - - - 74956356 - 2a866d0870dbba18e0503cd41e5fae988a21b314 - android-2.0_r01-macosx.zip - macosx - - - - 76288040 - aeb623217ff88b87216d6eb7dbc846ed53f68f57 - android-2.0_r01-windows.zip - windows - - - - - 3 - - http://developer.android.com/sdk/ - - 4 - - - - - 1.6 - 4 - Android SDK Platform 4 - - 3 - - - - 63454485 - 483ed088e45bbdf3444baaf9250c8b02e5383cb0 - android-1.6_r03-linux.zip - linux - - - - 62418496 - bdafad44f5df9f127979bdb21a1fdd87ee3cd625 - android-1.6_r03-macosx.zip - macosx - - - - 64654625 - ce0b5e4ffaf12ca4fd07c2da71a8a1ab4a03dc22 - android-1.6_r03-windows.zip - windows - - - - - 6 - - http://developer.android.com/sdk/ - - 4 - - - - - 1.5 - 3 - Android SDK Platform 3 - - 4 - - - - 53348669 - 5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c - android-1.5_r04-linux.zip - linux - - - - 52440607 - d3a67c2369afa48b6c3c7624de5031c262018d1e - android-1.5_r04-macosx.zip - macosx - - - - 54624370 - 5bb106d2e40d481edd337b0833093843e15fe49a - android-1.5_r04-windows.zip - windows - - - - - 6 - - http://developer.android.com/sdk/ - - 4 - - - - - 1.1 - 2 - Android SDK Platform 2 - - 1 - - - - 45476658 - c054d25c9b4c6251fa49c2f9c54336998679d3fe - android-1.1_r1-linux.zip - linux - - - - 45584305 - e21dbcff45b7356657449ebb3c7e941be2bb5ebe - android-1.1_r1-macosx.zip - macosx - - - - 46828615 - a4060f29ed39fc929c302836d488998c53c3002e - android-1.1_r1-windows.zip - windows - - - - - 6 - - http://developer.android.com/sdk/ - - 4 - - - - - 28 - 1 - - - - 42552241 - 5610e0c24235ee3fa343c899ddd551be30315255 - sources-28_r01.zip - - - - - - - 27 - 1 - - - - 36997618 - 7b714670561d08f54751af42aca929867b806596 - sources-27_r01.zip - - - - - - - 26 - 1 - - - - 35138547 - 2af701ee3223d580409288540b1d06932fd8f9b9 - sources-26_r01.zip - - - - - - - 25 - 1 - - - - 30822685 - bbc72efd1a9bad87cc507e308f0d29aad438c52c - sources-25_r01.zip - - - - - - - 24 - 1 - - - - 30270410 - 6b96115830a83d654479f32ce4b724ca9011148b - sources-24_r01.zip - - - - - - - 23 - 1 - - - - 31771965 - b0f15da2762b42f543c5e364c2b15b198cc99cc2 - sources-23_r01.zip - - - - - - - 22 - 1 - - - - 28861236 - 98320e13976d11597a4a730a8d203ac9a03ed5a6 - sources-22_r01.zip - - - - - - - 21 - 1 - - - - 28274751 - 137a5044915d32bea297a8c1552684802bbc2e25 - sources-21_r01.zip - - - - - - - 20 - 1 - - - - 23367603 - 8da3e40f2625f9f7ef38b7e403f49f67226c0d76 - sources-20_r01.zip - - - - - - - 19 - 2 - - - - 21819439 - 433a1d043ef77561571250e94cb7a0ef24a202e7 - sources-19_r02.zip - - - - - - - 18 - 1 - - - - 20226735 - 8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78 - sources-18_r01.zip - - - - - - - 17 - 1 - - - - 18976816 - 6f1f18cd2d2b1852d7f6892df9cee3823349d43a - sources-17_r01.zip - - - - - - - 16 - 2 - - - - 17876720 - 0f83c14ed333c45d962279ab5d6bc98a0269ef84 - sources-16_r02.zip - - - - - - - 15 - 2 - - - - 16468746 - e5992a5747c9590783fbbdd700337bf0c9f6b1fa - sources-15_r02.zip - - - - - - - 14 - - 1 - - - - 16152383 - eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555 - sources-14_r01.zip - - - - - - - - 28 - 0 - 3 - - - - - 57830695 - ea6f2f7103cd9da9ff0bdf6e37fbbba548fa4165 - build-tools_r28.0.3-linux.zip - linux - - - - 57133581 - f8c333a2991b1ab05a671bc6248b78e00edcd83a - build-tools_r28.0.3-macosx.zip - macosx - - - - 58393729 - 05bd35bb48d11c848da2b393c6f864eb609aacba - build-tools_r28.0.3-windows.zip - windows - - - - - - - - 28 - 0 - 2 - - - - - 57754663 - b4492209810a3fd48deaa982f9852fef12433d55 - build-tools_r28.0.2-linux.zip - linux - - - - 57057554 - c10dd5a7825578622fb362a8a34f76eb3ba0c0a9 - build-tools_r28.0.2-macosx.zip - macosx - - - - 58317692 - e9c570c568a0c2a32e88ee3204279019ebefd949 - build-tools_r28.0.2-windows.zip - windows - - - - - - - - 28 - 0 - 1 - - - - - 57610954 - ee70dfa1fccb58b37cebc9544830511f36a137a0 - build-tools_r28.0.1-linux.zip - linux - - - - 56913869 - aeef42ad953f1630dd6f5d71eefdc0b825211462 - build-tools_r28.0.1-macosx.zip - macosx - - - - 58173989 - 29c6342835734be25b9e458ab3fad5750ad6a355 - build-tools_r28.0.1-windows.zip - windows - - - - - - - - 28 - 0 - 0 - - - - - 37157769 - d9f8a754d833ccd334f56fcc6089c5925cd82abb - build-tools_r28-linux.zip - linux - - - - 36458977 - 72088d32d1d82cc3c2cf7cf6618b6130c0c84ade - build-tools_r28-macosx.zip - macosx - - - - 37718995 - d4b0638a877ed570e07876264e69fdbd86409610 - build-tools_r28-windows.zip - windows - - - - - - - - 28 - 0 - 0 - 2 - - - - - 37151124 - efe9c0dde0646a07544c864276390ca6e96b24dc - build-tools_r28-rc2-linux.zip - linux - - - - 36449480 - 0d0314b353589feb10e528b44c5a685b6658d797 - build-tools_r28-rc2-macosx.zip - macosx - - - - 37716459 - a94bfb52b4ec74b95c116236c3e382e923cad6c4 - build-tools_r28-rc2-windows.zip - windows - - - - - - - - 28 - 0 - 0 - 1 - - - - - 38703535 - 1601977fae25fd478bcfaa0481ca5ea3c609d840 - build-tools_r28-rc1-linux.zip - linux - - - - 38004795 - 2c77821967a2330b7b227072d0b1c02ef19fe2fc - build-tools_r28-rc1-macosx.zip - macosx - - - - 39273232 - fbf46c33d1268f6532911707b2a05033fd5c5b41 - build-tools_r28-rc1-windows.zip - windows - - - - - - - - 27 - 0 - 3 - - - - - 54478554 - d85e7a6320eddffe7eeace3437605079dac938ca - build-tools_r27.0.3-linux.zip - linux - - - - 53867966 - 61d9fb18790c68d66ff73bf1e7ad56bc1f1eef2d - build-tools_r27.0.3-macosx.zip - macosx - - - - 55194255 - 0df61e11713a2838d2cc9a911219dddf5e6a2749 - build-tools_r27.0.3-windows.zip - windows - - - - - - - - 27 - 0 - 2 - - - - - 54458153 - b687ddf6be84f11607871138aad32cf857d0b837 - build-tools_r27.0.2-linux.zip - linux - - - - 53846615 - 6d5d9cf2a47877f273f4b742b19e712a051a31be - build-tools_r27.0.2-macosx.zip - macosx - - - - 55173070 - b80466c13b75e3ebf3c546964f40775db5898b2a - build-tools_r27.0.2-windows.zip - windows - - - - - - - - 27 - 0 - 1 - - - - - 54450260 - 7f4eedb1077ef948b848040dcd15de9e8a759f4a - build-tools_r27.0.1-linux.zip - linux - - - - 53838762 - 1edd07bfdbadd95652d093040e16d858f7489594 - build-tools_r27.0.1-macosx.zip - macosx - - - - 55171114 - 18109db020c6d088d0157d1df201d31bc6970875 - build-tools_r27.0.1-windows.zip - windows - - - - - - - - 27 - 0 - 0 - - - - - 54441725 - 28542332ba97cf4a08c3eddfcf5edd70e3cf1260 - build-tools_r27-linux.zip - linux - - - - 53831513 - fb4e8d7e6b8d29a77090e34024077a80458d5ae1 - build-tools_r27-macosx.zip - macosx - - - - 55163097 - 4f1df22a6d99261d2160d624b81445da0a027dbe - build-tools_r27-windows.zip - windows - - - - - - - - 26 - 0 - 3 - - - - - 54449983 - 8a2e6c1bcd845844523a68aa17e5442f0dce328c - build-tools_r26.0.3-linux.zip - linux - - - - 53839758 - 5bb90ed935d99e5bc90686f43b852e68c5ad40df - build-tools_r26.0.3-macosx.zip - macosx - - - - 55170919 - 460e511a9616b4661cc8dba0102d9d990ae60160 - build-tools_r26.0.3-windows.zip - windows - - - - - - - - 26 - 0 - 2 - - - - - 54440678 - 5b2b7b66c7bf2151f2af183b5b50a17808850592 - build-tools_r26.0.2-linux.zip - linux - - - - 53830573 - d9ed7c7f149ce38be5dc08979aea8acec1459ca0 - build-tools_r26.0.2-macosx.zip - macosx - - - - 55161474 - 39ca02d3faa49859cd9d1bc0adc2f331017b699b - build-tools_r26.0.2-windows.zip - windows - - - - - - - - 26 - 0 - 1 - - - - - 54113329 - 5378c2c78091b414d0eac40a6bd37f2faa31a365 - build-tools_r26.0.1-linux.zip - linux - - - - 53266653 - cbde59de198916b390777dd0227921bfa2120832 - build-tools_r26.0.1-macosx.zip - macosx - - - - 54936185 - 02494c80ffbe65bfff0aaa7463c9692693327b7d - build-tools_r26.0.1-windows.zip - windows - - - - - - - - 26 - 0 - 0 - - - - - 53854197 - 1cbe72929876f8a872ab1f1b1040a9f720261f59 - build-tools_r26-linux.zip - linux - - - - 53010814 - d01a1aeca03747245f1f5936b3cb01759c66d086 - build-tools_r26-macosx.zip - macosx - - - - 54681641 - 896ebd31117c09db220f7a3116cc0e5121c78b9d - build-tools_r26-windows.zip - windows - - - - - - - - 26 - 0 - 0 - 2 - - - - - 53847560 - 629bbd8d2e415bf64871fb0b4c0540fd6d0347a0 - build-tools_r26-rc2-linux.zip - linux - - - - 53003874 - cb1eb738a1f7003025af267a9b8cc2d259533c70 - build-tools_r26-rc2-macosx.zip - macosx - - - - 54678375 - ddaba77db0557a98f6330fbd579ad0bd12cbb152 - build-tools_r26-rc2-windows.zip - windows - - - - - - - - 26 - 0 - 0 - 1 - - - - - 53648603 - 8cd6388dc96db2d7a49d06159cf990d3bbc78d04 - build-tools_r26-rc1-linux.zip - linux - - - - 52821129 - 5c5a1de7d5f4f000d36ae349229fe0be846d6137 - build-tools_r26-rc1-macosx.zip - macosx - - - - 54379108 - 43c2ddad3b67a5c33712ae14331a60673e69be91 - build-tools_r26-rc1-windows.zip - windows - - - - - - - - 25 - 0 - 3 - - - - - 50757258 - db95f3a0ae376534d4d69f4cdb6fad20649f3509 - build-tools_r25.0.3-linux.zip - linux - - - - 50545085 - 160d2fefb5ce68e443427fc30a793a703b63e26e - build-tools_r25.0.3-macosx.zip - macosx - - - - 51337442 - 1edcb109ae5133aebfed573cf0bc84e0c353c28d - build-tools_r25.0.3-windows.zip - windows - - - - - - - - 25 - 0 - 2 - - - - - 49880329 - ff953c0177e317618fda40516f3e9d95fd43c7ae - build-tools_r25.0.2-linux.zip - linux - - - - 49667185 - 12a5204bb3b6e39437535469fde7ddf42da46b16 - build-tools_r25.0.2-macosx.zip - macosx - - - - 50458908 - 2fee3c0704d6ecc480570450d8b8069b2c4a2dd4 - build-tools_r25.0.2-windows.zip - windows - - - - - - - - 25 - 0 - 1 - - - - - 49880178 - ff063d252ab750d339f5947d06ff782836f22bac - build-tools_r25.0.1-linux.zip - linux - - - - 49667353 - 7bf7f22d7d48ef20b6ab0e3d7a2912e5c088340f - build-tools_r25.0.1-macosx.zip - macosx - - - - 50458759 - c6c61393565ccf46349e7f44511e5db7c1c6169d - build-tools_r25.0.1-windows.zip - windows - - - - - - - - 25 - 0 - 0 - - - - - 49872921 - f2bbda60403e75cabd0f238598c3b4dfca56ea44 - build-tools_r25-linux.zip - linux - - - - 49659466 - 273c5c29a65cbed00e44f3aa470bbd7dce556606 - build-tools_r25-macosx.zip - macosx - - - - 50451378 - f9258f2308ff8b62cfc4513d40cb961612d07b6a - build-tools_r25-windows.zip - windows - - - - - - - - 24 - 0 - 3 - - - - - 49779151 - 9e8cc49d66e03fa1a8ecc1ac3e58f1324f5da304 - build-tools_r24.0.3-linux.zip - linux - - - - 49568967 - a01c15f1b105c34595681075e1895d58b3fff48c - build-tools_r24.0.3-macosx.zip - macosx - - - - 50354788 - 8b960d693fd4163caeb8dc5f5f5f80b10987089c - build-tools_r24.0.3-windows.zip - windows - - - - - - - - 24 - 0 - 2 - - - - - 48936295 - f199a7a788c3fefbed102eea34d6007737b803cf - build-tools_r24.0.2-linux.zip - linux - - - - 48726190 - 8bb8fc575477491d5957de743089df412de55cda - build-tools_r24.0.2-macosx.zip - macosx - - - - 49512513 - 09586a1f1c39bcfa7db5205c9a07837247deb67e - build-tools_r24.0.2-windows.zip - windows - - - - - - - - 24 - 0 - 1 - - - - - 48936286 - 84f18c392919a074fcbb9b1d967984e6b2fef8b4 - build-tools_r24.0.1-linux.zip - linux - - - - 48726085 - 5c6457fcdfa07724fb086d8ff4e8316fc0742848 - build-tools_r24.0.1-macosx.zip - macosx - - - - 49511883 - ac4a7cea42c3ef74d7fbf1b992fad311c550034e - build-tools_r24.0.1-windows.zip - windows - - - - - - - - 24 - 0 - 0 - - - - - 48960919 - c6271c4d78a5612ea6c7150688bcd5b7313de8d1 - build-tools_r24-linux.zip - linux - - - - 48747930 - 97fc4ed442f23989cc488d02c1d1de9bdde241de - build-tools_r24-macosx.zip - macosx - - - - 49535326 - dc61b9e5b451a0c3ec42ae2b1ce27c4d3c8da9f7 - build-tools_r24-windows.zip - windows - - - - - - - - 23 - 0 - 2 - - - - - 39071201 - 8a9f2b37f6fcf7a9fa784dc21aeaeb41bbb9f2c3 - build-tools_r23.0.2-linux.zip - linux - - - - 38060914 - 482c4cbceef8ff58aefd92d8155a38610158fdaf - build-tools_r23.0.2-macosx.zip - macosx - - - - 38217626 - fc3a92c744d3ba0a16ccb5d2b41eea5974ce0a96 - build-tools_r23.0.2-windows.zip - windows - - - - - - - - 23 - 0 - 3 - - - - - 40733174 - 368f2600feac7e9b511b82f53d1f2240ae4a91a3 - build-tools_r23.0.3-linux.zip - linux - - - - 39679533 - fbc98cd303fd15a31d472de6c03bd707829f00b0 - build-tools_r23.0.3-macosx.zip - macosx - - - - 39869945 - c6d8266c6a3243c8f1e41b786c0e3cee4c781263 - build-tools_r23.0.3-windows.zip - windows - - - - - - - - 23 - 0 - 1 - - - - - 39069295 - b6ba7c399d5fa487d95289d8832e4ad943aed556 - build-tools_r23.0.1-linux.zip - linux - - - - 38059328 - d96ec1522721e9a179ae2c591c99f75d31d39718 - build-tools_r23.0.1-macosx.zip - macosx - - - - 38558889 - cc1d37231d228f7a6f130e1f8d8c940052f0f8ab - build-tools_r23.0.1-windows.zip - windows - - - - - - - - - 23 - 0 - 0 - - - - - 39080519 - c1d6209212b01469f80fa804e0c1d39a06bc9060 - build-tools_r23-linux.zip - linux - - - - 38070540 - 90ba6e716f7703a236cd44b2e71c5ff430855a03 - build-tools_r23-macosx.zip - macosx - - - - 38570715 - 3874948f35f2f8946597679cc6e9151449f23b5d - build-tools_r23-windows.zip - windows - - - - - - - - 22 - 0 - 1 - - - - - 33104577 - da8b9c5c3ede39298e6cf0283c000c2ee9029646 - build-tools_r22.0.1-linux.zip - linux - - - - 33646102 - 53dad7f608e01d53b17176ba11165acbfccc5bbf - build-tools_r22.0.1-macosx.zip - macosx - - - - 33254137 - 61d8cbe069d9e0a57872a83e5e5abe164b7d52cf - build-tools_r22.0.1-windows.zip - windows - - - - - - - - - 22 - 0 - 0 - - - - - 33104280 - a8a1619dd090e44fac957bce6842e62abf87965b - build-tools_r22-linux.zip - linux - - - - 33646090 - af95429b24088d704bc5db9bd606e34ac1b82c0d - build-tools_r22-macosx.zip - macosx - - - - 33254114 - 08fcca41e81b172bd9f570963b90d3a84929e043 - build-tools_r22-windows.zip - windows - - - - - - - - 21 - 1 - 2 - - - - - 32637678 - 5e35259843bf2926113a38368b08458735479658 - build-tools_r21.1.2-linux.zip - linux - - - - 33152878 - e7c906b4ba0eea93b32ba36c610dbd6b204bff48 - build-tools_r21.1.2-macosx.zip - macosx - - - - 32792587 - 1d944759c47f60e634d2b8a1f3a4259be2f8d652 - build-tools_r21.1.2-windows.zip - windows - - - - - - - - - 21 - 1 - 1 - - - - - 32642454 - 1c712ee3a1ba5a8b0548f9c32f17d4a0ddfd727d - build-tools_r21.1.1-linux.zip - linux - - - - 33157676 - 836a146eab0504aa9387a5132e986fe7c7381571 - build-tools_r21.1.1-macosx.zip - macosx - - - - 32797356 - 53fc4201237f899d5cd92f0b76ad41fb89da188b - build-tools_r21.1.1-windows.zip - windows - - - - - - - - - 21 - 1 - 0 - - - - - 32642820 - b7455e543784d52a8925f960bc880493ed1478cb - build-tools_r21.1-linux.zip - linux - - - - 33158159 - df619356c2359aa5eacdd48699d15b335d9bd246 - build-tools_r21.1-macosx.zip - macosx - - - - 32797810 - c79d63ac6b713a1e326ad4dae43f2ee76708a2f4 - build-tools_r21.1-windows.zip - windows - - - - - - - - - 21 - 0 - 2 - - - - - 22153122 - e1236ab8897b62b57414adcf04c132567b2612a5 - build-tools_r21.0.2-linux.zip - linux - - - - 22668597 - f17471c154058f3734729ef3cc363399b1cd3de1 - build-tools_r21.0.2-macosx.zip - macosx - - - - 22306371 - 37496141b23cbe633167927b7abe6e22d9f1a1c1 - build-tools_r21.0.2-windows.zip - windows - - - - - - - - - 21 - 0 - 1 - - - - - 22153013 - e573069eea3e5255e7a65bedeb767f4fd0a5f49a - build-tools_r21.0.1-linux.zip - linux - - - - 22668616 - b60c8f9b810c980abafa04896706f3911be1ade7 - build-tools_r21.0.1-macosx.zip - macosx - - - - 22306243 - d68e7e6fd7a48c8759aa41d713c9d4f0e4c1c1df - build-tools_r21.0.1-windows.zip - windows - - - - - - - - - 21 - 0 - 0 - - - - - 22153145 - 4933328fdeecbd554a29528f254f4993468e1cf4 - build-tools_r21-linux.zip - linux - - - - 22668456 - 9bef7989b51436bd4e5114d8a0330359f077cbfa - build-tools_r21-macosx.zip - macosx - - - - 22306371 - 5bc8fd399bc0135a9bc91eec78ddc5af4f54bf32 - build-tools_r21-windows.zip - windows - - - - - - - - 20 - 0 - 0 - - - - - 21445463 - b688905526a5584d1327a662d871a635ff502758 - build-tools_r20-linux.zip - linux - - - - 21650508 - 1240f629411c108a714c4ddd756937c7fab93f83 - build-tools_r20-macosx.zip - macosx - - - - 20828006 - cf20720e452b642d5eb59dabe05c0c729b36ec75 - build-tools_r20-windows.zip - windows - - - - - - - - 19 - 1 - 0 - - - - - 21490972 - 1ff20ac15fa47a75d00346ec12f180d531b3ca89 - build-tools_r19.1-linux.zip - linux - - - - 21590160 - 0d11aae3417de1efb4b9a0e0a7855904a61bcec1 - build-tools_r19.1-macosx.zip - macosx - - - - 20812533 - 13b367fbdbff8132cb4356f716e8dc8a8df745c5 - build-tools_r19.1-windows.zip - windows - - - - - - - - - 19 - 0 - 3 - - - - - 21462150 - c2d6055478e9d2d4fba476ee85f99181ddd1160c - build-tools_r19.0.3-linux.zip - linux - - - - 21563992 - 651cf8754373b2d52e7f6aab2c52eabffe4e9ea4 - build-tools_r19.0.3-macosx.zip - macosx - - - - 20730715 - cb46b433b67a0a6910ff00db84be8b527ea3102f - build-tools_r19.0.3-windows.zip - windows - - - - - - - - - 19 - 0 - 2 - - - - - 21352552 - a03a6bdea0091aea32e1b35b90a7294c9f04e3dd - build-tools_r19.0.2-linux.zip - linux - - - - 21453726 - 145bc43065d45f756d99d87329d899052b9a9288 - build-tools_r19.0.2-macosx.zip - macosx - - - - 20621117 - af664672d0d709c9ae30937b1062317d3ade7f95 - build-tools_r19.0.2-windows.zip - windows - - - - - - - - - 19 - 0 - 1 - - - - - 21229048 - 18d2312dc4368858914213087f4e61445aca4517 - build-tools_r19.0.1-linux.zip - linux - - - - 21450597 - efaf50fb19a3edb8d03efbff76f89a249ad2920b - build-tools_r19.0.1-macosx.zip - macosx - - - - 20500648 - 5ef422bac5b28f4ced108319ed4a6bc7050a6234 - build-tools_r19.0.1-windows.zip - windows - - - - - - - - - 19 - 0 - 0 - - - - - 21339943 - 55c1a6cf632e7d346f0002b275ec41fd3137fd83 - build-tools_r19-linux.zip - linux - - - - 21441270 - 86ec1c12db1bc446b7bcaefc5cc14eb361044e90 - build-tools_r19-macosx.zip - macosx - - - - 20611447 - 6edf505c20f5ece9c48fa0aff9a90488f9654d52 - build-tools_r19-windows.zip - windows - - - - - - - - - 18 - 1 - 1 - - - - - 20229760 - 68c9acbfc0cec2d51b19efaed39831a17055d998 - build-tools_r18.1.1-linux.zip - linux - - - - 20452157 - a9d9d37f6ddf859e57abc78802a77aaa166e48d4 - build-tools_r18.1.1-macosx.zip - macosx - - - - 19660000 - c4605066e2f851387ea70bc1442b1968bd7b4a15 - build-tools_r18.1.1-windows.zip - windows - - - - - - - - - 18 - 1 - 0 - - - - - 20229298 - f314a0599e51397f0886fe888b50dd98f2f050d8 - build-tools_r18.1-linux.zip - linux - - - - 20451524 - 16ddb299b8b43063e5bb3387ec17147c5053dfd8 - build-tools_r18.1-macosx.zip - macosx - - - - 19659547 - 3a9810fc8559ab03c09378f07531e8cae2f1db30 - build-tools_r18.1-windows.zip - windows - - - - - - - - - 18 - 0 - 1 - - - - - 16627330 - f11618492b0d2270c332325d45d752d3656a9640 - build-tools_r18.0.1-linux.zip - linux - - - - 16633121 - d84f5692fb44d60fc53e5b2507cebf9f24626902 - build-tools_r18.0.1-macosx.zip - macosx - - - - 15413527 - a6c2afd0b6289d589351956d2f5212b37014ca7d - build-tools_r18.0.1-windows.zip - windows - - - - - - - - - 17 - 0 - 0 - - - - - 11696007 - 2c2872bc3806aabf16a12e3959c2183ddc866e6d - build-tools_r17-linux.zip - linux - - - - 12208114 - 602ee709be9dbb8f179b1e4075148a57f9419930 - build-tools_r17-macosx.zip - macosx - - - - 11004914 - 899897d327b0bad492d3a40d3db4d96119c15bc0 - build-tools_r17-windows.zip - windows - - - - - - - - 28 - 0 - 1 - - - - - 6848749 - ed1edad4a48c27655ce98d0a5821e7296e9de145 - platform-tools_r28.0.1-darwin.zip - macosx - - - - 6843966 - 74ff83bc203f01c4f04bd9316ab5a2573f023fd1 - platform-tools_r28.0.1-linux.zip - linux - - - - 6183783 - 5a44d10d41725aa718c71b6e44bc2dea6f1a7f49 - platform-tools_r28.0.1-windows.zip - windows - - - - - - - - 25 - 2 - 5 - - - - - 277894900 - 72df3aa1988c0a9003ccdfd7a13a7b8bd0f47fc1 - tools_r25.2.5-linux.zip - linux - - - - 200529982 - d2168d963ac5b616e3d3ddaf21511d084baf3659 - tools_r25.2.5-macosx.zip - macosx - - - - 306785944 - a7f7ebeae1c8d8f62d3a8466e9c81baee7cc31ca - tools_r25.2.5-windows.zip - windows - - - - - 20 - - - - - 24 - 1 - - - - 419477967 - eef58238949ee9544876cb3e002f2d58e4ee7b5d - docs-24_r01.zip - - - - - diff --git a/pkgs/development/mobile/androidenv/sources.nix b/pkgs/development/mobile/androidenv/sources.nix deleted file mode 100644 index cca132e2774..00000000000 --- a/pkgs/development/mobile/androidenv/sources.nix +++ /dev/null @@ -1,184 +0,0 @@ - -# This file is generated from generate-sources.sh. DO NOT EDIT. -# Execute generate-sources.sh or fetch.sh to update the file. -{stdenv, fetchurl, unzip}: - -let - buildSource = args: - stdenv.mkDerivation (args // { - buildInputs = [ unzip ]; - buildCommand = '' - mkdir -p $out - cd $out - unzip $src - ''; - }); -in -{ - - source_14 = buildSource { - name = "android-source-14"; - src = fetchurl { - url = https://dl.google.com/android/repository/sources-14_r01.zip; - sha1 = "eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555"; - }; - meta = { - description = "Source code for Android API 14"; - }; - }; - - source_15 = buildSource { - name = "android-source-15"; - src = fetchurl { - url = https://dl.google.com/android/repository/sources-15_r02.zip; - sha1 = "e5992a5747c9590783fbbdd700337bf0c9f6b1fa"; - }; - meta = { - description = "Source code for Android API 15"; - }; - }; - - source_16 = buildSource { - name = "android-source-16"; - src = fetchurl { - url = https://dl.google.com/android/repository/sources-16_r02.zip; - sha1 = "0f83c14ed333c45d962279ab5d6bc98a0269ef84"; - }; - meta = { - description = "Source code for Android API 16"; - }; - }; - - source_17 = buildSource { - name = "android-source-17"; - src = fetchurl { - url = https://dl.google.com/android/repository/sources-17_r01.zip; - sha1 = "6f1f18cd2d2b1852d7f6892df9cee3823349d43a"; - }; - meta = { - description = "Source code for Android API 17"; - }; - }; - - source_18 = buildSource { - name = "android-source-18"; - src = fetchurl { - url = https://dl.google.com/android/repository/sources-18_r01.zip; - sha1 = "8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78"; - }; - meta = { - description = "Source code for Android API 18"; - }; - }; - - source_19 = buildSource { - name = "android-source-19"; - src = fetchurl { - url = https://dl.google.com/android/repository/sources-19_r02.zip; - sha1 = "433a1d043ef77561571250e94cb7a0ef24a202e7"; - }; - meta = { - description = "Source code for Android API 19"; - }; - }; - - source_20 = buildSource { - name = "android-source-20"; - src = fetchurl { - url = https://dl.google.com/android/repository/sources-20_r01.zip; - sha1 = "8da3e40f2625f9f7ef38b7e403f49f67226c0d76"; - }; - meta = { - description = "Source code for Android API 20"; - }; - }; - - source_21 = buildSource { - name = "android-source-21"; - src = fetchurl { - url = https://dl.google.com/android/repository/sources-21_r01.zip; - sha1 = "137a5044915d32bea297a8c1552684802bbc2e25"; - }; - meta = { - description = "Source code for Android API 21"; - }; - }; - - source_22 = buildSource { - name = "android-source-22"; - src = fetchurl { - url = https://dl.google.com/android/repository/sources-22_r01.zip; - sha1 = "98320e13976d11597a4a730a8d203ac9a03ed5a6"; - }; - meta = { - description = "Source code for Android API 22"; - }; - }; - - source_23 = buildSource { - name = "android-source-23"; - src = fetchurl { - url = https://dl.google.com/android/repository/sources-23_r01.zip; - sha1 = "b0f15da2762b42f543c5e364c2b15b198cc99cc2"; - }; - meta = { - description = "Source code for Android API 23"; - }; - }; - - source_24 = buildSource { - name = "android-source-24"; - src = fetchurl { - url = https://dl.google.com/android/repository/sources-24_r01.zip; - sha1 = "6b96115830a83d654479f32ce4b724ca9011148b"; - }; - meta = { - description = "Source code for Android API 24"; - }; - }; - - source_25 = buildSource { - name = "android-source-25"; - src = fetchurl { - url = https://dl.google.com/android/repository/sources-25_r01.zip; - sha1 = "bbc72efd1a9bad87cc507e308f0d29aad438c52c"; - }; - meta = { - description = "Source code for Android API 25"; - }; - }; - - source_26 = buildSource { - name = "android-source-26"; - src = fetchurl { - url = https://dl.google.com/android/repository/sources-26_r01.zip; - sha1 = "2af701ee3223d580409288540b1d06932fd8f9b9"; - }; - meta = { - description = "Source code for Android API 26"; - }; - }; - - source_27 = buildSource { - name = "android-source-27"; - src = fetchurl { - url = https://dl.google.com/android/repository/sources-27_r01.zip; - sha1 = "7b714670561d08f54751af42aca929867b806596"; - }; - meta = { - description = "Source code for Android API 27"; - }; - }; - - source_28 = buildSource { - name = "android-source-28"; - src = fetchurl { - url = https://dl.google.com/android/repository/sources-28_r01.zip; - sha1 = "5610e0c24235ee3fa343c899ddd551be30315255"; - }; - meta = { - description = "Source code for Android API 28"; - }; - }; - -} diff --git a/pkgs/development/mobile/androidenv/support-repository.nix b/pkgs/development/mobile/androidenv/support-repository.nix deleted file mode 100644 index 55c1b60e965..00000000000 --- a/pkgs/development/mobile/androidenv/support-repository.nix +++ /dev/null @@ -1,18 +0,0 @@ -{stdenv, fetchurl, unzip}: - -stdenv.mkDerivation rec { - version = "47"; - name = "android-support-repository-r${version}"; - src = fetchurl { - url = "http://dl.google.com/android/repository/android_m2repository_r${version}.zip"; - sha256 = "1l13a6myff6i8x99h1ky2j5sglwy8wc0rsbxfcbif375vh41iyd3"; - }; - - buildCommand = '' - mkdir -p $out - cd $out - unzip $src - ''; - - buildInputs = [ unzip ]; -} diff --git a/pkgs/development/mobile/androidenv/support.nix b/pkgs/development/mobile/androidenv/support.nix deleted file mode 100644 index 8198e96f7e7..00000000000 --- a/pkgs/development/mobile/androidenv/support.nix +++ /dev/null @@ -1,18 +0,0 @@ -{stdenv, fetchurl, unzip}: - -stdenv.mkDerivation rec { - version = "23.2.1"; - name = "android-support-r${version}"; - src = fetchurl { - url = "https://dl.google.com/android/repository/support_r${version}.zip"; - sha1 = "azl7hgps1k98kmbhw45wwbrc86y1n4j1"; - }; - - buildCommand = '' - mkdir -p $out - cd $out - unzip $src - ''; - - buildInputs = [ unzip ]; -} diff --git a/pkgs/development/mobile/androidenv/sys-img.xml b/pkgs/development/mobile/androidenv/sys-img.xml deleted file mode 100644 index d7c8dd9de9b..00000000000 --- a/pkgs/development/mobile/androidenv/sys-img.xml +++ /dev/null @@ -1,1026 +0,0 @@ - - - - Terms and Conditions - -This is the Android Software Development Kit License Agreement - -1. Introduction - -1.1 The Android Software Development Kit (referred to in the License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK. - -1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. - -1.3 A "compatible implementation" means any Android device that (i) complies with the Android Compatibility Definition document, which can be found at the Android compatibility website (http://source.android.com/compatibility) and which may be updated from time to time; and (ii) successfully passes the Android Compatibility Test Suite (CTS). - -1.4 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. - - -2. Accepting the License Agreement - -2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement. - -2.2 By clicking to accept, you hereby agree to the terms of the License Agreement. - -2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries, including the country in which you are resident or from which you use the SDK. - -2.4 If you are agreeing to be bound by the License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity. - - -3. SDK License from Google - -3.1 Subject to the terms of the License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the SDK solely to develop applications for compatible implementations of Android. - -3.2 You may not use this SDK to develop applications for other platforms (including non-compatible implementations of Android) or to develop another SDK. You are of course free to develop applications for other platforms, including non-compatible implementations of Android, provided that this SDK is not used for that purpose. - -3.3 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. - -3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK. - -3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. - -3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you. - -3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. - -3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK. - - -4. Use of the SDK by You - -4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications. - -4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). - -4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so. - -4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier. - -4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. - -4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. - -5. Your Developer Credentials - -5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. - -6. Privacy and Information - -6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected. - -6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy. - - -7. Third Party Applications - -7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. - -7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. - -7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, the License Agreement does not affect your legal relationship with these third parties. - - -8. Using Android APIs - -8.1 Google Data APIs - -8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. - -8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. - - -9. Terminating the License Agreement - -9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below. - -9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials. - -9.3 Google may at any time, terminate the License Agreement with you if: -(A) you have breached any provision of the License Agreement; or -(B) Google is required to do so by law; or -(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or -(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable. - -9.4 When the License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst the License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. - - -10. DISCLAIMER OF WARRANTIES - -10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. - -10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. - -10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - - -11. LIMITATION OF LIABILITY - -11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. - - -12. Indemnification - -12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with the License Agreement. - - -13. Changes to the License Agreement - -13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available. - - -14. General Legal Terms - -14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK. - -14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. - -14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. - -14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. - -14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. - -14.6 The rights granted in the License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under the License Agreement without the prior written approval of the other party. - -14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. - - -November 20, 2015 - To get started with the Android SDK Preview, you must agree to the following terms and conditions. -As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk. The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data. - -This is the Android SDK Preview License Agreement (the "License Agreement"). - -1. Introduction - -1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview. - -1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. - -1.3 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. - -2. Accepting the License Agreement - -2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement. - -2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement. - -2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview. - -2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity. - -3. Preview License from Google - -3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform. - -3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. - -3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview. - -3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview. - -3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights. - -3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you. - -3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. - -3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview. - -4. Use of the Preview by You - -4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications. - -4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). - -4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so. - -4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party. - -4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. - -4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. - -4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released. - -5. Your Developer Credentials - -5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. - -6. Privacy and Information - -6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected. - -6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/. - -7. Third Party Applications - -7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. - -7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. - -7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. - -8. Using Google APIs - -8.1 Google APIs - -8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. - -8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. - -9. Terminating the License Agreement - -9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below. - -9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials. - -9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you. - -9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of: -(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and -(B) Google issues a final release version of the Android SDK. - -9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely. - -10. DISCLAIMERS - -10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. - -10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE. - -10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - -11. LIMITATION OF LIABILITY - -11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. - -12. Indemnification - -12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement. - -13. Changes to the License Agreement - -13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available. - -14. General Legal Terms - -14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview. - -14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. - -14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. - -14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. - -14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. - -14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google. - -14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. - -June 2014. - Intel Corporation Internal Evaluation License Agreement for x86 Android* System Images for Android Software Development Kit (SDK) -This Internal Evaluation License Agreement (this "Agreement") is entered into by and between Intel and you (as an individual developer or a legal entity -- identified below as Recipient). Intel shall provide the Evaluation Software to Recipient as described in accordance with the Internal Evaluation License Terms and Conditions. - -Definitions. -These terms shall have the following meanings: - -"Intel" or "INTEL" -Intel Corporation -With an Address of: -2200 Mission College Blvd. -Santa Clara, CA 95052 -Office of the General Counsel -Mail Stop: RNB-4-51 -Attn: Software and Services Group Legal - -"Evaluation Software" -The x86 Android* emulator system images for Android Software Development Kit (SDK), as provided by Intel. - -INTERNAL EVALUATION LICENSE TERMS AND CONDITIONS - -1. DEFINITIONS. - -1.1 Additional Defined Terms. "Agreement", "Evaluation Software", "Intel", "Non-disclosure Agreement", "Recipient", and "Effective Date" shall have the meanings ascribed to them on the signature page(s) of this Agreement. - -1.2 Evaluation Materials means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications and other related materials) related to the Evaluation Software. - -1.3 "Open Source Software" means any software that requires as a condition of use, modification and/or distribution of such software that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL). - -1.4 "Pre-Release Materials" means "alpha" or "beta" designated pre-release features, which may not be fully functional, which Intel may substantially modify in producing any production version of the Evaluation Materials and/or is still under development by Intel and/or Intel’s suppliers. - -2. PURPOSE. Intel desires to provide the Evaluation Materials to Recipient solely for Recipient's internal evaluation of the Evaluation Software and other Intel products, to evaluate the desirability of cooperating with Intel in developing products based on the Evaluation Software and/or to advise Intel as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute or make commercial use of the Evaluation Materials or any modifications to the Evaluation Materials. -THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT AN INTEL SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERICAL VERSION OF THE EVALUATION SOFTWARE. - -3. TITLE. Title to the Evaluation Materials remains with Intel or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement. - -4. LICENSE. Intel grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above. Unless otherwise communicated in writing by Intel to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a "Release") the license grant in this Section 4 and the Evaluation Period shall apply to each Release. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software not provided to Recipient in source code form. -EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT. - -5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from Intel. Intel and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it. - -6. MODIFICATIONS. This Agreement does NOT obligate Recipient to provide Intel with comments or suggestions regarding Evaluation Materials. However, should Recipient provide Intel with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) Intel products or processes which may embody the Evaluation Materials, Recipient grants to Intel a non-exclusive, irrevocable, worldwide, royalty-free license, with the right to sublicense Intel’s licensees and customers, under Recipient intellectual property rights, the rights to use and disclose such comments and suggestions in any manner Intel chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of Intel’s and its sublicensee’s products embodying such comments and suggestions in any manner and via any media Intel chooses, without reference to the source. - -7. WARRANTY DISCLAIMER. INTEL AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT. THE EVALUATION MATERIALS ARE PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND. - -8. LIMITATION OF LIABILITY. INTEL AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR ANY SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE. INTEL AND ITS SUPPLIERS DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS RELATING TO THE EVALUATION MATERIALS. - -9. EXPIRATION. Intel may terminate this Agreement immediately after a breach by Recipient. - -10. GENERAL. - -10.1 Controlling Law. Any claims arising under or relating to this Agreement shall be governed by the internal substantive laws of the State of Delaware or federal courts located in Delaware, without regard to principles of conflict of laws. Each party hereby agrees to jurisdiction and venue in the courts of the State of Delaware for all disputes and litigation arising under or relating to this Agreement. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts. - -10.2 Remedies. Recipient acknowledges that any disclosure, commercialization, or public use of the Evaluation Materials would cause irreparable injury to Intel and consents to the grant of an injunction by any court of competent jurisdiction in the event of a threatened breach. - -10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without Intel’s express prior written consent, shall be null and void. Intel may assign this Agreement, and its rights and obligations hereunder, in its sole discretion. - -10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and Intel and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and Intel with respect to the subject matter hereof. This Agreement supersedes any and all "click-to-accept" or shrink-wrapped licenses, in hard-copy or electronic form, embedded in or included with the Evaluation Materials. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed by duly authorized representatives of Recipient and Intel. Without limiting the foregoing, terms and conditions on any purchase orders or similar materials submitted by Recipient to Intel, and any terms contained in Intel’s standard acknowledgment form that are in conflict with these terms, shall be of no force or effect. - -10.5 Severability. In the event that any provision of this Agreement shall be unenforceable or invalid under any applicable law or be so held by applicable court decision, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such provision shall be changed and interpreted so as to best accomplish the objectives of such unenforceable or invalid provision within the limits of applicable law or applicable court decisions. - -10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other approval from the U.S. Department of Commerce or any other agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is "deemed" to take place when information is released to a foreign national wherever located. - -10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments and (iv) Intel can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . Intel is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person. - -10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header provided with Evaluation Software. Additional detail may be provided (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement. -ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED POSSIBLY WITH FAULTS - MIPS Technologies, Inc. (“MIPS”) Internal Evaluation License Agreement for MIPS Android™ System Images for Android Software Development Kit (SDK): -This Internal Evaluation License Agreement (this "Agreement") is entered into by and between MIPS and you (as an individual developer or a legal entity -- identified below as “Recipient”). MIPS shall make the Evaluation Software available to Recipient as described in accordance with the terms and conditions set forth below. - -By clicking on the “Accept” button, downloading, installing, or otherwise using the Evaluation Materials (defined below), you agree to be bound by the terms of this Agreement effective as of the date you click “Accept” (the “Effective Date”), and if doing so on behalf of an entity, you represent that you are authorized to bind the entity to the terms and conditions of this Agreement. If you do not agree to be bound by the terms and conditions of this Agreement, do not download, install, or use the Evaluation Materials. - -1. DEFINITIONS. These terms shall have the following meanings: - -1.1 “MIPS” shall mean MIPS Technologies, Inc., a Delaware corporation having a principal place of business at: 955 East Arques Ave., Sunnyvale, CA 94085 - -1.2 “Evaluation Software” shall mean MIPS Android™ emulator system images for Android Software Development Kit (SDK), as made available to Recipient. - -1.3 “Evaluation Materials" means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications, reference manuals, and other related materials) related to the Evaluation Software as made available to Recipient. - -1.4 “Open Source Software” means any software that requires (as a condition of use, modification and/or distribution of such software) that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL). - -1.5 “Pre-Release Materials” means “alpha” or “beta” designated pre-release features, which may not be fully functional, which MIPS may substantially modify in producing any production version of the Evaluation Materials, and/or which is still under development by MIPS and/or MIPS’ suppliers. - -2. PURPOSE. MIPS desires to make the Evaluation Materials available to Recipient solely for Recipient's internal evaluation of the Evaluation Software to evaluate the desirability of cooperating with MIPS in developing products that are compatible with the Evaluation Software and/or to advise MIPS as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute, modify (except to facilitate the above-mentioned internal evaluation), or make commercial use of the Evaluation Materials or any modifications of the Evaluation Materials. - -THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE MODIFIED (EXCEPT TO FACILITATE THE INTERNAL EVALUATION) OR DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT A MIPS SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERCIAL VERSION OF THE EVALUATION SOFTWARE. - -3. TITLE. Title to the Evaluation Materials remains with MIPS or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement. - -4. LICENSE. MIPS grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above and only for a period beginning on the Effective Date and extending to the first anniversary of the Effective Date (the “Evaluation Period”). Unless otherwise communicated in writing by MIPS to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a “Release”) the license grant in this Section 4 and the Evaluation Period shall apply to each Release, in which case the Evaluation Period shall begin on the date that the Release is made generally available and continue to the first anniversary of such date. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software that is not provided to Recipient in source code form. - - -EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER MIPS INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT. OTHER THAN AS EXPLICITLY SET FORTH IN PARAGRAPH 2 ABOVE, NO RIGHT TO COPY, TO REPRODUCE, TO MODIFY, OR TO CREATE DERIVATIVE WORKS OF, THE EVALUATION MATERIALS IS GRANTED HEREIN. - -5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from MIPS. MIPS and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it. - -6. MODIFICATIONS. This Agreement does not obligate Recipient to provide MIPS with comments or suggestions regarding Evaluation Materials. However, should Recipient provide MIPS with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) MIPS products or processes which may embody the Evaluation Materials, then Recipient agrees to grant and hereby grants to MIPS a non-exclusive, irrevocable, worldwide, fully paid-up, royalty-free license, with the right to sublicense MIPS’ licensees and customers, under Recipient’s Intellectual property rights, to use and disclose such comments and suggestions in any manner MIPS chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of MIPS’ and its sublicensee’s products embodying such comments and suggestions in any manner and via any media MIPS chooses, without reference to the source. - -7. WARRANTY DISCLAIMER. MIPS AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT WITH RESPECT TO THIRD PARTY INTELLECTUAL PROPERTY. RECIPIENT ACKNOWLEDGES AND AGREES THAT THE EVALUATION MATERIALS ARE PROVIDED “AS IS,” WITHOUT WARRANTY OF ANY KIND. - -8. LIMITATION OF LIABILITY. MIPS AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR FOR ANY DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED OR ALLEGED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE, INCLUDING WITHOUT LIMITATION, UNDER TORT OR OTHER LEGAL THEORY. MIPS AND ITS SUPPLIERS DISCLAIM ANY AND ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS OF ANY KIND RELATING TO THE EVALUATION MATERIALS. - -9. EXPIRATION. MIPS may terminate this Agreement immediately after a breach by Recipient or otherwise at MIPS’ reasonable discretion and upon five (5) business days’ notice to Recipient. - -10. GENERAL. - -10.1 Controlling Law. This Agreement shall be governed by California law excluding its choice of law rules. With the exception of MIPS’ rights to enforce its intellectual property rights and any confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, all disputes and any claims arising under or relating to this Agreement shall be subject to the exclusive jurisdiction and venue of the state and federal courts located in Santa Clara County, California. Each party hereby agrees to jurisdiction and venue in the courts set forth in the preceding sentence. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts. - -10.2 Remedies. Recipient acknowledges and agrees that any breach of confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, as well as any disclosure, commercialization, or public use of the Evaluation Materials, would cause irreparable injury to MIPS, and therefore Recipient agrees to consent to, and hereby consents to, the grant of an injunction by any court of competent jurisdiction in the event of an actual or threatened breach. - -10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights, obligations, or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without MIPS’ express prior written consent, shall be ineffective, null and void. MIPS may freely assign this Agreement, and its rights and obligations hereunder, in its sole discretion. - -10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and MIPS and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and MIPS with respect to the subject matter hereof. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed or otherwise accepted by duly authorized representatives of Recipient and MIPS. - -10.5 Severability. In the event that any provision of this Agreement is finally adjudicated to be unenforceable or invalid under any applicable law, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such unenforceable or invalid provision shall be interpreted so as to best accomplish the objectives of such provision within the limits of applicable law or applicable court decisions. - -10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other necessary approval from the U.S. Department of Commerce or any other governing agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all applicable laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is "deemed" to take place when information is released to a foreign national wherever located. - -10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments or may not be suitable for certain applications and (iv) MIPS can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . MIPS is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person. - -ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS” AND “AS AVAILABLE”, POSSIBLY WITH FAULTS, AND WITHOUT REPRESENTATION OR WARRANTY OF ANY KIND. - -10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header as indicated in the Evaluation Software. Additional detail may be available (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement. - - - - 10 - ARM EABI v7a System Image - 4 - - - - 67918042 - 54680383118eb5c95a11e1cc2a14aa572c86ee69 - armv7-10_r04.zip - - - - armeabi-v7a - default - - - - 14 - ARM EABI v7a System Image - 2 - - - - 99621822 - d8991b0c06b18d7d6ed4169d67460ee1add6661b - sysimg_armv7a-14_r02.zip - - - - armeabi-v7a - default - - - - 15 - ARM EABI v7a System Image - 4 - - - - 102079727 - 363223bd62f5afc0b2bd760b54ce9d26b31eacf1 - armeabi-v7a-15_r04.zip - - - - armeabi-v7a - default - - - - 16 - ARM EABI v7a System Image - 4 - - - - 112608076 - 39c093ea755098f0ee79f607be7df9e54ba4943f - sysimg_armv7a-16_r04.zip - - - - armeabi-v7a - default - - - - 17 - ARM EABI v7a System Image - 5 - - - - 124238679 - 7460e8110f4a87f9644f1bdb5511a66872d50fd9 - armeabi-v7a-17_r05.zip - - - - armeabi-v7a - default - - - - 18 - ARM EABI v7a System Image - 4 - - - - 130394401 - 0bf34ecf4ddd53f6b1b7fe7dfa12f2887c17e642 - armeabi-v7a-18_r04.zip - - - - armeabi-v7a - default - - - - 19 - ARM EABI v7a System Image - 5 - - - - 159871567 - d1a5fd4f2e1c013c3d3d9bfe7e9db908c3ed56fa - armeabi-v7a-19_r05.zip - - - - armeabi-v7a - default - - - - 21 - ARM EABI v7a System Image - 4 - - - - 187163871 - 8c606f81306564b65e41303d2603e4c42ded0d10 - armeabi-v7a-21_r04.zip - - - - armeabi-v7a - default - - - - 22 - ARM EABI v7a System Image - 2 - - - - 194596267 - 2114ec015dbf3a16cbcb4f63e8a84a1b206a07a1 - armeabi-v7a-22_r02.zip - - - - armeabi-v7a - default - - - - 23 - ARM EABI v7a System Image - 6 - - - - 238333358 - 7cf2ad756e54a3acfd81064b63cb0cb9dff2798d - armeabi-v7a-23_r06.zip - windows - - - - armeabi-v7a - default - - - - 24 - ARM EABI v7a System Image - 7 - - - - 283677512 - 3454546b4eed2d6c3dd06d47757d6da9f4176033 - armeabi-v7a-24_r07.zip - - - - armeabi-v7a - default - - - - 24 - ARM 64 v8a System Image - 7 - - - - 384556503 - e8ab2e49e4efe4b064232b33b5eeaded61437d7f - arm64-v8a-24_r07.zip - - - - arm64-v8a - default - - - - 16 - MIPS System Image - 1 - - - - 122482530 - 67943c54fb3943943ffeb05fdd39c0b753681f6e - sysimg_mips-16_r04.zip - - - - mips - default - - - - 17 - MIPS System Image - 1 - - - - 131781761 - f0c6e153bd584c29e51b5c9723cfbf30f996a05d - sysimg_mips-17_r01.zip - - - - mips - default - - - - 10 - Intel x86 Atom System Image - 4 - - - - 75382637 - 655ffc5cc89dd45a3aca154b254009016e473aeb - x86-10_r04.zip - - - - x86 - default - - - - 15 - Intel x86 Atom System Image - 4 - - - - 115324561 - e45c728b64881c0e86529a8f7ea9c103a3cd14c1 - x86-15_r04.zip - - - - x86 - default - - - - 16 - Intel x86 Atom System Image - 6 - - - - 134926152 - bf1bf8c5591346118d2235da1ad20e7be8a3e9cd - x86-16_r06.zip - - - - x86 - default - - - - 17 - Intel x86 Atom System Image - 4 - - - - 143278662 - 03c6d022ab2dcbbcf655d78ba5ccb0431cadcaec - x86-17_r04.zip - - - - x86 - default - - - - 18 - Intel x86 Atom System Image - 3 - - - - 149657535 - 03a0cb23465c3de15215934a1dbc9715b56e9458 - x86-18_r03.zip - - - - x86 - default - - - - 19 - Intel x86 Atom System Image - 6 - - - - 185886274 - 2ac82153aae97f7eae4c5a0761224fe04321d03d - x86-19_r06.zip - - - - x86 - default - - - - 21 - Intel x86 Atom System Image - 5 - - - - 208212529 - 00f0eb0a1003efe3316347f762e20a85d8749cff - x86-21_r05.zip - - - - x86 - default - - - - 22 - Intel x86 Atom System Image - 6 - - - - 214268954 - e33e2a6cc3f1cc56b2019dbef3917d2eeb26f54e - x86-22_r06.zip - - - - x86 - default - - - - 23 - Intel x86 Atom System Image - 10 - - - - 260804863 - f6c3e3dd7bd951454795aa75c3a145fd05ac25bb - x86-23_r10.zip - - - - x86 - default - - - - 24 - Intel x86 Atom System Image - 8 - - - - 313489224 - c1cae7634b0216c0b5990f2c144eb8ca948e3511 - x86-24_r08.zip - - - - x86 - default - - - - 25 - Intel x86 Atom System Image - 1 - - - - 316695942 - 78ce7eb1387d598685633b9f7cbb300c3d3aeb5f - x86-25_r01.zip - - - - x86 - default - - - - 26 - Intel x86 Atom System Image - 1 - - - - 350195807 - e613d6e0da668e30daf547f3c6627a6352846f90 - x86-26_r01.zip - - - - x86 - default - Default Android System Image - - - - 27 - Intel x86 Atom System Image - 1 - - - - 360984187 - 4ec990fac7b62958decd12e18a4cd389dfe7c582 - x86-27_r01.zip - - - - x86 - default - Default Android System Image - - - - 28 - Intel x86 Atom System Image - 4 - - - - 437320152 - ce03c42d80c0fc6dc47f6455dbee7aa275d02780 - x86-28_r04.zip - - - - x86 - default - Default Android System Image - - - - 21 - Intel x86 Atom_64 System Image - 5 - - - - 292623982 - 9078a095825a69e5e215713f0866c83cef65a342 - x86_64-21_r05.zip - - - - x86_64 - default - - - - 22 - Intel x86 Atom_64 System Image - 6 - - - - 299976630 - 5db3b27f78cd9c4c5092b1cad5a5dd479fb5b2e4 - x86_64-22_r06.zip - - - - x86_64 - default - - - - 23 - Intel x86 Atom_64 System Image - 10 - - - - 365009313 - 7cbc291483ca07dc67b71268c5f08a5755f50f51 - x86_64-23_r10.zip - - - - x86_64 - default - - - - 24 - Intel x86 Atom_64 System Image - 8 - - - - 419261998 - f6559e1949a5879f31a9662f4f0e50ad60181684 - x86_64-24_r08.zip - - - - x86_64 - default - - - - 25 - Intel x86 Atom_64 System Image - 1 - - - - 422702097 - 7093d7b39216020226ff430a3b7b81c94d31ad37 - x86_64-25_r01.zip - - - - x86_64 - default - - - - 26 - Intel x86 Atom_64 System Image - 1 - - - - 474178332 - 432f149c048bffce7f9de526ec65b336daf7a0a3 - x86_64-26_r01.zip - - - - x86_64 - default - Default Android System Image - - - - 27 - Intel x86 Atom_64 System Image - 1 - - - - 491675204 - 2878261011a59ca3de29dc5b457a495fdb268d60 - x86_64-27_r01.zip - - - - x86_64 - default - Default Android System Image - - - - 28 - Intel x86 Atom_64 System Image - 4 - - - - 564792723 - d47a85c8f4e9fd57df97814ad8884eeb0f3a0ef0 - x86_64-28_r04.zip - - - - x86_64 - default - Default Android System Image - - diff --git a/pkgs/development/mobile/androidenv/sysimages.nix b/pkgs/development/mobile/androidenv/sysimages.nix deleted file mode 100644 index 0ad09a02556..00000000000 --- a/pkgs/development/mobile/androidenv/sysimages.nix +++ /dev/null @@ -1,305 +0,0 @@ -# This file is generated from generate-sysimages.sh. DO NOT EDIT. -# Execute generate-sysimages.sh or fetch.sh to update the file. -{stdenv, fetchurl, unzip}: - -let - buildSystemImage = args: - stdenv.mkDerivation (args // { - buildInputs = [ unzip ]; - buildCommand = '' - mkdir -p $out - cd $out - unzip $src - ''; - }); -in -{ - - sysimg_armeabi-v7a_10 = buildSystemImage { - name = "sysimg-armeabi-v7a-10"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/armv7-10_r04.zip; - sha1 = "54680383118eb5c95a11e1cc2a14aa572c86ee69"; - }; - }; - - sysimg_x86_10 = buildSystemImage { - name = "sysimg-x86-10"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-10_r04.zip; - sha1 = "655ffc5cc89dd45a3aca154b254009016e473aeb"; - }; - }; - - sysimg_armeabi-v7a_14 = buildSystemImage { - name = "sysimg-armeabi-v7a-14"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/sysimg_armv7a-14_r02.zip; - sha1 = "d8991b0c06b18d7d6ed4169d67460ee1add6661b"; - }; - }; - - sysimg_armeabi-v7a_15 = buildSystemImage { - name = "sysimg-armeabi-v7a-15"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-15_r04.zip; - sha1 = "363223bd62f5afc0b2bd760b54ce9d26b31eacf1"; - }; - }; - - sysimg_x86_15 = buildSystemImage { - name = "sysimg-x86-15"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-15_r04.zip; - sha1 = "e45c728b64881c0e86529a8f7ea9c103a3cd14c1"; - }; - }; - - sysimg_armeabi-v7a_16 = buildSystemImage { - name = "sysimg-armeabi-v7a-16"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/sysimg_armv7a-16_r04.zip; - sha1 = "39c093ea755098f0ee79f607be7df9e54ba4943f"; - }; - }; - - sysimg_mips_16 = buildSystemImage { - name = "sysimg-mips-16"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/sysimg_mips-16_r04.zip; - sha1 = "67943c54fb3943943ffeb05fdd39c0b753681f6e"; - }; - }; - - sysimg_x86_16 = buildSystemImage { - name = "sysimg-x86-16"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-16_r06.zip; - sha1 = "bf1bf8c5591346118d2235da1ad20e7be8a3e9cd"; - }; - }; - - sysimg_armeabi-v7a_17 = buildSystemImage { - name = "sysimg-armeabi-v7a-17"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-17_r05.zip; - sha1 = "7460e8110f4a87f9644f1bdb5511a66872d50fd9"; - }; - }; - - sysimg_mips_17 = buildSystemImage { - name = "sysimg-mips-17"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/sysimg_mips-17_r01.zip; - sha1 = "f0c6e153bd584c29e51b5c9723cfbf30f996a05d"; - }; - }; - - sysimg_x86_17 = buildSystemImage { - name = "sysimg-x86-17"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-17_r04.zip; - sha1 = "03c6d022ab2dcbbcf655d78ba5ccb0431cadcaec"; - }; - }; - - sysimg_armeabi-v7a_18 = buildSystemImage { - name = "sysimg-armeabi-v7a-18"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-18_r04.zip; - sha1 = "0bf34ecf4ddd53f6b1b7fe7dfa12f2887c17e642"; - }; - }; - - sysimg_x86_18 = buildSystemImage { - name = "sysimg-x86-18"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-18_r03.zip; - sha1 = "03a0cb23465c3de15215934a1dbc9715b56e9458"; - }; - }; - - sysimg_armeabi-v7a_19 = buildSystemImage { - name = "sysimg-armeabi-v7a-19"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-19_r05.zip; - sha1 = "d1a5fd4f2e1c013c3d3d9bfe7e9db908c3ed56fa"; - }; - }; - - sysimg_x86_19 = buildSystemImage { - name = "sysimg-x86-19"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-19_r06.zip; - sha1 = "2ac82153aae97f7eae4c5a0761224fe04321d03d"; - }; - }; - - sysimg_armeabi-v7a_21 = buildSystemImage { - name = "sysimg-armeabi-v7a-21"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-21_r04.zip; - sha1 = "8c606f81306564b65e41303d2603e4c42ded0d10"; - }; - }; - - sysimg_x86_21 = buildSystemImage { - name = "sysimg-x86-21"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-21_r05.zip; - sha1 = "00f0eb0a1003efe3316347f762e20a85d8749cff"; - }; - }; - - sysimg_x86_64_21 = buildSystemImage { - name = "sysimg-x86_64-21"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86_64-21_r05.zip; - sha1 = "9078a095825a69e5e215713f0866c83cef65a342"; - }; - }; - - sysimg_armeabi-v7a_22 = buildSystemImage { - name = "sysimg-armeabi-v7a-22"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-22_r02.zip; - sha1 = "2114ec015dbf3a16cbcb4f63e8a84a1b206a07a1"; - }; - }; - - sysimg_x86_22 = buildSystemImage { - name = "sysimg-x86-22"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-22_r06.zip; - sha1 = "e33e2a6cc3f1cc56b2019dbef3917d2eeb26f54e"; - }; - }; - - sysimg_x86_64_22 = buildSystemImage { - name = "sysimg-x86_64-22"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86_64-22_r06.zip; - sha1 = "5db3b27f78cd9c4c5092b1cad5a5dd479fb5b2e4"; - }; - }; - - sysimg_armeabi-v7a_23 = buildSystemImage { - name = "sysimg-armeabi-v7a-23"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-23_r06.zip; - sha1 = "7cf2ad756e54a3acfd81064b63cb0cb9dff2798d"; - }; - }; - - sysimg_x86_23 = buildSystemImage { - name = "sysimg-x86-23"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-23_r10.zip; - sha1 = "f6c3e3dd7bd951454795aa75c3a145fd05ac25bb"; - }; - }; - - sysimg_x86_64_23 = buildSystemImage { - name = "sysimg-x86_64-23"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86_64-23_r10.zip; - sha1 = "7cbc291483ca07dc67b71268c5f08a5755f50f51"; - }; - }; - - sysimg_arm64-v8a_24 = buildSystemImage { - name = "sysimg-arm64-v8a-24"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/arm64-v8a-24_r07.zip; - sha1 = "e8ab2e49e4efe4b064232b33b5eeaded61437d7f"; - }; - }; - - sysimg_armeabi-v7a_24 = buildSystemImage { - name = "sysimg-armeabi-v7a-24"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-24_r07.zip; - sha1 = "3454546b4eed2d6c3dd06d47757d6da9f4176033"; - }; - }; - - sysimg_x86_24 = buildSystemImage { - name = "sysimg-x86-24"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-24_r08.zip; - sha1 = "c1cae7634b0216c0b5990f2c144eb8ca948e3511"; - }; - }; - - sysimg_x86_64_24 = buildSystemImage { - name = "sysimg-x86_64-24"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86_64-24_r08.zip; - sha1 = "f6559e1949a5879f31a9662f4f0e50ad60181684"; - }; - }; - - sysimg_x86_25 = buildSystemImage { - name = "sysimg-x86-25"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-25_r01.zip; - sha1 = "78ce7eb1387d598685633b9f7cbb300c3d3aeb5f"; - }; - }; - - sysimg_x86_64_25 = buildSystemImage { - name = "sysimg-x86_64-25"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86_64-25_r01.zip; - sha1 = "7093d7b39216020226ff430a3b7b81c94d31ad37"; - }; - }; - - sysimg_x86_26 = buildSystemImage { - name = "sysimg-x86-26"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-26_r01.zip; - sha1 = "e613d6e0da668e30daf547f3c6627a6352846f90"; - }; - }; - - sysimg_x86_64_26 = buildSystemImage { - name = "sysimg-x86_64-26"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86_64-26_r01.zip; - sha1 = "432f149c048bffce7f9de526ec65b336daf7a0a3"; - }; - }; - - sysimg_x86_27 = buildSystemImage { - name = "sysimg-x86-27"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-27_r01.zip; - sha1 = "4ec990fac7b62958decd12e18a4cd389dfe7c582"; - }; - }; - - sysimg_x86_64_27 = buildSystemImage { - name = "sysimg-x86_64-27"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86_64-27_r01.zip; - sha1 = "2878261011a59ca3de29dc5b457a495fdb268d60"; - }; - }; - - sysimg_x86_28 = buildSystemImage { - name = "sysimg-x86-28"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-28_r04.zip; - sha1 = "ce03c42d80c0fc6dc47f6455dbee7aa275d02780"; - }; - }; - - sysimg_x86_64_28 = buildSystemImage { - name = "sysimg-x86_64-28"; - src = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86_64-28_r04.zip; - sha1 = "d47a85c8f4e9fd57df97814ad8884eeb0f3a0ef0"; - }; - }; -} diff --git a/pkgs/development/mobile/androidenv/tools.nix b/pkgs/development/mobile/androidenv/tools.nix new file mode 100644 index 00000000000..9957168f7af --- /dev/null +++ b/pkgs/development/mobile/androidenv/tools.nix @@ -0,0 +1,26 @@ +{deployAndroidPackage, requireFile, lib, packages, toolsVersion, autoPatchelfHook, makeWrapper, os, pkgs, pkgs_i686, postInstall ? ""}: + +if toolsVersion == "26.0.1" then import ./tools/26.nix { + inherit deployAndroidPackage lib autoPatchelfHook makeWrapper os pkgs pkgs_i686 postInstall; + package = { + name = "tools"; + path = "tools"; + revision = "26.0.1"; + archives = { + linux = requireFile { + url = https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip; + sha256 = "185yq7qwxflw24ccm5d6zziwlc9pxmsm3f54pm9p7xm0ik724kj4"; + }; + macosx = requireFile { + url = https://dl.google.com/android/repository/sdk-tools-darwin-3859397.zip; + sha256 = "1ycx9gzdaqaw6n19yvxjawywacavn1jc6sadlz5qikhgfr57b0aa"; + }; + }; + }; +} else if toolsVersion == "26.1.1" then import ./tools/26.nix { + inherit deployAndroidPackage lib autoPatchelfHook makeWrapper os pkgs pkgs_i686 postInstall; + package = packages.tools."${toolsVersion}"; +} else import ./tools/25.nix { + inherit deployAndroidPackage lib autoPatchelfHook makeWrapper os pkgs pkgs_i686 postInstall; + package = packages.tools."${toolsVersion}"; +} diff --git a/pkgs/development/mobile/androidenv/tools/25.nix b/pkgs/development/mobile/androidenv/tools/25.nix new file mode 100644 index 00000000000..80b5858031d --- /dev/null +++ b/pkgs/development/mobile/androidenv/tools/25.nix @@ -0,0 +1,62 @@ +{deployAndroidPackage, lib, package, autoPatchelfHook, makeWrapper, os, pkgs, pkgs_i686, postInstall ? ""}: + +deployAndroidPackage { + name = "androidsdk"; + buildInputs = [ autoPatchelfHook makeWrapper ] + ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.xlibs.libX11 pkgs.xlibs.libXext pkgs.xlibs.libXdamage pkgs.xlibs.libxcb pkgs.xlibs.libXfixes pkgs.xlibs.libXrender pkgs.fontconfig.lib pkgs.freetype pkgs.libGL pkgs.zlib pkgs.ncurses5 pkgs.libpulseaudio pkgs_i686.glibc pkgs_i686.xlibs.libX11 pkgs_i686.xlibs.libXrender pkgs_i686.fontconfig pkgs_i686.freetype pkgs_i686.zlib ]; + inherit package os; + + patchInstructions = '' + ${lib.optionalString (os == "linux") '' + # Auto patch all binaries + addAutoPatchelfSearchPath $PWD/lib64 + addAutoPatchelfSearchPath $PWD/lib64/libstdc++ + addAutoPatchelfSearchPath $PWD/lib64/qt/lib + addAutoPatchelfSearchPath $PWD/lib + addAutoPatchelfSearchPath $PWD/lib/libstdc++ + autoPatchelf . + ''} + + # Wrap all scripts that require JAVA_HOME + for i in bin + do + find $i -maxdepth 1 -type f -executable | while read program + do + if grep -q "JAVA_HOME" $program + then + wrapProgram $PWD/$program --prefix PATH : ${pkgs.jdk8}/bin + fi + done + done + + # Wrap programs that require java + for i in draw9patch jobb lint screenshot2 + do + wrapProgram $PWD/$i \ + --prefix PATH : ${pkgs.jdk8}/bin + done + + # Wrap programs that require java and SWT + for i in android ddms hierarchyviewer monitor monkeyrunner traceview uiautomatorviewer + do + wrapProgram $PWD/$i \ + --prefix PATH : ${pkgs.jdk8}/bin \ + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.xlibs.libX11 pkgs.xlibs.libXtst ]} + done + + ${lib.optionalString (os == "linux") '' + wrapProgram $PWD/emulator \ + --prefix PATH : ${pkgs.file}/bin:${pkgs.glxinfo}/bin:${pkgs.pciutils}/bin \ + --set QT_XKB_CONFIG_ROOT ${pkgs.xkeyboard_config}/share/X11/xkb \ + --set QTCOMPOSE ${pkgs.xorg.libX11.out}/share/X11/locale + ''} + + # Patch all script shebangs + patchShebangs . + + cd .. + ${postInstall} + ''; + + meta.licenses = lib.licenses.unfree; +} diff --git a/pkgs/development/mobile/androidenv/tools/26.nix b/pkgs/development/mobile/androidenv/tools/26.nix new file mode 100644 index 00000000000..ed1dfe3d263 --- /dev/null +++ b/pkgs/development/mobile/androidenv/tools/26.nix @@ -0,0 +1,40 @@ +{deployAndroidPackage, lib, package, autoPatchelfHook, makeWrapper, os, pkgs, pkgs_i686, postInstall ? ""}: + +deployAndroidPackage { + name = "androidsdk"; + inherit os package; + buildInputs = [ autoPatchelfHook makeWrapper ] + ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.xlibs.libX11 pkgs.xlibs.libXrender pkgs.xlibs.libXext pkgs.fontconfig pkgs.freetype pkgs_i686.glibc pkgs_i686.xlibs.libX11 pkgs_i686.xlibs.libXrender pkgs_i686.xlibs.libXext pkgs_i686.fontconfig pkgs_i686.freetype pkgs_i686.zlib ]; + + patchInstructions = '' + ${lib.optionalString (os == "linux") '' + # Auto patch all binaries + autoPatchelf . + ''} + + # Wrap all scripts that require JAVA_HOME + for i in bin + do + find $i -maxdepth 1 -type f -executable | while read program + do + if grep -q "JAVA_HOME" $program + then + wrapProgram $PWD/$program --prefix PATH : ${pkgs.jdk8}/bin + fi + done + done + + # Wrap monitor script + wrapProgram $PWD/monitor \ + --prefix PATH : ${pkgs.jdk8}/bin \ + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.xlibs.libX11 pkgs.xlibs.libXtst ]} + + # Patch all script shebangs + patchShebangs . + + cd .. + ${postInstall} + ''; + + meta.licenses = lib.licenses.unfree; +} diff --git a/pkgs/development/mobile/flashtool/default.nix b/pkgs/development/mobile/flashtool/default.nix index 601b0b319bc..f78a10d8266 100644 --- a/pkgs/development/mobile/flashtool/default.nix +++ b/pkgs/development/mobile/flashtool/default.nix @@ -1,4 +1,4 @@ -{ stdenv, requireFile, p7zip, jre, libusb1, platformTools, gtk2, glib, libXtst }: +{ stdenv, requireFile, p7zip, jre, libusb1, platform-tools, gtk2, glib, libXtst }: # TODO: # @@ -29,8 +29,8 @@ stdenv.mkDerivation rec { ''; buildPhase = '' - ln -s ${platformTools}/platform-tools/adb x10flasher_lib/adb.linux - ln -s ${platformTools}/platform-tools/fastboot x10flasher_lib/fastboot.linux + ln -s ${platform-tools}/libexec/android-sdk/platform-tools/adb x10flasher_lib/adb.linux + ln -s ${platform-tools}/libexec/android-sdk/platform-tools/fastboot x10flasher_lib/fastboot.linux ln -s ${libusb1.out}/lib/libusb-1.0.so.0 ./x10flasher_lib/linux/lib32/libusbx-1.0.so chmod +x x10flasher_lib/unyaffs.linux.x86 x10flasher_lib/bin2elf x10flasher_lib/bin2sin diff --git a/pkgs/development/mobile/titaniumenv/build-app.nix b/pkgs/development/mobile/titaniumenv/build-app.nix index 0250e5bf2e2..472f85fbc45 100644 --- a/pkgs/development/mobile/titaniumenv/build-app.nix +++ b/pkgs/development/mobile/titaniumenv/build-app.nix @@ -1,200 +1,181 @@ -{stdenv, androidsdk, titaniumsdk, titanium, alloy, xcodewrapper, jdk, python, nodejs, which, file, xcodeBaseDir}: -{ name, src, preBuild ? "", target, androidPlatformVersions ? [ "25" ], androidAbiVersions ? [ "armeabi" "armeabi-v7a" ], tiVersion ? null +{stdenv, composeAndroidPackages, composeXcodeWrapper, titaniumsdk, titanium, alloy, jdk, python, nodejs, which, file}: +{ name, src, preBuild ? "", target, tiVersion ? null , release ? false, androidKeyStore ? null, androidKeyAlias ? null, androidKeyStorePassword ? null -, iosMobileProvisioningProfile ? null, iosCertificateName ? null, iosCertificate ? null, iosCertificatePassword ? null, iosVersion ? "11.2" -, enableWirelessDistribution ? false, iosBuildStore ? false, installURL ? null -}: +, iosMobileProvisioningProfile ? null, iosCertificateName ? null, iosCertificate ? null, iosCertificatePassword ? null, iosVersion ? "11.3", iosBuildStore ? false +, enableWirelessDistribution ? false, installURL ? null +, xcodeBaseDir ? "/Applications/Xcode.app" +, androidsdkArgs ? {} +, xcodewrapperArgs ? {} +, ... +}@args: assert (release && target == "android") -> androidKeyStore != null && androidKeyAlias != null && androidKeyStorePassword != null; assert (release && target == "iphone") -> iosMobileProvisioningProfile != null && iosCertificateName != null && iosCertificate != null && iosCertificatePassword != null; assert enableWirelessDistribution -> installURL != null; let - androidsdkComposition = androidsdk { - platformVersions = androidPlatformVersions; - abiVersions = androidAbiVersions; - useGoogleAPIs = true; - }; + realAndroidsdkArgs = { + platformVersions = [ "26" ]; + } // androidsdkArgs; + + androidsdk = (composeAndroidPackages realAndroidsdkArgs).androidsdk; + + realXcodewrapperArgs = { + inherit xcodeBaseDir; + } // xcodewrapperArgs; + + xcodewrapper = composeXcodeWrapper xcodewrapperArgs; deleteKeychain = '' - security default-keychain -s login.keychain - security delete-keychain $keychainName - rm -f $HOME/lock-keychain + if [ -f $HOME/lock-keychain ] + then + security default-keychain -s login.keychain + security delete-keychain $keychainName + rm -f $HOME/lock-keychain + fi ''; -in -stdenv.mkDerivation { - name = stdenv.lib.replaceChars [" "] [""] name; - inherit src; - buildInputs = [ nodejs titanium alloy jdk python which file ] ++ stdenv.lib.optional (stdenv.hostPlatform.system == "x86_64-darwin") xcodewrapper; - + extraArgs = removeAttrs args [ "name" "preRebuild" "androidsdkArgs" "xcodewrapperArgs" ]; +in +stdenv.mkDerivation ({ + name = stdenv.lib.replaceChars [" "] [""] name; + + buildInputs = [ nodejs titanium alloy python which file jdk ] + ++ stdenv.lib.optional (target == "iphone") xcodewrapper; + buildPhase = '' ${preBuild} - export HOME=$TMPDIR - + export HOME=${if target == "iphone" then "/Users/$(whoami)" else "$TMPDIR"} + ${stdenv.lib.optionalString (tiVersion != null) '' # Replace titanium version by the provided one sed -i -e "s|[0-9a-zA-Z\.]*|${tiVersion}|" tiapp.xml ''} - + # Simulate a login mkdir -p $HOME/.titanium cat > $HOME/.titanium/auth_session.json < $TMPDIR/config.json titanium --config-file $TMPDIR/config.json --no-colors config sdk.defaultInstallLocation ${titaniumsdk} titanium --config-file $TMPDIR/config.json --no-colors config paths.modules ${titaniumsdk} - + mkdir -p $out - - ${if target == "android" then - '' - titanium config --config-file $TMPDIR/config.json --no-colors android.sdkPath ${androidsdkComposition}/libexec - export PATH=$(echo ${androidsdkComposition}/libexec/tools):$(echo ${androidsdkComposition}/libexec/build-tools/android-*):$PATH - export GRADLE_USER_HOME=$TMPDIR/gradle - - ${if release then - '' - ${stdenv.lib.optionalString stdenv.isDarwin '' - # Signing the app does not work with OpenJDK on macOS, use host SDK instead - export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)" - ''} - titanium build --config-file $TMPDIR/config.json --no-colors --force --platform android --target dist-playstore --keystore ${androidKeyStore} --alias ${androidKeyAlias} --store-password ${androidKeyStorePassword} --output-dir $out - '' - else - ''titanium build --config-file $TMPDIR/config.json --no-colors --force --platform android --target emulator --build-only -B foo --output $out''} - '' - else if target == "iphone" then - '' - ${if release then - '' - export HOME=/Users/$(whoami) - export keychainName=$(basename $out) - - # Create a keychain with the component hash name (should always be unique) - security create-keychain -p "" $keychainName - security default-keychain -s $keychainName - security unlock-keychain -p "" $keychainName - security import ${iosCertificate} -k $keychainName -P "${iosCertificatePassword}" -A - security set-key-partition-list -S apple-tool:,apple: -s -k "" $keychainName - provisioningId=$(grep UUID -A1 -a ${iosMobileProvisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}") - - # Ensure that the requested provisioning profile can be found - - if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" ] - then - mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles" - cp ${iosMobileProvisioningProfile} "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" - fi - - # Simulate a login - mkdir -p $HOME/.titanium - cat > $HOME/.titanium/auth_session.json < $out/nix-support/hydra-build-products - - ${stdenv.lib.optionalString enableWirelessDistribution '' - appname=$(basename $out/*.ipa .ipa) - bundleId=$(grep '[a-zA-Z0-9.]*' tiapp.xml | sed -e 's|||' -e 's|||' -e 's/ //g') - version=$(grep '[a-zA-Z0-9.]*' tiapp.xml | sed -e 's|||' -e 's|||' -e 's/ //g') - - sed -e "s|@INSTALL_URL@|${installURL}?bundleId=$bundleId\&version=$version\&title=$appname|" ${../xcodeenv/install.html.template} > "$out/$appname.html" - echo "doc install \"$out/$appname.html\"" >> $out/nix-support/hydra-build-products - ''} - '' - else if target == "iphone" then "" - else throw "Target: ${target} is not supported!"} - ${if target == "android" then '' - mkdir -p $out/nix-support - echo "file binary-dist \"$(ls $out/*.apk)\"" > $out/nix-support/hydra-build-products - '' else ""} + titanium config --config-file $TMPDIR/config.json --no-colors android.sdkPath ${androidsdk}/libexec/android-sdk + + export PATH=${androidsdk}/libexec/android-sdk/tools:$(echo ${androidsdk}/libexec/android-sdk/build-tools/android-*):$PATH + export GRADLE_USER_HOME=$TMPDIR/gradle + + ${if release then '' + ${stdenv.lib.optionalString stdenv.isDarwin '' + # Signing the app does not work with OpenJDK on macOS, use host SDK instead + export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)" + ''} + titanium build --config-file $TMPDIR/config.json --no-colors --force --platform android --target dist-playstore --keystore ${androidKeyStore} --alias "${androidKeyAlias}" --store-password "${androidKeyStorePassword}" --output-dir $out + '' else '' + titanium build --config-file $TMPDIR/config.json --no-colors --force --platform android --target emulator --build-only -B foo --output $out + ''} + '' + else if target == "iphone" then '' + # Configure the path to Xcode + titanium --config-file $TMPDIR/config.json --no-colors config paths.xcode ${xcodeBaseDir} + + # Link the modules folder + if [ ! -e modules ] + then + ln -s ${titaniumsdk}/modules modules + createdModulesSymlink=1 + fi + + ${if release then '' + # Create a keychain with the component hash name (should always be unique) + export keychainName=$(basename $out) + + security create-keychain -p "" $keychainName + security default-keychain -s $keychainName + security unlock-keychain -p "" $keychainName + security import ${iosCertificate} -k $keychainName -P "${iosCertificatePassword}" -A + security set-key-partition-list -S apple-tool:,apple: -s -k "" $keychainName + provisioningId=$(grep UUID -A1 -a ${iosMobileProvisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}") + + # Ensure that the requested provisioning profile can be found + + if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" ] + then + mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles" + cp ${iosMobileProvisioningProfile} "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" + fi + + # Take precautions to prevent concurrent builds blocking the keychain + while [ -f $HOME/lock-keychain ] + do + echo "Keychain locked, waiting for a couple of seconds, or remove $HOME/lock-keychain to unblock..." + sleep 3 + done + + touch $HOME/lock-keychain + + security default-keychain -s $keychainName + + # Do the actual build + titanium build --config-file $TMPDIR/config.json --force --no-colors --platform ios --target ${if iosBuildStore then "dist-appstore" else "dist-adhoc"} --pp-uuid $provisioningId --distribution-name "${iosCertificateName}" --keychain $HOME/Library/Keychains/$keychainName-db --device-family universal --ios-version ${iosVersion} --output-dir $out + + # Remove our generated keychain + ${deleteKeychain} + '' else '' + # Copy all sources to the output store directory. + # Why? Debug application include *.js files, which are symlinked into their + # sources. If they are not copied, we have dangling references to the + # temp folder. + + cp -av * $out + cd $out + + # Execute the build + titanium build --config-file $TMPDIR/config.json --force --no-colors --platform ios --target simulator --build-only --device-family universal --ios-version ${iosVersion} --output-dir $out + + # Remove the modules symlink + if [ "$createdModulesSymlink" = "1" ] + then + rm $out/modules + fi + ''} + '' else throw "Target: ${target} is not supported!"} ''; - + + installPhase = '' + ${if target == "android" then '' + ${if release then "" + else '' + cp "$(ls build/android/bin/*.apk | grep -v '\-unsigned.apk')" $out + ''} + + mkdir -p $out/nix-support + echo "file binary-dist \"$(ls $out/*.apk)\"" > $out/nix-support/hydra-build-products + '' + else if target == "iphone" then + if release then '' + mkdir -p $out/nix-support + echo "file binary-dist \"$(echo $out/*.ipa)\"" > $out/nix-support/hydra-build-products + + ${stdenv.lib.optionalString enableWirelessDistribution '' + appname="$(basename "$out/*.ipa" .ipa)" + bundleId=$(grep '[a-zA-Z0-9.]*' tiapp.xml | sed -e 's|||' -e 's|||' -e 's/ //g') + version=$(grep '[a-zA-Z0-9.]*' tiapp.xml | sed -e 's|||' -e 's|||' -e 's/ //g') + + sed -e "s|@INSTALL_URL@|${installURL}?bundleId=$bundleId\&version=$version\&title=$appname|" ${../xcodeenv/install.html.template} > "$out/$appname.html" + echo "doc install \"$out/$appname.html\"" >> $out/nix-support/hydra-build-products + ''} + '' + else "" + else throw "Target: ${target} is not supported!"} + ''; + failureHook = stdenv.lib.optionalString (release && target == "iphone") deleteKeychain; -} +} // extraArgs) diff --git a/pkgs/development/mobile/titaniumenv/default.nix b/pkgs/development/mobile/titaniumenv/default.nix index f411a8d61fd..e9f6344680b 100644 --- a/pkgs/development/mobile/titaniumenv/default.nix +++ b/pkgs/development/mobile/titaniumenv/default.nix @@ -1,27 +1,19 @@ -{pkgs, xcodeVersion ? "9.2", xcodeBaseDir ? "/Applications/Xcode.app", tiVersion ? "7.1.0.GA"}: +{pkgs, pkgs_i686, androidenv, xcodeenv, tiVersion ? "7.1.0.GA"}: rec { - androidenv = pkgs.androidenv; - - xcodeenv = if pkgs.stdenv.hostPlatform.system == "x86_64-darwin" then pkgs.xcodeenv.override { - version = xcodeVersion; - inherit xcodeBaseDir; - } else null; - titaniumsdk = let - titaniumSdkFile = if tiVersion == "6.3.1.GA" then ./titaniumsdk-6.3.nix - else if tiVersion == "7.1.0.GA" then ./titaniumsdk-7.1.nix + titaniumSdkFile = if tiVersion == "7.1.0.GA" then ./titaniumsdk-7.1.nix else throw "Titanium version not supported: "+tiVersion; in import titaniumSdkFile { - inherit (pkgs) stdenv fetchurl unzip makeWrapper python jdk; + inherit (pkgs) stdenv fetchurl unzip makeWrapper; }; - + buildApp = import ./build-app.nix { inherit (pkgs) stdenv python which file jdk nodejs; - inherit (pkgs.nodePackages_6_x) alloy titanium; - inherit (androidenv) androidsdk; - inherit (xcodeenv) xcodewrapper; - inherit titaniumsdk xcodeBaseDir; + inherit (pkgs.nodePackages_8_x) alloy titanium; + inherit (androidenv) composeAndroidPackages; + inherit (xcodeenv) composeXcodeWrapper; + inherit titaniumsdk; }; } diff --git a/pkgs/development/mobile/titaniumenv/examples/default.nix b/pkgs/development/mobile/titaniumenv/examples/default.nix deleted file mode 100644 index 78f91dd39fb..00000000000 --- a/pkgs/development/mobile/titaniumenv/examples/default.nix +++ /dev/null @@ -1,91 +0,0 @@ -{ nixpkgs ? -, systems ? [ "x86_64-linux" "x86_64-darwin" ] -, xcodeVersion ? "9.2" -, xcodeBaseDir ? "/Applications/Xcode.app" -, tiVersion ? "7.1.0.GA" -, rename ? false -, newBundleId ? "com.example.kitchensink", iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? "Example", iosCertificatePassword ? "", iosVersion ? "11.2" -, enableWirelessDistribution ? false, installURL ? null -}: - -let - pkgs = import nixpkgs {}; -in -rec { - kitchensink_android_debug = pkgs.lib.genAttrs systems (system: - let - pkgs = import nixpkgs { inherit system; }; - in - import ./kitchensink { - inherit (pkgs) fetchgit; - titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion xcodeBaseDir tiVersion; }; - inherit tiVersion; - target = "android"; - }); - - kitchensink_android_release = pkgs.lib.genAttrs systems (system: - let - pkgs = import nixpkgs { inherit system; }; - in - import ./kitchensink { - inherit (pkgs) fetchgit; - titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion xcodeBaseDir tiVersion; }; - inherit tiVersion; - target = "android"; - release = true; - }); - - emulate_kitchensink_debug = pkgs.lib.genAttrs systems (system: - let - pkgs = import nixpkgs { inherit system; }; - in - import ./emulate-kitchensink { - inherit (pkgs) androidenv; - kitchensink = builtins.getAttr system kitchensink_android_debug; - }); - - emulate_kitchensink_release = pkgs.lib.genAttrs systems (system: - let - pkgs = import nixpkgs { inherit system; }; - in - import ./emulate-kitchensink { - inherit (pkgs) androidenv; - kitchensink = builtins.getAttr system kitchensink_android_release; - }); - -} // (if builtins.elem "x86_64-darwin" systems then - let - pkgs = import nixpkgs { system = "x86_64-darwin"; }; - in - rec { - kitchensink_ios_development = import ./kitchensink { - inherit (pkgs) fetchgit; - titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion xcodeBaseDir tiVersion; }; - inherit tiVersion iosVersion; - target = "iphone"; - }; - - simulate_kitchensink = import ./simulate-kitchensink { - inherit (pkgs) stdenv; - xcodeenv = pkgs.xcodeenv.override { version = xcodeVersion; inherit xcodeBaseDir; }; - kitchensink = kitchensink_ios_development; - bundleId = if rename then newBundleId else "com.appcelerator.kitchensink"; - }; -} else {}) // (if rename then - let - pkgs = import nixpkgs { system = "x86_64-darwin"; }; - in - { - kitchensink_ipa = import ./kitchensink { - inherit (pkgs) stdenv fetchgit; - titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion xcodeBaseDir tiVersion; }; - target = "iphone"; - inherit tiVersion; - release = true; - rename = true; - inherit newBundleId iosMobileProvisioningProfile iosCertificate iosCertificateName iosCertificatePassword iosVersion; - inherit enableWirelessDistribution installURL; - }; - } - -else {}) diff --git a/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix deleted file mode 100644 index cad4503dc96..00000000000 --- a/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{androidenv, kitchensink}: - -androidenv.emulateApp { - name = "emulate-${kitchensink.name}"; - app = kitchensink; - platformVersion = "16"; - useGoogleAPIs = true; - package = "com.appcelerator.kitchensink"; - activity = ".KitchensinkActivity"; -} diff --git a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix deleted file mode 100644 index 70ab1b168c4..00000000000 --- a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ titaniumenv, fetchgit, target, androidPlatformVersions ? [ "25" "26" ], tiVersion ? "7.1.0.GA", release ? false -, rename ? false, stdenv ? null, newBundleId ? null, iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? null, iosCertificatePassword ? null, iosVersion ? "11.2" -, enableWirelessDistribution ? false, installURL ? null -}: - -assert rename -> (stdenv != null && newBundleId != null && iosMobileProvisioningProfile != null && iosCertificate != null && iosCertificateName != null && iosCertificatePassword != null); - -let - src = fetchgit { - url = https://github.com/appcelerator/kitchensink-v2.git; - rev = "94364df2ef60a80bd354a4273e3cb5f4c5185537"; - sha256 = "0q4gzidpsq401frkngy4yk5kqvm8dz00ls74bw3fnpvg4714d6gf"; - }; - - # Rename the bundle id to something else - renamedSrc = stdenv.mkDerivation { - name = "KitchenSink-renamedsrc"; - inherit src; - buildPhase = '' - sed -i -e "s|com.appcelerator.kitchensink|${newBundleId}|" tiapp.xml - ''; - installPhase = '' - mkdir -p $out - mv * $out - ''; - }; -in -titaniumenv.buildApp { - name = "KitchenSink-${target}-${if release then "release" else "debug"}"; - src = if rename then renamedSrc else src; - preBuild = '' - sed -i -e "s|23|25|" tiapp.xml - ''; # Raise minimum android SDK from 23 to 25 - inherit tiVersion; - - inherit target androidPlatformVersions release; - - androidKeyStore = ./keystore; - androidKeyAlias = "myfirstapp"; - androidKeyStorePassword = "mykeystore"; - - inherit iosMobileProvisioningProfile iosCertificate iosCertificateName iosCertificatePassword iosVersion; - inherit enableWirelessDistribution installURL; -} diff --git a/pkgs/development/mobile/titaniumenv/examples/kitchensink/generatekeystore.sh b/pkgs/development/mobile/titaniumenv/examples/kitchensink/generatekeystore.sh deleted file mode 100755 index 57451e8a507..00000000000 --- a/pkgs/development/mobile/titaniumenv/examples/kitchensink/generatekeystore.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -e - -( echo "John Doe" - echo "My Company" - echo "My Organization" - echo "My City" - echo "My State" - echo "US" - echo "yes" -) | keytool --genkeypair --alias myfirstapp --keystore ./keystore --storepass mykeystore diff --git a/pkgs/development/mobile/titaniumenv/examples/kitchensink/keystore b/pkgs/development/mobile/titaniumenv/examples/kitchensink/keystore deleted file mode 100644 index ee0a9c7989b..00000000000 Binary files a/pkgs/development/mobile/titaniumenv/examples/kitchensink/keystore and /dev/null differ diff --git a/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix deleted file mode 100644 index bbd94cb7882..00000000000 --- a/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{xcodeenv, kitchensink, bundleId}: - -xcodeenv.simulateApp { - name = "simulate-${kitchensink.name}"; - inherit bundleId; - app = "${kitchensink}/build/iphone/build/Products/Debug-iphonesimulator"; -} diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-6.3.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-6.3.nix deleted file mode 100644 index b8c2688708b..00000000000 --- a/pkgs/development/mobile/titaniumenv/titaniumsdk-6.3.nix +++ /dev/null @@ -1,43 +0,0 @@ -{stdenv, fetchurl, unzip, makeWrapper}: - -stdenv.mkDerivation { - name = "mobilesdk-6.3.1.GA"; - src = if (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux") then fetchurl { - url = http://builds.appcelerator.com/mobile/6_3_X/mobilesdk-6.3.1.v20171101154403-linux.zip; - sha256 = "0g8dqqf5ffa7ll3rqm5naywipnv2vvfxcj9fmqg1wnvvxf0rflqj"; - } - else if stdenv.hostPlatform.system == "x86_64-darwin" then fetchurl { - url = http://builds.appcelerator.com/mobile/6_3_X/mobilesdk-6.3.1.v20171101154403-osx.zip; - sha256 = "00bm8vv70mg4kd7jvmxd1bfqafv6zdpdx816i0hvf801zwnak4nj"; - } - else throw "Platform: ${stdenv.hostPlatform.system} not supported!"; - - buildInputs = [ unzip makeWrapper ]; - - buildCommand = '' - mkdir -p $out - cd $out - (yes y | unzip $src) || true - - # Rename ugly version number - cd mobilesdk/* - mv * 6.3.1.GA - cd * - ${stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-darwin") '' - # Fixes a bad archive copying error when generating an IPA file - sed -i -e "s|cp -rf|/bin/cp -rf|" iphone/cli/commands/_build.js - ''} - - # Patch some executables - - ${if stdenv.hostPlatform.system == "i686-linux" then - '' - patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 android/titanium_prep.linux32 - '' - else if stdenv.hostPlatform.system == "x86_64-linux" then - '' - patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 android/titanium_prep.linux64 - '' - else ""} - ''; -} diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-7.1.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-7.1.nix index 4d3bd420969..13abc18f76e 100644 --- a/pkgs/development/mobile/titaniumenv/titaniumsdk-7.1.nix +++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-7.1.nix @@ -35,7 +35,7 @@ let sha256 = "11nwdb9y84cghcx319nsjjf9m035s4s1184zrhzpvaxq2wvqhbhx"; }; - # Put the download plugins in a fake Maven repository + # Put the downloaded plugins in a fake Maven repository fakeMavenRepo = stdenv.mkDerivation { name = "fake-maven-repo"; buildCommand = '' @@ -54,15 +54,15 @@ let in stdenv.mkDerivation { name = "mobilesdk-7.1.0.GA"; - src = if (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux") then fetchurl { + src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl { url = http://builds.appcelerator.com/mobile/7_1_X/mobilesdk-7.1.0.v20180314133955-linux.zip; sha256 = "18b3jnr65sdn5wj191bcl48gvhyklxmighxakv4vrz1fb59kyvqn"; } - else if stdenv.hostPlatform.system == "x86_64-darwin" then fetchurl { + else if stdenv.system == "x86_64-darwin" then fetchurl { url = http://builds.appcelerator.com/mobile/7_1_X/mobilesdk-7.1.0.v20180314133955-osx.zip; sha256 = "1f62616biwsw1fqxz2sq7lpa6bsfjazffliplyf5dpnh298cnc1m"; } - else throw "Platform: ${stdenv.hostPlatform.system} not supported!"; + else throw "Platform: ${stdenv.system} not supported!"; buildInputs = [ unzip makeWrapper ]; @@ -89,11 +89,11 @@ stdenv.mkDerivation { # Patch some executables - ${if stdenv.hostPlatform.system == "i686-linux" then + ${if stdenv.system == "i686-linux" then '' patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 android/titanium_prep.linux32 '' - else if stdenv.hostPlatform.system == "x86_64-linux" then + else if stdenv.system == "x86_64-linux" then '' patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 android/titanium_prep.linux64 '' diff --git a/pkgs/development/mobile/xcodeenv/build-app.nix b/pkgs/development/mobile/xcodeenv/build-app.nix index d7dd2d1190d..90fa307fbf2 100644 --- a/pkgs/development/mobile/xcodeenv/build-app.nix +++ b/pkgs/development/mobile/xcodeenv/build-app.nix @@ -1,14 +1,13 @@ -{stdenv, xcodewrapper}: +{stdenv, composeXcodeWrapper}: { name , src -, sdkVersion ? "11.2" +, sdkVersion ? "11.3" , target ? null , configuration ? null , scheme ? null , sdk ? null , xcodeFlags ? "" , release ? false -, codeSignIdentity ? null , certificateFile ? null , certificatePassword ? null , provisioningProfile ? null @@ -18,24 +17,23 @@ , enableWirelessDistribution ? false , installURL ? null , bundleId ? null -, version ? null -, title ? null -, meta ? {} -}: +, appVersion ? null +, ... +}@args: -assert release -> codeSignIdentity != null && certificateFile != null && certificatePassword != null && provisioningProfile != null && signMethod != null; -assert enableWirelessDistribution -> installURL != null && bundleId != null && version != null && title != null; +assert release -> certificateFile != null && certificatePassword != null && provisioningProfile != null && signMethod != null; +assert enableWirelessDistribution -> installURL != null && bundleId != null && appVersion != null; let # Set some default values here - + _target = if target == null then name else target; _configuration = if configuration == null then if release then "Release" else "Debug" else configuration; - + _sdk = if sdk == null then if release then "iphoneos" + sdkVersion else "iphonesimulator" + sdkVersion @@ -46,41 +44,45 @@ let security default-keychain -s login.keychain security delete-keychain $keychainName ''; + + xcodewrapperFormalArgs = builtins.functionArgs composeXcodeWrapper; + xcodewrapperArgs = builtins.intersectAttrs xcodewrapperFormalArgs args; + xcodewrapper = composeXcodeWrapper xcodewrapperArgs; + + extraArgs = removeAttrs args ([ "name" "scheme" "xcodeFlags" "release" "certificateFile" "certificatePassword" "provisioningProfile" "signMethod" "generateIPA" "generateXCArchive" "enableWirelessDistribution" "installURL" "bundleId" "version" ] ++ builtins.attrNames xcodewrapperFormalArgs); in -stdenv.mkDerivation { - name = stdenv.lib.replaceChars [" "] [""] name; - inherit src; - inherit meta; +stdenv.mkDerivation ({ + name = stdenv.lib.replaceChars [" "] [""] name; # iOS app names can contain spaces, but in the Nix store this is not allowed buildInputs = [ xcodewrapper ]; buildPhase = '' ${stdenv.lib.optionalString release '' - export HOME=/Users/$(whoami) - keychainName="$(basename $out)" - - # Create a keychain - security create-keychain -p "" $keychainName - security default-keychain -s $keychainName - security unlock-keychain -p "" $keychainName - - # Import the certificate into the keychain - security import ${certificateFile} -k $keychainName -P "${certificatePassword}" -A + export HOME=/Users/$(whoami) + keychainName="$(basename $out)" - # Grant the codesign utility permissions to read from the keychain - security set-key-partition-list -S apple-tool:,apple: -s -k "" $keychainName - - # Determine provisioning ID - PROVISIONING_PROFILE=$(grep UUID -A1 -a ${provisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}") + # Create a keychain + security create-keychain -p "" $keychainName + security default-keychain -s $keychainName + security unlock-keychain -p "" $keychainName - if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$PROVISIONING_PROFILE.mobileprovision" ] - then - # Copy provisioning profile into the home directory - mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles" - cp ${provisioningProfile} "$HOME/Library/MobileDevice/Provisioning Profiles/$PROVISIONING_PROFILE.mobileprovision" - fi - - # Check whether the identity can be found - security find-identity -p codesigning $keychainName - ''} + # Import the certificate into the keychain + security import ${certificateFile} -k $keychainName -P "${certificatePassword}" -A + + # Grant the codesign utility permissions to read from the keychain + security set-key-partition-list -S apple-tool:,apple: -s -k "" $keychainName + + # Determine provisioning ID + PROVISIONING_PROFILE=$(grep UUID -A1 -a ${provisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}") + + if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$PROVISIONING_PROFILE.mobileprovision" ] + then + # Copy provisioning profile into the home directory + mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles" + cp ${provisioningProfile} "$HOME/Library/MobileDevice/Provisioning Profiles/$PROVISIONING_PROFILE.mobileprovision" + fi + + # Check whether the identity can be found + security find-identity -p codesigning $keychainName + ''} # Do the building export LD=clang # To avoid problem with -isysroot parameter that is unrecognized by the stock ld. Comparison with an impure build shows that it uses clang instead. Ugly, but it works @@ -116,10 +118,11 @@ stdenv.mkDerivation { # Add IPA to Hydra build products mkdir -p $out/nix-support echo "file binary-dist \"$(echo $out/*.ipa)\"" > $out/nix-support/hydra-build-products - + ${stdenv.lib.optionalString enableWirelessDistribution '' - appname=$(basename $out/*.ipa .ipa) - sed -e "s|@INSTALL_URL@|${installURL}?bundleId=${bundleId}\&version=${version}\&title=$appname|" ${./install.html.template} > $out/$appname.html + # Add another hacky build product that enables wireless adhoc installations + appname="$(basename "$out/*.ipa" .ipa)" + sed -e "s|@INSTALL_URL@|${installURL}?bundleId=${bundleId}\&version=${appVersion}\&title=$appname|" ${./install.html.template} > $out/$appname.html echo "doc install \"$out/$appname.html\"" >> $out/nix-support/hydra-build-products ''} ''} @@ -127,13 +130,13 @@ stdenv.mkDerivation { mkdir -p $out mv "${name}.xcarchive" $out ''} - + # Delete our temp keychain ${deleteKeychain} ''} ''; - + failureHook = stdenv.lib.optionalString release deleteKeychain; - + installPhase = "true"; -} +} // extraArgs) diff --git a/pkgs/development/mobile/xcodeenv/xcodewrapper.nix b/pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix similarity index 85% rename from pkgs/development/mobile/xcodeenv/xcodewrapper.nix rename to pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix index 38afe86c5aa..d0093ffac91 100644 --- a/pkgs/development/mobile/xcodeenv/xcodewrapper.nix +++ b/pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix @@ -1,4 +1,7 @@ -{stdenv, version, xcodeBaseDir}: +{stdenv}: +{version ? "9.3", xcodeBaseDir ? "/Applications/Xcode.app"}: + +assert stdenv.isDarwin; stdenv.mkDerivation { name = "xcode-wrapper-"+version; @@ -9,6 +12,7 @@ stdenv.mkDerivation { ln -s /usr/bin/security ln -s /usr/bin/codesign ln -s /usr/bin/xcrun + ln -s /usr/bin/plutil ln -s "${xcodeBaseDir}/Contents/Developer/usr/bin/xcodebuild" ln -s "${xcodeBaseDir}/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator" diff --git a/pkgs/development/mobile/xcodeenv/default.nix b/pkgs/development/mobile/xcodeenv/default.nix index b3b9dbdf07a..47686e6d69e 100644 --- a/pkgs/development/mobile/xcodeenv/default.nix +++ b/pkgs/development/mobile/xcodeenv/default.nix @@ -1,15 +1,15 @@ -{stdenv, version ? "9.2", xcodeBaseDir ? "/Applications/Xcode.app"}: +{stdenv}: rec { - xcodewrapper = import ./xcodewrapper.nix { - inherit stdenv version xcodeBaseDir; + composeXcodeWrapper = import ./compose-xcodewrapper.nix { + inherit stdenv; }; buildApp = import ./build-app.nix { - inherit stdenv xcodewrapper; + inherit stdenv composeXcodeWrapper; }; simulateApp = import ./simulate-app.nix { - inherit stdenv xcodewrapper; + inherit stdenv composeXcodeWrapper; }; } diff --git a/pkgs/development/mobile/xcodeenv/install.html.template b/pkgs/development/mobile/xcodeenv/install.html.template index 833b1994162..d48fda7f38b 100644 --- a/pkgs/development/mobile/xcodeenv/install.html.template +++ b/pkgs/development/mobile/xcodeenv/install.html.template @@ -4,14 +4,14 @@ Install IPA - + Go to the install page or wait a second - +