diff options
author | Marius Bakke <marius@gnu.org> | 2022-07-20 02:41:31 +0200 |
---|---|---|
committer | Marius Bakke <marius@gnu.org> | 2022-07-23 19:43:10 +0200 |
commit | 57d5e06ef6941d9b05aebc0d01873d8a89883b09 (patch) | |
tree | 448fa8eea914aa9ce2e1e0220fe5b17e6de11239 /gnu/packages | |
parent | c84fa7a253b3405f8f29e79ac65546eea2562641 (diff) |
gnu: libpaper: Update to 1.2.2.
* gnu/packages/ghostscript.scm (libpaper): Update to 1.2.2.
[source](patches): Remove.
* gnu/packages/patches/libpaper-free-systempapername.patch,
gnu/packages/patches/libpaper-free-xdg-config-home.patch,
gnu/packages/patches/libpaper-invalid-paperspecs.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/ghostscript.scm | 7 | ||||
-rw-r--r-- | gnu/packages/patches/libpaper-free-systempapername.patch | 38 | ||||
-rw-r--r-- | gnu/packages/patches/libpaper-free-xdg-config-home.patch | 37 | ||||
-rw-r--r-- | gnu/packages/patches/libpaper-invalid-paperspecs.patch | 97 |
4 files changed, 2 insertions, 177 deletions
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 8fc91be16d..ee6700747e 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -77,18 +77,15 @@ Consortium standard (ICC), approved as ISO 15076-1.") (define-public libpaper (package (name "libpaper") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/rrthomas/libpaper/releases" "/download/v" version "/libpaper-" version ".tar.gz")) - (patches (search-patches "libpaper-free-xdg-config-home.patch" - "libpaper-free-systempapername.patch" - "libpaper-invalid-paperspecs.patch")) (sha256 (base32 - "18m1yas7lihlyaxr0vpgy65bq9ri429wrm4sfxyhd5gj88gn16lr")))) + "0lixfgmdbna6gflsgp05d09zygrqi1ip5hsg0p33lh7ndjf6v5ma")))) (build-system gnu-build-system) (native-inputs (list help2man)) diff --git a/gnu/packages/patches/libpaper-free-systempapername.patch b/gnu/packages/patches/libpaper-free-systempapername.patch deleted file mode 100644 index 12fea8ee10..0000000000 --- a/gnu/packages/patches/libpaper-free-systempapername.patch +++ /dev/null @@ -1,38 +0,0 @@ -Ensure backwards compatibility with libpaper 1.1 by returning a value that -must be free()'d. - -Taken from upstream: - - https://github.com/rrthomas/libpaper/commit/9a4f7cdd6b749fd9d08ec92b6e3b434f7d322b6d - -diff --git a/lib/libpaper.c.in.in b/lib/libpaper.c.in.in -index aa86d06..19e3332 100644 ---- a/lib/libpaper.c.in.in -+++ b/lib/libpaper.c.in.in -@@ -316,9 +316,9 @@ const char *defaultpapername(void) { - return paperstr; - } - --/* Alias for defaultpapername. */ -+/* Alias for defaultpapername; its return value must be freed! */ - const char *systempapername(void) { -- return defaultpapername(); -+ return strdup(defaultpapername()); - } - - /* Get the default paper size. */ -diff --git a/lib/paper.h b/lib/paper.h -index c940bed..fe5d4be 100644 ---- a/lib/paper.h -+++ b/lib/paper.h -@@ -123,8 +123,8 @@ const struct paper *defaultpaper(void); - const char *defaultpapername(void); - - /* -- * Deprecated, only for backwards compatibility; an alias for -- * defaultpapername(). -+ * Deprecated, only for backwards compatibility; does the same as -+ * defaultpapername(), but returns a value that must be freed. - */ - const char *systempapername(void); - diff --git a/gnu/packages/patches/libpaper-free-xdg-config-home.patch b/gnu/packages/patches/libpaper-free-xdg-config-home.patch deleted file mode 100644 index 79c3d8173d..0000000000 --- a/gnu/packages/patches/libpaper-free-xdg-config-home.patch +++ /dev/null @@ -1,37 +0,0 @@ -Free the xdg_config_home_variable only when needed. - -Taken from upstream: - - https://github.com/rrthomas/libpaper/commit/29e3e3800cfea738f12a9760290b92d5c199092b - -diff --git a/lib/libpaper.c.in.in b/lib/libpaper.c.in.in -index f7af1d7..aa86d06 100644 ---- a/lib/libpaper.c.in.in -+++ b/lib/libpaper.c.in.in -@@ -295,7 +295,6 @@ const char *defaultpapername(void) { - - const char *paperstr = getenv("PAPERSIZE"); - if (paperstr == NULL && xdg_config_home != NULL) { -- free_xdg_config_home = true; - char *papersize = mfile_name_concat(xdg_config_home, PAPERSIZE_FILENAME, NULL); - if (papersize != NULL) { - paperstr = papernamefile(papersize); -@@ -374,6 +373,7 @@ int paperinit(void) - xdg_config_home = getenv("XDG_CONFIG_HOME"); - if (xdg_config_home == NULL) { - char *home = getenv("HOME"); -+ free_xdg_config_home = true; - xdg_config_home = mfile_name_concat(home, ".config", NULL); - if (xdg_config_home == NULL) - return PAPER_NOMEM; -@@ -409,8 +409,10 @@ int paperdone(void) - { - if (initialized) { - free(sysconfdir); -+ sysconfdir = NULL; - if (free_xdg_config_home) - free(xdg_config_home); -+ xdg_config_home = NULL; - initialized = false; - } - return PAPER_OK; diff --git a/gnu/packages/patches/libpaper-invalid-paperspecs.patch b/gnu/packages/patches/libpaper-invalid-paperspecs.patch deleted file mode 100644 index 29f1ca64a3..0000000000 --- a/gnu/packages/patches/libpaper-invalid-paperspecs.patch +++ /dev/null @@ -1,97 +0,0 @@ -Handle invalid paper specifications. - -Taken from upstream: - - https://github.com/rrthomas/libpaper/commit/24bcaa54e2813683404e3e13a4fedd47f3e4d614 - -diff --git a/lib/libpaper.c.in.in b/lib/libpaper.c.in.in -index 19e3332..c68a936 100644 ---- a/lib/libpaper.c.in.in -+++ b/lib/libpaper.c.in.in -@@ -164,10 +164,8 @@ const struct paper *papernext(const struct paper *paper) - } - - /* Constructor. */ --static int readspecs(struct paper **papers_list, const char *specsfile, struct paper **last) { -- paper_lineno = 0; -- free(paper_specsfile); -- paper_specsfile = strdup(specsfile); -+static int readspecs(struct paper **papers_list, const char *specsfile, struct paper **last, size_t *lineno) { -+ *lineno = 0; - char *old_locale = setlocale(LC_ALL, NULL); - if (old_locale != NULL) - old_locale = strdup(old_locale); -@@ -178,7 +176,7 @@ static int readspecs(struct paper **papers_list, const char *specsfile, struct p - struct paper *prev = *papers_list, *p; - size_t n; - char *l; -- for (paper_lineno = 1, l = NULL; getline(&l, &n, ps) > 0; prev = p, paper_lineno++) { -+ for (*lineno = 1, l = NULL; getline(&l, &n, ps) > 0; prev = p, (*lineno)++) { - char *saveptr; - char *name = gettok(l, &saveptr); - char *wstr = gettok(NULL, &saveptr), *hstr = gettok(NULL, &saveptr); -@@ -350,6 +348,8 @@ int paperinit(void) - return PAPER_OK; - initialized = true; - -+ int ret = PAPER_OK; -+ - /* Read system paperspecs. */ - struct paper *system_papers = NULL; - sysconfdir = alloc_relocate("@sysconfdir@"); -@@ -357,12 +357,9 @@ int paperinit(void) - char *system_paperspecs = mfile_name_concat(sysconfdir, PAPERSPECS_FILENAME, NULL); - if (system_paperspecs == NULL) - return PAPER_NOMEM; -- int ret = readspecs(&system_papers, system_paperspecs, NULL); -- free(system_paperspecs); -- if (ret != PAPER_OK) { -- paperdone(); -- return ret; -- } -+ ret = readspecs(&system_papers, system_paperspecs, NULL, &paper_lineno); -+ free(paper_specsfile); -+ paper_specsfile = system_paperspecs; - } - - /* Set default paper to first system paper, if any. */ -@@ -381,11 +378,15 @@ int paperinit(void) - char *user_paperspecs = mfile_name_concat(xdg_config_home, PAPERSPECS_FILENAME, NULL); - struct paper *last_paper = NULL; - if (user_paperspecs != NULL) { -- int ret = readspecs(&papers, user_paperspecs, &last_paper); -- free(user_paperspecs); -- if (ret != PAPER_OK) { -- paperdone(); -- return ret; -+ size_t user_lineno; -+ int user_ret = readspecs(&papers, user_paperspecs, &last_paper, &user_lineno); -+ if (ret == PAPER_OK) { -+ ret = user_ret; -+ free(user_paperspecs); -+ } else if (paper_lineno == 0) { -+ free(paper_specsfile); -+ paper_specsfile = user_paperspecs; -+ paper_lineno = user_lineno; - } - } - -@@ -395,13 +396,16 @@ int paperinit(void) - default_paper = papers; - - /* Concatenate system papers to user papers. */ -- last_paper->next = system_papers; -+ if (last_paper != NULL) -+ last_paper->next = system_papers; -+ else -+ last_paper = system_papers; - } - - if (papers == NULL) /* System papers are all we have. */ - papers = system_papers; - -- return PAPER_OK; -+ return ret; - } - - /* Shut down the library. */ |