From: paul <goodoldpaul@autistici.org>
To: Marius Bakke <marius@gnu.org>, 41818@debbugs.gnu.org
Subject: [bug#41818] [PATCH] gnu: Add syncthing-gtk.
Date: Tue, 30 Jun 2020 17:43:11 +0200 [thread overview]
Message-ID: <79263f3e-be1c-b7a8-aa46-bdf82c0cafeb@autistici.org> (raw)
In-Reply-To: <87h7v2c0uw.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 1435 bytes --]
Hi Marius,
On 6/22/20 10:16 PM, Marius Bakke wrote:
> Giacomo Leidi <goodoldpaul@autistici.org> writes:
>
>> * gnu/packages/syncthing.scm (syncthing-gtk): New variable.
> [...]
>
>> + (build-system python-build-system)
>> + (arguments
>> + `(#:python ,python-2))
>> + (propagated-inputs
>> + `(("python2-bcrypt" ,python2-bcrypt)
>> + ("python2-dateutil" ,python2-dateutil)
>> + ("python2-pycairo" ,python2-pycairo)
>> + ("python2-pygobject" ,python2-pygobject)
>> + ("python-nautilus" ,python-nautilus)
>> + ("libappindicator" ,libappindicator)
>> + ("libnotify" ,libnotify)
>> + ("psmisc" ,psmisc)
>> + ("syncthing" ,syncthing)))
> I don't think these needs to be propagated, as the 'syncthing-gtk'
> executable will be automatically wrapped with a PYTHONPATH that contains
> the Python inputs.
I didn't know that, I really should study deeper the build systems.
> I'm not sure about libappindicator, libnotify and psmisc though.
> Ideally we'd insert absolute references where appropriate to avoid
> propagation. In the worst case we can wrap it with those in PATH.
>
> Can you look into it and send an updated patch?
As you suggested I managed to move all propagated-inputs to the inputs
field, I'm not sure I did it right but from my tests the package seem to
be working.
I'm attaching an updated version of the patch, I apologize for the delay.
Giacomo
[-- Attachment #2: 0001-gnu-Add-syncthing-gtk.patch --]
[-- Type: text/x-patch, Size: 4578 bytes --]
From 76342546eb16a760137adacdfb2aefbf55592342 Mon Sep 17 00:00:00 2001
From: Giacomo Leidi <goodoldpaul@autistici.org>
Date: Thu, 11 Jun 2020 23:34:43 +0200
Subject: [PATCH] gnu: Add syncthing-gtk.
* gnu/packages/syncthing.scm (syncthing-gtk): New variable.
---
gnu/packages/syncthing.scm | 76 +++++++++++++++++++++++++++++++++++++-
1 file changed, 75 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index dfc222057e..382d28e920 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,13 +22,23 @@
(define-module (gnu packages syncthing)
#:use-module (guix build-system go)
+ #:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix licenses)
#:use-module (gnu packages)
- #:use-module (gnu packages golang))
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages golang)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages python-crypto)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages time))
(define-public syncthing
(package
@@ -177,6 +188,69 @@ Protocol.")
(home-page "https://github.com/syncthing/syncthing")
(license mpl2.0)))
+(define-public syncthing-gtk
+ (package
+ (name "syncthing-gtk")
+ (version "0.9.4.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/syncthing/syncthing-gtk.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0nc0wd7qvyri7841c3dd9in5d7367hys0isyw8znv5fj4c0a6v1f"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'hardcode-dependencies
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((psmisc (assoc-ref inputs "psmisc"))
+ (syncthing (assoc-ref inputs "syncthing")))
+ ;; Hardcode dependencies paths to avoid propagation.
+ (substitute* "syncthing_gtk/tools.py"
+ (("killall") (string-append psmisc "/bin/killall")))
+ (substitute* "syncthing_gtk/configuration.py"
+ (("/usr/bin/syncthing") (string-append syncthing
+ "/bin/syncthing"))))
+ #t))
+ (add-after 'wrap 'wrap-libs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/syncthing-gtk")
+ `("GI_TYPELIB_PATH" ":" prefix
+ (,(getenv "GI_TYPELIB_PATH"))))
+ #t))))))
+ (inputs
+ `(("gtk+" ,gtk+)
+ ("libappindicator" ,libappindicator)
+ ("libnotify" ,libnotify)
+ ("python2-bcrypt" ,python2-bcrypt)
+ ("python2-dateutil" ,python2-dateutil)
+ ("python2-pycairo" ,python2-pycairo)
+ ("python2-pygobject" ,python2-pygobject)
+ ("python-nautilus" ,python-nautilus)
+ ("psmisc" ,psmisc)
+ ("syncthing" ,syncthing)))
+ (native-inputs
+ `(("python2-setuptools" ,python2-setuptools)))
+ (home-page "https://github.com/syncthing/syncthing-gtk")
+ (synopsis "GTK3 based GUI and notification area icon for Syncthing")
+ (description "@code{syncthing-gtk} is a GTK3 Python based GUI and
+notification area icon for Syncthing. Supported Syncthing features:
+
+@itemize
+@item Everything that WebUI can display
+@item Adding, editing and deleting nodes
+@item Adding, editing and deleting repositories
+@item Restart, shutdown server
+@item Editing daemon settings
+@end itemize\n")
+ (license gpl2)))
+
(define-public go-github-com-jackpal-go-nat-pmp
(package
(name "go-github-com-jackpal-go-nat-pmp")
--
2.26.2
next prev parent reply other threads:[~2020-06-30 15:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-11 21:37 [bug#41818] [PATCH] gnu: Add syncthing-gtk Giacomo Leidi
2020-06-14 3:28 ` Leo Famulari
2020-06-14 16:01 ` paul
2020-06-22 20:16 ` Marius Bakke
2020-06-30 15:43 ` paul [this message]
2020-07-25 15:07 ` bug#41818: " Marius Bakke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=79263f3e-be1c-b7a8-aa46-bdf82c0cafeb@autistici.org \
--to=goodoldpaul@autistici.org \
--cc=41818@debbugs.gnu.org \
--cc=marius@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).