mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-10 22:46:58 +02:00
x11-misc/shared-mime-info: Sync with Gentoo
It's from Gentoo commit 6d7a8c0d18b2df918f4f775fde283c49b008011c.
This commit is contained in:
parent
654a20ea7a
commit
dc8d3869e7
@ -1 +1,5 @@
|
||||
DIST shared-mime-info-2.1.tar.xz 5202496 BLAKE2B e8dfc7efe78feb5a38c8115a2b332f46c3dac2f89dffad0834fa7b77560b3ef528e779ab9e42822288f85d8c434fd590859db682f3f99494aa6a4387c985e912 SHA512 87e308281e83c4cf889594f7c2e8dcb4d0d0d3910124c3816fdb886ba7d6113b2581711adcb17032b47f9b8d8b7001fab58daa52b7da7c0ef87915e341d6f1b0
|
||||
DIST shared-mime-info-2.2.tar.gz 7064139 BLAKE2B 5e791893a60d64a8a1d421c1fabb5e214c6e34ae975d232a9d695b998e8e9aafb6449e858fd845feb120e170bf7c77f70c1fc23e3d4cf8e7c49c6e92418cab96 SHA512 490d96daf4214ab6ac537761b67f3ff4716b95d7ea3fedd2e2ab7b0b02d946acad49790a25efcb5e949551dc4c39ba08911e59f06b198b61dcb1bc44799a2b2e
|
||||
DIST shared-mime-info-2.3.tar.bz2 6643480 BLAKE2B 2a3adc0568d1be5a17e5a1533f3c4620c6f9d97069ad9e0a0b26ac241c7b14f7d3b9200534df7e1c2295a561d5e049ce8edf8a1e96d2f4e2040508545172a351 SHA512 f1959933e93373ee6939b289d0c3c35d527ce6803865558e4a8bcb5a0183df2fc1148bbf58bfe9a97342e7125f2e0e39ac5dd3bae998510396d9b6c96a330762
|
||||
DIST shared-mime-info-2.4.tar.bz2 7096347 BLAKE2B 25ff086e4962f5ab0cb2b7155df02be4af7af63dd0267500b2b12b802680bbae04b9ed252ef5a004d0175f6b48956c5e4b9738af9ab5d2fa76a7a0b6eac067ad SHA512 712f414e80919bf2a0f5083ced44c54a350948a526850466a6e9f35365dcfd97fad8bcdbb29945de2715a8f9b70a108e931c8500209a4d6e3dddf97af02771cb
|
||||
DIST xdgmime-179296748e92bd91bf531656632a1056307fb7b7.tar.bz2 28123 BLAKE2B ea107dba0819027e4a0a486db00e76f50a4e32e8e84f366b81490e213456e2c7e1c4a92cc4f92173dd6f94f257455bdcb77e3eb7d0ce8fb699c948d2d5b01f0d SHA512 efccff2672efb3ff0e44e83cfbaf6e2b926146e4a9d6132b14e2d7a88d602af340b3948793306ce5f720ac8b09e5d37d3b356a0cc269e8240b382558c9a3cf10
|
||||
DIST xdgmime-92f6a09fda2b23c2ab95cede8eb0612ca96bd0f7.tar.gz 32703 BLAKE2B 865ff57c566b60fb2bd6cb37e259800ee72fb4b9f2d135db46e9a40206946677a7b50bfb8f13d9ce1493bac972e8a5230d7caa833733f3a8d8631e844a648436 SHA512 90abe20483d5ae2131d18740fffbc57c94470be99e9ea1b04e13bffaf3dda4aa9145cb92bb4defe0a655c0bdbd630aaa325e7a9095b9599faebb751699b9cdd8
|
||||
|
@ -1,82 +0,0 @@
|
||||
From 5a406b06792e26a83c7346b3c2443c0bd8d4cdb2 Mon Sep 17 00:00:00 2001
|
||||
From: Eli Schwartz <eschwartz@archlinux.org>
|
||||
Date: Mon, 8 Nov 2021 18:22:47 -0500
|
||||
Subject: [PATCH] migrate from custom itstool to builtin msgfmt for creating
|
||||
translated XML
|
||||
|
||||
gettext upstream has supported this for a very long time (since 0.19.7
|
||||
via commit b3c2a5a242c36fbbaa0c5b17f975d6c638598a23, released in 2015),
|
||||
and itstool is (mostly) a legacy of the time before gettext had proper
|
||||
support for these sorts of use cases.
|
||||
|
||||
This is similar to the state of intltool, which is described at
|
||||
https://wiki.gnome.org/MigratingFromIntltoolToGettext
|
||||
|
||||
During the port from autotools to meson, the legacy use of itstool was
|
||||
faithfully translated to meson in the only way possible: by jumping
|
||||
through hoops to run ninja inside ninja in order to generate the .mo
|
||||
files for itstool, because meson's i18n module used a flawed design and
|
||||
there was no "real" target to create those files, only a .PHONY
|
||||
run_target which other rules cannot depend on.
|
||||
|
||||
Although meson 0.60.0 added support for real targets for the built .mo
|
||||
files, this changed the rules for output filenames, breaking the script.
|
||||
|
||||
But msgfmt does not care, and anyways comes with builtin meson functions
|
||||
for convenient use with XML files. So let's take this opportunity to
|
||||
drop legacy dependencies and use the modern, builtin tooling, which
|
||||
fixes this bug as a side effect.
|
||||
|
||||
Fixes #170
|
||||
---
|
||||
.gitlab-ci.yml | 2 --
|
||||
README.md | 2 +-
|
||||
data/freedesktop_generate.sh | 12 ------------
|
||||
data/meson.build | 16 +++++-----------
|
||||
meson.build | 1 -
|
||||
5 files changed, 6 insertions(+), 27 deletions(-)
|
||||
delete mode 100755 data/freedesktop_generate.sh
|
||||
|
||||
diff --git a/data/meson.build b/data/meson.build
|
||||
index 24361c9..09ed7a9 100644
|
||||
--- a/data/meson.build
|
||||
+++ b/data/meson.build
|
||||
@@ -1,18 +1,12 @@
|
||||
|
||||
install_man('update-mime-database.1')
|
||||
|
||||
-freedesktop_org_xml = custom_target('freedesktop.org.xml',
|
||||
- input : files(
|
||||
- 'freedesktop.org.xml.in',
|
||||
- 'its/shared-mime-info.its',
|
||||
- 'its/shared-mime-info.loc',
|
||||
- ),
|
||||
+freedesktop_org_xml = i18n.merge_file(
|
||||
+ input: 'freedesktop.org.xml.in',
|
||||
output: 'freedesktop.org.xml',
|
||||
- command: [
|
||||
- find_program('freedesktop_generate.sh'),
|
||||
- meson.source_root(),
|
||||
- meson.build_root()
|
||||
- ],
|
||||
+ data_dirs: '.',
|
||||
+ po_dir: '../po',
|
||||
+ type: 'xml',
|
||||
install: true,
|
||||
install_dir: get_option('datadir') / 'mime' / 'packages',
|
||||
)
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 0d08c8a..60f17ae 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -20,7 +20,6 @@
|
||||
###############################################################################
|
||||
# Find tools
|
||||
|
||||
-itstool = find_program('itstool')
|
||||
xmllint = find_program('xmllint')
|
||||
xmlto = find_program('xmlto')
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
@ -0,0 +1,38 @@
|
||||
https://bugs.gentoo.org/915859
|
||||
https://gitlab.freedesktop.org/xdg/shared-mime-info/-/commit/12a3a6b1141c704fc594379af1808bb9008d588c
|
||||
|
||||
From 12a3a6b1141c704fc594379af1808bb9008d588c Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Mayer <tobim@fastmail.fm>
|
||||
Date: Sun, 8 Oct 2023 00:11:49 +0200
|
||||
Subject: [PATCH] Fix string literal concatenation
|
||||
|
||||
Clang is not able to disambiguate between multiple string literatals
|
||||
and C++11 user defined literals. Spaces help.
|
||||
---
|
||||
src/update-mime-database.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/update-mime-database.cpp b/src/update-mime-database.cpp
|
||||
index 733ba063..29d82a9d 100644
|
||||
--- a/src/update-mime-database.cpp
|
||||
+++ b/src/update-mime-database.cpp
|
||||
@@ -2158,7 +2158,7 @@ static void check_in_path_xdg_data(const char *mime_path)
|
||||
|
||||
env = getenv("XDG_DATA_DIRS");
|
||||
if (!env)
|
||||
- env = "/usr/local/share/"PATH_SEPARATOR"/usr/share/";
|
||||
+ env = "/usr/local/share/" PATH_SEPARATOR "/usr/share/";
|
||||
dirs = g_strsplit(env, PATH_SEPARATOR, 0);
|
||||
g_return_if_fail(dirs != NULL);
|
||||
for (n = 0; dirs[n]; n++)
|
||||
@@ -2170,7 +2170,7 @@ static void check_in_path_xdg_data(const char *mime_path)
|
||||
dirs[n] = g_build_filename(g_get_home_dir(), ".local",
|
||||
"share", NULL);
|
||||
n++;
|
||||
-
|
||||
+
|
||||
for (i = 0; i < n; i++)
|
||||
{
|
||||
if (stat(dirs[i], &dir_info) == 0 &&
|
||||
--
|
||||
GitLab
|
@ -0,0 +1,55 @@
|
||||
https://gitlab.freedesktop.org/xdg/shared-mime-info/-/commit/7499ac1a85b2487b94e315e6b55c34bcf220295f
|
||||
|
||||
From 7499ac1a85b2487b94e315e6b55c34bcf220295f Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Mayer <tobim@fastmail.fm>
|
||||
Date: Sat, 7 Oct 2023 23:45:47 +0200
|
||||
Subject: [PATCH] Fix false positive fdatasync detection on darwin
|
||||
|
||||
The `has_function` feature in meson uses different detection methods
|
||||
depending on the contents of the `prefix` kwarg [1]:
|
||||
|
||||
* if it contains `#include` directives it will copy the prefix into
|
||||
the test code and check if it compiles
|
||||
* if it doesn't contain an include or isn't specified, `has_function`
|
||||
will forward declare the function and test for it's existence by
|
||||
trying to link it to the default libraries
|
||||
|
||||
The latter approach wrongly succeeds for `fdatasync` on darwin because
|
||||
the linker binds the function to a system call of the same name. Note
|
||||
that this result really is wrong because that system call has not
|
||||
the expected semantics of `fdatasync`.
|
||||
|
||||
By adding an include for `unistd.h` we can get meson to use the
|
||||
first approach and the detection fails.
|
||||
|
||||
Note that this has gone unnoticed so far because only recent versions
|
||||
of clang (the default compiler on darwin) started to treat implicit
|
||||
function declarations as an error.
|
||||
|
||||
[1] https://github.com/mesonbuild/meson/blob/583d2815d1a130227f0f4db47e4ab2e80ebb6a61/mesonbuild/compilers/mixins/clike.py#L839-L846
|
||||
|
||||
Fixes #211
|
||||
---
|
||||
meson.build | 7 +------
|
||||
1 file changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 1780c443..7998a51b 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -49,12 +49,7 @@ endif
|
||||
###############################################################################
|
||||
# Dependencies
|
||||
|
||||
-check_functions = [
|
||||
- 'fdatasync',
|
||||
-]
|
||||
-foreach function : check_functions
|
||||
- config.set('HAVE_'+function.to_upper(), cc.has_function(function))
|
||||
-endforeach
|
||||
+config.set('HAVE_FDATASYNC', cc.has_function('fdatasync', prefix: '#include <unistd.h>'))
|
||||
|
||||
|
||||
if get_option('build-translations')
|
||||
--
|
||||
GitLab
|
@ -0,0 +1,282 @@
|
||||
https://gitlab.freedesktop.org/xdg/shared-mime-info/-/commit/157c16b09f54741aefbc4be6a3507455f0378389
|
||||
|
||||
From 157c16b09f54741aefbc4be6a3507455f0378389 Mon Sep 17 00:00:00 2001
|
||||
From: Biswapriyo Nath <nathbappai@gmail.com>
|
||||
Date: Sun, 8 Oct 2023 13:26:43 +0000
|
||||
Subject: [PATCH] Fix missing sentinel warning with clang
|
||||
|
||||
This fixes the compiler warnings similar as following.
|
||||
|
||||
../src/update-mime-database.cpp:393:50: warning: missing sentinel in function call [-Wsentinel]
|
||||
393 | g_strconcat(namespaceURI, " ", localName, NULL),
|
||||
| ^
|
||||
| , nullptr
|
||||
---
|
||||
src/update-mime-database.cpp | 58 ++++++++++++++++++------------------
|
||||
1 file changed, 29 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/src/update-mime-database.cpp b/src/update-mime-database.cpp
|
||||
index 29d82a9d..7838a0eb 100644
|
||||
--- a/src/update-mime-database.cpp
|
||||
+++ b/src/update-mime-database.cpp
|
||||
@@ -390,7 +390,7 @@ static void add_namespace(Type *type, const char *namespaceURI,
|
||||
}
|
||||
|
||||
g_hash_table_insert(namespace_hash,
|
||||
- g_strconcat(namespaceURI, " ", localName, NULL),
|
||||
+ g_strconcat(namespaceURI, " ", localName, nullptr),
|
||||
type);
|
||||
}
|
||||
|
||||
@@ -1023,7 +1023,7 @@ static void write_out_type(gpointer key, gpointer value, gpointer data)
|
||||
char *lower;
|
||||
|
||||
lower = g_ascii_strdown(type->media, -1);
|
||||
- media = g_strconcat(mime_dir, "/", lower, NULL);
|
||||
+ media = g_strconcat(mime_dir, "/", lower, nullptr);
|
||||
g_free(lower);
|
||||
#ifdef _WIN32
|
||||
fs::create_directory(media);
|
||||
@@ -1032,7 +1032,7 @@ static void write_out_type(gpointer key, gpointer value, gpointer data)
|
||||
#endif
|
||||
|
||||
lower = g_ascii_strdown(type->subtype, -1);
|
||||
- filename = g_strconcat(media, "/", lower, ".xml.new", NULL);
|
||||
+ filename = g_strconcat(media, "/", lower, ".xml.new", nullptr);
|
||||
g_free(lower);
|
||||
g_free(media);
|
||||
media = NULL;
|
||||
@@ -1622,7 +1622,7 @@ static Magic *magic_new(xmlNode *node, Type *type, GError **error)
|
||||
magic_free(magic);
|
||||
magic = NULL;
|
||||
(*error)->message = g_strconcat(
|
||||
- _("Error in <match> element: "), old, NULL);
|
||||
+ _("Error in <match> element: "), old, nullptr);
|
||||
g_free(old);
|
||||
} else if (magic->matches == NULL) {
|
||||
magic_free(magic);
|
||||
@@ -1843,7 +1843,7 @@ static TreeMagic *tree_magic_new(xmlNode *node, Type *type, GError **error)
|
||||
tree_magic_free(magic);
|
||||
magic = NULL;
|
||||
(*error)->message = g_strconcat(
|
||||
- _("Error in <treematch> element: "), old, NULL);
|
||||
+ _("Error in <treematch> element: "), old, nullptr);
|
||||
g_free(old);
|
||||
}
|
||||
}
|
||||
@@ -1960,7 +1960,7 @@ static void delete_old_types(const gchar *mime_dir)
|
||||
|
||||
for (i = 0; i < G_N_ELEMENTS(media_types); i++)
|
||||
{
|
||||
- const fs::path media_dir = g_strconcat(mime_dir, "/", media_types[i], NULL);
|
||||
+ const fs::path media_dir = g_strconcat(mime_dir, "/", media_types[i], nullptr);
|
||||
|
||||
if (!fs::is_directory(fs::status(media_dir)))
|
||||
continue;
|
||||
@@ -1973,13 +1973,13 @@ static void delete_old_types(const gchar *mime_dir)
|
||||
continue;
|
||||
|
||||
char *type_name = g_strconcat(media_types[i], "/",
|
||||
- dir_entry.path().filename().string().c_str(), NULL);
|
||||
+ dir_entry.path().filename().string().c_str(), nullptr);
|
||||
type_name[strlen(type_name) - 4] = '\0';
|
||||
if (!g_hash_table_lookup(types, type_name))
|
||||
{
|
||||
char *path;
|
||||
path = g_strconcat(mime_dir, "/",
|
||||
- type_name, ".xml", NULL);
|
||||
+ type_name, ".xml", nullptr);
|
||||
#if 0
|
||||
g_warning("Removing old info for type %s",
|
||||
path);
|
||||
@@ -2002,7 +2002,7 @@ static void add_ns(gpointer key, gpointer value, gpointer data)
|
||||
Type *type = (Type *) value;
|
||||
|
||||
g_ptr_array_add(lines, g_strconcat(ns, " ", type->media,
|
||||
- "/", type->subtype, "\n", NULL));
|
||||
+ "/", type->subtype, "\n", nullptr));
|
||||
}
|
||||
|
||||
/* Write all the collected namespace rules to 'XMLnamespaces' */
|
||||
@@ -2038,7 +2038,7 @@ static void write_subclass(gpointer key, gpointer value, gpointer data)
|
||||
|
||||
for (l = list; l; l = l->next)
|
||||
{
|
||||
- line = g_strconcat (static_cast<const gchar *>(key), " ", l->data, "\n", NULL);
|
||||
+ line = g_strconcat (static_cast<const gchar *>(key), " ", l->data, "\n", nullptr);
|
||||
fwrite(line, 1, strlen(line), stream);
|
||||
g_free (line);
|
||||
}
|
||||
@@ -2061,7 +2061,7 @@ static void add_alias(gpointer key, gpointer value, gpointer data)
|
||||
|
||||
g_ptr_array_add(lines, g_strconcat(alias, " ", type->media,
|
||||
"/", type->subtype, "\n",
|
||||
- NULL));
|
||||
+ nullptr));
|
||||
}
|
||||
|
||||
/* Write all the collected aliases */
|
||||
@@ -2092,7 +2092,7 @@ static void add_type(gpointer key, gpointer value, gpointer data)
|
||||
{
|
||||
GPtrArray *lines = (GPtrArray *) data;
|
||||
|
||||
- g_ptr_array_add(lines, g_strconcat((char *)key, "\n", NULL));
|
||||
+ g_ptr_array_add(lines, g_strconcat((char *)key, "\n", nullptr));
|
||||
}
|
||||
|
||||
/* Write all the collected types */
|
||||
@@ -2127,7 +2127,7 @@ static void write_one_icon(gpointer key, gpointer value, gpointer data)
|
||||
FILE *stream = (FILE *)data;
|
||||
char *line;
|
||||
|
||||
- line = g_strconcat (mimetype, ":", iconname, "\n", NULL);
|
||||
+ line = g_strconcat (mimetype, ":", iconname, "\n", nullptr);
|
||||
fwrite(line, 1, strlen(line), stream);
|
||||
g_free (line);
|
||||
}
|
||||
@@ -2168,7 +2168,7 @@ static void check_in_path_xdg_data(const char *mime_path)
|
||||
dirs[n] = g_strdup(env);
|
||||
else
|
||||
dirs[n] = g_build_filename(g_get_home_dir(), ".local",
|
||||
- "share", NULL);
|
||||
+ "share", nullptr);
|
||||
n++;
|
||||
|
||||
for (i = 0; i < n; i++)
|
||||
@@ -3588,7 +3588,7 @@ newest_mtime(const char *packagedir)
|
||||
while ((name = g_dir_read_name(dir))) {
|
||||
char *path;
|
||||
|
||||
- path = g_build_filename(packagedir, name, NULL);
|
||||
+ path = g_build_filename(packagedir, name, nullptr);
|
||||
retval = g_stat(path, &statbuf);
|
||||
g_free(path);
|
||||
if (retval < 0)
|
||||
@@ -3609,7 +3609,7 @@ is_cache_up_to_date (const char *mimedir, const char *packagedir)
|
||||
char *mimeversion;
|
||||
int retval;
|
||||
|
||||
- mimeversion = g_build_filename(mimedir, "/version", NULL);
|
||||
+ mimeversion = g_build_filename(mimedir, "/version", nullptr);
|
||||
retval = g_stat(mimeversion, &version_stat);
|
||||
g_free(mimeversion);
|
||||
if (retval < 0)
|
||||
@@ -3694,7 +3694,7 @@ int main(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
- package_dir = g_strconcat(mime_dir, "/packages", NULL);
|
||||
+ package_dir = g_strconcat(mime_dir, "/packages", nullptr);
|
||||
|
||||
if (!fs::exists(mime_dir) && !fs::is_directory(fs::status(mime_dir)))
|
||||
{
|
||||
@@ -3747,7 +3747,7 @@ int main(int argc, char **argv)
|
||||
|
||||
g_hash_table_foreach(globs_hash, collect_glob2, &glob_list);
|
||||
glob_list = g_list_sort(glob_list, (GCompareFunc)compare_glob_by_weight);
|
||||
- globs_path = g_strconcat(mime_dir, "/globs.new", NULL);
|
||||
+ globs_path = g_strconcat(mime_dir, "/globs.new", nullptr);
|
||||
globs = fopen_gerror(globs_path, error);
|
||||
if (!globs)
|
||||
goto out;
|
||||
@@ -3761,7 +3761,7 @@ int main(int argc, char **argv)
|
||||
goto out;
|
||||
g_free(globs_path);
|
||||
|
||||
- globs_path = g_strconcat(mime_dir, "/globs2.new", NULL);
|
||||
+ globs_path = g_strconcat(mime_dir, "/globs2.new", nullptr);
|
||||
globs = fopen_gerror(globs_path, error);
|
||||
if (!globs)
|
||||
goto out;
|
||||
@@ -3782,7 +3782,7 @@ int main(int argc, char **argv)
|
||||
FILE *stream;
|
||||
char *magic_path;
|
||||
int i;
|
||||
- magic_path = g_strconcat(mime_dir, "/magic.new", NULL);
|
||||
+ magic_path = g_strconcat(mime_dir, "/magic.new", nullptr);
|
||||
stream = fopen_gerror(magic_path, error);
|
||||
if (!stream)
|
||||
goto out;
|
||||
@@ -3807,7 +3807,7 @@ int main(int argc, char **argv)
|
||||
FILE *stream;
|
||||
char *ns_path;
|
||||
|
||||
- ns_path = g_strconcat(mime_dir, "/XMLnamespaces.new", NULL);
|
||||
+ ns_path = g_strconcat(mime_dir, "/XMLnamespaces.new", nullptr);
|
||||
stream = fopen_gerror(ns_path, error);
|
||||
if (!stream)
|
||||
goto out;
|
||||
@@ -3823,7 +3823,7 @@ int main(int argc, char **argv)
|
||||
FILE *stream;
|
||||
char *path;
|
||||
|
||||
- path = g_strconcat(mime_dir, "/subclasses.new", NULL);
|
||||
+ path = g_strconcat(mime_dir, "/subclasses.new", nullptr);
|
||||
stream = fopen_gerror(path, error);
|
||||
if (!stream)
|
||||
goto out;
|
||||
@@ -3839,7 +3839,7 @@ int main(int argc, char **argv)
|
||||
FILE *stream;
|
||||
char *path;
|
||||
|
||||
- path = g_strconcat(mime_dir, "/aliases.new", NULL);
|
||||
+ path = g_strconcat(mime_dir, "/aliases.new", nullptr);
|
||||
stream = fopen_gerror(path, error);
|
||||
if (!stream)
|
||||
goto out;
|
||||
@@ -3855,7 +3855,7 @@ int main(int argc, char **argv)
|
||||
FILE *stream;
|
||||
char *path;
|
||||
|
||||
- path = g_strconcat(mime_dir, "/types.new", NULL);
|
||||
+ path = g_strconcat(mime_dir, "/types.new", nullptr);
|
||||
stream = fopen_gerror(path, error);
|
||||
if (!stream)
|
||||
goto out;
|
||||
@@ -3871,7 +3871,7 @@ int main(int argc, char **argv)
|
||||
FILE *stream;
|
||||
char *icon_path;
|
||||
|
||||
- icon_path = g_strconcat(mime_dir, "/generic-icons.new", NULL);
|
||||
+ icon_path = g_strconcat(mime_dir, "/generic-icons.new", nullptr);
|
||||
stream = fopen_gerror(icon_path, error);
|
||||
if (!stream)
|
||||
goto out;
|
||||
@@ -3887,7 +3887,7 @@ int main(int argc, char **argv)
|
||||
FILE *stream;
|
||||
char *icon_path;
|
||||
|
||||
- icon_path = g_strconcat(mime_dir, "/icons.new", NULL);
|
||||
+ icon_path = g_strconcat(mime_dir, "/icons.new", nullptr);
|
||||
stream = fopen_gerror(icon_path, error);
|
||||
if (!stream)
|
||||
goto out;
|
||||
@@ -3903,7 +3903,7 @@ int main(int argc, char **argv)
|
||||
FILE *stream;
|
||||
char *path;
|
||||
int i;
|
||||
- path = g_strconcat(mime_dir, "/treemagic.new", NULL);
|
||||
+ path = g_strconcat(mime_dir, "/treemagic.new", nullptr);
|
||||
stream = fopen_gerror(path, error);
|
||||
if (!stream)
|
||||
goto out;
|
||||
@@ -3928,7 +3928,7 @@ int main(int argc, char **argv)
|
||||
FILE *stream;
|
||||
char *path;
|
||||
|
||||
- path = g_strconcat(mime_dir, "/mime.cache.new", NULL);
|
||||
+ path = g_strconcat(mime_dir, "/mime.cache.new", nullptr);
|
||||
stream = fopen_gerror(path, error);
|
||||
if (!stream)
|
||||
goto out;
|
||||
@@ -3944,7 +3944,7 @@ int main(int argc, char **argv)
|
||||
FILE *stream;
|
||||
char *path;
|
||||
|
||||
- path = g_strconcat(mime_dir, "/version.new", NULL);
|
||||
+ path = g_strconcat(mime_dir, "/version.new", nullptr);
|
||||
stream = fopen_gerror(path, error);
|
||||
if (!stream)
|
||||
goto out;
|
||||
--
|
||||
GitLab
|
@ -0,0 +1,20 @@
|
||||
https://bugs.gentoo.org/917561
|
||||
https://gitlab.freedesktop.org/xdg/shared-mime-info/-/issues/219
|
||||
https://gitlab.freedesktop.org/xdg/shared-mime-info/-/commit/c918fe77e255150938e83a6aec259f153d303573
|
||||
|
||||
From c918fe77e255150938e83a6aec259f153d303573 Mon Sep 17 00:00:00 2001
|
||||
From: David Faure <faure@kde.org>
|
||||
Date: Sun, 19 Nov 2023 11:18:11 +0100
|
||||
Subject: [PATCH] Fix build with libxml2-2.12.0 and clang-17
|
||||
|
||||
Fixes #219
|
||||
--- a/src/test-subclassing.c
|
||||
+++ b/src/test-subclassing.c
|
||||
@@ -1,4 +1,5 @@
|
||||
#include <libxml/tree.h>
|
||||
+#include <libxml/parser.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
--
|
||||
GitLab
|
@ -4,4 +4,7 @@
|
||||
<maintainer type="project">
|
||||
<email>freedesktop-bugs@gentoo.org</email>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="freedesktop-gitlab">xdg/shared-mime-info</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -1,51 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
HASH=0ee50652091363ab0d17e335e5e74fbe # don't forget to update on version bumps
|
||||
inherit meson xdg-utils
|
||||
|
||||
DESCRIPTION="The Shared MIME-info Database specification"
|
||||
HOMEPAGE="https://gitlab.freedesktop.org/xdg/shared-mime-info"
|
||||
SRC_URI="https://gitlab.freedesktop.org/xdg/${PN}/uploads/${HASH}/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
|
||||
# requires installed xdgmime binary
|
||||
RESTRICT="test"
|
||||
|
||||
BDEPEND="
|
||||
app-text/docbook-xml-dtd:4.1.2
|
||||
app-text/xmlto
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
"
|
||||
RDEPEND="
|
||||
dev-libs/glib:2
|
||||
dev-libs/libxml2
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
DOCS=( HACKING.md NEWS README.md )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/shared-mime-info-2.1-itstool.patch"
|
||||
)
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# in prefix, install an env.d entry such that prefix patch is used/added
|
||||
if use prefix; then
|
||||
echo "XDG_DATA_DIRS=\"${EPREFIX}/usr/share\"" > "${T}"/50mimeinfo || die
|
||||
doenvd "${T}"/50mimeinfo
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use prefix && export XDG_DATA_DIRS="${EPREFIX}"/usr/share
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
@ -0,0 +1,93 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit meson toolchain-funcs xdg-utils
|
||||
|
||||
# Keep an eye on https://gitlab.freedesktop.org/xdg/xdgmime/-/merge_requests/25!
|
||||
# xdgmime is used for tests but doesn't make releases nowadays; do what
|
||||
# Fedora does and use a snapshot so we can run the test suite.
|
||||
MY_XDGMIME_COMMIT="92f6a09fda2b23c2ab95cede8eb0612ca96bd0f7"
|
||||
DESCRIPTION="The Shared MIME-info Database specification"
|
||||
HOMEPAGE="https://gitlab.freedesktop.org/xdg/shared-mime-info"
|
||||
SRC_URI="https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/${PV}/${P}.tar.gz"
|
||||
SRC_URI+=" test? ( https://gitlab.freedesktop.org/xdg/xdgmime/-/archive/${MY_XDGMIME_COMMIT}/xdgmime-${MY_XDGMIME_COMMIT}.tar.gz )"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/docbook-xml-dtd:4.1.2
|
||||
app-text/xmlto
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
"
|
||||
RDEPEND="
|
||||
dev-libs/glib:2
|
||||
dev-libs/libxml2
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
DOCS=( HACKING.md NEWS README.md )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if use test ; then
|
||||
# Drop empty dir (it's a submodule in upstream git repo)
|
||||
rm -r "${S}"/xdgmime || die
|
||||
# Lead Meson to our snapshot
|
||||
ln -s "${WORKDIR}"/xdgmime-${MY_XDGMIME_COMMIT} xdgmime || die
|
||||
# Don't break parallel make
|
||||
sed -i -e 's:make:$(MAKE):' xdgmime/Makefile || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# We have to trick Meson into thinking it's there now so that
|
||||
# we can run meson then emake to build xdgmime later, rather than
|
||||
# building before running meson which would mean doing something
|
||||
# unexpected in src_configure.
|
||||
if use test ; then
|
||||
# Paths from https://gitlab.freedesktop.org/xdg/shared-mime-info/-/blob/master/meson.build#L29
|
||||
touch xdgmime/src/{print,test}-mime{,-data} || die
|
||||
chmod +x xdgmime/src/{print,test}-mime{,-data} || die
|
||||
fi
|
||||
|
||||
local emesonargs=(
|
||||
-Dbuild-tools=true
|
||||
-Dupdate-mimedb=false
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use test ; then
|
||||
tc-export CC
|
||||
|
||||
# xdgmime only has a homebrew Makefile
|
||||
emake -C xdgmime
|
||||
fi
|
||||
|
||||
meson_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# in prefix, install an env.d entry such that prefix patch is used/added
|
||||
if use prefix; then
|
||||
echo "XDG_DATA_DIRS=\"${EPREFIX}/usr/share\"" > "${T}"/50mimeinfo || die
|
||||
doenvd "${T}"/50mimeinfo
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use prefix && export XDG_DATA_DIRS="${EPREFIX}"/usr/share
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
@ -0,0 +1,100 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit meson xdg-utils
|
||||
|
||||
# xdgmime is used for tests but doesn't make releases nowadays; do what
|
||||
# Fedora does and use a snapshot so we can run the test suite.
|
||||
MY_XDGMIME_COMMIT="179296748e92bd91bf531656632a1056307fb7b7"
|
||||
DESCRIPTION="The Shared MIME-info Database specification"
|
||||
HOMEPAGE="https://gitlab.freedesktop.org/xdg/shared-mime-info"
|
||||
SRC_URI="https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/${PV}/${P}.tar.bz2"
|
||||
SRC_URI+=" test? ( https://gitlab.freedesktop.org/xdg/xdgmime/-/archive/${MY_XDGMIME_COMMIT}/xdgmime-${MY_XDGMIME_COMMIT}.tar.bz2 )"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/docbook-xml-dtd:4.1.2
|
||||
app-text/xmlto
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
"
|
||||
RDEPEND="
|
||||
dev-libs/glib:2
|
||||
dev-libs/libxml2
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
DOCS=( HACKING.md NEWS README.md )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-clang-string-literal.patch
|
||||
"${FILESDIR}"/${P}-fsync-detection.patch
|
||||
"${FILESDIR}"/${P}-wformat.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if use test ; then
|
||||
# Drop empty dir (it's a submodule in upstream git repo)
|
||||
rm -r "${S}"/xdgmime || die
|
||||
# Lead Meson to our snapshot
|
||||
mkdir "${WORKDIR}"/xdgmime_build || die
|
||||
ln -s "${WORKDIR}"/xdgmime_build xdgmime || die
|
||||
# Don't break parallel make
|
||||
#sed -i -e 's:make:$(MAKE):' xdgmime/Makefile || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# We have to trick Meson into thinking it's there now so that
|
||||
# we can run meson then emake to build xdgmime later, rather than
|
||||
# building before running meson which would mean doing something
|
||||
# unexpected in src_configure.
|
||||
if use test ; then
|
||||
# Paths from https://gitlab.freedesktop.org/xdg/shared-mime-info/-/blob/master/meson.build#L29
|
||||
mkdir xdgmime/src || die
|
||||
touch xdgmime/src/{print,test}-mime{,-data} || die
|
||||
chmod +x xdgmime/src/{print,test}-mime{,-data} || die
|
||||
|
||||
BUILD_DIR="${WORKDIR}"/xdgmime_build EMESON_SOURCE="${WORKDIR}"/xdgmime-${MY_XDGMIME_COMMIT} meson_src_configure
|
||||
fi
|
||||
|
||||
local emesonargs=(
|
||||
-Dbuild-tools=true
|
||||
-Dupdate-mimedb=false
|
||||
$(meson_use test build-tests)
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use test ; then
|
||||
meson_src_compile -C "${WORKDIR}"/xdgmime_build
|
||||
fi
|
||||
|
||||
meson_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# in prefix, install an env.d entry such that prefix patch is used/added
|
||||
if use prefix; then
|
||||
echo "XDG_DATA_DIRS=\"${EPREFIX}/usr/share\"" > "${T}"/50mimeinfo || die
|
||||
doenvd "${T}"/50mimeinfo
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use prefix && export XDG_DATA_DIRS="${EPREFIX}"/usr/share
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
@ -0,0 +1,98 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit meson xdg-utils
|
||||
|
||||
# xdgmime is used for tests but doesn't make releases nowadays; do what
|
||||
# Fedora does and use a snapshot so we can run the test suite.
|
||||
MY_XDGMIME_COMMIT="179296748e92bd91bf531656632a1056307fb7b7"
|
||||
DESCRIPTION="The Shared MIME-info Database specification"
|
||||
HOMEPAGE="https://gitlab.freedesktop.org/xdg/shared-mime-info"
|
||||
SRC_URI="https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/${PV}/${P}.tar.bz2"
|
||||
SRC_URI+=" test? ( https://gitlab.freedesktop.org/xdg/xdgmime/-/archive/${MY_XDGMIME_COMMIT}/xdgmime-${MY_XDGMIME_COMMIT}.tar.bz2 )"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/docbook-xml-dtd:4.1.2
|
||||
app-text/xmlto
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
"
|
||||
RDEPEND="
|
||||
dev-libs/glib:2
|
||||
dev-libs/libxml2
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
DOCS=( HACKING.md NEWS README.md )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-libxml2.12.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if use test ; then
|
||||
# Drop empty dir (it's a submodule in upstream git repo)
|
||||
rm -r "${S}"/xdgmime || die
|
||||
# Lead Meson to our snapshot
|
||||
mkdir "${WORKDIR}"/xdgmime_build || die
|
||||
ln -s "${WORKDIR}"/xdgmime_build xdgmime || die
|
||||
# Don't break parallel make
|
||||
#sed -i -e 's:make:$(MAKE):' xdgmime/Makefile || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# We have to trick Meson into thinking it's there now so that
|
||||
# we can run meson then emake to build xdgmime later, rather than
|
||||
# building before running meson which would mean doing something
|
||||
# unexpected in src_configure.
|
||||
if use test ; then
|
||||
# Paths from https://gitlab.freedesktop.org/xdg/shared-mime-info/-/blob/master/meson.build#L29
|
||||
mkdir xdgmime/src || die
|
||||
touch xdgmime/src/{print,test}-mime{,-data} || die
|
||||
chmod +x xdgmime/src/{print,test}-mime{,-data} || die
|
||||
|
||||
BUILD_DIR="${WORKDIR}"/xdgmime_build EMESON_SOURCE="${WORKDIR}"/xdgmime-${MY_XDGMIME_COMMIT} meson_src_configure
|
||||
fi
|
||||
|
||||
local emesonargs=(
|
||||
-Dbuild-tools=true
|
||||
-Dupdate-mimedb=false
|
||||
$(meson_use test build-tests)
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use test ; then
|
||||
meson_src_compile -C "${WORKDIR}"/xdgmime_build
|
||||
fi
|
||||
|
||||
meson_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# in prefix, install an env.d entry such that prefix patch is used/added
|
||||
if use prefix; then
|
||||
echo "XDG_DATA_DIRS=\"${EPREFIX}/usr/share\"" > "${T}"/50mimeinfo || die
|
||||
doenvd "${T}"/50mimeinfo
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use prefix && export XDG_DATA_DIRS="${EPREFIX}"/usr/share
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
Loading…
Reference in New Issue
Block a user