diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 635395257929..c9abac5851b5 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -178,6 +178,7 @@ /nixos/tests/prometheus-exporters.nix @WilliButz # PHP -/pkgs/development/interpreters/php @etu -/pkgs/top-level/php-packages.nix @etu -/pkgs/build-support/build-pecl.nix @etu +/doc/languages-frameworks/php.section.md @etu +/pkgs/development/interpreters/php @etu +/pkgs/top-level/php-packages.nix @etu +/pkgs/build-support/build-pecl.nix @etu diff --git a/doc/languages-frameworks/android.section.md b/doc/languages-frameworks/android.section.md index d76b590ede30..6ee450eeb59f 100644 --- a/doc/languages-frameworks/android.section.md +++ b/doc/languages-frameworks/android.section.md @@ -186,7 +186,7 @@ with import {}; androidenv.emulateApp { name = "emulate-MyAndroidApp"; platformVersion = "28"; - abiVersion = "x86_64"; # armeabi-v7a, mips, x86 + abiVersion = "x86"; # armeabi-v7a, mips, x86_64 systemImageType = "google_apis_playstore"; } ``` diff --git a/doc/languages-frameworks/php.section.md b/doc/languages-frameworks/php.section.md new file mode 100644 index 000000000000..a302a9a7f87d --- /dev/null +++ b/doc/languages-frameworks/php.section.md @@ -0,0 +1,112 @@ +# PHP + +## User Guide + +### Using PHP + +#### Overview + +Several versions of PHP are available on Nix, each of which having a +wide variety of extensions and libraries available. + +The attribute `php` refers to the version of PHP considered most +stable and thoroughly tested in nixpkgs for any given release of +NixOS. Note that while this version of PHP may not be the latest major +release from upstream, any version of PHP supported in nixpkgs may be +utilized by specifying the desired attribute by version, such as +`php74`. + +Only versions of PHP that are supported by upstream for the entirety +of a given NixOS release will be included in that release of +NixOS. See [PHP Supported +Versions](https://www.php.net/supported-versions.php). + +Interactive tools built on PHP are put in `php.packages`; composer is +for example available at `php.packages.composer`. + +Most extensions that come with PHP, as well as some popular +third-party ones, are available in `php.extensions`; for example, the +opcache extension shipped with PHP is available at +`php.extensions.opcache` and the third-party ImageMagick extension at +`php.extensions.imagick`. + +The different versions of PHP that nixpkgs provides is located under +attributes named based on major and minor version number; e.g., +`php74` is PHP 7.4 with commonly used extensions installed, +`php74base` is the same PHP runtime without extensions. + +#### Installing PHP with packages + +A PHP package with specific extensions enabled can be built using +`php.withExtensions`. This is a function which accepts an anonymous +function as its only argument; the function should take one argument, +the set of all extensions, and return a list of wanted extensions. For +example, a PHP package with the opcache and ImageMagick extensions +enabled: + +```nix +php.withExtensions (e: with e; [ imagick opcache ]) +``` + +Note that this will give you a package with _only_ opcache and +ImageMagick, none of the other extensions which are enabled by default +in the `php` package will be available. + +To enable building on a previous PHP package, the currently enabled +extensions are made available in its `enabledExtensions` +attribute. For example, to generate a package with all default +extensions enabled, except opcache, but with ImageMagick: + +```nix +php.withExtensions (e: + (lib.filter (e: e != php.extensions.opcache) php.enabledExtensions) + ++ [ e.imagick ]) +``` + +If you want a PHP build with extra configuration in the `php.ini` +file, you can use `php.buildEnv`. This function takes two named and +optional parameters: `extensions` and `extraConfig`. `extensions` +takes an extension specification equivalent to that of +`php.withExtensions`, `extraConfig` a string of additional `php.ini` +configuration parameters. For example, a PHP package with the opcache +and ImageMagick extensions enabled, and `memory_limit` set to `256M`: + +```nix +php.buildEnv { + extensions = e: with e; [ imagick opcache ]; + extraConfig = "memory_limit=256M"; +} +``` + +##### Example setup for `phpfpm` + +You can use the previous examples in a `phpfpm` pool called `foo` as +follows: + +```nix +let + myPhp = php.withExtensions (e: with e; [ imagick opcache ]); +in { + services.phpfpm.pools."foo".phpPackage = myPhp; +}; +``` + +```nix +let + myPhp = php.buildEnv { + extensions = e: with e; [ imagick opcache ]; + extraConfig = "memory_limit=256M"; + }; +in { + services.phpfpm.pools."foo".phpPackage = myPhp; +}; +``` + +##### Example usage with `nix-shell` + +This brings up a temporary environment that contains a PHP interpreter +with the extensions `imagick` and `opcache` enabled. + +```sh +nix-shell -p 'php.buildEnv { extensions = e: with e; [ imagick opcache ]; }' +``` diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 6ca474d67ef9..ac2b51881aa0 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2404,6 +2404,12 @@ fingerprint = "67FE 98F2 8C44 CF22 1828 E12F D57E FA62 5C9A 925F"; }]; }; + euank = { + email = "euank-nixpkg@euank.com"; + github = "euank"; + githubId = 2147649; + name = "Euan Kemp"; + }; evanjs = { email = "evanjsx@gmail.com"; github = "evanjs"; diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml index 606add95f30b..1c0aaca8ae2d 100644 --- a/nixos/doc/manual/release-notes/rl-2003.xml +++ b/nixos/doc/manual/release-notes/rl-2003.xml @@ -827,8 +827,8 @@ auth required pam_succeed_if.so uid >= 1000 quiet - Predicatbly named network-interfaces get renamed in stage-1. This means that it's possible - to use the proper interface name for e.g. dropbear-setups. + Predictably named network interfaces get renamed in stage-1. This means that it is possible + to use the proper interface name for e.g. Dropbear setups. For further reference, please read #68953 or the corresponding discourse thread. diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml index 998b116d69c2..280389fe69c8 100644 --- a/nixos/doc/manual/release-notes/rl-2009.xml +++ b/nixos/doc/manual/release-notes/rl-2009.xml @@ -128,6 +128,73 @@ documentation for instructions. + + + Since this release there's an easy way to customize your PHP install to get a much smaller + base PHP with only wanted extensions enabled. See the following snippet installing a smaller PHP + with the extensions imagick, opcache and + pdo_mysql loaded: + + +environment.systemPackages = [ +(pkgs.php.buildEnv { extensions = pp: with pp; [ + imagick + opcache + pdo_mysql + ]; }) +]; + + The default php attribute hasn't lost any extensions - + the opcache extension was added there. + + All upstream PHP extensions are available under ]]>. + + + The updated php attribute is now easily customizable to your liking + by using extensions instead of writing config files or changing configure flags. + + Therefore we have removed the following configure flags: + + + PHP <literal>config</literal> flags that we don't read anymore: + config.php.argon2 + config.php.bcmath + config.php.bz2 + config.php.calendar + config.php.curl + config.php.exif + config.php.ftp + config.php.gd + config.php.gettext + config.php.gmp + config.php.imap + config.php.intl + config.php.ldap + config.php.libxml2 + config.php.libzip + config.php.mbstring + config.php.mysqli + config.php.mysqlnd + config.php.openssl + config.php.pcntl + config.php.pdo_mysql + config.php.pdo_odbc + config.php.pdo_pgsql + config.php.phpdbg + config.php.postgresql + config.php.readline + config.php.soap + config.php.sockets + config.php.sodium + config.php.sqlite + config.php.tidy + config.php.xmlrpc + config.php.xsl + config.php.zip + config.php.zlib + + + diff --git a/nixos/modules/profiles/hardened.nix b/nixos/modules/profiles/hardened.nix index da3de4447686..35743d83134b 100644 --- a/nixos/modules/profiles/hardened.nix +++ b/nixos/modules/profiles/hardened.nix @@ -23,8 +23,6 @@ with lib; security.allowUserNamespaces = mkDefault false; - nix.useSandbox = mkDefault false; - security.protectKernelImage = mkDefault true; security.allowSimultaneousMultithreading = mkDefault false; diff --git a/nixos/modules/services/networking/rxe.nix b/nixos/modules/services/networking/rxe.nix index fbec62728c0e..c7d174a00de2 100644 --- a/nixos/modules/services/networking/rxe.nix +++ b/nixos/modules/services/networking/rxe.nix @@ -17,7 +17,7 @@ in { example = [ "eth0" ]; description = '' Enable RDMA on the listed interfaces. The corresponding virtual - RDMA interfaces will be named rxe_. + RDMA interfaces will be named rxe_<interface>. UDP port 4791 must be open on the respective ethernet interfaces. ''; }; diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index 1069b71f74ce..7e7366480e18 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -6,27 +6,28 @@ let cfg = config.services.nextcloud; fpm = config.services.phpfpm.pools.nextcloud; - phpPackage = pkgs.php73; - phpPackages = pkgs.php73Packages; + phpPackage = + let + base = pkgs.php74; + in + base.buildEnv { + extensions = e: with e; + base.enabledExtensions ++ [ + apcu redis memcached imagick + ]; + extraConfig = phpOptionsStr; + }; toKeyValue = generators.toKeyValue { mkKeyValue = generators.mkKeyValueDefault {} " = "; }; - phpOptionsExtensions = '' - ${optionalString cfg.caching.apcu "extension=${phpPackages.apcu}/lib/php/extensions/apcu.so"} - ${optionalString cfg.caching.redis "extension=${phpPackages.redis}/lib/php/extensions/redis.so"} - ${optionalString cfg.caching.memcached "extension=${phpPackages.memcached}/lib/php/extensions/memcached.so"} - extension=${phpPackages.imagick}/lib/php/extensions/imagick.so - zend_extension = opcache.so - opcache.enable = 1 - ''; phpOptions = { upload_max_filesize = cfg.maxUploadSize; post_max_size = cfg.maxUploadSize; memory_limit = cfg.maxUploadSize; } // cfg.phpOptions; - phpOptionsStr = phpOptionsExtensions + (toKeyValue phpOptions); + phpOptionsStr = toKeyValue phpOptions; occ = pkgs.writeScriptBin "nextcloud-occ" '' #! ${pkgs.stdenv.shell} @@ -38,7 +39,6 @@ let export NEXTCLOUD_CONFIG_DIR="${cfg.home}/config" $sudo \ ${phpPackage}/bin/php \ - -c ${pkgs.writeText "php.ini" phpOptionsStr}\ occ $* ''; diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix index 26b662a2a643..32c9a40e535c 100644 --- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix +++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix @@ -38,7 +38,7 @@ in pkgs.gtk2 # To get GTK's themes. pkgs.tango-icon-theme - pkgs.gnome2.gnome_icon_theme + pkgs.gnome-icon-theme pkgs.xorg.xcursorthemes ]; diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 869c66944897..9782b950dad6 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -181,7 +181,6 @@ in hicolor-icon-theme lightlocker onboard - plank qgnomeplatform shared-mime-info sound-theme-freedesktop @@ -195,6 +194,7 @@ in # Desktop elementary-default-settings + elementary-dock elementary-session-settings elementary-shortcut-overlay gala @@ -206,7 +206,6 @@ in }) # Services - cerbere elementary-capnet-assist elementary-dpms-helper elementary-settings-daemon diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.xml b/nixos/modules/services/x11/desktop-managers/pantheon.xml index 4d92a7446c0d..9541f2cfd4ee 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.xml +++ b/nixos/modules/services/x11/desktop-managers/pantheon.xml @@ -89,22 +89,6 @@ switchboard-with-plugs.override { - - - Using Pantheon sometimes makes my shutdown take a long time. - - - - We have not yet determined what processes fight with systemd during shutdown, there are many reports. In elementary OS the default system timeout is lowered to lessen the impact of the issue. If you'd like to do this in NixOS, set - - = '' - DefaultTimeoutStopSec=10s - DefaultTimeoutStartSec=10s -''; - - - - I cannot enable both GNOME 3 and Pantheon. diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix index 9b4cca56d7f0..d7bef68e5bcb 100644 --- a/nixos/modules/services/x11/display-managers/gdm.nix +++ b/nixos/modules/services/x11/display-managers/gdm.nix @@ -188,6 +188,9 @@ in "systemd-machined.service" # setSessionScript wants AccountsService "accounts-daemon.service" + # Failed to open gpu '/dev/dri/card0': GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Operation not permitted + # https://github.com/NixOS/nixpkgs/pull/25311#issuecomment-609417621 + "systemd-udev-settle.service" ]; systemd.services.display-manager.after = [ @@ -197,6 +200,7 @@ in "getty@tty${gdm.initialVT}.service" "plymouth-quit.service" "plymouth-start.service" + "systemd-udev-settle.service" ]; systemd.services.display-manager.conflicts = [ "getty@tty${gdm.initialVT}.service" diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index 9377a931a75e..7e1e1973a0f9 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -112,7 +112,8 @@ in rec { "nixos.tests.nfs4.simple.x86_64-linux" "nixos.tests.openssh.x86_64-linux" "nixos.tests.pantheon.x86_64-linux" - "nixos.tests.php-pcre.x86_64-linux" + "nixos.tests.php.fpm.x86_64-linux" + "nixos.tests.php.pcre.x86_64-linux" "nixos.tests.plasma5.x86_64-linux" "nixos.tests.predictable-interface-names.predictableNetworkd.x86_64-linux" "nixos.tests.predictable-interface-names.predictable.x86_64-linux" diff --git a/nixos/release-small.nix b/nixos/release-small.nix index 2a15073b6698..6da2c59cedd4 100644 --- a/nixos/release-small.nix +++ b/nixos/release-small.nix @@ -40,7 +40,7 @@ in rec { nat nfs3 openssh - php-pcre + php predictable-interface-names proxy simple; @@ -108,7 +108,8 @@ in rec { "nixos.tests.nat.standalone.x86_64-linux" "nixos.tests.nfs3.simple.x86_64-linux" "nixos.tests.openssh.x86_64-linux" - "nixos.tests.php-pcre.x86_64-linux" + "nixos.tests.php.fpm.x86_64-linux" + "nixos.tests.php.pcre.x86_64-linux" "nixos.tests.predictable-interface-names.predictable.x86_64-linux" "nixos.tests.predictable-interface-names.predictableNetworkd.x86_64-linux" "nixos.tests.predictable-interface-names.unpredictable.x86_64-linux" diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 2bdced6a3cc1..76ca49416170 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -241,7 +241,7 @@ in peerflix = handleTest ./peerflix.nix {}; pgjwt = handleTest ./pgjwt.nix {}; pgmanage = handleTest ./pgmanage.nix {}; - php-pcre = handleTest ./php-pcre.nix {}; + php = handleTest ./php {}; plasma5 = handleTest ./plasma5.nix {}; plotinus = handleTest ./plotinus.nix {}; postgis = handleTest ./postgis.nix {}; diff --git a/nixos/tests/ceph-multi-node.nix b/nixos/tests/ceph-multi-node.nix index 90dd747525de..22fe5cada480 100644 --- a/nixos/tests/ceph-multi-node.nix +++ b/nixos/tests/ceph-multi-node.nix @@ -183,15 +183,15 @@ let monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") monA.succeed( - "ceph osd pool create multi-node-test 100 100", + "ceph osd pool create multi-node-test 128 128", "ceph osd pool ls | grep 'multi-node-test'", "ceph osd pool rename multi-node-test multi-node-other-test", "ceph osd pool ls | grep 'multi-node-other-test'", ) - monA.wait_until_succeeds("ceph -s | grep '1 pools, 100 pgs'") + monA.wait_until_succeeds("ceph -s | grep '1 pools, 128 pgs'") monA.succeed("ceph osd pool set multi-node-other-test size 2") monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") - monA.wait_until_succeeds("ceph -s | grep '100 active+clean'") + monA.wait_until_succeeds("ceph -s | grep '128 active+clean'") monA.fail( "ceph osd pool ls | grep 'multi-node-test'", "ceph osd pool delete multi-node-other-test multi-node-other-test --yes-i-really-really-mean-it", diff --git a/nixos/tests/ceph-single-node.nix b/nixos/tests/ceph-single-node.nix index 1a027e178367..01c4b4138451 100644 --- a/nixos/tests/ceph-single-node.nix +++ b/nixos/tests/ceph-single-node.nix @@ -143,12 +143,12 @@ let monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") monA.succeed( - "ceph osd pool create single-node-test 100 100", + "ceph osd pool create single-node-test 128 128", "ceph osd pool ls | grep 'single-node-test'", "ceph osd pool rename single-node-test single-node-other-test", "ceph osd pool ls | grep 'single-node-other-test'", ) - monA.wait_until_succeeds("ceph -s | grep '1 pools, 100 pgs'") + monA.wait_until_succeeds("ceph -s | grep '1 pools, 128 pgs'") monA.succeed( "ceph osd getcrushmap -o crush", "crushtool -d crush -o decrushed", @@ -158,7 +158,7 @@ let "ceph osd pool set single-node-other-test size 2", ) monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") - monA.wait_until_succeeds("ceph -s | grep '100 active+clean'") + monA.wait_until_succeeds("ceph -s | grep '128 active+clean'") monA.fail( "ceph osd pool ls | grep 'multi-node-test'", "ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it", diff --git a/nixos/tests/php/default.nix b/nixos/tests/php/default.nix new file mode 100644 index 000000000000..9ab14f722d08 --- /dev/null +++ b/nixos/tests/php/default.nix @@ -0,0 +1,7 @@ +{ system ? builtins.currentSystem, + config ? {}, + pkgs ? import ../../.. { inherit system config; } +}: { + fpm = import ./fpm.nix { inherit system pkgs; }; + pcre = import ./pcre.nix { inherit system pkgs; }; +} diff --git a/nixos/tests/php/fpm.nix b/nixos/tests/php/fpm.nix new file mode 100644 index 000000000000..e93a31834185 --- /dev/null +++ b/nixos/tests/php/fpm.nix @@ -0,0 +1,55 @@ +import ../make-test-python.nix ({pkgs, ...}: { + name = "php-fpm-nginx-test"; + meta.maintainers = with pkgs.stdenv.lib.maintainers; [ etu ]; + + machine = { config, lib, pkgs, ... }: { + services.nginx = { + enable = true; + + virtualHosts."phpfpm" = let + testdir = pkgs.writeTextDir "web/index.php" " - ''; + ''; in '' Alias / ${testRoot}/ @@ -30,11 +27,11 @@ import ./make-test-python.nix ({ ...}: { }; }; testScript = { ... }: - '' - machine.wait_for_unit("httpd.service") - # Ensure php evaluation by matching on the var_dump syntax - assert 'string(${toString (builtins.stringLength testString)}) "${testString}"' in machine.succeed( - "curl -vvv -s http://127.0.0.1:80/index.php" - ) - ''; + '' + machine.wait_for_unit("httpd.service") + # Ensure php evaluation by matching on the var_dump syntax + assert 'string(${toString (builtins.stringLength testString)}) "${testString}"' in machine.succeed( + "curl -vvv -s http://127.0.0.1:80/index.php" + ) + ''; }) diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix index 8cb70af40e06..6a468bd67eb5 100644 --- a/pkgs/applications/editors/kakoune/default.nix +++ b/pkgs/applications/editors/kakoune/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = http://kakoune.org/; + homepage = "http://kakoune.org/"; description = "A vim inspired text editor"; license = licenses.publicDomain; maintainers = with maintainers; [ vrthra ]; diff --git a/pkgs/applications/misc/gpsprune/default.nix b/pkgs/applications/misc/gpsprune/default.nix index 9c0dc48d42ee..63ca213c2c42 100644 --- a/pkgs/applications/misc/gpsprune/default.nix +++ b/pkgs/applications/misc/gpsprune/default.nix @@ -1,16 +1,16 @@ -{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jre8 }: +{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jdk11 }: stdenv.mkDerivation rec { pname = "gpsprune"; - version = "19.2"; + version = "20"; src = fetchurl { url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar"; - sha256 = "1q2kpkkh75b9l1x7fkmv88s8k84gzcdnrg5sgf8ih0zrp49lawg9"; + sha256 = "1i9p6h98azgradrrkcwx18zwz4c6zkxp4bfykpa2imi1z3ry5q2b"; }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ jre8 ]; + buildInputs = [ jdk11 ]; desktopItem = makeDesktopItem { name = "gpsprune"; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { buildCommand = '' mkdir -p $out/bin $out/share/java cp -v $src $out/share/java/gpsprune.jar - makeWrapper ${jre8}/bin/java $out/bin/gpsprune \ + makeWrapper ${jdk11}/bin/java $out/bin/gpsprune \ --add-flags "-jar $out/share/java/gpsprune.jar" mkdir -p $out/share/applications cp $desktopItem/share/applications"/"* $out/share/applications @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Application for viewing, editing and converting GPS coordinate data"; - homepage = https://activityworkshop.net/software/gpsprune/; + homepage = "https://activityworkshop.net/software/gpsprune/"; license = licenses.gpl2Plus; maintainers = [ maintainers.rycee ]; platforms = platforms.all; diff --git a/pkgs/applications/misc/khard/default.nix b/pkgs/applications/misc/khard/default.nix index 1c6708c51c97..0d3c9d0cbd06 100644 --- a/pkgs/applications/misc/khard/default.nix +++ b/pkgs/applications/misc/khard/default.nix @@ -1,12 +1,12 @@ { stdenv, glibcLocales, python3 }: python3.pkgs.buildPythonApplication rec { - version = "0.15.1"; + version = "0.16.0"; pname = "khard"; src = python3.pkgs.fetchPypi { inherit pname version; - sha256 = "18ba2xgfq8sw0bg6xmlfjpizid1hkzgswcfcc54gl21y2dwfda2w"; + sha256 = "0a1zpkq0pplmn9flxczq2wafs6zc07r9xx9qi6dqmyv9mhy9d87f"; }; propagatedBuildInputs = with python3.pkgs; [ @@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication rec { ''; meta = { - homepage = https://github.com/scheibler/khard; + homepage = "https://github.com/scheibler/khard"; description = "Console carddav client"; license = stdenv.lib.licenses.gpl3; maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ]; diff --git a/pkgs/applications/misc/mwic/default.nix b/pkgs/applications/misc/mwic/default.nix index 249d9ff1d400..688ec16b1554 100644 --- a/pkgs/applications/misc/mwic/default.nix +++ b/pkgs/applications/misc/mwic/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pythonPackages }: stdenv.mkDerivation rec { - version = "0.7.7"; + version = "0.7.8"; pname = "mwic"; src = fetchurl { url = "https://github.com/jwilk/mwic/releases/download/${version}/${pname}-${version}.tar.gz"; - sha256 = "0l4anwiiqclymx0awwn4hzaj8n26ycg8nz76wjphsyscn7z2awad"; + sha256 = "0nnhziz9v523hpciylnxfajmxabh2ig5iawzwrfpf7aww70v330x"; }; makeFlags=["PREFIX=\${out}"]; diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix index 073cc23e5ccf..bab24d014567 100644 --- a/pkgs/applications/networking/browsers/brave/default.nix +++ b/pkgs/applications/networking/browsers/brave/default.nix @@ -82,11 +82,11 @@ in stdenv.mkDerivation rec { pname = "brave"; - version = "1.5.115"; + version = "1.5.123"; src = fetchurl { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; - sha256 = "04zyv5amqxax1z0da4bcgxwsq596zfs416nshg6ffg4ci9nfbiab"; + sha256 = "1yv6hfjqzcd60b0bjpfbj8d4s2yf10swanxhbmnslcqp6ajb2nqr"; }; dontConfigure = true; diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 8e3f92f248fb..e132b758d5ff 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -1,4 +1,4 @@ -{ config, lib, callPackage, fetchurl }: +{ config, stdenv, lib, callPackage, fetchurl }: let common = opts: callPackage (import ./common.nix opts) {}; @@ -23,6 +23,8 @@ rec { maintainers = with lib.maintainers; [ eelco andir ]; platforms = lib.platforms.unix; badPlatforms = lib.platforms.darwin; + broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". + # not in `badPlatforms` because cross-compilation on 64-bit machine might work. license = lib.licenses.mpl20; }; updateScript = callPackage ./update.nix { diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix new file mode 100644 index 000000000000..316b86efe613 --- /dev/null +++ b/pkgs/applications/networking/cluster/k3s/default.nix @@ -0,0 +1,235 @@ +{ stdenv, lib, makeWrapper, socat, iptables, iproute, bridge-utils +, conntrack-tools, buildGoPackage, git, runc, libseccomp, pkgconfig +, autoPatchelfHook, breakpointHook, ethtool, utillinux, ipset +, fetchFromGitHub, fetchurl, fetchzip, fetchgit +}: + +with lib; + +# k3s is a kinda weird derivation. One of the main points of k3s is the +# simplicity of it being one binary that can perform several tasks. +# However, when you have a good package manager (like nix), that doesn't +# actually make much of a difference; you don't really care if it's one binary +# or 10 since with a good package manager, installing and running it is +# identical. +# Since upstream k3s packages itself as one large binary with several +# "personalities" (in the form of subcommands like 'k3s agent' and 'k3s +# kubectl'), it ends up being easiest to mostly mimic upstream packaging, with +# some exceptions. +# K3s also carries patches to some packages (such as containerd and cni +# plugins), so we intentionally use the k3s versions of those binaries for k3s, +# even if the upstream version of those binaries exist in nixpkgs already. In +# the end, that means we have a thick k3s binary that behaves like the upstream +# one for the most part. +# However, k3s also bundles several pieces of unpatched software, from the +# strongswan vpn software, to iptables, to socat, conntrack, busybox, etc. +# Those pieces of software we entirely ignore upstream's handling of, and just +# make sure they're in the path if desired. +let + k3sVersion = "1.17.3+k3s1"; # k3s git tag + traefikChartVersion = "1.81.0"; # taken from ./scripts/version.sh at the above k3s tag + k3sRootVersion = "0.3.0"; # taken from .s/cripts/version.sh at the above k3s tag + # bundled into the k3s binary + traefikChart = fetchurl { + url = "https://kubernetes-charts.storage.googleapis.com/traefik-${traefikChartVersion}.tgz"; + sha256 = "1aqpzgjlvqhil0g3angz94zd4xbl4iq0qmpjcy5aq1xv9qciwdi9"; + }; + # so, k3s is a complicated thing to package + # This derivation attempts to avoid including any random binaries from the + # internet. k3s-root is _mostly_ binaries built to be bundled in k3s (which + # we don't care about doing, we can add those as build or runtime + # dependencies using a real package manager). + # In addition to those binaries, it's also configuration though (right now + # mostly strongswan configuration), and k3s does use those files. + # As such, we download it in order to grab 'etc' and bundle it into the final + # k3s binary. + k3sRoot = fetchzip { + # Note: marked as apache 2.0 license + url = "https://github.com/rancher/k3s-root/releases/download/v${k3sRootVersion}/k3s-root-amd64.tar"; + sha256 = "12xafn5jivl8lqdcs25b28xrc4mf7yf1xif5np169nvvxgvmpdxp"; + stripRoot=false; + }; + k3sPlugins = buildGoPackage rec { + name = "k3s-cni-plugins"; + version = "0.7.6-k3s1"; # from ./scripts/version.sh 'VERSION_CNIPLUGINS'; update when k3s's repo is updated. + + goPackagePath = "github.com/containernetworking/plugins"; + subPackages = [ "." ]; + + src = fetchFromGitHub { + owner = "rancher"; + repo = "plugins"; + rev = "v${version}"; + sha256 = "0ax72z1ziann352bp6khfds8vlf3bbkqckrkpx4l4jxgqks45izs"; + }; + + meta = { + description = "k3s-cni-plugins"; + license = licenses.asl20; + homepage = https://k3s.io; + maintainers = []; + platforms = platforms.linux; + }; + }; + # Grab this separately from a build because it's used by both stages of the + # k3s build. + k3sRepo = fetchgit { + url = "https://github.com/rancher/k3s"; + rev = "v${k3sVersion}"; + leaveDotGit = true; # for version / build date below + sha256 = "0qahyc0mf9glxj49va6d20mcncqg4svfic2iz8b1lqid5c4g68mm"; + }; + # Stage 1 of the k3s build: + # Let's talk about how k3s is structured. + # One of the ideas of k3s is that there's the single "k3s" binary which can + # do everything you need, from running a k3s server, to being a worker node, + # to running kubectl. + # The way that actually works is that k3s is a single go binary that contains + # a bunch of bindata that it unpacks at runtime into directories (either the + # user's home directory or /var/lib/rancher if run as root). + # This bindata includes both binaries and configuration. + # In order to let nixpkgs do all its autostripping/patching/etc, we split this into two derivations. + # First, we build all the binaries that get packed into the thick k3s binary + # (and output them from one derivation so they'll all be suitably patched up). + # Then, we bundle those binaries into our thick k3s binary and use that as + # the final single output. + # This approach was chosen because it ensures the bundled binaries all are + # correctly built to run with nix (we can lean on the existing buildGoPackage + # stuff), and we can again lean on that tooling for the final k3s binary too. + # Other alternatives would be to manually run the + # strip/patchelf/remove-references step ourselves in the installPhase of the + # derivation when we've built all the binaries, but haven't bundled them in + # with generated bindata yet. + k3sBuildStage1 = buildGoPackage rec { + name = "k3s-build-1"; + version = "${k3sVersion}"; + + goPackagePath = "github.com/rancher/k3s"; + + src = k3sRepo; + + patches = [ ./patches/00-k3s.patch ]; + + nativeBuildInputs = [ pkgconfig autoPatchelfHook breakpointHook ]; + buildInputs = [ git runc libseccomp ]; + + buildPhase = '' + pushd go/src/${goPackagePath} + + patchShebangs ./scripts/build ./scripts/version.sh + mkdir -p bin + ./scripts/build + + popd + ''; + + installPhase = '' + pushd go/src/${goPackagePath} + + mkdir -p "$bin/bin" + install -m 0755 -t "$bin/bin" ./bin/* + + popd + ''; + + meta = { + description = "The various binaries that get packaged into the final k3s binary."; + license = licenses.asl20; + homepage = https://k3s.io; + maintainers = []; + platforms = platforms.linux; + }; + }; + k3sBuild = buildGoPackage rec { + name = "k3s-build"; + version = "${k3sVersion}"; + + goPackagePath = "github.com/rancher/k3s"; + + src = k3sRepo; + + patches = [ ./patches/00-k3s.patch ]; + + nativeBuildInputs = [ pkgconfig autoPatchelfHook breakpointHook ]; + buildInputs = [ git k3sBuildStage1 ]; + + # In order to build the thick k3s binary (which is what + # ./scripts/package-cli does), we need to get all the binaries that script + # expects in place. + buildPhase = '' + pushd go/src/${goPackagePath} + + patchShebangs ./scripts/build ./scripts/version.sh ./scripts/package-cli + + mkdir -p bin + + install -m 0755 -t ./bin ${k3sBuildStage1}/bin/* + install -m 0755 -T "${k3sPlugins}/bin/plugins" ./bin/cni + # Note: use the already-nixpkgs-bundled k3s rather than the one bundled + # in k3s because the k3s one is completely unmodified from upstream + # (unlike containerd, cni, etc) + install -m 0755 -T "${runc}/bin/runc" ./bin/runc + cp -R "${k3sRoot}/etc" ./etc + mkdir -p "build/static/charts" + cp "${traefikChart}" "build/static/charts/traefik-${traefikChartVersion}.tgz" + + ./scripts/package-cli + + popd + ''; + + installPhase = '' + pushd go/src/${goPackagePath} + + mkdir -p "$bin/bin" + install -m 0755 -t "$bin/bin" ./dist/artifacts/k3s + + popd + ''; + + meta = { + description = "The k3s go binary which is used by the final wrapped output below."; + license = licenses.asl20; + homepage = https://k3s.io; + maintainers = []; + platforms = platforms.linux; + }; + }; +in +stdenv.mkDerivation rec { + name = "k3s"; + + # Important utilities used by the kubelet, see + # https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494 + # Note the list in that issue is stale and some aren't relevant for k3s. + k3sRuntimeDeps = [ + socat iptables iproute bridge-utils ethtool utillinux ipset conntrack-tools + ]; + + buildInputs = [ + k3sBuild makeWrapper + ] ++ k3sRuntimeDeps; + + unpackPhase = "true"; + + # And, one final derivation (you thought the last one was it, right?) + # We got the binary we wanted above, but it doesn't have all the runtime + # dependencies k8s wants, including mount utilities for kubelet, networking + # tools for cni/kubelet stuff, etc + # Use a wrapper script to reference all the binaries that k3s tries to + # execute, but that we didn't bundle with it. + installPhase = '' + mkdir -p "$out/bin" + makeWrapper ${k3sBuild}/bin/k3s "$out/bin/k3s" \ + --prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \ + --prefix PATH : "$out/bin" + ''; + + meta = { + description = "A lightweight Kubernetes distribution."; + license = licenses.asl20; + homepage = https://k3s.io; + maintainers = with maintainers; [ euank ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/cluster/k3s/patches/00-k3s.patch b/pkgs/applications/networking/cluster/k3s/patches/00-k3s.patch new file mode 100644 index 000000000000..afe2c356aa4d --- /dev/null +++ b/pkgs/applications/networking/cluster/k3s/patches/00-k3s.patch @@ -0,0 +1,74 @@ +diff --git a/main.go b/main.go +index 62908bb7bb..0527222887 100644 +--- a/main.go ++++ b/main.go +@@ -1,5 +1,5 @@ + //go:generate go run pkg/codegen/cleanup/main.go +-//go:generate /bin/rm -rf pkg/generated ++//go:generate rm -rf pkg/generated + //go:generate go run pkg/codegen/main.go + //go:generate go fmt pkg/deploy/zz_generated_bindata.go + //go:generate go fmt pkg/static/zz_generated_bindata.go +diff --git a/scripts/build b/scripts/build +index 72d3c07ece..3e5455b262 100755 +--- a/scripts/build ++++ b/scripts/build +@@ -10,7 +10,8 @@ PKG_CONTAINERD="github.com/containerd/containerd" + PKG_RANCHER_CONTAINERD="github.com/rancher/containerd" + PKG_CRICTL="github.com/kubernetes-sigs/cri-tools" + +-buildDate=$(date -u '+%Y-%m-%dT%H:%M:%SZ') ++# Deterministic build date ++buildDate="$(date -d "$(git log -1 --format=%ai)" -u "+%Y-%m-%dT%H:%M:%SZ")" + + VENDOR_PREFIX="${PKG}/vendor/" + VERSIONFLAGS=" +@@ -82,17 +83,7 @@ cleanup() { + } + + INSTALLBIN=$(pwd)/bin +-if [ ! -x ${INSTALLBIN}/cni ]; then +-( +- echo Building cni +- TMPDIR=$(mktemp -d) +- trap cleanup EXIT +- WORKDIR=$TMPDIR/src/github.com/containernetworking/plugins +- git clone -b $VERSION_CNIPLUGINS https://github.com/rancher/plugins.git $WORKDIR +- cd $WORKDIR +- GOPATH=$TMPDIR CGO_ENABLED=0 go build -tags "$TAGS" -ldflags "$LDFLAGS $STATIC" -o $INSTALLBIN/cni +-) +-fi ++# skip building cni, use our separately built one + # echo Building agent + # CGO_ENABLED=1 go build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/k3s-agent ./cmd/agent/main.go + echo Building server +@@ -108,9 +99,8 @@ ln -s containerd ./bin/ctr + #CGO_ENABLED=1 go build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC_SQLITE" -o bin/ctr ./cmd/ctr/main.go + # echo Building containerd + # CGO_ENABLED=0 go build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/containerd ./cmd/containerd/ +-echo Building runc +-make EXTRA_LDFLAGS="-w -s" BUILDTAGS="apparmor seccomp" -C ./vendor/github.com/opencontainers/runc static +-cp -f ./vendor/github.com/opencontainers/runc/runc ./bin/runc ++ ++# skip building runc; use our packaged one + + echo Building containerd-shim + make -C ./vendor/github.com/containerd/containerd bin/containerd-shim +diff --git a/scripts/package-cli b/scripts/package-cli +index 4c66ce32df..6d1e0c03cb 100755 +--- a/scripts/package-cli ++++ b/scripts/package-cli +@@ -55,10 +55,10 @@ LDFLAGS=" + -X github.com/rancher/k3s/pkg/version.GitCommit=${COMMIT:0:8} + -w -s + " +-STATIC="-extldflags '-static'" + if [ "$DQLITE" = "true" ]; then + DQLITE_TAGS="dqlite" + fi +-CGO_ENABLED=0 go build -tags "$DQLITE_TAGS" -ldflags "$LDFLAGS $STATIC" -o ${CMD_NAME} ./cmd/k3s/main.go ++go build -tags "$DQLITE_TAGS" -ldflags "$LDFLAGS" -o ${CMD_NAME} ./cmd/k3s/main.go + +-./scripts/build-upload ${CMD_NAME} ${COMMIT} ++# for nixos, don't upload it ++# ./scripts/build-upload ${CMD_NAME} ${COMMIT} diff --git a/pkgs/applications/networking/instant-messengers/gomuks/default.nix b/pkgs/applications/networking/instant-messengers/gomuks/default.nix index a36f72c03d08..2962d190d369 100644 --- a/pkgs/applications/networking/instant-messengers/gomuks/default.nix +++ b/pkgs/applications/networking/instant-messengers/gomuks/default.nix @@ -1,19 +1,34 @@ -{ stdenv, buildGoModule, fetchFromGitHub }: +{ stdenv, buildGoModule, fetchFromGitHub, makeDesktopItem }: buildGoModule rec { pname = "gomuks"; - version = "2020-02-19"; + version = "2020-03-20"; goPackagePath = "maunium.net/go/gomuks"; src = fetchFromGitHub { owner = "tulir"; repo = pname; - rev = "702592bf89dfcf1ec382c0a09d99318bce7a3943"; - sha256 = "0g638q8ypkp6dbfy1s4hz798cpkld301f914il3yd70yf05vvysc"; + rev = "bce30e32a049b3ee76081c8d3881a3820b0e7341"; + sha256 = "0f7i88vrvl1xl4hmjplq3wwihqwijbgxy6nk5fkvc8pfmm5hsjcs"; }; - modSha256 = "03vbrh50pvx71rp6c23qc2sh0ir4jm1wl0gvi3z1c14ndzhsqky4"; + modSha256 = "10w0bjhnf6bbqx5jbgfv2jxxyqswzx25p64kkjmvh5qamjzpbjz2"; + + postInstall = '' + cp -r ${ + makeDesktopItem { + name = "net.maunium.gomuks.desktop"; + exec = "@out@/bin/gomuks"; + terminal = "true"; + desktopName = "Gomuks"; + genericName = "Matrix client"; + categories = "Network;Chat"; + comment = meta.description; + } + }/* $out/ + substituteAllInPlace $out/share/applications/* + ''; meta = with stdenv.lib; { homepage = "https://maunium.net/go/gomuks/"; diff --git a/pkgs/applications/networking/instant-messengers/zulip/default.nix b/pkgs/applications/networking/instant-messengers/zulip/default.nix index 33392af766c9..0c0c6debd79a 100644 --- a/pkgs/applications/networking/instant-messengers/zulip/default.nix +++ b/pkgs/applications/networking/instant-messengers/zulip/default.nix @@ -5,12 +5,12 @@ let pname = "zulip"; - version = "4.0.0"; + version = "5.0.0"; name = "${pname}-${version}"; src = fetchurl { url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage"; - sha256 = "1pni02mb5bvwx3k45vd6ga269ghdl633gjklyslai24rrhp16h9z"; + sha256 = "0qwlhkzb3lbzk3piyfx8nn827kcafrl3j1nxrn18f8px9gwasinz"; name="${pname}-${version}.AppImage"; }; diff --git a/pkgs/applications/networking/ipfs-migrator/default.nix b/pkgs/applications/networking/ipfs-migrator/default.nix index dc646f9471e1..578ac9b04797 100644 --- a/pkgs/applications/networking/ipfs-migrator/default.nix +++ b/pkgs/applications/networking/ipfs-migrator/default.nix @@ -19,7 +19,7 @@ buildGoPackage { meta = with stdenv.lib; { description = "Migration tool for ipfs repositories"; - homepage = https://ipfs.io/; + homepage = "https://ipfs.io/"; license = licenses.mit; platforms = platforms.unix; maintainers = with maintainers; [ elitak ]; diff --git a/pkgs/applications/networking/ipfs-migrator/deps.nix b/pkgs/applications/networking/ipfs-migrator/deps.nix index 1ad1c383c8c6..b4ae5ef827ec 100644 --- a/pkgs/applications/networking/ipfs-migrator/deps.nix +++ b/pkgs/applications/networking/ipfs-migrator/deps.nix @@ -3,7 +3,7 @@ goPackagePath = "github.com/jbenet/goprocess"; fetch = { type = "git"; - url = https://github.com/jbenet/goprocess; + url = "https://github.com/jbenet/goprocess"; rev = "b497e2f366b8624394fb2e89c10ab607bebdde0b"; sha256 = "1lnvkzki7vnqn5c4m6bigk0k85haicmg27w903kwg30rdvblm82s"; }; @@ -12,7 +12,7 @@ goPackagePath = "github.com/jbenet/go-random"; fetch = { type = "git"; - url = https://github.com/jbenet/go-random; + url = "https://github.com/jbenet/go-random"; rev = "384f606e91f542a98e779e652eed88051618f0f7"; sha256 = "0gcshzl9n3apzc0jaxqrjsc038yfrzfyhpdqgbpcnajin83l2msa"; }; @@ -21,7 +21,7 @@ goPackagePath = "github.com/jbenet/go-random-files"; fetch = { type = "git"; - url = https://github.com/jbenet/go-random-files; + url = "https://github.com/jbenet/go-random-files"; rev = "737479700b40b4b50e914e963ce8d9d44603e3c8"; sha256 = "1klpdc4qkrfy31r7qh00fcz42blswzabmcnry9byd5adhszxj9bw"; }; @@ -30,7 +30,7 @@ goPackagePath = "github.com/hashicorp/golang-lru"; fetch = { type = "git"; - url = https://github.com/hashicorp/golang-lru; + url = "https://github.com/hashicorp/golang-lru"; rev = "20f1fb78b0740ba8c3cb143a61e86ba5c8669768"; sha256 = "12k2cp2k615fjvfa5hyb9k2alian77wivds8s65diwshwv41939f"; }; diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix index 9fdeecfee368..192585bd4b5e 100644 --- a/pkgs/applications/office/mendeley/default.nix +++ b/pkgs/applications/office/mendeley/default.nix @@ -137,7 +137,7 @@ mkDerivation { updateScript = import ./update.nix { inherit writeScript runtimeShell; }; meta = with stdenv.lib; { - homepage = https://www.mendeley.com; + homepage = "https://www.mendeley.com"; description = "A reference manager and academic social network"; license = licenses.unfree; platforms = [ "x86_64-linux" "i686-linux" ]; diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index 85c5d23ffcad..52a587ccb48b 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -33,6 +33,7 @@ let "8.10.1" = "072v2zkjzf7gj48137wpr3c9j0hg9pdhlr5l8jrgrwynld8fp7i4"; "8.10.2" = "0znxmpy71bfw0p6x47i82jf5k7v41zbz9bdpn901ysn3ir8l3wrz"; "8.11.0" = "1rfdic6mp7acx2zfwz7ziqk12g95bl9nyj68z4n20a5bcjv2pxpn"; + "8.11.1" = "0qriy9dy36dajsv5qmli8gd6v55mah02ya334nw49ky19v7518m0"; }.${version}; coq-version = stdenv.lib.versions.majorMinor version; versionAtLeast = stdenv.lib.versionAtLeast coq-version; diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix index e65cf52d5815..2c4d5f254daa 100644 --- a/pkgs/applications/science/math/gmsh/default.nix +++ b/pkgs/applications/science/math/gmsh/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "gmsh"; - version = "4.5.4"; + version = "4.5.6"; src = fetchurl { url = "http://gmsh.info/src/gmsh-${version}-source.tgz"; - sha256 = "1k9f7qxlwja9i40qy55070sjnr21bl165677mdqw7qyb8d7wgy6c"; + sha256 = "0gs65bgr1ph5lz7r6manqj8cra30s7c94pxilkd2z0p5vq6fpsj6"; }; buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU libGL diff --git a/pkgs/build-support/build-pecl.nix b/pkgs/build-support/build-pecl.nix index a1030e3b34fa..f43205f24c5c 100644 --- a/pkgs/build-support/build-pecl.nix +++ b/pkgs/build-support/build-pecl.nix @@ -1,9 +1,11 @@ -{ stdenv, php, autoreconfHook, fetchurl, re2c }: +{ stdenv, lib, php, autoreconfHook, fetchurl, re2c }: { pname , version +, internalDeps ? [] , buildInputs ? [] , nativeBuildInputs ? [] +, postPhpize ? "" , makeFlags ? [] , src ? fetchurl { url = "http://pecl.php.net/get/${pname}-${version}.tgz"; @@ -22,5 +24,11 @@ stdenv.mkDerivation (args // { makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags; - autoreconfPhase = "phpize"; + autoreconfPhase = '' + phpize + ${postPhpize} + ${lib.concatMapStringsSep "\n" + (dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}") + internalDeps} + ''; }) diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix index cbe4b25bd360..b801451c7be3 100644 --- a/pkgs/data/fonts/iosevka/bin.nix +++ b/pkgs/data/fonts/iosevka/bin.nix @@ -15,7 +15,7 @@ in fetchzip { sha256 = "1dfm1888rii5kfmkxp5hnx8ycji57cbs5gazpgkxg1mnmn7i35wl"; meta = with stdenv.lib; { - homepage = https://be5invis.github.io/Iosevka/; + homepage = "https://be5invis.github.io/Iosevka/"; downloadPage = "https://github.com/be5invis/Iosevka/releases"; description = '' Slender monospace sans-serif and slab-serif typeface inspired by Pragmata diff --git a/pkgs/data/icons/gnome-icon-theme/default.nix b/pkgs/data/icons/gnome-icon-theme/default.nix new file mode 100644 index 000000000000..30dacbae740d --- /dev/null +++ b/pkgs/data/icons/gnome-icon-theme/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk2 }: + +stdenv.mkDerivation rec { + pname = "gnome-icon-theme"; + version = "3.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-icon-theme/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + iconnamingutils + gtk2 + ]; + + dontDropIconThemeCache = true; + + postInstall = '' + # remove a tree of dirs with no files within + rm -r "$out/share/locale" + ''; + + meta = with stdenv.lib; { + description = "Collection of icons for the GNOME 2 desktop"; + homepage = "https://download.gnome.org/sources/gnome-icon-theme/"; + license = licenses.gpl3Plus; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/matcha/default.nix b/pkgs/data/themes/matcha/default.nix index eb6d0599112b..75d31acb83fb 100644 --- a/pkgs/data/themes/matcha/default.nix +++ b/pkgs/data/themes/matcha/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "matcha"; - version = "2020-03-29"; + version = "2020-04-03"; src = fetchFromGitHub { owner = "vinceliuice"; repo = pname; rev = version; - sha256 = "17yyxlm94q8cv3zryishgs852nz74q79v3fh9c7a3f1fs6xlw8p0"; + sha256 = "0arnc12zsbypv550dv5j22z4hkc58yncxqhc03xcmxjw1h8lzrwv"; }; buildInputs = [ gdk-pixbuf librsvg ]; diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix index d0a7a890355a..4212fa68bd4a 100644 --- a/pkgs/desktops/gnome-2/default.nix +++ b/pkgs/desktops/gnome-2/default.nix @@ -60,8 +60,6 @@ lib.makeScope pkgs.newScope (self: with self; { gtksourceview = callPackage ./desktop/gtksourceview { }; - gnome_icon_theme = callPackage ./desktop/gnome-icon-theme { }; - vte = callPackage ./desktop/vte { }; #### BINDINGS @@ -87,6 +85,8 @@ lib.makeScope pkgs.newScope (self: with self; { startup_notification = pkgs.libstartup_notification; startupnotification = pkgs.libstartup_notification; gnomedocutils = pkgs.gnome-doc-utils; - gnomeicontheme = self.gnome_icon_theme; + gnome-icon-theme = pkgs.gnome-icon-theme; + gnome_icon_theme = self.gnome-icon-theme; + gnomeicontheme = self.gnome-icon-theme; gnome_common = gnome-common; }) diff --git a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix deleted file mode 100644 index 0f2a98c61f61..000000000000 --- a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk2 }: - -stdenv.mkDerivation rec { - name = "gnome-icon-theme-2.91.93"; - - src = fetchurl { - #url = "mirror://gnome/sources/gnome-icon-theme/3.4/${name}.tar.xz"; - url = "mirror://gnome/sources/gnome-icon-theme/2.91/${name}.tar.bz2"; - sha256 = "cc7f15e54e2640697b58c26e74cc3f6ebadeb4ef6622bffe9c1e6874cc3478d6"; - }; - - nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk2 ]; - - # remove a tree of dirs with no files within - postInstall = '' rm -r "$out/share/locale" ''; - - meta = { - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix b/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix index c12d50d792f2..5a81c1bcb1ae 100644 --- a/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix +++ b/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, pkgconfig, glib, gnome2, dbus-glib, gmime, libnotify, libgnome-keyring, openssl, cyrus_sasl, gnonlin, sylpheed, gob2, gettext, intltool, libxml2, hicolor-icon-theme, tango-icon-theme }: +{ stdenv, fetchFromGitHub, pkgconfig, glib, gnome2, dbus-glib, gmime, gnome-icon-theme, libnotify, libgnome-keyring, openssl, cyrus_sasl, gnonlin, sylpheed, gob2, gettext, intltool, libxml2, hicolor-icon-theme, tango-icon-theme }: stdenv.mkDerivation rec { rev = "9ae8768"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ glib dbus-glib gmime libnotify libgnome-keyring openssl cyrus_sasl gnonlin sylpheed gob2 gettext intltool gnome2.GConf gnome2.libgnomeui dbus-glib gmime libnotify gnome2.scrollkeeper libxml2 gnome2.gnome_icon_theme hicolor-icon-theme tango-icon-theme ]; + buildInputs = [ glib dbus-glib gmime libnotify libgnome-keyring openssl cyrus_sasl gnonlin sylpheed gob2 gettext intltool gnome2.GConf gnome2.libgnomeui dbus-glib gmime libnotify gnome2.scrollkeeper libxml2 gnome-icon-theme hicolor-icon-theme tango-icon-theme ]; prePatch = '' sed -i -e '/jb_rule_set_install_message/d' -e '/jb_rule_add_install_command/d' jbsrc/jb.c diff --git a/pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix b/pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix index 33c2abef0fab..f4d6cb534bc9 100644 --- a/pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix +++ b/pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, gtk3, intltool -, GConf, enchant, isocodes, gnome_icon_theme, gsettings-desktop-schemas }: +, GConf, enchant, isocodes, gnome-icon-theme, gsettings-desktop-schemas }: stdenv.mkDerivation rec { version = "4.10.0"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "1hq6asgb5n9q3ryx2vngr4jyi8lg65lzpnlgrgcwayiczcj68fya"; }; - propagatedBuildInputs = [ gsettings-desktop-schemas gtk3 gnome_icon_theme GConf ]; + propagatedBuildInputs = [ gsettings-desktop-schemas gtk3 gnome-icon-theme GConf ]; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ intltool enchant isocodes ]; } diff --git a/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix b/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix index 3c89f9ff0fcc..57a000351cf3 100644 --- a/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix +++ b/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, gtk2, intltool, -GConf, enchant, isocodes, gnome_icon_theme }: +GConf, enchant, isocodes, gnome-icon-theme }: stdenv.mkDerivation rec { name = "gtkhtml-3.32.2"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { patches = [ ./01_remove-disable-deprecated.patch ]; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk2 intltool GConf enchant isocodes gnome_icon_theme ]; + buildInputs = [ gtk2 intltool GConf enchant isocodes gnome-icon-theme ]; NIX_LDFLAGS = "-lgthread-2.0"; } diff --git a/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix b/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix index 215c9eb3e5e7..bd74fe335ebd 100644 --- a/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix +++ b/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, pkgconfig, gtk2, gettext, intltool, libgnomecanvas, libgnomeprint, gnome_icon_theme}: +{stdenv, fetchurl, pkgconfig, gtk2, gettext, intltool, libgnomecanvas, libgnomeprint, gnome-icon-theme}: stdenv.mkDerivation { name = "libgnomeprintui-2.18.6"; @@ -9,5 +9,5 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk2 gettext intltool libgnomecanvas libgnomeprint gnome_icon_theme]; + buildInputs = [ gtk2 gettext intltool libgnomecanvas libgnomeprint gnome-icon-theme]; } diff --git a/pkgs/desktops/pantheon/apps/appcenter/default.nix b/pkgs/desktops/pantheon/apps/appcenter/default.nix index 3f4f04377ed3..81415420873f 100644 --- a/pkgs/desktops/pantheon/apps/appcenter/default.nix +++ b/pkgs/desktops/pantheon/apps/appcenter/default.nix @@ -28,13 +28,13 @@ stdenv.mkDerivation rec { pname = "appcenter"; - version = "3.2.2"; + version = "3.2.3"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0aqslkig7vs95z719mp3xrl1zp65ypp2lq9aikvsis6nssadn2cd"; + sha256 = "12gql86vn12zbkw368blxk0cl9fgs22dyj02xnimjc8b6s80yib4"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix index 1876020a8fe4..8d394b824a5e 100644 --- a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { pname = "elementary-calculator"; - version = "1.5.4"; + version = "1.5.5"; repoName = "calculator"; @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "0053bdzn5viqlni6qg6q39nma6bsddmhnafa0mzggiv8l4qasbrx"; + sha256 = "1csxsr2c8qvl97xz9ahwn91z095nzgr0i1mbcb1spljll2sr9lkj"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix index 5a70fa94c5ee..c7e36d090226 100644 --- a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { pname = "elementary-calendar"; - version = "5.0.3"; + version = "5.0.4"; repoName = "calendar"; @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1dqcmh585fjib4m8bs7qy23fv429s7q9nbcqnn0vvmy1n36fic4m"; + sha256 = "0ywk9w6d6nw7ir3f11xc13fr08ifvzpavq1c3x48kmmf69ywprdk"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/elementary-camera/default.nix b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix index 7c95d88053dd..eb456df6d167 100644 --- a/pkgs/desktops/pantheon/apps/elementary-camera/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { pname = "elementary-camera"; - version = "1.0.5"; + version = "1.0.6"; repoName = "camera"; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "05amcljvc3w77a1b0c76y6rha8g0zm6lqflvg1g7jzz00jchx9d4"; + sha256 = "13jg224h2436swd6kdkfs22icg0ja9lshvxwg5bqnb5fshspkjba"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/pkgs/desktops/pantheon/apps/elementary-code/default.nix index 148b82fd84a0..e77d94c22fde 100644 --- a/pkgs/desktops/pantheon/apps/elementary-code/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-code/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { pname = "elementary-code"; - version = "3.3.0"; + version = "3.4.0"; repoName = "code"; @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "0v544zw99wjcy0bflaci9fssx4sibz4b05bxs3a7j8hrpl102r4w"; + sha256 = "0b1vdgb1xvh5lqbral3r0qaq05zd5q5ywxw02fggpyy8nyxs3z8f"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/elementary-dock/default.nix b/pkgs/desktops/pantheon/apps/elementary-dock/default.nix new file mode 100644 index 000000000000..ee9df9955f40 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/elementary-dock/default.nix @@ -0,0 +1,78 @@ +{ stdenv +, fetchFromGitHub +, vala +, atk +, cairo +, dconf +, glib +, gtk3 +, libwnck3 +, libX11 +, libXfixes +, libXi +, pango +, gettext +, pkgconfig +, libxml2 +, bamf +, gdk-pixbuf +, libdbusmenu-gtk3 +, gnome-menus +, libgee +, wrapGAppsHook +, pantheon +, meson +, ninja +}: + +stdenv.mkDerivation rec { + pname = "elementary-dock"; + version = "unstable-2020-02-28"; + + outputs = [ "out" "dev" ]; + + repoName = "dock"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = repoName; + rev = "ac87d9063dc9c81d90f42f3002ad9c5b49460a82"; + sha256 = "0lhjzd370fza488dav8n155ss486wqv6y7ldkahwg0c3zvlsvha7"; + }; + + nativeBuildInputs = [ + gettext + meson + ninja + libxml2 # xmllint + pkgconfig + vala + wrapGAppsHook + ]; + + buildInputs = [ + atk + bamf + cairo + gdk-pixbuf + glib + gnome-menus + dconf + gtk3 + libX11 + libXfixes + libXi + libdbusmenu-gtk3 + libgee + libwnck3 + pango + ]; + + meta = with stdenv.lib; { + description = "Elegant, simple, clean dock"; + homepage = "https://github.com/elementary/dock"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ davidak ] ++ pantheon.maintainers; + }; +} diff --git a/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/pkgs/desktops/pantheon/apps/elementary-files/default.nix index d83510c49f67..a0495de7f465 100644 --- a/pkgs/desktops/pantheon/apps/elementary-files/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-files/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { pname = "elementary-files"; - version = "4.4.1"; + version = "4.4.2"; repoName = "files"; @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "0s874qnqbx20vyp2z2rhz3z8py0dm21v26xc0h6hyc2gfz4s3jcg"; + sha256 = "1n18b3m3vgvmmgpfbgnfnz0z98bkgbfrfkx25jqbwsdnwrlb4li6"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix index 7ebdbd9b5913..f9f81c37a4b9 100644 --- a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix @@ -16,12 +16,13 @@ , libgee , elementary-icon-theme , appstream +, pcre2 , wrapGAppsHook }: stdenv.mkDerivation rec { pname = "elementary-terminal"; - version = "5.5.1"; + version = "5.5.2"; repoName = "terminal"; @@ -29,7 +30,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1b8fzs9s7djhwp02l3fwjpwxylklpbnw7x46mv7c8ksbp0m75iyj"; + sha256 = "119iwmzbpkj4nmxinqfsh73lx23g8gbl6ha6wc4mc4fq9hpnc9c2"; }; passthru = { @@ -38,14 +39,6 @@ stdenv.mkDerivation rec { }; }; - patches = [ - # fix build with vte-2.91 https://github.com/elementary/terminal/pull/488 - (fetchpatch { - url = "https://github.com/elementary/terminal/commit/48da5328cefdc481a3ac76fbdd771096f542d55a.patch"; - sha256 = "1y4043jxb0qzd3pp28kdij2yj1p9pg158il7q3aq1sf7c474gz4d"; - }) - ]; - nativeBuildInputs = [ appstream desktop-file-utils @@ -64,6 +57,7 @@ stdenv.mkDerivation rec { gtk3 libgee libnotify + pcre2 vte ]; diff --git a/pkgs/desktops/pantheon/apps/sideload/default.nix b/pkgs/desktops/pantheon/apps/sideload/default.nix index efe34da7b262..e2c522355f65 100644 --- a/pkgs/desktops/pantheon/apps/sideload/default.nix +++ b/pkgs/desktops/pantheon/apps/sideload/default.nix @@ -21,13 +21,13 @@ stdenv.mkDerivation rec { pname = "sideload"; - version = "1.0.1"; + version = "1.1.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0camg34skiisfbf9s9awfkdkq72s9jhl4ipmax7dqr33n8a86hic"; + sha256 = "1nnaq4vc0aag6pckxhrma5qv8al7i00rrlg95ac4iqqmivja7i92"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix index 5cd5d365ed95..e1868b39f283 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-a11y"; - version = "2.1.3"; + version = "2.2.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1wh46lrsliii5bbvfc4xnzgnii2v7sqxnbn43ylmyqppfv9mk1wd"; + sha256 = "0g8lhdwv9g16kjn7yxnl6x4rscjl2206ljfnghpxc4b5lwhqxxnw"; }; patches = [ @@ -51,8 +51,6 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Universal Access Plug"; homepage = https://github.com/elementary/switchboard-plug-a11y; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix index 501059896f24..271c2e156140 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-datetime"; - version = "2.1.6"; + version = "2.1.7"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "09734c3qc0296zf14rdhl4p6ppga015rz9hhsvlcc3nvyw7kdqkc"; + sha256 = "0lpmxl42r5vn6mddwppn6zwmai0yabs3n467w027vkzw4axdi6bf"; }; passthru = { @@ -46,15 +46,6 @@ stdenv.mkDerivation rec { switchboard ]; - patches = [ - (substituteAll { - src = ./timezone.patch; - tzdata = "${tzdata}/share/zoneinfo/zone.tab"; - }) - ]; - - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Date & Time Plug"; homepage = https://github.com/elementary/switchboard-plug-datetime; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch deleted file mode 100644 index 35f73d365990..000000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/Parser.vala b/src/Parser.vala -index faccb64..432a362 100644 ---- a/src/Parser.vala -+++ b/src/Parser.vala -@@ -28,7 +28,7 @@ public class DateTime.Parser : GLib.Object { - return parser; - } - private Parser () { -- var file = File.new_for_path ("/usr/share/zoneinfo/zone.tab"); -+ var file = File.new_for_path ("@tzdata@"); - if (!file.query_exists ()) { - critical ("/usr/share/zoneinfo/zone.tab doesn't exist !"); - return; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix index 81a694f2ea93..bb563796eab9 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-keyboard"; - version = "2.3.5"; + version = "2.3.6"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "17iijb7imxw5zv7vkrbc1vsp87k900yqgyv7ycz1gw37xb4klsyp"; + sha256 = "08zpw7ygrqmwwznvxkf4xbrgwbjkbwc95sw1ikikg3143ql9qclp"; }; passthru = { @@ -51,20 +51,6 @@ stdenv.mkDerivation rec { switchboard ]; - patches = [ - (substituteAll { - src = ./xkb.patch; - config = "${xorg.xkeyboardconfig}/share/X11/xkb/rules/evdev.xml"; - }) - # Fix build with latest vala. - (fetchpatch { - url = "https://github.com/elementary/switchboard-plug-keyboard/commit/28fa960f607f0b1d67f2864965a079bdfc23e3a8.patch"; - sha256 = "0121qcg8n7gkz7gpwrxc1cx0nnypj02zy2jmp3cks5r9sc0yi0hw"; - }) - ]; - - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Keyboard Plug"; homepage = https://github.com/elementary/switchboard-plug-keyboard; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch deleted file mode 100644 index 33237d9c9392..000000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/Layout/Handler.vala b/src/Layout/Handler.vala -index 297314b..b36509a 100644 ---- a/src/Layout/Handler.vala -+++ b/src/Layout/Handler.vala -@@ -29,7 +29,7 @@ public class Pantheon.Keyboard.LayoutPage.LayoutHandler : GLib.Object { - } - - private void parse_layouts () { -- Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml"); -+ Xml.Doc* doc = Xml.Parser.parse_file ("@config@"); - if (doc == null) { - critical ("'evdev.xml' not found or permissions missing\n"); - return; -@@ -76,7 +76,7 @@ public class Pantheon.Keyboard.LayoutPage.LayoutHandler : GLib.Object { - public HashTable get_variants_for_language (string language) { - var returned_table = new HashTable (str_hash, str_equal); - returned_table.set ("", _("Default")); -- Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml"); -+ Xml.Doc* doc = Xml.Parser.parse_file ("@config@"); - if (doc == null) { - critical ("'evdev.xml' not found or permissions incorrect\n"); - return returned_table; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix index 1ff1068119b7..99880e318f53 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-network"; - version = "2.2.0"; + version = "2.3.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0zg4bxrrw1nmm91yp8ymji7mha2wcjrwljcnpcvxq7lf8f2k0145"; + sha256 = "0pqkr7swjgla8klcjdcwgk2fipiwvylk8m71l1fymazvzwxrbxw6"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch index e2d7a6d49705..b99f59fb2684 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch @@ -1,8 +1,8 @@ diff --git a/src/Views/VPNPage.vala b/src/Views/VPNPage.vala -index 82e7826..cf00145 100644 +index ba9dc22..a12871a 100644 --- a/src/Views/VPNPage.vala +++ b/src/Views/VPNPage.vala -@@ -265,7 +265,7 @@ public class Network.VPNPage : Network.Widgets.Page { +@@ -264,7 +264,7 @@ public class Network.VPNPage : Network.Widgets.Page { private void try_connection_editor (string args) { try { var appinfo = AppInfo.create_from_commandline ( @@ -12,24 +12,15 @@ index 82e7826..cf00145 100644 GLib.AppInfoCreateFlags.NONE ); diff --git a/src/Widgets/SettingsButton.vala b/src/Widgets/SettingsButton.vala -index ed36b38..bc71c0c 100644 +index 5849b69..7bbd172 100644 --- a/src/Widgets/SettingsButton.vala +++ b/src/Widgets/SettingsButton.vala -@@ -24,7 +24,7 @@ - clicked.connect (() => { - try { - var appinfo = AppInfo.create_from_commandline ( -- "nm-connection-editor", -+ "@networkmanagerapplet@/bin/nm-connection-editor", - null, - AppInfoCreateFlags.NONE - ); -@@ -71,7 +71,7 @@ - private void edit_connection_uuid (string uuid) { +@@ -55,7 +55,7 @@ public class Network.Widgets.SettingsButton : Gtk.Button { + clicked.connect (() => { try { var appinfo = AppInfo.create_from_commandline ( -- "nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE -+ "@networkmanagerapplet@/bin/nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE +- "nm-connection-editor %s".printf (args), null, AppInfoCreateFlags.NONE ++ "@networkmanagerapplet@/bin/nm-connection-editor %s".printf (args), null, AppInfoCreateFlags.NONE ); appinfo.launch (null, null); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix index bd7fee51d8dc..781aaf2fad2c 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-notifications"; - version = "2.1.5"; + version = "2.1.6"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0p0aj3bbjrh6x8wajqqb5yqm2iqfnj7kp16zf4hdr4siw0sx5p8n"; + sha256 = "1ikq058svdan0whg4ks35m50apvbmzcz7h2wznxdbsimczzvj5sz"; }; passthru = { @@ -42,8 +42,6 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Notifications Plug"; homepage = https://github.com/elementary/switchboard-plug-notifications; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix index a8513f0b29ba..fbea249788ee 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-power"; - version = "2.4.0"; + version = "2.4.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1b25slfh8166v9z2zmb25k64pcj0lh001qh04qhfilzfcbh54krj"; + sha256 = "0hmchx0sfdm2c2f9khjvlaqcxmvzarn2vmwcdb3h5ifbj32vydzw"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix index b21fc1c099f1..67e8a3c21346 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-printers"; - version = "2.1.7"; + version = "2.1.8"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "03r67q6my10i4hl8d0q3d6fhqm9abs9kn9j92hk6ykqb4ybxw1z1"; + sha256 = "0nnzwpfxkvgsw3g329926c3m7vci6vyb60qib7b9mpgicmsqnkvz"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix index 3d240fc6221e..4f5f424746db 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-sharing"; - version = "2.1.3"; + version = "2.1.4"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1yi6aga9i18wwn22zwmfbhsk16f92fka837is5r8xghqb7a50hyh"; + sha256 = "1awkz16nydlgi8a2dd6agfnd3qwl2qsvv6wnn8bhaz1kbv1v9kpw"; }; passthru = { @@ -43,16 +43,6 @@ stdenv.mkDerivation rec { switchboard ]; - patches = [ - # Fix build with latest vala - (fetchpatch { - url = "https://github.com/elementary/switchboard-plug-sharing/commit/22c9d52577a2e8c36c840a99009420266a39e1fe.patch"; - sha256 = "0rbf1yxhc7k44cwikd45mv2g6slzw0rkwn5s38q3yxai9jnpvqch"; - }) - ]; - - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Sharing Plug"; homepage = https://github.com/elementary/switchboard-plug-sharing; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix index 8d8cd1c940a6..9677a547fcb6 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-sound"; - version = "2.2.2"; + version = "2.2.3"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1aa9wgaz34glrrnilnqis3k0bnx2a2ir38j493y4d0klkjkwyn5k"; + sha256 = "1vpw06ldhy26xs5vp2gx5s8wbl42dznycp3jsnm5qp8iid8wl6l6"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/switchboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard/default.nix index 28ec4e65f52d..7b00a403c159 100644 --- a/pkgs/desktops/pantheon/apps/switchboard/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard/default.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation rec { pname = "switchboard"; - version = "2.3.8"; + version = "2.3.9"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1y254irl07fp70228zm268w20zd7risz0sk9i9wz59yynxwjshbx"; + sha256 = "0gq2gi14ywmhhlq3vablzqjzxq2ms60l9b10splzsf3zd7k2dqz2"; }; passthru = { diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index d4e6b192f200..b545a69e4247 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -47,6 +47,8 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-code = callPackage ./apps/elementary-code { }; + elementary-dock = callPackage ./apps/elementary-dock { }; + elementary-files = callPackage ./apps/elementary-files { }; elementary-feedback = callPackage ./apps/elementary-feedback { }; @@ -99,8 +101,6 @@ lib.makeScope pkgs.newScope (self: with self; { #### SERVICES - cerbere = callPackage ./services/cerbere { }; - contractor = callPackage ./services/contractor { }; elementary-capnet-assist = callPackage ./services/elementary-capnet-assist { }; @@ -200,4 +200,6 @@ lib.makeScope pkgs.newScope (self: with self; { inherit (pkgs) vala; # added 2019-10-10 + cerbere = throw "Cerbere is now obsolete https://github.com/elementary/cerbere/releases/tag/2.5.1."; + }) diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix index 21698bed22df..1a268c35fa2e 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { pname = "elementary-greeter"; - version = "5.0.2"; + version = "5.0.3"; repoName = "greeter"; @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "0557lr8czqwjrm39ykfacqw5x7nng7fmf1gxkif70xg7dk3lc7gd"; + sha256 = "1zbfcdgjn57r8pz01xrz6kk8rmviq133snz9f1vqhjdsznk82w5i"; }; passthru = { diff --git a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix index 06b5183c1e03..2056c73a97e0 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { pname = "elementary-onboarding"; - version = "1.1.0"; + version = "1.2.0"; repoName = "onboarding"; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "17fw95qg7j0mvam90jrvr77hw2ipxb2lkw0xxql1lzwvdx1h0r2k"; + sha256 = "0yxafz7jlzj8gsbp6m72q4zbcvm1ch2y4fibj9cymjvz2i0izhba"; }; passthru = { diff --git a/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix index 2ba5f4becc15..2ddfcf23c6a9 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { pname = "elementary-shortcut-overlay"; - version = "1.1.0"; + version = "1.1.1"; repoName = "shortcut-overlay"; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "10s44x5qln3asrdr6v5b3v92prh8rfhv96dbm73zhifm2jjm22g8"; + sha256 = "03wnc3vfnrkm5i7h370n7h2mbcmaxnhynmjs37q63vq6vq7agldb"; }; passthru = { diff --git a/pkgs/desktops/pantheon/desktop/gala/default.nix b/pkgs/desktops/pantheon/desktop/gala/default.nix index 5791fb5c58f7..643e66aef92f 100644 --- a/pkgs/desktops/pantheon/desktop/gala/default.nix +++ b/pkgs/desktops/pantheon/desktop/gala/default.nix @@ -26,13 +26,13 @@ stdenv.mkDerivation rec { pname = "gala"; - version = "3.2.0"; + version = "3.3.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1vf55ls3h20zpf0yxb206cijq8nkf89z2lmhccb4i1g2zajd31ix"; + sha256 = "02g6x190lylng8d07pwx2bqcc71rq48f0dxh30mgndfii6k21qgs"; }; passthru = { diff --git a/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch b/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch index e83308ea5526..f08652e9f630 100644 --- a/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch +++ b/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch @@ -1,22 +1,20 @@ diff --git a/meson.build b/meson.build -index 6b20a60..205699b 100644 +index 78113d6..926596c 100644 --- a/meson.build +++ b/meson.build -@@ -38,7 +38,7 @@ conf.set_quoted('PACKAGE_VERSION', gala_version) +@@ -24,13 +24,14 @@ vapi_dir = meson.current_source_dir() / 'vapi' + + data_dir = join_paths(get_option('prefix'), get_option('datadir')) + plugins_dir = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name(), 'plugins') ++plugins_dir_for_build = join_paths('/run/current-system/sw/lib/', meson.project_name(), 'plugins') + pkgdata_dir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name()) + pkglib_dir = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name()) + + conf = configuration_data() conf.set_quoted('DATADIR', data_dir) conf.set_quoted('PKGDATADIR', pkgdata_dir) - conf.set_quoted('PKGLIBDIR', pkglib_dir) --conf.set_quoted('PLUGINSDIR', plugins_dir) -+conf.set_quoted('PLUGINSDIR', '/run/current-system/sw/lib/gala/plugins') - conf.set_quoted('RELEASE_NAME', 'Window Manager.') +-conf.set_quoted('PLUGINDIR', plugins_dir) ++conf.set_quoted('PLUGINDIR', plugins_dir_for_build) + conf.set_quoted('RESOURCEPATH', '/org/pantheon/desktop/gala') conf.set_quoted('VERSION', gala_version) - conf.set_quoted('VERSION_INFO', (is_release ? 'Release' : 'Development')) -@@ -83,7 +83,7 @@ add_project_arguments([ - '-DDATADIR="@0@"'.format(data_dir), - '-DPKGDATADIR="@0@"'.format(pkgdata_dir), - '-DPKGLIBDIR="@0@"'.format(pkglib_dir), -- '-DPLUGINDIR="@0@"'.format(plugins_dir), -+ '-DPLUGINDIR="@0@"'.format('/run/current-system/sw/lib/gala/plugins'), - '-DSCHEMA="org.pantheon.desktop.gala"', - '-DRESOURCEPATH="/org/pantheon/desktop/gala"', - + conf.set_quoted('SCHEMA', 'org.pantheon.desktop.gala') diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix index f6ff962a9446..7194a649d004 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix @@ -1,6 +1,5 @@ { stdenv -, fetchFromGitHub -, fetchpatch +, fetchFromGitHub , pantheon , pkgconfig , meson @@ -20,13 +19,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-datetime"; - version = "2.2.1"; + version = "2.2.2"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0y8lfrrkzcj8nw94jqawbxr4jz41ac0z539kkr3n3x0qmx72md2y"; + sha256 = "0a0pqrpmrdd5pch30lizr9righlc7165z7krmnaxrzd0fvfkbr2h"; }; passthru = { @@ -54,14 +53,6 @@ stdenv.mkDerivation rec { wingpanel ]; - patches = [ - # Add support for libecal-2.0 - (fetchpatch { - url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/3ccd05d611e6dd5274a03f061ba1b5e13d6fe0cf.patch"; - sha256 = "011q9b4pjmk4fpq5zscl5r8m4n3jiyx464023h4j7zf8r1070jz6"; - }) - ]; - postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix index 66f805b9a494..e6f05a58d763 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-keyboard"; - version = "2.2.0"; + version = "2.2.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0jc12xfaj3micpjssxc7m6hzssvyq26ln5az05x5f1j6v8lccbyn"; + sha256 = "0q32qc6jh5w0i1ixkl59pys8r3hxmbig8854q7sxi07vlk9g3i7y"; }; passthru = { @@ -45,18 +45,16 @@ stdenv.mkDerivation rec { gtk3 libgee wingpanel + xorg.xkeyboardconfig ]; patches = [ (substituteAll { src = ./fix-paths.patch; - libgnomekbd_path = "${libgnomekbd}/bin/"; - config = "${xorg.xkeyboardconfig}/share/X11/xkb/rules/evdev.xml"; + gkbd_keyboard_display = "${libgnomekbd}/bin/gkbd-keyboard-display"; }) ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel"; - meta = with stdenv.lib; { description = "Keyboard Indicator for Wingpanel"; homepage = https://github.com/elementary/wingpanel-indicator-keyboard; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/fix-paths.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/fix-paths.patch index 58e6853e606e..4fb6dfac86d9 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/fix-paths.patch +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/fix-paths.patch @@ -1,5 +1,5 @@ diff --git a/src/Indicator.vala b/src/Indicator.vala -index cd7ca49..0bef9c7 100644 +index cd7ca49..7813789 100644 --- a/src/Indicator.vala +++ b/src/Indicator.vala @@ -94,7 +94,7 @@ public class Keyboard.Indicator : Wingpanel.Indicator { @@ -7,20 +7,7 @@ index cd7ca49..0bef9c7 100644 close (); - string command = "gkbd-keyboard-display \"--layout=" + layouts.get_current_with_variant () + "\""; -+ string command = "@libgnomekbd_path@gkbd-keyboard-display \"--layout=" + layouts.get_current_with_variant () + "\""; ++ string command = "@gkbd_keyboard_display@ \"--layout=" + layouts.get_current_with_variant () + "\""; try { AppInfo.create_from_commandline (command, null, AppInfoCreateFlags.NONE).launch (null, null); -diff --git a/src/LayoutsManager.vala b/src/LayoutsManager.vala -index 1bac80e..67df847 100644 ---- a/src/LayoutsManager.vala -+++ b/src/LayoutsManager.vala -@@ -97,7 +97,7 @@ public class Keyboard.Widgets.LayoutManager : Gtk.ScrolledWindow { - - public string? get_name_for_xkb_layout (string language, string? variant) { - debug ("get_name_for_xkb_layout (%s, %s)", language, variant); -- Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml"); -+ Xml.Doc* doc = Xml.Parser.parse_file ("@config@"); - if (doc == null) { - critical ("'evdev.xml' not found or permissions incorrect\n"); - return null; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix index cd04e6287b72..c86bf45719e2 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-network"; - version = "2.2.2"; + version = "2.2.3"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0fch27imk5x4nfx49cwcylkxd7m289rl9niy1vx5kjplhbhyhdq2"; + sha256 = "17s5fixhwgalgjhrhnb3wh0hdzi17waqcdfw1fx8q4zs78hapjzg"; }; passthru = { @@ -46,8 +46,6 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel"; - meta = with stdenv.lib; { description = "Network Indicator for Wingpanel"; homepage = https://github.com/elementary/wingpanel-indicator-network; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix index e5dabead7c5b..95d19894880a 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix @@ -9,18 +9,17 @@ , granite , wingpanel , libgee -, libwnck3 }: stdenv.mkDerivation rec { pname = "wingpanel-indicator-notifications"; - version = "2.1.3"; + version = "2.1.4"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1lx023z7xxlgwh0br48fw5w7xw673p2sqxwl1gz9f54xx7rv81py"; + sha256 = "0qp13iaf2956ss4d6w6vwnzdvb7izqmyh6xrdii7j8gxxwjd4lxm"; }; passthru = { @@ -40,7 +39,6 @@ stdenv.mkDerivation rec { granite gtk3 libgee - libwnck3 wingpanel ]; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix index 122236449710..80dc22b152e9 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-power"; - version = "2.1.4"; + version = "2.1.5"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "02gp9m9zkmhcl43nz02kjkcim4zm25zab3il8dhwkihh731g1c6j"; + sha256 = "19zhgzyivf3y416r5xaajx81h87zdhvrrcsagli00gp1f2169q5m"; }; passthru = { @@ -50,8 +50,6 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel"; - postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix index af6155037efb..d26e237b87c8 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-session"; - version = "2.2.7"; + version = "2.2.8"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0qgb225ldg3qax370z3wvijxmm4bjfqds3r9aqqhlq30599xjhsb"; + sha256 = "02inp8xdxfx8qxjdf2nazw46ahp1gv3skd922ma6kgx5w4wxh5l8"; }; passthru = { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix index ccd233e1a3e7..4025c5a767d3 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-sound"; - version = "2.1.4"; + version = "2.1.5"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "00r3dqkyp7k34xwn12l0dbzfmz70084lblxchykmk77pgzid2a0b"; + sha256 = "0nla8qgn5gb1g2gn7c47m9zw42sarjd0030x3h5kckapsbaxknhp"; }; passthru = { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix index 694166a5d641..ae9e31a4a09f 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix @@ -20,13 +20,13 @@ stdenv.mkDerivation rec { pname = "wingpanel"; - version = "2.2.6"; + version = "2.3.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0q5jhg3gpcjfzfi7g33fv8pb916cqsgk6543b82yy97c20902ap9"; + sha256 = "0m3pd4sf86kk1wv9asq4z2816bcal076vlk820mrdz9b2fm79lh3"; }; passthru = { diff --git a/pkgs/desktops/pantheon/granite/default.nix b/pkgs/desktops/pantheon/granite/default.nix index 198be9f3430d..b8c9021dd158 100644 --- a/pkgs/desktops/pantheon/granite/default.nix +++ b/pkgs/desktops/pantheon/granite/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "granite"; - version = "5.3.0"; + version = "5.3.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1gvrk8gh959bmq8w0kaym7sx13v763lk8x5hck00msgmyrsarfwa"; + sha256 = "12f1n07cjlc7czf642ak6964wl4fsgakc39nnmiba22z5aahfpz9"; }; passthru = { diff --git a/pkgs/desktops/pantheon/services/cerbere/default.nix b/pkgs/desktops/pantheon/services/cerbere/default.nix deleted file mode 100644 index 02c885198b62..000000000000 --- a/pkgs/desktops/pantheon/services/cerbere/default.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ stdenv -, fetchFromGitHub -, pantheon -, pkgconfig -, meson -, python3 -, ninja -, glib -, libgee -, vala_0_46 -, wrapGAppsHook -}: - -stdenv.mkDerivation rec { - pname = "cerbere"; - version = "2.5.0"; - - src = fetchFromGitHub { - owner = "elementary"; - repo = pname; - rev = version; - sha256 = "12y6gg4vyc1rhdm2c7pr7bgmdrah7ddphyh25fgh3way8l9gh7vw"; - }; - - passthru = { - updateScript = pantheon.updateScript { - attrPath = "pantheon.${pname}"; - }; - }; - - nativeBuildInputs = [ - meson - ninja - pkgconfig - python3 - vala_0_46 - wrapGAppsHook - ]; - - buildInputs = [ - glib - libgee - ]; - - postPatch = '' - chmod +x meson/post_install.py - patchShebangs meson/post_install.py - ''; - - meta = with stdenv.lib; { - description = "A simple service to ensure uptime of essential processes"; - homepage = https://github.com/elementary/cerbere; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = pantheon.maintainers; - }; - -} diff --git a/pkgs/development/compilers/closure/default.nix b/pkgs/development/compilers/closure/default.nix index 0efdabcde2ee..5204932448b1 100644 --- a/pkgs/development/compilers/closure/default.nix +++ b/pkgs/development/compilers/closure/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "closure-compiler"; - version = "20200224"; + version = "20200315"; src = fetchurl { url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz"; - sha256 = "0qlnpnd64rrlyz7ybdnp7zk5ns2s0071zs1fcrcq9ba2lnhfbmmb"; + sha256 = "0akif1wgsyyqrfkidkwhw47dsx471h3b4zsjhnh4rf6kv7by3q65"; }; sourceRoot = "."; diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix index 89e05be1e4e9..afc8fbd7f499 100644 --- a/pkgs/development/compilers/flutter/default.nix +++ b/pkgs/development/compilers/flutter/default.nix @@ -9,22 +9,23 @@ in { stable = mkFlutter { pname = "flutter"; channel = "stable"; - version = "1.12.13+hotfix.8"; - sha256Hash = "01ik4xckr3fp65sq4g0g6wy5b9i0r49l643xmbxa6z9k21sby46d"; + version = "1.12.13+hotfix.9"; + sha256Hash = "1ql3zvmmk5zk47y30lajxaam04q6vr373dayq15jv4vpc0fzif1y"; patches = getPatches ./patches/stable; }; beta = mkFlutter { pname = "flutter-beta"; channel = "beta"; - version = "1.14.6"; - sha256Hash = "1a79pr741zkr39p5gc3p9x59d70vm60hpz2crgc53ysglj4ycigy"; + version = "1.15.17"; + sha256Hash = "0iil6y6y477dhjgzx54ab5m9nj0jg4xl8x4zzd9iwh8m756r7qsd"; patches = getPatches ./patches/beta; }; - dev = mkFlutter { + dev = mkFlutter rec { pname = "flutter-dev"; channel = "dev"; - version = "1.15.3"; - sha256Hash = "06mawwqf7q7wdmzlyxlrlblhnnk4ckf3vp92lplippdh3d52r93i"; - patches = getPatches ./patches/dev; + version = "1.17.0-dev.5.0"; + filename = "flutter_linux_${version}-${channel}.tar.xz"; + sha256Hash = "0ks2jf2bd42y2jsc91p33r57q7j3m94d8ihkmlxzwi53x1mwp0pk"; + patches = getPatches ./patches/beta; }; } diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix index 1b9c482d6e92..fad2a646a165 100644 --- a/pkgs/development/compilers/flutter/flutter.nix +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -1,4 +1,5 @@ -{ channel, pname, version, sha256Hash, patches }: +{ channel, pname, version, sha256Hash, patches +, filename ? "flutter_linux_v${version}-${channel}.tar.xz" }: { bash, buildFHSUserEnv, cacert, coreutils, git, makeWrapper, runCommand, stdenv , fetchurl, alsaLib, dbus, expat, libpulseaudio, libuuid, libX11, libxcb @@ -11,7 +12,7 @@ let src = fetchurl { url = - "https://storage.googleapis.com/flutter_infra/releases/${channel}/linux/flutter_linux_v${version}-${channel}.tar.xz"; + "https://storage.googleapis.com/flutter_infra/releases/${channel}/linux/${filename}"; sha256 = sha256Hash; }; diff --git a/pkgs/development/compilers/flutter/patches/beta/move-cache.patch b/pkgs/development/compilers/flutter/patches/beta/move-cache.patch index 303f8dd37395..4672d4c625d0 100644 --- a/pkgs/development/compilers/flutter/patches/beta/move-cache.patch +++ b/pkgs/development/compilers/flutter/patches/beta/move-cache.patch @@ -7,7 +7,7 @@ index 8e511eefd..fbc7d6ac3 100644 final String gradlewBinaryName = Platform.isWindows ? 'gradlew.bat' : 'gradlew'; final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_shutdown_gradle.'); - recursiveCopy(Directory(path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'gradle_wrapper')), tempDir); -+ recursiveCopy(Directory(path.join(homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir); ++ recursiveCopy(Directory(path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir); copy(File(path.join(path.join(flutterDirectory.path, 'packages', 'flutter_tools'), 'templates', 'app', 'android.tmpl', 'gradle', 'wrapper', 'gradle-wrapper.properties')), Directory(path.join(tempDir.path, 'gradle', 'wrapper'))); if (!Platform.isWindows) { await exec( @@ -28,7 +28,7 @@ index 79b06949f..9040ba0a8 100644 final Uri entryUri = globals.fs.path.toUri(font['asset'] as String); result.add(_Asset( - baseDir: globals.fs.path.join(Cache.flutterRoot, 'bin', 'cache', 'artifacts', 'material_fonts'), -+ baseDir: globals.fs.path.join(homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'), ++ baseDir: globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'), relativeUri: Uri(path: entryUri.pathSegments.last), entryUri: entryUri, )); @@ -41,14 +41,14 @@ index 715189938..5afb2a0db 100644 } assert(_lock == null); + -+ final Directory dir = globals.fs.directory(globals.fs.path.join(homeDirPath, '.cache', 'flutter')); ++ final Directory dir = globals.fs.directory(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter')); + if (!dir.existsSync()) { + dir.createSync(recursive: true); -+ os.chmod(dir, '755'); ++ globals.os.chmod(dir, '755'); + } final File lockFile = - globals.fs.file(globals.fs.path.join(flutterRoot, 'bin', 'cache', 'lockfile')); -+ globals.fs.file(globals.fs.path.join(homeDirPath, '.cache', 'flutter', 'lockfile')); ++ globals.fs.file(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'lockfile')); try { _lock = lockFile.openSync(mode: FileMode.write); } on FileSystemException catch (e) { @@ -57,7 +57,7 @@ index 715189938..5afb2a0db 100644 return _fileSystem.directory(_fileSystem.path.join(_rootOverride.path, 'bin', 'cache')); } else { - return _fileSystem.directory(_fileSystem.path.join(flutterRoot, 'bin', 'cache')); -+ return _fileSystem.directory(_fileSystem.path.join(homeDirPath, '.cache', 'flutter')); ++ return _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter')); } } diff --git a/pkgs/development/compilers/flutter/patches/dev/disable-auto-update.patch b/pkgs/development/compilers/flutter/patches/dev/disable-auto-update.patch deleted file mode 120000 index 2c92799f3bba..000000000000 --- a/pkgs/development/compilers/flutter/patches/dev/disable-auto-update.patch +++ /dev/null @@ -1 +0,0 @@ -../beta/disable-auto-update.patch \ No newline at end of file diff --git a/pkgs/development/compilers/flutter/patches/dev/move-cache.patch b/pkgs/development/compilers/flutter/patches/dev/move-cache.patch deleted file mode 100644 index 4672d4c625d0..000000000000 --- a/pkgs/development/compilers/flutter/patches/dev/move-cache.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/dev/devicelab/lib/framework/runner.dart b/dev/devicelab/lib/framework/runner.dart -index 8e511eefd..fbc7d6ac3 100644 ---- a/dev/devicelab/lib/framework/runner.dart -+++ b/dev/devicelab/lib/framework/runner.dart -@@ -126,7 +126,7 @@ Future cleanupSystem() async { - print('\nTelling Gradle to shut down (JAVA_HOME=$javaHome)'); - final String gradlewBinaryName = Platform.isWindows ? 'gradlew.bat' : 'gradlew'; - final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_shutdown_gradle.'); -- recursiveCopy(Directory(path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'gradle_wrapper')), tempDir); -+ recursiveCopy(Directory(path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir); - copy(File(path.join(path.join(flutterDirectory.path, 'packages', 'flutter_tools'), 'templates', 'app', 'android.tmpl', 'gradle', 'wrapper', 'gradle-wrapper.properties')), Directory(path.join(tempDir.path, 'gradle', 'wrapper'))); - if (!Platform.isWindows) { - await exec( -diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart -index 79b06949f..9040ba0a8 100644 ---- a/packages/flutter_tools/lib/src/asset.dart -+++ b/packages/flutter_tools/lib/src/asset.dart -@@ -6,6 +6,7 @@ import 'dart:async'; - - import 'package:yaml/yaml.dart'; - -+import 'base/common.dart'; - import 'base/context.dart'; - import 'base/file_system.dart'; - import 'base/utils.dart'; -@@ -325,7 +326,7 @@ List<_Asset> _getMaterialAssets(String fontSet) { - for (final Map font in family['fonts']) { - final Uri entryUri = globals.fs.path.toUri(font['asset'] as String); - result.add(_Asset( -- baseDir: globals.fs.path.join(Cache.flutterRoot, 'bin', 'cache', 'artifacts', 'material_fonts'), -+ baseDir: globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'), - relativeUri: Uri(path: entryUri.pathSegments.last), - entryUri: entryUri, - )); -diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart -index 715189938..5afb2a0db 100644 ---- a/packages/flutter_tools/lib/src/cache.dart -+++ b/packages/flutter_tools/lib/src/cache.dart -@@ -189,8 +189,14 @@ class Cache { - return; - } - assert(_lock == null); -+ -+ final Directory dir = globals.fs.directory(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter')); -+ if (!dir.existsSync()) { -+ dir.createSync(recursive: true); -+ globals.os.chmod(dir, '755'); -+ } - final File lockFile = -- globals.fs.file(globals.fs.path.join(flutterRoot, 'bin', 'cache', 'lockfile')); -+ globals.fs.file(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'lockfile')); - try { - _lock = lockFile.openSync(mode: FileMode.write); - } on FileSystemException catch (e) { -@@ -290,7 +296,7 @@ class Cache { - if (_rootOverride != null) { - return _fileSystem.directory(_fileSystem.path.join(_rootOverride.path, 'bin', 'cache')); - } else { -- return _fileSystem.directory(_fileSystem.path.join(flutterRoot, 'bin', 'cache')); -+ return _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter')); - } - } - diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix index 3e10041c5c80..92b312ba19e5 100644 --- a/pkgs/development/compilers/intel-graphics-compiler/default.nix +++ b/pkgs/development/compilers/intel-graphics-compiler/default.nix @@ -24,13 +24,13 @@ in stdenv.mkDerivation rec { pname = "intel-graphics-compiler"; - version = "1.0.3151"; + version = "1.0.3627"; src = fetchFromGitHub { owner = "intel"; repo = "intel-graphics-compiler"; rev = "igc-${version}"; - sha256 = "1c2ll563a2j4sv3r468i4lv158hkzywnyajyk7iyin7bhqhm2vzf"; + sha256 = "1x9fjvf7rbhil09am2v9j2jhwysdvwgshf9zidbirjgfrqn573h8"; }; nativeBuildInputs = [ clang cmake bison flex llvm python ]; diff --git a/pkgs/development/interpreters/clojurescript/lumo/default.nix b/pkgs/development/interpreters/clojurescript/lumo/default.nix index d6252a7506aa..122831e80cc0 100644 --- a/pkgs/development/interpreters/clojurescript/lumo/default.nix +++ b/pkgs/development/interpreters/clojurescript/lumo/default.nix @@ -279,7 +279,7 @@ stdenv.mkDerivation { Thanks to V8's custom startup snapshots, Lumo starts up instantaneously, making it the fastest Clojure REPL in existence. ''; - homepage = https://github.com/anmonteiro/lumo; + homepage = "https://github.com/anmonteiro/lumo"; license = stdenv.lib.licenses.epl10; maintainers = [ stdenv.lib.maintainers.hlolli ]; platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; diff --git a/pkgs/development/interpreters/joker/default.nix b/pkgs/development/interpreters/joker/default.nix index ed82f76eec24..b176c55cbfd1 100644 --- a/pkgs/development/interpreters/joker/default.nix +++ b/pkgs/development/interpreters/joker/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "joker"; - version = "0.14.2"; + version = "0.15.0"; src = fetchFromGitHub { rev = "v${version}"; owner = "candid82"; repo = "joker"; - sha256 = "1wi80sr8h9fwh4xipff0y6qdzrliwyk2w1bmi33ncykxd9r2g7nk"; + sha256 = "03lbvxmkn0rr7yv7kj6c4dh4zayiwbhrkqbz2m22dw568rjbp8az"; }; - modSha256 = "0i16vf7n1xfz5kp9w3fvyc9y9wgz4h396glgpdaznpxjr12rb43j"; + modSha256 = "1mylgim9nm0v5wybgzi74nqzmvzwzws0027wzl86dbj5id83ab9v"; preBuild = '' go generate ./... diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix index 3784b6ab282f..79cb1c7154b5 100644 --- a/pkgs/development/interpreters/jruby/default.nix +++ b/pkgs/development/interpreters/jruby/default.nix @@ -6,11 +6,11 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "3" "3" ""; jruby = stdenv.mkDerivation rec { pname = "jruby"; - version = "9.2.11.0"; + version = "9.2.11.1"; src = fetchurl { url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz"; - sha256 = "01yzpasnpqqm0vfc0ki8vkxbzijjfws135jw8k0r50b5lahjvs4a"; + sha256 = "1p4ml5rqidqllc7z85zn2q4pyyih71j0gb71wl43j4v74p44j17i"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 497a1d87f557..d260a90e8ea6 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -1,13 +1,9 @@ -# pcre functionality is tested in nixos/tests/php-pcre.nix -{ config, lib, stdenv, fetchurl -, autoconf, automake, bison, file, flex, libtool, pkgconfig, re2c -, libxml2, readline, zlib, curl, postgresql, gettext -, openssl, pcre, pcre2, sqlite -, libxslt, bzip2, icu, openldap, cyrus_sasl, unixODBC -, uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, html-tidy, libargon2 -, gd, freetype, libXpm, libjpeg, libpng, libwebp -, libzip, valgrind, oniguruma, symlinkJoin, writeText -, makeWrapper, callPackage +# We have tests for PCRE and PHP-FPM in nixos/tests/php/ or +# both in the same attribute named nixosTests.php + +{ callPackage, config, fetchurl, lib, makeWrapper, stdenv, symlinkJoin +, writeText , autoconf, automake, bison, flex, libtool, pkgconfig, re2c +, apacheHttpd, libargon2, libxml2, pcre, pcre2 , systemd, valgrind }: let @@ -15,182 +11,83 @@ let { version , sha256 , extraPatches ? [] - , withSystemd ? config.php.systemd or stdenv.isLinux - , imapSupport ? config.php.imap or (!stdenv.isDarwin) - , ldapSupport ? config.php.ldap or true - , mysqlndSupport ? config.php.mysqlnd or true - , mysqliSupport ? (config.php.mysqli or true) && (mysqlndSupport) - , pdo_mysqlSupport ? (config.php.pdo_mysql or true) && (mysqlndSupport) - , libxml2Support ? config.php.libxml2 or true - , apxs2Support ? config.php.apxs2 or (!stdenv.isDarwin) - , embedSupport ? config.php.embed or false - , bcmathSupport ? config.php.bcmath or true - , socketsSupport ? config.php.sockets or true - , curlSupport ? config.php.curl or true - , gettextSupport ? config.php.gettext or true - , pcntlSupport ? config.php.pcntl or true - , pdo_odbcSupport ? config.php.pdo_odbc or true - , postgresqlSupport ? config.php.postgresql or true - , pdo_pgsqlSupport ? config.php.pdo_pgsql or true - , readlineSupport ? config.php.readline or true - , sqliteSupport ? config.php.sqlite or true - , soapSupport ? (config.php.soap or true) && (libxml2Support) - , zlibSupport ? config.php.zlib or true - , opensslSupport ? config.php.openssl or true - , mbstringSupport ? config.php.mbstring or true - , gdSupport ? config.php.gd or true - , intlSupport ? config.php.intl or true - , exifSupport ? config.php.exif or true - , xslSupport ? config.php.xsl or false - , bz2Support ? config.php.bz2 or false - , zipSupport ? config.php.zip or true - , ftpSupport ? config.php.ftp or true - , fpmSupport ? config.php.fpm or true - , gmpSupport ? config.php.gmp or true - , ztsSupport ? (config.php.zts or false) || (apxs2Support) - , calendarSupport ? config.php.calendar or true - , sodiumSupport ? (config.php.sodium or true) && (lib.versionAtLeast version "7.2") - , tidySupport ? (config.php.tidy or false) - , argon2Support ? (config.php.argon2 or true) && (lib.versionAtLeast version "7.2") - , libzipSupport ? (config.php.libzip or true) && (lib.versionAtLeast version "7.2") - , phpdbgSupport ? config.php.phpdbg or true + + # Sapi flags , cgiSupport ? config.php.cgi or true , cliSupport ? config.php.cli or true + , fpmSupport ? config.php.fpm or true + , pearSupport ? config.php.pear or true , pharSupport ? config.php.phar or true - , xmlrpcSupport ? (config.php.xmlrpc or false) && (libxml2Support) + , phpdbgSupport ? config.php.phpdbg or true + + + # Misc flags + , apxs2Support ? config.php.apxs2 or (!stdenv.isDarwin) + , argon2Support ? config.php.argon2 or true , cgotoSupport ? config.php.cgoto or false - , valgrindSupport ? (config.php.valgrind or true) && (lib.versionAtLeast version "7.2") + , embedSupport ? config.php.embed or false , ipv6Support ? config.php.ipv6 or true - , pearSupport ? (config.php.pear or true) && (libxml2Support) - }: stdenv.mkDerivation { + , systemdSupport ? config.php.systemd or stdenv.isLinux + , valgrindSupport ? config.php.valgrind or true + , ztsSupport ? (config.php.zts or false) || (apxs2Support) + }: let + pcre' = if (lib.versionAtLeast version "7.3") then pcre2 else pcre; + in stdenv.mkDerivation { pname = "php"; inherit version; enableParallelBuilding = true; - nativeBuildInputs = [ autoconf automake bison file flex libtool pkgconfig re2c ]; + nativeBuildInputs = [ autoconf automake bison flex libtool pkgconfig re2c ]; - buildInputs = [ ] - ++ lib.optional (lib.versionOlder version "7.3") pcre - ++ lib.optional (lib.versionAtLeast version "7.3") pcre2 - ++ lib.optional (lib.versionAtLeast version "7.4") oniguruma - ++ lib.optional withSystemd systemd - ++ lib.optionals imapSupport [ uwimap openssl pam ] - ++ lib.optionals curlSupport [ curl openssl ] - ++ lib.optionals ldapSupport [ openldap openssl ] - ++ lib.optionals gdSupport [ gd freetype libXpm libjpeg libpng libwebp ] - ++ lib.optionals opensslSupport [ openssl openssl.dev ] + buildInputs = + # PCRE extension + [ pcre' ] + + # Enable sapis + ++ lib.optional pearSupport [ libxml2.dev ] + + # Misc deps ++ lib.optional apxs2Support apacheHttpd - ++ lib.optional (ldapSupport && stdenv.isLinux) cyrus_sasl - ++ lib.optional zlibSupport zlib - ++ lib.optional libxml2Support libxml2 - ++ lib.optional readlineSupport readline - ++ lib.optional sqliteSupport sqlite - ++ lib.optional postgresqlSupport postgresql - ++ lib.optional pdo_odbcSupport unixODBC - ++ lib.optional pdo_pgsqlSupport postgresql - ++ lib.optional gmpSupport gmp - ++ lib.optional gettextSupport gettext - ++ lib.optional intlSupport icu - ++ lib.optional xslSupport libxslt - ++ lib.optional bz2Support bzip2 - ++ lib.optional sodiumSupport libsodium - ++ lib.optional tidySupport html-tidy ++ lib.optional argon2Support libargon2 - ++ lib.optional libzipSupport libzip - ++ lib.optional valgrindSupport valgrind; + ++ lib.optional systemdSupport systemd + ++ lib.optional valgrindSupport valgrind + ; CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11"; - configureFlags = [ "--with-config-file-scan-dir=/etc/php.d" ] - ++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre.dev}" "PCRE_LIBDIR=${pcre}" ] - ++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre2.dev}" "PCRE_LIBDIR=${pcre2}" ] - ++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre2.dev}" "PCRE_LIBDIR=${pcre2}" ] - ++ lib.optional stdenv.isDarwin "--with-iconv=${libiconv}" - ++ lib.optional withSystemd "--with-fpm-systemd" - ++ lib.optionals imapSupport [ - "--with-imap=${uwimap}" - "--with-imap-ssl" - ] - ++ lib.optionals ldapSupport [ - "--with-ldap=/invalid/path" - "LDAP_DIR=${openldap.dev}" - "LDAP_INCDIR=${openldap.dev}/include" - "LDAP_LIBDIR=${openldap.out}/lib" - ] - ++ lib.optional (ldapSupport && stdenv.isLinux) "--with-ldap-sasl=${cyrus_sasl.dev}" - ++ lib.optional apxs2Support "--with-apxs2=${apacheHttpd.dev}/bin/apxs" - ++ lib.optional embedSupport "--enable-embed" - ++ lib.optional curlSupport "--with-curl=${curl.dev}" - ++ lib.optional zlibSupport "--with-zlib=${zlib.dev}" - ++ lib.optional (libxml2Support && (lib.versionOlder version "7.4")) "--with-libxml-dir=${libxml2.dev}" - ++ lib.optional (!libxml2Support) [ - "--disable-dom" - (if (lib.versionOlder version "7.4") then "--disable-libxml" else "--without-libxml") - "--disable-simplexml" - "--disable-xml" - "--disable-xmlreader" - "--disable-xmlwriter" - "--without-pear" - ] - ++ lib.optional pcntlSupport "--enable-pcntl" - ++ lib.optional readlineSupport "--with-readline=${readline.dev}" - ++ lib.optional sqliteSupport "--with-pdo-sqlite=${sqlite.dev}" - ++ lib.optional postgresqlSupport "--with-pgsql=${postgresql}" - ++ lib.optional pdo_odbcSupport "--with-pdo-odbc=unixODBC,${unixODBC}" - ++ lib.optional pdo_pgsqlSupport "--with-pdo-pgsql=${postgresql}" - ++ lib.optional (pdo_mysqlSupport && mysqlndSupport) "--with-pdo-mysql=mysqlnd" - ++ lib.optional (mysqliSupport && mysqlndSupport) "--with-mysqli=mysqlnd" - ++ lib.optional (pdo_mysqlSupport || mysqliSupport) "--with-mysql-sock=/run/mysqld/mysqld.sock" - ++ lib.optional bcmathSupport "--enable-bcmath" - ++ lib.optionals (gdSupport && lib.versionAtLeast version "7.4") [ - "--enable-gd" - "--with-external-gd=${gd.dev}" - "--with-webp=${libwebp}" - "--with-jpeg=${libjpeg.dev}" - "--with-xpm=${libXpm.dev}" - "--with-freetype=${freetype.dev}" - "--enable-gd-jis-conv" - ] ++ lib.optionals (gdSupport && lib.versionOlder version "7.4") [ - "--with-gd=${gd.dev}" - "--with-webp-dir=${libwebp}" - "--with-jpeg-dir=${libjpeg.dev}" - "--with-png-dir=${libpng.dev}" - "--with-freetype-dir=${freetype.dev}" - "--with-xpm-dir=${libXpm.dev}" - "--enable-gd-jis-conv" - ] - ++ lib.optional gmpSupport "--with-gmp=${gmp.dev}" - ++ lib.optional soapSupport "--enable-soap" - ++ lib.optional socketsSupport "--enable-sockets" - ++ lib.optional opensslSupport "--with-openssl" - ++ lib.optional mbstringSupport "--enable-mbstring" - ++ lib.optional gettextSupport "--with-gettext=${gettext}" - ++ lib.optional intlSupport "--enable-intl" - ++ lib.optional exifSupport "--enable-exif" - ++ lib.optional xslSupport "--with-xsl=${libxslt.dev}" - ++ lib.optional bz2Support "--with-bz2=${bzip2.dev}" - ++ lib.optional (zipSupport && (lib.versionOlder version "7.4")) "--enable-zip" - ++ lib.optional (zipSupport && (lib.versionAtLeast version "7.4")) "--with-zip" - ++ lib.optional ftpSupport "--enable-ftp" - ++ lib.optional fpmSupport "--enable-fpm" - ++ lib.optional ztsSupport "--enable-maintainer-zts" - ++ lib.optional calendarSupport "--enable-calendar" - ++ lib.optional sodiumSupport "--with-sodium=${libsodium.dev}" - ++ lib.optional tidySupport "--with-tidy=${html-tidy}" - ++ lib.optional argon2Support "--with-password-argon2=${libargon2}" - ++ lib.optional (libzipSupport && (lib.versionOlder version "7.4")) "--with-libzip=${libzip.dev}" - ++ lib.optional phpdbgSupport "--enable-phpdbg" - ++ lib.optional (!phpdbgSupport) "--disable-phpdbg" + configureFlags = + # Disable all extensions + [ "--disable-all" ] + + # PCRE + ++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre'.dev}" ] + ++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre'.dev}" ] + ++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre'.dev}" ] + ++ [ "PCRE_LIBDIR=${pcre'}" ] + + + # Enable sapis ++ lib.optional (!cgiSupport) "--disable-cgi" ++ lib.optional (!cliSupport) "--disable-cli" - ++ lib.optional (!pharSupport) "--disable-phar" - ++ lib.optional xmlrpcSupport "--with-xmlrpc" + ++ lib.optional fpmSupport "--enable-fpm" + ++ lib.optional pearSupport [ "--with-pear=$(out)/lib/php/pear" "--enable-xml" "--with-libxml" ] + ++ lib.optional (pearSupport && (lib.versionOlder version "7.4")) "--enable-libxml" + ++ lib.optional pharSupport "--enable-phar" + ++ lib.optional phpdbgSupport "--enable-phpdbg" + + + # Misc flags + ++ lib.optional apxs2Support "--with-apxs2=${apacheHttpd.dev}/bin/apxs" + ++ lib.optional argon2Support "--with-password-argon2=${libargon2}" ++ lib.optional cgotoSupport "--enable-re2c-cgoto" - ++ lib.optional valgrindSupport "--with-valgrind=${valgrind.dev}" + ++ lib.optional embedSupport "--enable-embed" ++ lib.optional (!ipv6Support) "--disable-ipv6" - ++ lib.optional (pearSupport && libxml2Support) "--with-pear=$(out)/lib/php/pear"; + ++ lib.optional systemdSupport "--with-fpm-systemd" + ++ lib.optional valgrindSupport "--with-valgrind=${valgrind.dev}" + ++ lib.optional ztsSupport "--enable-maintainer-zts" + ; hardeningDisable = [ "bindnow" ]; @@ -204,8 +101,6 @@ let --replace '@PHP_LDFLAGS@' "" done - substituteInPlace ./build/libtool.m4 --replace /usr/bin/file ${file}/bin/file - export EXTENSION_DIR=$out/lib/php/extensions ./buildconf --copy --force @@ -235,6 +130,12 @@ let inherit sha256; }; + patches = [ ./fix-paths-php7.patch ] ++ extraPatches; + + separateDebugInfo = true; + + outputs = [ "out" "dev" ]; + meta = with stdenv.lib; { description = "An HTML-embedded scripting language"; homepage = "https://www.php.net/"; @@ -243,57 +144,121 @@ let platforms = platforms.all; outputsToInstall = [ "out" "dev" ]; }; - - patches = [ ./fix-paths-php7.patch ] ++ extraPatches; - - stripDebugList = "bin sbin lib modules"; - - outputs = [ "out" "dev" ]; }; - generic' = { version, sha256, ... }@args: let php = generic args; in php.overrideAttrs (_: { - passthru.buildEnv = { exts ? (_: []), extraConfig ? "" }: let - extraInit = writeText "custom-php.ini" '' - ${extraConfig} - ${lib.concatMapStringsSep "\n" (ext: let - extName = lib.removePrefix "php-" (builtins.parseDrvName ext.name).name; - type = "${lib.optionalString (ext.zendExtension or false) "zend_"}extension"; - in '' - ${type}=${ext}/lib/php/extensions/${extName}.so - '') (exts (callPackage ../../../top-level/php-packages.nix { inherit php; }))} - ''; - in symlinkJoin { - name = "php-custom-${version}"; - nativeBuildInputs = [ makeWrapper ]; - paths = [ php ]; - postBuild = '' - wrapProgram $out/bin/php \ - --add-flags "-c ${extraInit}" - wrapProgram $out/bin/php-fpm \ - --add-flags "-c ${extraInit}" - ''; - }; - }); + generic' = { version, sha256, self, selfWithExtensions, ... }@args: + let + php = generic (builtins.removeAttrs args [ "self" "selfWithExtensions" ]); -in { - php72 = generic' { + php-packages = (callPackage ../../../top-level/php-packages.nix { + php = self; + phpWithExtensions = selfWithExtensions; + }); + + buildEnv = { extensions ? (_: []), extraConfig ? "" }: + let + getExtName = ext: lib.removePrefix "php-" (builtins.parseDrvName ext.name).name; + enabledExtensions = extensions php-packages.extensions; + + # Generate extension load configuration snippets from the + # extension parameter. This is an attrset suitable for use + # with textClosureList, which is used to put the strings in + # the right order - if a plugin which is dependent on + # another plugin is placed before its dependency, it will + # fail to load. + extensionTexts = + lib.listToAttrs + (map (ext: + let + extName = getExtName ext; + type = "${lib.optionalString (ext.zendExtension or false) "zend_"}extension"; + in + lib.nameValuePair extName { + text = "${type}=${ext}/lib/php/extensions/${extName}.so"; + deps = lib.optionals (ext ? internalDeps) + (map getExtName ext.internalDeps); + }) + enabledExtensions); + + extNames = map getExtName enabledExtensions; + extraInit = writeText "custom-php.ini" '' + ${lib.concatStringsSep "\n" + (lib.textClosureList extensionTexts extNames)} + ${extraConfig} + ''; + in + symlinkJoin { + name = "php-with-extensions-${version}"; + inherit (php) version dev; + nativeBuildInputs = [ makeWrapper ]; + passthru = { + inherit buildEnv withExtensions enabledExtensions; + inherit (php-packages) packages extensions; + }; + paths = [ php ]; + postBuild = '' + cp ${extraInit} $out/lib/custom-php.ini + + wrapProgram $out/bin/php --set PHP_INI_SCAN_DIR $out/lib + + if test -e $out/bin/php-fpm; then + wrapProgram $out/bin/php-fpm --set PHP_INI_SCAN_DIR $out/lib + fi + ''; + }; + + withExtensions = extensions: buildEnv { inherit extensions; }; + in + php.overrideAttrs (_: { + passthru = { + enabledExtensions = []; + inherit buildEnv withExtensions; + inherit (php-packages) packages extensions; + }; + }); + + php72base = generic' { version = "7.2.28"; sha256 = "18sjvl67z5a2x5s2a36g6ls1r3m4hbrsw52hqr2qsgfvg5dkm5bw"; + self = php72base; + selfWithExtensions = php72; # https://bugs.php.net/bug.php?id=76826 extraPatches = lib.optional stdenv.isDarwin ./php72-darwin-isfinite.patch; }; - php73 = generic' { + php73base = generic' { version = "7.3.15"; sha256 = "0g84hws15s8gh8iq4h6q747dyfazx47vh3da3whz8d80x83ibgld"; + self = php73base; + selfWithExtensions = php73; # https://bugs.php.net/bug.php?id=76826 extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch; }; - php74 = generic' { + php74base = generic' { version = "7.4.3"; sha256 = "wVF7pJV4+y3MZMc6Ptx21PxQfEp6xjmYFYTMfTtMbRQ="; + self = php74base; + selfWithExtensions = php74; }; + + defaultPhpExtensions = extensions: with extensions; ([ + bcmath calendar curl ctype dom exif fileinfo filter ftp gd + gettext gmp iconv intl json ldap mbstring mysqli mysqlnd opcache + openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite pgsql + posix readline session simplexml sockets soap sodium sqlite3 + tokenizer xmlreader xmlwriter zip zlib + ] ++ lib.optionals (!stdenv.isDarwin) [ imap ]); + + defaultPhpExtensionsWithHash = extensions: + (defaultPhpExtensions extensions) ++ [ extensions.hash ]; + + php74 = php74base.withExtensions defaultPhpExtensions; + php73 = php73base.withExtensions defaultPhpExtensionsWithHash; + php72 = php72base.withExtensions defaultPhpExtensionsWithHash; + +in { + inherit php72base php73base php74base php72 php73 php74; } diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix index 815d3becf6f8..8549eeffde6d 100644 --- a/pkgs/development/libraries/grpc/default.nix +++ b/pkgs/development/libraries/grpc/default.nix @@ -1,13 +1,13 @@ -{ stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }: +{ stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags, abseil-cpp }: stdenv.mkDerivation rec { - version = "1.27.1"; # N.B: if you change this, change pythonPackages.grpcio and pythonPackages.grpcio-tools to a matching version too + version = "1.28.1"; # N.B: if you change this, change pythonPackages.grpcio and pythonPackages.grpcio-tools to a matching version too pname = "grpc"; src = fetchFromGitHub { owner = "grpc"; repo = "grpc"; rev = "v${version}"; - sha256 = "1yvmqxv6pwzbxw3si47x3anvl2pp3qy1acspmz4v60pd188c1fnc"; + sha256 = "17p3xwz5izlqg5ijnim4asl40pr8yhg9wrrmws4g0dk37nkn1x6p"; fetchSubmodules = true; }; patches = [ @@ -49,6 +49,8 @@ stdenv.mkDerivation rec { description = "The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)"; license = licenses.asl20; maintainers = [ maintainers.lnl7 maintainers.marsam ]; - homepage = https://grpc.io/; + homepage = "https://grpc.io/"; + platforms = platforms.all; + changelog = "https://github.com/grpc/grpc/releases/tag/v${version}"; }; } diff --git a/pkgs/development/mobile/androidenv/compose-android-packages.nix b/pkgs/development/mobile/androidenv/compose-android-packages.nix index fb548bf3f9f2..f98547011bde 100644 --- a/pkgs/development/mobile/androidenv/compose-android-packages.nix +++ b/pkgs/development/mobile/androidenv/compose-android-packages.nix @@ -1,10 +1,10 @@ {requireFile, autoPatchelfHook, pkgs, pkgs_i686, licenseAccepted ? false}: { toolsVersion ? "25.2.5" -, platformToolsVersion ? "28.0.1" +, platformToolsVersion ? "29.0.6" , buildToolsVersions ? [ "28.0.3" ] , includeEmulator ? false -, emulatorVersion ? "28.0.14" +, emulatorVersion ? "30.0.3" , platformVersions ? [] , includeSources ? false , includeDocs ? false diff --git a/pkgs/development/mobile/androidenv/emulate-app.nix b/pkgs/development/mobile/androidenv/emulate-app.nix index fa9a56fadbad..6273d75cc380 100644 --- a/pkgs/development/mobile/androidenv/emulate-app.nix +++ b/pkgs/development/mobile/androidenv/emulate-app.nix @@ -8,6 +8,7 @@ let sdkArgs = { + toolsVersion = "26.1.1"; platformVersions = [ platformVersion ]; includeEmulator = true; includeSystemImages = true; @@ -67,12 +68,12 @@ stdenv.mkDerivation { export ANDROID_SERIAL="emulator-$port" # Create a virtual android device for testing if it does not exists - ${sdk}/libexec/android-sdk/tools/android list targets + ${sdk}/libexec/android-sdk/tools/bin/avdmanager list target if [ "$(${sdk}/libexec/android-sdk/tools/android list avd | grep 'Name: device')" = "" ] then # Create a virtual android device - yes "" | ${sdk}/libexec/android-sdk/tools/android create avd -n device -t 1 --abi ${systemImageType}/${abiVersion} $NIX_ANDROID_AVD_FLAGS + yes "" | ${sdk}/libexec/android-sdk/tools/bin/avdmanager create avd -n device -k "system-images;android-${platformVersion};${systemImageType};${abiVersion}" $NIX_ANDROID_AVD_FLAGS ${lib.optionalString enableGPU '' # Enable GPU acceleration diff --git a/pkgs/development/mobile/androidenv/emulator.nix b/pkgs/development/mobile/androidenv/emulator.nix index 7ba74eb900fe..2402d5433ed2 100644 --- a/pkgs/development/mobile/androidenv/emulator.nix +++ b/pkgs/development/mobile/androidenv/emulator.nix @@ -1,13 +1,39 @@ -{deployAndroidPackage, lib, package, os, autoPatchelfHook, makeWrapper, pkgs, pkgs_i686}: +{ 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 ]; + ++ lib.optional (os == "linux") [ + pkgs.glibc + pkgs.xlibs.libX11 + pkgs.xlibs.libXext + pkgs.xlibs.libXdamage + pkgs.xlibs.libXfixes + pkgs.xlibs.libxcb + pkgs.xlibs.libXcomposite + pkgs.xlibs.libXcursor + pkgs.xlibs.libXi + pkgs.xlibs.libXrender + pkgs.xlibs.libXtst + pkgs.libcxx + pkgs.libGL + pkgs.libpulseaudio + pkgs.zlib + pkgs.ncurses5 + pkgs.stdenv.cc.cc + pkgs_i686.glibc + pkgs.expat + pkgs.freetype + pkgs.nss + pkgs.nspr + pkgs.alsaLib + ]; patchInstructions = lib.optionalString (os == "linux") '' addAutoPatchelfSearchPath $packageBaseDir/lib addAutoPatchelfSearchPath $packageBaseDir/lib64 addAutoPatchelfSearchPath $packageBaseDir/lib64/qt/lib + # autoPatchelf is not detecting libuuid :( + addAutoPatchelfSearchPath ${pkgs.libuuid.out}/lib autoPatchelf $out # Wrap emulator so that it can load libdbus-1.so at runtime and it no longer complains about XKB keymaps diff --git a/pkgs/development/mobile/androidenv/generated/addons.nix b/pkgs/development/mobile/androidenv/generated/addons.nix index d902b1116658..a1807b990540 100644 --- a/pkgs/development/mobile/androidenv/generated/addons.nix +++ b/pkgs/development/mobile/androidenv/generated/addons.nix @@ -423,6 +423,17 @@ }; + "extras;google;Android_Emulator_Hypervisor_Driver" = { + name = "extras-google-Android_Emulator_Hypervisor_Driver"; + path = "extras/google/Android_Emulator_Hypervisor_Driver"; + revision = "1.4.0"; + displayName = "Android Emulator Hypervisor Driver for AMD Processors (installer)"; + archives = { + + }; + }; + + "extras;google;admob_ads_sdk" = { name = "extras-google-admob_ads_sdk"; path = "extras/google/admob_ads_sdk"; @@ -525,13 +536,13 @@ "extras;google;instantapps" = { name = "extras-google-instantapps"; path = "extras/google/instantapps"; - revision = "1.5.0"; + revision = "1.9.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"; + url = https://dl.google.com/android/repository/iasdk-1.9.0-1566514721.zip; + sha1 = "c498367dcd7db30154b3e70c4ddbb1b0ea4b8d20"; }; }; @@ -605,7 +616,7 @@ "extras;google;usb_driver" = { name = "extras-google-usb_driver"; path = "extras/google/usb_driver"; - revision = "11"; + revision = "12"; displayName = "Google USB Driver"; archives = { @@ -645,32 +656,16 @@ }; - "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"; + "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-alpha2"; + 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-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"; + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha4.zip; + sha1 = "2aa2aceecc6ba172742d0af0b43f11d03924eeb8"; }; }; @@ -693,48 +688,32 @@ }; - "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"; + "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 = "Solver for ConstraintLayout 1.0.0-alpha5"; + 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-alpha5.zip; - sha1 = "7ba6c82c7645ac023cf45c1e27a6ae3added308a"; + 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-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"; + "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 = "Solver for ConstraintLayout 1.0.0-alpha6"; + 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-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"; + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha4.zip; + sha1 = "2aa2aceecc6ba172742d0af0b43f11d03924eeb8"; }; }; @@ -757,16 +736,16 @@ }; - "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"; + "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-alpha9"; + 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-alpha9.zip; - sha1 = "2c52ddd883d83230a17042b8f4ba03669f0f5f40"; + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha8.zip; + sha1 = "cd13d16a8f0198c1d6040ec8b1d0d4e5bb7feb6a"; }; }; @@ -901,32 +880,16 @@ }; - "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"; + "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-alpha2"; + 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-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"; + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha4.zip; + sha1 = "645a9be1f0c1177301e71cd0ddccf1dd67c554fe"; }; }; @@ -949,48 +912,32 @@ }; - "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"; + "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 = "ConstraintLayout for Android 1.0.0-alpha5"; + 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-alpha5.zip; - sha1 = "24f78daf491dcad74bcb2acfa79ea2d8e906f53b"; + 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-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"; + "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 = "ConstraintLayout for Android 1.0.0-alpha6"; + 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-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"; + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha4.zip; + sha1 = "645a9be1f0c1177301e71cd0ddccf1dd67c554fe"; }; }; @@ -1013,16 +960,16 @@ }; - "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"; + "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-alpha9"; + 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-alpha9.zip; - sha1 = "89c2bbc005d4731c7a830a4d5aa98dae121a46a4"; + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha8.zip; + sha1 = "7912ba03b04831f918f523648f118c4ee4da7604"; }; }; diff --git a/pkgs/development/mobile/androidenv/generated/packages.nix b/pkgs/development/mobile/androidenv/generated/packages.nix index fc9f50e13164..a63a18c4b51f 100644 --- a/pkgs/development/mobile/androidenv/generated/packages.nix +++ b/pkgs/development/mobile/androidenv/generated/packages.nix @@ -877,6 +877,158 @@ }; }; + "build-tools"."29.0.0" = { + + name = "build-tools"; + path = "build-tools/29.0.0"; + revision = "29.0.0"; + displayName = "Android SDK Build-Tools 29"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r29-linux.zip; + sha1 = "ad314caf1802209c4b00a5f3517af5ceb0d48eae"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r29-macosx.zip; + sha1 = "35dc6bc7a53bd9d206847e72f02cab21cfdaa869"; + }; + + }; + }; + + "build-tools"."29.0.0-rc1" = { + + name = "build-tools"; + path = "build-tools/29.0.0-rc1"; + revision = "29.0.0-rc1"; + displayName = "Android SDK Build-Tools 29-rc1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r29-rc1-linux.zip; + sha1 = "1c897f5885ac5468613e40e1ea598c21c05d345d"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r29-rc1-macosx.zip; + sha1 = "f066c0d9ea2f0d8a0a9cc7b2ca0a467a570ab034"; + }; + + }; + }; + + "build-tools"."29.0.0-rc2" = { + + name = "build-tools"; + path = "build-tools/29.0.0-rc2"; + revision = "29.0.0-rc2"; + displayName = "Android SDK Build-Tools 29-rc2"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r29-rc2-linux.zip; + sha1 = "b4b41d429c35b42db07b6c65d4aa998ba8c4093c"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r29-rc2-macosx.zip; + sha1 = "7a960367999169ccac5dbc60817e5f1725c4c738"; + }; + + }; + }; + + "build-tools"."29.0.0-rc3" = { + + name = "build-tools"; + path = "build-tools/29.0.0-rc3"; + revision = "29.0.0-rc3"; + displayName = "Android SDK Build-Tools 29-rc3"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r29-rc3-linux.zip; + sha1 = "8b7177f198e8b92da8f9537aaf859f6edf222b01"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r29-rc3-macosx.zip; + sha1 = "643e8d76625f6e2cfcd5494e50bae5e14725ec0c"; + }; + + }; + }; + + "build-tools"."29.0.1" = { + + name = "build-tools"; + path = "build-tools/29.0.1"; + revision = "29.0.1"; + displayName = "Android SDK Build-Tools 29.0.1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r29.0.1-linux.zip; + sha1 = "fc209e5d91ab2daeac24345a5cb17261940547e4"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r29.0.1-macosx.zip; + sha1 = "46ae9b1d1e2a67241d7da9c2cd8eae42f24cc6cd"; + }; + + }; + }; + + "build-tools"."29.0.2" = { + + name = "build-tools"; + path = "build-tools/29.0.2"; + revision = "29.0.2"; + displayName = "Android SDK Build-Tools 29.0.2"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r29.0.2-linux.zip; + sha1 = "c0fc7e5c37ac96bfd0c611802e8ab36d0e71b398"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r29.0.2-macosx.zip; + sha1 = "f781d9e03d5c2debcf51fed3792ee7a9d066723f"; + }; + + }; + }; + + "build-tools"."29.0.3" = { + + name = "build-tools"; + path = "build-tools/29.0.3"; + revision = "29.0.3"; + displayName = "Android SDK Build-Tools 29.0.3"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r29.0.3-linux.zip; + sha1 = "64efff52165cda5e31848acafa46a05e3f3b4651"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r29.0.3-macosx.zip; + sha1 = "76520eb7712fb0bb4c023b55c6f65588ee268289"; + }; + + }; + }; + + "build-tools"."30.0.0-rc1" = { + + name = "build-tools"; + path = "build-tools/30.0.0-rc1"; + revision = "30.0.0-rc1"; + displayName = "Android SDK Build-Tools 30-rc1"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r30-rc1-linux.zip; + sha1 = "afcb370bb6956bbf9e90557230088a3e1417e8a8"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/build-tools_r30-rc1-macosx.zip; + sha1 = "2761a0ea9466685aaaf93e85bf8bd47575bc91b8"; + }; + + }; + }; + "cmake"."3.10.2" = { name = "cmake"; @@ -915,6 +1067,25 @@ }; }; + "cmdline-tools"."1.0" = { + + name = "cmdline-tools"; + path = "cmdline-tools/1.0"; + revision = "1.0"; + displayName = "Android SDK Command-line Tools"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip; + sha1 = "6ffc5bd72db2c755f9b374ed829202262a6d8aaf"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/commandlinetools-mac-6200805_latest.zip; + sha1 = "23f803c07e392bb769507c88b23c2c7868cc7a6f"; + }; + + }; + }; + "docs"."1" = { name = "docs"; @@ -931,88 +1102,66 @@ }; }; - "emulator"."27.3.10".linux = { + "emulator"."30.0.0".macosx = { 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"; + revision = "30.0.0"; displayName = "Android Emulator"; archives = { macosx = fetchurl { - url = https://dl.google.com/android/repository/emulator-darwin-4969155.zip; - sha1 = "28d2b51ee5c84bc544deee433419f33dc9e05b66"; + url = https://dl.google.com/android/repository/emulator-darwin-6203977.zip; + sha1 = "3bb965869577be4e62dec053de34c279f5024a12"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/emulator-linux-6203977.zip; + sha1 = "356cac370c03460ca82166464de7ecd7da1f4a49"; }; }; }; - "emulator"."27.3.10".windows = { + "emulator"."28.0.25".windows = { name = "emulator"; path = "emulator"; - revision = "27.3.10"; + revision = "28.0.25"; displayName = "Android Emulator"; archives = { }; }; - "emulator"."28.0.14".linux = { + "emulator"."30.0.3".linux = { name = "emulator"; path = "emulator"; - revision = "28.0.14"; + revision = "30.0.3"; displayName = "Android Emulator"; archives = { linux = fetchurl { - url = https://dl.google.com/android/repository/emulator-linux-5092175.zip; - sha1 = "062ef9a1f6759481de897d6c5602d9d66e958a0b"; + url = https://dl.google.com/android/repository/emulator-linux-6258612.zip; + sha1 = "a891e1532443a55c3ce9986b484effdabd842f8e"; }; }; }; - "emulator"."28.0.14".macosx = { + "emulator"."30.0.2".macosx = { name = "emulator"; path = "emulator"; - revision = "28.0.14"; + revision = "30.0.2"; displayName = "Android Emulator"; archives = { macosx = fetchurl { - url = https://dl.google.com/android/repository/emulator-darwin-5092175.zip; - sha1 = "6dc13599bddd5c2acdb559b25201c92a801d157c"; + url = https://dl.google.com/android/repository/emulator-darwin-6237347.zip; + sha1 = "702b6a050a230b3b45f667867f6fc99b3f973d9a"; }; }; }; - "emulator"."28.0.14".windows = { - - name = "emulator"; - path = "emulator"; - revision = "28.0.14"; - displayName = "Android Emulator"; - archives = { - - }; - }; - "lldb"."2.0.2558144" = { name = "lldb"; @@ -1127,6 +1276,177 @@ }; }; + "ndk-bundle"."21.1.6210238-rc1" = { + + name = "ndk-bundle"; + path = "ndk-bundle"; + revision = "21.1.6210238-rc1"; + displayName = "NDK"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r21b-beta1-darwin-x86_64.zip; + sha1 = "971609f9a579ebbcb8d121a5d5aa0cba716b2d1f"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r21b-beta1-linux-x86_64.zip; + sha1 = "cf06ed408663c11c8f4824f9370c7a900ec074dd"; + }; + + }; + }; + + "ndk-bundle"."21.0.6113669" = { + + name = "ndk-bundle"; + path = "ndk-bundle"; + revision = "21.0.6113669"; + displayName = "NDK"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r21-darwin-x86_64.zip; + sha1 = "0d50636cc0e34ed3ba540d6d5818ea0cf10f16aa"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r21-linux-x86_64.zip; + sha1 = "afc9c0b9faad222898ac8168c78ad4ccac8a1b5c"; + }; + + }; + }; + + "ndk-bundle"."21.0.6011959-rc2" = { + + name = "ndk-bundle"; + path = "ndk-bundle"; + revision = "21.0.6011959-rc2"; + displayName = "NDK"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r21-beta2-darwin-x86_64.zip; + sha1 = "34a46c3867c9d87a80895c0b8a098256052536d2"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r21-beta2-linux-x86_64.zip; + sha1 = "335f30302bee700a9a5fdfe3ae533a4963499c44"; + }; + + }; + }; + + "ndk-bundle"."20.1.5948944" = { + + name = "ndk-bundle"; + path = "ndk-bundle"; + revision = "20.1.5948944"; + displayName = "NDK"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20b-darwin-x86_64.zip; + sha1 = "b51290ab69cb89de1f0ba108702277bc333b38be"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20b-linux-x86_64.zip; + sha1 = "d903fdf077039ad9331fb6c3bee78aa46d45527b"; + }; + + }; + }; + + "ndk-bundle"."20.0.5594570" = { + + name = "ndk-bundle"; + path = "ndk-bundle"; + revision = "20.0.5594570"; + displayName = "NDK"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20-darwin-x86_64.zip; + sha1 = "96d5f1c50452596912d1982439c514194b5751e6"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20-linux-x86_64.zip; + sha1 = "8665fc84a1b1f0d6ab3b5fdd1e30200cc7b9adff"; + }; + + }; + }; + + "ndk-bundle"."20.0.5471264-rc3" = { + + name = "ndk-bundle"; + path = "ndk-bundle"; + revision = "20.0.5471264-rc3"; + displayName = "NDK"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20-beta3-darwin-x86_64.zip; + sha1 = "665a035cadb0dd03e6502ba25c18643f6e4ede24"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20-beta3-linux-x86_64.zip; + sha1 = "674d8fb0e0df8e8be1c31fa321eb176548a19ba3"; + }; + + }; + }; + + "ndk-bundle"."20.0.5392854-rc2" = { + + name = "ndk-bundle"; + path = "ndk-bundle"; + revision = "20.0.5392854-rc2"; + displayName = "NDK"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20-beta2-darwin-x86_64.zip; + sha1 = "cd94191ace6b31ec9af1cc370173e16934e1cb8b"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20-beta2-linux-x86_64.zip; + sha1 = "8285ae2e24a7232fd0cbfb55e955c8586ef2ee02"; + }; + + }; + }; + + "ndk-bundle"."19.2.5345600" = { + + name = "ndk-bundle"; + path = "ndk-bundle"; + revision = "19.2.5345600"; + displayName = "NDK"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r19c-darwin-x86_64.zip; + sha1 = "f46b8193109bba8a58e0461c1a48f4534051fb25"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r19c-linux-x86_64.zip; + sha1 = "fd94d0be6017c6acbd193eb95e09cf4b6f61b834"; + }; + + }; + }; + + "ndk-bundle"."19.0.5232133" = { + + name = "ndk-bundle"; + path = "ndk-bundle"; + revision = "19.0.5232133"; + displayName = "NDK"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r19-darwin-x86_64.zip; + sha1 = "86c1a962601b23b8a6d3d535c93b4b0bc4f29249"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r19-linux-x86_64.zip; + sha1 = "f02ad84cb5b6e1ff3eea9e6168037c823408c8ac"; + }; + + }; + }; + "ndk-bundle"."18.1.5063045" = { name = "ndk-bundle"; @@ -1146,6 +1466,272 @@ }; }; + "ndk-bundle"."17.2.4988734" = { + + name = "ndk-bundle"; + path = "ndk-bundle"; + revision = "17.2.4988734"; + displayName = "NDK"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r17c-darwin-x86_64.zip; + sha1 = "f97e3d7711497e3b4faf9e7b3fa0f0da90bb649c"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip; + sha1 = "12cacc70c3fd2f40574015631c00f41fb8a39048"; + }; + + }; + }; + + "ndk-bundle"."16.1.4479499" = { + + name = "ndk-bundle"; + path = "ndk-bundle"; + revision = "16.1.4479499"; + displayName = "NDK"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r16b-darwin-x86_64.zip; + sha1 = "e51e615449b98c716cf912057e2682e75d55e2de"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip; + sha1 = "42aa43aae89a50d1c66c3f9fdecd676936da6128"; + }; + + }; + }; + + "ndk"."16.1.4479499" = { + + name = "ndk"; + path = "ndk/16.1.4479499"; + revision = "16.1.4479499"; + displayName = "NDK (Side by side) 16.1.4479499"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r16b-darwin-x86_64.zip; + sha1 = "e51e615449b98c716cf912057e2682e75d55e2de"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip; + sha1 = "42aa43aae89a50d1c66c3f9fdecd676936da6128"; + }; + + }; + }; + + "ndk"."17.2.4988734" = { + + name = "ndk"; + path = "ndk/17.2.4988734"; + revision = "17.2.4988734"; + displayName = "NDK (Side by side) 17.2.4988734"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r17c-darwin-x86_64.zip; + sha1 = "f97e3d7711497e3b4faf9e7b3fa0f0da90bb649c"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip; + sha1 = "12cacc70c3fd2f40574015631c00f41fb8a39048"; + }; + + }; + }; + + "ndk"."18.1.5063045" = { + + name = "ndk"; + path = "ndk/18.1.5063045"; + revision = "18.1.5063045"; + displayName = "NDK (Side by side) 18.1.5063045"; + 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"; + }; + + }; + }; + + "ndk"."19.0.5232133" = { + + name = "ndk"; + path = "ndk/19.0.5232133"; + revision = "19.0.5232133"; + displayName = "NDK (Side by side) 19.0.5232133"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r19-darwin-x86_64.zip; + sha1 = "86c1a962601b23b8a6d3d535c93b4b0bc4f29249"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r19-linux-x86_64.zip; + sha1 = "f02ad84cb5b6e1ff3eea9e6168037c823408c8ac"; + }; + + }; + }; + + "ndk"."19.2.5345600" = { + + name = "ndk"; + path = "ndk/19.2.5345600"; + revision = "19.2.5345600"; + displayName = "NDK (Side by side) 19.2.5345600"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r19c-darwin-x86_64.zip; + sha1 = "f46b8193109bba8a58e0461c1a48f4534051fb25"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r19c-linux-x86_64.zip; + sha1 = "fd94d0be6017c6acbd193eb95e09cf4b6f61b834"; + }; + + }; + }; + + "ndk"."20.0.5392854-rc2" = { + + name = "ndk"; + path = "ndk/20.0.5392854"; + revision = "20.0.5392854-rc2"; + displayName = "NDK (Side by side) 20.0.5392854"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20-beta2-darwin-x86_64.zip; + sha1 = "cd94191ace6b31ec9af1cc370173e16934e1cb8b"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20-beta2-linux-x86_64.zip; + sha1 = "8285ae2e24a7232fd0cbfb55e955c8586ef2ee02"; + }; + + }; + }; + + "ndk"."20.0.5471264-rc3" = { + + name = "ndk"; + path = "ndk/20.0.5471264"; + revision = "20.0.5471264-rc3"; + displayName = "NDK (Side by side) 20.0.5471264"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20-beta3-darwin-x86_64.zip; + sha1 = "665a035cadb0dd03e6502ba25c18643f6e4ede24"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20-beta3-linux-x86_64.zip; + sha1 = "674d8fb0e0df8e8be1c31fa321eb176548a19ba3"; + }; + + }; + }; + + "ndk"."20.0.5594570" = { + + name = "ndk"; + path = "ndk/20.0.5594570"; + revision = "20.0.5594570"; + displayName = "NDK (Side by side) 20.0.5594570"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20-darwin-x86_64.zip; + sha1 = "96d5f1c50452596912d1982439c514194b5751e6"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20-linux-x86_64.zip; + sha1 = "8665fc84a1b1f0d6ab3b5fdd1e30200cc7b9adff"; + }; + + }; + }; + + "ndk"."20.1.5948944" = { + + name = "ndk"; + path = "ndk/20.1.5948944"; + revision = "20.1.5948944"; + displayName = "NDK (Side by side) 20.1.5948944"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20b-darwin-x86_64.zip; + sha1 = "b51290ab69cb89de1f0ba108702277bc333b38be"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r20b-linux-x86_64.zip; + sha1 = "d903fdf077039ad9331fb6c3bee78aa46d45527b"; + }; + + }; + }; + + "ndk"."21.0.6011959-rc2" = { + + name = "ndk"; + path = "ndk/21.0.6011959"; + revision = "21.0.6011959-rc2"; + displayName = "NDK (Side by side) 21.0.6011959"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r21-beta2-darwin-x86_64.zip; + sha1 = "34a46c3867c9d87a80895c0b8a098256052536d2"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r21-beta2-linux-x86_64.zip; + sha1 = "335f30302bee700a9a5fdfe3ae533a4963499c44"; + }; + + }; + }; + + "ndk"."21.0.6113669" = { + + name = "ndk"; + path = "ndk/21.0.6113669"; + revision = "21.0.6113669"; + displayName = "NDK (Side by side) 21.0.6113669"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r21-darwin-x86_64.zip; + sha1 = "0d50636cc0e34ed3ba540d6d5818ea0cf10f16aa"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r21-linux-x86_64.zip; + sha1 = "afc9c0b9faad222898ac8168c78ad4ccac8a1b5c"; + }; + + }; + }; + + "ndk"."21.1.6210238-rc1" = { + + name = "ndk"; + path = "ndk/21.1.6210238"; + revision = "21.1.6210238-rc1"; + displayName = "NDK (Side by side) 21.1.6210238"; + archives = { + macosx = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r21b-beta1-darwin-x86_64.zip; + sha1 = "971609f9a579ebbcb8d121a5d5aa0cba716b2d1f"; + }; + linux = fetchurl { + url = https://dl.google.com/android/repository/android-ndk-r21b-beta1-linux-x86_64.zip; + sha1 = "cf06ed408663c11c8f4824f9370c7a900ec074dd"; + }; + + }; + }; + "patcher"."1" = { name = "patcher"; @@ -1155,27 +1741,27 @@ archives = { all = fetchurl { - url = https://dl.google.com/android/repository/3534162-studio.sdk-patcher.zip.bak; + url = https://dl.google.com/android/repository/3534162-studio.sdk-patcher.zip; sha1 = "046699c5e2716ae11d77e0bad814f7f33fab261e"; }; }; }; - "platform-tools"."28.0.1" = { + "platform-tools"."29.0.6" = { name = "platform-tools"; path = "platform-tools"; - revision = "28.0.1"; + revision = "29.0.6"; displayName = "Android SDK Platform-Tools"; archives = { macosx = fetchurl { - url = https://dl.google.com/android/repository/platform-tools_r28.0.1-darwin.zip; - sha1 = "ed1edad4a48c27655ce98d0a5821e7296e9de145"; + url = https://dl.google.com/android/repository/platform-tools_r29.0.6-darwin.zip; + sha1 = "3232179dce22d8a6332018729026ed39f5d5cd0b"; }; linux = fetchurl { - url = https://dl.google.com/android/repository/platform-tools_r28.0.1-linux.zip; - sha1 = "74ff83bc203f01c4f04bd9316ab5a2573f023fd1"; + url = https://dl.google.com/android/repository/platform-tools_r29.0.6-linux.zip; + sha1 = "e95ed28330406705d47fe96bafb589be6c1f2f23"; }; }; @@ -1513,14 +2099,13 @@ archives = { all = fetchurl { - url = https://dl.google.com/android/repository/platform-29_r03.zip; - sha1 = "670e2e104333dae90e16ea3b615f0b63da5883ae"; + url = https://dl.google.com/android/repository/platform-29_r04.zip; + sha1 = "8d644c39902038e0bd529165d5ba4f5a8607daea"; }; }; }; - - + "platforms"."3" = { name = "platforms"; @@ -1645,6 +2230,41 @@ }; }; + "platforms"."R" = { + + name = "platforms"; + path = "platforms/android-R"; + revision = "R"; + displayName = "Android SDK Platform R"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/platform-R_r01.zip; + sha1 = "f6ce3ef0ec8526550fc3b517bdb29051275bcd1a"; + }; + + }; + }; + + "skiaparser"."1-rc02" = { + + name = "skiaparser"; + path = "skiaparser/1"; + revision = "1-rc02"; + displayName = "Skia Parser Server"; + archives = { + linux = fetchurl { + url = https://dl.google.com/android/repository/skiaparser-6172737-linux.zip; + sha1 = "d2eac6deff2c257d47853251bda5528c96a41720"; + }; + macosx = fetchurl { + url = https://dl.google.com/android/repository/skiaparser-6172737-mac.zip; + sha1 = "1e3b8da7a4f5e9887479b4e4186db3cb22422c82"; + }; + + }; + }; + "sources"."14" = { name = "sources"; @@ -1885,6 +2505,22 @@ }; }; + "sources"."29" = { + + name = "sources"; + path = "sources/android-29"; + revision = "29"; + displayName = "Sources for Android 29"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/sources-29_r01.zip; + sha1 = "d0ad249e152b3a8fe3cb7c4a329453a048be29e4"; + }; + + }; + }; + "tools"."25.2.5" = { name = "tools"; diff --git a/pkgs/development/mobile/androidenv/generated/system-images-android-tv.nix b/pkgs/development/mobile/androidenv/generated/system-images-android-tv.nix index 1aa49545254d..d700a546a246 100644 --- a/pkgs/development/mobile/androidenv/generated/system-images-android-tv.nix +++ b/pkgs/development/mobile/androidenv/generated/system-images-android-tv.nix @@ -1,157 +1,114 @@ - {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."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"; - - }; + "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"; - - }; + "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."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_r19.zip; + sha1 = "47e8d6b08a337a0672f0f105bf907d39ed9457ec"; + }; }; - - - "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"; - - }; + "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"; - - }; + "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_r20.zip; + sha1 = "0b8cd98dec9ebd04376ce4f6e270193ceae8acea"; + }; }; - - - "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"; - - }; + "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_r14.zip; + sha1 = "1c88f11683375c059803c3a7be8e880cc23a6f9a"; + }; }; - - - "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"; - - }; + "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_r12.zip; + sha1 = "d8b12e543925a0454403d2a854996a76410ec374"; + }; }; - - - "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"; - - }; + "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_r07.zip; + sha1 = "5ed40e568c0d8d023c5b6c76634b22a477ed54aa"; + }; }; - - - "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"; - - }; + "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_r08.zip; + sha1 = "f5f8f296dfaca7945434992761c8d47d50257c21"; + }; }; - -} - \ No newline at end of file + "Q".android-tv."x86" = { + name = "system-image-Q-android-tv-x86"; + path = "system-images/android-Q/android-tv/x86"; + revision = "Q-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-Q_r01.zip; + sha1 = "80c66ddce0dbe53fe6fedcade230d518112fffb1"; + }; + }; +} \ 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 index 372a751f41cb..52fcc24bf88e 100644 --- a/pkgs/development/mobile/androidenv/generated/system-images-android-wear-cn.nix +++ b/pkgs/development/mobile/androidenv/generated/system-images-android-wear-cn.nix @@ -1,67 +1,44 @@ - {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."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"; - - }; + "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"; - - }; + "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"; - - }; + "28".android-wear."x86" = { + name = "system-image-28-android-wear-x86"; + path = "system-images/android-28/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-28_r03.zip; + sha1 = "2099d87709c5e064273925dbf2cf1fd081bf0262"; + }; }; - -} - \ No newline at end of file +} \ 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 index 0c45a1162fef..a2a1490d4aea 100644 --- a/pkgs/development/mobile/androidenv/generated/system-images-android-wear.nix +++ b/pkgs/development/mobile/androidenv/generated/system-images-android-wear.nix @@ -1,97 +1,64 @@ - {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."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"; - - }; + "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."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"; - - }; + "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"; - - }; + "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"; - - }; + "28".android-wear."x86" = { + name = "system-image-28-android-wear-x86"; + path = "system-images/android-28/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-28_r03.zip; + sha1 = "b80bd53ab69f19441714bff2e4d55931e6d3f7be"; + }; }; - -} - \ No newline at end of file +} \ 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 index 915cceec5469..043529cb2380 100644 --- a/pkgs/development/mobile/androidenv/generated/system-images-android.nix +++ b/pkgs/development/mobile/androidenv/generated/system-images-android.nix @@ -1,547 +1,364 @@ - {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"; - - }; + "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/armeabi-v7a-10_r05.zip; + sha1 = "8537616a7add47cce24c60f18bc2429e3dc90ae3"; + }; }; - - - "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"; - - }; + "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"; - - }; + "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_r05.zip; + sha1 = "03d7ed95a9d3b107e3f2e5b166d017ea12529e70"; + }; }; - - - "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"; - - }; + "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/armeabi-v7a-16_r06.zip; + sha1 = "69b944b0d5a18c8563fa80d7d229af64890f724e"; + }; }; - - - "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"; - - }; + "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_r06.zip; + sha1 = "a18a3fd0958ec4ef52507f58e414fc5c7dfd59d6"; + }; }; - - - "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"; - - }; + "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_r05.zip; + sha1 = "580b583720f7de671040d5917c8c9db0c7aa03fd"; + }; }; - - - "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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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."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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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_r05.zip; + sha1 = "a166d5ccbb165e1dd5464fbfeec30a61f77790d8"; + }; }; - - - "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"; - - }; + "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_r05.zip; + sha1 = "c387e0efed2cdc610e5944eea67b7b692d03760c"; + }; }; - - - "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"; - - }; + "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"; - - }; + "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"; - - }; + "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_r04.zip; + sha1 = "7a4ced4d9b0ab48047825491b4072dc2eb9b610e"; + }; }; - - - "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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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 index 3b0303b86b4b..68af1ea56895 100644 --- a/pkgs/development/mobile/androidenv/generated/system-images-google_apis.nix +++ b/pkgs/development/mobile/androidenv/generated/system-images-google_apis.nix @@ -1,502 +1,384 @@ - {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."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_r06.zip; + sha1 = "970abf3a2a9937a43576afd9bb56e4a8191947f8"; + }; }; - - - "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"; - - }; + "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_r06.zip; + sha1 = "070a9552e3d358d8e72e8b2042e539e2b7a1b035"; + }; }; - - - "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_r06.zip; + sha1 = "a7deb32c12396b6c4fd60ad14a62e19f8bdcae20"; + }; }; - - - "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"; - - }; + "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_r06.zip; + sha1 = "6deb76cf34760a6037cb18d89772c9e986d07497"; + }; }; - - - "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"; - - }; + "16".google_apis."armeabi-v7a" = { + name = "system-image-16-google_apis-armeabi-v7a"; + path = "system-images/android-16/google_apis/armeabi-v7a"; + revision = "16-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-16_r06.zip; + sha1 = "5a5ff097680c6dae473c8719296ce6d7b70edb2d"; + }; }; - - - "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"; - - }; + "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_r06.zip; + sha1 = "b57adef2f43dd176b8c02c980c16a796021b2071"; + }; }; - - - "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"; - - }; + "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_r06.zip; + sha1 = "a59f26cb5707da97e869a27d87b83477204ac594"; + }; }; - - - "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"; - - }; + "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."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"; - - }; + "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_r06.zip; + sha1 = "7faaccabbcc5f08e410436d3f63eea42521ea974"; + }; }; - - - "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"; - - }; + "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_r06.zip; + sha1 = "dd674d719cad61602702be4b3d98edccfbfea53e"; + }; }; - - - "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"; - - }; + "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_r38.zip; + sha1 = "928e4ec82876c61ef53451425d10ccb840cdd0f2"; + }; }; - - - "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"; - - }; + "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_r38.zip; + sha1 = "434edd2ddc39d1ca083a5fa9721c0db8ab804737"; + }; }; - - - "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."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_r30.zip; + sha1 = "37548caae9e2897fb1d2b15f7fcf624c714cb610"; + }; }; - - - "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"; - - }; + "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_r30.zip; + sha1 = "82d34fdaae2916bd4d48a4f144db51e4e5719aa4"; + }; }; - - - "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"; - - }; + "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_r30.zip; + sha1 = "bbdbbb3c4387752a8f28718a3190d901c0378058"; + }; }; - - - "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" = { + 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_r24.zip; + sha1 = "e4cd95b1c0837fc12d6544742e82d8ef344c8758"; + }; }; - - - "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"; - - }; + "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_r24.zip; + sha1 = "d2b7ca5f8259c6e4b3cfa5a0d77e4a088899cfb0"; + }; }; - - - "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"; - - }; + "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_r24.zip; + sha1 = "cde738f9353606af69ad7b4e625c957a4d603f27"; + }; }; - - - "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."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_r31.zip; + sha1 = "877cf79f5198fa53351eab08ba9ce162dc84f7ba"; + }; }; - - - "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"; - - }; + "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_r31.zip; + sha1 = "342c39df061804ee0d5bc671147e90dead3d6665"; + }; }; - - - "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"; - - }; + "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_r31.zip; + sha1 = "da0a07800b4eec53fcdb2e5c3b69a9a5d7a6b8a6"; + }; }; - - - "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."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_r25.zip; + sha1 = "53dba25eed8359aba394a1be1c7ccb741a459ec0"; + }; }; - - - "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."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_r25.zip; + sha1 = "d757dd13ad9b0ba4dd872660e31b6506f60dcf32"; + }; }; - - - "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"; - - }; + "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_r25.zip; + sha1 = "9a0ec5e9a239a7a6889364e44e9fa4fcd0052c6b"; + }; }; - - - "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"; - - }; + "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_r25.zip; + sha1 = "5ff407d439e3c595ce9221f445a31dcc35df5a86"; + }; }; - - - "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."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_r16.zip; + sha1 = "562e3335c6334b8d1947bb9efb90f8d82f2d3e4d"; + }; }; - - - "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."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_r16.zip; + sha1 = "e08b94903631d58964467b0b310c93642d85df6c"; + }; }; - - - "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"; - - }; + "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_r16.zip; + sha1 = "4c49e0edb845b0bf1f231cb0e8598b1a9f9aa9c8"; + }; }; - - - "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"; - - }; + "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_r16.zip; + sha1 = "33ffbd335d9a6dc8d9843469d0963091566b3167"; + }; }; - - - "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"; - - }; + "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_r14.zip; + sha1 = "935da6794d5f64f7ae20a1f352929cb7e3b20cba"; + }; }; - - - "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"; - - }; + "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_r14.zip; + sha1 = "965631f0554ca9027ac465ba147baa6a6a22fcce"; + }; }; - - - "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"; - - }; + "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_r09.zip; + sha1 = "ab009fc1308ded01539af4f8233b252d411145bc"; + }; }; - - - "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"; - - }; + "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_r09.zip; + sha1 = "7c84ba5cbc009132ce38df52830c17b9bffc54bb"; + }; }; - -} - \ No newline at end of file + "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_r09.zip; + sha1 = "eeb066346d29194e5b9387a0c0dd0f9e2a570b70"; + }; + }; + "29".google_apis."x86" = { + name = "system-image-29-google_apis-x86"; + path = "system-images/android-29/google_apis/x86"; + revision = "29-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-29_r09.zip; + sha1 = "33d71d17138ea322dec2dea6d8198aebf4767ab3"; + }; + }; + "29".google_apis."x86_64" = { + name = "system-image-29-google_apis-x86_64"; + path = "system-images/android-29/google_apis/x86_64"; + revision = "29-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-29_r09.zip; + sha1 = "0aa76b20a7ad30f2e41bc21b897b848d82533d26"; + }; + }; + "R".google_apis."x86" = { + name = "system-image-R-google_apis-x86"; + path = "system-images/android-R/google_apis/x86"; + revision = "R-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-R_r01.zip; + sha1 = "4e260bef94760eecba3224b68c1a4fed0fb89485"; + }; + }; + "R".google_apis."x86_64" = { + name = "system-image-R-google_apis-x86_64"; + path = "system-images/android-R/google_apis/x86_64"; + revision = "R-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-R_r01.zip; + sha1 = "ae12e1c3e1b36043a299359850e9315f47262f81"; + }; + }; +} \ 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 index a8bea61ff548..edc22ac2d7b6 100644 --- a/pkgs/development/mobile/androidenv/generated/system-images-google_apis_playstore.nix +++ b/pkgs/development/mobile/androidenv/generated/system-images-google_apis_playstore.nix @@ -1,97 +1,64 @@ - {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"; - - }; + "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"; - - }; + "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"; - - }; + "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"; - - }; + "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" = { + 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_r08.zip; + sha1 = "5381f9d52a3bf1967c9c92a25b20012cd68764c8"; + }; }; - - - "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"; - - }; + "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_r08.zip; + sha1 = "a767da996fdea7a1f5632a9206fa5c009d6e580c"; + }; }; - } - \ No newline at end of file diff --git a/pkgs/development/python-modules/bpython/default.nix b/pkgs/development/python-modules/bpython/default.nix index a91be0e13ddb..73ce843cf018 100644 --- a/pkgs/development/python-modules/bpython/default.nix +++ b/pkgs/development/python-modules/bpython/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "bpython"; - version = "0.18"; + version = "0.19"; src = fetchPypi { inherit pname version; - sha256 = "56cc20dbe568c98c81de4990fddf5862c0d8d3ab0ad1cf7057988abc5f7686c2"; + sha256 = "1764ikgj24jjq46s50apwkydqvy5a13adb2nbszk8kbci6df0v27"; }; propagatedBuildInputs = [ curtsies greenlet pygments requests urwid ]; diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix index fcfccf29efd8..f3eb93cd0605 100644 --- a/pkgs/development/python-modules/grpcio-tools/default.nix +++ b/pkgs/development/python-modules/grpcio-tools/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "grpcio-tools"; - version = "1.27.1"; + version = "1.28.1"; src = fetchPypi { inherit pname version; - sha256 = "e29aa3f7a47d37f8a15605e97bec580baa6bb7ead7114b8d2f20d7b28da30c5c"; + sha256 = "adf089aaf6e21358b12e39d9fa7c28611340d8399a918c0b72ff122ce9b7e0af"; }; enableParallelBuilding = true; diff --git a/pkgs/development/tools/distgen/default.nix b/pkgs/development/tools/distgen/default.nix index 7db4db246891..dbf00ea8e05e 100644 --- a/pkgs/development/tools/distgen/default.nix +++ b/pkgs/development/tools/distgen/default.nix @@ -2,11 +2,11 @@ python3.pkgs.buildPythonApplication rec { pname = "distgen"; - version = "1.4"; + version = "1.5"; src = python3.pkgs.fetchPypi { inherit pname version; - sha256 = "13k940xgpci754gmmnhz3j5rfvlg9hdh21j4yjh8dlr6g88qjc1x"; + sha256 = "08f9rw5irgv0gw7jizk5f9csn0yhrdnb84k40px1zbypsylvr5c5"; }; checkInputs = with python3.pkgs; [ diff --git a/pkgs/development/tools/flyway/default.nix b/pkgs/development/tools/flyway/default.nix index 1498d179d22b..746d66c2dbe8 100644 --- a/pkgs/development/tools/flyway/default.nix +++ b/pkgs/development/tools/flyway/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, jre_headless, makeWrapper }: let - version = "6.2.4"; + version = "6.3.2"; in stdenv.mkDerivation { pname = "flyway"; inherit version; src = fetchurl { url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz"; - sha256 = "1ng4ygd44hl63amjaizldsngn72jfz5pqw7wgr1vyvdxdzjfcnwm"; + sha256 = "1av1q7znphpsi1iz4dbh0fgh3jsx9prz980b25yk5r89h518s76q"; }; nativeBuildInputs = [ makeWrapper ]; dontBuild = true; diff --git a/pkgs/development/tools/haskell/ihaskell/wrapper.nix b/pkgs/development/tools/haskell/ihaskell/wrapper.nix index 0f42a5e34903..9b33d6e06708 100644 --- a/pkgs/development/tools/haskell/ihaskell/wrapper.nix +++ b/pkgs/development/tools/haskell/ihaskell/wrapper.nix @@ -9,7 +9,7 @@ let ihaskellSh = writeScriptBin "ihaskell-notebook" '' #! ${stdenv.shell} export GHC_PACKAGE_PATH="$(echo ${ihaskellEnv}/lib/*/package.conf.d| tr ' ' ':'):$GHC_PACKAGE_PATH" - export PATH="${stdenv.lib.makeBinPath ([ ihaskellEnv jupyter ])}\${PATH:+':'}$PATH" + export PATH="${stdenv.lib.makeBinPath ([ ihaskellEnv jupyter ])}''${PATH:+':'}$PATH ${ihaskellEnv}/bin/ihaskell install -l $(${ihaskellEnv}/bin/ghc --print-libdir) && ${jupyter}/bin/jupyter notebook ''; in diff --git a/pkgs/development/tools/misc/hydra/common.nix b/pkgs/development/tools/misc/hydra/common.nix index 983f144efb66..5aee5df847fc 100644 --- a/pkgs/development/tools/misc/hydra/common.nix +++ b/pkgs/development/tools/misc/hydra/common.nix @@ -27,6 +27,7 @@ let CatalystPluginCaptcha CatalystPluginSessionStateCookie CatalystPluginSessionStoreFastMmap + CatalystPluginSmartURI CatalystPluginStackTrace CatalystRuntime CatalystTraitForRequestProxyBase diff --git a/pkgs/games/armagetronad/default.nix b/pkgs/games/armagetronad/default.nix index 57373d39b54c..d4d2cbef164d 100644 --- a/pkgs/games/armagetronad/default.nix +++ b/pkgs/games/armagetronad/default.nix @@ -2,7 +2,7 @@ let versionMajor = "0.2.8"; - versionMinor = "3.4"; + versionMinor = "3.5"; version = "${versionMajor}.${versionMinor}"; in @@ -11,7 +11,7 @@ stdenv.mkDerivation { inherit version; src = fetchurl { url = "https://launchpad.net/armagetronad/${versionMajor}/${versionMajor}.${versionMinor}/+download/armagetronad-${version}.src.tar.bz2"; - sha256 = "157pp84wf0q3bdb72rnbm3ck0czwx2ply6lyhj8z7kfdc7csdbr3"; + sha256 = "1vyja7mzivs3pacxb7kznndsgqhq4p0f7x2zg55dckvzqwprdhqx"; }; NIX_LDFLAGS = "-lSDL_image"; @@ -22,7 +22,7 @@ stdenv.mkDerivation { buildInputs = [ SDL SDL_image libxml2 libjpeg libpng libGLU libGL zlib ]; meta = with stdenv.lib; { - homepage = http://armagetronad.org; + homepage = "http://armagetronad.org"; description = "An multiplayer networked arcade racing game in 3D similar to Tron"; license = licenses.gpl2; platforms = platforms.linux; diff --git a/pkgs/misc/documentation-highlighter/default.nix b/pkgs/misc/documentation-highlighter/default.nix index a9fbcc178bb8..72f1da6b0de5 100644 --- a/pkgs/misc/documentation-highlighter/default.nix +++ b/pkgs/misc/documentation-highlighter/default.nix @@ -2,7 +2,7 @@ runCommand "documentation-highlighter" { meta = { description = "Highlight.js sources for the Nix Ecosystem's documentation."; - homepage = https://highlightjs.org; + homepage = "https://highlightjs.org"; license = stdenv.lib.licenses.bsd3; platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.grahamc ]; diff --git a/pkgs/os-specific/linux/facetimehd/default.nix b/pkgs/os-specific/linux/facetimehd/default.nix index 99e72c339832..d771563158bd 100644 --- a/pkgs/os-specific/linux/facetimehd/default.nix +++ b/pkgs/os-specific/linux/facetimehd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, kernel }: +{ stdenv, lib, fetchFromGitHub, kernel }: # facetimehd is not supported for kernels older than 3.19"; assert stdenv.lib.versionAtLeast kernel.version "3.19"; @@ -44,9 +44,14 @@ stdenv.mkDerivation rec { ''; hardeningDisable = [ "pic" ]; - + nativeBuildInputs = kernel.moduleBuildDependencies; + preBuild = lib.optionalString (stdenv.lib.versionAtLeast kernel.version "5.6") + '' + sed -i 's/ioremap_nocache/ioremap_cache/g' fthd_drv.c + ''; + makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ]; @@ -55,7 +60,7 @@ stdenv.mkDerivation rec { homepage = https://github.com/patjak/bcwc_pcie; description = "Linux driver for the Facetime HD (Broadcom 1570) PCIe webcam"; license = licenses.gpl2; - maintainers = with maintainers; [ womfoo grahamc ]; + maintainers = with maintainers; [ womfoo grahamc kraem ]; platforms = [ "i686-linux" "x86_64-linux" ]; }; } diff --git a/pkgs/os-specific/linux/procdump/default.nix b/pkgs/os-specific/linux/procdump/default.nix index d24f665cc7ca..74ee1533e461 100644 --- a/pkgs/os-specific/linux/procdump/default.nix +++ b/pkgs/os-specific/linux/procdump/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "procdump"; - version = "1.1"; + version = "1.1.1"; src = fetchFromGitHub { owner = "Microsoft"; repo = "ProcDump-for-Linux"; rev = version; - sha256 = "1pcf6cpslpazla0na0q680dih9wb811q5irr7d2zmw0qmxm33jw2"; + sha256 = "0h5fhk39d10kjbinzw1yp6nr8w8l300mn9qxrkpivdkyfn6bpq2f"; }; nativeBuildInputs = [ zlib ]; diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix index 2a4361d99d2e..6a356e73c95e 100644 --- a/pkgs/servers/consul/default.nix +++ b/pkgs/servers/consul/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { pname = "consul"; - version = "1.6.2"; + version = "1.7.2"; rev = "v${version}"; goPackagePath = "github.com/hashicorp/consul"; @@ -19,7 +19,7 @@ buildGoPackage rec { owner = "hashicorp"; repo = pname; inherit rev; - sha256 = "0r9wqxhgspgypvp9xdv931r8g28gjg9njdignp84rrbxljix25my"; + sha256 = "1q587d8aqfkwg4fymr56fnf038vkxbdqz5yilz96dzny27dhspj4"; }; preBuild = '' diff --git a/pkgs/servers/dict/default.nix b/pkgs/servers/dict/default.nix index b4ad70f8277f..c96f3b5c477a 100644 --- a/pkgs/servers/dict/default.nix +++ b/pkgs/servers/dict/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "dictd"; - version = "1.12.1"; + version = "1.13.0"; src = fetchurl { url = "mirror://sourceforge/dict/dictd-${version}.tar.gz"; - sha256 = "0min6v60b6z5mrymyjfwzx8nv6rdm8pd8phlwl6v2jl5vkngcdx2"; + sha256 = "1r413a78sa3mcrgddgdj1za34dj6mnd4dg66csqv2yz8fypm3fpf"; }; buildInputs = [ libmaa zlib ]; diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix index c56e994ed54e..752a0fa493c1 100644 --- a/pkgs/servers/http/unit/default.nix +++ b/pkgs/servers/http/unit/default.nix @@ -16,7 +16,19 @@ with stdenv.lib; -stdenv.mkDerivation rec { +let + phpConfig = { + config.php.embed = true; + config.php.apxs2 = false; + config.php.systemd = false; + config.php.phpdbg = false; + config.php.cgi = false; + config.php.fpm = false; + }; + + php72-unit = php72.override phpConfig; + php73-unit = php73.override phpConfig; +in stdenv.mkDerivation rec { version = "1.16.0"; pname = "unit"; @@ -37,8 +49,8 @@ stdenv.mkDerivation rec { buildInputs = [ ] ++ optional withPython2 python2 ++ optionals withPython3 [ python3 ncurses ] - ++ optional withPHP72 php72 - ++ optional withPHP73 php73 + ++ optional withPHP72 php72-unit + ++ optional withPHP73 php73-unit ++ optional withPerl528 perl528 ++ optional withPerl530 perl530 ++ optional withPerldevel perldevel @@ -59,8 +71,8 @@ stdenv.mkDerivation rec { postConfigure = '' ${optionalString withPython2 "./configure python --module=python2 --config=${python2}/bin/python2-config --lib-path=${python2}/lib"} ${optionalString withPython3 "./configure python --module=python3 --config=${python3}/bin/python3-config --lib-path=${python3}/lib"} - ${optionalString withPHP72 "./configure php --module=php72 --config=${php72.dev}/bin/php-config --lib-path=${php72}/lib"} - ${optionalString withPHP73 "./configure php --module=php73 --config=${php73.dev}/bin/php-config --lib-path=${php73}/lib"} + ${optionalString withPHP72 "./configure php --module=php72 --config=${php72-unit.dev}/bin/php-config --lib-path=${php72-unit}/lib"} + ${optionalString withPHP73 "./configure php --module=php73 --config=${php73-unit.dev}/bin/php-config --lib-path=${php73-unit}/lib"} ${optionalString withPerl528 "./configure perl --module=perl528 --perl=${perl528}/bin/perl"} ${optionalString withPerl530 "./configure perl --module=perl530 --perl=${perl530}/bin/perl"} ${optionalString withPerldevel "./configure perl --module=perldev --perl=${perldevel}/bin/perl"} diff --git a/pkgs/servers/mautrix-whatsapp/default.nix b/pkgs/servers/mautrix-whatsapp/default.nix index 7215464ea5a3..0b4aff676fe8 100644 --- a/pkgs/servers/mautrix-whatsapp/default.nix +++ b/pkgs/servers/mautrix-whatsapp/default.nix @@ -2,16 +2,16 @@ buildGoModule { pname = "mautrix-whatsapp-unstable"; - version = "2020-03-26"; + version = "2020-04-02"; src = fetchFromGitHub { owner = "tulir"; repo = "mautrix-whatsapp"; - rev = "3a9642386cdff8293657c8409da4bffd674184bf"; - sha256 = "183ghrm83vlnalmlxq69xinvkylnxwmz41wwm5s4035arizkjh1b"; + rev = "064b5b8fedb6896d04509aa0e094a8d9f83426c2"; + sha256 = "1xky31x5jk7yxh875nk20vvsn9givy6vxdqhqg5qwf4xjj2zqh2p"; }; - modSha256 = "01xwq0h3i8ai0294v8jdagksas48866lxcnkn4slwp3rnzv6cmbp"; + modSha256 = "0qcxxhfp3fkx90r3lwhi0lkzg3digwrnxk8cack11k717szg7zrd"; meta = with stdenv.lib; { homepage = https://github.com/tulir/mautrix-whatsapp; diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix index 7669053d2294..0a1ad23c2cef 100644 --- a/pkgs/servers/uwsgi/default.nix +++ b/pkgs/servers/uwsgi/default.nix @@ -4,10 +4,15 @@ , pam, withPAM ? stdenv.isLinux , systemd, withSystemd ? stdenv.isLinux , python2, python3, ncurses -, ruby, php-embed, libmysqlclient +, ruby, php, libmysqlclient }: -let pythonPlugin = pkg : lib.nameValuePair "python${if pkg.isPy2 then "2" else "3"}" { +let php-embed = php.override { + config.php.embed = true; + config.php.apxs2 = false; + }; + + pythonPlugin = pkg : lib.nameValuePair "python${if pkg.isPy2 then "2" else "3"}" { interpreter = pkg.interpreter; path = "plugins/python"; inputs = [ pkg ncurses ]; diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix index 4c01383f8986..fdb03b50feb8 100644 --- a/pkgs/tools/admin/eksctl/default.nix +++ b/pkgs/tools/admin/eksctl/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "eksctl"; - version = "0.15.0"; + version = "0.16.0"; src = fetchFromGitHub { owner = "weaveworks"; repo = pname; rev = version; - sha256 = "1193i30k2m7cibn79xw51i2lxg90f5i97h8sbjiv0hr9g502r2qf"; + sha256 = "067q2cj4iwhiijv6nd9crjfncn67829f4d2ls07lwdcsvgi1cyfi"; }; - modSha256 = "0f8dlcp3q84fa5dnnzx4347ngb1raw1mxkcqpz2s3zq6d1kv0nvf"; + modSha256 = "187jv78asav97cbvn7336ycflqa0c2alvkhvlyv2mp5f3crygagy"; subPackages = [ "cmd/eksctl" ]; diff --git a/pkgs/tools/backup/easysnap/default.nix b/pkgs/tools/backup/easysnap/default.nix index a56d1274f92e..7f9b06275097 100644 --- a/pkgs/tools/backup/easysnap/default.nix +++ b/pkgs/tools/backup/easysnap/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation { pname = "easysnap"; - version = "unstable-2019-02-17"; + version = "unstable-2020-04-04"; src = fetchFromGitHub { owner = "sjau"; repo = "easysnap"; - rev = "9ef5d1ff51ccf9939a88b7b32b4959d27cf61ecc"; - sha256 = "0m0217ni909nham15w5vxg8y7cw2zwjibnhvgnpxxsap8zkhv1m4"; + rev = "26f89c0c3cda01e2595ee19ae5fb8518da25b4ef"; + sha256 = "sha256:1k49k1m7y8s099wyiiz8411i77j1156ncirynmjfyvdhmhcyp5rw"; }; installPhase = '' diff --git a/pkgs/tools/filesystems/ceph/0000-dont-check-cherrypy-version.patch b/pkgs/tools/filesystems/ceph/0000-dont-check-cherrypy-version.patch deleted file mode 100644 index 9604da87fb50..000000000000 --- a/pkgs/tools/filesystems/ceph/0000-dont-check-cherrypy-version.patch +++ /dev/null @@ -1,70 +0,0 @@ -diff --git a/src/pybind/mgr/dashboard/module.py b/src/pybind/mgr/dashboard/module.py -index a8a3ec07c1..bcc9b86c37 100644 ---- a/src/pybind/mgr/dashboard/module.py -+++ b/src/pybind/mgr/dashboard/module.py -@@ -25,40 +25,6 @@ except ImportError: - - from .services.sso import load_sso_db - --# The SSL code in CherryPy 3.5.0 is buggy. It was fixed long ago, --# but 3.5.0 is still shipping in major linux distributions --# (Fedora 27, Ubuntu Xenial), so we must monkey patch it to get SSL working. --if cherrypy is not None: -- v = StrictVersion(cherrypy.__version__) -- # It was fixed in 3.7.0. Exact lower bound version is probably earlier, -- # but 3.5.0 is what this monkey patch is tested on. -- if StrictVersion("3.5.0") <= v < StrictVersion("3.7.0"): -- from cherrypy.wsgiserver.wsgiserver2 import HTTPConnection,\ -- CP_fileobject -- -- def fixed_init(hc_self, server, sock, makefile=CP_fileobject): -- hc_self.server = server -- hc_self.socket = sock -- hc_self.rfile = makefile(sock, "rb", hc_self.rbufsize) -- hc_self.wfile = makefile(sock, "wb", hc_self.wbufsize) -- hc_self.requests_seen = 0 -- -- HTTPConnection.__init__ = fixed_init -- --# When the CherryPy server in 3.2.2 (and later) starts it attempts to verify --# that the ports its listening on are in fact bound. When using the any address --# "::" it tries both ipv4 and ipv6, and in some environments (e.g. kubernetes) --# ipv6 isn't yet configured / supported and CherryPy throws an uncaught --# exception. --if cherrypy is not None: -- v = StrictVersion(cherrypy.__version__) -- # the issue was fixed in 3.2.3. it's present in 3.2.2 (current version on -- # centos:7) and back to at least 3.0.0. -- if StrictVersion("3.1.2") <= v < StrictVersion("3.2.3"): -- # https://github.com/cherrypy/cherrypy/issues/1100 -- from cherrypy.process import servers -- servers.wait_for_occupied_port = lambda host, port: None -- - if 'COVERAGE_ENABLED' in os.environ: - import coverage - __cov = coverage.Coverage(config_file="{}/.coveragerc".format(os.path.dirname(__file__)), -diff --git a/src/pybind/mgr/prometheus/module.py b/src/pybind/mgr/prometheus/module.py -index b7fecf8d85..dfd4160591 100644 ---- a/src/pybind/mgr/prometheus/module.py -+++ b/src/pybind/mgr/prometheus/module.py -@@ -18,20 +18,6 @@ from rbd import RBD - DEFAULT_ADDR = '::' - DEFAULT_PORT = 9283 - --# When the CherryPy server in 3.2.2 (and later) starts it attempts to verify --# that the ports its listening on are in fact bound. When using the any address --# "::" it tries both ipv4 and ipv6, and in some environments (e.g. kubernetes) --# ipv6 isn't yet configured / supported and CherryPy throws an uncaught --# exception. --if cherrypy is not None: -- v = StrictVersion(cherrypy.__version__) -- # the issue was fixed in 3.2.3. it's present in 3.2.2 (current version on -- # centos:7) and back to at least 3.0.0. -- if StrictVersion("3.1.2") <= v < StrictVersion("3.2.3"): -- # https://github.com/cherrypy/cherrypy/issues/1100 -- from cherrypy.process import servers -- servers.wait_for_occupied_port = lambda host, port: None -- - # cherrypy likes to sys.exit on error. don't let it take us down too! - def os_exit_noop(*args, **kwargs): - pass diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix index abf6ed1361b9..64512272777c 100644 --- a/pkgs/tools/filesystems/ceph/default.nix +++ b/pkgs/tools/filesystems/ceph/default.nix @@ -93,7 +93,7 @@ let ]); sitePackages = ceph-python-env.python.sitePackages; - version = "14.2.7"; + version = "14.2.8"; in rec { ceph = stdenv.mkDerivation { pname = "ceph"; @@ -101,12 +101,11 @@ in rec { src = fetchurl { url = "http://download.ceph.com/tarballs/ceph-${version}.tar.gz"; - sha256 = "0qiqhm6hvz299q54k3i4crnb5dhpq6xnn2yqih9pxn9van0dq1ln"; + sha256 = "0p7pjycqhxqg1mmix8ykx3xqq01d560p54iiidxps0rcvwfkyyki"; }; patches = [ ./0000-fix-SPDK-build-env.patch - ./0000-dont-check-cherrypy-version.patch ]; nativeBuildInputs = [ diff --git a/pkgs/tools/misc/alarm-clock-applet/default.nix b/pkgs/tools/misc/alarm-clock-applet/default.nix index 7b869d66d1c3..c92c0821092c 100644 --- a/pkgs/tools/misc/alarm-clock-applet/default.nix +++ b/pkgs/tools/misc/alarm-clock-applet/default.nix @@ -8,6 +8,7 @@ , gtk2 , gst_all_1 , gnome2 +, gnome-icon-theme , libnotify , libxml2 , libunique @@ -46,7 +47,7 @@ stdenv.mkDerivation rec { gtk2 gst_all_1.gstreamer gnome2.GConf - gnome2.gnome_icon_theme + gnome-icon-theme libnotify libxml2 libunique diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix index d6b1b423ae2f..d00d737c17ce 100644 --- a/pkgs/tools/misc/yad/default.nix +++ b/pkgs/tools/misc/yad/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "yad"; - version = "5.0"; + version = "6.0"; src = fetchFromGitHub { owner = "v1cont"; repo = "yad"; rev = "v${version}"; - sha256 = "07rd61hvilsxxrj7lf8c9k0a8glj07s48m7ya8d45030r90g3lvc"; + sha256 = "07myjv0g0iwgclc6q9wkj25myhlc86ahy2lqma8vgv9i3rgy03p7"; }; configureFlags = [ @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = https://sourceforge.net/projects/yad-dialog/; + homepage = "https://sourceforge.net/projects/yad-dialog/"; description = "GUI dialog tool for shell scripts"; longDescription = '' Yad (yet another dialog) is a GUI dialog tool for shell scripts. It is a diff --git a/pkgs/tools/networking/bandwhich/default.nix b/pkgs/tools/networking/bandwhich/default.nix index 1cee7ecdc218..7522b1629cc4 100644 --- a/pkgs/tools/networking/bandwhich/default.nix +++ b/pkgs/tools/networking/bandwhich/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "bandwhich"; - version = "0.12.0"; + version = "0.13.0"; src = fetchFromGitHub { owner = "imsnif"; repo = pname; rev = version; - sha256 = "0vg2fkjksjysm5ckdlfswg8w7f52wkh417l7k96hghg9ni4yz575"; + sha256 = "0xcn65j2q2pmbvrd5dkjg8anw1r12vizazr1wz4cinhrpsxx8p1p"; }; - cargoSha256 = "1cyra3mqxpi3m1gqrc5dmjykpsw6swq695dsqirhgb6qxcclxw7p"; + cargoSha256 = "16nkmmkla3dlz40qhy04sknm3p2f5qik0ijczcw5ibg5w1jsydfr"; buildInputs = stdenv.lib.optional stdenv.isDarwin Security; diff --git a/pkgs/tools/networking/boringtun/default.nix b/pkgs/tools/networking/boringtun/default.nix index 59654501a396..244d63543668 100644 --- a/pkgs/tools/networking/boringtun/default.nix +++ b/pkgs/tools/networking/boringtun/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "boringtun"; - version = "0.2.0"; + version = "0.3.0"; src = fetchFromGitHub { owner = "cloudflare"; repo = pname; rev = "v${version}"; - sha256 = "1mijy51hd8c4as9g4ivpfxismc9m5m3nhibfvclh3wrlcmp1ha9c"; + sha256 = "0b57c7z87xwrirmq9aa9jswqyj5bavkifmq7a9hgfphcmwcskmdb"; }; - cargoSha256 = "1kbbkbrfjff4yicwanydmcjr2av6s6wrsgafpvbh255vvkd7mr6x"; + cargoSha256 = "0bms93xg75b23ls2hb8dv26y4al4nr67pqcm57rp9d4rbsfafg8c"; buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security; diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix index 9c7adfce21da..c5aeaaa7bb43 100644 --- a/pkgs/tools/networking/haproxy/default.nix +++ b/pkgs/tools/networking/haproxy/default.nix @@ -11,11 +11,11 @@ assert usePcre -> pcre != null; stdenv.mkDerivation rec { pname = "haproxy"; - version = "2.1.3"; + version = "2.1.4"; src = fetchurl { url = "https://www.haproxy.org/download/${stdenv.lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz"; - sha256 = "0n8bw3d6gikr8c56ycrvksp1sl0b4yfzp19867cxkl3l0daqwrxv"; + sha256 = "1kcizs5r538chhpwqykdngxyqfi98i03akfjnii721npjvv0y0si"; }; buildInputs = [ openssl zlib ] diff --git a/pkgs/tools/security/hcxtools/default.nix b/pkgs/tools/security/hcxtools/default.nix index 8e70e0def41c..84517ce2bd8b 100644 --- a/pkgs/tools/security/hcxtools/default.nix +++ b/pkgs/tools/security/hcxtools/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "hcxtools"; - version = "5.3.0"; + version = "6.0.1"; src = fetchFromGitHub { owner = "ZerBea"; repo = pname; rev = version; - sha256 = "1pqvxncpcnwxs89imma01ry30bz7cjifm8wz1s80yclkxxf80php"; + sha256 = "0r7pjz89chgb7zl2pqgw3zb1z8cgwp0nxmqvmkv0jn1m9dw3f44f"; }; buildInputs = [ curl openssl zlib ]; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Tools for capturing wlan traffic and conversion to hashcat and John the Ripper formats"; - homepage = https://github.com/ZerBea/hcxtools; + homepage = "https://github.com/ZerBea/hcxtools"; license = licenses.mit; platforms = platforms.linux; maintainers = with maintainers; [ dywedir ]; diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix index 89c79be2ce3c..d6f7a782824d 100644 --- a/pkgs/tools/system/facter/default.nix +++ b/pkgs/tools/system/facter/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "facter"; - version = "3.14.8"; + version = "3.14.9"; src = fetchFromGitHub { - sha256 = "1rq28sg1yqyx2xpbhb8hj18ar5pva2rwz7v3ylg8kq112cnlngyh"; + sha256 = "1c8g4fg8c9x816xx3m33njfn9h6ksl8g4rmc20y39v1y9jn72vxk"; rev = version; repo = pname; owner = "puppetlabs"; diff --git a/pkgs/tools/system/kmon/default.nix b/pkgs/tools/system/kmon/default.nix new file mode 100644 index 000000000000..1ac64d571926 --- /dev/null +++ b/pkgs/tools/system/kmon/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, rustPlatform, python3, libxcb }: + +rustPlatform.buildRustPackage rec { + pname = "kmon"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "orhun"; + repo = pname; + rev = "v${version}"; + sha256 = "1zsgyigr6k0zqhhv0icpvvfij7r7fj0l2f77i5zh1vyb89pni50h"; + }; + + cargoSha256 = "15lj6ryll24xdmv8gil04prhcri2d3b1rxqjrwx70blfrlvvhxa8"; + + nativeBuildInputs = [ python3 ]; + + buildInputs = [ libxcb ]; + + meta = with stdenv.lib; { + description = "Linux Kernel Manager and Activity Monitor"; + homepage = "https://github.com/orhun/kmon"; + license = with licenses; [ gpl3 ]; + platforms = platforms.linux; + maintainers = with maintainers; [ misuzu ]; + }; +} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 2aaefa78ccdc..b56f921d0c2a 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -322,6 +322,55 @@ mapAliases ({ perlArchiveCpio = perlPackages.ArchiveCpio; # added 2018-10-12 pgp-tools = signing-party; # added 2017-03-26 pg_tmp = ephemeralpg; # added 2018-01-16 + + php-embed = throw '' + php*-embed has been dropped, you can build the same package by using + something similar with this following snippet: + (php74.override { config.php.embed = true; config.php.apxs2 = false; }) + ''; # added 2020-04-01 + php72-embed = php-embed; # added 2020-04-01 + php73-embed = php-embed; # added 2020-04-01 + php74-embed = php-embed; # added 2020-04-01 + + phpPackages-embed = throw '' + php*Packages-embed has been dropped, you can build the same package by using + something similar with this following snippet: + (php74.override { config.php.embed = true; config.php.apxs2 = false; }).packages + ''; # added 2020-04-01 + php74Packages-embed = phpPackages-embed; + php73Packages-embed = phpPackages-embed; + php72Packages-embed = phpPackages-embed; + + php-unit = throw '' + php*-unit has been dropped, you can build the same package by using + something similar with this following snippet: + (php74.override { + config.php.embed = true; + config.php.apxs2 = false; + config.php.systemd = false; + config.php.phpdbg = false; + config.php.cgi = false; + config.php.fpm = false; }) + ''; # added 2020-04-01 + php72-unit = php-unit; # added 2020-04-01 + php73-unit = php-unit; # added 2020-04-01 + php74-unit = php-unit; # added 2020-04-01 + + phpPackages-unit = throw '' + php*Packages-unit has been dropped, you can build the same package by using + something similar with this following snippet: + (php74.override { + config.php.embed = true; + config.php.apxs2 = false; + config.php.systemd = false; + config.php.phpdbg = false; + config.php.cgi = false; + config.php.fpm = false; }).packages + ''; # added 2020-04-01 + php74Packages-unit = phpPackages-unit; + php73Packages-unit = phpPackages-unit; + php72Packages-unit = phpPackages-unit; + pidgin-with-plugins = pidgin; # added 2016-06 pidginlatex = pidgin-latex; # added 2018-01-08 pidginlatexSF = pidgin-latex; # added 2014-11-02 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 064ff0724d03..6f4df97b0ae8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9391,86 +9391,20 @@ in pachyderm = callPackage ../applications/networking/cluster/pachyderm { }; php = php74; + phpPackages = php74Packages; + php72Packages = recurseIntoAttrs php72.packages; + php73Packages = recurseIntoAttrs php73.packages; + php74Packages = recurseIntoAttrs php74.packages; - php72Packages = recurseIntoAttrs (callPackage ./php-packages.nix { - php = php72; - }); - - php73Packages = recurseIntoAttrs (callPackage ./php-packages.nix { - php = php73; - }); - - php74Packages = recurseIntoAttrs (callPackage ./php-packages.nix { - php = php74; - }); - - phpPackages-unit = php74Packages-unit; - - php72Packages-unit = recurseIntoAttrs (callPackage ./php-packages.nix { - php = php72-unit; - }); - - php73Packages-unit = recurseIntoAttrs (callPackage ./php-packages.nix { - php = php73-unit; - }); - - php74Packages-unit = recurseIntoAttrs (callPackage ./php-packages.nix { - php = php74-unit; - }); + phpExtensions = php74Extensions; + php72Extensions = recurseIntoAttrs php72.extensions; + php73Extensions = recurseIntoAttrs php73.extensions; + php74Extensions = recurseIntoAttrs php74.extensions; inherit (callPackages ../development/interpreters/php { stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv; - }) - php74 - php73 - php72; - - php-embed = php74-embed; - - php72-embed = php72.override { - config.php.embed = true; - config.php.apxs2 = false; - }; - - php73-embed = php73.override { - config.php.embed = true; - config.php.apxs2 = false; - }; - - php74-embed = php74.override { - config.php.embed = true; - config.php.apxs2 = false; - }; - - php-unit = php74-unit; - - php72-unit = php72.override { - config.php.embed = true; - config.php.apxs2 = false; - config.php.systemd = false; - config.php.phpdbg = false; - config.php.cgi = false; - config.php.fpm = false; - }; - - php73-unit = php73.override { - config.php.embed = true; - config.php.apxs2 = false; - config.php.systemd = false; - config.php.phpdbg = false; - config.php.cgi = false; - config.php.fpm = false; - }; - - php74-unit = php74.override { - config.php.embed = true; - config.php.apxs2 = false; - config.php.systemd = false; - config.php.phpdbg = false; - config.php.cgi = false; - config.php.fpm = false; - }; + }) php74 php73 php72 php74base php73base php72base; picoc = callPackage ../development/interpreters/picoc {}; @@ -15641,10 +15575,7 @@ in neard = callPackage ../servers/neard { }; - unit = callPackage ../servers/http/unit { - php72 = php72-unit; - php73 = php73-unit; - }; + unit = callPackage ../servers/http/unit { }; nginx = nginxStable; @@ -17822,6 +17753,8 @@ in gnome-breeze = callPackage ../data/themes/gnome-breeze { }; + gnome-icon-theme = callPackage ../data/icons/gnome-icon-theme { }; + go-font = callPackage ../data/fonts/go-font { }; greybird = callPackage ../data/themes/greybird { }; @@ -20159,6 +20092,8 @@ in boost = boost155.override { enablePython = true; }; }; + k3s = callPackage ../applications/networking/cluster/k3s {}; + k9copy = libsForQt5.callPackage ../applications/video/k9copy {}; kail = callPackage ../tools/networking/kail { }; @@ -25386,6 +25321,8 @@ in keynav = callPackage ../tools/X11/keynav { }; + kmon = callPackage ../tools/system/kmon { }; + kompose = callPackage ../applications/networking/cluster/kompose { }; kontemplate = callPackage ../applications/networking/cluster/kontemplate { }; diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix index bc39a477a7a9..7d1bcc5bd99c 100644 --- a/pkgs/top-level/coq-packages.nix +++ b/pkgs/top-level/coq-packages.nix @@ -137,7 +137,7 @@ in rec { version = "8.10.2"; }; coq_8_11 = callPackage ../applications/science/logic/coq { - version = "8.11.0"; + version = "8.11.1"; }; coqPackages_8_5 = mkCoqPackages coq_8_5; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index cc830fa34986..6bae48b54c38 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -1,704 +1,731 @@ -{ stdenv, lib, pkgs, fetchgit, php, autoconf, pkgconfig, re2c -, bzip2, curl, libxml2, openssl, gmp5, icu, oniguruma, libsodium, html-tidy -, libzip, zlib, pcre, pcre2, libxslt, aspell, openldap, cyrus_sasl, uwimap -, pam, libiconv, enchant1, libXpm, gd, libwebp, libjpeg, libpng, freetype -, libffi, freetds, postgresql, sqlite, recode, net-snmp, unixODBC }: +{ stdenv, lib, pkgs, fetchgit, php, phpWithExtensions, autoconf, pkgconfig, re2c +, gettext, bzip2, curl, libxml2, openssl, gmp, icu, oniguruma, libsodium +, html-tidy, libzip, zlib, pcre, pcre2, libxslt, aspell, openldap, cyrus_sasl +, uwimap, pam, libiconv, enchant1, libXpm, gd, libwebp, libjpeg, libpng +, freetype, libffi, freetds, postgresql, sqlite, net-snmp, unixODBC, libedit +, readline, rsync +}: let - self = with self; { - buildPecl = import ../build-support/build-pecl.nix { - inherit php; - inherit (pkgs) stdenv autoreconfHook fetchurl re2c; - }; + buildPecl = import ../build-support/build-pecl.nix { + inherit php lib; + inherit (pkgs) stdenv autoreconfHook fetchurl re2c; + }; - # Wrap mkDerivation to prepend pname with "php-" to make names consistent - # with how buildPecl does it and make the file easier to overview. - mkDerivation = { pname, ... }@args: pkgs.stdenv.mkDerivation (args // { - pname = "php-${pname}"; - }); + # Wrap mkDerivation to prepend pname with "php-" to make names consistent + # with how buildPecl does it and make the file easier to overview. + mkDerivation = { pname, ... }@args: pkgs.stdenv.mkDerivation (args // { + pname = "php-${pname}"; + }); isPhp73 = pkgs.lib.versionAtLeast php.version "7.3"; isPhp74 = pkgs.lib.versionAtLeast php.version "7.4"; - apcu = buildPecl { - version = "5.1.18"; - pname = "apcu"; + pcre' = if (lib.versionAtLeast php.version "7.3") then pcre2 else pcre; +in +{ + inherit buildPecl; - sha256 = "0ayykd4hfvdzk7qnr5k6yq5scwf6rb2i05xscfv76q5dmkkynvfl"; + # This is a set of interactive tools based on PHP. + packages = { + box = mkDerivation rec { + version = "2.7.5"; + pname = "box"; - buildInputs = [ (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ]; - doCheck = true; - checkTarget = "test"; - checkFlagsArray = ["REPORT_EXIT_STATUS=1" "NO_INTERACTION=1"]; - makeFlags = [ "phpincludedir=$(dev)/include" ]; - outputs = [ "out" "dev" ]; - }; + src = pkgs.fetchurl { + url = "https://github.com/box-project/box2/releases/download/${version}/box-${version}.phar"; + sha256 = "1zmxdadrv0i2l8cz7xb38gnfmfyljpsaz2nnkjzqzksdmncbgd18"; + }; - apcu_bc = buildPecl { - version = "1.0.5"; - pname = "apcu_bc"; + phases = [ "installPhase" ]; + buildInputs = [ pkgs.makeWrapper ]; - sha256 = "0ma00syhk2ps9k9p02jz7rii6x3i2p986il23703zz5npd6y9n20"; - - buildInputs = [ apcu (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ]; - }; - - ast = buildPecl { - version = "1.0.5"; - pname = "ast"; - - sha256 = "16c5isldm4csjbcvz1qk2mmrhgvh24sxsp6w6f5a37xpa3vciawp"; - }; - - box = mkDerivation rec { - version = "2.7.5"; - pname = "box"; - - src = pkgs.fetchurl { - url = "https://github.com/box-project/box2/releases/download/${version}/box-${version}.phar"; - sha256 = "1zmxdadrv0i2l8cz7xb38gnfmfyljpsaz2nnkjzqzksdmncbgd18"; - }; - - phases = [ "installPhase" ]; - buildInputs = [ pkgs.makeWrapper ]; - - installPhase = '' - mkdir -p $out/bin - install -D $src $out/libexec/box/box.phar - makeWrapper ${php}/bin/php $out/bin/box \ - --add-flags "-d phar.readonly=0 $out/libexec/box/box.phar" - ''; - - meta = with pkgs.lib; { - description = "An application for building and managing Phars"; - license = licenses.mit; - homepage = https://box-project.github.io/box2/; - maintainers = with maintainers; [ jtojnar ]; - }; - }; - - composer = mkDerivation rec { - version = "1.9.3"; - pname = "composer"; - - src = pkgs.fetchurl { - url = "https://getcomposer.org/download/${version}/composer.phar"; - sha256 = "VRZVwvyB9BBlCPQrvEsk6r00sCKxO8Hn2WQr9IPQp9Q="; - }; - - dontUnpack = true; - - nativeBuildInputs = [ pkgs.makeWrapper ]; - - installPhase = '' - mkdir -p $out/bin - install -D $src $out/libexec/composer/composer.phar - makeWrapper ${php}/bin/php $out/bin/composer \ - --add-flags "$out/libexec/composer/composer.phar" \ - --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.unzip ]} - ''; - - meta = with pkgs.lib; { - description = "Dependency Manager for PHP"; - license = licenses.mit; - homepage = https://getcomposer.org/; - maintainers = with maintainers; [ globin offline ]; - }; - }; - - couchbase = buildPecl rec { - version = "2.6.1"; - pname = "couchbase"; - - buildInputs = [ pkgs.libcouchbase pkgs.zlib igbinary pcs ]; - - src = pkgs.fetchFromGitHub { - owner = "couchbase"; - repo = "php-couchbase"; - rev = "v${version}"; - sha256 = "0jdzgcvab1vpxai23brmmvizjjq2d2dik9aklz6bzspfb512qjd6"; - }; - - configureFlags = [ "--with-couchbase" ]; - - patches = [ - (pkgs.writeText "php-couchbase.patch" '' - --- a/config.m4 - +++ b/config.m4 - @@ -9,7 +9,7 @@ if test "$PHP_COUCHBASE" != "no"; then - LIBCOUCHBASE_DIR=$PHP_COUCHBASE - else - AC_MSG_CHECKING(for libcouchbase in default path) - - for i in /usr/local /usr; do - + for i in ${pkgs.libcouchbase}; do - if test -r $i/include/libcouchbase/couchbase.h; then - LIBCOUCHBASE_DIR=$i - AC_MSG_RESULT(found in $i) - @@ -154,6 +154,8 @@ COUCHBASE_FILES=" \ - igbinary_inc_path="$phpincludedir" - elif test -f "$phpincludedir/ext/igbinary/igbinary.h"; then - igbinary_inc_path="$phpincludedir" - + elif test -f "${igbinary.dev}/include/ext/igbinary/igbinary.h"; then - + igbinary_inc_path="${igbinary.dev}/include" - fi - if test "$igbinary_inc_path" = ""; then - AC_MSG_WARN([Cannot find igbinary.h]) - '') - ]; - - meta.broken = isPhp74; # Build error - }; - - event = buildPecl { - version = "2.5.3"; - pname = "event"; - - sha256 = "12liry5ldvgwp1v1a6zgfq8w6iyyxmsdj4c71bp157nnf58cb8hb"; - - configureFlags = [ - "--with-event-libevent-dir=${pkgs.libevent.dev}" - "--with-event-core" - "--with-event-extra" - "--with-event-pthreads" - ]; - nativeBuildInputs = [ pkgs.pkgconfig ]; - buildInputs = with pkgs; [ openssl libevent ]; - - meta = with pkgs.lib; { - description = '' - This is an extension to efficiently schedule I/O, time and signal based - events using the best I/O notification mechanism available for specific platform. + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/box/box.phar + makeWrapper ${phpWithExtensions}/bin/php $out/bin/box \ + --add-flags "-d phar.readonly=0 $out/libexec/box/box.phar" ''; - license = licenses.php301; - homepage = "https://bitbucket.org/osmanov/pecl-event/"; - }; - }; - igbinary = buildPecl { - version = "3.0.1"; - pname = "igbinary"; - - sha256 = "1w8jmf1qpggdvq0ndfi86n7i7cqgh1s8q6hys2lijvi37rzn0nar"; - - configureFlags = [ "--enable-igbinary" ]; - makeFlags = [ "phpincludedir=$(dev)/include" ]; - outputs = [ "out" "dev" ]; - }; - - imagick = buildPecl { - version = "3.4.4"; - pname = "imagick"; - - sha256 = "0xvhaqny1v796ywx83w7jyjyd0nrxkxf34w9zi8qc8aw8qbammcd"; - - configureFlags = [ "--with-imagick=${pkgs.imagemagick.dev}" ]; - nativeBuildInputs = [ pkgs.pkgconfig ]; - buildInputs = [ (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ]; - }; - - mailparse = buildPecl { - version = "3.0.3"; - pname = "mailparse"; - - sha256 = "00nk14jbdbln93mx3ag691avc11ff94hkadrcv5pn51c6ihsxbmz"; - }; - - maxminddb = buildPecl rec { - pname = "maxminddb"; - version = "1.6.0"; - - src = pkgs.fetchFromGitHub { - owner = "maxmind"; - repo = "MaxMind-DB-Reader-php"; - rev = "v${version}"; - sha256 = "0sa943ij9pgz55aik93lllb8lh063bvr66ibn77p3y3p41vdiabz"; + meta = with pkgs.lib; { + description = "An application for building and managing Phars"; + license = licenses.mit; + homepage = https://box-project.github.io/box2/; + maintainers = with maintainers; [ jtojnar ]; + }; }; - buildInputs = [ pkgs.libmaxminddb ]; - sourceRoot = "source/ext"; + composer = mkDerivation rec { + version = "1.9.3"; + pname = "composer"; - meta = with pkgs.lib; { - description = "C extension that is a drop-in replacement for MaxMind\\Db\\Reader"; - license = with licenses; [ asl20 ]; - maintainers = with maintainers; [ ajs124 das_j ]; - }; - }; + src = pkgs.fetchurl { + url = "https://getcomposer.org/download/${version}/composer.phar"; + sha256 = "VRZVwvyB9BBlCPQrvEsk6r00sCKxO8Hn2WQr9IPQp9Q="; + }; - memcached = buildPecl rec { - version = "3.1.5"; - pname = "memcached"; + dontUnpack = true; - src = fetchgit { - url = "https://github.com/php-memcached-dev/php-memcached"; - rev = "v${version}"; - sha256 = "01mbh2m3kfbdvih3c8g3g9h4vdd80r0i9g2z8b3lx3mi8mmcj380"; + nativeBuildInputs = [ pkgs.makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/composer/composer.phar + makeWrapper ${phpWithExtensions}/bin/php $out/bin/composer \ + --add-flags "$out/libexec/composer/composer.phar" \ + --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.unzip ]} + ''; + + meta = with pkgs.lib; { + description = "Dependency Manager for PHP"; + license = licenses.mit; + homepage = https://getcomposer.org/; + maintainers = with maintainers; [ globin offline ]; + }; }; - configureFlags = [ - "--with-zlib-dir=${pkgs.zlib.dev}" - "--with-libmemcached-dir=${pkgs.libmemcached}" - ]; + php-cs-fixer = mkDerivation rec { + version = "2.16.1"; + pname = "php-cs-fixer"; - nativeBuildInputs = [ pkgs.pkgconfig ]; - buildInputs = with pkgs; [ cyrus_sasl zlib ]; - }; + src = pkgs.fetchurl { + url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar"; + sha256 = "1dq1nhy666zg6d4fkfsjwhj1vwh1ncap2c9ljplxv98a9mm6fk68"; + }; - mongodb = buildPecl { - pname = "mongodb"; - version = "1.6.1"; + phases = [ "installPhase" ]; + buildInputs = [ pkgs.makeWrapper ]; - sha256 = "1j1w4n33347j9kwvxwsrix3gvjbiqcn1s5v59pp64s536cci8q0m"; + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/php-cs-fixer/php-cs-fixer.phar + makeWrapper ${php}/bin/php $out/bin/php-cs-fixer \ + --add-flags "$out/libexec/php-cs-fixer/php-cs-fixer.phar" + ''; - nativeBuildInputs = [ pkgs.pkgconfig ]; - buildInputs = with pkgs; [ - cyrus_sasl - icu - openssl - snappy - zlib - (if isPhp73 then pcre2 else pcre) - ] ++ lib.optional (pkgs.stdenv.isDarwin) pkgs.darwin.apple_sdk.frameworks.Security; - }; - - oci8 = buildPecl { - version = "2.2.0"; - pname = "oci8"; - - sha256 = "0jhivxj1nkkza4h23z33y7xhffii60d7dr51h1czjk10qywl7pyd"; - buildInputs = [ pkgs.oracle-instantclient ]; - configureFlags = [ "--with-oci8=shared,instantclient,${pkgs.oracle-instantclient.lib}/lib" ]; - - postPatch = '' - sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4 - ''; - }; - - pcov = buildPecl { - version = "1.0.6"; - pname = "pcov"; - - sha256 = "1psfwscrc025z8mziq69pcx60k4fbkqa5g2ia8lplb94mmarj0v1"; - - buildInputs = [ (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ]; - }; - - pcs = buildPecl { - version = "1.3.3"; - pname = "pcs"; - - sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p"; - - meta.broken = isPhp74; # Build error - }; - - pdo_oci = buildPecl rec { - inherit (php) src version; - - pname = "pdo_oci"; - sourceRoot = "php-${version}/ext/pdo_oci"; - - buildInputs = [ pkgs.oracle-instantclient ]; - configureFlags = [ "--with-pdo-oci=instantclient,${pkgs.oracle-instantclient.lib}/lib" ]; - - postPatch = '' - sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4 - ''; - }; - - pdo_sqlsrv = buildPecl { - version = "5.8.0"; - pname = "pdo_sqlsrv"; - - sha256 = "0z4vbyd851b4jr6p69l2ylk91iihndsm2qjb429pxcv8g6dqzqll"; - - buildInputs = [ pkgs.unixODBC ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ]; - }; - - php-cs-fixer = mkDerivation rec { - version = "2.16.1"; - pname = "php-cs-fixer"; - - src = pkgs.fetchurl { - url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar"; - sha256 = "1dq1nhy666zg6d4fkfsjwhj1vwh1ncap2c9ljplxv98a9mm6fk68"; + meta = with pkgs.lib; { + description = "A tool to automatically fix PHP coding standards issues"; + license = licenses.mit; + homepage = http://cs.sensiolabs.org/; + maintainers = with maintainers; [ jtojnar ]; + }; }; - phases = [ "installPhase" ]; - buildInputs = [ pkgs.makeWrapper ]; + php-parallel-lint = mkDerivation rec { + version = "1.0.0"; + pname = "php-parallel-lint"; - installPhase = '' - mkdir -p $out/bin - install -D $src $out/libexec/php-cs-fixer/php-cs-fixer.phar - makeWrapper ${php}/bin/php $out/bin/php-cs-fixer \ - --add-flags "$out/libexec/php-cs-fixer/php-cs-fixer.phar" - ''; + src = pkgs.fetchFromGitHub { + owner = "JakubOnderka"; + repo = "PHP-Parallel-Lint"; + rev = "v${version}"; + sha256 = "16nv8yyk2z3l213dg067l6di4pigg5rd8yswr5xgd18jwbys2vnw"; + }; - meta = with pkgs.lib; { - description = "A tool to automatically fix PHP coding standards issues"; - license = licenses.mit; - homepage = http://cs.sensiolabs.org/; - maintainers = with maintainers; [ jtojnar ]; - }; - }; + buildInputs = [ + pkgs.makeWrapper + php.packages.composer + php.packages.box + ]; - php-parallel-lint = mkDerivation rec { - version = "1.0.0"; - pname = "php-parallel-lint"; + buildPhase = '' + composer dump-autoload + box build + ''; - src = pkgs.fetchFromGitHub { - owner = "JakubOnderka"; - repo = "PHP-Parallel-Lint"; - rev = "v${version}"; - sha256 = "16nv8yyk2z3l213dg067l6di4pigg5rd8yswr5xgd18jwbys2vnw"; + installPhase = '' + mkdir -p $out/bin + install -D parallel-lint.phar $out/libexec/php-parallel-lint/php-parallel-lint.phar + makeWrapper ${php}/bin/php $out/bin/php-parallel-lint \ + --add-flags "$out/libexec/php-parallel-lint/php-parallel-lint.phar" + ''; + + meta = with pkgs.lib; { + description = "This tool check syntax of PHP files faster than serial check with fancier output"; + license = licenses.bsd2; + homepage = https://github.com/JakubOnderka/PHP-Parallel-Lint; + maintainers = with maintainers; [ jtojnar ]; + }; }; - buildInputs = [ pkgs.makeWrapper composer box ]; + phpcbf = mkDerivation rec { + version = "3.5.3"; + pname = "phpcbf"; - buildPhase = '' - composer dump-autoload - box build - ''; + src = pkgs.fetchurl { + url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcbf.phar"; + sha256 = "1mrsf9p6p64pyqyylnlxb2b7cirdfccch83g7yhfnka3znffq86v"; + }; - installPhase = '' - mkdir -p $out/bin - install -D parallel-lint.phar $out/libexec/php-parallel-lint/php-parallel-lint.phar - makeWrapper ${php}/bin/php $out/bin/php-parallel-lint \ - --add-flags "$out/libexec/php-parallel-lint/php-parallel-lint.phar" - ''; + phases = [ "installPhase" ]; + nativeBuildInputs = [ pkgs.makeWrapper ]; - meta = with pkgs.lib; { - description = "This tool check syntax of PHP files faster than serial check with fancier output"; - license = licenses.bsd2; - homepage = https://github.com/JakubOnderka/PHP-Parallel-Lint; - maintainers = with maintainers; [ jtojnar ]; - }; - }; + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/phpcbf/phpcbf.phar + makeWrapper ${php}/bin/php $out/bin/phpcbf \ + --add-flags "$out/libexec/phpcbf/phpcbf.phar" + ''; - php_excel = buildPecl rec { - version = "1.0.2"; - pname = "php_excel"; - phpVersion = "php7"; - - buildInputs = [ pkgs.libxl ]; - - src = pkgs.fetchurl { - url = "https://github.com/iliaal/php_excel/releases/download/Excel-1.0.2-PHP7/excel-${version}-${phpVersion}.tgz"; - sha256 = "0dpvih9gpiyh1ml22zi7hi6kslkilzby00z1p8x248idylldzs2n"; + meta = with pkgs.lib; { + description = "PHP coding standard beautifier and fixer"; + license = licenses.bsd3; + homepage = https://squizlabs.github.io/PHP_CodeSniffer/; + maintainers = with maintainers; [ cmcdragonkai etu ]; + }; }; - configureFlags = [ "--with-excel" "--with-libxl-incdir=${pkgs.libxl}/include_c" "--with-libxl-libdir=${pkgs.libxl}/lib" ]; - meta.broken = true; - }; + phpcs = mkDerivation rec { + version = "3.5.3"; + pname = "phpcs"; - phpcbf = mkDerivation rec { - version = "3.5.3"; - pname = "phpcbf"; + src = pkgs.fetchurl { + url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcs.phar"; + sha256 = "0y4nhsifj4pdmf5g1nnm4951yjgiqswyz7wmjxx6kqiqc7chlkml"; + }; - src = pkgs.fetchurl { - url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcbf.phar"; - sha256 = "1mrsf9p6p64pyqyylnlxb2b7cirdfccch83g7yhfnka3znffq86v"; + phases = [ "installPhase" ]; + buildInputs = [ pkgs.makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/phpcs/phpcs.phar + makeWrapper ${php}/bin/php $out/bin/phpcs \ + --add-flags "$out/libexec/phpcs/phpcs.phar" + ''; + + meta = with pkgs.lib; { + description = "PHP coding standard tool"; + license = licenses.bsd3; + homepage = https://squizlabs.github.io/PHP_CodeSniffer/; + maintainers = with maintainers; [ javaguirre etu ]; + }; }; - phases = [ "installPhase" ]; - nativeBuildInputs = [ pkgs.makeWrapper ]; + phpstan = mkDerivation rec { + version = "0.12.14"; + pname = "phpstan"; - installPhase = '' - mkdir -p $out/bin - install -D $src $out/libexec/phpcbf/phpcbf.phar - makeWrapper ${php}/bin/php $out/bin/phpcbf \ - --add-flags "$out/libexec/phpcbf/phpcbf.phar" - ''; + src = pkgs.fetchurl { + url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar"; + sha256 = "JAq1/+bVhTgKRR7oFusqZ/yBOYewaOM38ZoiCjirsTg="; + }; - meta = with pkgs.lib; { - description = "PHP coding standard beautifier and fixer"; - license = licenses.bsd3; - homepage = https://squizlabs.github.io/PHP_CodeSniffer/; - maintainers = with maintainers; [ cmcdragonkai etu ]; - }; - }; + phases = [ "installPhase" ]; + nativeBuildInputs = [ pkgs.makeWrapper ]; - phpcs = mkDerivation rec { - version = "3.5.3"; - pname = "phpcs"; + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/phpstan/phpstan.phar + makeWrapper ${php}/bin/php $out/bin/phpstan \ + --add-flags "$out/libexec/phpstan/phpstan.phar" + ''; - src = pkgs.fetchurl { - url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcs.phar"; - sha256 = "0y4nhsifj4pdmf5g1nnm4951yjgiqswyz7wmjxx6kqiqc7chlkml"; - }; - - phases = [ "installPhase" ]; - buildInputs = [ pkgs.makeWrapper ]; - - installPhase = '' - mkdir -p $out/bin - install -D $src $out/libexec/phpcs/phpcs.phar - makeWrapper ${php}/bin/php $out/bin/phpcs \ - --add-flags "$out/libexec/phpcs/phpcs.phar" - ''; - - meta = with pkgs.lib; { - description = "PHP coding standard tool"; - license = licenses.bsd3; - homepage = https://squizlabs.github.io/PHP_CodeSniffer/; - maintainers = with maintainers; [ javaguirre etu ]; - }; - }; - - phpstan = mkDerivation rec { - version = "0.12.14"; - pname = "phpstan"; - - src = pkgs.fetchurl { - url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar"; - sha256 = "JAq1/+bVhTgKRR7oFusqZ/yBOYewaOM38ZoiCjirsTg="; - }; - - phases = [ "installPhase" ]; - nativeBuildInputs = [ pkgs.makeWrapper ]; - - installPhase = '' - mkdir -p $out/bin - install -D $src $out/libexec/phpstan/phpstan.phar - makeWrapper ${php}/bin/php $out/bin/phpstan \ - --add-flags "$out/libexec/phpstan/phpstan.phar" - ''; - - meta = with pkgs.lib; { - description = "PHP Static Analysis Tool"; - longDescription = '' + meta = with pkgs.lib; { + description = "PHP Static Analysis Tool"; + longDescription = '' PHPStan focuses on finding errors in your code without actually running it. It catches whole classes of bugs even before you write tests for the code. It moves PHP closer to compiled languages in the sense that the correctness of each line of the code can be checked before you run the actual line. ''; - license = licenses.mit; - homepage = "https://github.com/phpstan/phpstan"; - maintainers = with maintainers; [ etu ]; - }; - }; - - pinba = if isPhp73 then pinba73 else pinba7; - - pinba7 = assert !isPhp73; buildPecl { - version = "1.1.1"; - pname = "pinba"; - - src = pkgs.fetchFromGitHub { - owner = "tony2001"; - repo = "pinba_extension"; - rev = "RELEASE_1_1_1"; - sha256 = "1kdp7vav0y315695vhm3xifgsh6h6y6pny70xw3iai461n58khj5"; + license = licenses.mit; + homepage = "https://github.com/phpstan/phpstan"; + maintainers = with maintainers; [ etu ]; + }; }; - meta = with pkgs.lib; { - description = "PHP extension for Pinba"; - longDescription = '' - Pinba is a MySQL storage engine that acts as a realtime monitoring and - statistics server for PHP using MySQL as a read-only interface. + psalm = mkDerivation rec { + version = "3.9.3"; + pname = "psalm"; + + src = pkgs.fetchurl { + url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar"; + sha256 = "KHm2n06y/yxN5B2rCVxT5ja7HxkyxAMsjZ5HLb3xr4M="; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ pkgs.makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/psalm/psalm.phar + makeWrapper ${php}/bin/php $out/bin/psalm \ + --add-flags "$out/libexec/psalm/psalm.phar" ''; - homepage = "http://pinba.org/"; - }; - }; - pinba73 = assert isPhp73; buildPecl { - version = "1.1.2-dev"; - pname = "pinba"; - - src = pkgs.fetchFromGitHub { - owner = "tony2001"; - repo = "pinba_extension"; - rev = "edbc313f1b4fb8407bf7d5acf63fbb0359c7fb2e"; - sha256 = "02sljqm6griw8ccqavl23f7w1hp2zflcv24lpf00k6pyrn9cwx80"; + meta = with pkgs.lib; { + description = "A static analysis tool for finding errors in PHP applications"; + license = licenses.mit; + homepage = https://github.com/vimeo/psalm; + }; }; - meta = with pkgs.lib; { - description = "PHP extension for Pinba"; - longDescription = '' - Pinba is a MySQL storage engine that acts as a realtime monitoring and - statistics server for PHP using MySQL as a read-only interface. + psysh = mkDerivation rec { + version = "0.9.12"; + pname = "psysh"; + + src = pkgs.fetchurl { + url = "https://github.com/bobthecow/psysh/releases/download/v${version}/psysh-v${version}.tar.gz"; + sha256 = "0bzmc94li481xk81gv460ipq9zl03skbnq8m3rnw34i2c04hxczc"; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ pkgs.makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + tar -xzf $src -C $out/bin + chmod +x $out/bin/psysh + wrapProgram $out/bin/psysh ''; - homepage = "http://pinba.org/"; + + meta = with pkgs.lib; { + description = "PsySH is a runtime developer console, interactive debugger and REPL for PHP."; + license = licenses.mit; + homepage = https://psysh.org/; + maintainers = with maintainers; [ caugner ]; + }; }; }; - protobuf = buildPecl { - version = "3.11.2"; - pname = "protobuf"; - sha256 = "0bhdykdyk58ywqj940zb7jyvrlgdr6hdb4s8kn79fz3p0i79l9hz"; - buildInputs = with pkgs; [ (if isPhp73 then pcre2 else pcre) ]; + # This is a set of PHP extensions meant to be used in php.buildEnv + # or php.withExtensions to extend the functionality of the PHP + # interpreter. + extensions = { + apcu = buildPecl { + version = "5.1.18"; + pname = "apcu"; - meta = with pkgs.lib; { - description = '' - Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. + sha256 = "0ayykd4hfvdzk7qnr5k6yq5scwf6rb2i05xscfv76q5dmkkynvfl"; + + buildInputs = [ pcre' ]; + doCheck = true; + checkTarget = "test"; + checkFlagsArray = ["REPORT_EXIT_STATUS=1" "NO_INTERACTION=1"]; + makeFlags = [ "phpincludedir=$(dev)/include" ]; + outputs = [ "out" "dev" ]; + }; + + apcu_bc = buildPecl { + version = "1.0.5"; + pname = "apcu_bc"; + + sha256 = "0ma00syhk2ps9k9p02jz7rii6x3i2p986il23703zz5npd6y9n20"; + + buildInputs = [ + php.extensions.apcu + pcre' + ]; + }; + + ast = buildPecl { + version = "1.0.5"; + pname = "ast"; + + sha256 = "16c5isldm4csjbcvz1qk2mmrhgvh24sxsp6w6f5a37xpa3vciawp"; + }; + + couchbase = buildPecl rec { + version = "2.6.1"; + pname = "couchbase"; + + buildInputs = [ + pkgs.libcouchbase + pkgs.zlib + php.extensions.igbinary + php.extensions.pcs + ]; + + src = pkgs.fetchFromGitHub { + owner = "couchbase"; + repo = "php-couchbase"; + rev = "v${version}"; + sha256 = "0jdzgcvab1vpxai23brmmvizjjq2d2dik9aklz6bzspfb512qjd6"; + }; + + configureFlags = [ "--with-couchbase" ]; + internalDeps = [ php.extensions.json ]; + patches = [ + (pkgs.writeText "php-couchbase.patch" '' + --- a/config.m4 + +++ b/config.m4 + @@ -9,7 +9,7 @@ if test "$PHP_COUCHBASE" != "no"; then + LIBCOUCHBASE_DIR=$PHP_COUCHBASE + else + AC_MSG_CHECKING(for libcouchbase in default path) + - for i in /usr/local /usr; do + + for i in ${pkgs.libcouchbase}; do + if test -r $i/include/libcouchbase/couchbase.h; then + LIBCOUCHBASE_DIR=$i + AC_MSG_RESULT(found in $i) + @@ -154,6 +154,8 @@ COUCHBASE_FILES=" \ + igbinary_inc_path="$phpincludedir" + elif test -f "$phpincludedir/ext/igbinary/igbinary.h"; then + igbinary_inc_path="$phpincludedir" + + elif test -f "${php.extensions.igbinary.dev}/include/ext/igbinary/igbinary.h"; then + + igbinary_inc_path="${php.extensions.igbinary.dev}/include" + fi + if test "$igbinary_inc_path" = ""; then + AC_MSG_WARN([Cannot find igbinary.h]) + '') + ]; + + meta.broken = isPhp74; # Build error + }; + + event = buildPecl { + version = "2.5.3"; + pname = "event"; + + sha256 = "12liry5ldvgwp1v1a6zgfq8w6iyyxmsdj4c71bp157nnf58cb8hb"; + + configureFlags = [ + "--with-event-libevent-dir=${pkgs.libevent.dev}" + "--with-event-core" + "--with-event-extra" + "--with-event-pthreads" + ]; + + postPhpize = '' + substituteInPlace configure --replace 'as_fn_error $? "Couldn'\'''t find $phpincludedir/sockets/php_sockets.h. Please check if sockets extension installed" "$LINENO" 5' \ + ':' ''; - license = licenses.bsd3; - homepage = "https://developers.google.com/protocol-buffers/"; - }; - }; - psalm = mkDerivation rec { - version = "3.9.3"; - pname = "psalm"; + nativeBuildInputs = [ pkgs.pkgconfig ]; + buildInputs = with pkgs; [ openssl libevent ]; + internalDeps = [ php.extensions.sockets ]; - src = pkgs.fetchurl { - url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar"; - sha256 = "KHm2n06y/yxN5B2rCVxT5ja7HxkyxAMsjZ5HLb3xr4M="; + meta = with pkgs.lib; { + description = '' + This is an extension to efficiently schedule I/O, time and signal based + events using the best I/O notification mechanism available for specific platform. + ''; + license = licenses.php301; + homepage = "https://bitbucket.org/osmanov/pecl-event/"; + }; }; - phases = [ "installPhase" ]; - nativeBuildInputs = [ pkgs.makeWrapper ]; + igbinary = buildPecl { + version = "3.0.1"; + pname = "igbinary"; - installPhase = '' - mkdir -p $out/bin - install -D $src $out/libexec/psalm/psalm.phar - makeWrapper ${php}/bin/php $out/bin/psalm \ - --add-flags "$out/libexec/psalm/psalm.phar" + sha256 = "1w8jmf1qpggdvq0ndfi86n7i7cqgh1s8q6hys2lijvi37rzn0nar"; + + configureFlags = [ "--enable-igbinary" ]; + makeFlags = [ "phpincludedir=$(dev)/include" ]; + outputs = [ "out" "dev" ]; + }; + + imagick = buildPecl { + version = "3.4.4"; + pname = "imagick"; + + sha256 = "0xvhaqny1v796ywx83w7jyjyd0nrxkxf34w9zi8qc8aw8qbammcd"; + + configureFlags = [ "--with-imagick=${pkgs.imagemagick.dev}" ]; + nativeBuildInputs = [ pkgs.pkgconfig ]; + buildInputs = [ pcre' ]; + }; + + mailparse = buildPecl { + version = "3.0.3"; + pname = "mailparse"; + sha256 = "00nk14jbdbln93mx3ag691avc11ff94hkadrcv5pn51c6ihsxbmz"; + + internalDeps = [ php.extensions.mbstring ]; + postConfigure = '' + echo "#define HAVE_MBSTRING 1" >> config.h + ''; + }; + + maxminddb = buildPecl rec { + pname = "maxminddb"; + version = "1.6.0"; + + src = pkgs.fetchFromGitHub { + owner = "maxmind"; + repo = "MaxMind-DB-Reader-php"; + rev = "v${version}"; + sha256 = "0sa943ij9pgz55aik93lllb8lh063bvr66ibn77p3y3p41vdiabz"; + }; + + buildInputs = [ pkgs.libmaxminddb ]; + sourceRoot = "source/ext"; + + meta = with pkgs.lib; { + description = "C extension that is a drop-in replacement for MaxMind\\Db\\Reader"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ ajs124 das_j ]; + }; + }; + + memcached = buildPecl rec { + version = "3.1.5"; + pname = "memcached"; + + src = fetchgit { + url = "https://github.com/php-memcached-dev/php-memcached"; + rev = "v${version}"; + sha256 = "01mbh2m3kfbdvih3c8g3g9h4vdd80r0i9g2z8b3lx3mi8mmcj380"; + }; + + internalDeps = [ + php.extensions.session + ] ++ lib.optionals (lib.versionOlder php.version "7.4") [ + php.extensions.hash + ]; + + configureFlags = [ + "--with-zlib-dir=${pkgs.zlib.dev}" + "--with-libmemcached-dir=${pkgs.libmemcached}" + ]; + + nativeBuildInputs = [ pkgs.pkgconfig ]; + buildInputs = with pkgs; [ cyrus_sasl zlib ]; + }; + + mongodb = buildPecl { + pname = "mongodb"; + version = "1.6.1"; + + sha256 = "1j1w4n33347j9kwvxwsrix3gvjbiqcn1s5v59pp64s536cci8q0m"; + + nativeBuildInputs = [ pkgs.pkgconfig ]; + buildInputs = with pkgs; [ + cyrus_sasl + icu + openssl + snappy + zlib + pcre' + ] ++ lib.optional (pkgs.stdenv.isDarwin) pkgs.darwin.apple_sdk.frameworks.Security; + }; + + oci8 = buildPecl { + version = "2.2.0"; + pname = "oci8"; + + sha256 = "0jhivxj1nkkza4h23z33y7xhffii60d7dr51h1czjk10qywl7pyd"; + buildInputs = [ pkgs.oracle-instantclient ]; + configureFlags = [ "--with-oci8=shared,instantclient,${pkgs.oracle-instantclient.lib}/lib" ]; + + postPatch = '' + sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4 + ''; + }; + + pcov = buildPecl { + version = "1.0.6"; + pname = "pcov"; + + sha256 = "1psfwscrc025z8mziq69pcx60k4fbkqa5g2ia8lplb94mmarj0v1"; + + buildInputs = [ pcre' ]; + }; + + pcs = buildPecl { + version = "1.3.3"; + pname = "pcs"; + + sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p"; + + meta.broken = isPhp74; # Build error + }; + + pdo_oci = buildPecl rec { + inherit (php) src version; + + pname = "pdo_oci"; + sourceRoot = "php-${version}/ext/pdo_oci"; + + buildInputs = [ pkgs.oracle-instantclient ]; + configureFlags = [ "--with-pdo-oci=instantclient,${pkgs.oracle-instantclient.lib}/lib" ]; + + internalDeps = [ php.extensions.pdo ]; + + postPatch = '' + sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4 ''; - - meta = with pkgs.lib; { - description = "A static analysis tool for finding errors in PHP applications"; - license = licenses.mit; - homepage = https://github.com/vimeo/psalm; - }; - }; - - psysh = mkDerivation rec { - version = "0.9.12"; - pname = "psysh"; - - src = pkgs.fetchurl { - url = "https://github.com/bobthecow/psysh/releases/download/v${version}/psysh-v${version}.tar.gz"; - sha256 = "0bzmc94li481xk81gv460ipq9zl03skbnq8m3rnw34i2c04hxczc"; }; - phases = [ "installPhase" ]; - nativeBuildInputs = [ pkgs.makeWrapper ]; + pdo_sqlsrv = buildPecl { + version = "5.8.0"; + pname = "pdo_sqlsrv"; - installPhase = '' - mkdir -p $out/bin - tar -xzf $src -C $out/bin - chmod +x $out/bin/psysh - wrapProgram $out/bin/psysh - ''; + sha256 = "0z4vbyd851b4jr6p69l2ylk91iihndsm2qjb429pxcv8g6dqzqll"; - meta = with pkgs.lib; { - description = "PsySH is a runtime developer console, interactive debugger and REPL for PHP."; - license = licenses.mit; - homepage = https://psysh.org/; - maintainers = with maintainers; [ caugner ]; - }; - }; + internalDeps = [ php.extensions.pdo ]; - pthreads = if isPhp73 then pthreads32-dev else pthreads32; - - pthreads32 = assert (pkgs.config.php.zts or false); assert !isPhp73; buildPecl rec { - version = "3.2.0"; - pname = "pthreads"; - - src = pkgs.fetchFromGitHub { - owner = "krakjoe"; - repo = "pthreads"; - rev = "v${version}"; - sha256 = "17hypm75d4w7lvz96jb7s0s87018yzmmap0l125d5fd7abnhzfvv"; + buildInputs = [ pkgs.unixODBC ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ]; }; - buildInputs = with pkgs; [ pcre.dev ]; - }; + php_excel = buildPecl rec { + version = "1.0.2"; + pname = "php_excel"; + phpVersion = "php7"; - pthreads32-dev = assert (pkgs.config.php.zts or false); assert isPhp73; buildPecl { - version = "3.2.0-dev"; - pname = "pthreads"; + buildInputs = [ pkgs.libxl ]; - src = pkgs.fetchFromGitHub { - owner = "krakjoe"; - repo = "pthreads"; - rev = "4d1c2483ceb459ea4284db4eb06646d5715e7154"; - sha256 = "07kdxypy0bgggrfav2h1ccbv67lllbvpa3s3zsaqci0gq4fyi830"; + src = pkgs.fetchurl { + url = "https://github.com/iliaal/php_excel/releases/download/Excel-1.0.2-PHP7/excel-${version}-${phpVersion}.tgz"; + sha256 = "0dpvih9gpiyh1ml22zi7hi6kslkilzby00z1p8x248idylldzs2n"; + }; + + configureFlags = [ "--with-excel" "--with-libxl-incdir=${pkgs.libxl}/include_c" "--with-libxl-libdir=${pkgs.libxl}/lib" ]; }; - buildInputs = with pkgs; [ pcre2.dev ]; - }; + pinba = let + version = if isPhp73 then "1.1.2-dev" else "1.1.1"; + src = pkgs.fetchFromGitHub ({ + owner = "tony2001"; + repo = "pinba_extension"; + } // (if (isPhp73) then { + rev = "edbc313f1b4fb8407bf7d5acf63fbb0359c7fb2e"; + sha256 = "02sljqm6griw8ccqavl23f7w1hp2zflcv24lpf00k6pyrn9cwx80"; + } else { + rev = "RELEASE_1_1_1"; + sha256 = "1kdp7vav0y315695vhm3xifgsh6h6y6pny70xw3iai461n58khj5"; + })); + in buildPecl { + pname = "pinba"; + inherit version src; - redis = buildPecl { - version = "5.1.1"; - pname = "redis"; + meta = with pkgs.lib; { + description = "PHP extension for Pinba"; + longDescription = '' + Pinba is a MySQL storage engine that acts as a realtime monitoring and + statistics server for PHP using MySQL as a read-only interface. + ''; + homepage = "http://pinba.org/"; + }; + }; - sha256 = "1041zv91fkda73w4c3pj6zdvwjgb3q7mxg6mwnq9gisl80mrs732"; - }; + protobuf = buildPecl { + version = "3.11.2"; + pname = "protobuf"; - sqlsrv = buildPecl { - version = "5.8.0"; - pname = "sqlsrv"; + sha256 = "0bhdykdyk58ywqj940zb7jyvrlgdr6hdb4s8kn79fz3p0i79l9hz"; - sha256 = "1kv4krk1w4hri99b0sdgwgy9c4y0yh217wx2y3irhkfi46kdrjnw"; + buildInputs = with pkgs; [ pcre' ]; - buildInputs = [ pkgs.unixODBC ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ]; - }; + meta = with pkgs.lib; { + description = '' + Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. + ''; + license = licenses.bsd3; + homepage = "https://developers.google.com/protocol-buffers/"; + }; + }; - v8 = buildPecl { - version = "0.2.2"; - pname = "v8"; + pthreads = let + version = "3.2.0"; + src = pkgs.fetchFromGitHub ({ + owner = "krakjoe"; + repo = "pthreads"; + } // (if (isPhp73) then { + rev = "4d1c2483ceb459ea4284db4eb06646d5715e7154"; + sha256 = "07kdxypy0bgggrfav2h1ccbv67lllbvpa3s3zsaqci0gq4fyi830"; + } else { + rev = "v3.2.0"; + sha256 = "17hypm75d4w7lvz96jb7s0s87018yzmmap0l125d5fd7abnhzfvv"; + })); + in buildPecl { + pname = "pthreads"; + inherit version src; - sha256 = "103nys7zkpi1hifqp9miyl0m1mn07xqshw3sapyz365nb35g5q71"; + buildInputs = [ pcre'.dev ]; - buildInputs = [ pkgs.v8_6_x ]; - configureFlags = [ "--with-v8=${pkgs.v8_6_x}" ]; - meta.broken = true; - }; + meta.broken = isPhp74; + }; - v8js = assert !isPhp73; buildPecl { - version = "2.1.0"; - pname = "v8js"; + redis = buildPecl { + version = "5.1.1"; + pname = "redis"; - sha256 = "0g63dyhhicngbgqg34wl91nm3556vzdgkq19gy52gvmqj47rj6rg"; + sha256 = "1041zv91fkda73w4c3pj6zdvwjgb3q7mxg6mwnq9gisl80mrs732"; - buildInputs = [ pkgs.v8_6_x ]; - configureFlags = [ "--with-v8js=${pkgs.v8_6_x}" ]; - meta.broken = true; - }; + internalDeps = with php.extensions; [ + json + session + ] ++ lib.optionals (lib.versionOlder php.version "7.4") [ + hash ]; + }; - xdebug = buildPecl { - version = "2.8.1"; - pname = "xdebug"; + sqlsrv = buildPecl { + version = "5.8.0"; + pname = "sqlsrv"; - sha256 = "080mwr7m72rf0jsig5074dgq2n86hhs7rdbfg6yvnm959sby72w3"; + sha256 = "1kv4krk1w4hri99b0sdgwgy9c4y0yh217wx2y3irhkfi46kdrjnw"; - doCheck = true; - checkTarget = "test"; + buildInputs = [ pkgs.unixODBC ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ]; + }; - zendExtension = true; - }; + v8 = buildPecl { + version = "0.2.2"; + pname = "v8"; - yaml = buildPecl { - version = "2.0.4"; - pname = "yaml"; + sha256 = "103nys7zkpi1hifqp9miyl0m1mn07xqshw3sapyz365nb35g5q71"; - sha256 = "1036zhc5yskdfymyk8jhwc34kvkvsn5kaf50336153v4dqwb11lp"; + buildInputs = [ pkgs.v8_6_x ]; + configureFlags = [ "--with-v8=${pkgs.v8_6_x}" ]; + meta.broken = true; + }; - configureFlags = [ - "--with-yaml=${pkgs.libyaml}" - ]; + v8js = buildPecl { + version = "2.1.0"; + pname = "v8js"; - nativeBuildInputs = [ pkgs.pkgconfig ]; - }; + sha256 = "0g63dyhhicngbgqg34wl91nm3556vzdgkq19gy52gvmqj47rj6rg"; - zmq = assert !isPhp73; buildPecl { - version = "1.1.3"; - pname = "zmq"; + buildInputs = [ pkgs.v8_6_x ]; + configureFlags = [ "--with-v8js=${pkgs.v8_6_x}" ]; + meta.broken = true; + }; - sha256 = "1kj487vllqj9720vlhfsmv32hs2dy2agp6176mav6ldx31c3g4n4"; + xdebug = buildPecl { + version = "2.8.1"; + pname = "xdebug"; - configureFlags = [ - "--with-zmq=${pkgs.zeromq}" - ]; + sha256 = "080mwr7m72rf0jsig5074dgq2n86hhs7rdbfg6yvnm959sby72w3"; - nativeBuildInputs = [ pkgs.pkgconfig ]; - }; + doCheck = true; + checkTarget = "test"; - exts = let + zendExtension = true; + }; + + yaml = buildPecl { + version = "2.0.4"; + pname = "yaml"; + + sha256 = "1036zhc5yskdfymyk8jhwc34kvkvsn5kaf50336153v4dqwb11lp"; + + configureFlags = [ + "--with-yaml=${pkgs.libyaml}" + ]; + + nativeBuildInputs = [ pkgs.pkgconfig ]; + }; + + zmq = buildPecl { + version = "1.1.3"; + pname = "zmq"; + + sha256 = "1kj487vllqj9720vlhfsmv32hs2dy2agp6176mav6ldx31c3g4n4"; + + configureFlags = [ + "--with-zmq=${pkgs.zeromq}" + ]; + + nativeBuildInputs = [ pkgs.pkgconfig ]; + + meta.broken = isPhp73; + }; + } // (let # Function to build a single php extension based on the php version. # # Name passed is the name of the extension and is automatically used @@ -709,39 +736,67 @@ let mkExtension = { name , configureFlags ? [ "--enable-${name}" ] + , internalDeps ? [] + , postPhpize ? "" , buildInputs ? [] , zendExtension ? false + , doCheck ? true , ... - }: stdenv.mkDerivation { - pname = "php-ext-${name}"; + }@args: stdenv.mkDerivation ((builtins.removeAttrs args [ "name" ]) // { + pname = "php-${name}"; + extensionName = name; inherit (php) version src; sourceRoot = "php-${php.version}/ext/${name}"; enableParallelBuilding = true; nativeBuildInputs = [ php autoconf pkgconfig re2c ]; - inherit configureFlags buildInputs zendExtension; + inherit configureFlags internalDeps buildInputs + zendExtension doCheck; - preConfigure = "phpize"; + preConfigure = '' + nullglobRestore=$(shopt -p nullglob) + shopt -u nullglob # To make ?-globbing work + # Some extensions have a config0.m4 or config9.m4 + if [ -f config?.m4 ]; then + mv config?.m4 config.m4 + fi + + $nullglobRestore + phpize + ${postPhpize} + ${lib.concatMapStringsSep "\n" + (dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}") + internalDeps} + ''; + checkPhase = "echo n | make test"; + outputs = [ "out" "dev" ]; installPhase = '' mkdir -p $out/lib/php/extensions - cp modules/${name}.so $out/lib/php/extensions/ext-${name}.so + cp modules/${name}.so $out/lib/php/extensions/${name}.so + mkdir -p $dev/include + ${rsync}/bin/rsync -r --filter="+ */" \ + --filter="+ *.h" \ + --filter="- *" \ + --prune-empty-dirs \ + . $dev/include/ ''; - }; + }); # This list contains build instructions for different modules that one may # want to build. # # These will be passed as arguments to mkExtension above. - extensionData = let - pcre' = if (lib.versionAtLeast php.version "7.3") then pcre2 else pcre; - in [ + extensionData = [ { name = "bcmath"; } { name = "bz2"; buildInputs = [ bzip2 ]; configureFlags = [ "--with-bz2=${bzip2.dev}" ]; } { name = "calendar"; } { name = "ctype"; } - { name = "curl"; buildInputs = [ curl ]; configureFlags = [ "--with-curl=${curl.dev}" ]; } + { name = "curl"; + buildInputs = [ curl ]; + configureFlags = [ "--with-curl=${curl.dev}" ]; + doCheck = false; } { name = "dba"; } { name = "dom"; buildInputs = [ libxml2 ]; @@ -752,8 +807,9 @@ let buildInputs = [ enchant1 ]; configureFlags = [ "--with-enchant=${enchant1}" ]; # enchant1 doesn't build on darwin. - enable = (!stdenv.isDarwin); } - { name = "exif"; } + enable = (!stdenv.isDarwin); + doCheck = false; } + { name = "exif"; doCheck = false; } { name = "ffi"; buildInputs = [ libffi ]; enable = lib.versionAtLeast php.version "7.4"; } { name = "fileinfo"; buildInputs = [ pcre' ]; } { name = "filter"; buildInputs = [ pcre' ]; } @@ -765,6 +821,7 @@ let "--with-external-gd=${gd.dev}" "--enable-gd-jis-conv" ]; + doCheck = false; enable = lib.versionAtLeast php.version "7.4"; } { name = "gd"; buildInputs = [ zlib gd libXpm ]; @@ -778,21 +835,22 @@ let "--with-zlib-dir=${zlib.dev}" "--enable-gd-jis-conv" ]; + doCheck = false; enable = lib.versionOlder php.version "7.4"; } - ## gettext (7.2, 7.3, 7.4) -- configure: error: Cannot locate header file libintl.h - #{ name = "gettext"; - # buildInputs = [ gettext ]; - # configureFlags = "--with-gettext=${gettext}"; } + { name = "gettext"; + buildInputs = [ gettext ]; + postPhpize = ''substituteInPlace configure --replace 'as_fn_error $? "Cannot locate header file libintl.h" "$LINENO" 5' ':' ''; + configureFlags = "--with-gettext=${gettext}"; } { name = "gmp"; - buildInputs = [ gmp5 ]; - configureFlags = [ "--with-gmp=${gmp5.dev}" ]; - # gmp5 doesn't build on darwin. - enable = (!stdenv.isDarwin); } + buildInputs = [ gmp ]; + configureFlags = [ "--with-gmp=${gmp.dev}" ]; } { name = "hash"; enable = lib.versionOlder php.version "7.4"; } - { name = "iconv"; configureFlags = if stdenv.isDarwin then + { name = "iconv"; + configureFlags = if stdenv.isDarwin then [ "--with-iconv=${libiconv}" ] else - [ "--with-iconv" ]; } + [ "--with-iconv" ]; + doCheck = false; } { name = "imap"; buildInputs = [ uwimap openssl pam pcre' ]; configureFlags = [ "--with-imap=${uwimap}" "--with-imap-ssl" ]; @@ -808,36 +866,110 @@ let "LDAP_DIR=${openldap.dev}" "LDAP_INCDIR=${openldap.dev}/include" "LDAP_LIBDIR=${openldap.out}/lib" - ] ++ lib.optional stdenv.isLinux "--with-ldap-sasl=${cyrus_sasl.dev}"; } - { name = "mbstring"; buildInputs = [ oniguruma ]; } - { name = "mysqli"; configureFlags = [ "--with-mysqli=mysqlnd" "--with-mysql-sock=/run/mysqld/mysqld.sock" ]; } + ] ++ lib.optional stdenv.isLinux "--with-ldap-sasl=${cyrus_sasl.dev}"; + doCheck = false; } + { name = "mbstring"; buildInputs = [ oniguruma ]; doCheck = false; } + { name = "mysqli"; + internalDeps = [ php.extensions.mysqlnd ]; + configureFlags = [ "--with-mysqli=mysqlnd" "--with-mysql-sock=/run/mysqld/mysqld.sock" ]; + doCheck = false; } + { name = "mysqlnd"; + buildInputs = [ zlib openssl ]; + # The configure script doesn't correctly add library link + # flags, so we add them to the variable used by the Makefile + # when linking. + MYSQLND_SHARED_LIBADD = "-lssl -lcrypto -lz"; + # The configure script builds a config.h which is never + # included. Let's include it in the main header file + # included by all .c-files. + patches = [ + (pkgs.writeText "mysqlnd_config.patch" '' + --- a/mysqlnd.h + +++ b/mysqlnd.h + @@ -1,3 +1,6 @@ + +#ifdef HAVE_CONFIG_H + +#include "config.h" + +#endif + /* + +----------------------------------------------------------------------+ + | Copyright (c) The PHP Group | + '') + ]; + postPhpize = lib.optionalString (lib.versionOlder php.version "7.4") '' + substituteInPlace configure --replace '$OPENSSL_LIBDIR' '${openssl}/lib' \ + --replace '$OPENSSL_INCDIR' '${openssl.dev}/include' + ''; } # oci8 (7.4, 7.3, 7.2) # odbc (7.4, 7.3, 7.2) - { name = "opcache"; buildInputs = [ pcre' ]; zendExtension = true; } + { name = "opcache"; + buildInputs = [ pcre' ]; + # HAVE_OPCACHE_FILE_CACHE is defined in config.h, which is + # included from ZendAccelerator.h, but ZendAccelerator.h is + # included after the ifdef... + patches = lib.optional (lib.versionOlder php.version "7.4") [ + (pkgs.writeText "zend_file_cache_config.patch" '' + --- a/zend_file_cache.c + +++ b/zend_file_cache.c + @@ -27,9 +27,9 @@ + #include "ext/standard/md5.h" + #endif + + +#include "ZendAccelerator.h" + #ifdef HAVE_OPCACHE_FILE_CACHE + + -#include "ZendAccelerator.h" + #include "zend_file_cache.h" + #include "zend_shared_alloc.h" + #include "zend_accelerator_util_funcs.h" + '') ]; + zendExtension = true; + doCheck = !(lib.versionOlder php.version "7.4"); } + { name = "openssl"; + buildInputs = [ openssl ]; + configureFlags = [ "--with-openssl" ]; + doCheck = false; } { name = "pcntl"; } - { name = "pdo"; } + { name = "pdo"; doCheck = false; } { name = "pdo_dblib"; + internalDeps = [ php.extensions.pdo ]; configureFlags = [ "--with-pdo-dblib=${freetds}" ]; # Doesn't seem to work on darwin. - enable = (!stdenv.isDarwin); } + enable = (!stdenv.isDarwin); + doCheck = false; } # pdo_firebird (7.4, 7.3, 7.2) - { name = "pdo_mysql"; configureFlags = [ "--with-pdo-mysql=mysqlnd" ]; } + { name = "pdo_mysql"; + internalDeps = with php.extensions; [ pdo mysqlnd ]; + configureFlags = [ "--with-pdo-mysql=mysqlnd" ]; + doCheck = false; } # pdo_oci (7.4, 7.3, 7.2) - { name = "pdo_odbc"; configureFlags = [ "--with-pdo-odbc=unixODBC,${unixODBC}" ]; } - { name = "pdo_pgsql"; configureFlags = [ "--with-pdo-pgsql=${postgresql}" ]; } - { name = "pdo_sqlite"; buildInputs = [ sqlite ]; configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ]; } - { name = "pgsql"; buildInputs = [ pcre' ]; configureFlags = [ "--with-pgsql=${postgresql}" ]; } - { name = "phar"; buildInputs = [ pcre' openssl ]; } - { name = "posix"; } + { name = "pdo_odbc"; + internalDeps = [ php.extensions.pdo ]; + configureFlags = [ "--with-pdo-odbc=unixODBC,${unixODBC}" ]; + doCheck = false; } + { name = "pdo_pgsql"; + internalDeps = [ php.extensions.pdo ]; + configureFlags = [ "--with-pdo-pgsql=${postgresql}" ]; + doCheck = false; } + { name = "pdo_sqlite"; + internalDeps = [ php.extensions.pdo ]; + buildInputs = [ sqlite ]; + configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ]; + doCheck = false; } + { name = "pgsql"; + buildInputs = [ pcre' ]; + configureFlags = [ "--with-pgsql=${postgresql}" ]; + doCheck = false; } + { name = "posix"; doCheck = false; } { name = "pspell"; configureFlags = [ "--with-pspell=${aspell}" ]; } - ## readline (7.4, 7.3, 7.2) -- configure: error: Please reinstall libedit - I cannot find readline.h - #{ name = "readline"; - # buildInputs = [ libedit readline ]; - # configureFlags = [ "--with-readline=${readline.dev}" ]; } - { name = "recode"; - configureFlags = [ "--with-recode=${recode}" ]; - # Removed in php 7.4. - enable = lib.versionOlder php.version "7.4"; } + { name = "readline"; + buildInputs = [ libedit readline ]; + configureFlags = [ "--with-readline=${readline.dev}" ]; + postPhpize = lib.optionalString (lib.versionOlder php.version "7.4") '' + substituteInPlace configure --replace 'as_fn_error $? "Please reinstall libedit - I cannot find readline.h" "$LINENO" 5' ':' + ''; + doCheck = false; + } + # recode (7.3, 7.2) { name = "session"; } { name = "shmop"; } { name = "simplexml"; @@ -849,21 +981,25 @@ let buildInputs = [ net-snmp openssl ]; configureFlags = [ "--with-snmp" ]; # net-snmp doesn't build on darwin. - enable = (!stdenv.isDarwin); } + enable = (!stdenv.isDarwin); + doCheck = false; } { name = "soap"; buildInputs = [ libxml2 ]; configureFlags = [ "--enable-soap" ] # Required to build on darwin. - ++ lib.optional (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; } - { name = "sockets"; } + ++ lib.optional (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; + doCheck = false; } + { name = "sockets"; doCheck = false; } { name = "sodium"; buildInputs = [ libsodium ]; } + { name = "sqlite3"; buildInputs = [ sqlite ]; } { name = "sysvmsg"; } { name = "sysvsem"; } { name = "sysvshm"; } - { name = "tidy"; configureFlags = [ "--with-tidy=${html-tidy}" ]; } + { name = "tidy"; configureFlags = [ "--with-tidy=${html-tidy}" ]; doCheck = false; } { name = "tokenizer"; } { name = "wddx"; buildInputs = [ libxml2 ]; + internalDeps = [ php.extensions.session ]; configureFlags = [ "--enable-wddx" "--with-libxml-dir=${libxml2.dev}" ]; # Removed in php 7.4. enable = lib.versionOlder php.version "7.4"; } @@ -871,7 +1007,8 @@ let buildInputs = [ libxml2 ]; configureFlags = [ "--enable-xml" ] # Required to build on darwin. - ++ lib.optional (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; } + ++ lib.optional (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; + doCheck = false; } { name = "xmlreader"; buildInputs = [ libxml2 ]; configureFlags = [ "--enable-xmlreader CFLAGS=-I../.." ] @@ -887,12 +1024,21 @@ let configureFlags = [ "--enable-xmlwriter" ] # Required to build on darwin. ++ lib.optional (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; } - { name = "xsl"; buildInputs = [ libxslt libxml2 ]; configureFlags = [ "--with-xsl=${libxslt.dev}" ]; } + { name = "xsl"; + buildInputs = [ libxslt libxml2 ]; + doCheck = !(lib.versionOlder php.version "7.4"); + configureFlags = [ "--with-xsl=${libxslt.dev}" ]; } { name = "zend_test"; } - { name = "zip"; buildInputs = [ libzip pcre' ]; + { name = "zip"; + buildInputs = [ libzip pcre' ]; configureFlags = [ "--with-zip" ] ++ lib.optional (lib.versionOlder php.version "7.4") [ "--with-zlib-dir=${zlib.dev}" ] - ++ lib.optional (lib.versionOlder php.version "7.3") [ "--with-libzip" ]; } + ++ lib.optional (lib.versionOlder php.version "7.3") [ "--with-libzip" ]; + doCheck = false; } + { name = "zlib"; + buildInputs = [ zlib ]; + configureFlags = [ "--with-zlib" ] + ++ lib.optional (lib.versionOlder php.version "7.4") [ "--with-zlib-dir=${zlib.dev}" ]; } ]; # Convert the list of attrs: @@ -909,5 +1055,5 @@ let }) (builtins.filter (i: i.enable or true) extensionData); # Produce the final attribute set of all extensions defined. - in builtins.listToAttrs namedExtensions; -}; in self + in builtins.listToAttrs namedExtensions); +}