[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#60826] [PATCH v2] gnu: shared-mime-info: Update to 2.2.
From: |
Bruno Victal |
Subject: |
[bug#60826] [PATCH v2] gnu: shared-mime-info: Update to 2.2. |
Date: |
Sat, 17 Jun 2023 02:26:23 +0100 |
* gnu/packages/gnome.scm (shared-mime-info): Update to 2.2.
[source]: Switch to git source. Patch xdgmime location.
[build-system]: Switch to meson.
[arguments]: Enable parallel builds. Do not patch test files.
[native-inputs]: Switch to new style. Add python, xmlto,
docbook-xml-4.1.2 and docbook-xsl.
(xdgmime): New variable.
---
Notable changes since v1:
* Rebased against gnome-team.
(this package should probably be relocated to freedesktop.scm instead)
* Refactored package definition. (the testsuite now works!)
* Removed nonsense comments present in v1. (leftovers from squashing?)
gnu/packages/gnome.scm | 92 ++++++++++++++++++++++++++++++++++++------
1 file changed, 79 insertions(+), 13 deletions(-)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6db2d6569e..58d0e25c1d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -73,6 +73,7 @@
;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com>
;;; Copyright © 2022 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se>
+;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
;;; Copyright © 2023 Juliana Sims <juli@incana.org>
;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw>
@@ -2913,29 +2914,94 @@ (define-public tango-icon-theme
guidelines.")
(license license:public-domain)))
+;; Private package used by shared-mime-info.
+(define xdgmime
+ ;; No public release, match commit to the one used in the
+ ;; shared-mime-info release.
+ (let ((commit "de283fc430460b9b3a7e61432a6d273cd64cb102")
+ (revision "1"))
+ (package
+ (name "xdgmime")
+ ;; set version to 0.0 and change commit instead
+ (version (git-version "0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.freedesktop.org/xdg/xdgmime.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0m9k7nfxgchb9j0xh9cwsldz6564qisqdkvlhgkcgc0grd4nfbn9"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(substitute* "src/Makefile"
+ (("all: (.+)$" all targets)
+ (format #f "~a
+install: ~a
+~/install -Dm755 -t $(DESTDIR)/bin $^~%" all targets))))))
+ (arguments
+ (list
+ #:tests? #f ; no tests
+ #:make-flags #~(list (string-append "DESTDIR=" #$output)
+ #$(string-append "CC=" (cc-for-target)))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Package uses a hand-crafted Makefile.
+ (delete 'configure)
+ ;; Use the patched install rule in src/Makefile.
+ (add-before 'install 'change-directory
+ (lambda _
+ (chdir "src"))))))
+ (build-system gnu-build-system)
+ (home-page "https://gitlab.freedesktop.org/xdg/xdgmime/")
+ (synopsis "Module that parses the freedesktop.org MIME spec")
+ (description "This module is used for shared-mime-info package tests.")
+ (license (list license:lgpl2.1+ license:artistic2.0)))))
+
(define-public shared-mime-info
(package
(name "shared-mime-info")
- (version "1.15")
+ (version "2.2")
(source (origin
- (method url-fetch)
- (uri (string-append
-
"https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/"
- "b27eb88e4155d8fccb8bb3cd12025d5b/shared-mime-info-" version
- ".tar.xz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url
"https://gitlab.freedesktop.org/xdg/shared-mime-info.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "146vynj78wcwdq0ms52jzm1r4m6dzi1rhyh3h4xyb6bw8ckv10pl"))))
- (build-system gnu-build-system)
+ "04dfnnflspprxg7qia3whz1754lfvgi4ihvmihg379936zy5xd22"))
+ (modules '((guix build utils)))
+ ;; Override the suffix assumed by meson.build.
+ (snippet
+ #~(substitute* "meson.build"
+ (("^(xdgmime = get_option\\('xdgmime-path'\\)) / 'src'"
+ _ stem)
+ stem)))))
(arguments
- ;; The build system appears not to be parallel-safe.
- '(#:parallel-build? #f))
+ (list
+ #:configure-flags
+ #~(list (string-append "-Dxdgmime-path="
+ #$(this-package-native-input "xdgmime")
+ "/bin"))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Don't patch shebangs for the test files.
+ (replace 'patch-source-shebangs
+ (lambda* (#:key source #:allow-other-keys)
+ (let ((pred (lambda (file stat)
+ (and (eq? 'regular (stat:type stat))
+ (not (string-prefix? "./tests/mime-detection"
+ file))))))
+ (for-each patch-shebang
+ (find-files "." pred #:stat lstat))))))))
+ (build-system meson-build-system)
(inputs
(list glib libxml2))
(native-inputs
- `(("gettext" ,gettext-minimal)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)))
+ (list gettext-minimal itstool pkg-config python xmlto
+ docbook-xml-4.1.2 docbook-xsl xdgmime))
(home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
(synopsis "Database of common MIME types")
(description
base-commit: 909788c0aebd8098084c009afa98d1209c9ec869
--
2.39.2
- [bug#60826] [PATCH v2] gnu: shared-mime-info: Update to 2.2.,
Bruno Victal <=