From ed33a6c327758a63878d98ae183a7fe3b3df229b Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 6 Mar 2020 02:36:01 +0000 Subject: [PATCH 001/132] firefox: mark as broken on 32-bit buildPlatform --- pkgs/applications/networking/browsers/firefox/packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index b94a33bfa87..f06eb1c4370 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 { From e003ca046c788100c094a6c13b9ba195a1378cc5 Mon Sep 17 00:00:00 2001 From: Luca Favatella Date: Sun, 8 Mar 2020 17:35:52 +0000 Subject: [PATCH 002/132] androidenv: update the generated expressions ... running `generate.sh`. --- .../mobile/androidenv/generated/addons.nix | 179 ++-- .../mobile/androidenv/generated/packages.nix | 738 ++++++++++++++- .../generated/system-images-android-tv.nix | 245 ++--- .../system-images-android-wear-cn.nix | 97 +- .../generated/system-images-android-wear.nix | 143 ++- .../generated/system-images-android.nix | 877 ++++++++---------- .../generated/system-images-google_apis.nix | 824 +++++++--------- .../system-images-google_apis_playstore.nix | 241 +++-- 8 files changed, 1823 insertions(+), 1521 deletions(-) diff --git a/pkgs/development/mobile/androidenv/generated/addons.nix b/pkgs/development/mobile/androidenv/generated/addons.nix index d902b111665..a1807b99054 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 fc9f50e1316..a63a18c4b51 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 1aa49545254..d700a546a24 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 372a751f41c..52fcc24bf88 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 0c45a1162fe..a2a1490d4ae 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 915cceec546..74efe60be92 100644 --- a/pkgs/development/mobile/androidenv/generated/system-images-android.nix +++ b/pkgs/development/mobile/androidenv/generated/system-images-android.nix @@ -1,547 +1,408 @@ - {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"; - - }; + "29".default."x86" = { + name = "system-image-29-default-x86"; + path = "system-images/android-29/default/x86"; + revision = "29-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + url = https://dl.google.com/android/repository/sys-img/android/x86-29_r07-windows.zip; + sha1 = "e0e6504734f601c28350528d39a4b17b3e0f82dc"; + }; }; - - - "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"; - - }; + "29".default."x86" = { + name = "system-image-29-default-x86"; + path = "system-images/android-29/default/x86"; + revision = "29-default-x86"; + displayName = "Intel x86 Atom System Image"; + archives.all = fetchurl { + url = https://dl.google.com/android/repository/sys-img/android/x86-29_r07-darwin.zip; + sha1 = "e0e6504734f601c28350528d39a4b17b3e0f82dc"; + url = https://dl.google.com/android/repository/sys-img/android/x86-29_r07-linux.zip; + sha1 = "e0e6504734f601c28350528d39a4b17b3e0f82dc"; + }; }; - - - "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"; - - }; + "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"; + }; }; - - - "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"; - - }; + "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"; + }; }; - - - "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"; - - }; + "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"; + }; }; - - - "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"; - - }; + "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"; + }; }; - - - "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"; - - }; + "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"; + }; }; - - - "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"; - - }; + "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"; + }; }; - -} - \ No newline at end of file + "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"; + }; + }; + "29".default."x86_64" = { + name = "system-image-29-default-x86_64"; + path = "system-images/android-29/default/x86_64"; + revision = "29-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-29_r07-windows.zip; + sha1 = "c8e307b885a68f71b4889a70bffea729fc4ecbfa"; + }; + }; + "29".default."x86_64" = { + name = "system-image-29-default-x86_64"; + path = "system-images/android-29/default/x86_64"; + revision = "29-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-29_r07-darwin.zip; + sha1 = "c8e307b885a68f71b4889a70bffea729fc4ecbfa"; + url = https://dl.google.com/android/repository/sys-img/android/x86_64-29_r07-linux.zip; + sha1 = "c8e307b885a68f71b4889a70bffea729fc4ecbfa"; + }; + }; +} \ 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 3b0303b86b4..302d0b9063c 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,394 @@ - {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" = { + 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_r10.zip; + sha1 = "075e2253f1e93b49c134142a9717180dc7636685"; + }; + }; + "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 a8bea61ff54..6c4a654423d 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,162 @@ - {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" = { + 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_r09.zip; + sha1 = "97d9d4f4a2afa8b0f5d52e90748e19c10406ca93"; + }; }; - -} - \ No newline at end of file + "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"; + }; + }; + "29".google_apis_playstore."x86" = { + name = "system-image-29-google_apis_playstore-x86"; + path = "system-images/android-29/google_apis_playstore/x86"; + revision = "29-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-29_r08-windows.zip; + sha1 = "1c45e690e9ee6a44f40549e9fb68d3fd52ba4970"; + }; + }; + "29".google_apis_playstore."x86" = { + name = "system-image-29-google_apis_playstore-x86"; + path = "system-images/android-29/google_apis_playstore/x86"; + revision = "29-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-29_r08-darwin.zip; + sha1 = "1c45e690e9ee6a44f40549e9fb68d3fd52ba4970"; + url = https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86-29_r08-linux.zip; + sha1 = "1c45e690e9ee6a44f40549e9fb68d3fd52ba4970"; + }; + }; + "29".google_apis_playstore."x86_64" = { + name = "system-image-29-google_apis_playstore-x86_64"; + path = "system-images/android-29/google_apis_playstore/x86_64"; + revision = "29-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-29_r08-windows.zip; + sha1 = "94835980b4a6eaeeb41936d7fb1381698e48433a"; + }; + }; + "29".google_apis_playstore."x86_64" = { + name = "system-image-29-google_apis_playstore-x86_64"; + path = "system-images/android-29/google_apis_playstore/x86_64"; + revision = "29-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-29_r08-darwin.zip; + sha1 = "94835980b4a6eaeeb41936d7fb1381698e48433a"; + url = https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-29_r08-linux.zip; + sha1 = "94835980b4a6eaeeb41936d7fb1381698e48433a"; + }; + }; + "R".google_apis_playstore."x86" = { + name = "system-image-R-google_apis_playstore-x86"; + path = "system-images/android-R/google_apis_playstore/x86"; + revision = "R-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-R_r01-windows.zip; + sha1 = "1bcb7d2ba381028fc1fc24905f3009a3a5a826f2"; + }; + }; + "R".google_apis_playstore."x86" = { + name = "system-image-R-google_apis_playstore-x86"; + path = "system-images/android-R/google_apis_playstore/x86"; + revision = "R-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-R_r01-darwin.zip; + sha1 = "1bcb7d2ba381028fc1fc24905f3009a3a5a826f2"; + url = https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86-R_r01-linux.zip; + sha1 = "1bcb7d2ba381028fc1fc24905f3009a3a5a826f2"; + }; + }; + "R".google_apis_playstore."x86_64" = { + name = "system-image-R-google_apis_playstore-x86_64"; + path = "system-images/android-R/google_apis_playstore/x86_64"; + revision = "R-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-R_r01-windows.zip; + sha1 = "aef2a953f20ca40ab94a4e1d633d2c84a27dc1e1"; + }; + }; + "R".google_apis_playstore."x86_64" = { + name = "system-image-R-google_apis_playstore-x86_64"; + path = "system-images/android-R/google_apis_playstore/x86_64"; + revision = "R-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-R_r01-darwin.zip; + sha1 = "aef2a953f20ca40ab94a4e1d633d2c84a27dc1e1"; + url = https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-R_r01-linux.zip; + sha1 = "aef2a953f20ca40ab94a4e1d633d2c84a27dc1e1"; + }; + }; +} \ No newline at end of file From 6da0e0b7d795f9d0ca4cc70e3a624f40a66be2e0 Mon Sep 17 00:00:00 2001 From: Luca Favatella Date: Mon, 9 Mar 2020 00:44:04 +0000 Subject: [PATCH 003/132] androidenv: bump emulator version to latest stable - as per Linux Move to a known version of the emulator. Each OS has a distinct version... pick the one on Linux. A better solution would be to let the user of `emulateApp` overload what the emulator version shall be (and maybe it is already possible and I do not see it) - without need to reproduce large portions of `default.nix`. Using the previous emulator showed the following warning: ``` Your emulator is out of date, please update by launching Android Studio: ``` I am not aware of any reasons for not wanting the latest emulator (as I expect it shall be compatible usually with more system images - not less), so bump its default version. Emulator release notes: https://developer.android.com/studio/releases/emulator --- pkgs/development/mobile/androidenv/compose-android-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/mobile/androidenv/compose-android-packages.nix b/pkgs/development/mobile/androidenv/compose-android-packages.nix index fb548bf3f9f..3cff323a8dc 100644 --- a/pkgs/development/mobile/androidenv/compose-android-packages.nix +++ b/pkgs/development/mobile/androidenv/compose-android-packages.nix @@ -4,7 +4,7 @@ , platformToolsVersion ? "28.0.1" , buildToolsVersions ? [ "28.0.3" ] , includeEmulator ? false -, emulatorVersion ? "28.0.14" +, emulatorVersion ? "30.0.3" , platformVersions ? [] , includeSources ? false , includeDocs ? false From 3286057969c5e6bdb014595372b746708870f321 Mon Sep 17 00:00:00 2001 From: Luca Favatella Date: Mon, 9 Mar 2020 03:22:02 +0000 Subject: [PATCH 004/132] androidenv: fix default platform-tools to a known one --- pkgs/development/mobile/androidenv/compose-android-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/mobile/androidenv/compose-android-packages.nix b/pkgs/development/mobile/androidenv/compose-android-packages.nix index 3cff323a8dc..f98547011bd 100644 --- a/pkgs/development/mobile/androidenv/compose-android-packages.nix +++ b/pkgs/development/mobile/androidenv/compose-android-packages.nix @@ -1,7 +1,7 @@ {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 ? "30.0.3" From 72e3836bfbd17d284a103e0c9b8269cda7f77d0d Mon Sep 17 00:00:00 2001 From: Luca Favatella Date: Mon, 9 Mar 2020 04:19:15 +0000 Subject: [PATCH 005/132] androidenv: manually (!) delete oldest revision of google images ... as same name hence clashing. This shall rather be solved by enhancement of the scripts. --- .../generated/system-images-google_apis.nix | 12 +----------- .../system-images-google_apis_playstore.nix | 12 +----------- 2 files changed, 2 insertions(+), 22 deletions(-) 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 302d0b9063c..a31b78b702e 100644 --- a/pkgs/development/mobile/androidenv/generated/system-images-google_apis.nix +++ b/pkgs/development/mobile/androidenv/generated/system-images-google_apis.nix @@ -321,16 +321,6 @@ sha1 = "ab009fc1308ded01539af4f8233b252d411145bc"; }; }; - "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"; - }; - }; "28".google_apis."x86" = { name = "system-image-28-google_apis-x86"; path = "system-images/android-28/google_apis/x86"; @@ -391,4 +381,4 @@ 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 6c4a654423d..c64b1eeeff8 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 @@ -41,16 +41,6 @@ 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_r08.zip; - sha1 = "5381f9d52a3bf1967c9c92a25b20012cd68764c8"; - }; - }; "28".google_apis_playstore."x86" = { name = "system-image-28-google_apis_playstore-x86"; path = "system-images/android-28/google_apis_playstore/x86"; @@ -159,4 +149,4 @@ sha1 = "aef2a953f20ca40ab94a4e1d633d2c84a27dc1e1"; }; }; -} \ No newline at end of file +} From 91411f0f21545e074c044d3c78b5394b6c66da04 Mon Sep 17 00:00:00 2001 From: Luca Favatella Date: Mon, 9 Mar 2020 04:14:33 +0000 Subject: [PATCH 006/132] androidenv: manually (!) delete default images with same name ... complex as apparently dependent on OS of host of emulator. This shall rather be solved by enhancement of the scripts. --- .../generated/system-images-android.nix | 46 +--------- .../system-images-google_apis_playstore.nix | 88 ------------------- 2 files changed, 1 insertion(+), 133 deletions(-) diff --git a/pkgs/development/mobile/androidenv/generated/system-images-android.nix b/pkgs/development/mobile/androidenv/generated/system-images-android.nix index 74efe60be92..043529cb238 100644 --- a/pkgs/development/mobile/androidenv/generated/system-images-android.nix +++ b/pkgs/development/mobile/androidenv/generated/system-images-android.nix @@ -281,28 +281,6 @@ sha1 = "ce03c42d80c0fc6dc47f6455dbee7aa275d02780"; }; }; - "29".default."x86" = { - name = "system-image-29-default-x86"; - path = "system-images/android-29/default/x86"; - revision = "29-default-x86"; - displayName = "Intel x86 Atom System Image"; - archives.all = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-29_r07-windows.zip; - sha1 = "e0e6504734f601c28350528d39a4b17b3e0f82dc"; - }; - }; - "29".default."x86" = { - name = "system-image-29-default-x86"; - path = "system-images/android-29/default/x86"; - revision = "29-default-x86"; - displayName = "Intel x86 Atom System Image"; - archives.all = fetchurl { - url = https://dl.google.com/android/repository/sys-img/android/x86-29_r07-darwin.zip; - sha1 = "e0e6504734f601c28350528d39a4b17b3e0f82dc"; - url = https://dl.google.com/android/repository/sys-img/android/x86-29_r07-linux.zip; - sha1 = "e0e6504734f601c28350528d39a4b17b3e0f82dc"; - }; - }; "21".default."x86_64" = { name = "system-image-21-default-x86_64"; path = "system-images/android-21/default/x86_64"; @@ -383,26 +361,4 @@ sha1 = "d47a85c8f4e9fd57df97814ad8884eeb0f3a0ef0"; }; }; - "29".default."x86_64" = { - name = "system-image-29-default-x86_64"; - path = "system-images/android-29/default/x86_64"; - revision = "29-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-29_r07-windows.zip; - sha1 = "c8e307b885a68f71b4889a70bffea729fc4ecbfa"; - }; - }; - "29".default."x86_64" = { - name = "system-image-29-default-x86_64"; - path = "system-images/android-29/default/x86_64"; - revision = "29-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-29_r07-darwin.zip; - sha1 = "c8e307b885a68f71b4889a70bffea729fc4ecbfa"; - url = https://dl.google.com/android/repository/sys-img/android/x86_64-29_r07-linux.zip; - sha1 = "c8e307b885a68f71b4889a70bffea729fc4ecbfa"; - }; - }; -} \ 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 c64b1eeeff8..20377efe0d4 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 @@ -61,92 +61,4 @@ sha1 = "a767da996fdea7a1f5632a9206fa5c009d6e580c"; }; }; - "29".google_apis_playstore."x86" = { - name = "system-image-29-google_apis_playstore-x86"; - path = "system-images/android-29/google_apis_playstore/x86"; - revision = "29-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-29_r08-windows.zip; - sha1 = "1c45e690e9ee6a44f40549e9fb68d3fd52ba4970"; - }; - }; - "29".google_apis_playstore."x86" = { - name = "system-image-29-google_apis_playstore-x86"; - path = "system-images/android-29/google_apis_playstore/x86"; - revision = "29-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-29_r08-darwin.zip; - sha1 = "1c45e690e9ee6a44f40549e9fb68d3fd52ba4970"; - url = https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86-29_r08-linux.zip; - sha1 = "1c45e690e9ee6a44f40549e9fb68d3fd52ba4970"; - }; - }; - "29".google_apis_playstore."x86_64" = { - name = "system-image-29-google_apis_playstore-x86_64"; - path = "system-images/android-29/google_apis_playstore/x86_64"; - revision = "29-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-29_r08-windows.zip; - sha1 = "94835980b4a6eaeeb41936d7fb1381698e48433a"; - }; - }; - "29".google_apis_playstore."x86_64" = { - name = "system-image-29-google_apis_playstore-x86_64"; - path = "system-images/android-29/google_apis_playstore/x86_64"; - revision = "29-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-29_r08-darwin.zip; - sha1 = "94835980b4a6eaeeb41936d7fb1381698e48433a"; - url = https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-29_r08-linux.zip; - sha1 = "94835980b4a6eaeeb41936d7fb1381698e48433a"; - }; - }; - "R".google_apis_playstore."x86" = { - name = "system-image-R-google_apis_playstore-x86"; - path = "system-images/android-R/google_apis_playstore/x86"; - revision = "R-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-R_r01-windows.zip; - sha1 = "1bcb7d2ba381028fc1fc24905f3009a3a5a826f2"; - }; - }; - "R".google_apis_playstore."x86" = { - name = "system-image-R-google_apis_playstore-x86"; - path = "system-images/android-R/google_apis_playstore/x86"; - revision = "R-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-R_r01-darwin.zip; - sha1 = "1bcb7d2ba381028fc1fc24905f3009a3a5a826f2"; - url = https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86-R_r01-linux.zip; - sha1 = "1bcb7d2ba381028fc1fc24905f3009a3a5a826f2"; - }; - }; - "R".google_apis_playstore."x86_64" = { - name = "system-image-R-google_apis_playstore-x86_64"; - path = "system-images/android-R/google_apis_playstore/x86_64"; - revision = "R-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-R_r01-windows.zip; - sha1 = "aef2a953f20ca40ab94a4e1d633d2c84a27dc1e1"; - }; - }; - "R".google_apis_playstore."x86_64" = { - name = "system-image-R-google_apis_playstore-x86_64"; - path = "system-images/android-R/google_apis_playstore/x86_64"; - revision = "R-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-R_r01-darwin.zip; - sha1 = "aef2a953f20ca40ab94a4e1d633d2c84a27dc1e1"; - url = https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-R_r01-linux.zip; - sha1 = "aef2a953f20ca40ab94a4e1d633d2c84a27dc1e1"; - }; - }; } From 954b406ac2ab7b5308e1022223700706d2597583 Mon Sep 17 00:00:00 2001 From: Freeman Latif Date: Tue, 28 Jan 2020 18:17:04 +0000 Subject: [PATCH 007/132] androidenv: add missing linux dependencies This is extracted from https://github.com/NixOS/nixpkgs PR 78623. The symptom I observed was: ``` builder for '/nix/store/7zz585ch9jqjvz8k88rf7fs046inxszq-emulator-30.0.3.drv' failed with exit code 1; last 10 log lines: libXext.so.6 -> found: /nix/store/qkmj8pa3ka9v335bbgx74ah4080fwdbf-libXext-1.3.4/lib/libXext.so.6 libXfixes.so.3 -> found: /nix/store/nhp59xxq4g51mgpwgjsp8pvkn7531b86-libXfixes-5.0.3/lib/libXfixes.so.3 libXi.so.6 -> not found! libXrender.so.1 -> not found! libXtst.so.6 -> not found! libasound.so.2 -> not found! libz.so.1 -> found: /nix/store/pb2am7dfsv524pb2z7m8mp8nkcmgd3cl-zlib-1.2.11/lib/libz.so.1 libdbus-1.so.3 -> found: /nix/store/ddqrvb1b0xdb8g18f4advmq4wk0aiknd-dbus-1.12.16-lib/lib/libdbus-1.so.3 libGL.so.1 -> found: /nix/store/bbpgyifsh2hv0ivhl3g4ik2nw7d10zdx-emulator-30.0.3/libexec/android-sdk/emulator/lib64/gles_mesa/libGL.so.1 libc++.so.1 -> found: /nix/store/bbpgyifsh2hv0ivhl3g4ik2nw7d10zdx-emulator-30.0.3/libexec/android-sdk/emulator/lib64/libc++.so.1 ``` --- .../mobile/androidenv/emulator.nix | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/pkgs/development/mobile/androidenv/emulator.nix b/pkgs/development/mobile/androidenv/emulator.nix index 7ba74eb900f..2402d5433ed 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 From c50618898f4981947a7f6c57fb42b410a7dc98ba Mon Sep 17 00:00:00 2001 From: Luca Favatella Date: Mon, 9 Mar 2020 05:35:53 +0000 Subject: [PATCH 008/132] androidenv/emulate-app: fix image id for recent device manager Symptom: ``` Available Android targets: ---------- id: 1 or "android-28" Name: Android 9 Type: Platform API level: 28 Revision: 6 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in Tag/ABIs : google_ndk_playstore/x86 ... Error: Invalid --tag google_apis_playstore for the selected target. ``` For creation of AVD, switch from `android` to `avdmanager` as the latter seems enabling selecting the image with less friction (and is better documented as not deprecated). This requires using recent tools - from https://developer.android.com/studio/releases/sdk-tools : > SDK Tools, Revision 25.3.0 (March 2017) > ... > `android avd` command-line functionality replaced with new > `avdmanager` tool. For listing of targets, switch from `android` to `avdmanager` as the `android` command invocation fails in recent tools. Symptom (not missing `s` as backward incompatibility): ``` Invalid or unsupported command "list targets" Supported commands are: android list target android list avd android list device android create avd android move avd android delete avd android list sdk android update sdk ``` References: - https://developer.android.com/studio/tools/help/android - https://developer.android.com/studio/command-line/avdmanager --- pkgs/development/mobile/androidenv/emulate-app.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/mobile/androidenv/emulate-app.nix b/pkgs/development/mobile/androidenv/emulate-app.nix index fa9a56fadba..6273d75cc38 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 From f01278dea254bd7308e21b9e470f1bd8ee006a8c Mon Sep 17 00:00:00 2001 From: Luca Favatella Date: Mon, 9 Mar 2020 17:59:57 +0000 Subject: [PATCH 009/132] androidenv: manually (!) delete more complex version of google images This commit was built as a revert commit followed by deletion: * Revert "androidenv: manually (!) delete oldest revision of google images". * Delete other revision. Using `systemImageType = "google_apis_playstore"` (and `abiVersion = "x86"` and `platformVersion = "28"` - that I expect resolved to `97d9d4f4a2afa8b0f5d52e90748e19c10406ca93`), the symptom is: ``` Warning: Observed package id 'system-images;android-28;google_ndk_playstore;x86' in inconsistent location '/nix/store/...-androidsdk/libexec/android-sdk/system-images/android-28/google_apis_playstore/x86' (Expected '/nix/store/...-androidsdk/libexec/android-sdk/system-images/android-28/google_ndk_playstore/x86') ... Error: Package path is not valid. Valid system image paths are: system-images;android-28;google_ndk_playstore;x86 ``` How is the actual image name `google_ndk_playstore` when the fetched image has id `google_apis_playstore`? Attempt keeping - of the two images - the one that looks simpler. For the `"28".google_apis."x86"` images, in the XML the differences are: more complex license (what is `arm-dbt`?); higher emulator. Namely: ``` 27 1 7 ... 29 1 12 ``` Analogously for `"28".google_apis_playstore."x86"`. --- .../androidenv/generated/system-images-google_apis.nix | 6 +++--- .../generated/system-images-google_apis_playstore.nix | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) 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 a31b78b702e..68af1ea5689 100644 --- a/pkgs/development/mobile/androidenv/generated/system-images-google_apis.nix +++ b/pkgs/development/mobile/androidenv/generated/system-images-google_apis.nix @@ -327,8 +327,8 @@ 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_r10.zip; - sha1 = "075e2253f1e93b49c134142a9717180dc7636685"; + url = https://dl.google.com/android/repository/sys-img/google_apis/x86-28_r09.zip; + sha1 = "7c84ba5cbc009132ce38df52830c17b9bffc54bb"; }; }; "28".google_apis."x86_64" = { @@ -381,4 +381,4 @@ 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 20377efe0d4..edc22ac2d7b 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 @@ -47,8 +47,8 @@ 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_r09.zip; - sha1 = "97d9d4f4a2afa8b0f5d52e90748e19c10406ca93"; + url = https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86-28_r08.zip; + sha1 = "5381f9d52a3bf1967c9c92a25b20012cd68764c8"; }; }; "28".google_apis_playstore."x86_64" = { From d56fd6975cbbfff53854266fc53c01aa098e381a Mon Sep 17 00:00:00 2001 From: Luca Favatella Date: Mon, 9 Mar 2020 19:46:41 +0000 Subject: [PATCH 010/132] androidenv: align basic emulateApp usage example ... to the actually tested one. --- doc/languages-frameworks/android.section.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/languages-frameworks/android.section.md b/doc/languages-frameworks/android.section.md index d76b590ede3..6ee450eeb59 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"; } ``` From 9404daf91c152498adce1fb1ea4bea752afe42f5 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Sun, 15 Mar 2020 17:57:34 +0100 Subject: [PATCH 011/132] php: Make a slimmer php as default --- pkgs/development/interpreters/php/default.nix | 257 ++++++------------ 1 file changed, 85 insertions(+), 172 deletions(-) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 497a1d87f55..ec6689a5b14 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -1,196 +1,111 @@ # 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 -}: +{ callPackage, config, fetchurl, lib, makeWrapper, stdenv, symlinkJoin, writeText +, autoconf, automake, bison, flex, libtool, pkgconfig, re2c +, apacheHttpd, gettext, libargon2, libxml2, openssl, pcre, pcre2, readline +, sqlite, systemd, valgrind, zlib, oniguruma }: let generic = { 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 + + # Build a minimal php + , minimalBuild ? config.php.minimal or false + + # 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 ] + # Deps for some base extensions + ++ [ gettext ] # Gettext extension + ++ [ openssl openssl.dev ] # Openssl extension + ++ [ pcre' ] # PCRE extension + ++ [ readline ] # Readline extension + ++ [ zlib ] # Zlib extension + ++ [ oniguruma ] # mbstring extension + + # Deps needed when building all default extensions + ++ lib.optionals (!minimalBuild) [ sqlite ] + + # 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 + ++ lib.optional minimalBuild [ "--disable-all" ] + + # A bunch of base extensions + ++ [ "--with-gettext=${gettext}" ] + ++ [ "--with-openssl" ] + ++ [ "--with-readline=${readline.dev}" ] + ++ [ "--with-zlib=${zlib.dev}" ] + ++ [ "--enable-mysqlnd" ] # Required to be able to build mysqli and pdo_mysql + ++ [ "--enable-sockets" ] + ++ [ "--enable-mbstring" ] + + # 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 +119,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 +148,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,12 +162,6 @@ 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 (_: { From cb1dd640ff79009d54e3256c5d760d4881cc54ec Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Mon, 16 Mar 2020 18:59:45 +0100 Subject: [PATCH 012/132] phpPackages.exts: Drop uneeded extensions --- pkgs/top-level/php-packages.nix | 9 --------- 1 file changed, 9 deletions(-) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index cc830fa3498..bfd55b33532 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -779,10 +779,6 @@ let "--enable-gd-jis-conv" ]; 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 = "gmp"; buildInputs = [ gmp5 ]; configureFlags = [ "--with-gmp=${gmp5.dev}" ]; @@ -827,13 +823,8 @@ let { 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 = "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. From cdad5f91347e10e698c4d9d82afe524ca40c4d27 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Tue, 17 Mar 2020 18:16:49 +0100 Subject: [PATCH 013/132] php: Add release log entry for the php changes --- nixos/doc/manual/release-notes/rl-2009.xml | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml index 85a7f9c9871..bef08b1981f 100644 --- a/nixos/doc/manual/release-notes/rl-2009.xml +++ b/nixos/doc/manual/release-notes/rl-2009.xml @@ -125,6 +125,68 @@ documentation for instructions. + + + Since this release we have an easy way to customize your PHP install to get a much smaller + base PHP with only wanted extensions enabled. See following snippet to install a smaller PHP + with imagick, opcache and pdo_mysql: + + +environment.systemPackages = [ +(pkgs.phpbase.buildEnv { exts = pp: with pp; [ + imagick + exts.opcache + exts.pdo_mysql + ]; }) +]; + + All native PHP extensions are available under ]]>. + + + Since we have a smaller base package that we base the main php on a + smaller base package we've decided to remove a big bunch of options to make the main + PHP derivation much easier to work with. + + + 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 + + + From 96a5e0c928e8ab3be35f28b0c9df8d73fbda2729 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Sun, 22 Mar 2020 18:58:23 +0100 Subject: [PATCH 014/132] php: init phpXYbase packages and make the default php extended by default Also, add opcache to default extensions since it significantly increases PHP's performance and is by default enabled on Debian based distributions. Not having it enabled by default results in a puzzling performance loss for anyone attempting to migrate from Debian/Ubuntu to NixOS who is unaware of this. Therefore, enable it by default. /talyz --- pkgs/development/interpreters/php/default.nix | 23 +++++++++++++++---- pkgs/top-level/all-packages.nix | 11 ++++----- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index ec6689a5b14..1e5c2cd8f27 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -188,8 +188,7 @@ let }; }); -in { - php72 = generic' { + php72base = generic' { version = "7.2.28"; sha256 = "18sjvl67z5a2x5s2a36g6ls1r3m4hbrsw52hqr2qsgfvg5dkm5bw"; @@ -197,7 +196,7 @@ in { extraPatches = lib.optional stdenv.isDarwin ./php72-darwin-isfinite.patch; }; - php73 = generic' { + php73base = generic' { version = "7.3.15"; sha256 = "0g84hws15s8gh8iq4h6q747dyfazx47vh3da3whz8d80x83ibgld"; @@ -205,8 +204,24 @@ in { extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch; }; - php74 = generic' { + php74base = generic' { version = "7.4.3"; sha256 = "wVF7pJV4+y3MZMc6Ptx21PxQfEp6xjmYFYTMfTtMbRQ="; }; + + defaultPhpExtensions = { + exts = pp: with pp.exts; ([ + 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 ]); + }; +in { + inherit php72base php73base php74base; + + php74 = php74base.buildEnv defaultPhpExtensions; + php73 = php73base.buildEnv defaultPhpExtensions; + php72 = php72base.buildEnv defaultPhpExtensions; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ab765f45d8f..92ef5c9fcb3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9374,15 +9374,15 @@ in phpPackages = php74Packages; php72Packages = recurseIntoAttrs (callPackage ./php-packages.nix { - php = php72; + php = php72base; }); php73Packages = recurseIntoAttrs (callPackage ./php-packages.nix { - php = php73; + php = php73base; }); php74Packages = recurseIntoAttrs (callPackage ./php-packages.nix { - php = php74; + php = php74base; }); phpPackages-unit = php74Packages-unit; @@ -9401,10 +9401,7 @@ in inherit (callPackages ../development/interpreters/php { stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv; - }) - php74 - php73 - php72; + }) php74 php73 php72 php74base php73base php72base; php-embed = php74-embed; From 1983417a2f80bf14ea0089817cb20f8025e232b5 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Sun, 22 Mar 2020 19:44:55 +0100 Subject: [PATCH 015/132] unit: Make unit use phpbase packages --- pkgs/servers/http/unit/default.nix | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix index c56e994ed54..afe4a4ed0a1 100644 --- a/pkgs/servers/http/unit/default.nix +++ b/pkgs/servers/http/unit/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchFromGitHub, which , withPython2 ? false, python2 , withPython3 ? true, python3, ncurses -, withPHP72 ? false, php72 -, withPHP73 ? true, php73 +, withPHP72 ? false, php72base +, withPHP73 ? true, php73base , withPerl528 ? false, perl528 , withPerl530 ? true, perl530 , withPerldevel ? false, perldevel @@ -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 = php72base.override phpConfig; + php73-unit = php73base.override phpConfig; +in stdenv.mkDerivation rec { version = "1.16.0"; pname = "unit"; From 1586f2851e32834bf7033cb4bd30f6e5bcbfc356 Mon Sep 17 00:00:00 2001 From: Amit Aryeh Levy Date: Wed, 1 Apr 2020 22:30:40 -0400 Subject: [PATCH 016/132] zulip: 4.0.0 -> 5.0.0 Zulip 5.0 fixes multiple security issues. See: https://blog.zulip.org/2020/04/01/zulip-desktop-5-0-0-security-release/ --- .../networking/instant-messengers/zulip/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/zulip/default.nix b/pkgs/applications/networking/instant-messengers/zulip/default.nix index 33392af766c..0c0c6debd79 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"; }; From ad871d23f661531d0f6a8e15e2cf1bed67b53fed Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Thu, 2 Apr 2020 04:20:00 -0500 Subject: [PATCH 017/132] grpc: 1.27.1 -> 1.28.1 Changelog: - https://github.com/grpc/grpc/releases/tag/v1.28.0 - https://github.com/grpc/grpc/releases/tag/v1.28.1 --- pkgs/development/libraries/grpc/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix index 815d3becf6f..8549eeffde6 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}"; }; } From 37dfac7bd8c3ce9dfd35467cf6839686172170bd Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Thu, 2 Apr 2020 04:20:00 -0500 Subject: [PATCH 018/132] pythonPackages.grpcio-tools: 1.27.1 -> 1.28.1 --- pkgs/development/python-modules/grpcio-tools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix index fcfccf29efd..f3eb93cd060 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; From 2bac62079eca232303a99c2815c3f4ed00733343 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Thu, 2 Apr 2020 13:31:49 +0200 Subject: [PATCH 019/132] mwic: 0.7.7 -> 0.7.8 --- pkgs/applications/misc/mwic/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/mwic/default.nix b/pkgs/applications/misc/mwic/default.nix index 249d9ff1d40..688ec16b155 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}"]; From ec21f70c4b8f5e46fc9b9acb8e964a3d557bc9cf Mon Sep 17 00:00:00 2001 From: Sarah Brofeldt Date: Sun, 29 Mar 2020 22:24:49 +0200 Subject: [PATCH 020/132] ceph: 14.2.7 -> 14.2.8 --- .../0000-dont-check-cherrypy-version.patch | 70 ------------------- pkgs/tools/filesystems/ceph/default.nix | 5 +- 2 files changed, 2 insertions(+), 73 deletions(-) delete mode 100644 pkgs/tools/filesystems/ceph/0000-dont-check-cherrypy-version.patch 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 9604da87fb5..00000000000 --- 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 abf6ed1361b..64512272777 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 = [ From 6ccd347e461015dc26222c832b87c3050558ba86 Mon Sep 17 00:00:00 2001 From: Sarah Brofeldt Date: Thu, 2 Apr 2020 21:10:15 +0200 Subject: [PATCH 021/132] nixos/tests/ceph: Fix pg number to power of 2 --- nixos/tests/ceph-multi-node.nix | 6 +++--- nixos/tests/ceph-single-node.nix | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/nixos/tests/ceph-multi-node.nix b/nixos/tests/ceph-multi-node.nix index 90dd747525d..22fe5cada48 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 1a027e17836..01c4b413845 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", From be7bf5a18d155b9eb6de3a63ca0943b4c40856ae Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Sun, 22 Mar 2020 14:31:13 +0100 Subject: [PATCH 022/132] php-embed: Drop the declaration of the php-embed attributes --- pkgs/servers/uwsgi/default.nix | 9 +++++++-- pkgs/top-level/aliases.nix | 19 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 17 ----------------- 3 files changed, 26 insertions(+), 19 deletions(-) diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix index 7669053d229..0a1ad23c2ce 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/top-level/aliases.nix b/pkgs/top-level/aliases.nix index c81a51ae4da..655bee800d5 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -320,6 +320,25 @@ 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; + 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 92ef5c9fcb3..51055e46b71 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9403,23 +9403,6 @@ in stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv; }) php74 php73 php72 php74base php73base php72base; - 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 { From a5f77d6ea29935ac64777f709a32ee65faa1b0e7 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Sun, 22 Mar 2020 14:32:42 +0100 Subject: [PATCH 023/132] php-unit: Drop the declaration of the php-unit attributes since they aren't used --- pkgs/servers/http/unit/default.nix | 16 +++++----- pkgs/top-level/aliases.nix | 30 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 48 +----------------------------- 3 files changed, 39 insertions(+), 55 deletions(-) diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix index afe4a4ed0a1..752a0fa493c 100644 --- a/pkgs/servers/http/unit/default.nix +++ b/pkgs/servers/http/unit/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchFromGitHub, which , withPython2 ? false, python2 , withPython3 ? true, python3, ncurses -, withPHP72 ? false, php72base -, withPHP73 ? true, php73base +, withPHP72 ? false, php72 +, withPHP73 ? true, php73 , withPerl528 ? false, perl528 , withPerl530 ? true, perl530 , withPerldevel ? false, perldevel @@ -26,8 +26,8 @@ let config.php.fpm = false; }; - php72-unit = php72base.override phpConfig; - php73-unit = php73base.override phpConfig; + php72-unit = php72.override phpConfig; + php73-unit = php73.override phpConfig; in stdenv.mkDerivation rec { version = "1.16.0"; pname = "unit"; @@ -49,8 +49,8 @@ in 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 @@ -71,8 +71,8 @@ in 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/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 655bee800d5..b1c2e5dd752 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -339,6 +339,36 @@ mapAliases ({ 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 51055e46b71..1bceaf3d29d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9385,53 +9385,10 @@ in php = php74base; }); - 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; - }); - inherit (callPackages ../development/interpreters/php { stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv; }) php74 php73 php72 php74base php73base php72base; - 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; - }; - picoc = callPackage ../development/interpreters/picoc {}; picolisp = callPackage ../development/interpreters/picolisp {}; @@ -15591,10 +15548,7 @@ in neard = callPackage ../servers/neard { }; - unit = callPackage ../servers/http/unit { - php72 = php72-unit; - php73 = php73-unit; - }; + unit = callPackage ../servers/http/unit { }; nginx = nginxStable; From da8ca2be2ffd5964684fa81b953f933c9beaa7ed Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Sun, 22 Mar 2020 19:16:13 +0100 Subject: [PATCH 024/132] phpPackages.exts.gmp: Enable on darwin --- pkgs/top-level/php-packages.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index bfd55b33532..ab0abf7b26b 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -1,5 +1,5 @@ { stdenv, lib, pkgs, fetchgit, php, autoconf, pkgconfig, re2c -, bzip2, curl, libxml2, openssl, gmp5, icu, oniguruma, libsodium, html-tidy +, 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, recode, net-snmp, unixODBC }: @@ -780,10 +780,8 @@ let ]; enable = lib.versionOlder php.version "7.4"; } { 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 [ "--with-iconv=${libiconv}" ] From 282337799b08844c145c295110f20025541f829a Mon Sep 17 00:00:00 2001 From: talyz Date: Tue, 24 Mar 2020 19:30:18 +0100 Subject: [PATCH 025/132] php: Build an even slimmer base This moves yet more extensions from the base build to phpPackages.ext. Some of the extensions are a bit quirky and need patching for this to work, most notably mysqlnd and opcache. Two new parameters are introduced for mkExtension - internalDeps and postPhpize. internalDeps is used to specify which other internal extensions the current extension depends on, in order to provide them at build time. postPhpize is for when patches and quirks need to be applied after running phpize. Patch notes: - For opcache, older versions of PHP have a bug where header files are included in the wrong order. - For mysqlnd, the config.h is never included, so we include it in the main header file, mysqlnd.h. Also, the configure script doesn't add the necessary library link flags, so we add them to the variable configure should have added them to. --- pkgs/development/interpreters/php/default.nix | 38 ++---- pkgs/top-level/php-packages.nix | 124 +++++++++++++++--- 2 files changed, 118 insertions(+), 44 deletions(-) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 1e5c2cd8f27..f23ebd67eaa 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -1,8 +1,8 @@ # pcre functionality is tested in nixos/tests/php-pcre.nix -{ callPackage, config, fetchurl, lib, makeWrapper, stdenv, symlinkJoin, writeText -, autoconf, automake, bison, flex, libtool, pkgconfig, re2c -, apacheHttpd, gettext, libargon2, libxml2, openssl, pcre, pcre2, readline -, sqlite, systemd, valgrind, zlib, oniguruma }: +{ callPackage, config, fetchurl, lib, makeWrapper, stdenv, symlinkJoin +, writeText , autoconf, automake, bison, flex, libtool, pkgconfig, re2c +, apacheHttpd, libargon2, libxml2, pcre, pcre2 , systemd, valgrind +}: let generic = @@ -10,9 +10,6 @@ let , sha256 , extraPatches ? [] - # Build a minimal php - , minimalBuild ? config.php.minimal or false - # Sapi flags , cgiSupport ? config.php.cgi or true , cliSupport ? config.php.cli or true @@ -42,17 +39,9 @@ let nativeBuildInputs = [ autoconf automake bison flex libtool pkgconfig re2c ]; - buildInputs = [ ] - # Deps for some base extensions - ++ [ gettext ] # Gettext extension - ++ [ openssl openssl.dev ] # Openssl extension - ++ [ pcre' ] # PCRE extension - ++ [ readline ] # Readline extension - ++ [ zlib ] # Zlib extension - ++ [ oniguruma ] # mbstring extension - - # Deps needed when building all default extensions - ++ lib.optionals (!minimalBuild) [ sqlite ] + buildInputs = + # PCRE extension + [ pcre' ] # Enable sapis ++ lib.optional pearSupport [ libxml2.dev ] @@ -66,18 +55,9 @@ let CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11"; - configureFlags = [] + configureFlags = # Disable all extensions - ++ lib.optional minimalBuild [ "--disable-all" ] - - # A bunch of base extensions - ++ [ "--with-gettext=${gettext}" ] - ++ [ "--with-openssl" ] - ++ [ "--with-readline=${readline.dev}" ] - ++ [ "--with-zlib=${zlib.dev}" ] - ++ [ "--enable-mysqlnd" ] # Required to be able to build mysqli and pdo_mysql - ++ [ "--enable-sockets" ] - ++ [ "--enable-mbstring" ] + [ "--disable-all" ] # PCRE ++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre'.dev}" ] diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index ab0abf7b26b..c819a33b620 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -1,8 +1,9 @@ -{ stdenv, lib, pkgs, fetchgit, php, autoconf, pkgconfig, re2c +{ stdenv, lib, pkgs, fetchgit, php, 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, recode, net-snmp, unixODBC }: +, libffi, freetds, postgresql, sqlite, net-snmp, unixODBC, libedit, readline +}: let self = with self; { @@ -709,6 +710,8 @@ let mkExtension = { name , configureFlags ? [ "--enable-${name}" ] + , internalDeps ? [] + , postPhpize ? "" , buildInputs ? [] , zendExtension ? false , ... @@ -720,10 +723,24 @@ let enableParallelBuilding = true; nativeBuildInputs = [ php autoconf pkgconfig re2c ]; - inherit configureFlags buildInputs zendExtension; + inherit configureFlags internalDeps buildInputs zendExtension; - 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} ext/") + internalDeps} + ''; installPhase = '' mkdir -p $out/lib/php/extensions cp modules/${name}.so $out/lib/php/extensions/ext-${name}.so @@ -779,6 +796,10 @@ let "--enable-gd-jis-conv" ]; enable = lib.versionOlder php.version "7.4"; } + { 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 = [ gmp ]; configureFlags = [ "--with-gmp=${gmp.dev}" ]; } @@ -804,29 +825,96 @@ let "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" ]; } + { name = "mysqli"; + internalDeps = [ "mysqlnd" ]; + configureFlags = [ "--with-mysqli=mysqlnd" "--with-mysql-sock=/run/mysqld/mysqld.sock" ]; } + { 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; } + { name = "openssl"; + buildInputs = [ openssl ]; + configureFlags = [ "--with-openssl" ]; } { name = "pcntl"; } { name = "pdo"; } { name = "pdo_dblib"; + internalDeps = [ "pdo" ]; configureFlags = [ "--with-pdo-dblib=${freetds}" ]; # Doesn't seem to work on darwin. enable = (!stdenv.isDarwin); } # pdo_firebird (7.4, 7.3, 7.2) - { name = "pdo_mysql"; configureFlags = [ "--with-pdo-mysql=mysqlnd" ]; } + { name = "pdo_mysql"; + internalDeps = [ "mysqlnd" "pdo" ]; + configureFlags = [ "--with-pdo-mysql=mysqlnd" ]; } # 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 = "pdo_odbc"; + internalDeps = [ "pdo" ]; + configureFlags = [ "--with-pdo-odbc=unixODBC,${unixODBC}" ]; } + { name = "pdo_pgsql"; + internalDeps = [ "pdo" ]; + configureFlags = [ "--with-pdo-pgsql=${postgresql}" ]; } + { name = "pdo_sqlite"; + internalDeps = [ "pdo" ]; + buildInputs = [ sqlite ]; + configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ]; } + { name = "pgsql"; + buildInputs = [ pcre' ]; + configureFlags = [ "--with-pgsql=${postgresql}" ]; } { name = "posix"; } { name = "pspell"; configureFlags = [ "--with-pspell=${aspell}" ]; } - { 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' ':' + ''; } + # recode (7.3, 7.2) { name = "session"; } { name = "shmop"; } { name = "simplexml"; @@ -846,6 +934,7 @@ let ++ lib.optional (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; } { name = "sockets"; } { name = "sodium"; buildInputs = [ libsodium ]; } + { name = "sqlite3"; buildInputs = [ sqlite ]; } { name = "sysvmsg"; } { name = "sysvsem"; } { name = "sysvshm"; } @@ -853,6 +942,7 @@ let { name = "tokenizer"; } { name = "wddx"; buildInputs = [ libxml2 ]; + internalDeps = [ "session" ]; configureFlags = [ "--enable-wddx" "--with-libxml-dir=${libxml2.dev}" ]; # Removed in php 7.4. enable = lib.versionOlder php.version "7.4"; } @@ -882,6 +972,10 @@ let 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" ]; } + { 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: From 6c810c235d8d122f3d9e036073144a104120f930 Mon Sep 17 00:00:00 2001 From: talyz Date: Tue, 24 Mar 2020 19:53:51 +0100 Subject: [PATCH 026/132] phpPackages.exts: Run tests by default The tests for many of the extensions run just fine, for some a small portion fail. This runs the tests by default and disables the tests extensions with any failing tests. --- pkgs/top-level/php-packages.nix | 87 ++++++++++++++++++++++----------- 1 file changed, 59 insertions(+), 28 deletions(-) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index c819a33b620..02a747b00e5 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -714,6 +714,7 @@ let , postPhpize ? "" , buildInputs ? [] , zendExtension ? false + , doCheck ? true , ... }: stdenv.mkDerivation { pname = "php-ext-${name}"; @@ -723,7 +724,8 @@ let enableParallelBuilding = true; nativeBuildInputs = [ php autoconf pkgconfig re2c ]; - inherit configureFlags internalDeps buildInputs zendExtension; + inherit configureFlags internalDeps buildInputs + zendExtension doCheck; preConfigure = '' nullglobRestore=$(shopt -p nullglob) @@ -741,6 +743,7 @@ let (dep: "mkdir -p ext; ln -s ../../${dep} ext/") internalDeps} ''; + checkPhase = "echo n | make test"; installPhase = '' mkdir -p $out/lib/php/extensions cp modules/${name}.so $out/lib/php/extensions/ext-${name}.so @@ -758,7 +761,10 @@ let { 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 ]; @@ -769,8 +775,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' ]; } @@ -782,6 +789,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 ]; @@ -795,6 +803,7 @@ let "--with-zlib-dir=${zlib.dev}" "--enable-gd-jis-conv" ]; + doCheck = false; enable = lib.versionOlder php.version "7.4"; } { name = "gettext"; buildInputs = [ gettext ]; @@ -804,10 +813,12 @@ let 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" ]; @@ -823,11 +834,13 @@ 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 ]; } + ] ++ lib.optional stdenv.isLinux "--with-ldap-sasl=${cyrus_sasl.dev}"; + doCheck = false; } + { name = "mbstring"; buildInputs = [ oniguruma ]; doCheck = false; } { name = "mysqli"; internalDeps = [ "mysqlnd" ]; - configureFlags = [ "--with-mysqli=mysqlnd" "--with-mysql-sock=/run/mysqld/mysqld.sock" ]; } + 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 @@ -877,43 +890,53 @@ let #include "zend_shared_alloc.h" #include "zend_accelerator_util_funcs.h" '') ]; - zendExtension = true; } + zendExtension = true; + doCheck = !(lib.versionOlder php.version "7.4"); } { name = "openssl"; buildInputs = [ openssl ]; - configureFlags = [ "--with-openssl" ]; } + configureFlags = [ "--with-openssl" ]; + doCheck = false; } { name = "pcntl"; } - { name = "pdo"; } + { name = "pdo"; doCheck = false; } { name = "pdo_dblib"; internalDeps = [ "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"; internalDeps = [ "mysqlnd" "pdo" ]; - configureFlags = [ "--with-pdo-mysql=mysqlnd" ]; } + configureFlags = [ "--with-pdo-mysql=mysqlnd" ]; + doCheck = false; } # pdo_oci (7.4, 7.3, 7.2) { name = "pdo_odbc"; internalDeps = [ "pdo" ]; - configureFlags = [ "--with-pdo-odbc=unixODBC,${unixODBC}" ]; } + configureFlags = [ "--with-pdo-odbc=unixODBC,${unixODBC}" ]; + doCheck = false; } { name = "pdo_pgsql"; internalDeps = [ "pdo" ]; - configureFlags = [ "--with-pdo-pgsql=${postgresql}" ]; } + configureFlags = [ "--with-pdo-pgsql=${postgresql}" ]; + doCheck = false; } { name = "pdo_sqlite"; internalDeps = [ "pdo" ]; buildInputs = [ sqlite ]; - configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ]; } + configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ]; + doCheck = false; } { name = "pgsql"; buildInputs = [ pcre' ]; - configureFlags = [ "--with-pgsql=${postgresql}" ]; } - { name = "posix"; } + configureFlags = [ "--with-pgsql=${postgresql}" ]; + doCheck = false; } + { name = "posix"; doCheck = false; } { name = "pspell"; configureFlags = [ "--with-pspell=${aspell}" ]; } { 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"; } @@ -926,19 +949,21 @@ 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 ]; @@ -950,7 +975,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../.." ] @@ -966,12 +992,17 @@ 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" ] From 8924a7de3d27f14f18ac9877d1d5e29ba474e566 Mon Sep 17 00:00:00 2001 From: talyz Date: Tue, 24 Mar 2020 19:57:49 +0100 Subject: [PATCH 027/132] php: Make buildEnv recursive + take extension deps into account A slight rewrite of buildEnv which: 1. Makes buildEnv recursively add itself to its output, so that it can be accessed from any php derivation. 2. Orders the extension text strings according to their internalDeps attribute - dependencies have to be put before dependants in the php.ini or they will fail to load due to missing symbols. --- pkgs/development/interpreters/php/default.nix | 74 +++++++++++++------ pkgs/top-level/php-packages.nix | 4 +- 2 files changed, 53 insertions(+), 25 deletions(-) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index f23ebd67eaa..36f1d9f92e9 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -144,29 +144,57 @@ let }; }; - 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, ... }@args: + let + php = generic args; + buildEnv = { exts ? (_: []), extraConfig ? "" }: + let + getExtName = ext: lib.removePrefix "php-" (builtins.parseDrvName ext.name).name; + extList = exts (callPackage ../../../top-level/php-packages.nix { inherit php; }); + + # Generate extension load configuration snippets from + # exts. 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) ext.internalDeps; + }) + extList); + + extNames = map getExtName extList; + extraInit = writeText "custom-php.ini" '' + ${extraConfig} + ${lib.concatStringsSep "\n" + (lib.textClosureList extensionTexts extNames)} + ''; + in + symlinkJoin { + name = "php-with-extensions-${version}"; + inherit version; + nativeBuildInputs = [ makeWrapper ]; + passthru.buildEnv = buildEnv; + paths = [ php ]; + postBuild = '' + wrapProgram $out/bin/php \ + --add-flags "-c ${extraInit}" + wrapProgram $out/bin/php-fpm \ + --add-flags "-c ${extraInit}" + ''; + }; + in + php.overrideAttrs (_: { + passthru.buildEnv = buildEnv; + }); php72base = generic' { version = "7.2.28"; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 02a747b00e5..7d690c0ec51 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -717,7 +717,7 @@ let , doCheck ? true , ... }: stdenv.mkDerivation { - pname = "php-ext-${name}"; + pname = "php-${name}"; inherit (php) version src; sourceRoot = "php-${php.version}/ext/${name}"; @@ -746,7 +746,7 @@ let checkPhase = "echo n | make test"; 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 ''; }; From e1d24414682c75390c219ce7acf61bf5bec5b153 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 3 Apr 2020 13:52:45 +0530 Subject: [PATCH 028/132] gomuks: 2020-02-19 -> 2020-03-20 Add a .desktop file to the output. --- .../instant-messengers/gomuks/default.nix | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/gomuks/default.nix b/pkgs/applications/networking/instant-messengers/gomuks/default.nix index a36f72c03d0..2962d190d36 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/"; From 498914e1aafe2005b566958d24c8ea9db2fc9e08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Fri, 3 Apr 2020 10:40:23 -0300 Subject: [PATCH 029/132] matcha: 2020-03-29 -> 2020-04-03 --- pkgs/data/themes/matcha/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/themes/matcha/default.nix b/pkgs/data/themes/matcha/default.nix index eb6d0599112..75d31acb83f 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 ]; From e3bdd6fc0ff1a18b5d28edb6aa39e55b21cc8aec Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Fri, 3 Apr 2020 22:01:42 +0200 Subject: [PATCH 030/132] armagetronad: 0.2.8.3.4 -> 0.2.8.3.5 --- pkgs/games/armagetronad/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/games/armagetronad/default.nix b/pkgs/games/armagetronad/default.nix index 57373d39b54..d4d2cbef164 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; From a0aca4e0c3e2ac669bf23975bca7bbe8bab55e94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Fri, 3 Apr 2020 22:09:52 -0300 Subject: [PATCH 031/132] gnome2.gnome_icon_theme: 2.91.93 -> 3.12.0 --- pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix index 0f2a98c61f6..9805f6b2ccf 100644 --- a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix +++ b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix @@ -1,12 +1,11 @@ { stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk2 }: stdenv.mkDerivation rec { - name = "gnome-icon-theme-2.91.93"; + name = "gnome-icon-theme-3.12.0"; 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"; + url = "mirror://gnome/sources/gnome-icon-theme/3.12/${name}.tar.xz"; + sha256 = "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"; }; nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk2 ]; From 6e337f2f9e6b5b1c2649896085989585dae78c30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Fri, 3 Apr 2020 22:12:12 -0300 Subject: [PATCH 032/132] gnome2.gnome_icon_theme: use pname and version --- pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix index 9805f6b2ccf..a7217c40387 100644 --- a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix +++ b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix @@ -1,10 +1,11 @@ { stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk2 }: stdenv.mkDerivation rec { - name = "gnome-icon-theme-3.12.0"; + pname = "gnome-icon-theme"; + version = "3.12.0"; src = fetchurl { - url = "mirror://gnome/sources/gnome-icon-theme/3.12/${name}.tar.xz"; + url = "mirror://gnome/sources/gnome-icon-theme/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"; }; From 91bf69cb6b27fab4ee128a4b076857896009e15c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Fri, 3 Apr 2020 22:27:57 -0300 Subject: [PATCH 033/132] gnome2.gnome_icon_theme: add meta attributes --- .../desktops/gnome-2/desktop/gnome-icon-theme/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix index a7217c40387..c858f99b980 100644 --- a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix +++ b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix @@ -14,7 +14,11 @@ stdenv.mkDerivation rec { # remove a tree of dirs with no files within postInstall = '' rm -r "$out/share/locale" ''; - meta = { - platforms = stdenv.lib.platforms.linux; + 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.linux; + maintainers = [ maintainers.romildo ]; }; } From d4042b9ccb474721af267b025ce0b8e07ef92a16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Fri, 3 Apr 2020 22:28:54 -0300 Subject: [PATCH 034/132] gnome2.gnome_icon_theme: change platform to unix --- pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix index c858f99b980..4fbaa0e0968 100644 --- a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix +++ b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { description = "Collection of icons for the GNOME 2 desktop"; homepage = "https://download.gnome.org/sources/gnome-icon-theme/"; license = licenses.gpl3Plus; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = [ maintainers.romildo ]; }; } From 2e7067f984851475a2787d8c5eeaecfd318e5e37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Fri, 3 Apr 2020 22:30:26 -0300 Subject: [PATCH 035/132] gnome2.gnome_icon_theme: minor layout change --- .../gnome-2/desktop/gnome-icon-theme/default.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix index 4fbaa0e0968..0ced95cb96b 100644 --- a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix +++ b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix @@ -9,10 +9,17 @@ stdenv.mkDerivation rec { sha256 = "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"; }; - nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk2 ]; + nativeBuildInputs = [ + pkgconfig + intltool + iconnamingutils + gtk2 + ]; - # remove a tree of dirs with no files within - postInstall = '' rm -r "$out/share/locale" ''; + 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"; From a396bc1a9b2c628babf0536547b4c21d918a43c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Fri, 3 Apr 2020 23:12:23 -0300 Subject: [PATCH 036/132] gnome2.gnome_icon_theme: do not drop icon theme cache --- pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix index 0ced95cb96b..30dacbae740 100644 --- a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix +++ b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix @@ -16,6 +16,8 @@ stdenv.mkDerivation rec { gtk2 ]; + dontDropIconThemeCache = true; + postInstall = '' # remove a tree of dirs with no files within rm -r "$out/share/locale" From 4d9a57bd76842e9a53f417cccc8072ee7ded7533 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Fri, 3 Apr 2020 23:15:14 -0300 Subject: [PATCH 037/132] treewide: rename gnome2.gnome_icon_theme package to use dashes --- .../modules/services/x11/desktop-managers/enlightenment.nix | 2 +- pkgs/desktops/gnome-2/default.nix | 5 +++-- pkgs/desktops/gnome-2/desktop/mail-notification/default.nix | 2 +- pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix | 4 ++-- pkgs/desktops/gnome-2/platform/gtkhtml/default.nix | 4 ++-- pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix | 4 ++-- pkgs/tools/misc/alarm-clock-applet/default.nix | 2 +- 7 files changed, 12 insertions(+), 11 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix index 26b662a2a64..e9841edc9fa 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.gnome2.gnome-icon-theme pkgs.xorg.xcursorthemes ]; diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix index d0a7a890355..f1822385f0f 100644 --- a/pkgs/desktops/gnome-2/default.nix +++ b/pkgs/desktops/gnome-2/default.nix @@ -60,7 +60,7 @@ lib.makeScope pkgs.newScope (self: with self; { gtksourceview = callPackage ./desktop/gtksourceview { }; - gnome_icon_theme = callPackage ./desktop/gnome-icon-theme { }; + gnome-icon-theme = callPackage ./desktop/gnome-icon-theme { }; vte = callPackage ./desktop/vte { }; @@ -87,6 +87,7 @@ 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; + gnomeicontheme = self.gnome-icon-theme; + gnome_icon_theme = self.gnome-icon-theme; gnome_common = gnome-common; }) diff --git a/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix b/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix index c12d50d792f..bce45c66b6f 100644 --- a/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix +++ b/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix @@ -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 gnome2.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 33c2abef0fa..f4d6cb534bc 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 3c89f9ff0fc..57a000351cf 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 215c9eb3e5e..bd74fe335eb 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/tools/misc/alarm-clock-applet/default.nix b/pkgs/tools/misc/alarm-clock-applet/default.nix index 7b869d66d1c..ae9c88c0a6f 100644 --- a/pkgs/tools/misc/alarm-clock-applet/default.nix +++ b/pkgs/tools/misc/alarm-clock-applet/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { gtk2 gst_all_1.gstreamer gnome2.GConf - gnome2.gnome_icon_theme + gnome2.gnome-icon-theme libnotify libxml2 libunique From ed104325412cccacbcb4ef89509926e9291ac65c Mon Sep 17 00:00:00 2001 From: Spencer Baugh Date: Sat, 4 Apr 2020 20:02:09 -0400 Subject: [PATCH 038/132] hydra: add dep on perlPackages.CatalystPluginSmartURI This plugin allows configuring the URLs generated by Catalyst (and therefore by Hydra) to be relative instead of absolute, which makes it automatically behave correctly when Hydra is accessed both directly and behind a reverse proxy. --- pkgs/development/tools/misc/hydra/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/tools/misc/hydra/common.nix b/pkgs/development/tools/misc/hydra/common.nix index 983f144efb6..5aee5df847f 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 From bce6ea7f76fadca8445372ea2620cb90dce8bf5e Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 04:31:22 +0000 Subject: [PATCH 039/132] procdump: 1.1 -> 1.1.1 --- pkgs/os-specific/linux/procdump/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/procdump/default.nix b/pkgs/os-specific/linux/procdump/default.nix index d24f665cc7c..74ee1533e46 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 ]; From f8a998688b74f1deeab43ba1c583e6565aff3552 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 07:25:48 +0000 Subject: [PATCH 040/132] yad: 5.0 -> 6.0 --- pkgs/tools/misc/yad/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix index d6b1b423ae2..d00d737c17c 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 From b955472cadcee501d455c0edf6ed587b9b7a3584 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 10:22:40 +0000 Subject: [PATCH 041/132] closurecompiler: 20200224 -> 20200315 --- pkgs/development/compilers/closure/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/closure/default.nix b/pkgs/development/compilers/closure/default.nix index 0efdabcde2e..5204932448b 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 = "."; From 220ce926b3e41a1fa4f10763758345c9b18867f0 Mon Sep 17 00:00:00 2001 From: misuzu Date: Sat, 4 Apr 2020 23:47:57 +0300 Subject: [PATCH 042/132] kmon: init at 1.0.0 --- pkgs/tools/system/kmon/default.nix | 27 +++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/tools/system/kmon/default.nix diff --git a/pkgs/tools/system/kmon/default.nix b/pkgs/tools/system/kmon/default.nix new file mode 100644 index 00000000000..1ac64d57192 --- /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/all-packages.nix b/pkgs/top-level/all-packages.nix index 2b47fdbc72e..224668ccbca 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25373,6 +25373,8 @@ in keynav = callPackage ../tools/X11/keynav { }; + kmon = callPackage ../tools/system/kmon { }; + kompose = callPackage ../applications/networking/cluster/kompose { }; kontemplate = callPackage ../applications/networking/cluster/kontemplate { }; From 7837086b6bbe4883788792d4490418e633acce61 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 10:44:18 +0000 Subject: [PATCH 043/132] python27Packages.bpython: 0.18 -> 0.19 --- pkgs/development/python-modules/bpython/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/bpython/default.nix b/pkgs/development/python-modules/bpython/default.nix index a91be0e13dd..73ce843cf01 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 ]; From e6249ab727de3d0dcd1947efd0787ddb15eff1fe Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 12:00:26 +0000 Subject: [PATCH 044/132] distgen: 1.4 -> 1.5 --- pkgs/development/tools/distgen/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/distgen/default.nix b/pkgs/development/tools/distgen/default.nix index 7db4db24689..dbf00ea8e05 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; [ From 96c10499be2bfc54d965f5789295d1d4554812a7 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 12:06:59 +0000 Subject: [PATCH 045/132] eksctl: 0.15.0 -> 0.16.0 --- pkgs/tools/admin/eksctl/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix index 4c01383f898..fdb03b50feb 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" ]; From 002b16d965bf4e097167a2077566299e5e96ab2e Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 12:14:16 +0000 Subject: [PATCH 046/132] dict: 1.12.1 -> 1.13.0 --- pkgs/servers/dict/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/dict/default.nix b/pkgs/servers/dict/default.nix index b4ad70f8277..c96f3b5c477 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 ]; From 502073b09a2508cdddc1ade870d3716e0b5d09a8 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sun, 5 Apr 2020 15:30:08 +0200 Subject: [PATCH 047/132] nixos/rxe: fix option description This caused an opening xml tag in our docbook pipeline and failed the manual build. --- nixos/modules/services/networking/rxe.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/rxe.nix b/nixos/modules/services/networking/rxe.nix index fbec62728c0..c7d174a00de 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. ''; }; From d6a8d0ca5b03dbdb84070b47021b2b852429348e Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sun, 5 Apr 2020 10:53:23 +0200 Subject: [PATCH 048/132] =?UTF-8?q?coq=5F8=5F11:=208.11.0=20=E2=86=92=208.?= =?UTF-8?q?11.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/applications/science/logic/coq/default.nix | 1 + pkgs/top-level/coq-packages.nix | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index 85c5d23ffca..52a587ccb48 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/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix index bc39a477a7a..7d1bcc5bd99 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; From e370711ad0e07519a0d675ecf2ec0587f07d75e0 Mon Sep 17 00:00:00 2001 From: Euan Kemp Date: Sun, 22 Mar 2020 22:26:38 -0700 Subject: [PATCH 049/132] k3s: init at 1.17.3+k3s1 This packages k3s as a single self-contained binary (as upstream k3s does), but without having to download any impure already-built binaries. The upstream packaging scripts are used. Due to k3s's rather complicated packaging arrangement, this ends up being a rather long derivation. --- maintainers/maintainer-list.nix | 6 + .../networking/cluster/k3s/default.nix | 233 ++++++++++++++++++ .../cluster/k3s/patches/00-k3s.patch | 74 ++++++ pkgs/top-level/all-packages.nix | 2 + 4 files changed, 315 insertions(+) create mode 100644 pkgs/applications/networking/cluster/k3s/default.nix create mode 100644 pkgs/applications/networking/cluster/k3s/patches/00-k3s.patch diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 6ca474d67ef..ac2b51881aa 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/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix new file mode 100644 index 00000000000..a032a3c12ad --- /dev/null +++ b/pkgs/applications/networking/cluster/k3s/default.nix @@ -0,0 +1,233 @@ +with import {}; + +{ stdenv, lib, makeWrapper, fetchFromGitHub, fetchurl, fetchzip }: + +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 00000000000..afe2c356aa4 --- /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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 064ff0724d0..3a9e66abc55 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20159,6 +20159,8 @@ in boost = boost155.override { enablePython = true; }; }; + k3s = callPackage ../applications/networking/cluster/k3s {}; + k9copy = libsForQt5.callPackage ../applications/video/k9copy {}; kail = callPackage ../tools/networking/kail { }; From 8986e95dca62c694921609f1f134f1071b5d6382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastien=20Rivi=C3=A8re?= Date: Sun, 5 Apr 2020 00:41:19 +0200 Subject: [PATCH 050/132] flutter: update channels + fix dev channel --- .../development/compilers/flutter/default.nix | 17 ++--- .../development/compilers/flutter/flutter.nix | 5 +- .../flutter/patches/beta/move-cache.patch | 12 ++-- .../patches/dev/disable-auto-update.patch | 1 - .../flutter/patches/dev/move-cache.patch | 63 ------------------- 5 files changed, 18 insertions(+), 80 deletions(-) delete mode 120000 pkgs/development/compilers/flutter/patches/dev/disable-auto-update.patch delete mode 100644 pkgs/development/compilers/flutter/patches/dev/move-cache.patch diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix index 89e05be1e4e..afc8fbd7f49 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 1b9c482d6e9..fad2a646a16 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 303f8dd3739..4672d4c625d 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 2c92799f3bb..00000000000 --- 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 4672d4c625d..00000000000 --- 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')); - } - } - From f5e0ebf1e6afe118fa218f0b4f8714f1affe0f9b Mon Sep 17 00:00:00 2001 From: Vladyslav M Date: Fri, 3 Apr 2020 22:04:02 +0300 Subject: [PATCH 051/132] hcxtools: 5.3.0 -> 6.0.1 --- pkgs/tools/security/hcxtools/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/hcxtools/default.nix b/pkgs/tools/security/hcxtools/default.nix index 8e70e0def41..84517ce2bd8 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 ]; From 6044fc2fc9c21e2d6f086b5574dae1c087c930d2 Mon Sep 17 00:00:00 2001 From: sjau Date: Sat, 4 Apr 2020 07:55:40 +0200 Subject: [PATCH 052/132] easysnap: 2019-02-17 -> 2020-04-04 --- pkgs/tools/backup/easysnap/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/backup/easysnap/default.nix b/pkgs/tools/backup/easysnap/default.nix index a56d1274f92..7f9b0627509 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 = '' From e1c851a5d79ff924685c1c1a1825b66df6c01184 Mon Sep 17 00:00:00 2001 From: Jeff Labonte Date: Thu, 2 Apr 2020 21:25:51 -0400 Subject: [PATCH 053/132] brave: 1.5.115 -> 1.5.123 --- pkgs/applications/networking/browsers/brave/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix index 073cc23e5cc..bab24d01456 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; From e20f308b8e53aad75e61ebbd211d6cdd92592b97 Mon Sep 17 00:00:00 2001 From: Michael Reilly Date: Thu, 2 Apr 2020 16:01:48 -0400 Subject: [PATCH 054/132] treewide: quoted urls for RFC45, only the rebuilds --- pkgs/applications/editors/kakoune/default.nix | 2 +- pkgs/applications/networking/ipfs-migrator/default.nix | 2 +- pkgs/applications/networking/ipfs-migrator/deps.nix | 8 ++++---- pkgs/applications/office/mendeley/default.nix | 2 +- pkgs/data/fonts/iosevka/bin.nix | 2 +- .../interpreters/clojurescript/lumo/default.nix | 2 +- pkgs/development/tools/haskell/ihaskell/wrapper.nix | 2 +- pkgs/misc/documentation-highlighter/default.nix | 2 +- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix index 8cb70af40e0..6a468bd67eb 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/networking/ipfs-migrator/default.nix b/pkgs/applications/networking/ipfs-migrator/default.nix index dc646f9471e..578ac9b0479 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 1ad1c383c8c..b4ae5ef827e 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 9fdeecfee36..192585bd4b5 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/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix index cbe4b25bd36..b801451c7be 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/development/interpreters/clojurescript/lumo/default.nix b/pkgs/development/interpreters/clojurescript/lumo/default.nix index d6252a7506a..122831e80cc 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/tools/haskell/ihaskell/wrapper.nix b/pkgs/development/tools/haskell/ihaskell/wrapper.nix index 0f42a5e3490..9b33d6e0670 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/misc/documentation-highlighter/default.nix b/pkgs/misc/documentation-highlighter/default.nix index a9fbcc178bb..72f1da6b0de 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 ]; From f74f2f354866c828248a419ef9a2cbddc793b7f9 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 5 Apr 2020 16:30:17 +0200 Subject: [PATCH 055/132] nixos/gdm: fix startup In https://github.com/NixOS/nixpkgs/commit/7f838b4ddeadffbbe5863a6ca27ad776064a2f4a, we dropped systemd-udev-settle.service from display-manager.service's wants. Unfortunately, we are doing something wrong since without it both Xorg and Wayland fail to start: Failed to open gpu '/dev/dri/card0': GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Operation not permitted Until we sort this out, let's add systemd-udev-settle.service to GDM to unblock the channels. --- nixos/modules/services/x11/display-managers/gdm.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix index 9b4cca56d7f..d7bef68e5bc 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" From 14bfb844d6293dbf9eedbbc7707347f1c407bb51 Mon Sep 17 00:00:00 2001 From: talyz Date: Thu, 26 Mar 2020 14:13:30 +0100 Subject: [PATCH 056/132] php: Make mkExtension pass on additional args to mkDerivation --- pkgs/top-level/php-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 7d690c0ec51..198b2c2e8e9 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -716,7 +716,7 @@ let , zendExtension ? false , doCheck ? true , ... - }: stdenv.mkDerivation { + }@args: stdenv.mkDerivation ((builtins.removeAttrs args [ "name" ]) // { pname = "php-${name}"; inherit (php) version src; @@ -748,7 +748,7 @@ let mkdir -p $out/lib/php/extensions cp modules/${name}.so $out/lib/php/extensions/${name}.so ''; - }; + }); # This list contains build instructions for different modules that one may # want to build. From b1106a18510245bfd642c057dda43ad5ea985baa Mon Sep 17 00:00:00 2001 From: talyz Date: Sat, 28 Mar 2020 22:37:22 +0100 Subject: [PATCH 057/132] phpPackages: Move phpPackages to php.packages This means php packages can now refer to other php packages by looking them up in the php.packages attribute and gets rid of the internal recursive set previously defined in php-packages.nix. This also means that in applications where previously both the php package and the corresponding version of the phpPackages package set had to be specified, the php package will now suffice. This also adds the phpWithExtensions parameter to the php-packages.nix, which can be used by extensions that need a fully featured PHP executable. --- pkgs/development/interpreters/php/default.nix | 29 +++++++--- pkgs/top-level/all-packages.nix | 16 ++---- pkgs/top-level/php-packages.nix | 57 ++++++++++++------- 3 files changed, 62 insertions(+), 40 deletions(-) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 36f1d9f92e9..3c2a73a5c19 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -144,13 +144,17 @@ let }; }; - generic' = { version, sha256, ... }@args: + generic' = { version, sha256, self, selfWithExtensions, ... }@args: let - php = generic args; + php = generic (builtins.removeAttrs args [ "self" "selfWithExtensions" ]); + packages = callPackage ../../../top-level/php-packages.nix { + php = self; + phpWithExtensions = selfWithExtensions; + }; buildEnv = { exts ? (_: []), extraConfig ? "" }: let getExtName = ext: lib.removePrefix "php-" (builtins.parseDrvName ext.name).name; - extList = exts (callPackage ../../../top-level/php-packages.nix { inherit php; }); + extList = exts packages; # Generate extension load configuration snippets from # exts. This is an attrset suitable for use with @@ -182,7 +186,9 @@ let name = "php-with-extensions-${version}"; inherit version; nativeBuildInputs = [ makeWrapper ]; - passthru.buildEnv = buildEnv; + passthru = { + inherit buildEnv packages; + }; paths = [ php ]; postBuild = '' wrapProgram $out/bin/php \ @@ -193,12 +199,16 @@ let }; in php.overrideAttrs (_: { - passthru.buildEnv = buildEnv; + passthru = { + inherit buildEnv packages; + }; }); 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; @@ -207,6 +217,8 @@ let 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; @@ -215,6 +227,8 @@ let php74base = generic' { version = "7.4.3"; sha256 = "wVF7pJV4+y3MZMc6Ptx21PxQfEp6xjmYFYTMfTtMbRQ="; + self = php74base; + selfWithExtensions = php74; }; defaultPhpExtensions = { @@ -226,10 +240,11 @@ let tokenizer xmlreader xmlwriter zip zlib ] ++ lib.optionals (!stdenv.isDarwin) [ imap ]); }; -in { - inherit php72base php73base php74base; php74 = php74base.buildEnv defaultPhpExtensions; php73 = php73base.buildEnv defaultPhpExtensions; php72 = php72base.buildEnv defaultPhpExtensions; + +in { + inherit php72base php73base php74base php72 php73 php74; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1bceaf3d29d..1bb373ad633 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9371,19 +9371,11 @@ in pachyderm = callPackage ../applications/networking/cluster/pachyderm { }; php = php74; + phpPackages = php74Packages; - - php72Packages = recurseIntoAttrs (callPackage ./php-packages.nix { - php = php72base; - }); - - php73Packages = recurseIntoAttrs (callPackage ./php-packages.nix { - php = php73base; - }); - - php74Packages = recurseIntoAttrs (callPackage ./php-packages.nix { - php = php74base; - }); + php72Packages = recurseIntoAttrs php72.packages; + php73Packages = recurseIntoAttrs php73.packages; + php74Packages = recurseIntoAttrs php74.packages; inherit (callPackages ../development/interpreters/php { stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 198b2c2e8e9..604a7b0474c 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -1,25 +1,28 @@ -{ stdenv, lib, pkgs, fetchgit, php, 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 +{ 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"; +in +{ + inherit buildPecl; apcu = buildPecl { version = "5.1.18"; @@ -41,7 +44,10 @@ let sha256 = "0ma00syhk2ps9k9p02jz7rii6x3i2p986il23703zz5npd6y9n20"; - buildInputs = [ apcu (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ]; + buildInputs = [ + php.packages.apcu + (if isPhp73 then pkgs.pcre2 else pkgs.pcre) + ]; }; ast = buildPecl { @@ -111,7 +117,12 @@ let version = "2.6.1"; pname = "couchbase"; - buildInputs = [ pkgs.libcouchbase pkgs.zlib igbinary pcs ]; + buildInputs = [ + pkgs.libcouchbase + pkgs.zlib + php.packages.igbinary + php.packages.pcs + ]; src = pkgs.fetchFromGitHub { owner = "couchbase"; @@ -139,8 +150,8 @@ let 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" + + elif test -f "${php.packages.igbinary.dev}/include/ext/igbinary/igbinary.h"; then + + igbinary_inc_path="${php.packages.igbinary.dev}/include" fi if test "$igbinary_inc_path" = ""; then AC_MSG_WARN([Cannot find igbinary.h]) @@ -353,7 +364,11 @@ let sha256 = "16nv8yyk2z3l213dg067l6di4pigg5rd8yswr5xgd18jwbys2vnw"; }; - buildInputs = [ pkgs.makeWrapper composer box ]; + buildInputs = [ + pkgs.makeWrapper + php.packages.composer + php.packages.box + ]; buildPhase = '' composer dump-autoload @@ -1024,4 +1039,4 @@ let # Produce the final attribute set of all extensions defined. in builtins.listToAttrs namedExtensions; -}; in self +} From 90dcab948c22f997a76f9f77afe5f542af2e6734 Mon Sep 17 00:00:00 2001 From: talyz Date: Sat, 28 Mar 2020 23:03:35 +0100 Subject: [PATCH 058/132] php.packages: Use derivations for internalDeps in mkExtension Make mkExtension put headers in the dev output and use them, instead of a different part of the current source tree, when referring to another extension by using internalDeps. This means external extensions can be built against the internal ones. --- pkgs/development/interpreters/php/default.nix | 3 ++- pkgs/top-level/php-packages.nix | 24 ++++++++++++------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 3c2a73a5c19..082f2ef8fdc 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -171,7 +171,8 @@ let in lib.nameValuePair extName { text = "${type}=${ext}/lib/php/extensions/${extName}.so"; - deps = lib.optionals (ext ? internalDeps) ext.internalDeps; + deps = lib.optionals (ext ? internalDeps) + (map getExtName ext.internalDeps); }) extList); diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 604a7b0474c..2ebc0697824 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -733,6 +733,7 @@ in , ... }@args: stdenv.mkDerivation ((builtins.removeAttrs args [ "name" ]) // { pname = "php-${name}"; + extensionName = name; inherit (php) version src; sourceRoot = "php-${php.version}/ext/${name}"; @@ -755,13 +756,20 @@ in phpize ${postPhpize} ${lib.concatMapStringsSep "\n" - (dep: "mkdir -p ext; ln -s ../../${dep} ext/") + (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/${name}.so + mkdir -p $dev/include + ${rsync}/bin/rsync -r --filter="+ */" \ + --filter="+ *.h" \ + --filter="- *" \ + --prune-empty-dirs \ + . $dev/include/ ''; }); @@ -853,7 +861,7 @@ in doCheck = false; } { name = "mbstring"; buildInputs = [ oniguruma ]; doCheck = false; } { name = "mysqli"; - internalDeps = [ "mysqlnd" ]; + internalDeps = [ php.packages.exts.mysqlnd ]; configureFlags = [ "--with-mysqli=mysqlnd" "--with-mysql-sock=/run/mysqld/mysqld.sock" ]; doCheck = false; } { name = "mysqlnd"; @@ -914,27 +922,27 @@ in { name = "pcntl"; } { name = "pdo"; doCheck = false; } { name = "pdo_dblib"; - internalDeps = [ "pdo" ]; + internalDeps = [ php.packages.exts.pdo ]; configureFlags = [ "--with-pdo-dblib=${freetds}" ]; # Doesn't seem to work on darwin. enable = (!stdenv.isDarwin); doCheck = false; } # pdo_firebird (7.4, 7.3, 7.2) { name = "pdo_mysql"; - internalDeps = [ "mysqlnd" "pdo" ]; + internalDeps = with php.packages.exts; [ pdo mysqlnd ]; configureFlags = [ "--with-pdo-mysql=mysqlnd" ]; doCheck = false; } # pdo_oci (7.4, 7.3, 7.2) { name = "pdo_odbc"; - internalDeps = [ "pdo" ]; + internalDeps = [ php.packages.exts.pdo ]; configureFlags = [ "--with-pdo-odbc=unixODBC,${unixODBC}" ]; doCheck = false; } { name = "pdo_pgsql"; - internalDeps = [ "pdo" ]; + internalDeps = [ php.packages.exts.pdo ]; configureFlags = [ "--with-pdo-pgsql=${postgresql}" ]; doCheck = false; } { name = "pdo_sqlite"; - internalDeps = [ "pdo" ]; + internalDeps = [ php.packages.exts.pdo ]; buildInputs = [ sqlite ]; configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ]; doCheck = false; } @@ -982,7 +990,7 @@ in { name = "tokenizer"; } { name = "wddx"; buildInputs = [ libxml2 ]; - internalDeps = [ "session" ]; + internalDeps = [ php.extensions.session ]; configureFlags = [ "--enable-wddx" "--with-libxml-dir=${libxml2.dev}" ]; # Removed in php 7.4. enable = lib.versionOlder php.version "7.4"; } From 9ac0d9ad61a2e5cce6fc8ae6c282df3ec9e77f98 Mon Sep 17 00:00:00 2001 From: talyz Date: Sat, 28 Mar 2020 23:20:38 +0100 Subject: [PATCH 059/132] php.packages.buildPecl: Introduce built-in extension dependencies Introduce the internalDeps attribute used by mkExtension, to refer to internal php extensions built by mkExtension. --- pkgs/build-support/build-pecl.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/build-pecl.nix b/pkgs/build-support/build-pecl.nix index a1030e3b34f..f43205f24c5 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} + ''; }) From 82cd2fbbf470b0b53005737e8fd833a77cf2f38c Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Sat, 28 Mar 2020 09:57:04 +0100 Subject: [PATCH 060/132] php: Wrap the programs and provide an environment variable instead of a flag --- pkgs/development/interpreters/php/default.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 082f2ef8fdc..bfb024077c8 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -192,10 +192,13 @@ let }; paths = [ php ]; postBuild = '' - wrapProgram $out/bin/php \ - --add-flags "-c ${extraInit}" - wrapProgram $out/bin/php-fpm \ - --add-flags "-c ${extraInit}" + 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 ''; }; in From 716fd0e2f576c3eeea2a231a259ff67bad3f6594 Mon Sep 17 00:00:00 2001 From: talyz Date: Sun, 29 Mar 2020 12:01:38 +0200 Subject: [PATCH 061/132] php.buildEnv: Put the extraConfig snippet after extensions Make sure all the extensions are loaded first, then read the custom config where possible. --- pkgs/development/interpreters/php/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index bfb024077c8..3692191e121 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -178,9 +178,9 @@ let extNames = map getExtName extList; extraInit = writeText "custom-php.ini" '' - ${extraConfig} ${lib.concatStringsSep "\n" (lib.textClosureList extensionTexts extNames)} + ${extraConfig} ''; in symlinkJoin { From fe4d173cb2b2c8d3d3138b5d2ee2fb5f64aabbc7 Mon Sep 17 00:00:00 2001 From: talyz Date: Mon, 30 Mar 2020 19:26:15 +0200 Subject: [PATCH 062/132] php.packages: Fix and clean up external extensions Fix extensions that were broken by the extension refactoring and remove pthreads and pinba, which had asserts which broke evaluation, were in need of refactoring and of dubious value. --- pkgs/top-level/php-packages.nix | 117 ++++++++++---------------------- 1 file changed, 35 insertions(+), 82 deletions(-) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 2ebc0697824..b3a3fe699c4 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -30,7 +30,7 @@ in sha256 = "0ayykd4hfvdzk7qnr5k6yq5scwf6rb2i05xscfv76q5dmkkynvfl"; - buildInputs = [ (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ]; + buildInputs = if isPhp73 then [ pkgs.pcre2 ] else [ pkgs.pcre ]; doCheck = true; checkTarget = "test"; checkFlagsArray = ["REPORT_EXIT_STATUS=1" "NO_INTERACTION=1"]; @@ -72,7 +72,7 @@ in installPhase = '' mkdir -p $out/bin install -D $src $out/libexec/box/box.phar - makeWrapper ${php}/bin/php $out/bin/box \ + makeWrapper ${phpWithExtensions}/bin/php $out/bin/box \ --add-flags "-d phar.readonly=0 $out/libexec/box/box.phar" ''; @@ -100,7 +100,7 @@ in installPhase = '' mkdir -p $out/bin install -D $src $out/libexec/composer/composer.phar - makeWrapper ${php}/bin/php $out/bin/composer \ + makeWrapper ${phpWithExtensions}/bin/php $out/bin/composer \ --add-flags "$out/libexec/composer/composer.phar" \ --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.unzip ]} ''; @@ -132,7 +132,7 @@ in }; configureFlags = [ "--with-couchbase" ]; - + internalDeps = [ php.packages.exts.json ]; patches = [ (pkgs.writeText "php-couchbase.patch" '' --- a/config.m4 @@ -173,8 +173,15 @@ in "--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' \ + ':' + ''; + nativeBuildInputs = [ pkgs.pkgconfig ]; buildInputs = with pkgs; [ openssl libevent ]; + internalDeps = [ php.packages.exts.sockets ]; meta = with pkgs.lib; { description = '' @@ -211,8 +218,12 @@ in mailparse = buildPecl { version = "3.0.3"; pname = "mailparse"; - sha256 = "00nk14jbdbln93mx3ag691avc11ff94hkadrcv5pn51c6ihsxbmz"; + + internalDeps = [ php.packages.exts.mbstring ]; + postConfigure = '' + echo "#define HAVE_MBSTRING 1" >> config.h + ''; }; maxminddb = buildPecl rec { @@ -246,6 +257,11 @@ in sha256 = "01mbh2m3kfbdvih3c8g3g9h4vdd80r0i9g2z8b3lx3mi8mmcj380"; }; + internalDeps = [ + php.packages.exts.session + ] ++ lib.optionals (lib.versionOlder php.version "7.4") [ + php.packages.exts.hash ]; + configureFlags = [ "--with-zlib-dir=${pkgs.zlib.dev}" "--with-libmemcached-dir=${pkgs.libmemcached}" @@ -312,6 +328,8 @@ in buildInputs = [ pkgs.oracle-instantclient ]; configureFlags = [ "--with-pdo-oci=instantclient,${pkgs.oracle-instantclient.lib}/lib" ]; + internalDeps = [ php.packages.exts.pdo ]; + postPatch = '' sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4 ''; @@ -323,6 +341,8 @@ in sha256 = "0z4vbyd851b4jr6p69l2ylk91iihndsm2qjb429pxcv8g6dqzqll"; + internalDeps = [ php.packages.exts.pdo ]; + buildInputs = [ pkgs.unixODBC ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ]; }; @@ -403,7 +423,6 @@ in }; configureFlags = [ "--with-excel" "--with-libxl-incdir=${pkgs.libxl}/include_c" "--with-libxl-libdir=${pkgs.libxl}/lib" ]; - meta.broken = true; }; phpcbf = mkDerivation rec { @@ -494,50 +513,6 @@ in }; }; - 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"; - }; - - 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/"; - }; - }; - - 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 = "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/"; - }; - }; - protobuf = buildPecl { version = "3.11.2"; pname = "protobuf"; @@ -608,41 +583,17 @@ in }; }; - 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 = with pkgs; [ pcre.dev ]; - }; - - pthreads32-dev = assert (pkgs.config.php.zts or false); assert isPhp73; buildPecl { - version = "3.2.0-dev"; - pname = "pthreads"; - - src = pkgs.fetchFromGitHub { - owner = "krakjoe"; - repo = "pthreads"; - rev = "4d1c2483ceb459ea4284db4eb06646d5715e7154"; - sha256 = "07kdxypy0bgggrfav2h1ccbv67lllbvpa3s3zsaqci0gq4fyi830"; - }; - - buildInputs = with pkgs; [ pcre2.dev ]; - }; - redis = buildPecl { version = "5.1.1"; pname = "redis"; sha256 = "1041zv91fkda73w4c3pj6zdvwjgb3q7mxg6mwnq9gisl80mrs732"; + + internalDeps = with php.packages.exts; [ + json + session + ] ++ lib.optionals (lib.versionOlder php.version "7.4") [ + hash ]; }; sqlsrv = buildPecl { @@ -665,7 +616,7 @@ in meta.broken = true; }; - v8js = assert !isPhp73; buildPecl { + v8js = buildPecl { version = "2.1.0"; pname = "v8js"; @@ -701,7 +652,7 @@ in nativeBuildInputs = [ pkgs.pkgconfig ]; }; - zmq = assert !isPhp73; buildPecl { + zmq = buildPecl { version = "1.1.3"; pname = "zmq"; @@ -712,6 +663,8 @@ in ]; nativeBuildInputs = [ pkgs.pkgconfig ]; + + meta.broken = isPhp73; }; exts = let From ed20aae86c4538ce2d2bf35515bb660de9a02fb9 Mon Sep 17 00:00:00 2001 From: talyz Date: Mon, 30 Mar 2020 19:34:21 +0200 Subject: [PATCH 063/132] nixos/nextcloud: Get nextcloud working --- nixos/modules/services/web-apps/nextcloud.nix | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index 087bd0e5df3..d58a7d7c451 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -6,27 +6,27 @@ let cfg = config.services.nextcloud; fpm = config.services.phpfpm.pools.nextcloud; - phpPackage = pkgs.php73; - phpPackages = pkgs.php73Packages; + phpPackage = pkgs.php73.buildEnv { + exts = pp: with pp.exts; [ + bcmath calendar curl exif ftp filter gd gettext gmp intl json ldap + mysqlnd opcache openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql + pdo_sqlite pgsql readline session soap sodium sqlite3 zip zlib mbstring + posix hash ctype dom simplexml xmlreader xmlwriter pp.apcu + pp.redis pp.memcached pp.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 +38,6 @@ let export NEXTCLOUD_CONFIG_DIR="${cfg.home}/config" $sudo \ ${phpPackage}/bin/php \ - -c ${pkgs.writeText "php.ini" phpOptionsStr}\ occ $* ''; From fc1034a1fab64bb386806901565e6dd2f2683f0f Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Mon, 30 Mar 2020 20:42:16 +0200 Subject: [PATCH 064/132] nixos/nextcloud: upgrade to php74 --- nixos/modules/services/web-apps/nextcloud.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index d58a7d7c451..c6c1cdadf02 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -6,12 +6,12 @@ let cfg = config.services.nextcloud; fpm = config.services.phpfpm.pools.nextcloud; - phpPackage = pkgs.php73.buildEnv { + phpPackage = pkgs.php74.buildEnv { exts = pp: with pp.exts; [ bcmath calendar curl exif ftp filter gd gettext gmp intl json ldap mysqlnd opcache openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite pgsql readline session soap sodium sqlite3 zip zlib mbstring - posix hash ctype dom simplexml xmlreader xmlwriter pp.apcu + posix ctype dom simplexml xmlreader xmlwriter pp.apcu pp.redis pp.memcached pp.imagick ]; extraConfig = phpOptionsStr; From 29e1f0d1691ee1b02dc9dd2af24a6f1b169a1f21 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Mon, 30 Mar 2020 22:07:05 +0200 Subject: [PATCH 065/132] nixos/php: Add tests for phpfpm This test checks that we evaluate PHP properly and that certain extensions are actually loaded. --- nixos/tests/all-tests.nix | 1 + nixos/tests/php/default.nix | 6 ++++ nixos/tests/php/fpm.nix | 55 +++++++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 nixos/tests/php/default.nix create mode 100644 nixos/tests/php/fpm.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index a84f2c5d261..e003372ef9d 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -240,6 +240,7 @@ in peerflix = handleTest ./peerflix.nix {}; pgjwt = handleTest ./pgjwt.nix {}; pgmanage = handleTest ./pgmanage.nix {}; + php = handleTest ./php {}; php-pcre = handleTest ./php-pcre.nix {}; plasma5 = handleTest ./plasma5.nix {}; plotinus = handleTest ./plotinus.nix {}; diff --git a/nixos/tests/php/default.nix b/nixos/tests/php/default.nix new file mode 100644 index 00000000000..c5735bd664d --- /dev/null +++ b/nixos/tests/php/default.nix @@ -0,0 +1,6 @@ +{ system ? builtins.currentSystem, + config ? {}, + pkgs ? import ../../.. { inherit system config; } +}: { + fpm = import ./fpm.nix { inherit system pkgs; }; +} diff --git a/nixos/tests/php/fpm.nix b/nixos/tests/php/fpm.nix new file mode 100644 index 00000000000..e93a3183418 --- /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" " Date: Tue, 31 Mar 2020 19:06:04 +0200 Subject: [PATCH 066/132] nixos/php: Move the pcre tests to the php test attribute --- nixos/release-combined.nix | 2 +- nixos/release-small.nix | 4 +-- nixos/tests/all-tests.nix | 1 - nixos/tests/php/default.nix | 1 + nixos/tests/{php-pcre.nix => php/pcre.nix} | 31 +++++++++---------- pkgs/development/interpreters/php/default.nix | 4 ++- 6 files changed, 21 insertions(+), 22 deletions(-) rename nixos/tests/{php-pcre.nix => php/pcre.nix} (56%) diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index 9377a931a75..b23c17a1b69 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -112,7 +112,7 @@ 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.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 2a15073b669..d78788d0531 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,7 @@ 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.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 e003372ef9d..1f8f0d49a85 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -241,7 +241,6 @@ in pgjwt = handleTest ./pgjwt.nix {}; pgmanage = handleTest ./pgmanage.nix {}; php = handleTest ./php {}; - php-pcre = handleTest ./php-pcre.nix {}; plasma5 = handleTest ./plasma5.nix {}; plotinus = handleTest ./plotinus.nix {}; postgis = handleTest ./postgis.nix {}; diff --git a/nixos/tests/php/default.nix b/nixos/tests/php/default.nix index c5735bd664d..9ab14f722d0 100644 --- a/nixos/tests/php/default.nix +++ b/nixos/tests/php/default.nix @@ -3,4 +3,5 @@ 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-pcre.nix b/nixos/tests/php/pcre.nix similarity index 56% rename from nixos/tests/php-pcre.nix rename to nixos/tests/php/pcre.nix index d5c22e0582a..56a87778579 100644 --- a/nixos/tests/php-pcre.nix +++ b/nixos/tests/php/pcre.nix @@ -1,7 +1,6 @@ - -let testString = "can-use-subgroups"; in - -import ./make-test-python.nix ({ ...}: { +let + testString = "can-use-subgroups"; +in import ../make-test-python.nix ({ ...}: { name = "php-httpd-pcre-jit-test"; machine = { lib, pkgs, ... }: { time.timeZone = "UTC"; @@ -10,15 +9,13 @@ import ./make-test-python.nix ({ ...}: { adminAddr = "please@dont.contact"; enablePHP = true; phpOptions = "pcre.jit = true"; - extraConfig = - let + extraConfig = let testRoot = pkgs.writeText "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/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 3692191e121..7daf32e5127 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -1,4 +1,6 @@ -# pcre functionality is tested in nixos/tests/php-pcre.nix +# 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 From e4cee802ad2adbfd586e919bfe9712bdee07e371 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Sun, 22 Mar 2020 15:33:48 +0100 Subject: [PATCH 067/132] doc/php: Add initial documentation for PHP --- .github/CODEOWNERS | 7 ++- doc/languages-frameworks/php.section.md | 75 +++++++++++++++++++++++++ 2 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 doc/languages-frameworks/php.section.md diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d84c6a59538..6d4434c1f4c 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/php.section.md b/doc/languages-frameworks/php.section.md new file mode 100644 index 00000000000..9924946a45c --- /dev/null +++ b/doc/languages-frameworks/php.section.md @@ -0,0 +1,75 @@ +# 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). + +As for packages we have `php.packages` that contains a bunch of +attributes where some are suitable as extensions (notable example: +`php.packages.imagick`). And some are more suitable for command +line use (notable example: `php.packages.composer`). + +We have a special section within `php.packages` called +`php.packages.exts` that contain certain PHP modules that may not +be part of the default PHP derivation (example: +`php.packages.exts.opcache`). + +The `php.packages.exts.*` attributes are official extensions which +originate from the mainline PHP project, while other extensions within +the `php.packages.*` attribute are of mixed origin (such as `pecl` +and other places). + +The different versions of PHP that nixpkgs fetch 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 + +There's two different kinds of things you could install: + - A command line utility. Simply refer to it via + `php*.packages.*`, and it automatically comes with the necessary + PHP environment, certain extensions and libraries around it. + - A PHP interpreter with certain extensions available. The `php` + attribute provides `php.buildEnv` that allows you to wrap the PHP + derivation with an additional config file that makes PHP import + additional libraries or dependencies. + +##### Example setup for `phpfpm` + +Example to build a PHP with `imagick` and `opcache` enabled, and +configure it for the "foo" `phpfpm` pool: + +```nix +let + myPhp = php.buildEnv { exts = pp: with pp; [ imagick exts.opcache ]; }; +in { + services.phpfpm.pools."foo".phpPackage = myPhp; +}; +``` + +##### Example usage with `nix-shell` + +This brings up a temporary environment that contains a PHP interpreter +with `imagick` and `opcache` enabled. + +```sh +nix-shell -p 'php.buildEnv { exts = pp: with pp; [ imagick exts.opcache ]; }' +``` From a4bc30c802d99bcc5c2f4c7bb84d40da14137c4c Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Wed, 25 Mar 2020 17:22:40 +0100 Subject: [PATCH 068/132] docs/rl: Update release log to match the updates to the default attributes --- nixos/doc/manual/release-notes/rl-2009.xml | 27 +++++++++++++--------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml index bef08b1981f..db4b8df4a22 100644 --- a/nixos/doc/manual/release-notes/rl-2009.xml +++ b/nixos/doc/manual/release-notes/rl-2009.xml @@ -127,25 +127,30 @@ - Since this release we have an easy way to customize your PHP install to get a much smaller - base PHP with only wanted extensions enabled. See following snippet to install a smaller PHP - with imagick, opcache and pdo_mysql: + 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.phpbase.buildEnv { exts = pp: with pp; [ - imagick - exts.opcache - exts.pdo_mysql +(pkgs.php.buildEnv { exts = pp: with pp.exts; [ + pp.imagick + opcache + pdo_mysql ]; }) ]; - All native PHP extensions are available under ]]>. + The default php attribute hasn't lost any extensions - + the opcache extension was added there. + + All upstream PHP extensions are available under ]]>. - Since we have a smaller base package that we base the main php on a - smaller base package we've decided to remove a big bunch of options to make the main - PHP derivation much easier to work with. + 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: From a2099156eca905ee0b7a232cb7ec07539eebd72c Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Thu, 2 Apr 2020 22:13:04 +0200 Subject: [PATCH 069/132] php: split php.packages to php.packages and php.extensions So now we have only packages for human interaction in php.packages and only extensions in php.extensions. With this php.packages.exts have been merged into the same attribute set as all the other extensions to make it flat and nice. The nextcloud module have been updated to reflect this change as well as the documentation. --- doc/languages-frameworks/php.section.md | 41 +- nixos/doc/manual/release-notes/rl-2009.xml | 6 +- nixos/modules/services/web-apps/nextcloud.nix | 6 +- pkgs/development/interpreters/php/default.nix | 19 +- pkgs/top-level/all-packages.nix | 5 + pkgs/top-level/php-packages.nix | 1139 +++++++++-------- 6 files changed, 613 insertions(+), 603 deletions(-) diff --git a/doc/languages-frameworks/php.section.md b/doc/languages-frameworks/php.section.md index 9924946a45c..18d4ee83709 100644 --- a/doc/languages-frameworks/php.section.md +++ b/doc/languages-frameworks/php.section.md @@ -21,20 +21,12 @@ of a given NixOS release will be included in that release of NixOS. See [PHP Supported Versions](https://www.php.net/supported-versions.php). -As for packages we have `php.packages` that contains a bunch of -attributes where some are suitable as extensions (notable example: -`php.packages.imagick`). And some are more suitable for command -line use (notable example: `php.packages.composer`). +For packages we have `php.packages` that contains packages related +for human interaction, notable example is `php.packages.composer`. -We have a special section within `php.packages` called -`php.packages.exts` that contain certain PHP modules that may not -be part of the default PHP derivation (example: -`php.packages.exts.opcache`). - -The `php.packages.exts.*` attributes are official extensions which -originate from the mainline PHP project, while other extensions within -the `php.packages.*` attribute are of mixed origin (such as `pecl` -and other places). +For extensions we have `php.extensions` that contains most upstream +extensions as separate attributes as well some additional extensions +that tend to be popular, notable example is: `php.extensions.imagick`. The different versions of PHP that nixpkgs fetch is located under attributes named based on major and minor version number; e.g., @@ -43,23 +35,20 @@ attributes named based on major and minor version number; e.g., #### Installing PHP with packages -There's two different kinds of things you could install: - - A command line utility. Simply refer to it via - `php*.packages.*`, and it automatically comes with the necessary - PHP environment, certain extensions and libraries around it. - - A PHP interpreter with certain extensions available. The `php` - attribute provides `php.buildEnv` that allows you to wrap the PHP - derivation with an additional config file that makes PHP import - additional libraries or dependencies. +There's two majorly different parts of the PHP ecosystem in NixOS: + - Command line utilities for human interaction. These comes from the + `php.packages.*` attributes. + - PHP environments with different extensions enabled. These are + composed with `php.buildEnv` using an additional configuration file. ##### Example setup for `phpfpm` -Example to build a PHP with `imagick` and `opcache` enabled, and -configure it for the "foo" `phpfpm` pool: +Example to build a PHP with the extensions `imagick` and `opcache` +enabled. Then to configure it for the "foo" `phpfpm` pool: ```nix let - myPhp = php.buildEnv { exts = pp: with pp; [ imagick exts.opcache ]; }; + myPhp = php.buildEnv { exts = pp: with pp; [ imagick opcache ]; }; in { services.phpfpm.pools."foo".phpPackage = myPhp; }; @@ -68,8 +57,8 @@ in { ##### Example usage with `nix-shell` This brings up a temporary environment that contains a PHP interpreter -with `imagick` and `opcache` enabled. +with the extensions `imagick` and `opcache` enabled. ```sh -nix-shell -p 'php.buildEnv { exts = pp: with pp; [ imagick exts.opcache ]; }' +nix-shell -p 'php.buildEnv { exts = pp: with pp; [ imagick opcache ]; }' ``` diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml index db4b8df4a22..1618fc89477 100644 --- a/nixos/doc/manual/release-notes/rl-2009.xml +++ b/nixos/doc/manual/release-notes/rl-2009.xml @@ -134,8 +134,8 @@ environment.systemPackages = [ -(pkgs.php.buildEnv { exts = pp: with pp.exts; [ - pp.imagick +(pkgs.php.buildEnv { exts = pp: with pp; [ + imagick opcache pdo_mysql ]; }) @@ -144,7 +144,7 @@ environment.systemPackages = [ The default php attribute hasn't lost any extensions - the opcache extension was added there. - All upstream PHP extensions are available under ]]>. + All upstream PHP extensions are available under ]]>. The updated php attribute is now easily customizable to your liking diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index c6c1cdadf02..33d35670029 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -7,12 +7,12 @@ let fpm = config.services.phpfpm.pools.nextcloud; phpPackage = pkgs.php74.buildEnv { - exts = pp: with pp.exts; [ + exts = pp: with pp; [ bcmath calendar curl exif ftp filter gd gettext gmp intl json ldap mysqlnd opcache openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite pgsql readline session soap sodium sqlite3 zip zlib mbstring - posix ctype dom simplexml xmlreader xmlwriter pp.apcu - pp.redis pp.memcached pp.imagick + posix ctype dom simplexml xmlreader xmlwriter + apcu redis memcached imagick ]; extraConfig = phpOptionsStr; }; diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 7daf32e5127..514c2070886 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -149,14 +149,21 @@ let generic' = { version, sha256, self, selfWithExtensions, ... }@args: let php = generic (builtins.removeAttrs args [ "self" "selfWithExtensions" ]); - packages = callPackage ../../../top-level/php-packages.nix { + + packages = (callPackage ../../../top-level/php-packages.nix { php = self; phpWithExtensions = selfWithExtensions; - }; + }).packages; + + extensions = (callPackage ../../../top-level/php-packages.nix { + php = self; + phpWithExtensions = selfWithExtensions; + }).extensions; + buildEnv = { exts ? (_: []), extraConfig ? "" }: let getExtName = ext: lib.removePrefix "php-" (builtins.parseDrvName ext.name).name; - extList = exts packages; + extList = exts extensions; # Generate extension load configuration snippets from # exts. This is an attrset suitable for use with @@ -190,7 +197,7 @@ let inherit version; nativeBuildInputs = [ makeWrapper ]; passthru = { - inherit buildEnv packages; + inherit buildEnv packages extensions; }; paths = [ php ]; postBuild = '' @@ -206,7 +213,7 @@ let in php.overrideAttrs (_: { passthru = { - inherit buildEnv packages; + inherit buildEnv packages extensions; }; }); @@ -238,7 +245,7 @@ let }; defaultPhpExtensions = { - exts = pp: with pp.exts; ([ + exts = pp: with pp; ([ 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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1bb373ad633..2aa5696d86c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9377,6 +9377,11 @@ in php73Packages = recurseIntoAttrs php73.packages; php74Packages = recurseIntoAttrs php74.packages; + 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 php74base php73base php72base; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index b3a3fe699c4..bb4a5a946c1 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -20,654 +20,665 @@ let isPhp73 = pkgs.lib.versionAtLeast php.version "7.3"; isPhp74 = pkgs.lib.versionAtLeast php.version "7.4"; + + pcre' = if (lib.versionAtLeast php.version "7.3") then pcre2 else pcre; in { inherit buildPecl; - apcu = buildPecl { - version = "5.1.18"; - pname = "apcu"; + # Packages are an attribute set meant for for human interaction and not + # extensions for the language itself. + packages = { + box = mkDerivation rec { + version = "2.7.5"; + pname = "box"; - sha256 = "0ayykd4hfvdzk7qnr5k6yq5scwf6rb2i05xscfv76q5dmkkynvfl"; + src = pkgs.fetchurl { + url = "https://github.com/box-project/box2/releases/download/${version}/box-${version}.phar"; + sha256 = "1zmxdadrv0i2l8cz7xb38gnfmfyljpsaz2nnkjzqzksdmncbgd18"; + }; - 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" ]; - }; + phases = [ "installPhase" ]; + buildInputs = [ pkgs.makeWrapper ]; - apcu_bc = buildPecl { - version = "1.0.5"; - pname = "apcu_bc"; - - sha256 = "0ma00syhk2ps9k9p02jz7rii6x3i2p986il23703zz5npd6y9n20"; - - buildInputs = [ - php.packages.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 ${phpWithExtensions}/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 ${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 ]; - }; - }; - - couchbase = buildPecl rec { - version = "2.6.1"; - pname = "couchbase"; - - buildInputs = [ - pkgs.libcouchbase - pkgs.zlib - php.packages.igbinary - php.packages.pcs - ]; - - src = pkgs.fetchFromGitHub { - owner = "couchbase"; - repo = "php-couchbase"; - rev = "v${version}"; - sha256 = "0jdzgcvab1vpxai23brmmvizjjq2d2dik9aklz6bzspfb512qjd6"; - }; - - configureFlags = [ "--with-couchbase" ]; - internalDeps = [ php.packages.exts.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.packages.igbinary.dev}/include/ext/igbinary/igbinary.h"; then - + igbinary_inc_path="${php.packages.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' \ - ':' - ''; - - nativeBuildInputs = [ pkgs.pkgconfig ]; - buildInputs = with pkgs; [ openssl libevent ]; - internalDeps = [ php.packages.exts.sockets ]; - - 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"; - - internalDeps = [ php.packages.exts.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"; + 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 ]; + }; }; - internalDeps = [ - php.packages.exts.session - ] ++ lib.optionals (lib.versionOlder php.version "7.4") [ - php.packages.exts.hash ]; + php-cs-fixer = mkDerivation rec { + version = "2.16.1"; + pname = "php-cs-fixer"; - configureFlags = [ - "--with-zlib-dir=${pkgs.zlib.dev}" - "--with-libmemcached-dir=${pkgs.libmemcached}" - ]; + src = pkgs.fetchurl { + url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar"; + sha256 = "1dq1nhy666zg6d4fkfsjwhj1vwh1ncap2c9ljplxv98a9mm6fk68"; + }; - nativeBuildInputs = [ pkgs.pkgconfig ]; - buildInputs = with pkgs; [ cyrus_sasl zlib ]; - }; + phases = [ "installPhase" ]; + buildInputs = [ pkgs.makeWrapper ]; - mongodb = buildPecl { - pname = "mongodb"; - version = "1.6.1"; + 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" + ''; - sha256 = "1j1w4n33347j9kwvxwsrix3gvjbiqcn1s5v59pp64s536cci8q0m"; - - 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" ]; - - internalDeps = [ php.packages.exts.pdo ]; - - 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"; - - internalDeps = [ php.packages.exts.pdo ]; - - 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 - php.packages.composer - php.packages.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" ]; - }; + 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 ]; + license = licenses.mit; + homepage = "https://github.com/phpstan/phpstan"; + maintainers = with maintainers; [ etu ]; + }; }; - }; - protobuf = buildPecl { - version = "3.11.2"; - pname = "protobuf"; + psalm = mkDerivation rec { + version = "3.9.3"; + pname = "psalm"; - sha256 = "0bhdykdyk58ywqj940zb7jyvrlgdr6hdb4s8kn79fz3p0i79l9hz"; + src = pkgs.fetchurl { + url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar"; + sha256 = "KHm2n06y/yxN5B2rCVxT5ja7HxkyxAMsjZ5HLb3xr4M="; + }; - buildInputs = with pkgs; [ (if isPhp73 then pcre2 else pcre) ]; + phases = [ "installPhase" ]; + nativeBuildInputs = [ pkgs.makeWrapper ]; - meta = with pkgs.lib; { - description = '' - Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. + 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" ''; - license = licenses.bsd3; - homepage = "https://developers.google.com/protocol-buffers/"; + + 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 ]; + + installPhase = '' + mkdir -p $out/bin + tar -xzf $src -C $out/bin + chmod +x $out/bin/psysh + wrapProgram $out/bin/psysh + ''; + + 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 ]; + }; }; }; - 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="; + + # Extensions are an attribute set meant for for PHP extensions that extend the + # language rather than human interaction. + extensions = { + apcu = buildPecl { + version = "5.1.18"; + pname = "apcu"; + + sha256 = "0ayykd4hfvdzk7qnr5k6yq5scwf6rb2i05xscfv76q5dmkkynvfl"; + + buildInputs = [ pcre' ]; + doCheck = true; + checkTarget = "test"; + checkFlagsArray = ["REPORT_EXIT_STATUS=1" "NO_INTERACTION=1"]; + makeFlags = [ "phpincludedir=$(dev)/include" ]; + outputs = [ "out" "dev" ]; }; - phases = [ "installPhase" ]; - nativeBuildInputs = [ pkgs.makeWrapper ]; + apcu_bc = buildPecl { + version = "1.0.5"; + pname = "apcu_bc"; - 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 = "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' \ + ':' + ''; + + nativeBuildInputs = [ pkgs.pkgconfig ]; + buildInputs = with pkgs; [ openssl libevent ]; + internalDeps = [ php.extensions.sockets ]; + + 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/"; + }; + }; + + 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 = [ 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 ]; + + buildInputs = [ pkgs.unixODBC ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ]; }; - }; - redis = buildPecl { - version = "5.1.1"; - pname = "redis"; + php_excel = buildPecl rec { + version = "1.0.2"; + pname = "php_excel"; + phpVersion = "php7"; - sha256 = "1041zv91fkda73w4c3pj6zdvwjgb3q7mxg6mwnq9gisl80mrs732"; + buildInputs = [ pkgs.libxl ]; - internalDeps = with php.packages.exts; [ - json - session - ] ++ lib.optionals (lib.versionOlder php.version "7.4") [ - hash ]; - }; + src = pkgs.fetchurl { + url = "https://github.com/iliaal/php_excel/releases/download/Excel-1.0.2-PHP7/excel-${version}-${phpVersion}.tgz"; + sha256 = "0dpvih9gpiyh1ml22zi7hi6kslkilzby00z1p8x248idylldzs2n"; + }; - sqlsrv = buildPecl { - version = "5.8.0"; - pname = "sqlsrv"; + configureFlags = [ "--with-excel" "--with-libxl-incdir=${pkgs.libxl}/include_c" "--with-libxl-libdir=${pkgs.libxl}/lib" ]; + }; - sha256 = "1kv4krk1w4hri99b0sdgwgy9c4y0yh217wx2y3irhkfi46kdrjnw"; + protobuf = buildPecl { + version = "3.11.2"; + pname = "protobuf"; - buildInputs = [ pkgs.unixODBC ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ]; - }; + sha256 = "0bhdykdyk58ywqj940zb7jyvrlgdr6hdb4s8kn79fz3p0i79l9hz"; - v8 = buildPecl { - version = "0.2.2"; - pname = "v8"; + buildInputs = with pkgs; [ pcre' ]; - sha256 = "103nys7zkpi1hifqp9miyl0m1mn07xqshw3sapyz365nb35g5q71"; + 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/"; + }; + }; - buildInputs = [ pkgs.v8_6_x ]; - configureFlags = [ "--with-v8=${pkgs.v8_6_x}" ]; - meta.broken = true; - }; + redis = buildPecl { + version = "5.1.1"; + pname = "redis"; - v8js = buildPecl { - version = "2.1.0"; - pname = "v8js"; + sha256 = "1041zv91fkda73w4c3pj6zdvwjgb3q7mxg6mwnq9gisl80mrs732"; - sha256 = "0g63dyhhicngbgqg34wl91nm3556vzdgkq19gy52gvmqj47rj6rg"; + internalDeps = with php.extensions; [ + json + session + ] ++ lib.optionals (lib.versionOlder php.version "7.4") [ + hash ]; + }; - buildInputs = [ pkgs.v8_6_x ]; - configureFlags = [ "--with-v8js=${pkgs.v8_6_x}" ]; - meta.broken = true; - }; + sqlsrv = buildPecl { + version = "5.8.0"; + pname = "sqlsrv"; - xdebug = buildPecl { - version = "2.8.1"; - pname = "xdebug"; + sha256 = "1kv4krk1w4hri99b0sdgwgy9c4y0yh217wx2y3irhkfi46kdrjnw"; - sha256 = "080mwr7m72rf0jsig5074dgq2n86hhs7rdbfg6yvnm959sby72w3"; + buildInputs = [ pkgs.unixODBC ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ]; + }; - doCheck = true; - checkTarget = "test"; + v8 = buildPecl { + version = "0.2.2"; + pname = "v8"; - zendExtension = true; - }; + sha256 = "103nys7zkpi1hifqp9miyl0m1mn07xqshw3sapyz365nb35g5q71"; - yaml = buildPecl { - version = "2.0.4"; - pname = "yaml"; + buildInputs = [ pkgs.v8_6_x ]; + configureFlags = [ "--with-v8=${pkgs.v8_6_x}" ]; + meta.broken = true; + }; - sha256 = "1036zhc5yskdfymyk8jhwc34kvkvsn5kaf50336153v4dqwb11lp"; + v8js = buildPecl { + version = "2.1.0"; + pname = "v8js"; - configureFlags = [ - "--with-yaml=${pkgs.libyaml}" - ]; + sha256 = "0g63dyhhicngbgqg34wl91nm3556vzdgkq19gy52gvmqj47rj6rg"; - nativeBuildInputs = [ pkgs.pkgconfig ]; - }; + buildInputs = [ pkgs.v8_6_x ]; + configureFlags = [ "--with-v8js=${pkgs.v8_6_x}" ]; + meta.broken = true; + }; - zmq = buildPecl { - version = "1.1.3"; - pname = "zmq"; + xdebug = buildPecl { + version = "2.8.1"; + pname = "xdebug"; - sha256 = "1kj487vllqj9720vlhfsmv32hs2dy2agp6176mav6ldx31c3g4n4"; + sha256 = "080mwr7m72rf0jsig5074dgq2n86hhs7rdbfg6yvnm959sby72w3"; - configureFlags = [ - "--with-zmq=${pkgs.zeromq}" - ]; + doCheck = true; + checkTarget = "test"; - nativeBuildInputs = [ pkgs.pkgconfig ]; + zendExtension = true; + }; - meta.broken = isPhp73; - }; + yaml = buildPecl { + version = "2.0.4"; + pname = "yaml"; - exts = let + 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 @@ -730,9 +741,7 @@ in # 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"; } @@ -814,7 +823,7 @@ in doCheck = false; } { name = "mbstring"; buildInputs = [ oniguruma ]; doCheck = false; } { name = "mysqli"; - internalDeps = [ php.packages.exts.mysqlnd ]; + internalDeps = [ php.extensions.mysqlnd ]; configureFlags = [ "--with-mysqli=mysqlnd" "--with-mysql-sock=/run/mysqld/mysqld.sock" ]; doCheck = false; } { name = "mysqlnd"; @@ -875,27 +884,27 @@ in { name = "pcntl"; } { name = "pdo"; doCheck = false; } { name = "pdo_dblib"; - internalDeps = [ php.packages.exts.pdo ]; + internalDeps = [ php.extensions.pdo ]; configureFlags = [ "--with-pdo-dblib=${freetds}" ]; # Doesn't seem to work on darwin. enable = (!stdenv.isDarwin); doCheck = false; } # pdo_firebird (7.4, 7.3, 7.2) { name = "pdo_mysql"; - internalDeps = with php.packages.exts; [ pdo mysqlnd ]; + internalDeps = with php.extensions; [ pdo mysqlnd ]; configureFlags = [ "--with-pdo-mysql=mysqlnd" ]; doCheck = false; } # pdo_oci (7.4, 7.3, 7.2) { name = "pdo_odbc"; - internalDeps = [ php.packages.exts.pdo ]; + internalDeps = [ php.extensions.pdo ]; configureFlags = [ "--with-pdo-odbc=unixODBC,${unixODBC}" ]; doCheck = false; } { name = "pdo_pgsql"; - internalDeps = [ php.packages.exts.pdo ]; + internalDeps = [ php.extensions.pdo ]; configureFlags = [ "--with-pdo-pgsql=${postgresql}" ]; doCheck = false; } { name = "pdo_sqlite"; - internalDeps = [ php.packages.exts.pdo ]; + internalDeps = [ php.extensions.pdo ]; buildInputs = [ sqlite ]; configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ]; doCheck = false; } @@ -999,5 +1008,5 @@ in }) (builtins.filter (i: i.enable or true) extensionData); # Produce the final attribute set of all extensions defined. - in builtins.listToAttrs namedExtensions; + in builtins.listToAttrs namedExtensions); } From 1b69056e4626fd95f7bfad2cc1423662828addf1 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Fri, 3 Apr 2020 06:30:27 +0200 Subject: [PATCH 070/132] php: passthru .dev output as well --- pkgs/development/interpreters/php/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 514c2070886..99a859cb574 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -195,6 +195,7 @@ let symlinkJoin { name = "php-with-extensions-${version}"; inherit version; + inherit (php) dev; nativeBuildInputs = [ makeWrapper ]; passthru = { inherit buildEnv packages extensions; From 4ff523f691c2caf9e878b6f3ec1b6f14513bd226 Mon Sep 17 00:00:00 2001 From: talyz Date: Fri, 3 Apr 2020 18:14:26 +0200 Subject: [PATCH 071/132] php: Simplify php-packages import, rename exts -> extensions --- nixos/doc/manual/release-notes/rl-2009.xml | 2 +- nixos/modules/services/web-apps/nextcloud.nix | 2 +- pkgs/development/interpreters/php/default.nix | 33 +++++++++---------- 3 files changed, 17 insertions(+), 20 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml index 1618fc89477..14ac73b457d 100644 --- a/nixos/doc/manual/release-notes/rl-2009.xml +++ b/nixos/doc/manual/release-notes/rl-2009.xml @@ -134,7 +134,7 @@ environment.systemPackages = [ -(pkgs.php.buildEnv { exts = pp: with pp; [ +(pkgs.php.buildEnv { extensions = pp: with pp; [ imagick opcache pdo_mysql diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index 33d35670029..82783a2b6aa 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -7,7 +7,7 @@ let fpm = config.services.phpfpm.pools.nextcloud; phpPackage = pkgs.php74.buildEnv { - exts = pp: with pp; [ + extensions = e: with e; [ bcmath calendar curl exif ftp filter gd gettext gmp intl json ldap mysqlnd opcache openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite pgsql readline session soap sodium sqlite3 zip zlib mbstring diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 99a859cb574..2558cf2c4b5 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -150,27 +150,22 @@ let let php = generic (builtins.removeAttrs args [ "self" "selfWithExtensions" ]); - packages = (callPackage ../../../top-level/php-packages.nix { + php-packages = (callPackage ../../../top-level/php-packages.nix { php = self; phpWithExtensions = selfWithExtensions; - }).packages; + }); - extensions = (callPackage ../../../top-level/php-packages.nix { - php = self; - phpWithExtensions = selfWithExtensions; - }).extensions; - - buildEnv = { exts ? (_: []), extraConfig ? "" }: + buildEnv = { extensions ? (_: []), extraConfig ? "" }: let getExtName = ext: lib.removePrefix "php-" (builtins.parseDrvName ext.name).name; - extList = exts extensions; + extList = extensions php-packages.extensions; - # Generate extension load configuration snippets from - # exts. 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. + # 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: @@ -198,7 +193,8 @@ let inherit (php) dev; nativeBuildInputs = [ makeWrapper ]; passthru = { - inherit buildEnv packages extensions; + inherit buildEnv; + inherit (php-packages) packages extensions; }; paths = [ php ]; postBuild = '' @@ -214,7 +210,8 @@ let in php.overrideAttrs (_: { passthru = { - inherit buildEnv packages extensions; + inherit buildEnv; + inherit (php-packages) packages extensions; }; }); @@ -246,7 +243,7 @@ let }; defaultPhpExtensions = { - exts = pp: with pp; ([ + extensions = 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 From 1345e5b7634da245238a909f104b0de35db63874 Mon Sep 17 00:00:00 2001 From: talyz Date: Fri, 3 Apr 2020 18:18:36 +0200 Subject: [PATCH 072/132] php: Add withExtensions as a simpler alternative to buildEnv --- pkgs/development/interpreters/php/default.nix | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 2558cf2c4b5..0df371713b6 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -193,7 +193,7 @@ let inherit (php) dev; nativeBuildInputs = [ makeWrapper ]; passthru = { - inherit buildEnv; + inherit buildEnv withExtensions; inherit (php-packages) packages extensions; }; paths = [ php ]; @@ -207,10 +207,12 @@ let fi ''; }; + + withExtensions = extensions: buildEnv { inherit extensions; }; in php.overrideAttrs (_: { passthru = { - inherit buildEnv; + inherit buildEnv withExtensions; inherit (php-packages) packages extensions; }; }); @@ -242,19 +244,17 @@ let selfWithExtensions = php74; }; - defaultPhpExtensions = { - extensions = 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 ]); - }; + 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 ]); - php74 = php74base.buildEnv defaultPhpExtensions; - php73 = php73base.buildEnv defaultPhpExtensions; - php72 = php72base.buildEnv defaultPhpExtensions; + php74 = php74base.withExtensions defaultPhpExtensions; + php73 = php73base.withExtensions defaultPhpExtensions; + php72 = php72base.withExtensions defaultPhpExtensions; in { inherit php72base php73base php74base php72 php73 php74; From b4d289a7ae319a3f19935a3a3820c876caa83b33 Mon Sep 17 00:00:00 2001 From: talyz Date: Fri, 3 Apr 2020 18:55:03 +0200 Subject: [PATCH 073/132] php: Add missing hash extension to php < 7.4 --- pkgs/development/interpreters/php/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 0df371713b6..e29f240ca55 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -252,9 +252,12 @@ let tokenizer xmlreader xmlwriter zip zlib ] ++ lib.optionals (!stdenv.isDarwin) [ imap ]); + defaultPhpExtensionsWithHash = extensions: + (defaultPhpExtensions extensions) ++ [ extensions.hash ]; + php74 = php74base.withExtensions defaultPhpExtensions; - php73 = php73base.withExtensions defaultPhpExtensions; - php72 = php72base.withExtensions defaultPhpExtensions; + php73 = php73base.withExtensions defaultPhpExtensionsWithHash; + php72 = php72base.withExtensions defaultPhpExtensionsWithHash; in { inherit php72base php73base php74base php72 php73 php74; From b5c59cebc6194684545fcd9c272d91d9af6ec8e9 Mon Sep 17 00:00:00 2001 From: talyz Date: Fri, 3 Apr 2020 18:56:12 +0200 Subject: [PATCH 074/132] php: Document withExtensions + general improvements --- doc/languages-frameworks/php.section.md | 63 +++++++++++++++++++------ pkgs/top-level/php-packages.nix | 8 ++-- 2 files changed, 52 insertions(+), 19 deletions(-) diff --git a/doc/languages-frameworks/php.section.md b/doc/languages-frameworks/php.section.md index 18d4ee83709..cc98c760aec 100644 --- a/doc/languages-frameworks/php.section.md +++ b/doc/languages-frameworks/php.section.md @@ -21,34 +21,67 @@ of a given NixOS release will be included in that release of NixOS. See [PHP Supported Versions](https://www.php.net/supported-versions.php). -For packages we have `php.packages` that contains packages related -for human interaction, notable example is `php.packages.composer`. +Interactive tools built on PHP are put in `php.packages`; composer is +for example available at `php.packages.composer`. -For extensions we have `php.extensions` that contains most upstream -extensions as separate attributes as well some additional extensions -that tend to be popular, notable example is: `php.extensions.imagick`. +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 fetch is located under +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 -There's two majorly different parts of the PHP ecosystem in NixOS: - - Command line utilities for human interaction. These comes from the - `php.packages.*` attributes. - - PHP environments with different extensions enabled. These are - composed with `php.buildEnv` using an additional configuration file. +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 ]) +``` + +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` -Example to build a PHP with the extensions `imagick` and `opcache` -enabled. Then to configure it for the "foo" `phpfpm` pool: +You can use the previous examples in a `phpfpm` pool called `foo` as +follows: ```nix let - myPhp = php.buildEnv { exts = pp: with pp; [ imagick opcache ]; }; + 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; }; @@ -60,5 +93,5 @@ This brings up a temporary environment that contains a PHP interpreter with the extensions `imagick` and `opcache` enabled. ```sh -nix-shell -p 'php.buildEnv { exts = pp: with pp; [ imagick opcache ]; }' +nix-shell -p 'php.buildEnv { extensions = e: with e; [ imagick opcache ]; }' ``` diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index bb4a5a946c1..b6e8c6be2e8 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -26,8 +26,7 @@ in { inherit buildPecl; - # Packages are an attribute set meant for for human interaction and not - # extensions for the language itself. + # This is a set of interactive tools based on PHP. packages = { box = mkDerivation rec { version = "2.7.5"; @@ -293,8 +292,9 @@ in - # Extensions are an attribute set meant for for PHP extensions that extend the - # language rather than human interaction. + # 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"; From 102aac631b3db59a228ce8e7a309bcf1a7f9e995 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Sun, 5 Apr 2020 14:57:33 +0200 Subject: [PATCH 075/132] php.extensions.pinba: Reintroduce pinba for php72, php73 and php74 --- pkgs/top-level/php-packages.nix | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index b6e8c6be2e8..d502bc03c5f 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -578,6 +578,32 @@ in configureFlags = [ "--with-excel" "--with-libxl-incdir=${pkgs.libxl}/include_c" "--with-libxl-libdir=${pkgs.libxl}/lib" ]; }; + 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; + + 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/"; + }; + }; + protobuf = buildPecl { version = "3.11.2"; pname = "protobuf"; From 8d2e5d5cd6036819eeda38ea4a8237c2e05bd036 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Sun, 5 Apr 2020 15:28:21 +0200 Subject: [PATCH 076/132] php.extensions.pthreads: Reintroduce pthreads for php72 and php73 --- pkgs/top-level/php-packages.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index d502bc03c5f..6bae48b54c3 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -621,6 +621,27 @@ in }; }; + 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; + + buildInputs = [ pcre'.dev ]; + + meta.broken = isPhp74; + }; + redis = buildPecl { version = "5.1.1"; pname = "redis"; From ca8b8a26e9b2d025ab7d7ed388e9ae7161681660 Mon Sep 17 00:00:00 2001 From: talyz Date: Sun, 5 Apr 2020 15:56:28 +0200 Subject: [PATCH 077/132] php: Add enabledExtensions attribute to PHP derivations This provides a means to build a PHP package based on a list of extensions from another. For example, to generate a package with all default extensions enabled, except opcache, but with ImageMagick: php.withExtensions (e: (lib.filter (e: e != php.extensions.opcache) php.enabledExtensions) ++ [ e.imagick ]) --- doc/languages-frameworks/php.section.md | 15 +++++++++++++++ pkgs/development/interpreters/php/default.nix | 12 ++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/doc/languages-frameworks/php.section.md b/doc/languages-frameworks/php.section.md index cc98c760aec..a302a9a7f87 100644 --- a/doc/languages-frameworks/php.section.md +++ b/doc/languages-frameworks/php.section.md @@ -48,6 +48,21 @@ enabled: 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` diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index e29f240ca55..d260a90e8ea 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -158,7 +158,7 @@ let buildEnv = { extensions ? (_: []), extraConfig ? "" }: let getExtName = ext: lib.removePrefix "php-" (builtins.parseDrvName ext.name).name; - extList = extensions php-packages.extensions; + enabledExtensions = extensions php-packages.extensions; # Generate extension load configuration snippets from the # extension parameter. This is an attrset suitable for use @@ -178,9 +178,9 @@ let deps = lib.optionals (ext ? internalDeps) (map getExtName ext.internalDeps); }) - extList); + enabledExtensions); - extNames = map getExtName extList; + extNames = map getExtName enabledExtensions; extraInit = writeText "custom-php.ini" '' ${lib.concatStringsSep "\n" (lib.textClosureList extensionTexts extNames)} @@ -189,11 +189,10 @@ let in symlinkJoin { name = "php-with-extensions-${version}"; - inherit version; - inherit (php) dev; + inherit (php) version dev; nativeBuildInputs = [ makeWrapper ]; passthru = { - inherit buildEnv withExtensions; + inherit buildEnv withExtensions enabledExtensions; inherit (php-packages) packages extensions; }; paths = [ php ]; @@ -212,6 +211,7 @@ let in php.overrideAttrs (_: { passthru = { + enabledExtensions = []; inherit buildEnv withExtensions; inherit (php-packages) packages extensions; }; From 5ace72cd6c0b9e2d294026ddfcff4886b64e6be1 Mon Sep 17 00:00:00 2001 From: talyz Date: Sun, 5 Apr 2020 16:30:02 +0200 Subject: [PATCH 078/132] nixos/nextcloud: Use php.enabledExtensions --- nixos/modules/services/web-apps/nextcloud.nix | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index 82783a2b6aa..df5bdee99fc 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -6,16 +6,17 @@ let cfg = config.services.nextcloud; fpm = config.services.phpfpm.pools.nextcloud; - phpPackage = pkgs.php74.buildEnv { - extensions = e: with e; [ - bcmath calendar curl exif ftp filter gd gettext gmp intl json ldap - mysqlnd opcache openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql - pdo_sqlite pgsql readline session soap sodium sqlite3 zip zlib mbstring - posix ctype dom simplexml xmlreader xmlwriter - apcu redis memcached imagick - ]; - extraConfig = phpOptionsStr; - }; + 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 {} " = "; From a8989b353a8266bbd73ce3c2cb91fe4e4dcf7688 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sun, 5 Apr 2020 17:36:20 +0200 Subject: [PATCH 079/132] Revert "nixos/hardened: build sandbox incompatible with namespaces" As discussed in https://github.com/NixOS/nixpkgs/pull/73763, prevailing consensus is to revert that commit. People use the hardened profile on machines and run nix builds, and there's no good reason to use unsandboxed builds at all unless you're in a platform that doesn't support them. This reverts commit 00ac71ab1932b395452209627011a32a63d81897. --- nixos/modules/profiles/hardened.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/nixos/modules/profiles/hardened.nix b/nixos/modules/profiles/hardened.nix index da3de444768..35743d83134 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; From ca0cb2c43f8231fc8e13ef5f40aad40ddbf4a44b Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 5 Apr 2020 17:45:52 +0200 Subject: [PATCH 080/132] mautrix-whatsapp: 2020-03-26 -> 2020-04-02 --- pkgs/servers/mautrix-whatsapp/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/mautrix-whatsapp/default.nix b/pkgs/servers/mautrix-whatsapp/default.nix index 7215464ea5a..0b4aff676fe 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; From 35c0d9da9bff6aa4943da61391c99443a0ae9d7b Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 5 Apr 2020 19:48:16 +0200 Subject: [PATCH 081/132] bandwhich: 0.12.0 -> 0.13.0 https://github.com/imsnif/bandwhich/releases/tag/0.13.0 --- pkgs/tools/networking/bandwhich/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/bandwhich/default.nix b/pkgs/tools/networking/bandwhich/default.nix index 1cee7ecdc21..7522b1629cc 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; From bb62957091f627900ce47f8c92c51dba8c0ae484 Mon Sep 17 00:00:00 2001 From: Martin Polden Date: Sun, 5 Apr 2020 19:49:41 +0200 Subject: [PATCH 082/132] boringtun: 0.2.0 -> 0.3.0 --- pkgs/tools/networking/boringtun/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/boringtun/default.nix b/pkgs/tools/networking/boringtun/default.nix index 59654501a39..244d6354366 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; From 01c9c9b119b21404767b4de3e851ec5417be152d Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 18:18:21 +0000 Subject: [PATCH 083/132] facter: 3.14.8 -> 3.14.9 --- pkgs/tools/system/facter/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix index 89c79be2ce3..d6f7a782824 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"; From 492599e062609390e81d015889e7677dec224d50 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 18:25:38 +0000 Subject: [PATCH 084/132] flyway: 6.2.4 -> 6.3.2 --- pkgs/development/tools/flyway/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/flyway/default.nix b/pkgs/development/tools/flyway/default.nix index 1498d179d22..746d66c2dbe 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; From f03c088a36e1689e93b515256b17aedf5ac610c3 Mon Sep 17 00:00:00 2001 From: Michael Bishop Date: Sun, 5 Apr 2020 14:16:11 -0300 Subject: [PATCH 085/132] k3s: fix https://hydra.nixos.org/build/116132269 --- pkgs/applications/networking/cluster/k3s/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix index a032a3c12ad..316b86efe61 100644 --- a/pkgs/applications/networking/cluster/k3s/default.nix +++ b/pkgs/applications/networking/cluster/k3s/default.nix @@ -1,6 +1,8 @@ -with import {}; - -{ stdenv, lib, makeWrapper, fetchFromGitHub, fetchurl, fetchzip }: +{ 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; From b43965986f4f689b7e0a65648eaa6502cd8cc1fe Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 19:28:16 +0000 Subject: [PATCH 086/132] gmsh: 4.5.4 -> 4.5.6 --- pkgs/applications/science/math/gmsh/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix index e65cf52d581..2c4d5f254da 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 From a5b0581cf77cb01cbb3a45e9d5f4c626a9dffa2e Mon Sep 17 00:00:00 2001 From: kraem Date: Sun, 5 Apr 2020 21:52:12 +0200 Subject: [PATCH 087/132] facetimehd: update src to build with linux >= 5.6 also add kraem to maintainers --- pkgs/os-specific/linux/facetimehd/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/facetimehd/default.nix b/pkgs/os-specific/linux/facetimehd/default.nix index 99e72c33983..d771563158b 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" ]; }; } From 65d787360df3d6cc8a39b435bc6ffd183907ddea Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 20:31:09 +0000 Subject: [PATCH 088/132] haproxy: 2.1.3 -> 2.1.4 --- pkgs/tools/networking/haproxy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix index 9c7adfce21d..c5aeaaa7bb4 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 ] From 40bbbb8f7d49e8414c5c6e484e74a3d9d9fedb7d Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Sat, 4 Apr 2020 19:45:35 +0200 Subject: [PATCH 089/132] documentation: minor spelling and stylistic fixes --- nixos/doc/manual/release-notes/rl-2003.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml index 606add95f30..1c0aaca8ae2 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. From 7fa60a5e6e5af3f67fef1ed43a4f3463d3c42a6e Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 18:50:59 +0000 Subject: [PATCH 090/132] gpsprune: 19.2 -> 20 --- pkgs/applications/misc/gpsprune/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/misc/gpsprune/default.nix b/pkgs/applications/misc/gpsprune/default.nix index 9c0dc48d42e..63ca213c2c4 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; From 3a67ff5e6b9bde58b64732e30b6f7376821866b7 Mon Sep 17 00:00:00 2001 From: Sebastien Bariteau Date: Sun, 5 Apr 2020 17:58:57 -0400 Subject: [PATCH 091/132] consul: 1.6.2 -> 1.7.2 --- pkgs/servers/consul/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix index 2a4361d99d2..6a356e73c95 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 = '' From 89840eb7aed67d425ab5f3b1a4ca7cdf9b32b9d4 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 22:01:56 +0000 Subject: [PATCH 092/132] joker: 0.14.2 -> 0.15.0 --- pkgs/development/interpreters/joker/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/joker/default.nix b/pkgs/development/interpreters/joker/default.nix index ed82f76eec2..b176c55cbfd 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 ./... From 84c2b8324dcef2e19a4b409f3a9c08b069f8d755 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 22:06:39 +0000 Subject: [PATCH 093/132] jruby: 9.2.11.0 -> 9.2.11.1 --- pkgs/development/interpreters/jruby/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix index 3784b6ab282..79cb1c7154b 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 ]; From 39247f8d04c04b3ee629a1f85aeedd582bf41cac Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 6 Apr 2020 00:25:11 +0200 Subject: [PATCH 094/132] nixos: try to fix channel eval It was failing with error: aggregate job 'tested' references non-existent job 'nixos.tests.php.x86_64-linux' cc @etu --- nixos/release-combined.nix | 3 ++- nixos/release-small.nix | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index b23c17a1b69..7e1e1973a0f 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.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 d78788d0531..6da2c59cedd 100644 --- a/nixos/release-small.nix +++ b/nixos/release-small.nix @@ -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.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" From 35f427d9d0a26c0092562ec8e10dcec18309a6ef Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 22:44:43 +0000 Subject: [PATCH 095/132] khard: 0.15.1 -> 0.16.0 --- pkgs/applications/misc/khard/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/khard/default.nix b/pkgs/applications/misc/khard/default.nix index 1c6708c51c9..0d3c9d0cbd0 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 ]; From f01a99ac3057d7f058c3c988c347240972dbe8e3 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 5 Apr 2020 23:59:00 +0000 Subject: [PATCH 096/132] intel-graphics-compiler: 1.0.3151 -> 1.0.3627 --- .../development/compilers/intel-graphics-compiler/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix index 3e10041c5c8..92b312ba19e 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 ]; From e41d30dc74b229070220369d39ef73a89a2ea22c Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:07:39 -0400 Subject: [PATCH 097/132] pantheon.appcenter: 3.2.2 -> 3.2.3 --- pkgs/desktops/pantheon/apps/appcenter/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/appcenter/default.nix b/pkgs/desktops/pantheon/apps/appcenter/default.nix index 3f4f04377ed..81415420873 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 = { From 3a97e45268fb1e6b8e3f16c7fcdbadf65d4627ce Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:08:05 -0400 Subject: [PATCH 098/132] pantheon.elementary-calculator: 1.5.4 -> 1.5.5 --- pkgs/desktops/pantheon/apps/elementary-calculator/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix index 1876020a8fe..8d394b824a5 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 = { From 0288741d260de7aa521bc7d8eac5b8cfb175d5e1 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:08:23 -0400 Subject: [PATCH 099/132] pantheon.elementary-calendar: 5.0.3 -> 5.0.4 --- pkgs/desktops/pantheon/apps/elementary-calendar/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix index 5a70fa94c5e..c7e36d09022 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 = { From e25b83624db356a3995b42ebe0a9fbb0532ce357 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:08:42 -0400 Subject: [PATCH 100/132] pantheon.elementary-camera: 1.0.5 -> 1.0.6 --- pkgs/desktops/pantheon/apps/elementary-camera/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-camera/default.nix b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix index 7c95d88053d..eb456df6d16 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 = { From 9ccc309744ab1eb62d93ca9c2deca7d986fde88b Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:08:56 -0400 Subject: [PATCH 101/132] pantheon.elementary-code: 3.3.0 -> 3.4.0 --- pkgs/desktops/pantheon/apps/elementary-code/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/pkgs/desktops/pantheon/apps/elementary-code/default.nix index 148b82fd84a..e77d94c22fd 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 = { From 450abc650f9ca2660ddfd65a032d37d5210adc9c Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:09:10 -0400 Subject: [PATCH 102/132] pantheon.elementary-files: 4.4.1 -> 4.4.2 --- pkgs/desktops/pantheon/apps/elementary-files/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/pkgs/desktops/pantheon/apps/elementary-files/default.nix index d83510c49f6..a0495de7f46 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 = { From b1e60062b7f27a148e88eb4d7b78a53dfefbaf39 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:09:23 -0400 Subject: [PATCH 103/132] pantheon.elementary-terminal: 5.5.1 -> 5.5.2 --- .../pantheon/apps/elementary-terminal/default.nix | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix index 7ebdbd9b591..f9f81c37a4b 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 ]; From d1b061a01fcd24e273b63d9e42df00aa0ff541b9 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:09:42 -0400 Subject: [PATCH 104/132] pantheon.sideload: 1.0.1 -> 1.1.0 --- pkgs/desktops/pantheon/apps/sideload/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/sideload/default.nix b/pkgs/desktops/pantheon/apps/sideload/default.nix index efe34da7b26..e2c522355f6 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 = { From dd89d6af4efa5658c7318e2805a7b76ea0553595 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:10:04 -0400 Subject: [PATCH 105/132] pantheon.switchboard: 2.3.8 -> 2.3.9 --- pkgs/desktops/pantheon/apps/switchboard/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard/default.nix index 28ec4e65f52..7b00a403c15 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 = { From 992a3da8609ebfa1e2363f69b5476ade1c7b800c Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:10:31 -0400 Subject: [PATCH 106/132] pantheon.granite: 5.3.0 -> 5.3.1 --- pkgs/desktops/pantheon/granite/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/granite/default.nix b/pkgs/desktops/pantheon/granite/default.nix index 198be9f3430..b8c9021dd15 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 = { From 5093dcea7b87b331fdac34f7a6ebd3ecc55c7338 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:10:49 -0400 Subject: [PATCH 107/132] pantheon.switchboard-plug-a11y: 2.1.3 -> 2.2.0 --- .../pantheon/apps/switchboard-plugs/a11y/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix index 5cd5d365ed9..e1868b39f28 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; From fac751f8159d8e4714303a99e257e2d5f6497ebb Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:11:04 -0400 Subject: [PATCH 108/132] pantheon.switchboard-plug-datetime: 2.1.6 -> 2.1.7 --- .../apps/switchboard-plugs/datetime/default.nix | 13 ++----------- .../apps/switchboard-plugs/datetime/timezone.patch | 13 ------------- 2 files changed, 2 insertions(+), 24 deletions(-) delete mode 100644 pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix index 501059896f2..271c2e15614 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 35f73d36599..00000000000 --- 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; From 441d85c4c50214128fc4a4dfa138edf250414e03 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:11:21 -0400 Subject: [PATCH 109/132] pantheon.switchboard-plug-keyboard: 2.3.5 -> 2.3.6 --- .../switchboard-plugs/keyboard/default.nix | 18 ++------------- .../apps/switchboard-plugs/keyboard/xkb.patch | 22 ------------------- 2 files changed, 2 insertions(+), 38 deletions(-) delete mode 100644 pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix index 81a694f2ea9..bb563796eab 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 33237d9c939..00000000000 --- 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; From f38f4d73a575d09cc9c7bf85b357fc066be149e2 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:11:34 -0400 Subject: [PATCH 110/132] pantheon.switchboard-plug-network: 2.2.0 -> 2.3.0 --- .../switchboard-plugs/network/default.nix | 4 ++-- .../switchboard-plugs/network/fix-paths.patch | 23 ++++++------------- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix index 1ff1068119b..99880e318f5 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 e2d7a6d4970..b99f59fb268 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); From b8ed81e2e30c5da1d53a6aa01920bbd98c31733f Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:11:51 -0400 Subject: [PATCH 111/132] pantheon.switchboard-plug-notifications: 2.1.5 -> 2.1.6 --- .../apps/switchboard-plugs/notifications/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix index bd7fee51d8d..781aaf2fad2 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; From 803c6ab106047b9a5af19f4ad0d22efa72b96e42 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:12:04 -0400 Subject: [PATCH 112/132] pantheon.switchboard-plug-power: 2.4.0 -> 2.4.1 --- .../pantheon/apps/switchboard-plugs/power/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix index a8513f0b29b..fbea249788e 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 = { From 650e29750bc48c9e9c8851ab2c0e23ce25482e68 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:12:17 -0400 Subject: [PATCH 113/132] pantheon.switchboard-plug-printers: 2.1.7 -> 2.1.8 --- .../pantheon/apps/switchboard-plugs/printers/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix index b21fc1c099f..67e8a3c2134 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 = { From 64a413119282666f7bef3f795a74b082bc117078 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:12:30 -0400 Subject: [PATCH 114/132] pantheon.switchboard-plug-sharing: 2.1.3 -> 2.1.4 --- .../apps/switchboard-plugs/sharing/default.nix | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix index 3d240fc6221..4f5f424746d 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; From f16c90aaf9823f63de2d2d11fdbcee3025755203 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:12:43 -0400 Subject: [PATCH 115/132] pantheon.switchboard-plug-sound: 2.2.2 -> 2.2.3 --- .../pantheon/apps/switchboard-plugs/sound/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix index 8d8cd1c940a..9677a547fcb 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 = { From 6d778caaa3450c0d66aa48e9dbefac9ace8c17d0 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:13:05 -0400 Subject: [PATCH 116/132] pantheon.elementary-onboarding: 1.1.0 -> 1.2.0 --- .../pantheon/desktop/elementary-onboarding/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix index 06b5183c1e0..2056c73a97e 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 = { From 7dfa6b07bb3cd84513811787606bad4fcf2de84e Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:13:29 -0400 Subject: [PATCH 117/132] pantheon.elementary-shortcut-overlay: 1.1.0 -> 1.1.1 --- .../pantheon/desktop/elementary-shortcut-overlay/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix index 2ba5f4becc1..2ddfcf23c6a 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 = { From a7156075772b091d56e99f24d53a9e024c9a05ec Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:13:46 -0400 Subject: [PATCH 118/132] pantheon.wingpanel-indicator-datetime: 2.2.1 -> 2.2.2 --- .../wingpanel-indicators/datetime/default.nix | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix index f6ff962a944..7194a649d00 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 From 777fe621faa53c356219e5093bbbfac591896e40 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:13:59 -0400 Subject: [PATCH 119/132] pantheon.wingpanel-indicator-keyboard: 2.2.0 -> 2.2.1 --- .../wingpanel-indicators/keyboard/default.nix | 10 ++++------ .../keyboard/fix-paths.patch | 17 ++--------------- 2 files changed, 6 insertions(+), 21 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix index 66f805b9a49..e6f05a58d76 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 58e6853e606..4fb6dfac86d 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; From 9ab8551077f86c685e6accf809463895a5b20562 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:14:15 -0400 Subject: [PATCH 120/132] pantheon.wingpanel-indicator-network: 2.2.2 -> 2.2.3 --- .../desktop/wingpanel-indicators/network/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix index cd04e6287b7..c86bf45719e 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; From 748e6fc58d58ac10ae3c68081483f0357570f384 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:14:35 -0400 Subject: [PATCH 121/132] pantheon.wingpanel-indicator-notifications: 2.1.3 -> 2.1.4 --- .../desktop/wingpanel-indicators/notifications/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix index e5dabead7c5..966753783eb 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix @@ -14,13 +14,13 @@ 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 = { From 54c75c69e72e0e731c38b931659561fff9c98f6f Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:14:52 -0400 Subject: [PATCH 122/132] pantheon.wingpanel-indicator-power: 2.1.4 -> 2.1.5 --- .../pantheon/desktop/wingpanel-indicators/power/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix index 12223644971..80dc22b152e 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 From ce12d345dd7f5da82822f04a27b41d29ec08d430 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 3 Apr 2020 17:15:05 -0400 Subject: [PATCH 123/132] pantheon.wingpanel-indicator-session: 2.2.7 -> 2.2.8 --- .../pantheon/desktop/wingpanel-indicators/session/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix index af6155037ef..d26e237b87c 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 = { From 83eafe80f295ab8d30933cc546a410e6117f31f4 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 5 Apr 2020 19:59:40 -0400 Subject: [PATCH 124/132] pantheon.wingpanel-indicator-sound: 2.1.4 -> 2.1.5 --- .../pantheon/desktop/wingpanel-indicators/sound/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix index ccd233e1a3e..4025c5a767d 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 = { From 120a2f30338669b0099d70eb40a8f13c9276c135 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sat, 28 Mar 2020 19:38:33 -0400 Subject: [PATCH 125/132] pantheon.cerbere: remove --- .../x11/desktop-managers/pantheon.nix | 1 - pkgs/desktops/pantheon/default.nix | 4 +- .../pantheon/services/cerbere/default.nix | 58 ------------------- 3 files changed, 2 insertions(+), 61 deletions(-) delete mode 100644 pkgs/desktops/pantheon/services/cerbere/default.nix diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 869c6694489..882f3a8e8c4 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -206,7 +206,6 @@ in }) # Services - cerbere elementary-capnet-assist elementary-dpms-helper elementary-settings-daemon diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index d4e6b192f20..8f9110c154b 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -99,8 +99,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 +198,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/services/cerbere/default.nix b/pkgs/desktops/pantheon/services/cerbere/default.nix deleted file mode 100644 index 02c885198b6..00000000000 --- 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; - }; - -} From 4fa0ae2f1f84b1d9ea75ade672394fe95f57d5b5 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sat, 28 Mar 2020 19:49:48 -0400 Subject: [PATCH 126/132] pantheon.elementary-dock: init at 2020-02-28 It seems Pantheon has forked Plank. --- .../x11/desktop-managers/pantheon.nix | 2 +- .../pantheon/apps/elementary-dock/default.nix | 78 +++++++++++++++++++ pkgs/desktops/pantheon/default.nix | 2 + 3 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 pkgs/desktops/pantheon/apps/elementary-dock/default.nix diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 882f3a8e8c4..9782b950dad 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 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 00000000000..ee9df9955f4 --- /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/default.nix b/pkgs/desktops/pantheon/default.nix index 8f9110c154b..b545a69e424 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 { }; From 69491623614c88bd7a960d416c05dab6e6f9c11c Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sat, 28 Mar 2020 20:03:49 -0400 Subject: [PATCH 127/132] pantheon.xml: drop slow shutdown workaround Them removing cerbere and registering with the SessionManager should make shutdown very fast. This was even done in plank [0] which was the last factor outside cerbere causing this. [0]]: https://github.com/elementary/dock/commit/a8d2f255b2909cc548a13021fd4c0641c4249896 --- .../services/x11/desktop-managers/pantheon.xml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.xml b/nixos/modules/services/x11/desktop-managers/pantheon.xml index 4d92a7446c0..9541f2cfd4e 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. From aa41c5910c4b398c9a0330cb149d1fd80388b6cd Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 5 Apr 2020 20:02:59 -0400 Subject: [PATCH 128/132] pantheon.wingpanel: 2.2.6 -> 2.3.0 https://github.com/elementary/wingpanel/releases/tag/2.3.0 --- pkgs/desktops/pantheon/desktop/wingpanel/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix index 694166a5d64..ae9e31a4a09 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 = { From 51e44cc0baf9137132d8b4cff96ba4e7d374bc6f Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 5 Apr 2020 20:03:35 -0400 Subject: [PATCH 129/132] pantheon.elementary-greeter: 5.0.2 -> 5.0.3 https://github.com/elementary/greeter/releases/tag/5.0.3 --- pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix index 21698bed22d..1a268c35fa2 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 = { From 9683e64ff5b4a07418c18af4c115f906d02a756d Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 5 Apr 2020 20:04:04 -0400 Subject: [PATCH 130/132] pantheon.gala: 3.2.0 -> 3.3.0 https://github.com/elementary/gala/releases/tag/3.3.0 --- .../pantheon/desktop/gala/default.nix | 4 +-- .../pantheon/desktop/gala/plugins-dir.patch | 30 +++++++++---------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/gala/default.nix b/pkgs/desktops/pantheon/desktop/gala/default.nix index 5791fb5c58f..643e66aef92 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 e83308ea552..f08652e9f63 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') From 737586bf4fcd93a3c20ad9056fe0630dd76f10cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sun, 5 Apr 2020 22:01:34 -0300 Subject: [PATCH 131/132] gnome2.gnome-icon-theme: move to pkgs/data/icons --- .../modules/services/x11/desktop-managers/enlightenment.nix | 2 +- .../desktop => data/icons}/gnome-icon-theme/default.nix | 0 pkgs/desktops/gnome-2/default.nix | 5 ++--- pkgs/desktops/gnome-2/desktop/mail-notification/default.nix | 4 ++-- pkgs/tools/misc/alarm-clock-applet/default.nix | 3 ++- pkgs/top-level/all-packages.nix | 2 ++ 6 files changed, 9 insertions(+), 7 deletions(-) rename pkgs/{desktops/gnome-2/desktop => data/icons}/gnome-icon-theme/default.nix (100%) diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix index e9841edc9fa..32c9a40e535 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/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix b/pkgs/data/icons/gnome-icon-theme/default.nix similarity index 100% rename from pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix rename to pkgs/data/icons/gnome-icon-theme/default.nix diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix index f1822385f0f..4212fa68bd4 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,7 +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/mail-notification/default.nix b/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix index bce45c66b6f..5a81c1bcb1a 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/tools/misc/alarm-clock-applet/default.nix b/pkgs/tools/misc/alarm-clock-applet/default.nix index ae9c88c0a6f..c92c0821092 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3bbbb74c2b7..d2e6ef032ec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17812,6 +17812,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 { }; From ce867da9973f147438b14fe15165a6a0e9697cb3 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 6 Apr 2020 01:35:42 -0400 Subject: [PATCH 132/132] pantheon.wingpanel-indicator-notifications: remove wnck Don't need it https://github.com/elementary/wingpanel-indicator-notifications/commit/8ba4666015db67ba0eec16e4851070e615b57fec --- .../desktop/wingpanel-indicators/notifications/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix index 966753783eb..95d19894880 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix @@ -9,7 +9,6 @@ , granite , wingpanel , libgee -, libwnck3 }: stdenv.mkDerivation rec { @@ -40,7 +39,6 @@ stdenv.mkDerivation rec { granite gtk3 libgee - libwnck3 wingpanel ];