From 89590d2a02628d29d87e64443a9c5374ffb26daf Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sat, 2 Dec 2023 18:43:58 +0100 Subject: [PATCH 1/2] python311Packages.psycopg: 3.1.13 -> 3.1.14 https://github.com/psycopg/psycopg/blob/3.1.14/docs/news.rst#current-release --- .../python-modules/psycopg/ctypes.patch | 31 ++++++++++++------- .../python-modules/psycopg/default.nix | 13 ++------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/pkgs/development/python-modules/psycopg/ctypes.patch b/pkgs/development/python-modules/psycopg/ctypes.patch index a76d38f85e80..d2b0842b44b4 100644 --- a/pkgs/development/python-modules/psycopg/ctypes.patch +++ b/pkgs/development/python-modules/psycopg/ctypes.patch @@ -1,5 +1,5 @@ diff --git a/psycopg/psycopg/pq/_pq_ctypes.py b/psycopg/psycopg/pq/_pq_ctypes.py -index 4f9d00fb..24b90ef6 100644 +index 9ca1d129..02929ab6 100644 --- a/psycopg/psycopg/pq/_pq_ctypes.py +++ b/psycopg/psycopg/pq/_pq_ctypes.py @@ -11,14 +11,10 @@ from ctypes import Structure, CFUNCTYPE, POINTER @@ -30,17 +30,26 @@ index 4f9d00fb..24b90ef6 100644 fdopen = libc.fdopen fdopen.argtypes = (c_int, c_char_p) diff --git a/tests/fix_pq.py b/tests/fix_pq.py -index 6811a26c..c1829c82 100644 +index 917dfc91..505f2d65 100644 --- a/tests/fix_pq.py +++ b/tests/fix_pq.py -@@ -51,9 +51,7 @@ def libpq(): - from psycopg.pq.misc import find_libpq_full_path - - # Not available when testing the binary package +@@ -47,18 +47,7 @@ def pytest_runtest_setup(item): + @pytest.fixture + def libpq(): + """Return a ctypes wrapper to access the libpq.""" +- try: +- from psycopg.pq.misc import find_libpq_full_path +- +- # Not available when testing the binary package - libname = find_libpq_full_path() - assert libname, "libpq libname not found" -- return ctypes.pydll.LoadLibrary(libname) -+ return ctypes.pydll.LoadLibrary("@libpq@") - except Exception as e: - if pq.__impl__ == "binary": - pytest.skip(f"can't load libpq for testing: {e}") +- return ctypes.cdll.LoadLibrary(libname) +- except Exception as e: +- if pq.__impl__ == "binary": +- pytest.skip(f"can't load libpq for testing: {e}") +- else: +- raise ++ return ctypes.cdll.LoadLibrary("@libpq@") + + + @pytest.fixture diff --git a/pkgs/development/python-modules/psycopg/default.nix b/pkgs/development/python-modules/psycopg/default.nix index b73c74ca0ae3..dc2331c29de7 100644 --- a/pkgs/development/python-modules/psycopg/default.nix +++ b/pkgs/development/python-modules/psycopg/default.nix @@ -2,7 +2,6 @@ , stdenv , buildPythonPackage , fetchFromGitHub -, fetchpatch , fetchurl , pythonOlder , substituteAll @@ -35,13 +34,13 @@ let pname = "psycopg"; - version = "3.1.13"; + version = "3.1.14"; src = fetchFromGitHub { owner = "psycopg"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-N+x8RErlId1uBgXZjBBjtPxqJXGuXZEl78DKVKjhy9w="; + hash = "sha256-zocRBnrQoJDWI4qhxDnxxIeiLdaWolvsujqfHBYQc/A="; }; patches = [ @@ -50,14 +49,6 @@ let libpq = "${postgresql.lib}/lib/libpq${stdenv.hostPlatform.extensions.sharedLibrary}"; libc = "${stdenv.cc.libc}/lib/libc.so.6"; }) - - (fetchpatch { - # fix environment variables leaking into test environment - # https://github.com/psycopg/psycopg/pull/683 - # https://github.com/psycopg/psycopg/issues/681 - url = "https://github.com/psycopg/psycopg/commit/f060855aa6126e811de243c7213d2caff9c88123.patch"; - hash = "sha256-QsFxK8Qasw9kbNCUUCqbOHaf53kT5NONlr28vGoPda0="; - }) ]; baseMeta = { From bca98d959531c9246a2832041dcc29fb7a2437fa Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 6 Dec 2023 18:25:53 +0100 Subject: [PATCH 2/2] python311Packages.psycopg: skip refcounting tests Patch created by Nikolas Ovaskainen. Thank you! Closes: #271926 --- pkgs/development/python-modules/psycopg/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/psycopg/default.nix b/pkgs/development/python-modules/psycopg/default.nix index dc2331c29de7..d66f21ca2679 100644 --- a/pkgs/development/python-modules/psycopg/default.nix +++ b/pkgs/development/python-modules/psycopg/default.nix @@ -2,6 +2,7 @@ , stdenv , buildPythonPackage , fetchFromGitHub +, fetchpatch , fetchurl , pythonOlder , substituteAll @@ -49,6 +50,12 @@ let libpq = "${postgresql.lib}/lib/libpq${stdenv.hostPlatform.extensions.sharedLibrary}"; libc = "${stdenv.cc.libc}/lib/libc.so.6"; }) + + (fetchpatch { + # add fixture to mark flaky ref count tests + url = "https://github.com/psycopg/psycopg/commit/70ef364324ba3448ef9ac0e29329c9d802380e4b.patch"; + hash = "sha256-8PlrBcIumlxFjNXCAfm4NpSIxAnvLR8TopHzneJyzf0="; + }) ]; baseMeta = { @@ -205,7 +212,7 @@ buildPythonPackage rec { pytestFlagsArray = [ "-o" "cache_dir=$TMPDIR" - "-m" "'not timing'" + "-m" "'not refcount and not timing'" ]; postCheck = ''