gnu: xsettingsd: Use cmake-build-system.
* gnu/packages/xdisorg.scm (xsettingsd) [build-system]: Use cmake-build-system. [arguments]: Remove #:scons and #:scons-flags arguments. Add #:configure-flags argument. Remove patch-sconstruct and install phases. Add disable-problematic-tests phase. [native-inputs]: Remove googletest-source; drop labels.
This commit is contained in:
		
							parent
							
								
									22a79d0137
								
							
						
					
					
						commit
						a8c283ce69
					
				
					 1 changed files with 13 additions and 46 deletions
				
			
		| 
						 | 
					@ -42,7 +42,7 @@
 | 
				
			||||||
;;; Copyright © 2020 James Smith <jsubuntuxp@disroot.org>
 | 
					;;; Copyright © 2020 James Smith <jsubuntuxp@disroot.org>
 | 
				
			||||||
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
 | 
					;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
 | 
				
			||||||
;;; Copyright © 2020, 2021 Zheng Junjie <873216071@qq.com>
 | 
					;;; Copyright © 2020, 2021 Zheng Junjie <873216071@qq.com>
 | 
				
			||||||
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
					;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
				
			||||||
;;; Copyright © 2021, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
					;;; Copyright © 2021, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
				
			||||||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
 | 
					;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
 | 
				
			||||||
;;; Copyright © 2021 Renzo Poddighe <renzo@poddighe.nl>
 | 
					;;; Copyright © 2021 Renzo Poddighe <renzo@poddighe.nl>
 | 
				
			||||||
| 
						 | 
					@ -2814,52 +2814,19 @@ Xwrits hides itself until you should take another break.")
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "14gnkz18dipsa2v24f4nm9syxaa7g21iqjm7y65jn849ka2jr1h8"))))
 | 
					        (base32 "14gnkz18dipsa2v24f4nm9syxaa7g21iqjm7y65jn849ka2jr1h8"))))
 | 
				
			||||||
    (build-system scons-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     (list libx11))
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					 | 
				
			||||||
       ("googletest" ,googletest)
 | 
					 | 
				
			||||||
       ("googletest-source" ,(package-source googletest))))
 | 
					 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:scons ,scons-python2
 | 
					     (list #:configure-flags #~(list "-DBUILD_TESTING=ON")
 | 
				
			||||||
       #:scons-flags
 | 
					           #:phases #~(modify-phases %standard-phases
 | 
				
			||||||
       (list ,(string-append "CC=" (cc-for-target)))
 | 
					                        (add-after 'unpack 'disable-problematic-tests
 | 
				
			||||||
       #:phases
 | 
					                          (lambda _
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					                            (substitute* "config_parser_test.cc"
 | 
				
			||||||
         (add-before 'build 'patch-sconstruct
 | 
					                              ;; This test fails for unknown reasons (see:
 | 
				
			||||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
					                              ;; https://github.com/derat/xsettingsd/issues/30).
 | 
				
			||||||
             (substitute* "SConstruct"
 | 
					                              (("TEST\\(CharStreamTest, Basic")
 | 
				
			||||||
               ;; scons doesn't pick up environment variables automatically
 | 
					                               "TEST(CharStreamTest, DISABLED_Basic")))))))
 | 
				
			||||||
               ;; so it needs help to find path variables
 | 
					    (inputs (list libx11))
 | 
				
			||||||
               (("env = Environment\\(")
 | 
					    (native-inputs (list pkg-config googletest))
 | 
				
			||||||
                "env = Environment(
 | 
					 | 
				
			||||||
                         ENV = {
 | 
					 | 
				
			||||||
                           'PATH': os.environ['PATH'],
 | 
					 | 
				
			||||||
                           'CPATH': os.environ['C_INCLUDE_PATH'],
 | 
					 | 
				
			||||||
                           'LIBRARY_PATH': os.environ['LIBRARY_PATH'],
 | 
					 | 
				
			||||||
                           'PKG_CONFIG_PATH': os.environ['PKG_CONFIG_PATH']
 | 
					 | 
				
			||||||
                         },")
 | 
					 | 
				
			||||||
               ;; Update path to gtest source files used in tests
 | 
					 | 
				
			||||||
               (("/usr/src/gtest") (string-append
 | 
					 | 
				
			||||||
                                    (assoc-ref inputs "googletest-source")
 | 
					 | 
				
			||||||
                                    "/googletest"))
 | 
					 | 
				
			||||||
               ;; Exclude one warning that causes a build error
 | 
					 | 
				
			||||||
               (("-Werror") "-Werror -Wno-error=sign-compare"))
 | 
					 | 
				
			||||||
             #t))
 | 
					 | 
				
			||||||
         ;; The SConstruct script doesn't configure installation so
 | 
					 | 
				
			||||||
         ;; binaries must be copied to the output path directly
 | 
					 | 
				
			||||||
         (replace 'install
 | 
					 | 
				
			||||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
					 | 
				
			||||||
             (let* ((out (assoc-ref outputs "out"))
 | 
					 | 
				
			||||||
                    (bin (string-append out "/bin"))
 | 
					 | 
				
			||||||
                    (man (string-append out "/share/man/man1")))
 | 
					 | 
				
			||||||
               (mkdir-p bin)
 | 
					 | 
				
			||||||
               (install-file "xsettingsd" bin)
 | 
					 | 
				
			||||||
               (install-file "dump_xsettings" bin)
 | 
					 | 
				
			||||||
               (install-file "xsettingsd.1" man)
 | 
					 | 
				
			||||||
               (install-file "dump_xsettings.1" man)
 | 
					 | 
				
			||||||
               #t))))))
 | 
					 | 
				
			||||||
    (home-page "https://github.com/derat/xsettingsd")
 | 
					    (home-page "https://github.com/derat/xsettingsd")
 | 
				
			||||||
    (synopsis "Xorg settings daemon")
 | 
					    (synopsis "Xorg settings daemon")
 | 
				
			||||||
    (description "@command{xsettingsd} is a lightweight daemon that provides settings to
 | 
					    (description "@command{xsettingsd} is a lightweight daemon that provides settings to
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue