Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-nautilus for openSUSE:Factory checked in at 2024-04-21 20:29:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-nautilus (Old) and /work/SRC/openSUSE:Factory/.python-nautilus.new.26366 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nautilus" Sun Apr 21 20:29:47 2024 rev:31 rq:1169233 version:4.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-nautilus/python-nautilus.changes 2023-07-05 15:31:49.155014531 +0200 +++ /work/SRC/openSUSE:Factory/.python-nautilus.new.26366/python-nautilus.changes 2024-04-21 20:30:58.730064630 +0200 @@ -1,0 +2,7 @@ +Fri Apr 19 12:55:28 UTC 2024 - Dominique Leuenberger <dims...@opensuse.org> + +- Update to version 4.0.1: + + Fixed build failure due to underlinking. + + Fixed build failure with Python 3.13. + +------------------------------------------------------------------- Old: ---- nautilus-python-4.0.tar.xz New: ---- nautilus-python-4.0.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-nautilus.spec ++++++ --- /var/tmp/diff_new_pack.QXqSWh/_old 2024-04-21 20:30:59.230082986 +0200 +++ /var/tmp/diff_new_pack.QXqSWh/_new 2024-04-21 20:30:59.230082986 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-nautilus # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -22,7 +22,7 @@ %define skip_python2 1 Name: python-nautilus -Version: 4.0 +Version: 4.0.1 Release: 0 Summary: Python bindings for Nautilus License: GPL-2.0-or-later ++++++ nautilus-python-4.0.tar.xz -> nautilus-python-4.0.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nautilus-python-4.0/NEWS.md new/nautilus-python-4.0.1/NEWS.md --- old/nautilus-python-4.0/NEWS.md 2022-09-17 22:28:52.000000000 +0200 +++ new/nautilus-python-4.0.1/NEWS.md 2024-04-19 01:05:23.000000000 +0200 @@ -1,3 +1,8 @@ +## 4.0.1 (2024-04-19) + +- Fixed build failure due to underlinking. (https://gitlab.gnome.org/GNOME/nautilus-python/-/merge_requests/13) +- Fixed build failure with Python 3.13 (Patrick Monnerat) + ## 4.0 (2022-09-17) - Updated migration docs and rewrote overview. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nautilus-python-4.0/meson.build new/nautilus-python-4.0.1/meson.build --- old/nautilus-python-4.0/meson.build 2022-09-17 22:28:52.000000000 +0200 +++ new/nautilus-python-4.0.1/meson.build 2024-04-19 01:05:23.000000000 +0200 @@ -1,7 +1,7 @@ project( 'nautilus-python', 'c', - version: '4.0', + version: '4.0.1', meson_version: '>= 0.59.0', ) @@ -21,6 +21,7 @@ pygobject_micro_version = 0 pygobject = dependency('pygobject-3.0', version: f'>= @pygobject_major_version@.@pygobject_minor_version@.@pygobject_micro_version@') libnautilus_extension = dependency('libnautilus-extension-4', version: '>= 43.beta') +gmodule = dependency('gmodule-2.0', version: '>= 2.44') python_dep = python3.dependency(embed: true) nautilus_extension_dir = libnautilus_extension.get_variable('extensiondir', pkgconfig_define: ['libdir', libdir]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nautilus-python-4.0/nix/sources.json new/nautilus-python-4.0.1/nix/sources.json --- old/nautilus-python-4.0/nix/sources.json 2022-09-17 22:28:52.000000000 +0200 +++ new/nautilus-python-4.0.1/nix/sources.json 2024-04-19 01:05:23.000000000 +0200 @@ -5,22 +5,22 @@ "homepage": "https://github.com/nmattia/niv", "owner": "nmattia", "repo": "niv", - "rev": "82e5cd1ad3c387863f0545d7591512e76ab0fc41", - "sha256": "090l219mzc0gi33i3psgph6s2pwsc8qy4lyrqjdj4qzkvmaj65a7", + "rev": "6f6529db3a69cf3c4dd81eebcb5b46f1d34170e5", + "sha256": "1qbyprn08917cszfm5syppi4r5p467qii4fzb2v1s0lrqqn0das4", "type": "tarball", - "url": "https://github.com/nmattia/niv/archive/82e5cd1ad3c387863f0545d7591512e76ab0fc41.tar.gz", + "url": "https://github.com/nmattia/niv/archive/6f6529db3a69cf3c4dd81eebcb5b46f1d34170e5.tar.gz", "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz" }, "nixpkgs": { - "branch": "gnome", + "branch": "nixos-unstable", "description": "Nix Packages collection", "homepage": "", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c4a0b65a2819e19446d7dd7fba2209be7edf8379", - "sha256": "10jwxcixxbd4bnapzl8dz6cn3gmibqldhz0n3vhgx90njhycfbvl", + "rev": "5672bc9dbf9d88246ddab5ac454e82318d094bb8", + "sha256": "08117vanz736ly7yfkicxgra8qrxv8pwnv6nabi7jfj03rffgg1l", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/c4a0b65a2819e19446d7dd7fba2209be7edf8379.tar.gz", + "url": "https://github.com/NixOS/nixpkgs/archive/5672bc9dbf9d88246ddab5ac454e82318d094bb8.tar.gz", "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz" } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nautilus-python-4.0/nix/sources.nix new/nautilus-python-4.0.1/nix/sources.nix --- old/nautilus-python-4.0/nix/sources.nix 2022-09-17 22:28:52.000000000 +0200 +++ new/nautilus-python-4.0.1/nix/sources.nix 2024-04-19 01:05:23.000000000 +0200 @@ -10,33 +10,34 @@ let name' = sanitizeName name + "-src"; in - if spec.builtin or true then - builtins_fetchurl { inherit (spec) url sha256; name = name'; } - else - pkgs.fetchurl { inherit (spec) url sha256; name = name'; }; + if spec.builtin or true then + builtins_fetchurl { inherit (spec) url sha256; name = name'; } + else + pkgs.fetchurl { inherit (spec) url sha256; name = name'; }; fetch_tarball = pkgs: name: spec: let name' = sanitizeName name + "-src"; in - if spec.builtin or true then - builtins_fetchTarball { name = name'; inherit (spec) url sha256; } - else - pkgs.fetchzip { name = name'; inherit (spec) url sha256; }; + if spec.builtin or true then + builtins_fetchTarball { name = name'; inherit (spec) url sha256; } + else + pkgs.fetchzip { name = name'; inherit (spec) url sha256; }; fetch_git = name: spec: let ref = - if spec ? ref then spec.ref else + spec.ref or ( if spec ? branch then "refs/heads/${spec.branch}" else - if spec ? tag then "refs/tags/${spec.tag}" else - abort "In git source '${name}': Please specify `ref`, `tag` or `branch`!"; - submodules = if spec ? submodules then spec.submodules else false; + if spec ? tag then "refs/tags/${spec.tag}" else + abort "In git source '${name}': Please specify `ref`, `tag` or `branch`!" + ); + submodules = spec.submodules or false; submoduleArg = let nixSupportsSubmodules = builtins.compareVersions builtins.nixVersion "2.4" >= 0; emptyArgWithWarning = - if submodules == true + if submodules then builtins.trace ( @@ -44,15 +45,15 @@ + "but your nix's (${builtins.nixVersion}) builtins.fetchGit " + "does not support them" ) - {} - else {}; + { } + else { }; in - if nixSupportsSubmodules - then { inherit submodules; } - else emptyArgWithWarning; + if nixSupportsSubmodules + then { inherit submodules; } + else emptyArgWithWarning; in - builtins.fetchGit - ({ url = spec.repo; inherit (spec) rev; inherit ref; } // submoduleArg); + builtins.fetchGit + ({ url = spec.repo; inherit (spec) rev; inherit ref; } // submoduleArg); fetch_local = spec: spec.path; @@ -86,16 +87,16 @@ hasNixpkgsPath = builtins.any (x: x.prefix == "nixpkgs") builtins.nixPath; hasThisAsNixpkgsPath = <nixpkgs> == ./.; in - if builtins.hasAttr "nixpkgs" sources - then sourcesNixpkgs - else if hasNixpkgsPath && ! hasThisAsNixpkgsPath then - import <nixpkgs> {} - else - abort - '' - Please specify either <nixpkgs> (through -I or NIX_PATH=nixpkgs=...) or - add a package called "nixpkgs" to your sources.json. - ''; + if builtins.hasAttr "nixpkgs" sources + then sourcesNixpkgs + else if hasNixpkgsPath && ! hasThisAsNixpkgsPath then + import <nixpkgs> { } + else + abort + '' + Please specify either <nixpkgs> (through -I or NIX_PATH=nixpkgs=...) or + add a package called "nixpkgs" to your sources.json. + ''; # The actual fetching function. fetch = pkgs: name: spec: @@ -115,13 +116,13 @@ # the path directly as opposed to the fetched source. replace = name: drv: let - saneName = stringAsChars (c: if isNull (builtins.match "[a-zA-Z0-9]" c) then "_" else c) name; + saneName = stringAsChars (c: if (builtins.match "[a-zA-Z0-9]" c) == null then "_" else c) name; ersatz = builtins.getEnv "NIV_OVERRIDE_${saneName}"; in - if ersatz == "" then drv else - # this turns the string into an actual Nix path (for both absolute and - # relative paths) - if builtins.substring 0 1 ersatz == "/" then /. + ersatz else /. + builtins.getEnv "PWD" + "/${ersatz}"; + if ersatz == "" then drv else + # this turns the string into an actual Nix path (for both absolute and + # relative paths) + if builtins.substring 0 1 ersatz == "/" then /. + ersatz else /. + builtins.getEnv "PWD" + "/${ersatz}"; # Ports of functions for older nix versions @@ -132,7 +133,7 @@ ); # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/lists.nix#L295 - range = first: last: if first > last then [] else builtins.genList (n: first + n) (last - first + 1); + range = first: last: if first > last then [ ] else builtins.genList (n: first + n) (last - first + 1); # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L257 stringToCharacters = s: map (p: builtins.substring p 1 s) (range 0 (builtins.stringLength s - 1)); @@ -143,43 +144,46 @@ concatStrings = builtins.concatStringsSep ""; # https://github.com/NixOS/nixpkgs/blob/8a9f58a375c401b96da862d969f66429def1d118/lib/attrsets.nix#L331 - optionalAttrs = cond: as: if cond then as else {}; + optionalAttrs = cond: as: if cond then as else { }; # fetchTarball version that is compatible between all the versions of Nix builtins_fetchTarball = { url, name ? null, sha256 }@attrs: let inherit (builtins) lessThan nixVersion fetchTarball; in - if lessThan nixVersion "1.12" then - fetchTarball ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; })) - else - fetchTarball attrs; + if lessThan nixVersion "1.12" then + fetchTarball ({ inherit url; } // (optionalAttrs (name != null) { inherit name; })) + else + fetchTarball attrs; # fetchurl version that is compatible between all the versions of Nix builtins_fetchurl = { url, name ? null, sha256 }@attrs: let inherit (builtins) lessThan nixVersion fetchurl; in - if lessThan nixVersion "1.12" then - fetchurl ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; })) - else - fetchurl attrs; + if lessThan nixVersion "1.12" then + fetchurl ({ inherit url; } // (optionalAttrs (name != null) { inherit name; })) + else + fetchurl attrs; # Create the final "sources" from the config mkSources = config: - mapAttrs ( - name: spec: - if builtins.hasAttr "outPath" spec - then abort - "The values in sources.json should not have an 'outPath' attribute" - else - spec // { outPath = replace name (fetch config.pkgs name spec); } - ) config.sources; + mapAttrs + ( + name: spec: + if builtins.hasAttr "outPath" spec + then + abort + "The values in sources.json should not have an 'outPath' attribute" + else + spec // { outPath = replace name (fetch config.pkgs name spec); } + ) + config.sources; # The "config" used by the fetchers mkConfig = { sourcesFile ? if builtins.pathExists ./sources.json then ./sources.json else null - , sources ? if isNull sourcesFile then {} else builtins.fromJSON (builtins.readFile sourcesFile) + , sources ? if sourcesFile == null then { } else builtins.fromJSON (builtins.readFile sourcesFile) , system ? builtins.currentSystem , pkgs ? mkPkgs sources system }: rec { @@ -191,4 +195,4 @@ }; in -mkSources (mkConfig {}) // { __functor = _: settings: mkSources (mkConfig settings); } +mkSources (mkConfig { }) // { __functor = _: settings: mkSources (mkConfig settings); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nautilus-python-4.0/src/meson.build new/nautilus-python-4.0.1/src/meson.build --- old/nautilus-python-4.0/src/meson.build 2022-09-17 22:28:52.000000000 +0200 +++ new/nautilus-python-4.0.1/src/meson.build 2024-04-19 01:05:23.000000000 +0200 @@ -7,6 +7,7 @@ dependencies: [ libnautilus_extension, pygobject, + gmodule, python_dep, ], include_directories: [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nautilus-python-4.0/src/nautilus-python.c new/nautilus-python-4.0.1/src/nautilus-python.c --- old/nautilus-python-4.0/src/nautilus-python.c 2022-09-17 22:28:52.000000000 +0200 +++ new/nautilus-python-4.0.1/src/nautilus-python.c 2024-04-19 01:05:23.000000000 +0200 @@ -32,7 +32,6 @@ static const GDebugKey nautilus_python_debug_keys[] = { {"misc", NAUTILUS_PYTHON_DEBUG_MISC}, }; -static const guint nautilus_python_ndebug_keys = sizeof (nautilus_python_debug_keys) / sizeof (GDebugKey); NautilusPythonDebug nautilus_python_debug; static gboolean nautilus_python_init_python(void); @@ -165,17 +164,11 @@ PyErr_Print(); return FALSE; } - - debug("PySys_SetArgv"); - wchar_t *argv[] = { L"nautilus", NULL }; - PySys_SetArgv(1, argv); - if (PyErr_Occurred()) { - PyErr_Print(); - return FALSE; - } - - debug("Sanitize the python search path"); - PyRun_SimpleString("import sys; sys.path = [path for path in sys.path if path]"); + + debug("Sanitize the python search path and set sys.argv"); + PyRun_SimpleString("import sys; " + "sys.path = [path for path in sys.path if path]; " + "sys.argv = ['nautilus']"); if (PyErr_Occurred()) { PyErr_Print(); return FALSE; @@ -267,7 +260,7 @@ if (env_string != NULL) { nautilus_python_debug = g_parse_debug_string(env_string, nautilus_python_debug_keys, - nautilus_python_ndebug_keys); + G_N_ELEMENTS (nautilus_python_debug_keys)); env_string = NULL; }