summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-06-14 14:20:59 +0200
committerMarius Bakke <marius@gnu.org>2022-06-14 23:33:51 +0200
commite03b450c363a0591301b6a190d393b9c51e69bd7 (patch)
tree008926495ddd0dc30e5a96af68344a187af9c059
parent8e974912775615f6dd233e60d53d7ee60047fd7e (diff)
downloadguix-e03b450c363a0591301b6a190d393b9c51e69bd7.tar.gz
gnu: PostgreSQL: Permit loading plugins from symlink unions again.
...this fixes a regression since 49b350fafc2c3 where the patch to disable
symlink resolving went missing from versions < 14.

* gnu/packages/databases.scm (postgresql-13/replacement): New variable.
(postgresql-13)[replacement]: New field.
(postgresql-11)[source](patches): Add 'postgresql-disable-resolve_symlinks.patch'.
-rw-r--r--gnu/packages/databases.scm25
1 files changed, 24 insertions, 1 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 6052b53158..31efb87e37 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1247,6 +1247,7 @@ pictures, sounds, or video.")
   (package
     (inherit postgresql-14)
     (version "13.6")
+    (replacement postgresql-13/replacement)
     (source (origin
               (inherit (package-source postgresql-14))
               (uri (string-append "https://ftp.postgresql.org/pub/source/v"
@@ -1256,6 +1257,24 @@ pictures, sounds, or video.")
                 "1z37ix80hb2bqa2smh1hbj9r507ypnl3pil43gkqznnlv6ipzz5s"))
               (patches (search-patches "postgresql-riscv-spinlocks.patch"))))))
 
+;; The merge of commit ...
+;;  781dd2de230e3 gnu: postgresql-13: Fix building on riscv64-linux.
+;; ... in ...
+;;  49b350fafc2c3 Merge branch 'master' into staging.
+;; ... lost the inherited patch from postgresql-14, causing problems such as ...
+;;  05fef7bfc6005 gnu: timescaledb: Adjust test preparation to PostgreSQL 13.6.
+;;
+;; While at it, remove the RISC-V spinlock patch, which has been upstreamed
+;; in a different form (so the old patch still applies).
+;; TODO: Remove in the next rebuild cycle.
+(define postgresql-13/replacement
+  (package
+    (inherit postgresql-13)
+    (source
+     (origin
+       (inherit (package-source postgresql-13))
+       (patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))))
+
 (define-public postgresql-11
   (package
     (inherit postgresql-13)
@@ -1267,7 +1286,9 @@ pictures, sounds, or video.")
                                   version "/postgresql-" version ".tar.bz2"))
               (sha256
                (base32
-                "1qvrm0vhwnc5nijfbqybhwfjbq4r7vmk445sz7s6fiagpn78xxf8"))))
+                "1qvrm0vhwnc5nijfbqybhwfjbq4r7vmk445sz7s6fiagpn78xxf8"))
+              (patches (search-patches
+                        "postgresql-disable-resolve_symlinks.patch"))))
     (native-inputs
      (modify-inputs (package-native-inputs postgresql-13)
        (replace "docbook-xml" docbook-xml-4.2)))))
@@ -1362,6 +1383,8 @@ pictures, sounds, or video.")
                         ;; and friends such that 'pg_config --libdir', for
                         ;; instance, points to PG-UNION, allowing it to load
                         ;; the timescaledb extension.
+                        ;; TODO: The above comment and the #:symlink trick can
+                        ;; be removed in the next rebuild cycle.
                         (union-build pg-union (cons #$output directories)
                                      #:symlink
                                      (lambda (old new)