File tree Expand file tree Collapse file tree 3 files changed +110
-16
lines changed Expand file tree Collapse file tree 3 files changed +110
-16
lines changed Original file line number Diff line number Diff line change @@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
1515 src = fetchFromGitHub {
1616 owner = "orioledb" ;
1717 repo = "orioledb" ;
18- rev = "beta12 " ;
19- sha256 = "sha256-5dyVdKD1PzW+F5OPW3TR3OKBaJxxR3OhLbzK+o9Wf+Q =" ;
18+ rev = "f147bf21fea29965c18e4f3bb9d1e57e713376b2 " ;
19+ sha256 = "sha256-W3AquOCeTYv9jLsh0VV+wW9w8mGZnpLVZDWaxmVIiX8 =" ;
2020 } ;
2121 version = "beta12" ;
2222 buildInputs = [
@@ -26,7 +26,9 @@ stdenv.mkDerivation rec {
2626 python3
2727 openssl
2828 ] ;
29- buildPhase = "make USE_PGXS=1 ORIOLEDB_PATCHSET_VERSION=11" ;
29+ buildPhase = ''
30+ make USE_PGXS=1 ORIOLEDB_PATCHSET_VERSION=${ postgresql . patchset } all
31+ '' ;
3032 installPhase = ''
3133 runHook preInstall
3234
Original file line number Diff line number Diff line change 1+ { self , pkgs } :
2+ let
3+ pname = "orioledb" ;
4+ inherit ( pkgs ) lib ;
5+ postgresqlWithExtension =
6+ postgresql :
7+ let
8+ majorVersion = lib . versions . major postgresql . version ;
9+ pkg = pkgs . buildEnv {
10+ name = "postgresql-${ majorVersion } -${ pname } " ;
11+ paths = [
12+ postgresql
13+ postgresql . lib
14+ self . packages . ${ pkgs . system } . "psql_orioledb-17/exts/orioledb"
15+ ] ;
16+ passthru = {
17+ inherit ( postgresql ) version psqlSchema ;
18+ lib = pkg ;
19+ withPackages = _ : pkg ;
20+ } ;
21+ nativeBuildInputs = [ pkgs . makeWrapper ] ;
22+ pathsToLink = [
23+ "/"
24+ "/bin"
25+ "/lib"
26+ ] ;
27+ postBuild = ''
28+ wrapProgram $out/bin/postgres --set NIX_PGLIBDIR $out/lib
29+ wrapProgram $out/bin/pg_ctl --set NIX_PGLIBDIR $out/lib
30+ wrapProgram $out/bin/pg_upgrade --set NIX_PGLIBDIR $out/lib
31+ '' ;
32+ } ;
33+ in
34+ pkg ;
35+ psql_orioledb = postgresqlWithExtension self . packages . ${ pkgs . system } . postgresql_orioledb-17 ;
36+ in
37+ self . inputs . nixpkgs . lib . nixos . runTest {
38+ name = pname ;
39+ hostPkgs = pkgs ;
40+ nodes . server =
41+ { ... } :
42+ {
43+ virtualisation = {
44+ forwardPorts = [
45+ {
46+ from = "host" ;
47+ host . port = 13022 ;
48+ guest . port = 22 ;
49+ }
50+ ] ;
51+ } ;
52+ services . openssh = {
53+ enable = true ;
54+ } ;
55+
56+ services . postgresql = {
57+ enable = true ;
58+ package = psql_orioledb ;
59+ settings = {
60+ shared_preload_libraries = "orioledb" ;
61+ default_table_access_method = "orioledb" ;
62+ } ;
63+ initdbArgs = [
64+ "--allow-group-access"
65+ "--locale-provider=icu"
66+ "--encoding=UTF-8"
67+ "--icu-locale=en_US.UTF-8"
68+ ] ;
69+ initialScript = pkgs . writeText "init-postgres-with-orioledb" ''
70+ CREATE EXTENSION orioledb CASCADE;
71+ '' ;
72+ } ;
73+ } ;
74+ testScript =
75+ { ... } :
76+ ''
77+ start_all()
78+
79+ server.wait_for_unit("multi-user.target")
80+ server.wait_for_unit("postgresql.service")
81+ '' ;
82+ }
Original file line number Diff line number Diff line change @@ -131,18 +131,15 @@ let
131131 ++ lib . optionals gssSupport [ libkrb5 ]
132132 ++ lib . optionals stdenv' . isLinux [ linux-pam ]
133133 ++ lib . optionals ( ! stdenv' . isDarwin ) [ libossp_uuid ]
134- ++
135- lib . optionals
136- ( isOrioleDB || ( lib . versionAtLeast version "17" ) )
137- [
138- perl
139- bison
140- flex
141- docbook_xsl
142- docbook_xml_dtd_45
143- docbook_xsl_ns
144- libxslt
145- ] ;
134+ ++ lib . optionals ( isOrioleDB || ( lib . versionAtLeast version "17" ) ) [
135+ perl
136+ bison
137+ flex
138+ docbook_xsl
139+ docbook_xml_dtd_45
140+ docbook_xsl_ns
141+ libxslt
142+ ] ;
146143
147144 nativeBuildInputs =
148145 [
@@ -292,13 +289,20 @@ let
292289 in
293290 {
294291 psqlSchema = lib . versions . major version ;
292+ inherit revision ;
295293
296294 withJIT = if jitSupport then this else jitToggle ;
297295 withoutJIT = if jitSupport then jitToggle else this ;
298296
299297 dlSuffix = if olderThan "16" then ".so" else stdenv . hostPlatform . extensions . sharedLibrary ;
300298 inherit isOrioleDB ;
301299
300+ patchset =
301+ if isOrioleDB then
302+ if revision != null then revision else builtins . elemAt ( builtins . split "_" version ) 2
303+ else
304+ null ;
305+
302306 pkgs =
303307 let
304308 scope = {
411415 '' ;
412416
413417 passthru = {
414- inherit ( postgresql ) version psqlSchema isOrioleDB ;
418+ inherit ( postgresql )
419+ version
420+ revision
421+ patchset
422+ psqlSchema
423+ isOrioleDB
424+ ;
415425 } ;
416426 } ;
417427in
You can’t perform that action at this time.
0 commit comments