[PATCH 0/2] Add piglit.

  • Open
  • quality assurance status badge
Details
2 participants
  • Liliana Marie Prikler
  • Ludovic Courtès
Owner
unassigned
Submitted by
Liliana Marie Prikler
Severity
normal
L
L
Liliana Marie Prikler wrote on 25 Jan 10:20 +0100
(address . guix-patches@gnu.org)
cover.1706174426.git.liliana.prikler@gmail.com
Hi Guix,

this series adds piglit, a collection of automated tests for
OpenGL implementations.

Liliana Marie Prikler (2):
gnu: Add waffle.
gnu: Add piglit.

gnu/packages/gl.scm | 83 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 83 insertions(+)


base-commit: 2266754382bce43789976aec65181cb5085c8bc4
--
2.41.0
L
L
Liliana Marie Prikler wrote on 25 Jan 10:19 +0100
[PATCH 2/2] gnu: Add piglit.
(address . 68712@debbugs.gnu.org)
8ecf33f93cb6858219a8349837e3e22cabaa4f69.1706174426.git.liliana.prikler@gmail.com
* gnu/packages/gl.scm (piglit): New variable.
---
gnu/packages/gl.scm | 52 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)

Toggle diff (62 lines)
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 35fb1e618c..f8dc8c1d9d 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -1248,3 +1248,55 @@ (define-public waffle
(description "Waffle is a library that allows one to defer selection of an
OpenGL API and a window system until runtime.")
(license license:bsd-2)))
+
+(define-public piglit
+ (let ((revision "1")
+ (commit "814046fe6942eac660ee4a6cc5fcc54011a49945"))
+ (package
+ (name "piglit")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.freedesktop.org/mesa/piglit")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bzaalcxskckfnwprw77sbbmfqi59by2j8imaq8ghnlzhlxv7mk7"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:configure-flags #~(list "-DPIGLIT_SSE2=OFF")
+ ;; Tests are not invoked through cmake. Instead, there are
+ ;; pytest/tox-based tests for the framework, but they require
+ ;; unpackaged plugins.
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* (find-files "framework/" "\\.py$")
+ (("'wflinfo'")
+ (string-append "'"
+ (search-input-file inputs "/bin/wflinfo")
+ "'")))))
+ (add-after 'install 'wrap
+ (lambda* (#:key outputs #:allow-other-keys)
+ (wrap-script (string-append (assoc-ref outputs "out")
+ "/bin/piglit")
+ `("GUIX_PYTHONPATH" prefix
+ (,(getenv "GUIX_PYTHONPATH")))))))))
+ (inputs (list guile-3.0 ; for wrap-script
+ libxkbcommon
+ python python-lxml python-mako python-numpy
+ glslang vulkan-headers vulkan-loader
+ waffle))
+ (native-inputs (list pkg-config))
+ (home-page "https://piglit.freedesktop.org/")
+ (synopsis "Test OpenGL implementations")
+ (description "Piglit is a collection of automated tests for OpenGL and
+OpenCL implementations.")
+ ;; A mix of licenses for various tests
+ (license (list license:expat
+ license:bsd-3
+ license:gpl2+
+ license:gpl3+)))))
--
2.41.0
L
L
Liliana Marie Prikler wrote on 25 Jan 09:56 +0100
[PATCH 1/2] gnu: Add waffle.
(address . 68712@debbugs.gnu.org)
824a8a7f39e9d9ea5748b20eb8c9e7472a9bf1c2.1706174426.git.liliana.prikler@gmail.com
* gnu/packages/gl.scm (waffle): New variable.
---
gnu/packages/gl.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (55 lines)
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 49dc878c02..35fb1e618c 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2024 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -39,6 +40,7 @@ (define-module (gnu packages gl)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
@@ -1217,3 +1219,32 @@ (define-public glmark2
"glmark2 is an OpenGL 2.0 and OpenGL ES 2.0 benchmark based on the
original glmark benchmark by Ben Smith.")
(license license:gpl3+)))
+
+(define-public waffle
+ (package
+ (name "waffle")
+ (version "1.8.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.freedesktop.org/mesa/waffle")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1mrw0arlrpm83cwaz7rnimkkjv3a134rcmi1h512y2g4yjzhnm8r"))
+ (modules '((ice-9 ftw)
+ (guix build utils)))
+ (snippet #~(with-directory-excursion "third_party"
+ (let ((keep '("." ".." "meson.build" "threads")))
+ (for-each (lambda (f)
+ (unless (member f keep)
+ (delete-file-recursively f)))
+ (scandir ".")))))))
+ (build-system meson-build-system)
+ (propagated-inputs (list mesa wayland))
+ (native-inputs (list cmocka pkg-config))
+ (home-page "https://waffle.freedesktop.org/")
+ (synopsis "Choose OpenGL API at runtime")
+ (description "Waffle is a library that allows one to defer selection of an
+ OpenGL API and a window system until runtime.")
+ (license license:bsd-2)))
--
2.41.0
L
L
Liliana Marie Prikler wrote on 25 Jan 10:42 +0100
[PATCH 1/4] gnu: Add python-clingo-dl.
(address . 68712@debbugs.gnu.org)
fcf040238aa0d237ecac89d886e258b9e9f85a2d.1706178350.git.liliana.prikler@gmail.com
* gnu/packages/potassco.scm (python-clingo-dl): New variable.
---
gnu/packages/potassco.scm | 36 +++++++++++++++++++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)

Toggle diff (54 lines)
diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index f2ee27db99..afc4c4d513 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2022, 2023 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;;; Copyright © 2022–2024 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2023 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2024 Ricardo Wurmus <rekado@elephly.net>
@@ -370,6 +370,40 @@ (define-public python-clingo
making it so that you can write @acronym{ASPs, Answer Set Programs} through
Python code.")))
+(define-public python-clingo-dl
+ (package
+ (inherit clingo-dl)
+ (name "python-clingo-dl")
+ (version (package-version clingo-dl))
+ (arguments
+ (list
+ #:configure-flags #~'("-DPYCLINGODL_ENABLE=pip")
+ #:tests? #f
+ #:imported-modules `(,@%cmake-build-system-modules
+ (guix build python-build-system))
+ #:modules '((guix build cmake-build-system)
+ ((guix build python-build-system) #:prefix python:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-distinfo
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (with-directory-excursion (python:site-packages inputs outputs)
+ (let ((dir (string-append "clingodl-" #$version ".dist-info")))
+ (mkdir-p dir)
+ (call-with-output-file (string-append dir "/METADATA")
+ (lambda (port)
+ (format port "Metadata-Version: 1.1~%")
+ (format port "Name: clingodl~%")
+ (format port "Version: ~a~%" #$version))))))))))
+ (inputs (modify-inputs (package-inputs clingo-dl)
+ (prepend python-wrapper)))
+ (propagated-inputs (list python-clingo python-cffi))
+ (synopsis "Python bindings for clingo-dl")
+ (description "This package allows users to add the clingo-dl propagator
+as a theory to clingo from Python code. It also supports running clingo-dl
+directly from the python command line.")))
+
(define-public python-clorm
(package
(name "python-clorm")
--
2.41.0
L
L
Liliana Marie Prikler wrote on 25 Jan 10:44 +0100
[PATCH 2/4] gnu: python-clorm: Reindent with emacs.
(address . 68712@debbugs.gnu.org)
dc5c3cc02da05175c0491e522b9bfc18eade9095.1706178350.git.liliana.prikler@gmail.com
* gnu/packages/potassco.scm (python-clorm): Reindent with emacs.
---
gnu/packages/potassco.scm | 58 +++++++++++++++++++--------------------
1 file changed, 29 insertions(+), 29 deletions(-)

Toggle diff (74 lines)
diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index afc4c4d513..0ec6253099 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -406,38 +406,38 @@ (define-public python-clingo-dl
(define-public python-clorm
(package
- (name "python-clorm")
- (version "1.4.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/potassco/clorm")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0jx99y71mrgdicn1da5dwz5nzgvvpabrikff783sg4shbv2cf0b5"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-before 'check 'fix-breaking-tests
- (lambda _
- ;; noclingo tests rely on this being set
- (setenv "CLORM_NOCLINGO" "1")
- (delete-file "tests/test_mypy_query.py")
- (substitute* "tests/test_clingo.py"
- (("self\\.assertTrue\\(os_called\\)" all)
- (string-append "# " all))))))))
- (propagated-inputs (list python-clingo))
- (native-inputs (list python-typing-extensions))
- (home-page "https://potassco.org")
- (synopsis "Object relational mapping to clingo")
- (description "@acronym{Clorm, Clingo ORM} provides an @acronym{ORM,
+ (name "python-clorm")
+ (version "1.4.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/potassco/clorm")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0jx99y71mrgdicn1da5dwz5nzgvvpabrikff783sg4shbv2cf0b5"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'fix-breaking-tests
+ (lambda _
+ ;; noclingo tests rely on this being set
+ (setenv "CLORM_NOCLINGO" "1")
+ (delete-file "tests/test_mypy_query.py")
+ (substitute* "tests/test_clingo.py"
+ (("self\\.assertTrue\\(os_called\\)" all)
+ (string-append "# " all))))))))
+ (propagated-inputs (list python-clingo))
+ (native-inputs (list python-typing-extensions))
+ (home-page "https://potassco.org")
+ (synopsis "Object relational mapping to clingo")
+ (description "@acronym{Clorm, Clingo ORM} provides an @acronym{ORM,
Object Relational Mapping} interface to the @acronym{ASP, answer set
programming} solver clingo. Its goal is to make integration of clingo
into Python programs easier.")
- (license license:expat)))
+ (license license:expat)))
(define-public python-telingo
(package
--
2.41.0
L
L
Liliana Marie Prikler wrote on 25 Jan 10:46 +0100
[PATCH 3/4] gnu: Add python-plingo.
(address . 68712@debbugs.gnu.org)
a2a5551cf6dff8068ab885f3b2e4f7f18091a006.1706178350.git.liliana.prikler@gmail.com
* gnu/packages/potassco.scm (python-plingo): New variable.
---
gnu/packages/potassco.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index 0ec6253099..81d7cfa7e2 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -439,6 +439,44 @@ (define-public python-clorm
into Python programs easier.")
(license license:expat)))
+(define-public python-plingo
+ (package
+ (name "python-plingo")
+ (version "1.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/potassco/plingo")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1mp0pdjzwpl7bpba20iwszx9x49gsyl2rhrp7w7xpwjqdjrp23r8"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-script
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((script (string-append (assoc-ref outputs "out")
+ "/bin/plingo")))
+ (mkdir-p (dirname script))
+ (call-with-output-file script
+ (lambda (port)
+ (display "#!/usr/bin/env python\n" port)
+ (display "from plingo import main\n" port)
+ (display "main()\n" port)))
+ (chmod script #o755)
+ ;; XXX: Does this cross-compile?
+ (patch-shebang script)))))))
+ (propagated-inputs (list python-clingo))
+ (home-page "https://potassco.org/")
+ (synopsis "Solve probabilistic logic programs")
+ (description "This package provides a system to solve probabilistic
+logic programs with clingo. It can solve the reasoning tasks of finding
+the most probable model as well as finding all models and their probabilities.")
+ (license license:expat)))
+
(define-public python-telingo
(package
(name "python-telingo")
--
2.41.0
L
L
Ludovic Courtès wrote on 5 Feb 22:38 +0100
Re: [bug#68712] [PATCH 1/4] gnu: Add python-clingo-dl.
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 68712@debbugs.gnu.org)
878r3ybni9.fsf@gnu.org
Hi!

Liliana Marie Prikler <liliana.prikler@gmail.com> skribis:

Toggle quote (2 lines)
> * gnu/packages/potassco.scm (python-clingo-dl): New variable.

[...]

Toggle quote (2 lines)
> * gnu/packages/potassco.scm (python-clorm): Reindent with emacs.

[...]

Toggle quote (2 lines)
> * gnu/packages/potassco.scm (python-plingo): New variable.

Just had a quick glance and it LGTM! Green light also from qa.guix.

Ludo’.
?