Hi,
could I ask for help packaging Bottles? Patch provided below.
When I attempt to run the binary I get this message:
/gnu/store/a9h7l5g0zcvfsx8vi7yq3wc4k72i3i49-bottles-2022.4.14/bin/bottles
Traceback (most recent call last):
File
"/gnu/store/a9h7l5g0zcvfsx8vi7yq3wc4k72i3i49-bottles-2022.4.14/bin/.bottles-real",
line 42, in <module>
from bottles import main
File
"/gnu/store/a9h7l5g0zcvfsx8vi7yq3wc4k72i3i49-bottles-2022.4.14/share/bottles/bottles/main.py",
line 28, in <module>
gi.require_version('WebKit2', '4.0')
File
"/gnu/store/li6pai7xjn0xwc99rvdz29mx25ifznac-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/__init__.py",
line 129, in require_version
raise ValueError('Namespace %s not available for version %s' %ValueError:
Namespace WebKit2 not available for version 4.0
How should I wrap the binary to fix this error?
----
Petr
From 07286c8d74380a750c7b489f73bb5affbcc3dc7a Mon Sep 17 00:00:00 2001
From: Petr Hodina <phod...@protonmail.com>
Date: Mon, 25 Apr 2022 13:30:01 +0200
Subject: [PATCH] gnu: Add bottles.
* /gnu/packages/wine.scm (bottles): New variable.
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 7ca2b9d0c7..40668973a1 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2017, 2020 Nicolas Goaziou <m...@nicolasgoaziou.fr>
;;; Copyright © 2018â2021 Tobias Geerinckx-Rice <m...@tobias.gr>
;;; Copyright © 2019 Pierre Neidhardt <m...@ambrevar.xyz>
+;;; Copyright © 2022 Petr Hodina <phod...@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,6 +28,7 @@ (define-module (gnu packages wine)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
@@ -38,15 +40,19 @@ (define-module (gnu packages wine)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages cups)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages image)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages kerberos)
@@ -54,10 +60,13 @@ (define-module (gnu packages wine)
#:use-module (gnu packages linux)
#:use-module (gnu packages mingw)
#:use-module (gnu packages openldap)
+ #:use-module (gnu packages patool)
#:use-module (gnu packages perl)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages mp3)
#:use-module (gnu packages photo)
#:use-module (gnu packages samba)
@@ -66,11 +75,69 @@ (define-module (gnu packages wine)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages vulkan)
+ #:use-module (gnu packages webkit)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
+(define-public bottles
+ (package
+ (name "bottles")
+ (version "2022.4.14")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bottlesdevs/Bottles")
+ (commit (string-append version "-trento-2"))))
+ (sha256
+ (base32
+ "0w1dc8f7pxvfriy552a1s9hxk32zxgsni6d9zid0zy0f105vyfpb"))))
+ (build-system meson-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'patch-python-references
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((site (string-append #$output "/lib/python"
+ #$(version-major+minor (package-version
+ python))
+ "/site-packages")) (path (getenv
+ "GUIX_PYTHONPATH")))
+ (wrap-program (string-append #$output "/bin/bottles")
+ `("GUIX_PYTHONPATH" ":" prefix
+ (,site ,path))
+ `("GI_TYPELIB_PATH" ":" prefix
+ (,(getenv "GI_TYPELIB_PATH"))))))))))
+ (native-inputs (list cmake
+ desktop-file-utils
+ gettext-minimal
+ `(,glib "bin")
+ gobject-introspection
+ `(,gtk+ "bin")
+ pkg-config))
+ (inputs (list bash-minimal
+ dconf
+ gtk+
+ gtksourceview
+ hicolor-icon-theme
+ libhandy
+ p7zip
+ patool
+ python
+ python-pygobject
+ python-requests
+ python-pyyaml
+ python-markdown
+ wine
+ cabextract
+ webkitgtk
+ xdpyinfo))
+ (synopsis "Easily manage wine and proton prefix")
+ (home-page "https://usebottles.com/")
+ (description "This package allows to easily manage wine and proton prefix.")
+ (license license:gpl3+)))
+
(define-public wine
(package
(name "wine")
--
2.35.1