gnu: Add polkit-duktape.
* gnu/packages/polkit.scm (polkit): Disable a JavaScript related test, somehow triggered in the polkit-duktape build. (polkit-duktape): New variable. * gnu/packages/patches/polkit-use-duktape.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it.
This commit is contained in:
		
							parent
							
								
									b79d93ca33
								
							
						
					
					
						commit
						f19ea27ad0
					
				
					 3 changed files with 5074 additions and 2 deletions
				
			
		| 
						 | 
					@ -1621,6 +1621,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/plib-CVE-2011-4620.patch		\
 | 
					  %D%/packages/patches/plib-CVE-2011-4620.patch		\
 | 
				
			||||||
  %D%/packages/patches/plib-CVE-2012-4552.patch		\
 | 
					  %D%/packages/patches/plib-CVE-2012-4552.patch		\
 | 
				
			||||||
  %D%/packages/patches/plotutils-spline-test.patch		\
 | 
					  %D%/packages/patches/plotutils-spline-test.patch		\
 | 
				
			||||||
 | 
					  %D%/packages/patches/polkit-use-duktape.patch			\
 | 
				
			||||||
  %D%/packages/patches/portaudio-audacity-compat.patch		\
 | 
					  %D%/packages/patches/portaudio-audacity-compat.patch		\
 | 
				
			||||||
  %D%/packages/patches/portmidi-modular-build.patch		\
 | 
					  %D%/packages/patches/portmidi-modular-build.patch		\
 | 
				
			||||||
  %D%/packages/patches/postgresql-disable-resolve_symlinks.patch	\
 | 
					  %D%/packages/patches/postgresql-disable-resolve_symlinks.patch	\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										5030
									
								
								gnu/packages/patches/polkit-use-duktape.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5030
									
								
								gnu/packages/patches/polkit-use-duktape.patch
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -8,6 +8,7 @@
 | 
				
			||||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 | 
					;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 | 
				
			||||||
;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
 | 
					;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -28,14 +29,18 @@
 | 
				
			||||||
  #:use-module ((guix licenses) #:select (lgpl2.0+))
 | 
					  #:use-module ((guix licenses) #:select (lgpl2.0+))
 | 
				
			||||||
  #:use-module (guix packages)
 | 
					  #:use-module (guix packages)
 | 
				
			||||||
  #:use-module (guix download)
 | 
					  #:use-module (guix download)
 | 
				
			||||||
 | 
					  #:use-module (guix utils)
 | 
				
			||||||
 | 
					  #:use-module (guix build utils)
 | 
				
			||||||
  #:use-module (guix build-system cmake)
 | 
					  #:use-module (guix build-system cmake)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
  #:use-module (gnu packages)
 | 
					  #:use-module (gnu packages)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages autotools)
 | 
				
			||||||
  #:use-module (gnu packages freedesktop)
 | 
					  #:use-module (gnu packages freedesktop)
 | 
				
			||||||
  #:use-module (gnu packages glib)
 | 
					  #:use-module (gnu packages glib)
 | 
				
			||||||
  #:use-module (gnu packages gtk)
 | 
					  #:use-module (gnu packages gtk)
 | 
				
			||||||
  #:use-module (gnu packages docbook)
 | 
					  #:use-module (gnu packages docbook)
 | 
				
			||||||
  #:use-module (gnu packages gnuzilla)
 | 
					  #:use-module (gnu packages gnuzilla)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages javascript)
 | 
				
			||||||
  #:use-module (gnu packages linux)
 | 
					  #:use-module (gnu packages linux)
 | 
				
			||||||
  #:use-module (gnu packages nss)
 | 
					  #:use-module (gnu packages nss)
 | 
				
			||||||
  #:use-module (gnu packages perl)
 | 
					  #:use-module (gnu packages perl)
 | 
				
			||||||
