diff --git a/default.nix b/default.nix index 13cf40d5f..683a7d71e 100644 --- a/default.nix +++ b/default.nix @@ -3,7 +3,7 @@ let "postgrest"; compiler = - "ghc883"; + "ghc884"; # PostgREST source files, filtered based on the rules in the .gitignore files # and file extensions. We want to include as litte as possible, as the files diff --git a/nix/UPGRADE.md b/nix/UPGRADE.md index 8efa2c3cc..1983bd18b 100644 --- a/nix/UPGRADE.md +++ b/nix/UPGRADE.md @@ -82,7 +82,7 @@ To push all new artifacts to Cachix, run: nix-store -qR --include-outputs $$(nix-instantiate) | cachix push postgrest # Or, equivalently -make cachix-push-all +nix-shell --run postgrest-push-cachix ``` diff --git a/nix/nixpkgs-version.nix b/nix/nixpkgs-version.nix index f2a4a6624..817e1fe44 100644 --- a/nix/nixpkgs-version.nix +++ b/nix/nixpkgs-version.nix @@ -1,6 +1,6 @@ # Pinned version of Nixpkgs, generated with nixpkgs-upgrade. { - date = "2020-10-04"; - rev = "d191ee22f0b0c91070f9f4c79210d4e398df0b93"; - tarballHash = "13fb4cgxxc47shmzbm0rawfxjnilf7r4zq1vwc0z6s3lxijl9wl9"; + date = "2020-12-22"; + rev = "2a058487cb7a50e7650f1657ee0151a19c59ec3b"; + tarballHash = "1h8c0mk6jlxdmjqch6ckj30pax3hqh6kwjlvp2021x3z4pdzrn9p"; } diff --git a/nix/overlays/checked-shell-script/checked-shell-script.nix b/nix/overlays/checked-shell-script/checked-shell-script.nix index 7260f33af..e1212b352 100644 --- a/nix/overlays/checked-shell-script/checked-shell-script.nix +++ b/nix/overlays/checked-shell-script/checked-shell-script.nix @@ -9,8 +9,7 @@ }: name: text: let - writeBin = - name: text: + bin = writeTextFile { inherit name; executable = true; @@ -34,9 +33,6 @@ let ''; }; - bin = - writeBin name text; - script = runCommand name { inherit bin name; } "ln -s $bin/bin/$name $out"; in diff --git a/nix/overlays/haskell-packages.nix b/nix/overlays/haskell-packages.nix index d5146eb8a..f26abeb4e 100644 --- a/nix/overlays/haskell-packages.nix +++ b/nix/overlays/haskell-packages.nix @@ -2,6 +2,9 @@ self: super: let + lib = + self.haskell.lib; + overrides = final: prev: rec { @@ -18,33 +21,14 @@ let # To get the sha256: # nix-prefetch-url --unpack https://hackage.haskell.org/package/protolude-0.3.0/protolude-0.3.0.tar.gz - # TODO: We need to patch upstream for unbreaking hasql-dynamic-statements, hasql-implicits, ptr hasql-dynamic-statements = - self.haskell.lib.dontCheck (prev.callHackageDirect - { - pkg = "hasql-dynamic-statements"; - ver = "0.3.1"; - sha256 = "1zjv91xlfkyxwq6mhzj7rsfm4kjvs9ygkgbl6jbbg19jihcn2kiy"; - } - { } - ); + lib.dontCheck (lib.unmarkBroken prev.hasql-dynamic-statements); + hasql-implicits = - prev.callHackageDirect - { - pkg = "hasql-implicits"; - ver = "0.1.0.2"; - sha256 = "1z05amiy5zmf8fmr3dqp8b4svb0sj037gdjc5b9va5d5kdi95bv7"; - } - { }; + lib.dontCheck (lib.unmarkBroken prev.hasql-implicits); + ptr = - prev.callHackageDirect - { - pkg = "ptr"; - ver = "0.16.7.2"; - sha256 = "1njb05jc1bdyxk7qh7s1y4ivn5nrpy3rhlkf4jlfamvlg8idkavc"; - } - { }; - protolude = prev.protolude_0_3_0; + lib.dontCheck (lib.unmarkBroken prev.ptr); } // extraOverrides final prev; in { diff --git a/nix/patches/default.nix b/nix/patches/default.nix index c60a0e292..edc76a73d 100644 --- a/nix/patches/default.nix +++ b/nix/patches/default.nix @@ -18,15 +18,14 @@ done ''; - # Patch is required for static builds on GHC 8.8.3, see: - # https://github.com/NixOS/nixpkgs/issues/85924 - nixpkgs-revert-ghc-bootstrap = - ./nixpkgs-revert-ghc-bootstrap.patch; - # See: https://github.com/NixOS/nixpkgs/pull/87879 nixpkgs-openssl-split-runtime-dependencies-of-static-builds = ./nixpkgs-openssl-split-runtime-dependencies-of-static-builds.patch; + # See: https://github.com/NixOS/nixpkgs/issues/104133 + nixpkgs-gdb-fix-libintl = + ./nixpkgs-gdb-fix-libintl.patch; + # Fix how openssl is linked on static builds, see: # https://github.com/nh2/static-haskell-nix/pull/91 static-haskell-nix-postgrest-openssl-linking-fix = diff --git a/nix/patches/nixpkgs-gdb-fix-libintl.patch b/nix/patches/nixpkgs-gdb-fix-libintl.patch new file mode 100644 index 000000000..b38ed9b65 --- /dev/null +++ b/nix/patches/nixpkgs-gdb-fix-libintl.patch @@ -0,0 +1,31 @@ +From 37cafab49907880838f777b068e9634d5206f61f Mon Sep 17 00:00:00 2001 +From: monacoremo <59358383+monacoremo@users.noreply.github.com> +Date: Tue, 22 Dec 2020 14:43:41 +0100 +Subject: [PATCH] Revert "gdb: 9.2 -> 10.1" + +This reverts commit 6d2cad8a4ed76e42407546bc6b4c717fd9e1a535. +--- + pkgs/development/tools/misc/gdb/default.nix | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix +index d9bac6e3c83..a4806634432 100644 +--- a/pkgs/development/tools/misc/gdb/default.nix ++++ b/pkgs/development/tools/misc/gdb/default.nix +@@ -26,11 +26,11 @@ assert pythonSupport -> python3 != null; + + stdenv.mkDerivation rec { + pname = targetPrefix + basename; +- version = "10.1"; ++ version = "9.2"; + + src = fetchurl { + url = "mirror://gnu/gdb/${basename}-${version}.tar.xz"; +- sha256 = "1h32dckz1y8fnyxh22iyw8h3hnhxr79v1ng85px3ljn1xv71wbzq"; ++ sha256 = "0mf5fn8v937qwnal4ykn3ji1y2sxk0fa1yfqi679hxmpg6pdf31n"; + }; + + postPatch = if stdenv.isDarwin then '' +-- +2.28.0 + diff --git a/nix/patches/nixpkgs-revert-ghc-bootstrap.patch b/nix/patches/nixpkgs-revert-ghc-bootstrap.patch deleted file mode 100644 index 542d358b8..000000000 --- a/nix/patches/nixpkgs-revert-ghc-bootstrap.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 9ec726b1d1a231dcff5ada065a858e9faaa7463f Mon Sep 17 00:00:00 2001 -From: monacoremo -Date: Sun, 4 Oct 2020 16:16:04 +0200 -Subject: [PATCH] Revert "ghc: 8.6.3-binary -> 8.6.5-binary" - -This reverts commit 3c7ef6bcd85e3e133ac6f2ab5e238934d56d902e. - ---- - .../{8.6.5-binary.nix => 8.6.3-binary.nix} | 13 ++++++------ - pkgs/top-level/haskell-packages.nix | 20 +++++++++---------- - 2 files changed, 16 insertions(+), 17 deletions(-) - rename pkgs/development/compilers/ghc/{8.6.5-binary.nix => 8.6.3-binary.nix} (94%) - -diff --git a/pkgs/development/compilers/ghc/8.6.5-binary.nix b/pkgs/development/compilers/ghc/8.6.3-binary.nix -similarity index 94% -rename from pkgs/development/compilers/ghc/8.6.5-binary.nix -rename to pkgs/development/compilers/ghc/8.6.3-binary.nix -index 41af279e83f..5853a470efc 100644 ---- a/pkgs/development/compilers/ghc/8.6.5-binary.nix -+++ b/pkgs/development/compilers/ghc/8.6.3-binary.nix -@@ -27,19 +27,18 @@ let - in - - stdenv.mkDerivation rec { -- version = "8.6.5"; -+ version = "8.6.3"; - - name = "ghc-${version}-binary"; - -- # https://downloads.haskell.org/~ghc/8.6.5/ - src = fetchurl ({ - i686-linux = { -- url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-deb9-linux.tar.xz"; -- sha256 = "1p2h29qghql19ajk755xa0yxkn85slbds8m9n5196ris743vkp8w"; -+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-deb8-linux.tar.xz"; -+ sha256 = "0bw8a7fxcbskf93rb4m542ff66vrmx5i5kj77qx37cbhijx70w5m"; - }; - x86_64-linux = { -- url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-deb9-linux.tar.xz"; -- sha256 = "1pqlx6rdjs2110g0y1i9f8x18lmdizibjqd15f5xahcz39hgaxdw"; -+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-deb8-linux.tar.xz"; -+ sha256 = "1m9gaga2pzi2cx5gvasg0rx1dlvr68gmi20l67652kag6xjsa719"; - }; - aarch64-linux = { - url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-aarch64-ubuntu18.04-linux.tar.xz"; -@@ -47,7 +46,7 @@ stdenv.mkDerivation rec { - }; - x86_64-darwin = { - url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz"; -- sha256 = "0s9188vhhgf23q3rjarwhbr524z6h2qga5xaaa2pma03sfqvvhfz"; -+ sha256 = "1hbzk57v45176kxcx848p5jn5p1xbp2129ramkbzsk6plyhnkl3r"; - }; - }.${stdenv.hostPlatform.system} - or (throw "cannot bootstrap GHC on this platform")); -diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix -index 693f8fe8276..034294b7264 100644 ---- a/pkgs/top-level/haskell-packages.nix -+++ b/pkgs/top-level/haskell-packages.nix -@@ -4,8 +4,8 @@ let - # These are attributes in compiler and packages that don't support integer-simple. - integerSimpleExcludes = [ - "ghc822Binary" -- "ghc865Binary" - "ghc8102Binary" -+ "ghc863Binary" - "ghcjs" - "ghcjs86" - "integer-simple" -@@ -48,7 +48,7 @@ in { - - ghc822Binary = callPackage ../development/compilers/ghc/8.2.2-binary.nix { }; - -- ghc865Binary = callPackage ../development/compilers/ghc/8.6.5-binary.nix { }; -+ ghc863Binary = callPackage ../development/compilers/ghc/8.6.3-binary.nix { }; - - ghc8102Binary = callPackage ../development/compilers/ghc/8.10.2-binary.nix { - llvmPackages = pkgs.llvmPackages_9; -@@ -61,31 +61,31 @@ in { - llvmPackages = pkgs.llvmPackages_6; - }; - ghc882 = callPackage ../development/compilers/ghc/8.8.2.nix { -- bootPkgs = packages.ghc865Binary; -+ bootPkgs = packages.ghc863Binary; - inherit (buildPackages.python3Packages) sphinx; - buildLlvmPackages = buildPackages.llvmPackages_7; - llvmPackages = pkgs.llvmPackages_7; - }; - ghc883 = callPackage ../development/compilers/ghc/8.8.3.nix { -- bootPkgs = packages.ghc865Binary; -+ bootPkgs = packages.ghc863Binary; - inherit (buildPackages.python3Packages) sphinx; - buildLlvmPackages = buildPackages.llvmPackages_7; - llvmPackages = pkgs.llvmPackages_7; - }; - ghc884 = callPackage ../development/compilers/ghc/8.8.4.nix { -- bootPkgs = packages.ghc865Binary; -+ bootPkgs = packages.ghc863Binary; - inherit (buildPackages.python3Packages) sphinx; - buildLlvmPackages = buildPackages.llvmPackages_7; - llvmPackages = pkgs.llvmPackages_7; - }; - ghc8101 = callPackage ../development/compilers/ghc/8.10.1.nix { -- bootPkgs = packages.ghc865Binary; -+ bootPkgs = packages.ghc863Binary; - inherit (buildPackages.python3Packages) sphinx; - buildLlvmPackages = buildPackages.llvmPackages_9; - llvmPackages = pkgs.llvmPackages_9; - }; - ghc8102 = callPackage ../development/compilers/ghc/8.10.2.nix { -- bootPkgs = packages.ghc865Binary; -+ bootPkgs = packages.ghc863Binary; - inherit (buildPackages.python3Packages) sphinx; - buildLlvmPackages = buildPackages.llvmPackages_9; - llvmPackages = pkgs.llvmPackages_9; -@@ -144,9 +144,9 @@ in { - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { }; - packageSetConfig = bootstrapPackageSet; - }; -- ghc865Binary = callPackage ../development/haskell-modules { -- buildHaskellPackages = bh.packages.ghc865Binary; -- ghc = bh.compiler.ghc865Binary; -+ ghc863Binary = callPackage ../development/haskell-modules { -+ buildHaskellPackages = bh.packages.ghc863Binary; -+ ghc = bh.compiler.ghc863Binary; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.6.x.nix { }; - packageSetConfig = bootstrapPackageSet; - }; --- -2.28.0 - diff --git a/nix/static-haskell-package.nix b/nix/static-haskell-package.nix index 31d27089d..ccfd6df54 100644 --- a/nix/static-haskell-package.nix +++ b/nix/static-haskell-package.nix @@ -25,8 +25,8 @@ let patches.applyPatches "patched-nixpkgs" nixpkgs [ - patches.nixpkgs-revert-ghc-bootstrap patches.nixpkgs-openssl-split-runtime-dependencies-of-static-builds + patches.nixpkgs-gdb-fix-libintl ]; extraOverrides = @@ -52,7 +52,7 @@ let # Each version of GHC needs a specific version of Cabal. defaultCabalPackageVersionComingWithGhc = { - ghc883 = "Cabal_3_2_0_0"; + ghc884 = "Cabal_3_2_1_0"; }."${compiler}"; # The static-haskell-nix 'survey' derives a full static set of Haskell