Merge branch 'master' into postgresql_group

This commit is contained in:
danbst
2020-02-14 19:00:52 +02:00
14714 changed files with 548639 additions and 460914 deletions
+5 -3
View File
@@ -12,16 +12,18 @@ let
in
buildGoPackage rec {
name = "cockroach-${version}";
version = "19.1.1";
pname = "cockroach";
version = "19.1.5";
goPackagePath = "github.com/cockroachdb/cockroach";
src = fetchurl {
url = "https://binaries.cockroachdb.com/cockroach-v${version}.src.tgz";
sha256 = "1vbz5j0y9ri8c99k8fc5rnwigay478p1mac5g402639ilkqd41fc";
sha256 = "1pnzzmxxb7qxiiy8qpl2sifk4qrijjbhmzy47bnjj5ssdsjjjcqy";
};
NIX_CFLAGS_COMPILE = stdenv.lib.optionals stdenv.cc.isGNU [ "-Wno-error=deprecated-copy" "-Wno-error=redundant-move" "-Wno-error=pessimizing-move" ];
inherit nativeBuildInputs buildInputs;
buildPhase = ''
+25
View File
@@ -0,0 +1,25 @@
{ stdenv, fetchFromGitHub, lib, buildGoModule }:
buildGoModule rec {
pname = "dolt";
version = "0.12.0";
src = fetchFromGitHub {
owner = "liquidata-inc";
repo = "dolt";
rev = "v${version}";
sha256 = "1sy8ia9j5aymjpf3k86fc8yw6384iy9ryd8cl72fr9cp70l7sx1q";
};
modRoot = "./go";
subPackages = [ "cmd/dolt" "cmd/git-dolt" "cmd/git-dolt-smudge" ];
modSha256 = "0fagi529m1gf5jrqdlg9vxxq4yz9k9q8h92ch0gahp43kxfbgr4q";
meta = with lib; {
description = "Relational database with version control and CLI a-la Git.";
homepage = "https://github.com/liquidata-inc/dolt";
license = licenses.asl20;
maintainers = with maintainers; [ danbst ];
platforms = platforms.linux ++ platforms.darwin;
};
}
@@ -0,0 +1,15 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1ea7c1df..b0face0d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -176,6 +176,10 @@ ELSE()
SET (SKIP_COMPONENTS "N-O-N-E")
ENDIF()
+IF (WITHOUT_CLIENT)
+ SET (SKIP_COMPONENTS "Client|ClientPlugins|ManPagesClient")
+ENDIF()
+
OPTION(NOT_FOR_DISTRIBUTION "Allow linking with GPLv2-incompatible system libraries. Only set it you never plan to distribute the resulting binaries" OFF)
INCLUDE(check_compiler_flag)
@@ -0,0 +1,12 @@
diff --git a/cmake/build_configurations/mysql_release.cmake b/cmake/build_configurations/mysql_release.cmake
index f7790748..995621e0 100644
--- a/cmake/build_configurations/mysql_release.cmake
+++ b/cmake/build_configurations/mysql_release.cmake
@@ -121,7 +121,6 @@ ENDIF()
IF(UNIX)
SET(WITH_EXTRA_CHARSETS all CACHE STRING "")
- SET(PLUGIN_AUTH_PAM YES)
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
IF(NOT IGNORE_AIO_CHECK)
@@ -0,0 +1,6 @@
{ callPackage, ... } @ args:
callPackage ./. (args // {
version = "3.1.5";
sha256 = "1mfrm595kfnpjladaq6m184npa3rxff9pr1vwa35r057s7nmzpm9";
})
@@ -0,0 +1,52 @@
{ stdenv, fetchurl, cmake
, curl, openssl, zlib
, libiconv
, version, sha256, ...
}:
with stdenv.lib;
stdenv.mkDerivation {
pname = "mariadb-connector-c";
inherit version;
src = fetchurl {
urls = [
"https://downloads.mariadb.org/f/connector-c-${version}/mariadb-connector-c-${version}-src.tar.gz"
"https://downloads.mariadb.com/Connectors/c/connector-c-${version}/mariadb-connector-c-${version}-src.tar.gz"
];
inherit sha256;
};
cmakeFlags = [
"-DMARIADB_UNIX_ADDR=/run/mysqld/mysqld.sock"
"-DWITH_CURL=ON"
"-DWITH_EXTERNAL_ZLIB=ON"
"-DWITH_MYSQLCOMPAT=ON"
];
# The cmake setup-hook uses $out/lib by default, this is not the case here.
preConfigure = optionalString stdenv.isDarwin ''
cmakeFlagsArray+=("-DCMAKE_INSTALL_NAME_DIR=$out/lib/mariadb")
'';
nativeBuildInputs = [ cmake ];
propagatedBuildInputs = [ curl openssl zlib ];
buildInputs = [ libiconv ];
enableParallelBuilding = true;
postFixup = ''
ln -sv mariadb_config $out/bin/mysql_config
ln -sv mariadb $out/lib/mysql
ln -sv mariadb $out/include/mysql
ln -sv mariadb_version.h $out/include/mariadb/mysql_version.h
'';
meta = {
description = "Client library that can be used to connect to MySQL or MariaDB";
license = licenses.lgpl21;
maintainers = with maintainers; [ globin ];
platforms = platforms.all;
};
}
+75 -150
View File
@@ -1,8 +1,8 @@
{ stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, ncurses, zlib, xz, lzo, lz4, bzip2, snappy
, libiconv, openssl, pcre, boost, judy, bison, libxml2, libkrb5
{ stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, makeWrapper, ncurses, zlib, xz, lzo, lz4, bzip2, snappy
, libiconv, openssl, pcre, boost, judy, bison, libxml2, libkrb5, linux-pam, curl
, libaio, libevent, jemalloc, cracklib, systemd, numactl, perl
, fixDarwinDylibNames, cctools, CoreServices
, asio, buildEnv, check, scons
, fixDarwinDylibNames, cctools, CoreServices, less
, withoutClient ? false
}:
with stdenv.lib;
@@ -11,47 +11,39 @@ let # in mariadb # spans the whole file
libExt = stdenv.hostPlatform.extensions.sharedLibrary;
mariadb = everything // {
inherit client; # libmysqlclient.so in .out, necessary headers in .dev and utils in .bin
server = everything; # a full single-output build, including everything in `client` again
inherit connector-c; # libmysqlclient.so
inherit galera;
};
mytopEnv = perl.withPackages (p: with p; [ DataDumper DBDmysql DBI TermReadKey ]);
galeraLibs = buildEnv {
name = "galera-lib-inputs-united";
paths = [ openssl.out boost check ];
mariadb = server // {
inherit client; # MariaDB Client
server = server; # MariaDB Server
};
common = rec { # attributes common to both builds
version = "10.3.15";
version = "10.3.20";
src = fetchurl {
urls = [
"https://downloads.mariadb.org/f/mariadb-${version}/source/mariadb-${version}.tar.gz"
"https://downloads.mariadb.com/MariaDB/mariadb-${version}/source/mariadb-${version}.tar.gz"
];
sha256 = "0s399nxk2z8fgdr527p64y74zwjc3gpv7psf1n2r6ksl9njr3wr7";
sha256 = "14n4zfpwhvafz02r95bidmkwq2bz9jj3safqni1h21jfd0nqz0ak";
name = "mariadb-${version}.tar.gz";
};
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [
ncurses openssl zlib pcre jemalloc libiconv
] ++ stdenv.lib.optionals stdenv.isLinux [ libaio systemd libkrb5 ]
++ stdenv.lib.optionals stdenv.isDarwin [ perl fixDarwinDylibNames cctools CoreServices ];
ncurses openssl zlib pcre jemalloc libiconv curl
] ++ optionals stdenv.hostPlatform.isLinux [ libaio systemd libkrb5 ]
++ optionals stdenv.hostPlatform.isDarwin [ perl fixDarwinDylibNames cctools CoreServices ];
prePatch = ''
sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
'';
patches = [ ./cmake-includedir.patch ]
++ optionals stdenv.isDarwin [
# Derived from "Fixed c++11 narrowing error"
# https://github.com/MariaDB/server/commit/a0dfefb0f8a47145e599a5f1b0dc576fa7634b92
./fix-c++11-narrowing-error.patch
];
patches = [
./cmake-includedir.patch
];
cmakeFlags = [
"-DBUILD_CONFIG=mysql_release"
@@ -65,6 +57,8 @@ common = rec { # attributes common to both builds
"-DINSTALL_DOCDIR=share/doc/mysql"
"-DINSTALL_DOCREADMEDIR=share/doc/mysql"
"-DINSTALL_INCLUDEDIR=include/mysql"
"-DINSTALL_LIBDIR=lib"
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
"-DINSTALL_INFODIR=share/mysql/docs"
"-DINSTALL_MANDIR=share/man"
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
@@ -77,20 +71,34 @@ common = rec { # attributes common to both builds
"-DWITH_SSL=system"
"-DWITH_PCRE=system"
"-DWITH_SAFEMALLOC=OFF"
"-DWITH_UNIT_TESTS=OFF"
"-DEMBEDDED_LIBRARY=OFF"
] ++ optional stdenv.isDarwin [
] ++ optionals stdenv.hostPlatform.isDarwin [
# On Darwin without sandbox, CMake will find the system java and attempt to build with java support, but
# then it will fail during the actual build. Let's just disable the flag explicitly until someone decides
# to pass in java explicitly.
"-DCONNECT_WITH_JDBC=OFF"
"-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib"
] ++ optional stdenv.hostPlatform.isMusl [
] ++ optionals stdenv.hostPlatform.isMusl [
"-DWITHOUT_TOKUDB=1" # mariadb docs say disable this for musl
];
postInstall = ''
# Remove Development components. Need to use libmysqlclient.
rm "$out"/lib/mysql/plugin/daemon_example.ini
rm "$out"/lib/{libmariadbclient.a,libmysqlclient.a,libmysqlclient_r.a,libmysqlservices.a}
rm "$out"/lib/mysql/plugin/{caching_sha2_password.so,dialog.so,mysql_clear_password.so,sha256_password.so}
rm "$out"/bin/{mariadb_config,mysql_config}
rm -r $out/include
rm -r $out/lib/pkgconfig
rm -r $out/share/{aclocal,pkgconfig}
'';
enableParallelBuilding = true;
passthru.mysqlVersion = "5.7";
meta = with stdenv.lib; {
meta = {
description = "An enhanced, drop-in replacement for MySQL";
homepage = https://mariadb.org/;
license = licenses.gpl2;
@@ -100,49 +108,53 @@ common = rec { # attributes common to both builds
};
client = stdenv.mkDerivation (common // {
name = "mariadb-client-${common.version}";
pname = "mariadb-client";
outputs = [ "out" "dev" "man" ];
outputs = [ "out" "man" ];
propagatedBuildInputs = [ openssl zlib ]; # required from mariadb.pc
patches = [ ./cmake-plugin-includedir.patch ];
patches = common.patches ++ [
./cmake-plugin-includedir.patch
./cmake-without-plugin-auth-pam.patch
];
cmakeFlags = common.cmakeFlags ++ [
"-DWITHOUT_SERVER=ON"
"-DWITH_WSREP=OFF"
"-DINSTALL_MYSQLSHAREDIR=share/mysql-client"
];
postInstall = ''
rm -r "$out"/share/mysql
postInstall = common.postInstall + ''
rm -r "$out"/share/doc
rm "$out"/bin/{msql2mysql,mysql_plugin,mytop,wsrep_sst_rsync_wan,mysql_config,mariadb_config}
rm "$out"/lib/plugin/{daemon_example.ini,dialog.so,mysql_clear_password.so,sha256_password.so}
rm "$out"/bin/{mysqltest,mytop,wsrep_sst_rsync_wan}
libmysqlclient_path=$(readlink -f $out/lib/libmysqlclient${libExt})
rm "$out"/lib/{libmariadb${libExt},libmysqlclient${libExt},libmysqlclient_r${libExt}}
mv "$libmysqlclient_path" "$out"/lib/libmysqlclient${libExt}
ln -sv libmysqlclient${libExt} "$out"/lib/libmysqlclient_r${libExt}
mkdir -p "$dev"/lib && mv "$out"/lib/{libmariadbclient.a,libmysqlclient.a,libmysqlclient_r.a,libmysqlservices.a} "$dev"/lib
'';
enableParallelBuilding = true; # the client should be OK
});
everything = stdenv.mkDerivation (common // {
name = "mariadb-${common.version}";
server = stdenv.mkDerivation (common // {
pname = "mariadb-server";
outputs = [ "out" "dev" "man" ];
outputs = [ "out" "man" ];
nativeBuildInputs = common.nativeBuildInputs ++ [ bison ];
nativeBuildInputs = common.nativeBuildInputs ++ [ bison ] ++ optional (!stdenv.hostPlatform.isDarwin) makeWrapper;
buildInputs = common.buildInputs ++ [
xz lzo lz4 bzip2 snappy
libxml2 boost judy libevent cracklib
] ++ optional (stdenv.isLinux && !stdenv.isAarch32) numactl;
] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl
++ optional stdenv.hostPlatform.isLinux linux-pam
++ optional (!stdenv.hostPlatform.isDarwin) mytopEnv;
patches = common.patches ++ [
./cmake-without-client.patch
] ++ optionals stdenv.hostPlatform.isDarwin [
./cmake-without-plugin-auth-pam.patch
];
cmakeFlags = common.cmakeFlags ++ [
"-DMYSQL_DATADIR=/var/lib/mysql"
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
"-DENABLED_LOCAL_INFILE=OFF"
"-DWITH_READLINE=ON"
"-DWITH_EXTRA_CHARSETS=all"
@@ -152,126 +164,39 @@ everything = stdenv.mkDerivation (common // {
"-DWITH_INNODB_DISALLOW_WRITES=ON"
"-DWITHOUT_EXAMPLE=1"
"-DWITHOUT_FEDERATED=1"
] ++ stdenv.lib.optionals stdenv.isDarwin [
] ++ optionals withoutClient [
"-DWITHOUT_CLIENT=ON"
] ++ optionals stdenv.hostPlatform.isDarwin [
"-DWITHOUT_OQGRAPH=1"
"-DWITHOUT_TOKUDB=1"
];
preConfigure = ''
cmakeFlags="$cmakeFlags \
-DINSTALL_SHAREDIR=$dev/share/mysql
-DINSTALL_SUPPORTFILESDIR=$dev/share/mysql"
preConfigure = optionalString (!stdenv.hostPlatform.isDarwin) ''
patchShebangs scripts/mytop.sh
'';
postInstall = ''
postInstall = common.postInstall + ''
chmod +x "$out"/bin/wsrep_sst_common
rm "$out"/bin/{mysql_client_test,mysqltest}
rm -r "$out"/data # Don't need testing data
rm "$out"/bin/{mysql_find_rows,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck}
rm "$out"/bin/{mysqldump,mysqlhotcopy,mysqlimport,mysqlshow,mysqlslap,mysqltest}
mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql
'' + optionalString withoutClient ''
${ # We don't build with GSSAPI on Darwin
optionalString (! stdenv.isDarwin) ''
optionalString (!stdenv.hostPlatform.isDarwin) ''
rm "$out"/lib/mysql/plugin/auth_gssapi_client.so
''
}
rm "$out"/lib/mysql/plugin/{client_ed25519.so,daemon_example.ini}
rm "$out"/lib/mysql/plugin/client_ed25519.so
rm "$out"/lib/{libmysqlclient${libExt},libmysqlclient_r${libExt}}
mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql
mkdir -p "$dev"/lib && mv "$out"/lib/{libmariadbclient.a,libmysqlclient.a,libmysqlclient_r.a,libmysqlservices.a} "$dev"/lib
'' + optionalString (! stdenv.isDarwin) ''
'' + optionalString (!stdenv.hostPlatform.isDarwin) ''
sed -i 's/-mariadb/-mysql/' "$out"/bin/galera_new_cluster
'';
CXXFLAGS = optionalString stdenv.isi686 "-fpermissive";
# perlPackages.DBDmysql is broken on darwin
postFixup = optionalString (!stdenv.hostPlatform.isDarwin) ''
wrapProgram $out/bin/mytop --set PATH ${makeBinPath [ less ncurses ]}
'';
CXXFLAGS = optionalString stdenv.hostPlatform.isi686 "-fpermissive";
});
connector-c = stdenv.mkDerivation rec {
name = "mariadb-connector-c-${version}";
version = "2.3.7";
src = fetchurl {
url = "https://downloads.mariadb.org/interstitial/connector-c-${version}/mariadb-connector-c-${version}-src.tar.gz/from/http%3A//nyc2.mirrors.digitalocean.com/mariadb/";
sha256 = "13izi35vvxhiwl2dsnqrz75ciisy2s2k30giv7hrm01qlwnmiycl";
name = "mariadb-connector-c-${version}-src.tar.gz";
};
# outputs = [ "dev" "out" ]; FIXME: cmake variables don't allow that < 3.0
cmakeFlags = [
"-DWITH_EXTERNAL_ZLIB=ON"
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
];
# The cmake setup-hook uses $out/lib by default, this is not the case here.
preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
cmakeFlagsArray+=("-DCMAKE_INSTALL_NAME_DIR=$out/lib/mariadb")
'';
nativeBuildInputs = [ cmake ];
propagatedBuildInputs = [ openssl zlib ];
buildInputs = [ libiconv ];
enableParallelBuilding = true;
postFixup = ''
ln -sv mariadb_config $out/bin/mysql_config
ln -sv mariadb $out/lib/mysql
ln -sv mariadb $out/include/mysql
'';
meta = with stdenv.lib; {
description = "Client library that can be used to connect to MySQL or MariaDB";
license = licenses.lgpl21;
maintainers = with maintainers; [ globin ];
platforms = platforms.all;
};
};
galera = stdenv.mkDerivation rec {
name = "mariadb-galera-${version}";
version = "25.3.26";
src = fetchFromGitHub {
owner = "codership";
repo = "galera";
rev = "release_${version}";
sha256 = "0fs0c1px9lknf1a5wwb12z1hj7j7b6hsfjddggikvkdkrnr2xs1f";
fetchSubmodules = true;
};
buildInputs = [ asio boost check openssl scons ];
postPatch = ''
substituteInPlace SConstruct \
--replace "boost_library_path = '''" "boost_library_path = '${boost}/lib'"
'';
preConfigure = ''
export CPPFLAGS="-I${asio}/include -I${boost.dev}/include -I${check}/include -I${openssl.dev}/include"
export LIBPATH="${galeraLibs}/lib"
'';
sconsFlags = "ssl=1 system_asio=0 strict_build_flags=0";
installPhase = ''
# copied with modifications from scripts/packages/freebsd.sh
GALERA_LICENSE_DIR="$share/licenses/${name}"
install -d $out/{bin,lib/galera,share/doc/galera,$GALERA_LICENSE_DIR}
install -m 555 "garb/garbd" "$out/bin/garbd"
install -m 444 "libgalera_smm.so" "$out/lib/galera/libgalera_smm.so"
install -m 444 "scripts/packages/README" "$out/share/doc/galera/"
install -m 444 "scripts/packages/README-MySQL" "$out/share/doc/galera/"
install -m 444 "scripts/packages/freebsd/LICENSE" "$out/$GALERA_LICENSE_DIR"
install -m 444 "LICENSE" "$out/$GALERA_LICENSE_DIR/GPLv2"
install -m 444 "asio/LICENSE_1_0.txt" "$out/$GALERA_LICENSE_DIR/LICENSE.asio"
install -m 444 "www.evanjones.ca/LICENSE" "$out/$GALERA_LICENSE_DIR/LICENSE.crc32c"
install -m 444 "chromium/LICENSE" "$out/$GALERA_LICENSE_DIR/LICENSE.chromium"
'';
meta = {
description = "Galera 3 wsrep provider library";
homepage = http://galeracluster.com/;
license = licenses.lgpl2;
maintainers = with maintainers; [ izorkin ];
platforms = platforms.all;
};
};
in mariadb
@@ -1,13 +0,0 @@
diff --git a/sql/table.cc b/sql/table.cc
index e46af771507..9bef21a1da2 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -8814,7 +8814,7 @@ bool TR_table::update(ulonglong start_id, ulonglong end_id)
store(FLD_BEGIN_TS, thd->transaction_time());
thd->set_time();
- timeval end_time= {thd->query_start(), long(thd->query_start_sec_part())};
+ timeval end_time= {thd->query_start(), int(thd->query_start_sec_part())};
store(FLD_TRX_ID, start_id);
store(FLD_COMMIT_ID, end_id);
store(FLD_COMMIT_TS, end_time);
+6
View File
@@ -0,0 +1,6 @@
{ callPackage, ... } @ args:
callPackage ./. (args // {
version = "25.3.27";
sha256 = "143kzj0fmak1gdww4qkqmmliw8klxm6mwk5531748swlwm6gqr5q";
})
@@ -0,0 +1,63 @@
{ stdenv, fetchFromGitHub, buildEnv
, asio, boost, check, openssl, scons
, version, sha256, ...
}:
let
pname = "mariadb-galera";
galeraLibs = buildEnv {
name = "galera-lib-inputs-united";
paths = [ openssl.out boost check ];
};
in stdenv.mkDerivation {
inherit pname;
inherit version;
src = fetchFromGitHub {
owner = "codership";
repo = "galera";
rev = "release_${version}";
inherit sha256;
fetchSubmodules = true;
};
buildInputs = [ asio boost check openssl scons ];
postPatch = ''
substituteInPlace SConstruct \
--replace "boost_library_path = '''" "boost_library_path = '${boost}/lib'"
'';
preConfigure = ''
export CPPFLAGS="-I${asio}/include -I${boost.dev}/include -I${check}/include -I${openssl.dev}/include"
export LIBPATH="${galeraLibs}/lib"
'';
sconsFlags = "ssl=1 system_asio=1 strict_build_flags=0";
enableParallelBuilding = true;
installPhase = ''
# copied with modifications from scripts/packages/freebsd.sh
GALERA_LICENSE_DIR="$share/licenses/${pname}"
install -d $out/{bin,lib/galera,share/doc/galera,$GALERA_LICENSE_DIR}
install -m 555 "garb/garbd" "$out/bin/garbd"
install -m 444 "libgalera_smm.so" "$out/lib/galera/libgalera_smm.so"
install -m 444 "scripts/packages/README" "$out/share/doc/galera/"
install -m 444 "scripts/packages/README-MySQL" "$out/share/doc/galera/"
install -m 444 "scripts/packages/freebsd/LICENSE" "$out/$GALERA_LICENSE_DIR"
install -m 444 "LICENSE" "$out/$GALERA_LICENSE_DIR/GPLv2"
install -m 444 "asio/LICENSE_1_0.txt" "$out/$GALERA_LICENSE_DIR/LICENSE.asio"
install -m 444 "www.evanjones.ca/LICENSE" "$out/$GALERA_LICENSE_DIR/LICENSE.crc32c"
install -m 444 "chromium/LICENSE" "$out/$GALERA_LICENSE_DIR/LICENSE.chromium"
'';
meta = with stdenv.lib; {
description = "Galera 3 wsrep provider library";
homepage = https://galeracluster.com/;
license = licenses.lgpl2;
maintainers = with maintainers; [ izorkin ];
platforms = platforms.all;
};
}
+5 -4
View File
@@ -3,14 +3,15 @@
}:
let
version = "11.33.3";
in stdenv.mkDerivation rec {
version = "11.35.9";
in stdenv.mkDerivation {
name = "monetdb-${version}";
pname = "monetdb";
inherit version;
src = fetchurl {
url = "https://dev.monetdb.org/downloads/sources/archive/MonetDB-${version}.tar.bz2";
sha256 = "0k0xcm3b5qq2arjfn8f1h020sjkk97qfynsimn848bnl01vscqh8";
sha256 = "0bs7z41vwm9aidxl1f40yx8r0qz3qranmxd0xzd4a1hahjq3j5rx";
};
postPatch = ''
+7 -9
View File
@@ -1,4 +1,4 @@
{ stdenv, fetchurl, cmake, bison
{ stdenv, fetchurl, cmake, bison, pkgconfig
, boost, libedit, libevent, lz4, ncurses, openssl, protobuf, readline, zlib, perl
, cctools, CoreServices, developer_cmds }:
@@ -6,12 +6,12 @@
let
self = stdenv.mkDerivation rec {
name = "mysql-${version}";
version = "5.7.25";
pname = "mysql";
version = "5.7.27";
src = fetchurl {
url = "mirror://mysql/MySQL-5.7/${name}.tar.gz";
sha256 = "0gvjcdnba7nf2dx3fbqk1qyg49zclfvaihb78l8h6qc08di1qxak";
url = "mirror://mysql/MySQL-5.7/${pname}-${version}.tar.gz";
sha256 = "1fhv16zr46pxm1j8vb8x8mh3nwzglg01arz8gnazbmjqldr5idpq";
};
preConfigure = stdenv.lib.optional stdenv.isDarwin ''
@@ -19,13 +19,11 @@ self = stdenv.mkDerivation rec {
export PATH=$PATH:$TMPDIR
'';
nativeBuildInputs = [ cmake bison ];
nativeBuildInputs = [ cmake bison pkgconfig ];
buildInputs = [ boost libedit libevent lz4 ncurses openssl protobuf readline zlib ]
++ stdenv.lib.optionals stdenv.isDarwin [ perl cctools CoreServices developer_cmds ];
enableParallelBuilding = true;
outputs = [ "out" "static" ];
cmakeFlags = [
@@ -76,7 +74,7 @@ self = stdenv.mkDerivation rec {
};
meta = with stdenv.lib; {
homepage = https://www.mysql.com/;
homepage = "https://www.mysql.com/";
description = "The world's most popular open source database";
platforms = platforms.unix;
license = with licenses; [
+73
View File
@@ -0,0 +1,73 @@
{ lib, stdenv, fetchurl, bison, cmake, pkgconfig
, boost, icu, libedit, libevent, lz4, ncurses, openssl, protobuf, re2, readline, zlib
, numactl, perl, cctools, CoreServices, developer_cmds
}:
let
self = stdenv.mkDerivation rec {
pname = "mysql";
version = "8.0.17";
src = fetchurl {
url = "https://dev.mysql.com/get/Downloads/MySQL-${self.mysqlVersion}/${pname}-${version}.tar.gz";
sha256 = "1mjrlxn8vigi69r0r674j2dibdnkaar01ji5965gsyx7k60z7qy6";
};
patches = [
./abi-check.patch
./libutils.patch
];
nativeBuildInputs = [ bison cmake pkgconfig ];
buildInputs = [
boost icu libedit libevent lz4 ncurses openssl protobuf re2 readline zlib
] ++ lib.optionals stdenv.isLinux [
numactl
] ++ lib.optionals stdenv.isDarwin [
cctools CoreServices developer_cmds
];
outputs = [ "out" "static" ];
cmakeFlags = [
"-DCMAKE_SKIP_BUILD_RPATH=OFF" # To run libmysql/libmysql_api_test during build.
"-DFORCE_UNSUPPORTED_COMPILER=1" # To configure on Darwin.
"-DWITH_ROUTER=OFF" # It may be packaged separately.
"-DWITH_SYSTEM_LIBS=ON"
"-DWITH_UNIT_TESTS=OFF"
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
"-DMYSQL_DATADIR=/var/lib/mysql"
"-DINSTALL_INFODIR=share/mysql/docs"
"-DINSTALL_MANDIR=share/man"
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
"-DINSTALL_INCLUDEDIR=include/mysql"
"-DINSTALL_DOCREADMEDIR=share/mysql"
"-DINSTALL_SUPPORTFILESDIR=share/mysql"
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
"-DINSTALL_MYSQLTESTDIR="
"-DINSTALL_DOCDIR=share/mysql/docs"
"-DINSTALL_SHAREDIR=share/mysql"
];
postInstall = ''
moveToOutput "lib/*.a" $static
so=${stdenv.hostPlatform.extensions.sharedLibrary}
ln -s libmysqlclient$so $out/lib/libmysqlclient_r$so
'';
passthru = {
client = self;
connector-c = self;
server = self;
mysqlVersion = "8.0";
};
meta = with lib; {
homepage = "https://www.mysql.com/";
description = "The world's most popular open source database";
license = licenses.gpl2;
maintainers = with maintainers; [ orivej ];
platforms = platforms.unix;
};
}; in self
+18
View File
@@ -0,0 +1,18 @@
MySQL ABI check assumes that with -nostdinc any standard #include terminates
preprocessing, but we do not provide that:
https://github.com/NixOS/nixpkgs/issues/44530
"#error" does not terminate preprocessing, so we #include a non-existent file instead.
--- a/cmake/do_abi_check.cmake
+++ b/cmake/do_abi_check.cmake
@@ -68,1 +68,1 @@ FOREACH(file ${ABI_HEADERS})
- -E -nostdinc -dI -DMYSQL_ABI_CHECK -I${SOURCE_DIR}/include
+ -E -nostdinc -dI -DMYSQL_ABI_CHECK -I${SOURCE_DIR}/include/nostdinc -I${SOURCE_DIR}/include
@@ -74,1 +74,1 @@ FOREACH(file ${ABI_HEADERS})
- COMMAND sed -e "/^# /d"
+ COMMAND sed -e "/^# /d" -e "/^#include <-nostdinc>$/d"
--- /dev/null
+++ b/include/nostdinc/stdint.h
@@ -0,0 +1,1 @@
+#include <-nostdinc>
+5
View File
@@ -0,0 +1,5 @@
--- a/cmake/libutils.cmake
+++ b/cmake/libutils.cmake
@@ -345 +345 @@ MACRO(MERGE_CONVENIENCE_LIBRARIES)
- COMMAND /usr/bin/libtool -static -o $<TARGET_FILE:${TARGET}>
+ COMMAND libtool -static -o $<TARGET_FILE:${TARGET}>
+3 -3
View File
@@ -3,11 +3,11 @@
with stdenv.lib;
stdenv.mkDerivation rec {
name = "oracle-xe-${version}";
pname = "oracle-xe";
version = "11.2.0";
src = requireFile {
name = "${name}-1.0.x86_64.rpm";
name = "${pname}-${version}-1.0.x86_64.rpm";
sha256 = "0s2jj2xn56v5ys6hxb7l7045hw9c1mm1lhj4p2fvqbs02kqchab6";
url = "http://www.oracle.com/technetwork/"
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
buildInputs = [ makeWrapper ];
unpackCmd = ''
(mkdir -p "${name}" && cd "${name}" &&
(mkdir -p "${pname}-${version}" && cd "${pname}-${version}" &&
${rpmextract}/bin/rpmextract "$curSrc")
'';
+2 -1
View File
@@ -1,7 +1,7 @@
{ stdenv, fetchurl, cmake, bison, ncurses, openssl, zlib, libaio, perl }:
stdenv.mkDerivation rec {
name = "percona-server-${version}";
pname = "percona-server";
version = "5.6.43-84.3";
src = fetchurl {
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
"-DINSTALL_SHAREDIR=share/mysql"
];
NIX_CFLAGS_COMPILE = [ "-Wno-error=address-of-packed-member" ];
NIX_LDFLAGS = "-lgcc_s";
prePatch = ''
+10 -8
View File
@@ -1,20 +1,22 @@
{ stdenv, fetchurl, openssl, libevent }:
{ stdenv, fetchurl, openssl, libevent, c-ares, pkg-config }:
stdenv.mkDerivation rec {
name = "pgbouncer-${version}";
version = "1.10.0";
pname = "pgbouncer";
version = "1.12.0";
src = fetchurl {
url = "https://pgbouncer.github.io/downloads/files/${version}/${name}.tar.gz";
sha256 = "1m8vsxyna5grs5p0vnxf3fxxnkk9aqjf3qmr2bbkpkhlzr11986q";
url = "https://pgbouncer.github.io/downloads/files/${version}/${pname}-${version}.tar.gz";
sha256 = "0gi7ggmyjqd4kxdwm5csmzmjmfrjx7q20dfzk3da1bvc6xj6ag0v";
};
buildInputs = [ libevent openssl ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libevent openssl c-ares ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = https://pgbouncer.github.io;
homepage = "https://pgbouncer.github.io";
description = "Lightweight connection pooler for PostgreSQL";
license = licenses.isc;
platforms = platforms.linux;
platforms = platforms.all;
};
}
+6 -5
View File
@@ -1,15 +1,16 @@
{ stdenv, fetchurl, postgresql, openssl, pam ? null, libmemcached ? null }:
stdenv.mkDerivation rec {
name = "pgpool-II-3.4.14";
pname = "pgpool-II";
version = "4.0.6";
src = fetchurl {
name = "${name}.tar.gz";
url = "http://www.pgpool.net/download.php?f=${name}.tar.gz";
sha256 = "1paak83f4lv48xckmf2znryrvhmdz86w4v97mcw2gxm50hcl74sw";
name = "${pname}-${version}.tar.gz";
url = "http://www.pgpool.net/download.php?f=${pname}-${version}.tar.gz";
sha256 = "0blmbqczyrgzykby2z3xzmhzd8kgij9izxv50n5cjn5azf7dn8g5";
};
patches = [ ./pgpool-II-3.4.14-glibc-2.26.patch ];
patches = [ ./pgpool.patch ];
buildInputs = [ postgresql openssl pam libmemcached ];
@@ -1,12 +0,0 @@
diff --git a/src/watchdog/wd_lifecheck.c b/src/watchdog/wd_lifecheck.c
index 1e72307..5cf68a3 100644
--- a/src/watchdog/wd_lifecheck.c
+++ b/src/watchdog/wd_lifecheck.c
@@ -26,6 +26,7 @@
#include <ctype.h>
#include <time.h>
#include <string.h>
+#include <stdint.h>
#include <stdlib.h>
#include <unistd.h>
#include <netdb.h>
+23
View File
@@ -0,0 +1,23 @@
diff --git a/src/main/main.c b/src/main/main.c
index eec3c3e4..4169112b 100644
--- a/src/main/main.c
+++ b/src/main/main.c
@@ -337,10 +337,14 @@ main(int argc, char **argv)
char dirnamebuf[POOLMAXPATHLEN + 1];
char *dirp;
- strlcpy(dirnamebuf, conf_file, sizeof(dirnamebuf));
- dirp = dirname(dirnamebuf);
- snprintf(pool_passwd, sizeof(pool_passwd), "%s/%s",
- dirp, pool_config->pool_passwd);
+ if (pool_config->pool_passwd[0] != '/') {
+ strlcpy(dirnamebuf, conf_file, sizeof(dirnamebuf));
+ dirp = dirname(dirnamebuf);
+ snprintf(pool_passwd, sizeof(pool_passwd), "%s/%s",
+ dirp, pool_config->pool_passwd);
+ } else
+ strlcpy(pool_passwd, pool_config->pool_passwd,
+ sizeof(pool_passwd));
pool_init_pool_passwd(pool_passwd, POOL_PASSWD_R);
}
+44 -26
View File
@@ -3,9 +3,12 @@ let
generic =
# dependencies
{ stdenv, lib, fetchurl, makeWrapper
, glibc, zlib, readline, openssl, icu, systemd, libossp_uuid
, glibc, zlib, readline, openssl, openssl_1_0_2, icu, systemd, libossp_uuid
, pkgconfig, libxml2, tzdata
# This is important to obtain a version of `libpq` that does not depend on systemd.
, enableSystemd ? (lib.versionAtLeast version "9.6" && !stdenv.isDarwin)
# for postgreql.pkgs
, this, self, newScope, buildEnv
@@ -17,11 +20,11 @@ let
icuEnabled = atLeast "10";
in stdenv.mkDerivation rec {
name = "postgresql-${version}";
pname = "postgresql";
inherit version;
src = fetchurl {
url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
url = "mirror://postgresql/source/v${version}/${pname}-${version}.tar.bz2";
inherit sha256;
};
@@ -29,9 +32,10 @@ let
setOutputFlags = false; # $out retains configureFlags :-/
buildInputs =
[ zlib readline openssl libxml2 makeWrapper ]
[ zlib readline libxml2 makeWrapper ]
++ lib.optionals icuEnabled [ icu ]
++ lib.optionals (atLeast "9.6" && !stdenv.isDarwin) [ systemd ]
++ lib.optionals enableSystemd [ systemd ]
++ [ (if atLeast "9.5" then openssl else openssl_1_0_2) ]
++ lib.optionals (!stdenv.isDarwin) [ libossp_uuid ];
nativeBuildInputs = lib.optionals icuEnabled [ pkgconfig ];
@@ -40,7 +44,7 @@ let
buildFlags = [ "world" ];
NIX_CFLAGS_COMPILE = [ "-I${libxml2.dev}/include/libxml2" ];
NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2";
# Otherwise it retains a reference to compiler and fails; see #44767. TODO: better.
preConfigure = "CC=${stdenv.cc.targetPrefix}cc";
@@ -51,7 +55,7 @@ let
"--sysconfdir=/etc"
"--libdir=$(lib)/lib"
"--with-system-tzdata=${tzdata}/share/zoneinfo"
(lib.optionalString (atLeast "9.6" && !stdenv.isDarwin) "--with-systemd")
(lib.optionalString enableSystemd "--with-systemd")
(if stdenv.isDarwin then "--with-uuid=e2fs" else "--with-ossp-uuid")
] ++ lib.optionals icuEnabled [ "--with-icu" ];
@@ -77,8 +81,8 @@ let
postInstall =
''
moveToOutput "lib/pgxs" "$out" # looks strange, but not deleting it
moveToOutput "lib/libpgcommon.a" "$out"
moveToOutput "lib/libpgport.a" "$out"
moveToOutput "lib/libpgcommon*.a" "$out"
moveToOutput "lib/libpgport*.a" "$out"
moveToOutput "lib/libecpg*" "$out"
# Prevent a retained dependency on gcc-wrapper.
@@ -106,6 +110,17 @@ let
# autodetection doesn't seem to able to find this, but it's there.
checkTarget = "check";
preCheck =
# On musl, comment skip the following tests, because they break due to
# ! ERROR: could not load library "/build/postgresql-11.5/tmp_install/nix/store/...-postgresql-11.5-lib/lib/libpqwalreceiver.so": Error loading shared library libpq.so.5: No such file or directory (needed by /build/postgresql-11.5/tmp_install/nix/store/...-postgresql-11.5-lib/lib/libpqwalreceiver.so)
# See also here:
# https://git.alpinelinux.org/aports/tree/main/postgresql/disable-broken-tests.patch?id=6d7d32c12e073a57a9e5946e55f4c1fbb68bd442
if stdenv.hostPlatform.isMusl then ''
substituteInPlace src/test/regress/parallel_schedule \
--replace "subscription" "" \
--replace "object_address" ""
'' else null;
doInstallCheck = false; # needs a running daemon?
disallowedReferences = [ stdenv.cc ];
@@ -130,7 +145,7 @@ let
homepage = https://www.postgresql.org;
description = "A powerful, open source object-relational database system";
license = licenses.postgresql;
maintainers = with maintainers; [ ocharles thoughtpolice danbst ];
maintainers = with maintainers; [ ocharles thoughtpolice danbst globin ];
platforms = platforms.unix;
knownVulnerabilities = optional (!atLeast "9.4")
"PostgreSQL versions older than 9.4 are not maintained anymore!";
@@ -151,6 +166,9 @@ let
# below. See #22653
pathsToLink = ["/" "/bin"];
# Note: the duplication of executables is about 4MB size.
# So a nicer solution was patching postgresql to allow setting the
# libdir explicitely.
postBuild = ''
mkdir -p $out/bin
rm $out/bin/{pg_config,postgres,pg_ctl}
@@ -164,44 +182,44 @@ let
in self: {
postgresql_9_4 = self.callPackage generic {
version = "9.4.23";
psqlSchema = "9.4";
sha256 = "16qx4gfq7i2nnxm0i3zxpb3z1mmzx05a3fsh95414ay8n049q00d";
this = self.postgresql_9_4;
inherit self;
};
postgresql_9_5 = self.callPackage generic {
version = "9.5.18";
version = "9.5.20";
psqlSchema = "9.5";
sha256 = "1pgkz794wmp4f40843sbin49k5lgl59jvl6nazvdbb6mgr441jfz";
sha256 = "03fygn3nn6l6ar66sldy5akdg1gynny3yxbrpvmmp5ygfnrm2mwj";
this = self.postgresql_9_5;
inherit self;
};
postgresql_9_6 = self.callPackage generic {
version = "9.6.14";
version = "9.6.16";
psqlSchema = "9.6";
sha256 = "08hsqczy1ixkjyf2vr3s9x69agfz9yr8lh31fir4z0dfr5jw421z";
sha256 = "1rr2dgv4ams8r2lp13w85c77rkmzpb88fjlc28mvlw6zq2fblv2w";
this = self.postgresql_9_6;
inherit self;
};
postgresql_10 = self.callPackage generic {
version = "10.9";
version = "10.11";
psqlSchema = "10.0"; # should be 10, but changing it is invasive
sha256 = "0m0gbf7nwgag6a1z5f9xszwzgf2xhx0ncakyxwxlzs87n1zk32wm";
sha256 = "02fcmvbh0mhplj3s2jd24s642ysx7bggnf0h8bs5amh7dgzi8p8d";
this = self.postgresql_10;
inherit self;
};
postgresql_11 = self.callPackage generic {
version = "11.4";
version = "11.6";
psqlSchema = "11.1"; # should be 11, but changing it is invasive
sha256 = "12ycjlqncijgmd5z078ybwda8ilas96lc7nxxmdq140mzpgjv002";
sha256 = "0w1iq488kpzfgfnlw4k32lz5by695mpnkq461jrgsr99z5zlz4j9";
this = self.postgresql_11;
inherit self;
};
postgresql_12 = self.callPackage generic {
version = "12.1";
psqlSchema = "12";
sha256 = "1vc3hjcbgkdfczc1ipkk02rahabn7fabpb7qs203jxpnpamz76x0";
this = self.postgresql_12;
inherit self;
};
}
@@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, postgresql, protobufc }:
stdenv.mkDerivation rec {
name = "cstore_fdw-${version}";
pname = "cstore_fdw";
version = "1.6.2";
nativeBuildInputs = [ protobufc ];
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
};
installPhase = ''
mkdir -p $out/{lib,share/extension}
mkdir -p $out/{lib,share/postgresql/extension}
cp *.so $out/lib
cp *.sql $out/share/postgresql/extension
@@ -1,20 +1,17 @@
{ stdenv, fetchFromGitHub, postgresql, openssl }:
{ stdenv, fetchFromGitHub, postgresql, openssl, zlib, readline }:
if stdenv.lib.versionOlder postgresql.version "10"
then throw "pg_auto_failover not supported for PostgreSQL ${postgresql.version}"
else
stdenv.mkDerivation rec {
pname = "pg_auto_failover";
version = "1.0.2";
version = "1.0.5";
src = fetchFromGitHub {
owner = "citusdata";
repo = pname;
rev = "v${version}";
sha256 = "1296zk143y9fvmcg2hjbrjdjfhi5rrd0clh16vblkghcvxrzfyvy";
sha256 = "1idlgqazr2qra5x702f2yjcl99zwm1i5fi84paplfy98i5jjmxm1";
};
buildInputs = [ postgresql openssl ];
buildInputs = [ postgresql openssl zlib readline ];
installPhase = ''
install -D -t $out/bin src/bin/pg_autoctl/pg_autoctl
@@ -29,5 +26,6 @@ stdenv.mkDerivation rec {
maintainers = [ maintainers.marsam ];
platforms = postgresql.meta.platforms;
license = licenses.postgresql;
broken = versionOlder postgresql.version "10";
};
}
+1 -1
View File
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin # For buildEnv to setup proper symlinks. See #22653
mkdir -p $out/{lib,share/extension}
mkdir -p $out/{lib,share/postgresql/extension}
cp *.so $out/lib
cp *.sql $out/share/postgresql/extension
+3 -3
View File
@@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "pg_cron";
version = "1.1.4";
version = "1.2.0";
buildInputs = [ postgresql ];
@@ -10,11 +10,11 @@ stdenv.mkDerivation rec {
owner = "citusdata";
repo = pname;
rev = "refs/tags/v${version}";
sha256 = "0wkqgrm3v999hjcc82h24jv1pib6f6bw8jsv83hgk6g3iv6xsjg9";
sha256 = "1hkrk6jxl20k2b0ngchblwkrzigl77jaq1gvininp4yhjdlgaks8";
};
installPhase = ''
mkdir -p $out/{lib,share/extension}
mkdir -p $out/{lib,share/postgresql/extension}
cp *.so $out/lib
cp *.sql $out/share/postgresql/extension
+4 -4
View File
@@ -1,8 +1,8 @@
{ stdenv, fetchFromGitHub, postgresql }:
stdenv.mkDerivation rec {
name = "pg_hll-${version}";
version = "2.12";
pname = "pg_hll";
version = "2.14";
buildInputs = [ postgresql ];
@@ -10,11 +10,11 @@ stdenv.mkDerivation rec {
owner = "citusdata";
repo = "postgresql-hll";
rev = "refs/tags/v${version}";
sha256 = "1jdc9gjqc3dkjxv855q1p594j0awhrrymrcqnl5vw5vx2ny3bpgn";
sha256 = "13vphxkc9pn4bkpgab560bgdbl99li2b3p1n2rm5a78wswlsbsps";
};
installPhase = ''
mkdir -p $out/{lib,share/extension}
mkdir -p $out/{lib,share/postgresql/extension}
cp *.so $out/lib
cp *.sql $out/share/postgresql/extension
@@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "pg_partman";
version = "4.1.0";
version = "4.3.0";
buildInputs = [ postgresql ];
@@ -10,12 +10,11 @@ stdenv.mkDerivation rec {
owner = "pgpartman";
repo = pname;
rev = "refs/tags/v${version}";
sha256 = "0bzv92x492jcwzhal9x4vc3vszixscdpxc6yq5rrqld26dhmsp06";
sha256 = "1zkjz4hkjqzg0j7i7bjxgdcv2kfcgqwahirh06yag6hvm4qf9y9w";
};
installPhase = ''
mkdir -p $out/bin # For buildEnv to setup proper symlinks. See #22653
mkdir -p $out/{lib,share/extension}
mkdir -p $out/{lib,share/postgresql/extension}
cp src/*.so $out/lib
cp updates/* $out/share/postgresql/extension
@@ -1,8 +1,8 @@
{ stdenv, fetchFromGitHub, postgresql, openssl, zlib, readline }:
stdenv.mkDerivation rec {
name = "pg_repack-${version}";
version = "1.4.4";
pname = "pg_repack";
version = "1.4.5";
buildInputs = [ postgresql openssl zlib readline ];
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
owner = "reorg";
repo = "pg_repack";
rev = "refs/tags/ver_${version}";
sha256 = "0ynsmsxfkcp82ccpz2nrgg8wiil8yxqigvw6425lx8v80h5lszbw";
sha256 = "1qsya9h4r147mkl7jzh4qk7ciyr3hj6gv7rfh4zml9zav0pjj76x";
};
installPhase = ''
+4 -4
View File
@@ -1,8 +1,8 @@
{ stdenv, fetchFromGitHub, postgresql }:
stdenv.mkDerivation rec {
name = "pg_topn-${version}";
version = "2.2.2";
pname = "pg_topn";
version = "2.3.0";
buildInputs = [ postgresql ];
@@ -10,11 +10,11 @@ stdenv.mkDerivation rec {
owner = "citusdata";
repo = "postgresql-topn";
rev = "refs/tags/v${version}";
sha256 = "1bh28nrxj06vc2cvlsxlwrwad5ff3lfj3kr5cnnggwjk2dhwbbjm";
sha256 = "05mjzm7rz5j7byzag23526hhsqsg4dsyxxsg8q9ray1rwxjbr392";
};
installPhase = ''
mkdir -p $out/{lib,share/extension}
mkdir -p $out/{lib,share/postgresql/extension}
cp *.so $out/lib
cp *.sql $out/share/postgresql/extension
+4 -3
View File
@@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub }:
{ stdenv, fetchFromGitHub, postgresql }:
stdenv.mkDerivation rec {
name = "pgjwt-${version}";
stdenv.mkDerivation {
pname = "pgjwt";
version = "unstable-2017-04-24";
src = fetchFromGitHub {
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
sign() and verify() functions to create and verify JSON Web Tokens.
'';
license = licenses.mit;
platforms = postgresql.meta.platforms;
maintainers = with maintainers; [spinus];
};
}
+3 -2
View File
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "pgroonga";
version = "2.2.0";
version = "2.2.2";
src = fetchurl {
url = "https://packages.groonga.org/source/${pname}/${pname}-${version}.tar.gz";
sha256 = "1cankcprikx8nf72yg4h8542gqqlfgww6d63kg7l8l8sz962d28b";
sha256 = "0pdz2lpi7g1n9b5rg6kwhh6fr0bwf06zr642brmh53n6mp41186m";
};
nativeBuildInputs = [ pkgconfig ];
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
'';
homepage = "https://pgroonga.github.io/";
license = licenses.postgresql;
platforms = postgresql.meta.platforms;
maintainers = with maintainers; [ DerTim1 ];
};
}
@@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "pgrouting";
version = "2.6.2";
version = "2.6.3";
nativeBuildInputs = [ cmake perl ];
buildInputs = [ postgresql boost gmp cgal mpfr ];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
owner = "pgRouting";
repo = pname;
rev = "v${version}";
sha256 = "09xy5pmiwq0lxf2m8p4q5r892mfmn32vf8m75p84jnz4707z1l0j";
sha256 = "0jdjb8476vjgc7i26v2drcqjvhdbsk1wx243fddffg169nb664ml";
};
installPhase = ''
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
description = "A PostgreSQL/PostGIS extension that provides geospatial routing functionality";
homepage = https://pgrouting.org/;
maintainers = [ maintainers.steve-chavez ];
platforms = platforms.linux;
platforms = postgresql.meta.platforms;
license = licenses.gpl2;
};
}
+3 -3
View File
@@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, postgresql, perl, perlPackages, which }:
stdenv.mkDerivation rec {
name = "pgtap-${version}";
version = "1.0.0";
pname = "pgtap";
version = "1.1.0";
src = fetchFromGitHub {
owner = "theory";
repo = "pgtap";
rev = "v${version}";
sha256 = "0ks53lsrpa8yxav8jh0jlvs25y6p7mkcdch8il1kvib9k5zq2wnb";
sha256 = "09fvzsl8m18yzpvrz6cqvs1ffzs451iwmb2mw39yq69jgqby5kqy";
};
nativeBuildInputs = [ postgresql perl perlPackages.TAPParserSourceHandlerpgTAP which ];
@@ -1,8 +1,5 @@
{ stdenv, fetchFromGitHub, postgresql, zeromq, openssl }:
if stdenv.lib.versionOlder postgresql.version "10"
then throw "PipelineDB not supported for PostgreSQL ${postgresql.version}"
else
stdenv.mkDerivation rec {
pname = "pipelinedb";
version = "1.0.0-13";
@@ -35,5 +32,6 @@ stdenv.mkDerivation rec {
license = licenses.asl20;
platforms = postgresql.meta.platforms;
maintainers = [ maintainers.marsam ];
broken = versionOlder postgresql.version "10";
};
}
+4 -4
View File
@@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "plv8";
version = "2.3.12";
version = "2.3.14";
nativeBuildInputs = [ perl ];
buildInputs = [ v8 postgresql ];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
owner = "plv8";
repo = "plv8";
rev = "v${version}";
sha256 = "1yi1ibiibvd0x4z5dm698w32ljrj3yr4j25jm1zkgkwd4ii8y644";
sha256 = "12g7z0xkb6zg2qd0hppk2izq238v1k52vb13jlvaij1rbhh10mbp";
};
makefile = "Makefile.shared";
@@ -30,8 +30,8 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "V8 Engine Javascript Procedural Language add-on for PostgreSQL";
homepage = "https://plv8.github.io/";
maintainers = with maintainers; [ volth ];
platforms = platforms.linux;
maintainers = with maintainers; [ volth marsam ];
platforms = [ "x86_64-linux" ];
license = licenses.postgresql;
};
}
+15 -8
View File
@@ -10,19 +10,21 @@
, pkgconfig
, file
, protobufc
, libiconv
}:
stdenv.mkDerivation rec {
name = "postgis-${version}";
version = "2.5.2";
pname = "postgis";
version = "3.0.0";
outputs = [ "out" "doc" ];
src = fetchurl {
url = "https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz";
sha256 = "0pnva72f2w4jcgnl1y7nw5rdly4ipx3hji4c9yc9s0hna1n2ijxn";
sha256 = "15557fbk0xkngihwhqsbdyz2ng49blisf5zydw81j0gabk6x4vy0";
};
buildInputs = [ libxml2 postgresql geos proj gdal json_c protobufc ];
buildInputs = [ libxml2 postgresql geos proj gdal json_c protobufc ]
++ stdenv.lib.optional stdenv.isDarwin libiconv;
nativeBuildInputs = [ perl pkgconfig ];
dontDisableStatic = true;
@@ -43,14 +45,18 @@ stdenv.mkDerivation rec {
sed -i "s|\$(DESTDIR)\$(PGSQL_BINDIR)|$prefix/bin|g
" \
"raster/scripts/python/Makefile";
'';
preInstall = ''
mkdir -p $out/bin
# postgis' build system assumes it is being installed to the same place as postgresql, and looks
# for the postgres binary relative to $PREFIX. We gently support this system using an illusion.
ln -s ${postgresql}/bin/postgres $out/bin/postgres
'';
# create aliases for all commands adding version information
postInstall = ''
# Teardown the illusory postgres used for building; see postConfigure.
rm $out/bin/postgres
for prog in $out/bin/*; do # */
ln -s $prog $prog-${version}
done
@@ -62,8 +68,9 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Geographic Objects for PostgreSQL";
homepage = https://postgis.net/;
changelog = "https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS";
license = licenses.gpl2;
maintainers = [ maintainers.marcweber ];
platforms = platforms.linux;
inherit (postgresql.meta) platforms;
};
}
@@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub, postgresql, openssl, zlib, readline }:
stdenv.mkDerivation rec {
pname = "repmgr";
version = "4.4.0";
src = fetchFromGitHub {
owner = "2ndQuadrant";
repo = "repmgr";
rev = "v${version}";
sha256 = "185789f7igvlqyqcb8kf42jjq8g0wbs2aqd9kimrq5kf4srwgpim";
};
installPhase = ''
mkdir -p $out/{lib,share/postgresql/extension}
cp *.so $out/lib
cp *.sql $out/share/postgresql/extension
cp *.control $out/share/postgresql/extension
'';
buildInputs = [ postgresql openssl zlib readline ];
meta = with stdenv.lib; {
homepage = "https://repmgr.org/";
description = "Replication manager for PostgreSQL cluster";
license = licenses.postgresql;
platforms = postgresql.meta.platforms;
maintainers = with maintainers; [ zimbatm ];
};
}
+3 -2
View File
@@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "tds_fdw";
version = "1.0.8";
version = "2.0.1";
buildInputs = [ postgresql freetds ];
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
owner = "tds-fdw";
repo = pname;
rev = "refs/tags/v${version}";
sha256 = "0dlv1imiy773yplqqpl26xka65bc566k2x81wkrbvwqagnwvcai2";
sha256 = "1zpcrx30bvaf72782hgz2s19i5ndwvi7z87fanl1lnymznrk9lzg";
};
installPhase = ''
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
maintainers = [ maintainers.steve-chavez ];
platforms = postgresql.meta.platforms;
license = licenses.postgresql;
broken = versionAtLeast postgresql.version "11.0";
};
}
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
};
installPhase = ''
mkdir -p $out/{bin,lib,share/extension}
mkdir -p $out/{lib,share/postgresql/extension}
cp *.so $out/lib
cp *.sql $out/share/postgresql/extension
@@ -7,8 +7,8 @@
# }
stdenv.mkDerivation rec {
name = "timescaledb-${version}";
version = "1.3.2";
pname = "timescaledb";
version = "1.6.0";
nativeBuildInputs = [ cmake ];
buildInputs = [ postgresql openssl ];
@@ -17,10 +17,10 @@ stdenv.mkDerivation rec {
owner = "timescale";
repo = "timescaledb";
rev = "refs/tags/${version}";
sha256 = "117az52h8isi15p47r5d6k5y80ng9vj3x8ljq39iavgr364q716c";
sha256 = "0b42rhkycr4pwwa4fxnmppd3bl0xz7azvlm145rd7warlsr5h0lb";
};
cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" ];
cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" ];
# Fix the install phase which tries to install into the pgsql extension dir,
# and cannot be manually overridden. This is rather fragile but works OK.
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Scales PostgreSQL for time-series data via automatic partitioning across time and space";
homepage = https://www.timescale.com/;
maintainers = with maintainers; [ volth ];
maintainers = with maintainers; [ volth marsam ];
platforms = postgresql.meta.platforms;
license = licenses.asl20;
};
@@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, pkgconfig, postgresql }:
stdenv.mkDerivation rec {
name = "tsearch-extras-${version}";
stdenv.mkDerivation {
pname = "tsearch-extras";
version = "0.4";
src = fetchFromGitHub {
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
description = "Provides a few PostgreSQL functions for a lower-level data full text search";
homepage = https://github.com/zulip/tsearch_extras/;
license = licenses.postgresql;
platforms = postgresql.meta.platforms;
maintainers = with maintainers; [ DerTim1 ];
};
}
+2
View File
@@ -50,4 +50,6 @@ self: super: {
pg_partman = super.callPackage ./ext/pg_partman.nix { };
pg_safeupdate = super.callPackage ./ext/pg_safeupdate.nix { };
repmgr = super.callPackage ./ext/repmgr.nix { };
}
+1 -2
View File
@@ -2,7 +2,6 @@
stdenv.mkDerivation rec {
pname = "sqlite-jdbc";
name = "${pname}-${version}";
version = "3.25.2";
src = fetchMavenArtifact {
@@ -15,7 +14,7 @@ stdenv.mkDerivation rec {
phases = [ "installPhase" ];
installPhase = ''
install -m444 -D ${src}/share/java/*${name}.jar "$out/share/java/${name}.jar"
install -m444 -D ${src}/share/java/*${pname}-${version}.jar "$out/share/java/${pname}-${version}.jar"
'';
meta = with stdenv.lib; {