| 
						 | 
					@ -63,8 +68,14 @@
 | 
				
			||||||
                 (substitute* "test/Makefile.in"
 | 
					                 (substitute* "test/Makefile.in"
 | 
				
			||||||
                   (("SUBDIRS = mocklibc . polkit polkitbackend")
 | 
					                   (("SUBDIRS = mocklibc . polkit polkitbackend")
 | 
				
			||||||
                    "SUBDIRS = mocklibc . polkit"))
 | 
					                    "SUBDIRS = mocklibc . polkit"))
 | 
				
			||||||
                 ;; Guix System's polkit service stores actions under
 | 
					                 ;; Disable a test that requires Python, D-Bus and a few
 | 
				
			||||||
                 ;; /etc/polkit-1/actions.
 | 
					                 ;; libraries and fails with "ERROR: timed out waiting for bus
 | 
				
			||||||
 | 
					                 ;; process to terminate".
 | 
				
			||||||
 | 
					                 (substitute* "test/polkitbackend/Makefile.am"
 | 
				
			||||||
 | 
					                   (("TEST_PROGS \\+= polkitbackendjsauthoritytest-wrapper.py")
 | 
				
			||||||
 | 
					                    ""))
 | 
				
			||||||
 | 
					                 ;; Guix System's polkit
 | 
				
			||||||
 | 
					                 ;; service stores actions under /etc/polkit-1/actions.
 | 
				
			||||||
                 (substitute* "src/polkitbackend/polkitbackendinteractiveauthority.c"
 | 
					                 (substitute* "src/polkitbackend/polkitbackendinteractiveauthority.c"
 | 
				
			||||||
                   (("PACKAGE_DATA_DIR \"/polkit-1/actions\"")
 | 
					                   (("PACKAGE_DATA_DIR \"/polkit-1/actions\"")
 | 
				
			||||||
                    "PACKAGE_SYSCONF_DIR \"/polkit-1/actions\""))
 | 
					                    "PACKAGE_SYSCONF_DIR \"/polkit-1/actions\""))
 | 
				
			||||||
| 
						 | 
					@ -136,6 +147,36 @@ making process with respect to granting access to privileged operations
 | 
				
			||||||
for unprivileged applications.")
 | 
					for unprivileged applications.")
 | 
				
			||||||
    (license lgpl2.0+)))
 | 
					    (license lgpl2.0+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;;; Variant of polkit built with Duktape, a lighter JavaScript engine compared
 | 
				
			||||||
 | 
					;;; to mozjs.
 | 
				
			||||||
 | 
					(define-public polkit-duktape
 | 
				
			||||||
 | 
					  (package/inherit polkit
 | 
				
			||||||
 | 
					    (name "polkit-duktape")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (inherit (package-source polkit))
 | 
				
			||||||
 | 
					       (patches
 | 
				
			||||||
 | 
					        (append
 | 
				
			||||||
 | 
					            (search-patches "polkit-use-duktape.patch")
 | 
				
			||||||
 | 
					            (origin-patches (package-source polkit))))))
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     (substitute-keyword-arguments (package-arguments polkit)
 | 
				
			||||||
 | 
					       ((#:configure-flags flags)
 | 
				
			||||||
 | 
					        `(cons "--with-duktape" ,flags))
 | 
				
			||||||
 | 
					       ((#:phases phases)
 | 
				
			||||||
 | 
					        `(modify-phases ,phases
 | 
				
			||||||
 | 
					           (add-after 'unpack 'force-gnu-build-system-bootstrap
 | 
				
			||||||
 | 
					             (lambda _
 | 
				
			||||||
 | 
					               (delete-file "configure")))))))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     (append `(("autoconf" ,autoconf)
 | 
				
			||||||
 | 
					               ("automake" ,automake)
 | 
				
			||||||
 | 
					               ("libtool" ,libtool)
 | 
				
			||||||
 | 
					               ("pkg-config" ,pkg-config))
 | 
				
			||||||
 | 
					         (package-native-inputs polkit)))
 | 
				
			||||||
 | 
					    (inputs (alist-replace "mozjs" `(,duktape)
 | 
				
			||||||
 | 
					                           (package-inputs polkit)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public polkit-qt
 | 
					(define-public polkit-qt
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "polkit-qt")
 | 
					    (name "polkit-qt")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue