diff --git a/ChangeLog.md b/ChangeLog.md index 13be115df..5038d1e45 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -4,11 +4,23 @@ This project's release branch is `master`. This log is written from the perspect ## Unreleased +* Bump + * Nixpkgs to 21.05 + * Android: Use gradle v7 and build-tools 30.0.2 by default + +* Android: Automatically set build tool version in gradle.properties based on the configured `buildToolsVersions` + +## Unreleased + * Fix SIGBUS crashes on armv7a due unaligned writes ([!774](https://github.com/reflex-frp/reflex-platform/pull/774)) * Always use GHC 8.10.7, not GHC 8.10.4, for GHC 8.10. Previously we were using mixed GHC 8.10 versions to avoid issues. * GHC 8.10 support is complete, with the remaining profiling builds that worked for 8.6 (everything but GHCJS's) now also working for 8.10. +* *Breaking Change*: The `javaSources` argument of `android/default.nix` is now + a function that takes the default sources as arguments instead of a list that + is always appended to the default sources. It is now possible to override the + default java sources. See the documentation [here](android/default.nix). * GHCJS 8.6 no longer uses older versions of some libraries with "text JS-string" @@ -28,6 +40,11 @@ This project's release branch is `master`. This log is written from the perspect * all-cabal-hashes "Update from Hackage at 2022-01-20T19:38:07Z" * dependent-sum-template to 0.1.1.0 * some to 1.0.2 + * monoidal-containers to 0.6.2.0 + * witherable to 0.4.2 + * patch to 0.0.7.0 + * reflex-vty to 0.2.0.1 + * reflex-ghci to 0.1.5.3 Prerequisite bumps: diff --git a/HACKING.md b/HACKING.md index 7734b44a1..3b63efa90 100644 --- a/HACKING.md +++ b/HACKING.md @@ -31,9 +31,9 @@ Many different platform are provided for you. A partial list of possible platforms include: - ghc -- ghc8_6 +- ghc8_10 - ghcjs -- ghcjs8_6 +- ghcjs8_10 In addition, instead of specifying the name of the platform, you can specify a path to a Nix expression file representing a Haskell diff --git a/android/build-gradle-app.nix b/android/build-gradle-app.nix index 2bcc02f20..f6f02ff5c 100644 --- a/android/build-gradle-app.nix +++ b/android/build-gradle-app.nix @@ -1,8 +1,8 @@ -{ stdenv, androidenv, jdk, gnumake, gawk, file +{ stdenv, lib, androidenv, jdk, gnumake, gawk, file , which, gradle, fetchurl, buildEnv, runCommand }: args@{ name, src, platformVersions ? [ "8" ] - , buildToolsVersions ? [ "28.0.3" ] + , buildToolsVersions ? [ "30.0.2" ] , useGoogleAPIs ? false, useGooglePlayServices ? false , release ? false, keyStore ? null, keyAlias ? null , keyStorePassword ? null, keyAliasPassword ? null @@ -16,7 +16,7 @@ assert release -> keyAliasPassword != null; assert acceptAndroidSdkLicenses; let - inherit (stdenv.lib) optionalString optional; + inherit (lib) optionalString optional; m2install = { repo, version, artifactId, groupId , jarSha256, pomSha256, aarSha256, suffix ? "" @@ -48,6 +48,7 @@ let ''); androidsdkComposition = androidenv.composeAndroidPackages { inherit platformVersions useGoogleAPIs buildToolsVersions; + includeNDK = true; includeExtras = [ "extras;android;m2repository" ] ++ optional useGooglePlayServices "extras;google;google_play_services"; }; @@ -59,7 +60,7 @@ stdenv.mkDerivation ({ ANDROID_HOME = "${androidsdkComposition.androidsdk}/libexec"; ANDROID_NDK_HOME = "${androidsdkComposition.ndk-bundle}/libexec/android-sdk/ndk-bundle"; - buildInputs = [ jdk gradle ] ++ buildInputs ++ stdenv.lib.optional useNDK [ androidsdkComposition.ndk-bundle gnumake gawk file which ]; + buildInputs = [ jdk gradle ] ++ buildInputs ++ lib.optional useNDK [ androidsdkComposition.ndk-bundle gnumake gawk file which ]; DEPENDENCIES = buildEnv { name = "${name}-maven-deps"; paths = map m2install mavenDeps; @@ -74,6 +75,9 @@ stdenv.mkDerivation ({ echo "RELEASE_KEY_PASSWORD=${keyAliasPassword}" ) >> gradle.properties ''} + ${optionalString (builtins.length buildToolsVersions > 0) '' + echo "android.aapt2FromMavenOverride=local_sdk/android-sdk/build-tools/${builtins.head buildToolsVersions}/aapt2" >> gradle.properties + ''} buildDir=`pwd` cp -rL $ANDROID_HOME $buildDir/local_sdk chmod -R 755 local_sdk @@ -100,10 +104,12 @@ stdenv.mkDerivation ({ installPhase = '' mkdir -p $out - cp -RL build/outputs/apk/*/*.apk $out + ${if gradleTask == "bundleRelease" + then "cp -RL build/outputs/bundle/release/*.aab $out" + else "cp -RL build/outputs/apk/*/*.apk $out"} ''; meta = { - license = stdenv.lib.licenses.unfree; + license = lib.licenses.unfree; }; } // builtins.removeAttrs args ["name" "mavenDeps"]) diff --git a/android/build.gradle.nix b/android/build.gradle.nix index dfaff147d..9b3ea0575 100644 --- a/android/build.gradle.nix +++ b/android/build.gradle.nix @@ -9,11 +9,15 @@ '' buildscript { repositories { - mavenLocal() + mavenLocal { + metadataSources { + mavenPom() + artifact() + } + } } dependencies { - classpath 'com.android.tools.build:gradle:3.4.2' - classpath 'com.android.tools.lint:lint:26.4.2' + classpath 'com.android.tools.build:gradle:4.2.2' ${googleServicesClasspath} } } @@ -28,15 +32,20 @@ task proguard(type: proguard.gradle.ProGuardTask) { allprojects { repositories { - mavenLocal() + mavenLocal { + metadataSources { + mavenPom() + artifact() + } + } } } apply plugin: 'com.android.application' android { - compileSdkVersion 29 - buildToolsVersion '28.0.3' + compileSdkVersion 30 + buildToolsVersion '30.0.2' sourceSets { main { @@ -47,10 +56,16 @@ android { jniLibs.srcDir 'lib' } } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + defaultConfig { applicationId "${applicationId}" minSdkVersion 21 - targetSdkVersion 29 + targetSdkVersion 30 versionCode ${version.code} versionName "${version.name}" multiDexEnabled false diff --git a/android/buildIcons.nix b/android/buildIcons.nix index 9f6f7b856..81e623204 100644 --- a/android/buildIcons.nix +++ b/android/buildIcons.nix @@ -1,8 +1,17 @@ -{ runCommand, imagemagick }: -{ src }: +{ runCommand, imagemagick, lib }: +{ src ? null # Base raster image for fixed-size icons (must be a path) +, adaptiveIcon ? null + # Path to a XML file containing the adaptive icon specification (SDK + # 26 and up). +}: +let + rasterInput = + if (src == null) && (adaptiveIcon == null) + then abort "Either src or adaptiveIcon must be specified!" + else src; +in runCommand "android-icons" { - inherit src; - buildCommand = '' + buildCommand = lib.optionalString (src != null) '' mkdir "$out" launcherIconSize() { @@ -20,8 +29,11 @@ runCommand "android-icons" { for x in l m tv h xh xxh xxxh ; do local dir="$out/drawable-''${x}dpi" mkdir "$dir" - convert -resize "$(launcherIconSize "$x")" -flatten "$src" "$dir/ic_launcher.png" + convert -resize "$(launcherIconSize "$x")" -flatten "${rasterInput}" "$dir/ic_launcher.png" done + '' + lib.optionalString (adaptiveIcon != null) '' + mkdir -p "$out/mipmap-anydpi-v26/" + cp "${adaptiveIcon}" "$out/mipmap-anydpi-v26/ic_launcher.xml" ''; nativeBuildInputs = [ imagemagick diff --git a/android/default.nix b/android/default.nix index f09b6cfa8..d50104cc6 100644 --- a/android/default.nix +++ b/android/default.nix @@ -109,8 +109,14 @@ in rec { # You need to patch soname in make files of libraries to link against # unversioned libraries. - , javaSources ? [] - # A list of additional Java source directories to include in the APK build + , javaSources ? (androidActivitySrc: mainWidgetSrc: [ androidActivitySrc mainWidgetSrc ]) + # A function that is used to build the list of android source files. The + # arguments to this function are: + # * The default android-activity java source tree (from the [android-activity package](https://hackage.haskell.org/package/android-activity)) + # * The default "main widget" java source tree (from [reflex-dom](https://github.com/reflex-frp/reflex-dom/blob/develop/reflex-dom/java/org/reflexfrp/reflexdom/MainWidget.java)) + # Those arguments can be selectively ignored and replaced with alternate + # implementations. Additional Java source directories can also be added + # to the list for inclusion in the APK build , universalApk ? true # Set this to false to build one APK per target platform. This will diff --git a/android/defaults/deps.nix b/android/defaults/deps.nix index f033cc3ea..8e9e49d3c 100644 --- a/android/defaults/deps.nix +++ b/android/defaults/deps.nix @@ -81,18 +81,18 @@ { artifactId = "databinding-common"; groupId = "androidx.databinding"; - version = "3.4.2"; + version = "4.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "52886c0ef6cfa492d07b40c3952201d6d2f0cfc680144fbefc69d2d5cb786c25"; - pomSha256 = "fb5c804e2d81186e9e63e45b7e97eec54aa6f5d502b763abfbb0c57b62b86b4c"; + jarSha256 = "b1aaf40152c4c610280a35ae439a31d86aa7fbbb5d3379036ecf012b290a19b7"; + pomSha256 = "e67bc6c3d337678de3ddaf28c61a495ecb12eabd66678a0ebeb66f7e84f948f4"; aarSha256 = null; } { artifactId = "databinding-compiler-common"; groupId = "androidx.databinding"; - version = "3.4.2"; + version = "4.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "770b6a82da0684f93d037ed5d241248cb25862ed14ecd7d9ec8c756153266051"; - pomSha256 = "6082c0a366fac7506c65d276ecbb25b3a053428a4c1f534cd2568c1f12f23e52"; + jarSha256 = "ec212fbdb77e41386b5b423b12b69f4d839f954c79d449bc57c648e603a1b755"; + pomSha256 = "6f2398a2db43ade9e44454c9898fdaae0df4746db1b53ca7c854af2a535d592d"; aarSha256 = null; } { artifactId = "documentfile"; @@ -239,180 +239,204 @@ pomSha256 = "1f72f836339d03c6eb013f65075e76ca87075a577578eb4f95f74a3a5d253128"; aarSha256 = "147af4e14a1984010d8f155e5e19d781f03c1d70dfed02a8e0d18428b8fc8682"; } + { artifactId = "signflinger"; + groupId = "com.android"; + version = "4.2.2"; + repo = "https://maven.google.com/"; + jarSha256 = "4d7aafd9666707b483b1ad2c466824287cf2e379dda1d204dd3b7e453ffcf760"; + pomSha256 = "7032f04664cefb8a2873f3ee83a0815eeab696d7474c15ead1d946ec722b47c6"; + aarSha256 = null; } + + { artifactId = "zipflinger"; + groupId = "com.android"; + version = "4.2.2"; + repo = "https://maven.google.com/"; + jarSha256 = "8e4677086c9a8f4a67374a4edc31db7e481f0d9b85907263c51ca72452c23a93"; + pomSha256 = "0da5d6433c442a72c6a7792fd77aa2b47b060ee645ba7fa9371f404856233111"; + aarSha256 = null; } + { artifactId = "baseLibrary"; groupId = "com.android.databinding"; - version = "3.4.2"; + version = "4.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "5e4f3b90995be63f3c8eeecce120c588a98c6aad3b54f60ad4c80b5418c4b012"; - pomSha256 = "63da0e18ab10800d448b0d8ab2171bf9a2e273d06300a7c79fd39d7fa6effee1"; + jarSha256 = "3bf72e0a904a638da231ead13368d45f3f59864505619af9cf7a080c757243b9"; + pomSha256 = "4d77b2e9da4e4f21463888fcfcc9103e3924fc1770ea8ff0278c7b986fc71ca0"; aarSha256 = null; } { artifactId = "annotations"; groupId = "com.android.tools"; - version = "26.4.2"; + version = "27.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "1877849936f48cd65857bf448743f9a0bf93ed47fe57527d9ad8af875024888d"; - pomSha256 = "c17bdf198c7609ce6fc63169800b26e366ff3131b8360ca9979c8234eba90c44"; + jarSha256 = "9375fb2df5c0cf1b46fef9e65b3a27ac88925ccf90054b19ae0ca0adc7036fe1"; + pomSha256 = "6079a742cf454932d291d81c0640dd9756577ec8d1e027acafe31e3de7fe1210"; aarSha256 = null; } { artifactId = "common"; groupId = "com.android.tools"; - version = "26.4.2"; + version = "27.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "bbda65fe64198125142ecc2079b62835f50ae105e51f34f8349ac129b72efd7c"; - pomSha256 = "612f0dcf0c4675737ae8e214bb5b16b8536aaa3cfb786dfa93245e6e8b450e73"; + jarSha256 = "a76f4e10cad39bed317be031fee915d280aa8bc11616c58ab94e051b1e38769d"; + pomSha256 = "386c0e9f163e8d6a54470399ca1a8f81870ed0c91d528fe6169c8bb110acd288"; aarSha256 = null; } { artifactId = "dvlib"; groupId = "com.android.tools"; - version = "26.4.2"; + version = "27.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "f34fa4196d78b1c36db2e016303d59935fdc2b1abd0b4e40b95fa63d6087c582"; - pomSha256 = "fe401446f64f3531565ce332b09b0de5ca53134b3263ce931896f3f5d94460bf"; + jarSha256 = "9931c6b57460b5f8cc2613ca5ff8596aa089a67655ace13d173f90538ecb4301"; + pomSha256 = "fde5930331444ba6b68e1a03d0177f3055370ecb2e157899e7faa8bbaa93d19d"; aarSha256 = null; } { artifactId = "repository"; groupId = "com.android.tools"; - version = "26.4.2"; + version = "27.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "5183d0d2493d588d7960f954221a29130b67f1ac5f78c2d6f69195346b69617a"; - pomSha256 = "98702b96fb86f22c1f230316ae8172fd9e843929485bba86a1a01e97614a8434"; + jarSha256 = "ac5f9b19dc5d9d08e80b57da76059f5760ca76c221e40ffd4bf43d7b13991674"; + pomSha256 = "ee48662c9180a00761e88f5b987f49d2ae93bc19dd485875644b0d1ab91b402d"; aarSha256 = null; } { artifactId = "sdk-common"; groupId = "com.android.tools"; - version = "26.4.2"; + version = "27.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "df1e814bdcee8f60c1057a3df2b2cd6c089623414017283740eb50152f1e70c5"; - pomSha256 = "c7786e12c89c77e4daea2ebb991491821f90364cd5e06a02b56371a42084b3c0"; + jarSha256 = "b147acc13850808d61fc391ccfeeebdf90841b461a7042acb2d92e466da8e674"; + pomSha256 = "80f999d14b7113727de314823943b7c49aa4bd205e72b0fdae326a5492315fda"; aarSha256 = null; } { artifactId = "sdklib"; groupId = "com.android.tools"; - version = "26.4.2"; + version = "27.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "ebec9d8e0a140b376aade276b08572cb1f8cf954249b469bee6dce6fd5a45cd4"; - pomSha256 = "768b365f2486e344d012d5b4b9b195fde8bfb442c23dca89d258a7766cdba5c8"; + jarSha256 = "fae0bafbe8b4f546cf64986a22b7d8ed108d45519366ff22f0170a9cf3ea7f34"; + pomSha256 = "38f382d03a407e421ef86e52deecc7ee8df02892d293e9fce647549c5373f994"; aarSha256 = null; } { artifactId = "crash"; groupId = "com.android.tools.analytics-library"; - version = "26.4.2"; + version = "27.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "22189a009a57c1741f74deeae5442a101c1c5c8bd6c6404e8e87a7d7f58044e4"; - pomSha256 = "aea2ab26c83212e1b81b5d2e91056ea41b1dbbc2f0801bbb3921a405da6bf685"; + jarSha256 = "2965780e340dc46f837681f8d4e915b8d93ac2a4560b9df23cbfade814091eb8"; + pomSha256 = "1f2ee5f417ec7e105921e5fda995af4cae5160b892ba8383dc0da70d906185a7"; aarSha256 = null; } { artifactId = "protos"; groupId = "com.android.tools.analytics-library"; - version = "26.4.2"; + version = "27.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "39f429bc72340a45ea1b77ade9a4aa11ecebcb2a9dd0bb3619bfedc40800af0e"; - pomSha256 = "ff1ca6ebc2153aaf2ec92880c3240971b4aee894b19bd145f6385fbb18808029"; + jarSha256 = "02482564443c294dfe87c5f2b25387f724a698a09ed58e0cf0127400caa35a19"; + pomSha256 = "de8e37c4b1e8a90b9f681f219e66eb5c6b15c2a66db100a02d7402c39be56ff1"; aarSha256 = null; } { artifactId = "shared"; groupId = "com.android.tools.analytics-library"; - version = "26.4.2"; + version = "27.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "a3ee9f50da48f12d3677f18372fffdcf51f3c340335e335fb71365c92e31d1de"; - pomSha256 = "95cadcfabab9a6a7e8a2146938de653b559161c098d82a9d34621bbd2b8cdab9"; + jarSha256 = "0efe017ca17ee775c5af386475a09799a1282faa04821d54810c1a34f6348d9c"; + pomSha256 = "ed68d316c91d5067b1031b2004e073732418162877811ae72bbc1d83158eddca"; aarSha256 = null; } { artifactId = "tracker"; groupId = "com.android.tools.analytics-library"; - version = "26.4.2"; + version = "27.2.2"; + repo = "https://maven.google.com/"; + jarSha256 = "62489d84192dc06219664945c43201654ff85c3b715f46550751512a880d0e39"; + pomSha256 = "f0e8fb7900e40b7fcf2f77ddab05d043056c1cadc9775d20a3fcc315729745fc"; + aarSha256 = null; } + + { artifactId = "aapt2-proto"; + groupId = "com.android.tools.build"; + version = "4.1.0-alpha01-6193524"; repo = "https://maven.google.com/"; - jarSha256 = "b888eba61ebe734f8e50b60fa1bf38d9144dc031abb3704d6f2b4e445a53196e"; - pomSha256 = "ccfc624a522641d858e7a6477abb698889bd81de584d04b705a737bd59d7c784"; + jarSha256 = "17e75523e1e92dd4f222c7368ee41df9e964a508232f591e265d0c499baf9dca"; + pomSha256 = "140a406bcc52be2c99937c51f629076134c74fb060aeedb9f54e91cb7091d786"; aarSha256 = null; } { artifactId = "aapt2-proto"; groupId = "com.android.tools.build"; - version = "0.3.1"; + version = "4.2.2-7147631"; repo = "https://maven.google.com/"; - jarSha256 = "a503219b89b0aaf7b7c6c9b3b17d69e655a6c619072b684a1ea4fbf1d7dc49da"; - pomSha256 = "31e5f0e56b59a7c1433ab4a0396fd6178ef28def6cf6eb58e235d7cf40efd01d"; + jarSha256 = "9d645a960fa55b348f9b0c35c8b9a20e2859e723bde68d08bcbfa86823f46061"; + pomSha256 = "e9d1a2736ba485b958c096636d9a1ba75c5d49b68d8c9cfc19f11be6121e897f"; + aarSha256 = null; } + + { artifactId = "aaptcompiler"; + groupId = "com.android.tools.build"; + version = "4.2.2"; + repo = "https://maven.google.com/"; + jarSha256 = "6f26ecf4535a094ae1fec9804f68bf8b2da43421dd16e3c1dade0b1d323051e1"; + pomSha256 = "55a155b1d3d9a3d031f7b3e6953dbc70c869fba4940409f0383c7fbe6bd41946"; aarSha256 = null; } { artifactId = "apksig"; groupId = "com.android.tools.build"; - version = "3.4.2"; + version = "4.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "7cb448a8317dc3b82629898c211895862453eee62acb12ad23c32ccdc2c942e2"; - pomSha256 = "bf7a23f999b0ad601ff9bf7b1e3987993587e51527e1b00991f4cc85370b2fc1"; + jarSha256 = "632690bf641b429dcb31650e6b2f6a2e87c4ac8afd45a6ba3cbc99fb1612178f"; + pomSha256 = "3f4cd9d77e9c338db6293bfdc5eed183d144b5a9e5671b853ddb327f600e25ac"; aarSha256 = null; } { artifactId = "apkzlib"; groupId = "com.android.tools.build"; - version = "3.4.2"; + version = "4.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "e00dbbd0997beba194e18d2a62647e42b2e62192652796bcbe5ea9b06687ba5c"; - pomSha256 = "256d360aa2524cebf97cf245b93e175b7062719c68d015297cfef37cfe9930ab"; + jarSha256 = "3b5167c1265e97f65201c4d2be6a6f72165a3aa2fe9e0594a59b67af9e9e97b9"; + pomSha256 = "5d7fec8433bc2c9cd7e5653d714004be22585215f88a8e20b2338edc82b38360"; aarSha256 = null; } { artifactId = "builder"; groupId = "com.android.tools.build"; - version = "3.4.2"; + version = "4.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "3d104b1e0083aac49f5ea8d5e0e0cd740dd333bef2683a3214e1cd1953ffd661"; - pomSha256 = "0e7df1472a90a67d611f17528dfc2b6bcbc9fa7f799573ba79ec4407305a2ad8"; + jarSha256 = "40fedd0d16db8f34ddb4eaf812d966b90ef1764f65cf119030442823bcf995cd"; + pomSha256 = "f9b8a5310e9238bb1c97647ddce69e1ecbce8abea05370b9699ea4ea8b0b6037"; aarSha256 = null; } { artifactId = "builder-model"; groupId = "com.android.tools.build"; - version = "3.4.2"; + version = "4.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "ddb36ca7fe72024bd53fbdd2700f1a9a9af5b1502062d59952eb3da7584fe413"; - pomSha256 = "677521e59c49c5e9c99ae390bab53139d062f05764d7363894c1e1864ef0aff5"; + jarSha256 = "41868de0cb88ae70b828eee4191c13e0233f433abb1becdf6a2bd391bd446bc0"; + pomSha256 = "e81957f5e09b4b2ae46a41ce64ccd09c7bce485b2a6e6dcb56c746ac24a4c932"; aarSha256 = null; } { artifactId = "builder-test-api"; groupId = "com.android.tools.build"; - version = "3.4.2"; + version = "4.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "40c62a008da4fa933cb20135227409d2953ed88ed68195e0f631d326c5675c46"; - pomSha256 = "7d96325cc2fef2fa3898d121e936528f987caddbbab7cfddb524c6995b09ab1f"; + jarSha256 = "2f305c6d3a7b637d736b821bad372dcabd959e979f2065a9f65bac1e7b4d1875"; + pomSha256 = "9f3fec7226f49f24d9279c7a19b9c946284f9a623fe34bad61436f97371e2be6"; aarSha256 = null; } { artifactId = "bundletool"; groupId = "com.android.tools.build"; - version = "0.7.2"; + version = "1.1.0"; repo = "https://maven.google.com/"; - jarSha256 = "420bb34c44c9e3341583fa90bb4ad331db0b2ed902a5e75b9a420f4edd9f7894"; - pomSha256 = "e917f5fc3bef4e31107c1aaa0e47781e788be9d86682288f44cd4a3ad17b3459"; + jarSha256 = "4cb02a7963fa7c82c302fdcde679b336e669e928f5bbad00457d9c562ef1cd30"; + pomSha256 = "efe2d08fb32cd70a2ce007591bd0ceecbb2091a9b9cb4e10bc597b7bd6e3e654"; aarSha256 = null; } { artifactId = "gradle"; groupId = "com.android.tools.build"; - version = "3.4.2"; + version = "4.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "536afc619d2678b80bd7d0b5674be249f05fad349a8717998b69d48f66062fb5"; - pomSha256 = "e1d38f808e126ada6b7f77cc1d66e7fce01d1e03941d14e38062d41b7ab37953"; + jarSha256 = "6877441af1ad27acb2f68613dae556d9620ef7a5705d73b1412a49755038b3e6"; + pomSha256 = "8aabe97aec79e657f216989c7d08eaecbb72d068372772ab0f1cf1911e2a8bde"; aarSha256 = null; } { artifactId = "gradle-api"; groupId = "com.android.tools.build"; - version = "3.4.2"; + version = "4.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "e6cddde562483c96b699be25fc91a78e141397e51a382eedae9b2c0e22ea22f5"; - pomSha256 = "cc23bd10f9843e57f6f2bb1f5731ac32e1d73696927f93c3ea2972d76de3b017"; - aarSha256 = null; } - - { artifactId = "intellij-core"; - groupId = "com.android.tools.external.com-intellij"; - version = "26.4.2"; - repo = "https://maven.google.com/"; - jarSha256 = "890258258338ddfdec138852d099fec389cdcdf1d0a9cb2d0775e4275cb3a05d"; - pomSha256 = "e772f888bf1cb338f5f6d7801516cb48e31b57f8d81ae07304b0ad1a2cb1c8dc"; + jarSha256 = "dd4ef35bbbfb8fc2d20e3311c76b516bc1672e82b61cb3a59fc877da0f9b4f61"; + pomSha256 = "bfbd61b4b583eb54972fd8c93844b85b4d81b6084abbbfd71b636396a5c8127b"; aarSha256 = null; } { artifactId = "manifest-merger"; groupId = "com.android.tools.build"; - version = "26.4.2"; + version = "27.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "86a43c18ab36ae51b997784880492336c009891a05df7b40a574da51031c3f63"; - pomSha256 = "d2575b5e4a009a32dddfbae58fc882d54345ca29e1e9d550ac689ab637524b01"; + jarSha256 = "971974756f32d9e94c857d92772b1499b0b0f5d9c70cb8ebbd20d9bbf804a923"; + pomSha256 = "1f2622abdb3f327a6b4ad87fcef70ad57ffc636bd0b77237103c90b12629c8ad"; aarSha256 = null; } { artifactId = "transform-api"; @@ -425,82 +449,50 @@ { artifactId = "jetifier-core"; groupId = "com.android.tools.build.jetifier"; - version = "1.0.0-beta04"; + version = "1.0.0-beta09"; repo = "https://maven.google.com/"; - jarSha256 = "c9f8b016144cfb31c5aee92d47f34de23289167cac5e8ef68365b2dd05766f11"; - pomSha256 = "db025ad1bbc6896edf0f67cda1222ba9b7ec9a0187df7f4fd0a318475c758e4e"; + jarSha256 = "9bb3a91e871e784446e4dd1e1d1dea5c322e271cba8278c1dec3669a66aee858"; + pomSha256 = "4688b442fb347820a85a8e0f019978f9eaa762fbbbadb774ab945119d7304da5"; aarSha256 = null; } { artifactId = "jetifier-processor"; groupId = "com.android.tools.build.jetifier"; - version = "1.0.0-beta04"; + version = "1.0.0-beta09"; repo = "https://maven.google.com/"; - jarSha256 = "1dd481e7606ccb30868908d9ae80f27d1c5ba882f792532bd91ed731c54f4efb"; - pomSha256 = "4973a6c6d7f89297a1cfea56c623cea72b3db3b4a49992afa00dd77ac052b89f"; + jarSha256 = "1838f9ee70120e64f45612ca071972ac83ddc118185abffbce3932a4710325eb"; + pomSha256 = "388408f994059031929d14723ec01411f85c6834608465763d4c79afe220a738"; aarSha256 = null; } { artifactId = "ddmlib"; groupId = "com.android.tools.ddms"; - version = "26.4.2"; + version = "27.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "330e3eb76d2f96e3931a8cccdbf16435e92b3398dcaa8b65c8cd1034864de720"; - pomSha256 = "4aeb9585e81656f358fd1a7a45f8c711a9eef8a61ba88641e76f776cf4f1aa10"; + jarSha256 = "9ab0f9b58737c316af454184705854c75936ca3531f21acc29bd68a3343334d1"; + pomSha256 = "cd42fa67187b9b395bdee26c3a829279a1afe74ab8332ac36b10520edf8ecd6f"; aarSha256 = null; } { artifactId = "layoutlib-api"; groupId = "com.android.tools.layoutlib"; - version = "26.4.2"; - repo = "https://maven.google.com/"; - jarSha256 = "52fbb3614feee0d5d474c35f8c533ff3fa090cbf0df46c06e4cf353cae1c3652"; - pomSha256 = "d59ef58abb73f06650ce1d80641fe70a3908a071fc5f98267074e6e42f904360"; - aarSha256 = null; } - - { artifactId = "lint"; - groupId = "com.android.tools.lint"; - version = "26.4.2"; - repo = "https://maven.google.com/"; - jarSha256 = "5eeb74d75aad007428ce5077f2c5c721cc7a2bb702b0525fa9605efad3afd7e8"; - pomSha256 = "ac7e208ce2e2bfece25498538c6a16b501a4813818149fc1f0670778b7bd6b24"; - aarSha256 = null; } - - { artifactId = "lint-api"; - groupId = "com.android.tools.lint"; - version = "26.4.2"; + version = "27.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "d12d58c8a2ccb68daa7cbd70a0904b8f05dfdfc6c3a1871923b1b903bf5bf4da"; - pomSha256 = "d3cdb948a13f651daf42dba2b488e4cd76092cfc5c00993c653060fb298b7ec8"; + jarSha256 = "f0901f2295d814e82ad95850ea2103dd89d8489e01727fafa55ccccc0dccd163"; + pomSha256 = "fc76d044fde1648ce195fa752bfdc2f9095b4faeeae21985b3d78515027ee409"; aarSha256 = null; } - { artifactId = "lint-checks"; + { artifactId = "lint-gradle-api"; groupId = "com.android.tools.lint"; - version = "26.4.2"; + version = "27.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "8a0246f594d685bda999a66b2409cb4e0da59e59a66021c9293fdb40cc49d879"; - pomSha256 = "e9327b00b990f6b28f8cc974e98ea4436bbf03e2bc66ea4769970eb26dd840b5"; + jarSha256 = "2be9c69d6fbbfb012ff6521fdfcb22eb7cfaa57d108e07bb1d4143dae9c1b433"; + pomSha256 = "847d7a6cb47f5143eb1c189e844dde7e59a422b591936806b626c40f28201be0"; aarSha256 = null; } - { artifactId = "lint-gradle"; + { artifactId = "lint-model"; groupId = "com.android.tools.lint"; - version = "26.4.2"; + version = "27.2.2"; repo = "https://maven.google.com/"; - jarSha256 = "7e8e000f063f42f10ca209f51a48b332db1c4d3ac30979cc49c1877ef9e4b7f1"; - pomSha256 = "1qxr3kv73c0zbf7cgw5dh6alb7j2a3akmxdgb9jp4x3y0510jdwz"; - aarSha256 = null; } - - { artifactId = "groovy-all"; - groupId = "org.codehaus.groovy"; - version = "2.4.15"; - repo = "https://repo1.maven.org/maven2/"; - jarSha256 = "1w2siawsbap3aqvp06jynw7ki79majc4k2ci4ds5ds422zkw9mji"; - pomSha256 = "0yinfr31ybi8c8h0ppf62gqpghrm5a72w71jc82sjz6vgdfm63gw"; - aarSha256 = null; } - - { artifactId = "lint-gradle-api"; - groupId = "com.android.tools.lint"; - version = "26.4.2"; - repo = "https://maven.google.com/"; - jarSha256 = "90c6a1a650a257abb5d445dde9c172d55e6d28ce943a35b4e263c4cb3dcc96b0"; - pomSha256 = "a8496204c0e7def7adee23e3d0f7ff0117b92c4809ecc8d2c06fc6b18b53e7c6"; + jarSha256 = "ee31012586462bea2d591b6175934e5f29b6f781a78fda50f79387972364b9ab"; + pomSha256 = "82d505b42e41b13de7c17503554ace51f97dfa2a47f033511c94bb1a3ecb6456"; aarSha256 = null; } { artifactId = "google"; @@ -599,20 +591,12 @@ pomSha256 = "33417a7f40225f2b5ffc67df4c2c2e7e9050028af2cbecf9de2b8e1c33401fd3"; aarSha256 = null; } - { artifactId = "uast"; - groupId = "com.android.tools.external.org-jetbrains"; - version = "26.4.2"; - repo = "https://maven.google.com/"; - jarSha256 = "187b199e1744bd3e922fb52d8f3366311468bd263aab24c65ee989d7ce8c55c3"; - pomSha256 = "0f308532ff2c78cfbb61f563cf65e8cf408afb8a615598c512649a9c397177d4"; - aarSha256 = null; } - { artifactId = "auto-parent"; groupId = "com.google.auto"; - version = "3"; + version = "6"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "c98f1b0978cfd24712c27388e040c50ce0692252b3aa9448603d9efa05ebe8a8"; + pomSha256 = "05f740c6648165db00cf618dd56c200c4725e358e6d54f5853e0bec15734ea0a"; aarSha256 = null; } { artifactId = "auto-parent"; @@ -623,12 +607,12 @@ pomSha256 = "a46426fccb5d32705ad9cbbc996f786bd048cc8cbdd21db046500169f15a4356"; aarSha256 = null; } - { artifactId = "auto-value"; + { artifactId = "auto-value-annotations"; groupId = "com.google.auto.value"; - version = "1.5.2"; + version = "1.6.2"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "6cac9421439b39b9f4aa76738ced039462a69911c410f2c372c196b0f4b7f4cf"; - pomSha256 = "901fb1440a0ef8e0c0553a7bb44c0b89647bf53c8822642eea0b57173c7c688d"; + jarSha256 = "b48b04ddba40e8ac33bf036f06fc43995fc5084bd94bdaace807ce27d3bea3fb"; + pomSha256 = "1c76cd462fc96e7aa96dc70ce82f0d54063d6df16db35c9c7d9cc0d1a99d3fff"; aarSha256 = null; } { artifactId = "auto-value-annotations"; @@ -639,6 +623,14 @@ pomSha256 = "6fc498858e0cd1387595af38957820cb341d1e687ccf753e1cbd982f46ef4fc3"; aarSha256 = null; } + { artifactId = "auto-value-parent"; + groupId = "com.google.auto.value"; + version = "1.6.2"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = null; + pomSha256 = "27b640c82179f5cff62009c0b72033d9bc60f60e9902a66802274b7fe37fc81c"; + aarSha256 = null; } + { artifactId = "auto-value-parent"; groupId = "com.google.auto.value"; version = "1.6.5"; @@ -655,14 +647,6 @@ pomSha256 = "19889dbdf1b254b2601a5ee645b8147a974644882297684c798afe5d63d78dfe"; aarSha256 = null; } - { artifactId = "gson"; - groupId = "com.google.code.gson"; - version = "2.7"; - repo = "https://jcenter.bintray.com/"; - jarSha256 = "2d43eb5ea9e133d2ee2405cc14f5ee08951b8361302fdd93494a3a997b508d32"; - pomSha256 = "723936ec07b87b210a44ef8058f32f56e3d56442218dfbf8f4e538a927160ede"; - aarSha256 = null; } - { artifactId = "gson"; groupId = "com.google.code.gson"; version = "2.8.0"; @@ -679,12 +663,12 @@ pomSha256 = "b8308557a7fccc92d9fe7c8cd0599258b361285d2ecde7689eda98843255a092"; aarSha256 = null; } - { artifactId = "gson-parent"; + { artifactId = "gson"; groupId = "com.google.code.gson"; - version = "2.7"; + version = "2.8.6"; repo = "https://jcenter.bintray.com/"; - jarSha256 = null; - pomSha256 = "871e8c737322301f0cc8acfe39a2960c4579d9d8666aeea5298bb6fcc9e4272b"; + jarSha256 = "c8fb4839054d280b3033f800d1f5a97de2f028eb8ba2eb458ad287e536f3f25f"; + pomSha256 = "2174415a647332d30fda04bd1cfc708a3ecc84eaf7517f596188d8244e103911"; aarSha256 = null; } { artifactId = "gson-parent"; @@ -703,6 +687,22 @@ pomSha256 = "8f1fec72b91a71ea39ec39f5f778c4d1124b6b097c6d55b3a50b554a52237b27"; aarSha256 = null; } + { artifactId = "gson-parent"; + groupId = "com.google.code.gson"; + version = "2.8.6"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = null; + pomSha256 = "3736463859ec19267295e894940ae82a8f684413031122fe35ce7cff7e30a774"; + aarSha256 = null; } + + { artifactId = "tink"; + groupId = "com.google.crypto.tink"; + version = "1.3.0-rc2"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = "3aa576b5671d0e26d83d7fdb7186810b5672f00bf8e72184260bcc7c2d7dc07a"; + pomSha256 = "5b9a11c11183d011de9a9a5490962d78a4d4bfe7579b0c5be4afb18a222e3f41"; + aarSha256 = null; } + { artifactId = "dagger"; groupId = "com.google.dagger"; version = "2.24"; @@ -711,36 +711,44 @@ pomSha256 = "477bdf6579ecc9cc8f99a565203f6244914f289d87e7efbdf96243fa58f9df4c"; aarSha256 = null; } + { artifactId = "dagger"; + groupId = "com.google.dagger"; + version = "2.28.3"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = "f1dd23f8ae34a8e91366723991ead0d6499d1a3e9163ce550c200b02d76a872b"; + pomSha256 = "265ba959a8e13c3a06133f04b539169c1018daffd4d33f53c453ab4cb386f570"; + aarSha256 = null; } + { artifactId = "error_prone_annotations"; groupId = "com.google.errorprone"; - version = "2.1.3"; - repo = "https://repo1.maven.org/maven2/"; - jarSha256 = "1y3zzjqxckrn39z5d4724lwhkb9fx94i0kb3gkhsjgf18yak5l03"; - pomSha256 = "1x9pfan53fjf9sg2lrwi6g2dvs2b99x8d7ka7in9kciw74fbi34m"; + version = "2.3.1"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = "10a5949aa0f95c8de4fd47edfe20534d2acefd8c224f8afea1f607e112816120"; + pomSha256 = "3edce6b711ba368efe16b9b7aacb0214fbd648414cb9b965953a2e7ed89a819a"; aarSha256 = null; } { artifactId = "error_prone_annotations"; groupId = "com.google.errorprone"; - version = "2.2.0"; + version = "2.3.2"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "6ebd22ca1b9d8ec06d41de8d64e0596981d9607b42035f9ed374f9de271a481a"; - pomSha256 = "5e0258ea1ba4e51a133742680bc22448f7ab214be4073e8619f645ef1be42dd5"; + jarSha256 = "357cd6cfb067c969226c442451502aee13800a24e950fdfde77bcdb4565a668d"; + pomSha256 = "8d175561619289a527573cfbdcf872eb5c1216cf9ab692a0ef3dba6d793f63b4"; aarSha256 = null; } { artifactId = "error_prone_parent"; groupId = "com.google.errorprone"; - version = "2.1.3"; - repo = "https://repo1.maven.org/maven2/"; + version = "2.3.1"; + repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "16r3zfxxcz6ldykibcs7r7qbvwc81dw7msg03nawx7rql4b2canm"; + pomSha256 = "767525d9a81129cd081968382980336327be4162b1e2251a182911daa733c123"; aarSha256 = null; } { artifactId = "error_prone_parent"; groupId = "com.google.errorprone"; - version = "2.2.0"; + version = "2.3.2"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "c460902ddf5ece68832c6b271ce52a0928b05cf3a6ac81a8f548c73cbd541138"; + pomSha256 = "8d3b5b9fa211979e9c425e989825c07743d2eb4dc8c20ec61de0f5b3dc1a6333"; aarSha256 = null; } { artifactId = "firebase-common"; @@ -823,6 +831,14 @@ pomSha256 = "78c2c4b37726c4ef475eb20f9864bf09f95b6ae2e95f6ef1d9bd869bc5e2eac5"; aarSha256 = "6c188ff01e9ac4e714bb26c95a920c35d98ec0c324724d13de0ea3539423cdd0"; } + { artifactId = "flatbuffers-java"; + groupId = "com.google.flatbuffers"; + version = "1.12.0"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = "3f8c088b4dd04a9858721f2e162508c94db0dd86f961e306ee63ef2eda871bf7"; + pomSha256 = "cb226baf546260770f21e8152a6aa88ba15230d739f750df480f2a668d43e0eb"; + aarSha256 = null; } + { artifactId = "google-services"; groupId = "com.google.gms"; version = "4.3.3"; @@ -849,34 +865,34 @@ { artifactId = "guava"; groupId = "com.google.guava"; - version = "19.0"; + version = "23.0"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "58d4cc2e05ebb012bbac568b032f75623be1cb6fb096f3c60c72a86f7f057de4"; - pomSha256 = "addc064da7f1077fdf4dc90e5aaa887cd790850d1b74fe2e6e25d5f78551ac63"; + jarSha256 = "7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596"; + pomSha256 = "ac2ac42a7a6b4ce5097c6c83e2fbbacbbb7f9913f1b4f993eb1723a14476324e"; aarSha256 = null; } { artifactId = "guava"; groupId = "com.google.guava"; - version = "23.0"; + version = "27.0.1-jre"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596"; - pomSha256 = "ac2ac42a7a6b4ce5097c6c83e2fbbacbbb7f9913f1b4f993eb1723a14476324e"; + jarSha256 = "e1c814fd04492a27c38e0317eabeaa1b3e950ec8010239e400fe90ad6c9107b4"; + pomSha256 = "6a8dd041f23a6bb14a86e440fccb993537b62271357a0dac0a3cb0ff39158f36"; aarSha256 = null; } { artifactId = "guava"; groupId = "com.google.guava"; - version = "26.0-jre"; + version = "28.0-android"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "a0e9cabad665bc20bcd2b01f108e5fc03f756e13aea80abaadb9f407033bea2c"; - pomSha256 = "1c337adc9a4ab4b844da81da85936581b8946c7cb71284c5dcbdaf1eaa7ee109"; + jarSha256 = "aa12035fa0ce8bdab6a4ddc218c2749df9306126f6fc9171bc0d73a5af2e0549"; + pomSha256 = "b9cc4824a3973bbff1ff66ea93f61a9cfc12cefd5453889413484eaa2a74da83"; aarSha256 = null; } { artifactId = "guava"; groupId = "com.google.guava"; - version = "27.0.1-jre"; + version = "28.1-jre"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "e1c814fd04492a27c38e0317eabeaa1b3e950ec8010239e400fe90ad6c9107b4"; - pomSha256 = "6a8dd041f23a6bb14a86e440fccb993537b62271357a0dac0a3cb0ff39158f36"; + jarSha256 = "30beb8b8527bd07c6e747e77f1a92122c2f29d57ce347461a4a55eb26e382da4"; + pomSha256 = "74af0e8dd935894ce9bcb8e2842dd0001581b84cb6a7751c3ef9314011399ba4"; aarSha256 = null; } { artifactId = "guava-parent"; @@ -889,42 +905,42 @@ { artifactId = "guava-parent"; groupId = "com.google.guava"; - version = "19.0"; + version = "23.0"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "3b76ff43ecdf10f74da36e4aae2b470c9d063e053c5ca026f5512ae94f1c3e10"; + pomSha256 = "66cc3a0d329f9fe130605fdb2c901e5a9bb2612f02f23a76757b46e689b3594d"; aarSha256 = null; } { artifactId = "guava-parent"; groupId = "com.google.guava"; - version = "23.0"; + version = "26.0-android"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "66cc3a0d329f9fe130605fdb2c901e5a9bb2612f02f23a76757b46e689b3594d"; + pomSha256 = "f8698ab46ca996ce889c1afc8ca4f25eb8ac6b034dc898d4583742360016cc04"; aarSha256 = null; } { artifactId = "guava-parent"; groupId = "com.google.guava"; - version = "26.0-android"; + version = "27.0.1-jre"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "f8698ab46ca996ce889c1afc8ca4f25eb8ac6b034dc898d4583742360016cc04"; + pomSha256 = "317e88291262e0cf2805e956c18850f1d4565c85c2e1112f5d9d08ab1732e696"; aarSha256 = null; } { artifactId = "guava-parent"; groupId = "com.google.guava"; - version = "26.0-jre"; + version = "28.0-android"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "bb7d5cd417c0d7def5e3e27092fdd23522d3fc251ad8a07956c13ce0573aeaa3"; + pomSha256 = "cfe57db4777a2d1acb8630050ae2f4e23ce102658aba356c2a4a99d23d113374"; aarSha256 = null; } { artifactId = "guava-parent"; groupId = "com.google.guava"; - version = "27.0.1-jre"; + version = "28.1-jre"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "317e88291262e0cf2805e956c18850f1d4565c85c2e1112f5d9d08ab1732e696"; + pomSha256 = "f31a5846bd9e14a4c374da1b9b146a5715ecdca925e071e1d2bf4da2daaded90"; aarSha256 = null; } { artifactId = "listenablefuture"; @@ -937,10 +953,10 @@ { artifactId = "j2objc-annotations"; groupId = "com.google.j2objc"; - version = "1.1"; + version = "1.3"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6"; - pomSha256 = "f0c98c571e93a7cb4dd18df0fa308f0963e7a0620ac2d4244e61e709d03ad6be"; + jarSha256 = "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b"; + pomSha256 = "5faca824ba115bee458730337dfdb2fcea46ba2fd774d4304edbf30fa6a3f055"; aarSha256 = null; } { artifactId = "jimfs"; @@ -967,6 +983,14 @@ pomSha256 = "32ff2307dafc658d0b55b2ad841d625aea5606bb9b0316605165cd6980503243"; aarSha256 = null; } + { artifactId = "protobuf-java"; + groupId = "com.google.protobuf"; + version = "3.10.0"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = "161d7d61a8cb3970891c299578702fd079646e032329d6c2cabf998d191437c9"; + pomSha256 = "b404c1b093ec9dea888e02c8dfe8662759586b94efa4f97061cdfc1bbfa15af0"; + aarSha256 = null; } + { artifactId = "protobuf-java"; groupId = "com.google.protobuf"; version = "3.4.0"; @@ -975,6 +999,14 @@ pomSha256 = "83f17ba86c5fa1a15a3a3c8030d4ce42ef21c1d39b65db6cc004a8eeb2c59406"; aarSha256 = null; } + { artifactId = "protobuf-java-util"; + groupId = "com.google.protobuf"; + version = "3.10.0"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = "619b0b0dc344cb141e493cbedc5687c8fb7c985e609a1b035e621bfab2f89021"; + pomSha256 = "146660182d07798ced06fa8e8ae3b9faa90aa48cf3c6adfc67db9371188ba502"; + aarSha256 = null; } + { artifactId = "protobuf-java-util"; groupId = "com.google.protobuf"; version = "3.4.0"; @@ -983,6 +1015,14 @@ pomSha256 = "89c43073e7eaa0eaba72a4a36ae1b6bfdfe5d81bb9d0e156aee05e4a72de3cb8"; aarSha256 = null; } + { artifactId = "protobuf-parent"; + groupId = "com.google.protobuf"; + version = "3.10.0"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = null; + pomSha256 = "6dd84a508125fffdefbd583fae12bf166aa902511b570ca54fa9efa45f6dfe80"; + aarSha256 = null; } + { artifactId = "protobuf-parent"; groupId = "com.google.protobuf"; version = "3.4.0"; @@ -991,6 +1031,14 @@ pomSha256 = "24909c552842c0eb7a4c769d631a43cbef5a9a10c1640f2bdbd1ea149c573a47"; aarSha256 = null; } + { artifactId = "core-proto"; + groupId = "com.google.testing.platform"; + version = "0.0.8-alpha01"; + repo = "https://maven.google.com/"; + jarSha256 = "2deaa8c40f27c8af158ae2c2132927cd9be345deb1450da49aca29cb168289cd"; + pomSha256 = "501e7a6b743cf4e81643ce31e2850f37477494a689513e756e059c688773867f"; + aarSha256 = null; } + { artifactId = "json-simple"; groupId = "com.googlecode.json-simple"; version = "1.1"; @@ -1009,10 +1057,10 @@ { artifactId = "javapoet"; groupId = "com.squareup"; - version = "1.8.0"; + version = "1.10.0"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "8e108c92027bb428196f10fa11cffbe589f7648a6af2016d652279385fdfd789"; - pomSha256 = "b3760f40f19e735b2cd418f7656335d926d1d9413e10982a1c9695b64edbb647"; + jarSha256 = "20ef4b82e43ff7c652281a21313cf3b941092467add3fa73509c26f6969efdab"; + pomSha256 = "1690340a222279f2cbadf373e88826fa20f7f3cc3ec0252f36818fed32701ab1"; aarSha256 = null; } { artifactId = "javawriter"; @@ -1031,6 +1079,14 @@ pomSha256 = "1d8518e3ac7532a104e4f7be77def37c982e530723c6bdb3d67708cce2b0c2c4"; aarSha256 = null; } + { artifactId = "all"; + groupId = "com.sun.activation"; + version = "1.2.1"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = null; + pomSha256 = "360883bf64486ecef161b8f282f6503536dd1a670d53a0a871c8fb20170e6795"; + aarSha256 = null; } + { artifactId = "javax.activation"; groupId = "com.sun.activation"; version = "1.2.0"; @@ -1041,66 +1097,66 @@ { artifactId = "istack-commons"; groupId = "com.sun.istack"; - version = "2.21"; + version = "3.0.8"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "c3071277f89b162982606b4e65c92077212efb6cbf1bdc365c51bd0b57ac818c"; + pomSha256 = "a0f0517e8512f0fbcc7b8295c12f6566a3d0c2d86d655639dc662ef8c0c7ebe5"; aarSha256 = null; } { artifactId = "istack-commons-runtime"; groupId = "com.sun.istack"; - version = "2.21"; + version = "3.0.8"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "c33e67a0807095f02a0e2da139412dd7c4f9cc1a4c054b3e434f96831ba950f4"; - pomSha256 = "ebe7137b5fbfd050545f9a7f3f339ae55beb0b53755071b4fd62aa024c626d1c"; + jarSha256 = "4ffabb06be454a05e4398e20c77fa2b6308d4b88dfbef7ca30a76b5b7d5505ef"; + pomSha256 = "c2e014d34cb84ed287d064986c45c305a4124228a7337eccf6c421d14d708f1c"; aarSha256 = null; } { artifactId = "jaxb-bom-ext"; groupId = "com.sun.xml.bind"; - version = "2.2.11"; + version = "2.3.2"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "b25e0693de21cb92b039a2e4608f396590fb8773108f10d6dc9f1465f03b5be9"; + pomSha256 = "1a7dec2b27e7e055744cdb8cf1b90def4fd473acd1b804eff098139358959bd7"; aarSha256 = null; } { artifactId = "jaxb-parent"; groupId = "com.sun.xml.bind.mvn"; - version = "2.2.11"; + version = "2.3.2"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "b5301b711c01547e571b615f9a0832ee525d34a4ce3372f53907a87cf20b0480"; + pomSha256 = "20dd6dc34ab7549ac40da1d82e92222ec4347ad0ec0cb118ef6c5703bed53a18"; aarSha256 = null; } { artifactId = "jaxb-runtime-parent"; groupId = "com.sun.xml.bind.mvn"; - version = "2.2.11"; + version = "2.3.2"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "21918cb8e4eda67f24251e909a5d81672201d93604c4ffbf33522ad836a58e90"; + pomSha256 = "b24f8d51f184a68bc1b86d48c0e3cfefeb21a44ede1c5f7303c58ae0488533ec"; aarSha256 = null; } { artifactId = "jaxb-txw-parent"; groupId = "com.sun.xml.bind.mvn"; - version = "2.2.11"; + version = "2.3.2"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "9a398c699a5d3f3b56f1056c68890ede25d94a12d98eabc2a473733e6ab2362c"; + pomSha256 = "b55d3efa9b158f483a30e92c78ccb600f93314733d089eba9b74436f01b314a4"; aarSha256 = null; } { artifactId = "FastInfoset"; groupId = "com.sun.xml.fastinfoset"; - version = "1.2.13"; + version = "1.2.16"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "27a77db909f3c2833c0b1a37c55af1db06045118ad2eed96ce567b6632bce038"; - pomSha256 = "b7505e0ecf7d495b4daa3e6569f71611d1a789dc531cbd92a2025922ff2655d3"; + jarSha256 = "056f3a1e144409f21ed16afc26805f58e9a21f3fce1543c42d400719d250c511"; + pomSha256 = "e147d258ab6e6691f70599a952400e6e6c7558f8c9c028dbe1be23178308e830"; aarSha256 = null; } { artifactId = "fastinfoset-project"; groupId = "com.sun.xml.fastinfoset"; - version = "1.2.13"; + version = "1.2.16"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "fd0857899f1067e0287c2ffd91e38f967a26bd405b83a34650c2742cee9fc261"; + pomSha256 = "90582425adc1f40b41362dafb95173931225acaa5e79620d5e6bd52f646292ba"; aarSha256 = null; } { artifactId = "commons-codec"; @@ -1129,10 +1185,34 @@ { artifactId = "fastutil"; groupId = "it.unimi.dsi"; - version = "7.2.0"; + version = "8.4.0"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = "2ad2824a4a0a0eb836b52ee2fc84ba2134f44bce7bfa54015ae3f31c710a3071"; + pomSha256 = "110e6f66c7d5ed3c91408eb0b49d40791614decc842eb92d7547ae7f88482822"; + aarSha256 = null; } + + { artifactId = "jakarta.activation-api"; + groupId = "jakarta.activation"; + version = "1.2.1"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "74fa208043740642f7e6eb09faba15965218ad2f50ce3020efb100136e4b591c"; - pomSha256 = "953b116521a73575eee990e3f2c36a892fb088bb2d9a3027c82193cb7a013ef7"; + jarSha256 = "8b0a0f52fa8b05c5431921a063ed866efaa41dadf2e3a7ee3e1961f2b0d9645b"; + pomSha256 = "42585cb07dda7f23aa04eb5e0940061944a246a67ad3d16942fbe569ff03cd31"; + aarSha256 = null; } + + { artifactId = "jakarta.xml.bind-api"; + groupId = "jakarta.xml.bind"; + version = "2.3.2"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = "69156304079bdeed9fc0ae3b39389f19b3cc4ba4443bc80508995394ead742ea"; + pomSha256 = "b537b388dbab4cc0690b9d2fb0c74124d672531734567acf6e53130eab131ad6"; + aarSha256 = null; } + + { artifactId = "jakarta.xml.bind-api-parent"; + groupId = "jakarta.xml.bind"; + version = "2.3.2"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = null; + pomSha256 = "15a55b7d537c9f9970aead28d2af97c059f65ff6102f76bbd29f1247dd8a6dfb"; aarSha256 = null; } { artifactId = "javax.inject"; @@ -1143,14 +1223,6 @@ pomSha256 = "943e12b100627804638fa285805a0ab788a680266531e650921ebfe4621a8bfa"; aarSha256 = null; } - { artifactId = "jaxb-api"; - groupId = "javax.xml.bind"; - version = "2.2.12-b140109.1041"; - repo = "https://jcenter.bintray.com/"; - jarSha256 = "b5e60cd8b7b5ff01ce4a74c5dd008f4fbd14ced3495d0b47b85cfedc182211f2"; - pomSha256 = "2092a7d8d9bc5698c59b094bdea46622915c48c83ae66d5b5ad549c7bf16155b"; - aarSha256 = null; } - { artifactId = "jvnet-parent"; groupId = "net.java"; version = "1"; @@ -1159,20 +1231,20 @@ pomSha256 = "281440811268e65d9e266b3cc898297e214e04f09740d0386ceeb4a8923d63bf"; aarSha256 = null; } - { artifactId = "jvnet-parent"; - groupId = "net.java"; - version = "3"; + { artifactId = "jna"; + groupId = "net.java.dev.jna"; + version = "5.6.0"; repo = "https://jcenter.bintray.com/"; - jarSha256 = null; - pomSha256 = "30f5789efa39ddbf96095aada3fc1260c4561faf2f714686717cb2dc5049475a"; + jarSha256 = "5557e235a8aa2f9766d5dc609d67948f2a8832c2d796cea9ef1d6cbe0b3b7eaf"; + pomSha256 = "5fe81b0255978f24616d37b10608b79498a5f3073e1d9b2038d8736a831f2608"; aarSha256 = null; } - { artifactId = "jvnet-parent"; - groupId = "net.java"; - version = "4"; + { artifactId = "jna-platform"; + groupId = "net.java.dev.jna"; + version = "5.6.0"; repo = "https://jcenter.bintray.com/"; - jarSha256 = null; - pomSha256 = "471395735549495297c8ff939b9a32e08b91302020ff773586d27e497abb8fbb"; + jarSha256 = "9ecea8bf2b1b39963939d18b70464eef60c508fed8820f9dcaba0c35518eabf7"; + pomSha256 = "1beb35cb4184e6c906a7e32eaebd852dd3da0a263962e99134ab945832394e28"; aarSha256 = null; } { artifactId = "jopt-simple"; @@ -1377,98 +1449,106 @@ { artifactId = "checker-qual"; groupId = "org.checkerframework"; - version = "2.5.2"; + version = "2.5.8"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "64b02691c8b9d4e7700f8ee2e742dce7ea2c6e81e662b7522c9ee3bf568c040a"; - pomSha256 = "dc4cd438a36462d013c2338c8e206d102a322a00f33729e8955ee219859c9ede"; + jarSha256 = "bd655da535df1eeb96fc8874d05d0f7029209de95096e4f84bd07c66688a210d"; + pomSha256 = "33ac6a0f1341ae96647c7d4465f4aa3d24fe97d2697bcee2ceae6fc8b5ef2c3c"; aarSha256 = null; } - { artifactId = "codehaus-parent"; - groupId = "org.codehaus"; - version = "4"; + { artifactId = "checker-qual"; + groupId = "org.checkerframework"; + version = "2.8.1"; repo = "https://jcenter.bintray.com/"; - jarSha256 = null; - pomSha256 = "6b87237de8c2e1740cf80627c7f3ce3e15de1930bb250c55a1eca94fa3e014df"; + jarSha256 = "9103499008bcecd4e948da29b17864abb64304e15706444ae209d17ebe0575df"; + pomSha256 = "f23376b58ed795f2ff47426ac76b996d49e3918442e5d8713e3925f889a77799"; aarSha256 = null; } { artifactId = "animal-sniffer-annotations"; groupId = "org.codehaus.mojo"; - version = "1.14"; + version = "1.17"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "2068320bd6bad744c3673ab048f67e30bef8f518996fa380033556600669905d"; - pomSha256 = "1879f19a05991e3ed95910b96689333396b0c467a215dc4d1f90018404b72a26"; + jarSha256 = "92654f493ecfec52082e76354f0ebf87648dc3d5cec2e3c3cdb947c016747a53"; + pomSha256 = "e956ab5d2eb48fabae12300d0cd2d3294d4a2a41abc2068c23cb4d60ad76cbe5"; aarSha256 = null; } { artifactId = "animal-sniffer-annotations"; groupId = "org.codehaus.mojo"; - version = "1.17"; + version = "1.18"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "92654f493ecfec52082e76354f0ebf87648dc3d5cec2e3c3cdb947c016747a53"; - pomSha256 = "e956ab5d2eb48fabae12300d0cd2d3294d4a2a41abc2068c23cb4d60ad76cbe5"; + jarSha256 = "47f05852b48ee9baefef80fa3d8cea60efa4753c0013121dd7fe5eef2e5c729d"; + pomSha256 = "adf522f4839c35f5329ea97c407aebebfa8807b644852dc4d5cd7c97b7a6d2e0"; aarSha256 = null; } { artifactId = "animal-sniffer-parent"; groupId = "org.codehaus.mojo"; - version = "1.14"; + version = "1.17"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "f51550a06b1410bd4962cb0e71df0b921a60a7ef47bfa9c4825a14be72316eea"; + pomSha256 = "18a03df16e2a184c582db7b125633c15fb7714027a84c1b532d72933dc08b81f"; aarSha256 = null; } { artifactId = "animal-sniffer-parent"; groupId = "org.codehaus.mojo"; - version = "1.17"; + version = "1.18"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "18a03df16e2a184c582db7b125633c15fb7714027a84c1b532d72933dc08b81f"; + pomSha256 = "4e9df546a47cf6304a1317c46870100a8726fbea11b0dd18322f957e4070973c"; aarSha256 = null; } { artifactId = "mojo-parent"; groupId = "org.codehaus.mojo"; - version = "34"; + version = "40"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "3e395d6fbc43c09a3774cac8694ce527398305ea3fd5492d80e25af27d382a9c"; + pomSha256 = "fc648dcdc404f8bf66e0583914ecf980176618201227bea114fae85043cb755e"; aarSha256 = null; } { artifactId = "mojo-parent"; groupId = "org.codehaus.mojo"; - version = "40"; + version = "50"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "fc648dcdc404f8bf66e0583914ecf980176618201227bea114fae85043cb755e"; + pomSha256 = "f819cad1b15b6a7791c8b601e96bde33765e4681395807db4537d2f0dedd493b"; aarSha256 = null; } - { artifactId = "jaxb-bom"; - groupId = "org.glassfish.jaxb"; - version = "2.2.11"; + { artifactId = "project"; + groupId = "org.eclipse.ee4j"; + version = "1.0.2"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = null; + pomSha256 = "7495a07a797e88e43c3bc1a87421bd8b1fc55e32291fa18e4e32d8031ddc873f"; + aarSha256 = null; } + + { artifactId = "project"; + groupId = "org.eclipse.ee4j"; + version = "1.0.5"; repo = "https://jcenter.bintray.com/"; jarSha256 = null; - pomSha256 = "a52e6850f070dc9f7a2a51d0b25dfaafd49b0b9bf8196db6c0b3c5b7c94d8d38"; + pomSha256 = "916b4794d8d8220a59a3fdf6a64dbe794aeb23395e888b81ae36a9b5a2c591a6"; aarSha256 = null; } - { artifactId = "jaxb-core"; + { artifactId = "jaxb-bom"; groupId = "org.glassfish.jaxb"; - version = "2.2.11"; + version = "2.3.2"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "37bcaee8ebb04362c8352a5bf6221b86967ecdab5164c696b10b9a2bb587b2aa"; - pomSha256 = "ec31409f203bcabf99534f59231ec0576d875d4d4b7349b09566a7a8c8179b24"; + jarSha256 = null; + pomSha256 = "a1018bb54678ed9f5acb2f7a4084e385ff510201f4e9dbf5f75dc6a675f66be7"; aarSha256 = null; } { artifactId = "jaxb-runtime"; groupId = "org.glassfish.jaxb"; - version = "2.2.11"; + version = "2.3.2"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "a874f2351cfba8e2946be3002d10c18a6da8f21b52ba2acf52f2b85d5520ed70"; - pomSha256 = "e5327b31b595ab8143e97836d5ccdf85feb91e7ff5666f7b26913632facca4aa"; + jarSha256 = "e6e0a1e89fb6ff786279e6a0082d5cef52dc2ebe67053d041800737652b4fd1b"; + pomSha256 = "9448a5ad7fa68a6083dfbe4f42c8c83e082b9202a105401fc68e944c26548b34"; aarSha256 = null; } { artifactId = "txw2"; groupId = "org.glassfish.jaxb"; - version = "2.2.11"; + version = "2.3.2"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "272a3ccad45a4511351920cd2a8633c53cab8d5220c7a92954da5526bb5eafea"; - pomSha256 = "8514cb724b4fca59a5cf272b632e539bd0a0f3cacf1844082d0a173a86406bd8"; + jarSha256 = "4a6a9f483388d461b81aa9a28c685b8b74c0597993bf1884b04eddbca95f48fe"; + pomSha256 = "a79dd002fb038183ff286a2635be2e68c103b87e0e64717d8d44bfd017fd33ea"; aarSha256 = null; } { artifactId = "jdom2"; @@ -1487,36 +1567,36 @@ pomSha256 = "965aeb2bedff369819bdde1bf7a0b3b89b8247dd69c88b86375d76163bb8c397"; aarSha256 = null; } - { artifactId = "kotlin-compiler"; - groupId = "com.android.tools.external.com-intellij"; - version = "26.4.2"; - repo = "https://maven.google.com/"; - jarSha256 = "f97df41a49d2f9ec428d847b0691b55541d4b5d4db19d630cf8dc3f38cd34d4a"; - pomSha256 = "7adec4d67ee1ea6cda230bdd549f275c4a5cf08230c9407f632953adc0e26434"; + { artifactId = "trove4j"; + groupId = "org.jetbrains.intellij.deps"; + version = "1.0.20181211"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = "affb7c85a3c87bdcf69ff1dbb84de11f63dc931293934bc08cd7ab18de083601"; + pomSha256 = "310a6aa2d90534c32b8f46f1fc98cd0edae95dcdfca23e2847e5efa9ae0c019a"; aarSha256 = null; } { artifactId = "kotlin-reflect"; groupId = "org.jetbrains.kotlin"; - version = "1.3.31"; + version = "1.4.31"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "a0172daf57e511e8e0df9251b508db8aa6b885cdf0c5849addc9b840db4814f0"; - pomSha256 = "521ea7a6923dba027d808da42cb789da43b332988652f209f45ae85b582abaac"; + jarSha256 = "91fad0b42974a7d5811e30a61f05706e176b144235717c6de7e81e3a781028f2"; + pomSha256 = "8e49bab843dd855f315c87e390c529a9ca239121d8bffb85b3acfa2f60603697"; aarSha256 = null; } { artifactId = "kotlin-stdlib"; groupId = "org.jetbrains.kotlin"; - version = "1.3.0"; + version = "1.3.60"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "4ff0fcb97f4983b4aaba12668c24ad21b08460915db1b021d8f1d8bee687f21c"; - pomSha256 = "4018b25ecf91e9dec4e240d896b95d12009640e3b1ce9b8efed2323e7ac65b07"; + jarSha256 = "e98834000b5db07376d5782761ad58f3f23ccd05b6f1fa90dc0ad428be582506"; + pomSha256 = "e737fa1a6a51f7cff7eaf7f69525d4bec9f22e7c9d806cd46dc72051600443de"; aarSha256 = null; } { artifactId = "kotlin-stdlib"; groupId = "org.jetbrains.kotlin"; - version = "1.3.31"; + version = "1.4.31"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "f38c84326543e66ed4895b20fb3ea0fca527fd5a040e1f49d0946ecf3d2b3b23"; - pomSha256 = "938182555f87aabdaabfa7ea22f29249a801d0882587fdb36efd6b69ab6d9483"; + jarSha256 = "76a599d88b167e8ac90879b6daa722c6ad3452ba714c9aba19bd196544b97f1c"; + pomSha256 = "8519e3e7ac5ee700527ee10488eb432f1aa106dccdde7c06c3bab258a1ddbd4e"; aarSha256 = null; } { artifactId = "kotlin-stdlib-common"; @@ -1529,18 +1609,18 @@ { artifactId = "kotlin-stdlib-common"; groupId = "org.jetbrains.kotlin"; - version = "1.3.31"; + version = "1.4.31"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "d6e9c54c1e6c4df21be9395de558665544c6bdc8f8076ea7518f089f82cd34fc"; - pomSha256 = "43f118ba3aa72a531d66d64cdd4223fa612b7fac57030ce9148ffb4a55cc3afc"; + jarSha256 = "57962f44371a746b678218a0802a8712c6255206de9a69ede215e3aa4b044708"; + pomSha256 = "1582ab130b68fcbb89b2e915573c1f99f8ba3bc68fdd451f6b362d6c53353187"; aarSha256 = null; } { artifactId = "kotlin-stdlib-jdk7"; groupId = "org.jetbrains.kotlin"; - version = "1.3.31"; + version = "1.4.31"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "dbf77e6a5626d941450fdc59cbfe24165858403c12789749a2497265269859a3"; - pomSha256 = "7c9af71bea2bd234d822216cf826ac3960a16a157e69669e5788485ff2800f68"; + jarSha256 = "1f966e54e86cf4b7d7014afdce04e0f3ee4625084cda3494edccc7b84af52664"; + pomSha256 = "f67e52bebc23a07e23d51e525d20f59de8da6720bde2ff7c598f99ba9c272118"; aarSha256 = null; } { artifactId = "kotlin-stdlib-jdk8"; @@ -1553,26 +1633,26 @@ { artifactId = "kotlin-stdlib-jdk8"; groupId = "org.jetbrains.kotlin"; - version = "1.3.31"; + version = "1.4.31"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "ad6acd219b468a532ac3b3c5aacbfd5db02d0ffcf967e2113e4677e2429490f6"; - pomSha256 = "5cb7c7867f97ce48ef211c79f975b77de5724ac13e0ae27c1da2613929897427"; + jarSha256 = "b2f8364435ebcb0106ff9d4415a11ffdef8ec7786ee6e5ed465a01556cbd1683"; + pomSha256 = "4ee4f626e69f5f6fdad8cd28ad555a0ff416c84f25a569ec0a4b3587f86df457"; aarSha256 = null; } - { artifactId = "trove4j"; - groupId = "org.jetbrains.trove4j"; - version = "20160824"; + { artifactId = "json"; + groupId = "org.json"; + version = "20180813"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "1917871c8deb468307a584680c87a44572f5a8b0b98c6d397fc0f5f86596dbe7"; - pomSha256 = "5c415a9d8585200de4be1947e15291cc79f599b06249375f5c9ea22d4b2d090f"; + jarSha256 = "518080049ba83181914419d11a25d9bc9833a2d729b6a6e7469fa52851356da8"; + pomSha256 = "c7e660c50bf4ecda0fc81ab62b489db9171e207fa784ddcb48c6c85bb40b49f5"; aarSha256 = null; } { artifactId = "stax-ex"; groupId = "org.jvnet.staxex"; - version = "1.7.7"; + version = "1.8.1"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "a31ff7d77163c0deb09e7fee59ad35ae44c2cee2cc8552a116ccd1583d813fb4"; - pomSha256 = "27cb450b6c367a00bd8362519907f84defac7b12086c64d4d6e97e33ab873ead"; + jarSha256 = "20522549056e9e50aa35ef0b445a2e47a53d06be0b0a9467d704e2483ffb049a"; + pomSha256 = "8fc84f36ce6da6ce8c893b6538199a7f69a69a0706d9b17a3ee6a3a09452eed6"; aarSha256 = null; } { artifactId = "ow2"; @@ -1583,6 +1663,14 @@ pomSha256 = "51215c67d2c068d8b7d2f6f80f51372a098075deccc448d4bdd7b987ba8328fb"; aarSha256 = null; } + { artifactId = "ow2"; + groupId = "org.ow2"; + version = "1.5"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = null; + pomSha256 = "0f8a1b116e760b8fe6389c51b84e4b07a70fc11082d4f936e453b583dd50b43b"; + aarSha256 = null; } + { artifactId = "asm"; groupId = "org.ow2.asm"; version = "6.0"; @@ -1591,12 +1679,20 @@ pomSha256 = "c2bc497e197112e699085426bbb45b1ab0be8002da68267a3b1f450a0312c32e"; aarSha256 = null; } + { artifactId = "asm"; + groupId = "org.ow2.asm"; + version = "7.0"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = "b88ef66468b3c978ad0c97fd6e90979e56155b4ac69089ba7a44e9aa7ffe9acf"; + pomSha256 = "83f65b1083d5ce4f8ba7f9545cfe9ff17824589c9a7cc82c3a4695801e4f5f68"; + aarSha256 = null; } + { artifactId = "asm-analysis"; groupId = "org.ow2.asm"; - version = "6.0"; + version = "7.0"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "2f1a6387219c3a6cc4856481f221b03bd9f2408a326d416af09af5d6f608c1f4"; - pomSha256 = "d3aaf42e40e3e24aabda53b5de4de5e17cb78e06549bf37312dca6c77e251054"; + jarSha256 = "e981f8f650c4d900bb033650b18e122fa6b161eadd5f88978d08751f72ee8474"; + pomSha256 = "c6b54477e9d5bae1e7addff2e24cbf92aaff2ff08fd6bc0596c3933c3fadc2cb"; aarSha256 = null; } { artifactId = "asm-commons"; @@ -1607,6 +1703,14 @@ pomSha256 = "90f4f29473afb957229016eb5741954976cc1b67bc049b3981c0d1e653ad5cdd"; aarSha256 = null; } + { artifactId = "asm-commons"; + groupId = "org.ow2.asm"; + version = "7.0"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = "fed348ef05958e3e846a3ac074a12af5f7936ef3d21ce44a62c4fa08a771927d"; + pomSha256 = "f4c697886cdb4a5b2472054a0b5e34371e9b48e620be40c3ed48e1f4b6d51eb4"; + aarSha256 = null; } + { artifactId = "asm-parent"; groupId = "org.ow2.asm"; version = "6.0"; @@ -1617,10 +1721,10 @@ { artifactId = "asm-tree"; groupId = "org.ow2.asm"; - version = "6.0"; + version = "7.0"; repo = "https://jcenter.bintray.com/"; - jarSha256 = "887998fb69727c8759e4d253f856822801e33f9fd4caa566b3ac58ee92106215"; - pomSha256 = "36887e0d7fdb185a92378a38ea45e596a97f10f385c5d050eb6252454ee701b4"; + jarSha256 = "cfd7a0874f9de36a999c127feeadfbfe6e04d4a71ee954d7af3d853f0be48a6c"; + pomSha256 = "d39e7dd12f4ff535a0839d1949c39c7644355a4470220c94b76a5c168c57a068"; aarSha256 = null; } { artifactId = "asm-util"; @@ -1631,6 +1735,14 @@ pomSha256 = "3cdfc61f988d167b97503419da82a5808b20f4205aeb46c394e6e7ffd3211f12"; aarSha256 = null; } + { artifactId = "asm-util"; + groupId = "org.ow2.asm"; + version = "7.0"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = "75fbbca440ef463f41c2b0ab1a80abe67e910ac486da60a7863cbcb5bae7e145"; + pomSha256 = "e07bce4bb55d5a06f4c10d912fc9dee8a9b9c04ec549bbb8db4f20db34706f75"; + aarSha256 = null; } + { artifactId = "oss-parent"; groupId = "org.sonatype.oss"; version = "7"; @@ -1647,4 +1759,28 @@ pomSha256 = "fb40265f982548212ff82e362e59732b2187ec6f0d80182885c14ef1f982827a"; aarSha256 = null; } + { artifactId = "tensorflow-lite-metadata"; + groupId = "org.tensorflow"; + version = "0.1.0-rc2"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = "2c2a264f842498c36d34d2a7b91342490d9a962862c85baac1acd54ec2fca6d9"; + pomSha256 = "8359ad51e0476c8e0df7188a43f16d49733c4a428fb45e99794b783f01b97520"; + aarSha256 = null; } + + { artifactId = "xercesImpl"; + groupId = "xerces"; + version = "2.12.0"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = "b50d3a4ca502faa4d1c838acb8aa9480446953421f7327e338c5dda3da5e76d0"; + pomSha256 = "138ebb33cce7080fd5cdb4fb90a0ee550173d7e8d41024da8c0d788b1460a1f3"; + aarSha256 = null; } + + { artifactId = "xml-apis"; + groupId = "xml-apis"; + version = "1.4.01"; + repo = "https://jcenter.bintray.com/"; + jarSha256 = "a840968176645684bb01aed376e067ab39614885f9eee44abe35a5f20ebe7fad"; + pomSha256 = "09a82ff150ac86bfa31145e0a6afd89a02e4504785f5da112e4fae1425020e92"; + aarSha256 = null; } + ] diff --git a/android/defaults/pom.xml b/android/defaults/pom.xml index 90b0ae3c6..68ed78d41 100644 --- a/android/defaults/pom.xml +++ b/android/defaults/pom.xml @@ -8,14 +8,14 @@ 0.0 - - central - https://central.maven.org/maven2/ - jcenter https://jcenter.bintray.com/ + + central + https://central.maven.org/maven2/ + google https://maven.google.com/ @@ -25,12 +25,11 @@ https://repo1.maven.org/maven2/ - com.android.tools.build gradle - 3.4.2 + 4.2.2 com.google.gms @@ -51,15 +50,15 @@ - com.google.protobuf - protobuf-bom - 3.10.0 - pom + com.google.protobuf + protobuf-bom + 3.10.0 + pom - com.google.guava - listenablefuture - 9999.0-empty-to-avoid-conflict-with-guava + com.google.guava + listenablefuture + 9999.0-empty-to-avoid-conflict-with-guava org.jetbrains.kotlin @@ -72,15 +71,21 @@ 1.17 provided + + com.google.guava + failureaccess + 1.0.1 + org.checkerframework checker-qual - 2.5.2 + 2.8.1 - com.google.guava - failureaccess - 1.0.1 + com.google.auto.value + auto-value-annotations + 1.6.5 + diff --git a/android/impl.nix b/android/impl.nix index b3056e936..45e4fded1 100644 --- a/android/impl.nix +++ b/android/impl.nix @@ -21,7 +21,7 @@ let overrideAndroidCabal = package: overrideCabal package (drv: { buildInputs = [ androidenv.androidPkgs_9_0.androidsdk ]; } ""; buildGradleApp = import ./build-gradle-app.nix { - inherit (nixpkgs) stdenv jdk gnumake gawk file runCommand + inherit (nixpkgs) stdenv lib jdk gnumake gawk file runCommand which gradle fetchurl buildEnv; inherit androidenv; }; @@ -36,7 +36,7 @@ in { keyStore = releaseKey.storeFile or null; keyStorePassword = releaseKey.storePassword or null; name = applicationId; - platformVersions = [ "29" ]; + platformVersions = [ "30" ]; release = false; src = let splitApplicationId = splitString "." applicationId; @@ -48,10 +48,10 @@ in { myNixpkgs = nixpkgsCross.android.aarch64; myHaskellPackages = ghcAndroidAarch64; }; - "armeabi-v7a" = { - myNixpkgs = nixpkgsCross.android.aarch32; - myHaskellPackages = ghcAndroidAarch32; - }; + # "armeabi-v7a" = { + # myNixpkgs = nixpkgsCross.android.aarch32; + # myHaskellPackages = ghcAndroidAarch32; + # }; }; abiVersions = attrNames appSOs; in nixpkgs.runCommand "android-app" { @@ -73,10 +73,11 @@ in { }); javaSrc = nixpkgs.buildEnv { name = applicationId + "-java"; - paths = javaSources ++ [ + paths = javaSources + # Sets up the main Activity using [android-activity](https://hackage.haskell.org/package/android-activity) (ghcAndroidAarch64.android-activity.src + "/java") #TODO: Use output, not src - (ghcAndroidAarch64.reflex-dom.src + "/java") - ]; + # Sets up the main webview using [reflex-dom](https://github.com/reflex-frp/reflex-dom/blob/develop/reflex-dom/java/org/reflexfrp/reflexdom/MainWidget.java) + (ghcAndroidAarch64.reflex-dom.src + "/java"); }; src = ./src; nativeBuildInputs = [ nixpkgs.rsync ]; diff --git a/android/src/gradle.properties b/android/src/gradle.properties index 57d35b727..564f72e86 100644 --- a/android/src/gradle.properties +++ b/android/src/gradle.properties @@ -18,5 +18,5 @@ org.gradle.jvmargs=-Xmx8192m android.enableBuildCache=false -android.aapt2FromMavenOverride=local_sdk/android-sdk/build-tools/28.0.3/aapt2 android.enableR8=false +android.useAndroidX=true diff --git a/default.nix b/default.nix index eabdfb1e1..f03800052 100644 --- a/default.nix +++ b/default.nix @@ -28,40 +28,42 @@ let iosSupport = system == "x86_64-darwin"; splicesEval = self: super: { haskell = super.haskell // { compiler = super.haskell.compiler // { - ghcSplices-8_6 = super.haskell.compiler.ghc865.overrideAttrs (drv: { + ghcSplices-8_6 = (super.haskell.compiler.ghc865.overrideAttrs (drv: { enableParallelBuilding = false; src = nixpkgs.hackGet ./haskell-overlays/splices-load-save/dep/ghc-8.6; # When building from the ghc git repo, ./boot must be run before configuring, whereas # in the distribution tarball on the haskell.org downloads page, ./boot has already been # run. - preConfigure= '' + preConfigure = '' echo ${drv.version} >VERSION ./boot '' + drv.preConfigure or ""; - # Our fork of 8.6 with splices includes these patches. - # Specifically, is up to date with the `ghc-8.6` branch upstream, - # which contains various backports for any potential newer 8.6.x - # release. Nixpkgs manually applied some of those backports as - # patches onto 8.6.5 ahead of such a release, but now we get them - # from the src proper. - patches = []; - }); + patches = [ + # nixpkgs-21.05 ships with a version of autoreconf that is incompatible with ghc 8.6.5, + # Cf. https://gitlab.haskell.org/ghc/ghc/-/commit/ad2ef3a13f1eb000eab8e3d64592373b91a52806 + ./haskell-overlays/splices-load-save/ghc-8.6-autoreconf.patch + ]; + })).override { + bootPkgs = super.haskell.packages.ghc865Binary // { + happy = super.haskell.packages.ghc865Binary.happy_1_19_12; + }; + }; ghcSplices-8_10 = (super.haskell.compiler.ghc8107.override { # New option for GHC 8.10. Explicitly enable profiling builds enableProfiledLibs = true; + bootPkgs = super.haskell.packages.ghc865Binary // { + happy = super.haskell.packages.ghc865Binary.happy_1_19_12; + }; }).overrideAttrs (drv: { src = nixpkgs.hackGet ./haskell-overlays/splices-load-save/dep/ghc-8.10; # When building from the ghc git repo, ./boot must be run before configuring, whereas # in the distribution tarball on the haskell.org downloads page, ./boot has already been # run. - preConfigure= '' + prePatch = '' echo ${drv.version} >VERSION + patchShebangs boot ./boot '' + drv.preConfigure or ""; - patches = [ - # Patch libraries/unix/config.sub to fix android build - ./nixpkgs-overlays/android-8.10-splices.patch - ]; }); }; packages = super.haskell.packages // { @@ -140,14 +142,16 @@ let iosSupport = system == "x86_64-darwin"; inherit (nixpkgs) lib fetchurl fetchgit fetchgitPrivate fetchFromGitHub fetchFromBitbucket; wasmCross = nixpkgs.hackGet ./wasm-cross; - webGhcSrc = (import (wasmCross + /webghc.nix) { inherit fetchgit; }).ghc865SplicesSrc; + webGhcSrc = (import (wasmCross + /webghc.nix) { inherit fetchgit; }).ghc8107SplicesSrc; nixpkgsCross = { android = lib.mapAttrs (_: args: nixpkgsFunc (nixpkgsArgs // args)) rec { aarch64 = { - crossSystem = lib.systems.examples.aarch64-android-prebuilt; + crossSystem = lib.systems.examples.aarch64-android-prebuilt // + { isStatic = true; }; }; aarch32 = { crossSystem = lib.systems.examples.armv7a-android-prebuilt // { + isStatic = true; # Choose an old version so it's easier to find phones to test on sdkVer = "23"; }; @@ -162,12 +166,14 @@ let iosSupport = system == "x86_64-darwin"; }; aarch64 = { crossSystem = lib.systems.examples.iphone64 // { + isStatic = true; sdkVer = iosSdkVersion; inherit xcodeVer; }; }; aarch32 = { crossSystem = lib.systems.examples.iphone32 // { + isStatic = true; sdkVer = iosSdkVersion; inherit xcodeVer; }; @@ -213,7 +219,7 @@ let iosSupport = system == "x86_64-darwin"; haskellOverlays.combined (haskellOverlays.saveSplices "8.6") (self: super: with haskellLib; { - blaze-textual = haskellLib.enableCabalFlag super.blaze-textual "integer-simple"; + blaze-textual = enableCabalFlag super.blaze-textual "integer-simple"; cryptonite = disableCabalFlag super.cryptonite "integer-gmp"; integer-logarithms = disableCabalFlag super.integer-logarithms "integer-gmp"; scientific = enableCabalFlag super.scientific "integer-simple"; @@ -229,7 +235,7 @@ let iosSupport = system == "x86_64-darwin"; haskellOverlays.combined (haskellOverlays.saveSplices "8.10") (self: super: with haskellLib; { - blaze-textual = haskellLib.enableCabalFlag super.blaze-textual "integer-simple"; + blaze-textual = enableCabalFlag super.blaze-textual "integer-simple"; cryptonite = disableCabalFlag super.cryptonite "integer-gmp"; integer-logarithms = disableCabalFlag super.integer-logarithms "integer-gmp"; scientific = enableCabalFlag super.scientific "integer-simple"; @@ -239,12 +245,12 @@ let iosSupport = system == "x86_64-darwin"; ghcjs = if __useNewerCompiler then ghcjs8_10 else ghcjs8_6; ghcjs8_6 = (makeRecursivelyOverridable (nixpkgsCross.ghcjs.haskell.packages.ghcjs86.override (old: { ghc = old.ghc.override { - bootPkgs = nixpkgsCross.ghcjs.buildPackages.haskell.packages.ghc865; - ghcjsSrc = fetchgit { - url = "https://github.com/obsidiansystems/ghcjs.git"; - rev = "a00ecf0b2eaddbc4101c76e6ac95fc97b0f75840"; # ghc-8.6 branch - sha256 = "06cwpijwhj4jpprn07y3pkxmv40pwmqqw5jbdv4s7c67j5pmirnc"; - fetchSubmodules = true; + bootPkgs = with nixpkgsCross.ghcjs.buildPackages.haskell.packages; + ghc865 // { happy = ghc865.callHackage "happy" "1.19.9" {}; }; + cabal-install = import ./haskell-overlays/ghcjs-8.6/cabal-install.nix { inherit nixpkgs; }; + ghcjsSrc = import ./haskell-overlays/ghcjs-8.6/src.nix { + inherit (nixpkgs.stdenvNoCC) mkDerivation; + inherit (nixpkgs) fetchgit; }; }; }))).override { @@ -255,8 +261,8 @@ let iosSupport = system == "x86_64-darwin"; overrides = nixpkgsCross.ghcjs.haskell.overlays.combined; }; - wasm = ghcWasm32-8_6; - ghcWasm32-8_6 = makeRecursivelyOverridableBHPToo ((makeRecursivelyOverridable (nixpkgsCross.wasm.haskell.packages.ghcWasm.override (old: { + wasm = ghcWasm32-8_10; + ghcWasm32-8_10 = makeRecursivelyOverridableBHPToo ((makeRecursivelyOverridable (nixpkgsCross.wasm.haskell.packages.ghcWasm.override (old: { # Due to the splices changes the parallel build fails while building the libraries ghc = old.ghc.overrideAttrs (drv: { enableParallelBuilding = false; }); }))).override { diff --git a/haskell-overlays/android/default.nix b/haskell-overlays/android/default.nix index 8f671bb1d..1ea56293a 100644 --- a/haskell-overlays/android/default.nix +++ b/haskell-overlays/android/default.nix @@ -46,4 +46,6 @@ self: super: { jsaddle-webkitgtk = null; jsaddle-webkit2gtk = null; + # Tests take a long time + vector = haskellLib.dontCheck super.vector; } diff --git a/haskell-overlays/any-8.6.nix b/haskell-overlays/any-8.6.nix index 6df8733eb..b99c08e27 100644 --- a/haskell-overlays/any-8.6.nix +++ b/haskell-overlays/any-8.6.nix @@ -4,4 +4,7 @@ self: super: { cabal-macosx = dontCheck super.cabal-macosx; haddock-library-ghcjs = dontCheck super.haddock-library-ghcjs; haddock-api-ghcjs = dontCheck super.haddock-api-ghcjs; + ghc-lib-parser = self.callHackage "ghc-lib-parser" "8.10.2.20200808" {}; + ghc-lib-parser-ex = self.callHackage "ghc-lib-parser-ex" "8.10.0.16" {}; + hlint = self.callHackage "hlint" "3.1.6" {}; } diff --git a/haskell-overlays/default.nix b/haskell-overlays/default.nix index 754c22c6b..0879a5309 100644 --- a/haskell-overlays/default.nix +++ b/haskell-overlays/default.nix @@ -1,8 +1,13 @@ { lib , haskellLib , nixpkgs -, useFastWeak, useReflexOptimizer, enableLibraryProfiling, enableTraceReflexEvents -, useTextJSString, enableExposeAllUnfoldings, __useTemplateHaskell +, useFastWeak +, useReflexOptimizer +, enableLibraryProfiling +, enableTraceReflexEvents +, useTextJSString +, enableExposeAllUnfoldings +, __useTemplateHaskell , ghcSavedSplices-8_6 , ghcSavedSplices-8_10 , haskellOverlaysPre @@ -15,15 +20,17 @@ let in rec { - optionalExtension = cond: overlay: if cond then overlay else _: _: {}; + optionalExtension = cond: overlay: if cond then overlay else _: _: { }; - versionWildcard = versionList: let - versionListInc = lib.init versionList ++ [ (lib.last versionList + 1) ]; - bottom = lib.concatStringsSep "." (map toString versionList); - top = lib.concatStringsSep "." (map toString versionListInc); - in version: lib.versionOlder version top && lib.versionAtLeast version bottom; + versionWildcard = versionList: + let + versionListInc = lib.init versionList ++ [ (lib.last versionList + 1) ]; + bottom = lib.concatStringsSep "." (map toString versionList); + top = lib.concatStringsSep "." (map toString versionListInc); + in + version: lib.versionOlder version top && lib.versionAtLeast version bottom; - foldExtensions = lib.foldr lib.composeExtensions (_: _: {}); + foldExtensions = lib.foldr lib.composeExtensions (_: _: { }); getGhcVersion = ghc: ghc.version; @@ -43,6 +50,23 @@ rec { (optionalExtension enableExposeAllUnfoldings exposeAllUnfoldings) + # Force "gold" on aarch32 due to a linker bug on bfd + # Also force -fPIC on for aarch32, we need it either way + (optionalExtension (super.ghc.stdenv.targetPlatform.isAarch32 or false) (self: super: + { + mkDerivation = drv: super.mkDerivation (drv // { + buildFlags = [ + "--ghc-option=-optl-fuse-ld=gold" + "--ld-option=-fuse-ld=gold" + "--ghc-option=-fPIC" + ] ++ (drv.buildFlags or [ ]); + + configureFlags = [ + "--with-ld=${super.ghc.stdenv.targetPlatform.config}-ld.gold" + ] ++ (drv.configureFlags or [ ]); + }); + })) + combined-any (optionalExtension (!(super.ghc.isGhcjs or false)) combined-ghc) (optionalExtension (super.ghc.isGhcjs or false) combined-ghcjs) @@ -55,30 +79,38 @@ rec { (optionalExtension (nixpkgs.stdenv.hostPlatform.isWasm or false) wasm) user-custom-post - ] self super; + ] + self + super; combined-any = self: super: foldExtensions [ any (optionalExtension (versionWildcard [ 8 ] (getGhcVersion super.ghc)) combined-any-8) - ] self super; + ] + self + super; combined-any-8 = self: super: foldExtensions [ any-8 (optionalExtension (versionWildcard [ 8 6 ] (getGhcVersion super.ghc)) any-8_6) - (optionalExtension (versionWildcard [ 8 6 ] (getGhcVersion super.ghc)) haskell-gi-8_6) - (optionalExtension (versionWildcard [ 8 10 ] (getGhcVersion super.ghc)) haskell-gi-8_10) - (optionalExtension (lib.versionOlder "8.11" (getGhcVersion super.ghc)) any-head) - ] self super; + (optionalExtension (lib.versionOlder "8.11" (getGhcVersion super.ghc)) any-head) + ] + self + super; combined-ghc = self: super: foldExtensions [ (optionalExtension (versionWildcard [ 8 6 ] super.ghc.version) ghc-8_6) - (optionalExtension (lib.versionOlder "8.11" super.ghc.version) ghc-head) - ] self super; + (optionalExtension (lib.versionOlder "8.11" super.ghc.version) ghc-head) + ] + self + super; combined-ghcjs = self: super: foldExtensions [ (optionalExtension (versionWildcard [ 8 6 ] (getGhcVersion super.ghc)) combined-ghcjs-8_6) (optionalExtension (versionWildcard [ 8 10 ] (getGhcVersion super.ghc)) combined-ghcjs-8_10) - ] self super; + ] + self + super; combined-ghcjs-8_6 = self: super: foldExtensions [ ghcjs_8_6 @@ -86,14 +118,18 @@ rec { (optionalExtension useTextJSString textJSString-8_6) (optionalExtension useTextJSString ghcjs-textJSString-8_6) (optionalExtension useFastWeak ghcjs-fast-weak_8_6) - ] self super; + ] + self + super; combined-ghcjs-8_10 = self: super: foldExtensions [ (optionalExtension useTextJSString textJSString) (optionalExtension useTextJSString textJSString-8_10) (optionalExtension useTextJSString ghcjs-textJSString-8_10) (optionalExtension useFastWeak ghcjs-fast-weak_8_10) - ] self super; + ] + self + super; ## ## Constituent @@ -108,14 +144,14 @@ rec { exposeAllUnfoldings = import ./expose-all-unfoldings.nix { }; # For GHC and GHCJS - any = _: _: {}; + any = _: _: { }; any-8 = import ./any-8.nix { inherit haskellLib lib getGhcVersion; }; any-8_6 = import ./any-8.6.nix { inherit haskellLib fetchFromGitHub; inherit (nixpkgs) pkgs; }; any-head = import ./any-head.nix { inherit haskellLib fetchFromGitHub; }; # Just for GHC, usually to sync with GHCJS - ghc-8_6 = _: _: {}; - ghc-head = _: _: {}; + ghc-8_6 = _: _: { }; + ghc-head = _: _: { }; profiling = import ./profiling.nix { inherit haskellLib; @@ -189,17 +225,6 @@ rec { inherit (nixpkgs) lib; }; - haskell-gi-8_6 = import ./haskell-gi-8.6 { - inherit haskellLib; - inherit fetchFromGitHub; - inherit nixpkgs; - }; - haskell-gi-8_10 = import ./haskell-gi-8.10 { - inherit haskellLib; - inherit fetchFromGitHub; - inherit nixpkgs; - }; - untriaged = import ./untriaged.nix { inherit haskellLib; inherit fetchFromGitHub; diff --git a/haskell-overlays/ghcjs-8.6/autoreconf.patch b/haskell-overlays/ghcjs-8.6/autoreconf.patch new file mode 100644 index 000000000..d9c865108 --- /dev/null +++ b/haskell-overlays/ghcjs-8.6/autoreconf.patch @@ -0,0 +1,13 @@ +diff --git a/ghc/aclocal.m4 b/ghc/aclocal.m4 +index 6eda094315..c14c83914d 100644 +--- a/ghc/aclocal.m4 ++++ b/ghc/aclocal.m4 +@@ -613,7 +613,7 @@ AC_DEFUN([FP_SET_CFLAGS_C99], + CPPFLAGS="$$3" + unset ac_cv_prog_cc_c99 + dnl perform detection +- _AC_PROG_CC_C99 ++ AC_PROG_CC_C99 + fp_cc_c99="$ac_cv_prog_cc_c99" + case "x$ac_cv_prog_cc_c99" in + x) ;; # noop diff --git a/haskell-overlays/ghcjs-8.6/cabal-install.nix b/haskell-overlays/ghcjs-8.6/cabal-install.nix new file mode 100644 index 000000000..7bc7869dd --- /dev/null +++ b/haskell-overlays/ghcjs-8.6/cabal-install.nix @@ -0,0 +1,10 @@ +# The build of ghcjs8.6 uses cabal v1 commands, including v1-sdist, so we need an older cabal-install +{ nixpkgs }: +(nixpkgs.haskell.packages.ghc865.callHackage "cabal-install" "2.4.1.0" {}).overrideScope + (self: super: { + Cabal = self.Cabal_2_4_1_0; + base16-bytestring = self.base16-bytestring_0_1_1_7; + hackage-security = nixpkgs.haskell.lib.dontCheck + (nixpkgs.haskell.lib.doJailbreak + (self.callHackage "hackage-security" "0.5.3.0" {})); + }) diff --git a/haskell-overlays/ghcjs-8.6/src.nix b/haskell-overlays/ghcjs-8.6/src.nix new file mode 100644 index 000000000..4d54c7d76 --- /dev/null +++ b/haskell-overlays/ghcjs-8.6/src.nix @@ -0,0 +1,22 @@ +{ fetchgit, mkDerivation }: +let + rawSrc = fetchgit { + url = "https://github.com/obsidiansystems/ghcjs.git"; + rev = "a00ecf0b2eaddbc4101c76e6ac95fc97b0f75840"; # ghc-8.6 branch + sha256 = "06cwpijwhj4jpprn07y3pkxmv40pwmqqw5jbdv4s7c67j5pmirnc"; + fetchSubmodules = true; + }; + # See https://gitlab.haskell.org/ghc/ghc/-/commit/ad2ef3a13f1eb000eab8e3d64592373b91a52806 + autoreconfPatch = ./autoreconf.patch; + patchedSrc = mkDerivation { + name = "ghcjs-src-autoreconf-patched"; + src = rawSrc; + buildPhase = '' + cp -r $src $out + chmod -R +w $out/* + cd $out + patch -p1 < ${autoreconfPatch} + ''; + dontInstall = true; + }; +in patchedSrc diff --git a/haskell-overlays/ghcjs-text-jsstring-8.6/default.nix b/haskell-overlays/ghcjs-text-jsstring-8.6/default.nix index 30e67a306..ea6886e74 100644 --- a/haskell-overlays/ghcjs-text-jsstring-8.6/default.nix +++ b/haskell-overlays/ghcjs-text-jsstring-8.6/default.nix @@ -8,7 +8,7 @@ self: super: { sha256 = "1vy7a81b1vcbfhv7l3m7p4hx365ss13mzbzkjn9751bn4n7x2ydd"; }; ghcjsBaseTextJSStringSrc = super.ghcjs-base.src.overrideAttrs (drv: { - outputHash = "1pdxlb67f94bl2b6k0m4flpjbf07g7fgqbyjnki4y57a5r0iympd"; + outputHash = "19bsvv8g4kgjj2z7a8r8in4g8sshvvwn717n4664fnfn6xhzm2i6"; postFetch = (drv.postFetch or "") + '' ( cd $out patch -p1 < ${./ghcjs-base-text-jsstring.patch} diff --git a/haskell-overlays/haskell-gi-8.10/default.nix b/haskell-overlays/haskell-gi-8.10/default.nix deleted file mode 100644 index 6c8028ffb..000000000 --- a/haskell-overlays/haskell-gi-8.10/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ haskellLib -, fetchFromGitHub -, nixpkgs -}: -with haskellLib; -let # Adds additional arguments to 'buildInputs' and the 'HASKELL_GI_GIR_SEARCH_PATH' environment variable - # used by haskell-gi to specify non-standard locations .gir file locations - # addGIDeps :: haskellPackage -> [nixPackage] -> [nixPackage] -> haskellPackage - addGIDeps = p: extraBuildInputs: girSearchPathPackages: p.overrideAttrs (drv: { - # cabal2nix puts these deps in libraryPkgconfigDepends but that doesn't seem to suffice. - buildInputs = with nixpkgs; drv.buildInputs or [] ++ [ pkgconfig gobjectIntrospection ] ++ extraBuildInputs; - libraryPkgconfigDepends = drv.libraryPkgconfigDepends or [] ++ [nixpkgs.gobject-introspection]; - # This preConfigure should have been added by cabal2nix according to this commit: https://github.com/NixOS/cabal2nix/commit/426fde8847370c32731a1db314283f5ebcbabeb7 - # though that functionality was removed in a later commit: https://github.com/NixOS/cabal2nix/commit/2d278a8a1527b278939ba478fe915aa2f87cc22e#diff-387ec31295a66a4f73b8d4b507a239a2 - # Cf. https://github.com/haskell-gi/haskell-gi/issues/36 - preConfigure = "export HASKELL_GI_GIR_SEARCH_PATH=" + - nixpkgs.lib.concatStringsSep ":" - (map (x: "${x.dev}/share/gir-1.0") ([nixpkgs.gobjectIntrospection] ++ girSearchPathPackages)); - }); -in self: super: { - - # Overrides for gi-* family of libraries. See addGIDeps, above. - haskell-gi-base = addGIDeps (super.haskell-gi-base) [nixpkgs.glib] []; - gi-glib = addGIDeps (super.gi-glib) [] []; - gi-cairo = addGIDeps (super.gi-cairo) [nixpkgs.cairo] []; - gi-gobject = addGIDeps (super.gi-gobject) [] []; - gi-pango = addGIDeps (super.gi-pango) [nixpkgs.pango] []; - gi-gio = addGIDeps (super.gi-gio) [] []; - gi-atk = addGIDeps (super.gi-atk) [] []; - gi-javascriptcore = addGIDeps (super.gi-javascriptcore) [] []; - gi-gdkpixbuf = addGIDeps (super.gi-gdkpixbuf) [nixpkgs.gdk_pixbuf nixpkgs.gtk3] [nixpkgs.gtk3]; - gi-gdk = addGIDeps (super.gi-gdk) [nixpkgs.gdk_pixbuf nixpkgs.pango nixpkgs.gtk3] [nixpkgs.gtk3]; - gi-soup = addGIDeps (super.gi-soup) [nixpkgs.gdk_pixbuf] [nixpkgs.libsoup]; - gi-gtk = addGIDeps (super.gi-gtk) [nixpkgs.gdk_pixbuf nixpkgs.gtk3] [nixpkgs.gtk3 nixpkgs.atk nixpkgs.pango]; - gi-webkit2 = addGIDeps (super.gi-webkit2) [] [nixpkgs.webkitgtk]; - -} diff --git a/haskell-overlays/haskell-gi-8.6/default.nix b/haskell-overlays/haskell-gi-8.6/default.nix deleted file mode 100644 index e7e154429..000000000 --- a/haskell-overlays/haskell-gi-8.6/default.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ haskellLib -, fetchFromGitHub -, nixpkgs -}: -with haskellLib; -let # Adds additional arguments to 'buildInputs' and the 'HASKELL_GI_GIR_SEARCH_PATH' environment variable - # used by haskell-gi to specify non-standard locations .gir file locations - # addGIDeps :: haskellPackage -> [nixPackage] -> [nixPackage] -> haskellPackage - addGIDeps = p: extraBuildInputs: girSearchPathPackages: p.overrideAttrs (drv: { - # cabal2nix puts these deps in libraryPkgconfigDepends but that doesn't seem to suffice. - buildInputs = with nixpkgs; drv.buildInputs or [] ++ [ pkgconfig gobjectIntrospection ] ++ extraBuildInputs; - libraryPkgconfigDepends = drv.libraryPkgconfigDepends or [] ++ [nixpkgs.gobject-introspection]; - # This preConfigure should have been added by cabal2nix according to this commit: https://github.com/NixOS/cabal2nix/commit/426fde8847370c32731a1db314283f5ebcbabeb7 - # though that functionality was removed in a later commit: https://github.com/NixOS/cabal2nix/commit/2d278a8a1527b278939ba478fe915aa2f87cc22e#diff-387ec31295a66a4f73b8d4b507a239a2 - # Cf. https://github.com/haskell-gi/haskell-gi/issues/36 - preConfigure = "export HASKELL_GI_GIR_SEARCH_PATH=" + - nixpkgs.lib.concatStringsSep ":" - (map (x: "${x.dev}/share/gir-1.0") ([nixpkgs.gobjectIntrospection] ++ girSearchPathPackages)); - }); - - nixpkgsPath_20_03 = import ./nixpkgs-20.03/thunk.nix; - - atk_old = nixpkgs.callPackage "${nixpkgsPath_20_03}/pkgs/development/libraries/atk" { }; - gdk-pixbuf_old = nixpkgs.callPackage "${nixpkgsPath_20_03}/pkgs/development/libraries/gdk-pixbuf" { }; - gtk3_old = nixpkgs.callPackage "${nixpkgsPath_20_03}/pkgs/development/libraries/gtk/3.x.nix" { - inherit (nixpkgs.darwin.apple_sdk.frameworks) AppKit Cocoa; - atk = atk_old; - gdk-pixbuf = gdk-pixbuf_old; - pango = pango_old; - }; - libsoup_old = nixpkgs.callPackage "${nixpkgsPath_20_03}/pkgs/development/libraries/libsoup" { }; - pango_old = nixpkgs.callPackage "${nixpkgsPath_20_03}/pkgs/development/libraries/pango" { - harfbuzz = nixpkgs.harfbuzz.override { withCoreText = nixpkgs.stdenv.isDarwin; }; - }; - webkitgtk_old = nixpkgs.callPackage "${nixpkgsPath_20_03}/pkgs/development/libraries/webkitgtk" { - harfbuzz = nixpkgs.harfbuzzFull; - inherit (nixpkgs.gst_all_1) gst-plugins-base gst-plugins-bad; - stdenv = nixpkgs.clangStdenv; # TODO: https://github.com/NixOS/nixpkgs/issues/36947 - gtk3 = gtk3_old; - libsoup = libsoup_old; - }; -in self: super: { - - # Overrides for gi-* family of libraries. See addGIDeps, above. - # Also use an older version suitable for GHC 8.6, because haskell-gi-base == - # 0.24.2 needs a newer compiler. https://github.com/haskell-gi/haskell-gi/issues/304 - # We also need nixpkgs 20.03 for older gi* deps. TODO: This should be removed - # after GHC is bumped, and the uses of (callHackage "x") can be switched back - # to (super.x). - haskell-gi-base = addGIDeps (self.callHackage "haskell-gi-base" "0.23.0" {}) [nixpkgs.glib] []; - haskell-gi = addGIDeps (self.callHackage "haskell-gi" "0.23.0" {}) [] []; - gi-glib = addGIDeps (self.callHackage "gi-glib" "2.0.23" {}) [] []; - gi-cairo = addGIDeps (self.callHackage "gi-cairo" "1.0.23" {}) [nixpkgs.cairo] []; - gi-gobject = addGIDeps (self.callHackage "gi-gobject" "2.0.22" {}) [] []; - gi-pango = addGIDeps (self.callHackage "gi-pango" "1.0.22" {}) [pango_old] []; - gi-gio = addGIDeps (self.callHackage "gi-gio" "2.0.25" {}) [] []; - gi-atk = addGIDeps (self.callHackage "gi-atk" "2.0.21" {}) [] []; - gi-javascriptcore = addGIDeps (self.callHackage "gi-javascriptcore" "4.0.21" {}) [] []; - gi-gdkpixbuf = addGIDeps (self.callHackage "gi-gdkpixbuf" "2.0.23" {}) [gdk-pixbuf_old gtk3_old] [gtk3_old]; - gi-gdk = addGIDeps (self.callHackage "gi-gdk" "3.0.22" {}) [gdk-pixbuf_old pango_old gtk3_old] [gtk3_old]; - gi-soup = addGIDeps (self.callHackage "gi-soup" "2.4.22" {}) [gdk-pixbuf_old] [libsoup_old]; - gi-gtk = addGIDeps (self.callHackage "gi-gtk" "3.0.32" {}) [gdk-pixbuf_old gtk3_old] [gtk3_old atk_old pango_old]; - gi-webkit2 = addGIDeps (self.callHackage "gi-webkit2" "4.0.25" {}) [] [webkitgtk_old]; - -} diff --git a/haskell-overlays/haskell-gi-8.6/nixpkgs-20.03/github.json b/haskell-overlays/haskell-gi-8.6/nixpkgs-20.03/github.json deleted file mode 100644 index 31e46d59f..000000000 --- a/haskell-overlays/haskell-gi-8.6/nixpkgs-20.03/github.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "owner": "obsidiansystems", - "repo": "nixpkgs", - "branch": "reflex-platform-20.03", - "private": false, - "rev": "dc919c12a635ed7944f6b89bf43e1366ba9a5c54", - "sha256": "0vcamk796jn1ry4cc6mf6c8n4qsvwn4lyvl5r3kavbyz0qmf2ajz" -} diff --git a/haskell-overlays/reflex-packages/default.nix b/haskell-overlays/reflex-packages/default.nix index 1d8242366..89d504ee3 100644 --- a/haskell-overlays/reflex-packages/default.nix +++ b/haskell-overlays/reflex-packages/default.nix @@ -72,7 +72,7 @@ in # Show some output while running tests, so we might notice what's wrong testTarget = "--show-details=streaming"; - testHaskellDepends = with self; (drv.testHaskellDepends or []) ++ stdenv.lib.optionals (!noGcTest) [ + testHaskellDepends = with self; (drv.testHaskellDepends or []) ++ lib.optionals (!noGcTest) [ temporary jsaddle-warp process @@ -83,30 +83,21 @@ in nixpkgs_oldChromium.selenium-server-standalone nixpkgs_oldChromium.chromium which - ] ++ stdenv.lib.optionals (!noGcTest) [ + ] ++ lib.optionals (!noGcTest) [ nixpkgs.iproute ]; - } // stdenv.lib.optionalAttrs (!noGcTest) { + } // lib.optionalAttrs (!noGcTest) { # The headless browser run as part of gc tests would hang/crash without this preCheck = '' export FONTCONFIG_PATH=${nixpkgs.fontconfig.out}/etc/fonts '' + (drv.preCheck or ""); }); - reflex-dom = haskellLib.overrideCabal - (self.callCabal2nixWithOptions "reflex-dom" (reflexDomRepo + "/reflex-dom") (lib.concatStringsSep " " (lib.concatLists [ + reflex-dom = + self.callCabal2nixWithOptions "reflex-dom" (reflexDomRepo + "/reflex-dom") (lib.concatStringsSep " " (lib.concatLists [ reflexOptimizerFlag useTemplateHaskellFlag - ])) {}) - (drv: { - # Hack until https://github.com/NixOS/cabal2nix/pull/432 lands - libraryHaskellDepends = (drv.libraryHaskellDepends or []) - ++ stdenv.lib.optionals (with stdenv.hostPlatform; isAndroid && is32bit) [ - self.android-activity - ] ++ stdenv.lib.optionals (with stdenv.hostPlatform; isWasm && is32bit) [ - self.jsaddle-wasm - ]; - }); + ])) {}; chrome-test-utils = self.callCabal2nix "chrome-test-utils" (reflexDomRepo + "/chrome-test-utils") {}; @@ -174,8 +165,10 @@ in ## haskell-gi-overloading = dontHaddock (self.callHackage "haskell-gi-overloading" "0.0" {}); - monoidal-containers = self.callHackage "monoidal-containers" "0.6.0.1" {}; + monoidal-containers = self.callHackage "monoidal-containers" "0.6.2.0" {}; patch = self.callCabal2nix "patch" self._dep.patch {}; + commutative-semigroups = self.callCabal2nix "commutative-semigroups" self._dep.commutative-semigroups {}; + witherable = self.callHackage "witherable" "0.4.2" {}; webdriver = self.callHackage "webdriver" "0.9.0.1" {}; @@ -188,7 +181,7 @@ in sha256 = "1criynifhvmnqwhrshmzylikqkvlgq98xf72w9cdd2zpjw539qf0"; }) {}; - constraints-extras = self.callHackage "constraints-extras" "0.3.0.2" {}; + constraints-extras = self.callHackage "constraints-extras" "0.3.2.1" {}; some = self.callHackage "some" "1.0.2" {}; prim-uniq = self.callHackage "prim-uniq" "0.2" {}; aeson-gadt-th = self.callHackage "aeson-gadt-th" "0.2.4" {}; @@ -209,56 +202,6 @@ in th-abstraction = self.callHackage "th-abstraction" "0.4.3.0" {}; - # Needed because we force newer th-abstraction for our TH libraries. - aeson = self.callHackage "aeson" "1.5.4.1" {}; - bifunctors = self.callHackage "bifunctors" "5.5.11" {}; - generic-deriving = self.callHackage "generic-deriving" "1.14.1" {}; - invariant = self.callHackage "invariant" "0.5.5" {}; - lens = self.callHackage "lens" "4.19.2" {}; - microlens-th = self.callHackage "microlens-th" "0.4.3.10" {}; - th-lift = self.callHackage "th-lift" "0.8.2" {}; - - # For aeson - quickcheck-instances = self.callHackage "quickcheck-instances" "0.3.27" {}; - strict = self.callHackage "strict" "0.4.0.1" {}; - - # For quickcheck-instanaces - OneTuple = doJailbreak (self.callHackage "OneTuple" "0.3.1" {}); - QuickCheck = self.callHackage "QuickCheck" "2.14.1" {}; - # Avoid Infinite recursursion - text-short = dontCheck super.text-short; - time-compat = self.callHackage "time-compat" "1.9.4" {}; - - # For OneTuple and strict - hashable = self.callHackage "hashable" "1.3.5.0" {}; - - # For QuickCheck - splitmix = dontCheck (self.callHackage "splitmix" "0.1.0.4" (lib.optionalAttrs stdenv.hostPlatform.isLinux { - # Non-Haskell library needed for the test suite - testu01 = null; - })); - - # Due to newer QuickCheck - HsYAML = doJailbreak super.HsYAML; - attoparsec = doJailbreak super.attoparsec; - cassava = doJailbreak super.cassava; - psqueues = doJailbreak super.psqueues; - vector = doJailbreak super.vector; - # quick check arbitrary was trying harder, maybe? - hackage-security = dontCheck super.hackage-security; - - # Due to strict - stylish-haskell = doJailbreak super.stylish-haskell; - - # For bifunctors, bumped above - comonad = self.callHackage "comonad" "5.0.8" {}; - base-orphans = self.callHackage "base-orphans" "0.8.6" {}; - - # For comonad - tagged = self.callHackage "tagged" "0.8.6.1" {}; - # this package didn't exist in the package set before - indexed-traversable = self.callHackage "indexed-traversable" "0.1.2" {}; - # Slightly newer version to fix # https://github.com/danfran/cabal-macosx/issues/13 cabal-macosx = self.callHackage "cabal-macosx" "0.2.4.2" {}; diff --git a/haskell-overlays/haskell-gi-8.6/nixpkgs-20.03/default.nix b/haskell-overlays/reflex-packages/dep/commutative-semigroups/default.nix similarity index 100% rename from haskell-overlays/haskell-gi-8.6/nixpkgs-20.03/default.nix rename to haskell-overlays/reflex-packages/dep/commutative-semigroups/default.nix diff --git a/haskell-overlays/reflex-packages/dep/commutative-semigroups/github.json b/haskell-overlays/reflex-packages/dep/commutative-semigroups/github.json new file mode 100644 index 000000000..ddca8ac4b --- /dev/null +++ b/haskell-overlays/reflex-packages/dep/commutative-semigroups/github.json @@ -0,0 +1,8 @@ +{ + "owner": "obsidiansystems", + "repo": "commutative-semigroups", + "branch": "release/0.1.0.0", + "private": false, + "rev": "1ff90095ee058b067913efc8ebcad90f605fa5b3", + "sha256": "04abn9h0miz0kbzjhg2z9pppxjncswkcp9q72pikgv0izc0ckic5" +} diff --git a/haskell-overlays/haskell-gi-8.6/nixpkgs-20.03/thunk.nix b/haskell-overlays/reflex-packages/dep/commutative-semigroups/thunk.nix similarity index 100% rename from haskell-overlays/haskell-gi-8.6/nixpkgs-20.03/thunk.nix rename to haskell-overlays/reflex-packages/dep/commutative-semigroups/thunk.nix diff --git a/haskell-overlays/reflex-packages/dep/jsaddle/github.json b/haskell-overlays/reflex-packages/dep/jsaddle/github.json index 64af12ee9..1c46c4def 100644 --- a/haskell-overlays/reflex-packages/dep/jsaddle/github.json +++ b/haskell-overlays/reflex-packages/dep/jsaddle/github.json @@ -1,8 +1,8 @@ { - "owner": "ghcjs", + "owner": "obsidiansystems", "repo": "jsaddle", - "branch": "master", + "branch": "aa/bump-ref-tf", "private": false, - "rev": "9cb3534b6b2dc948c6fa88fce281e59e904b43e4", - "sha256": "1drgrgjnxamq8vh6mrqg62xcj7vb9makpy89bls485d6ckigv3ha" + "rev": "3825ad765c7c4729e40f3341c222561ec834f878", + "sha256": "0m2l4ihnq8zh0ly4aibrj6q6hxv3dsbc90zcqyblgdysl3sp5y33" } diff --git a/haskell-overlays/reflex-packages/dep/patch/github.json b/haskell-overlays/reflex-packages/dep/patch/github.json index 6bb35fc6c..9758fb34c 100644 --- a/haskell-overlays/reflex-packages/dep/patch/github.json +++ b/haskell-overlays/reflex-packages/dep/patch/github.json @@ -1,8 +1,8 @@ { "owner": "reflex-frp", "repo": "patch", - "branch": "release/0.0.4.0", + "branch": "release/0.0.7.0", "private": false, - "rev": "68cf321722b9992bcb402166e833ff4c6088143d", - "sha256": "17zpzxsb3pb4n3xl8lha8jh0bs7m97fpcjp7wlsg390kzjls4kgy" + "rev": "12e1510042720b82de65887017485f9befeb9bfe", + "sha256": "12gjvycrg2a87f2cxygyvs844dd90n021403abl84ill3v4yldkj" } diff --git a/haskell-overlays/reflex-packages/dep/reflex-dom/github.json b/haskell-overlays/reflex-packages/dep/reflex-dom/github.json index 01a88eb0f..87111a186 100644 --- a/haskell-overlays/reflex-packages/dep/reflex-dom/github.json +++ b/haskell-overlays/reflex-packages/dep/reflex-dom/github.json @@ -1,8 +1,8 @@ { "owner": "reflex-frp", "repo": "reflex-dom", - "branch": "release/reflex-dom-core/0.7.0.0", + "branch": "aa/version-bounds", "private": false, - "rev": "a5ae0c8a8598ce531f80b8443cd3042314e821f3", - "sha256": "04lrdhfkbk4nlj2lw7q96apjqmdydqafpylf10qgpjzpvn9la278" + "rev": "567015558bbe9538890a3655e23b57e5759f12a3", + "sha256": "0wxd9k46zggn3hpxcvk65pila8yhslj5r7ahgxr7smf6lrrr5pz6" } diff --git a/haskell-overlays/reflex-packages/dep/reflex-dom/thunk.nix b/haskell-overlays/reflex-packages/dep/reflex-dom/thunk.nix index bbf2dc18f..c40169665 100644 --- a/haskell-overlays/reflex-packages/dep/reflex-dom/thunk.nix +++ b/haskell-overlays/reflex-packages/dep/reflex-dom/thunk.nix @@ -6,4 +6,4 @@ let fetch = { private ? false, fetchSubmodules ? false, owner, repo, rev, sha256 inherit owner repo rev sha256 fetchSubmodules private; }; json = builtins.fromJSON (builtins.readFile ./github.json); -in fetch json \ No newline at end of file +in fetch json diff --git a/haskell-overlays/reflex-packages/dep/reflex-ghci/github.json b/haskell-overlays/reflex-packages/dep/reflex-ghci/github.json index 8e4c9fc1c..dccfe40cd 100644 --- a/haskell-overlays/reflex-packages/dep/reflex-ghci/github.json +++ b/haskell-overlays/reflex-packages/dep/reflex-ghci/github.json @@ -1,8 +1,8 @@ { "owner": "reflex-frp", "repo": "reflex-ghci", - "branch": "ts@ghc-8.10", + "branch": "aa/bump-deps", "private": false, - "rev": "6db4e08be2ed8c8cec7e83d18d02fecfff6a8c5c", - "sha256": "1y1b1i7xdyk3dwq2sz64pwnlacrqw6bv0xhv5cvz7h4yg9yfshm2" + "rev": "adf36146953f8fce18f9d8231b71d9c71ce92ff8", + "sha256": "0rb3fv1kabknrrpxxh0cysvqh5q80qs13ndxdalb2d120c7nb8zq" } diff --git a/haskell-overlays/reflex-packages/dep/reflex-vty/github.json b/haskell-overlays/reflex-packages/dep/reflex-vty/github.json index 944366c70..e556109fa 100644 --- a/haskell-overlays/reflex-packages/dep/reflex-vty/github.json +++ b/haskell-overlays/reflex-packages/dep/reflex-vty/github.json @@ -1,8 +1,8 @@ { "owner": "reflex-frp", "repo": "reflex-vty", - "branch": "release/0.2.0.0", + "branch": "aa/bump-deps", "private": false, - "rev": "15d317203ae601ea13e0ed41c0dfac4ea08c9903", - "sha256": "14rr7yq2h6gs1x8f10m2pal3ly7hgxi3ikzsycafwbn1ib961b5a" + "rev": "cf039c499b3a4de427cf79e7e03857deb457c63d", + "sha256": "1nm6ixh07mi7v5n2anpchyrbzz5r3zminb2aa6dad8r4hawbgp8h" } diff --git a/haskell-overlays/reflex-packages/dep/reflex/github.json b/haskell-overlays/reflex-packages/dep/reflex/github.json index b2465f139..5e97fb816 100644 --- a/haskell-overlays/reflex-packages/dep/reflex/github.json +++ b/haskell-overlays/reflex-packages/dep/reflex/github.json @@ -1,8 +1,8 @@ { "owner": "reflex-frp", "repo": "reflex", - "branch": "release/0.8.2.0", + "branch": "release/0.8.2.1", "private": false, - "rev": "823afd9424234cbe0134051f09a6710e54509cec", - "sha256": "1zh8v28issyh8sww9aw6y4dqd2qql25nrxxzxg9ky0vrwmhw295c" + "rev": "d9a40cd97072869c91479303ee52577b793c11d2", + "sha256": "0m187h70kvkgrfjr8lzjiz7sm61s92x5ygflsqff7m038k62nzyz" } diff --git a/haskell-overlays/splices-load-save/dep/ghc-8.10/github.json b/haskell-overlays/splices-load-save/dep/ghc-8.10/github.json index 2ae87412e..7b1b056c5 100644 --- a/haskell-overlays/splices-load-save/dep/ghc-8.10/github.json +++ b/haskell-overlays/splices-load-save/dep/ghc-8.10/github.json @@ -1,7 +1,9 @@ { "owner": "obsidiansystems", "repo": "ghc", - "rev": "93063be3b9e3bcd973f2bd78fadb17f19888320e", - "sha256": "1xpdv3sxlppnfwzwkc18fp13srpbnca0qi8a6206ccpq3h48zv6n", + "branch": "ghc-8.10.7-android", + "private": false, + "rev": "162f1476c19f4cdb80cac1356639fb13c62a6e0c", + "sha256": "11kagvwg436ch3dlckz1m3l8kqrgw6rhs9prwn5mksg8778h6cw1", "fetchSubmodules": true } diff --git a/haskell-overlays/splices-load-save/ghc-8.6-autoreconf.patch b/haskell-overlays/splices-load-save/ghc-8.6-autoreconf.patch new file mode 100644 index 000000000..b48c90b9d --- /dev/null +++ b/haskell-overlays/splices-load-save/ghc-8.6-autoreconf.patch @@ -0,0 +1,13 @@ +diff --git a/aclocal.m4 b/aclocal.m4 +index 2158097046..38c74b2129 100644 +--- a/aclocal.m4 ++++ b/aclocal.m4 +@@ -613,7 +613,7 @@ AC_DEFUN([FP_SET_CFLAGS_C99], + CPPFLAGS="$$3" + unset ac_cv_prog_cc_c99 + dnl perform detection +- _AC_PROG_CC_C99 ++ AC_PROG_CC_C99 + fp_cc_c99="$ac_cv_prog_cc_c99" + case "x$ac_cv_prog_cc_c99" in + x) ;; # noop diff --git a/haskell-overlays/text-jsstring/default.nix b/haskell-overlays/text-jsstring/default.nix index 21719f042..b17cddc69 100644 --- a/haskell-overlays/text-jsstring/default.nix +++ b/haskell-overlays/text-jsstring/default.nix @@ -16,7 +16,7 @@ self: super: { aeson = dontCheck (self.callCabal2nix "aeson" self._dep.aeson {}); # attoparsec = dontCheck (self.callCabal2nix "attoparsec" self._dep.attoparsec {}); - hashable = overrideCabal super.hashable (drv: { + hashable = overrideCabal (self.callCabal2nix "hashable" self._dep.hashable {}) (drv: { revision = null; editedCabalFile = null; jailbreak = true; diff --git a/haskell-overlays/text-jsstring/dep/hashable/default.nix b/haskell-overlays/text-jsstring/dep/hashable/default.nix new file mode 100644 index 000000000..2b4d4ab11 --- /dev/null +++ b/haskell-overlays/text-jsstring/dep/hashable/default.nix @@ -0,0 +1,2 @@ +# DO NOT HAND-EDIT THIS FILE +import (import ./thunk.nix) \ No newline at end of file diff --git a/haskell-overlays/text-jsstring/dep/hashable/github.json b/haskell-overlays/text-jsstring/dep/hashable/github.json new file mode 100644 index 000000000..56a4637d4 --- /dev/null +++ b/haskell-overlays/text-jsstring/dep/hashable/github.json @@ -0,0 +1,7 @@ +{ + "owner": "haskell-unordered-containers", + "repo": "hashable", + "private": false, + "rev": "819fdbeaeeb62ed1344fb057de17fa29b10fa3e1", + "sha256": "0xnwfwnnh0bxq16wx0qmdakvgvj8i22km3bhvvki15rd9jil04cc" +} diff --git a/haskell-overlays/text-jsstring/dep/hashable/thunk.nix b/haskell-overlays/text-jsstring/dep/hashable/thunk.nix new file mode 100644 index 000000000..bbf2dc18f --- /dev/null +++ b/haskell-overlays/text-jsstring/dep/hashable/thunk.nix @@ -0,0 +1,9 @@ +# DO NOT HAND-EDIT THIS FILE +let fetch = { private ? false, fetchSubmodules ? false, owner, repo, rev, sha256, ... }: + if !fetchSubmodules && !private then builtins.fetchTarball { + url = "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz"; inherit sha256; + } else (import {}).fetchFromGitHub { + inherit owner repo rev sha256 fetchSubmodules private; + }; + json = builtins.fromJSON (builtins.readFile ./github.json); +in fetch json \ No newline at end of file diff --git a/haskell-overlays/untriaged.nix b/haskell-overlays/untriaged.nix index b9bd4e944..e3ea2fe85 100644 --- a/haskell-overlays/untriaged.nix +++ b/haskell-overlays/untriaged.nix @@ -14,7 +14,7 @@ self: super: { # Fixing things that are marked broken in 20.09: constrained-dynamic = dontCheck (markUnbroken super.constrained-dynamic); - haven = markUnbroken super.haven; + haven = doJailbreak (markUnbroken super.haven); # These take over an hour to run, each cryptonite = dontCheck super.cryptonite; @@ -54,4 +54,7 @@ self: super: { # ghcjs-promise is marked broken in nixpkgs ghcjs-promise = self.callHackage "ghcjs-promise" "0.1.0.3" {}; + + utf8-string = self.callHackage "utf8-string" "1.0.1.1" {}; + } diff --git a/nixpkgs-overlays/ghc.nix b/nixpkgs-overlays/ghc.nix index 55b096e70..6816255ab 100644 --- a/nixpkgs-overlays/ghc.nix +++ b/nixpkgs-overlays/ghc.nix @@ -3,14 +3,5 @@ self: super: { # Apply custom patches to Haskell compilers haskell = super.haskell // { - compiler = super.haskell.compiler // lib.mapAttrs (n: v: v.overrideAttrs (drv: { - patches = (drv.patches or []) ++ [ - # Fix a segfault in base reported in https://gitlab.haskell.org/ghc/ghc/issues/16893 - (self.fetchpatch { - url = "https://gitlab.haskell.org/ghc/ghc/commit/220ab887a4f009d9da8b2336d228d9f8eaf4aacc.patch"; - sha256 = "1qjvjxbn8xczmxm8pc9vxnqwn2nx0xyfm0ifkpa3sqswy3a09x9j"; - }) - ]; - })) { inherit (super.haskell.compiler) ghc865; }; }; } diff --git a/nixpkgs-overlays/mobile-ghc/default.nix b/nixpkgs-overlays/mobile-ghc/default.nix index 2d091b96a..8ce959a6b 100644 --- a/nixpkgs-overlays/mobile-ghc/default.nix +++ b/nixpkgs-overlays/mobile-ghc/default.nix @@ -19,7 +19,7 @@ in self: super: { lib.optionals (isAndroid && isGhc86x) [ ./8.6.y/android-patches/strict-align.patch ]; - })) { inherit (super.haskell.compiler) ghc865 ghcSplices-8_6 ghc8107 ghcSplices-8_10; }; + })) { inherit (super.haskell.compiler) ghc8107 ghcSplices-8_10; }; }; } diff --git a/nixpkgs/github.json b/nixpkgs/github.json index 003ede303..4b0c51005 100644 --- a/nixpkgs/github.json +++ b/nixpkgs/github.json @@ -1,8 +1,8 @@ { "owner": "obsidiansystems", "repo": "nixpkgs", - "branch": "reflex-platform-20.09", + "branch": "aa/reflex-platform-21.05-backport-ghc8.6.5", "private": false, - "rev": "4e243931107ee18274d861a56c24528a0ac9c775", - "sha256": "00vyfmaib8wxxdvvfbmb4gwdvkflbpl1kx5j6nlvpmgv7zlliz8a" + "rev": "f0f5e6e0759a7f98887952ead900c0c2c40eb5f6", + "sha256": "1mxm3j3bl618s09b6pyglkx6d68cpdsqp5iphckl42220pk188qm" } diff --git a/release.nix b/release.nix index 0ed7f3be5..17d7f3c30 100644 --- a/release.nix +++ b/release.nix @@ -49,8 +49,8 @@ let # attributes in the overlays. dep = {} - // reflex-platform.ghcjs8_6._dep // (lib.optionalAttrs reflex-platform.androidSupport reflex-platform.ghcAndroidAarch64._dep) + // reflex-platform.ghcjs8_6._dep // benchmark.dep ;