papers/papers-48.7-lower-requirements.patch
Marek Kasik e16807b854 Rebase Papers to 48.7
Resolves: RHEL-86193
2025-12-12 18:45:52 +01:00

122 lines
4.6 KiB
Diff

--- papers-48.7/meson.build
+++ papers-48.7/meson.build
@@ -140,7 +140,7 @@ po_dir = join_paths(source_root, 'po')
top_inc = include_directories('.')
glib_req_version = '>= 2.75.0'
-gtk_req_version = '>= 4.17.1'
+gtk_req_version = '>= 4.16.7'
libaw_req_version = '>= 1.6'
exempi_req_version = '>= 2.0'
@@ -270,7 +270,7 @@ elif get_option('djvu').auto()
endif
# *** PDF ***
-poppler_req_version = '>= 25.01.0'
+poppler_req_version = '>= 24.02.0'
poppler_glib_dep = dependency('poppler-glib', version: poppler_req_version, required: get_option('pdf'))
enable_pdf = poppler_glib_dep.found()
--- papers-48.7/shell/resources/meson.build
+++ papers-48.7/shell/resources/meson.build
@@ -11,6 +11,6 @@ papers_resources = gnome.compile_resourc
source_dir: [data_dir, data_build_dir],
dependencies: metainfo_file,
gresource_bundle: true,
-)[0]
+)
-config_h.set_quoted('RESOURCES_FILE', papers_resources.full_path())
+config_h.set_quoted('RESOURCES_FILE', papers_resources[0].full_path())
--- papers-48.7/libdocument/backend/pdf/pps-poppler.c
+++ papers-48.7/libdocument/backend/pdf/pps-poppler.c
@@ -4058,20 +4058,24 @@ pps_backend_query_type (void)
static PopplerCertificateInfo *
find_poppler_certificate_info (PpsCertificateInfo *certificate_info)
{
- g_autolist (PopplerCertificateInfo) signing_certificates = NULL;
+ GList *signing_certificates = poppler_get_available_signing_certificates ();
+ PopplerCertificateInfo *ret = NULL;
g_autofree char *certificate_id = NULL;
- signing_certificates = poppler_get_available_signing_certificates ();
g_object_get (certificate_info, "id", &certificate_id, NULL);
for (GList *list = signing_certificates; list != NULL && list->data != NULL; list = list->next) {
PopplerCertificateInfo *certificate_info = list->data;
- if (g_strcmp0 (certificate_id, poppler_certificate_info_get_id (certificate_info)) == 0)
- return poppler_certificate_info_copy (certificate_info);
+ if (g_strcmp0 (certificate_id, poppler_certificate_info_get_id (certificate_info)) == 0) {
+ ret = poppler_certificate_info_copy (certificate_info);
+ break;
+ }
}
- return NULL;
+ g_clear_list (&signing_certificates, (GDestroyNotify) poppler_certificate_info_free);
+
+ return ret;
}
static void
@@ -4098,8 +4102,8 @@ pdf_document_signatures_sign (PpsDocumen
gpointer user_data)
{
PdfDocument *self = PDF_DOCUMENT (document);
- g_autoptr (PopplerSigningData) signing_data = poppler_signing_data_new ();
- g_autoptr (PopplerCertificateInfo) cert_info = NULL;
+ PopplerSigningData *signing_data = poppler_signing_data_new ();
+ PopplerCertificateInfo *cert_info;
g_autoptr (PpsCertificateInfo) cinfo = NULL;
g_autoptr (GTask) task = NULL;
g_autofree gchar *uuid = NULL;
@@ -4212,7 +4216,7 @@ pdf_document_set_password_callback (PpsD
static GList *
pdf_document_get_available_signing_certificates (PpsDocumentSignatures *document)
{
- g_autolist (PopplerCertificateInfo) signing_certs = poppler_get_available_signing_certificates ();
+ GList *signing_certs = poppler_get_available_signing_certificates ();
GList *ev_certs = NULL;
for (GList *list = signing_certs; list != NULL && list->data != NULL; list = list->next) {
@@ -4225,6 +4229,8 @@ pdf_document_get_available_signing_certi
ev_certs = g_list_append (ev_certs, cert_info);
}
+ g_clear_list (&signing_certs, (GDestroyNotify) poppler_certificate_info_free);
+
return ev_certs;
}
@@ -4275,7 +4275,7 @@ pdf_document_signatures_get_signatures (
for (iter = signature_fields; iter != NULL; iter = iter->next) {
PopplerFormField *field = iter->data;
- g_autoptr (PopplerSignatureInfo) info = NULL;
+ PopplerSignatureInfo *info = NULL;
PpsSignature *signature = NULL;
PpsSignatureStatus signature_status;
PpsCertificateStatus certificate_status;
@@ -4291,8 +4291,10 @@ pdf_document_signatures_get_signatures (
POPPLER_SIGNATURE_VALIDATION_FLAG_USE_AIA_CERTIFICATE_FETCH,
NULL,
NULL);
- if (info == NULL || poppler_signature_info_get_certificate_info (info) == NULL)
+ if (info == NULL || poppler_signature_info_get_certificate_info (info) == NULL) {
+ poppler_signature_info_free (info);
continue;
+ }
switch (poppler_signature_info_get_signature_status (info)) {
case POPPLER_SIGNATURE_VALID:
@@ -4368,6 +4370,7 @@ pdf_document_signatures_get_signatures (
} else {
g_warning ("Could not get certificate info for a signature!");
}
+ poppler_signature_info_free (info);
}
g_clear_list (&signature_fields, g_object_unref);