Pamac cannot be built against vala 0.44.0 ; error in /src/database.vala:166.80-166.107: error: Argument 1: Cannot convert from `unowned Alpm.List<weak Alpm.Package>' to `unowned Alpm.List<Alpm.Package>'

Once again, a building problem related to a Vala update. This time it is because of Vala 0.44.0.

Here is the full error log:

[9/70] Compiling Vala source ../src/co...e_daemon.vala ../src/transaction.vala.
FAILED: src/25a6634@@pamac@sha/common.c src/25a6634@@pamac@sha/package.c src/25a6634@@pamac@sha/pamac_config.c src/25a6634@@pamac@sha/error.c src/25a6634@@pamac@sha/alpm_config.c src/25a6634@@pamac@sha/aur.c src/25a6634@@pamac@sha/database.c src/25a6634@@pamac@sha/transaction_interface.c src/25a6634@@pamac@sha/alpm_utils.c src/25a6634@@pamac@sha/transaction_interface_root.c src/25a6634@@pamac@sha/transaction_interface_daemon.c src/25a6634@@pamac@sha/transaction.c src/pamac.h src/pamac.vapi src/Pamac-1.0.gir 
valac -C --debug --debug --pkg libcurl --pkg libsoup-2.4 --pkg appstream-glib --pkg json-glib-1.0 --pkg posix --pkg gio-2.0 --pkg libalpm --color=always --directory src/25a6634@@pamac@sha --basedir ../src --library pamac --header src/pamac.h --vapi ../pamac.vapi --gir ../Pamac-1.0.gir --pkg=posix --target-glib=2.38 --vapidir=/home/fred/pamac-aur-git/src/pamac/vapi ../src/common.vala ../src/package.vala ../src/pamac_config.vala ../src/error.vala ../src/alpm_config.vala ../src/aur.vala ../src/database.vala ../src/transaction_interface.vala ../src/alpm_utils.vala ../src/transaction_interface_root.vala ../src/transaction_interface_daemon.vala ../src/transaction.vala
../src/database.vala:166.80-166.107: error: Argument 1: Cannot convert from `unowned Alpm.List<weak Alpm.Package>' to `unowned Alpm.List<Alpm.Package>'
			return new Package.from_struct (initialise_pkg_struct (Alpm.find_satisfier (alpm_handle.localdb.pkgcache, depstring)));
			                                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../src/database.vala:191.61-191.88: error: Argument 1: Cannot convert from `unowned Alpm.List<weak Alpm.Package>' to `unowned Alpm.List<Alpm.Package>'
					unowned Alpm.Package? satisfier = Alpm.find_satisfier (alpm_handle.localdb.pkgcache, optdep);
					                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../src/database.vala:192.10-192.18: error: The name `satisfier' does not exist in the context of `Pamac.Database.get_uninstalled_optdeps'
					if (satisfier == null) {
					    ^^^^^^^^^
../src/database.vala:586.32-586.42: error: Argument 1: Cannot convert from `unowned Alpm.List<weak Alpm.Package>' to `unowned Alpm.List<Alpm.Package>'
				pkg = Alpm.find_satisfier (db.pkgcache, depstring);
				                           ^^^^^^^^^^^
../src/database.vala:605.73-605.79: error: Argument 1: Cannot convert from `unowned Alpm.List<weak string>?' to `unowned Alpm.List<string>'
			Alpm.List<unowned Alpm.Package> result = alpm_handle.localdb.search (needles);
			                                                                     ^^^^^^^
../src/database.vala:611.28-611.34: error: Argument 1: Cannot convert from `unowned Alpm.List<weak string>?' to `unowned Alpm.List<string>'
					syncpkgs = db.search (needles);
					                      ^^^^^^^
../src/database.vala:613.32-613.38: error: Argument 1: Cannot convert from `unowned Alpm.List<weak string>?' to `unowned Alpm.List<string>'
					syncpkgs.join (db.search (needles).diff (syncpkgs, (Alpm.List.CompareFunc) alpm_pkg_compare_name));
					                          ^^^^^^^
../src/database.vala:617.4-617.9: error: The name `result' does not exist in the context of `Pamac.Database.search_all_dbs'
			result.join (syncpkgs.diff (result, (Alpm.List.CompareFunc) alpm_pkg_compare_name));
			^^^^^^
../src/database.vala:637.5-637.10: error: The name `result' does not exist in the context of `Pamac.Database.search_all_dbs'
				result.join (appstream_result.diff (result, (Alpm.List.CompareFunc) alpm_pkg_compare_name));
				^^^^^^
../src/database.vala:641.4-641.9: error: The name `result' does not exist in the context of `Pamac.Database.search_all_dbs'
			result.sort (result.length, (Alpm.List.CompareFunc) alpm_pkg_sort_search_by_relevance);
			^^^^^^
../src/database.vala:642.11-642.16: error: The name `result' does not exist in the context of `Pamac.Database.search_all_dbs'
			return result;
			       ^^^^^^
../src/database.vala:968.31-968.58: error: Argument 1: Cannot convert from `unowned Alpm.List<weak Alpm.Package>' to `unowned Alpm.List<Alpm.Package>'
					if (Alpm.find_satisfier (alpm_handle.localdb.pkgcache, optdep.name) == null) {
					                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../src/database.vala:1683.72-1683.89: error: Argument 1: Cannot convert from `unowned Alpm.List<weak Alpm.DB>' to `unowned Alpm.List<Alpm.DB>'
						unowned Alpm.Package? candidate = installed_pkg.sync_newversion (tmp_handle.syncdbs);
						                                                                 ^^^^^^^^^^^^^^^^^^
../src/database.vala:1684.11-1684.19: error: The name `candidate' does not exist in the context of `Pamac.Database.get_updates._lambda40_'
						if (candidate != null) {
						    ^^^^^^^^^
../src/database.vala:1685.78-1685.86: error: The name `candidate' does not exist in the context of `Pamac.Database.get_updates._lambda40_'
							repos_updates.append (new Package.from_struct (initialise_pkg_struct (candidate)));
							                                                                      ^^^^^^^^^
../src/database.vala:1659.4-1659.18: warning: delegates with scope="async" must be owned
			ThreadFunc<int> run = () => {
			^^^^^^^^^^^^^^^
../src/alpm_utils.vala:418.54-418.81: error: Argument 1: Cannot convert from `unowned Alpm.List<weak Alpm.Package>' to `unowned Alpm.List<Alpm.Package>'
				unowned Alpm.Package? pkg = Alpm.find_satisfier (alpm_handle.localdb.pkgcache, name);
				                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../src/alpm_utils.vala:419.9-419.11: error: The name `pkg' does not exist in the context of `Pamac.AlpmUtils.trans_sysupgrade'
				if (pkg != null) {
				    ^^^
../src/alpm_utils.vala:420.40-420.42: error: The name `pkg' does not exist in the context of `Pamac.AlpmUtils.trans_sysupgrade'
					unowned Alpm.Package? candidate = pkg.sync_newversion (alpm_handle.syncdbs);
					                                  ^^^
../src/alpm_utils.vala:421.10-421.18: error: The name `candidate' does not exist in the context of `Pamac.AlpmUtils.trans_sysupgrade'
					if (candidate != null) {
					    ^^^^^^^^^
../src/alpm_utils.vala:422.25-422.33: error: The name `candidate' does not exist in the context of `Pamac.AlpmUtils.trans_sysupgrade'
						to_syncfirst.add (candidate.name);
						                  ^^^^^^^^^
../src/alpm_utils.vala:449.64-449.82: error: Argument 1: Cannot convert from `unowned Alpm.List<weak Alpm.DB>' to `unowned Alpm.List<Alpm.DB>'
			unowned Alpm.Package? pkg = alpm_handle.find_dbs_satisfier (alpm_handle.syncdbs, pkgname);
			                                                            ^^^^^^^^^^^^^^^^^^^
../src/alpm_utils.vala:450.8-450.10: error: The name `pkg' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
			if (pkg == null) {
			    ^^^
../src/alpm_utils.vala:455.40-455.42: error: The name `pkg' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
				bool success = trans_add_pkg_real (pkg);
				                                   ^^^
../src/alpm_utils.vala:456.9-456.15: error: The name `success' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
				if (success) {
				    ^^^^^^^
../src/alpm_utils.vala:457.24-457.26: error: The name `pkg' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
					if (("linux31" in pkg.name) || ("linux4" in pkg.name)) {
					                  ^^^
../src/alpm_utils.vala:457.50-457.52: error: The name `pkg' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
					if (("linux31" in pkg.name) || ("linux4" in pkg.name)) {
					                                            ^^^
../src/alpm_utils.vala:476.27-476.29: error: The name `pkg' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
						string[] splitted = pkg.name.split ("-", 2);
						                    ^^^
../src/alpm_utils.vala:477.11-477.18: error: The name `splitted' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
						if (splitted.length == 2) {
						    ^^^^^^^^
../src/alpm_utils.vala:481.50-481.57: error: The name `splitted' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
								string module = installed_kernel + "-" + splitted[1];
								                                         ^^^^^^^^
../src/alpm_utils.vala:482.83-482.88: error: The name `module' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
								unowned Alpm.Package? installed_module_pkg = alpm_handle.localdb.get_pkg (module);
								                                                                          ^^^^^^
../src/alpm_utils.vala:483.13-483.32: error: The name `installed_module_pkg' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
								if (installed_module_pkg == null) {
								    ^^^^^^^^^^^^^^^^^^^^
../src/alpm_utils.vala:484.58-484.63: error: The name `module' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
									unowned Alpm.Package? module_pkg = get_syncpkg (module);
									                                                ^^^^^^
../src/alpm_utils.vala:485.14-485.23: error: The name `module_pkg' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
									if (module_pkg != null) {
									    ^^^^^^^^^^
../src/alpm_utils.vala:486.31-486.40: error: The name `module_pkg' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
										trans_add_pkg_real (module_pkg);
										                    ^^^^^^^^^^
../src/alpm_utils.vala:490.18-490.25: error: The name `splitted' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
						} else if (splitted.length == 1) {
						           ^^^^^^^^
../src/alpm_utils.vala:494.25-494.32: error: The name `splitted' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
								string module = splitted[0] + "-" + installed_module;
								                ^^^^^^^^
../src/alpm_utils.vala:495.57-495.62: error: The name `module' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
								unowned Alpm.Package? module_pkg = get_syncpkg (module);
								                                                ^^^^^^
../src/alpm_utils.vala:496.13-496.22: error: The name `module_pkg' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
								if (module_pkg != null) {
								    ^^^^^^^^^^
../src/alpm_utils.vala:497.30-497.39: error: The name `module_pkg' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
									trans_add_pkg_real (module_pkg);
									                    ^^^^^^^^^^
../src/alpm_utils.vala:503.12-503.18: error: The name `success' does not exist in the context of `Pamac.AlpmUtils.trans_add_pkg'
				return success;
				       ^^^^^^^
../src/alpm_utils.vala:618.41-618.49: error: Argument 1: Cannot convert from `unowned Alpm.List<weak Alpm.Package>?' to `unowned Alpm.List<Alpm.Package>'
							} else if ((pkg = Alpm.pkg_find (trans_add, miss->causingpkg)) != null) {
							                                 ^^^^^^^^^
../src/alpm_utils.vala:788.34-788.61: error: Argument 1: Cannot convert from `unowned Alpm.List<weak Alpm.Package>' to `unowned Alpm.List<Alpm.Package>'
								if (Alpm.find_satisfier (alpm_handle.localdb.pkgcache, pkg.name) == null) {
								                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Compilation failed: 42 error(s), 1 warning(s)
[12/70] Compiling C object 'src/25a663...exe/meson-generated_pamac_config.c.o'.
ninja: build stopped: subcommand failed.
Edited by Frederic Bezies