From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <guix-devel-bounces+larch=yhetil.org@gnu.org>
Received: from mp0 ([2001:41d0:2:bcc0::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by ms11 with LMTPS
	id CD7SI2WUQ2ABVgAA0tVLHw
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Sat, 06 Mar 2021 14:40:37 +0000
Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by mp0 with LMTPS
	id Yy+oH2WUQ2C3cwAA1q6Kng
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Sat, 06 Mar 2021 14:40:37 +0000
Received: from lists.gnu.org (lists.gnu.org [209.51.188.17])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by aspmx1.migadu.com (Postfix) with ESMTPS id CE3D215AD3
	for <larch@yhetil.org>; Sat,  6 Mar 2021 15:40:36 +0100 (CET)
Received: from localhost ([::1]:39196 helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	id 1lIY6d-0001L5-1v
	for larch@yhetil.org; Sat, 06 Mar 2021 09:40:35 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:50618)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <me@tobias.gr>) id 1lIY6T-0001Jb-6j
 for guix-devel@gnu.org; Sat, 06 Mar 2021 09:40:25 -0500
Received: from tobias.gr ([2a02:c205:2020:6054::1]:40400)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <me@tobias.gr>) id 1lIY6Q-0008Rc-B2
 for guix-devel@gnu.org; Sat, 06 Mar 2021 09:40:24 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tobias.gr; s=2018;
 bh=Y0N7IkAw/CKc9F8yrt4BGxvknZqPJEeX0zdN/o7uhIo=; h=date:in-reply-to:
 references:subject:cc:to:from; b=U7FfXcAyBtBa6F8Q2wQ5bNnSahzXk6TaJFqbu
 YjNSvVfpd6b+rN2e2EcR5v4qhD8H8sGlyXDS80fufmm0DO97KCcWkTXKfEpfvtgEUVFIzL
 1oEHE1sqxjskI8dqSFjXe0P9VPbIoXwed2W3A6d7vsJvpW5j2GYqSvC2xI8ql+dhHf7xb/
 Q+zwryyVqWorSCMFA9QaHnUauJI/gXRzwQE+aCnURMNpG61xj4dIYzfg2n3gFmCYUVBaOh
 x7rnUXz+mnLIvVFGNj0sabCk/eVhBMe6AtoVrhGvgqghf+QWQEHmPO0LYIIczwZ4B9U7UU
 /7wcCKr25TEfkRkIg/BqVP3jA==
Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id 6aaacde7
 (TLSv1.2:ECDHE-ECDSA-AES256-GCM-SHA384:256:NO); 
 Sat, 6 Mar 2021 14:41:16 +0000 (UTC)
BIMI-Selector: v=BIMI1; s=default;
From: Tobias Geerinckx-Rice <me@tobias.gr>
To: mecqor labi <mecqorlabi@gmail.com>
Cc: guix-devel@gnu.org
Subject: Re: Packaging
References: <CAGxZdwJ7EVMBz5ygwG-HGoqOuuqz85YTFH7j0vobBpmXYu4n+Q@mail.gmail.com>
In-reply-to: <CAGxZdwJ7EVMBz5ygwG-HGoqOuuqz85YTFH7j0vobBpmXYu4n+Q@mail.gmail.com>
Date: Sat, 06 Mar 2021 15:40:18 +0100
Message-ID: <871rcs8hwt.fsf@nckx>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="==-=-=";
 micalg=pgp-sha512; protocol="application/pgp-signature"
Received-SPF: pass client-ip=2a02:c205:2020:6054::1; envelope-from=me@tobias.gr;
 helo=tobias.gr
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-BeenThere: guix-devel@gnu.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: "Development of GNU Guix and the GNU System distribution."
 <guix-devel.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-devel>,
 <mailto:guix-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/guix-devel>
List-Post: <mailto:guix-devel@gnu.org>
List-Help: <mailto:guix-devel-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-devel>,
 <mailto:guix-devel-request@gnu.org?subject=subscribe>
Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org
Sender: "Guix-devel" <guix-devel-bounces+larch=yhetil.org@gnu.org>
X-Migadu-Flow: FLOW_IN
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org;
	s=key1; t=1615041637;
	h=from:from:sender:sender:reply-to:subject:subject:date:date:
	 message-id:message-id:to:to:cc:cc:mime-version:mime-version:
	 content-type:content-type:in-reply-to:in-reply-to:
	 references:references:list-id:list-help:list-unsubscribe:
	 list-subscribe:list-post:dkim-signature;
	bh=Y0N7IkAw/CKc9F8yrt4BGxvknZqPJEeX0zdN/o7uhIo=;
	b=JwJy8mYDa1R4cmNiiik5eXZ+S2Z5HuoCATJPFPFOsl5imVxbWKTKw53XSI13+RstS54Ccw
	u8HM1eUZBSwfzk57uarg9TqCDGt+RtUUnFx33WltpRa1gr7032LIMReEkG7NC3CjARFOaq
	2ZxImJY6JGaufJN21XRu3M3j1dPCMsHwZQi9PoHtB0HgmEbtejc51D3757klnypdWoE1mT
	u/7F1SHgj7+fk1rXKHptrWQTwlGDwpD0td7KE1Kc7Fae/QkBoFqgXPhUmFfiUKBAzlN1P8
	c4CvzJWBX6DZCAd+bI4U6cl3Y30pKIXbtCaGdCV7+YhOHVYdr+DA/sAgNmW6Hg==
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1615041637; a=rsa-sha256; cv=none;
	b=bx8hgj96dMs1oRqgOpKIZwAzU7uHuDPFAEyHc7vmkS+GJXZL6s2sHauvunGfQEIzsjEp83
	V8Qm8f6y5QZSqBfxi5AuXtH4qyzMfwuWjwwpBrInC7OqZKd6Xr03dMaKlMjSWXub7KSgCp
	Ccc37yQUUmO6/lxlniMVm1ldyB9Sg/F/IZLrJFtHj90DY+6QZT+aF3MzUMiTqELhou0ryT
	pehTesxmi1OeOQ6lC8LJqWxwd0aLpuR1UBtX+H9DoB0x4UAfErtmrKu72HoQR6xsj4JIx5
	UYuaj69+wBgm/uRFs6sLLIIuDbR+X1AdlMvLQp1hk6DvO30rMYn77rsa4V4OIw==
ARC-Authentication-Results: i=1;
	aspmx1.migadu.com;
	dkim=pass header.d=tobias.gr header.s=2018 header.b=U7FfXcAy;
	dmarc=pass (policy=reject) header.from=tobias.gr;
	spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org
X-Migadu-Spam-Score: -4.67
Authentication-Results: aspmx1.migadu.com;
	dkim=pass header.d=tobias.gr header.s=2018 header.b=U7FfXcAy;
	dmarc=pass (policy=reject) header.from=tobias.gr;
	spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org
X-Migadu-Queue-Id: CE3D215AD3
X-Spam-Score: -4.67
X-Migadu-Scanner: scn0.migadu.com
X-TUID: BxzQ+0vrOeAm

--==-=-=
Content-Type: multipart/mixed; boundary="=-=-="

--=-=-=
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Mecqor, Guix,

mecqor labi =E5=86=99=E9=81=93=EF=BC=9A
> Please package (Dialect <https://github.com/gi-lom/dialect>) for=20
> Guix;

Guix is run by volunteers who don't tend to package software on=20
demand.  The best way to see something added to Guix is to package=20
it yourself and submit it to guix-patches at gnu.org.

Getting into packaging is easier than most people think.  We try=20
to be as responsive and helpful as possible, either via e-mail at=20
help-guix at gnu.org, or on the Freenode IRC network's #guix=20
channel.

That said: I packaged this programme back in January.  I never=20
submitted it to Guix because it quickly became obvious that it's=20
harmful.

Dialect is not a =E2=80=98translation app=E2=80=99 at all but simply replac=
es the=20
HTML text field at translate.google.com with a GTK-native one.  In=20
fact it was already rendered useless by a Google API change that=20
requires shipping an alpha release of a library.

I won't rehash the FSF's excellent article[0] about such =E2=80=98fake=20
software=E2=80=99 here, but I will attach the patches.  Because if this=20
*is* added to Guix, I'd very much like my warnings to be included=20
in the description.

Related: <http://issues.guix.gnu.org/46385>.

Kind regards,

T G-R

[0]:=20
https://www.gnu.org/philosophy/who-does-that-server-really-serve.html


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline; filename=0001-gnu-Add-python-gtts.patch
Content-Transfer-Encoding: quoted-printable

From=20b2112ac230a17d6ae1a350145d50a31a715167b9 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Sun, 3 Jan 2021 15:09:30 +0100
Subject: [PATCH 1/3] gnu: Add python-gtts.

* gnu/packages/python-web.scm (python-gtts): New public variable.
=2D--
 gnu/packages/python-web.scm | 39 +++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index b0268e5a31..75f07b92d6 100644
=2D-- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -558,6 +558,45 @@ over a different origin than that of the web applicati=
on.")
 (define-public python2-furl
   (package-with-python2 python-furl))
=20
+(define-public python-gtts
+  (package
+    (name "python-gtts")
+    (version "2.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "gTTS" version))
+       (sha256
+        (base32 "03qah9gxhx8m6apviqyffay2dpijm2k5h88ikzgndyvs6zc18dxm"))))
+    (build-system python-build-system)
+    (arguments
+     ;; XXX: The test suite requires unpackaged python-testfixtures, at le=
ast.
+     `(#:tests? #f))
+    (propagated-inputs
+     `(("python-click" ,python-click)
+       ("python-requests" ,python-requests)
+       ("python-six" ,python-six)))
+    ;;(native-inputs
+    ;; `(("python-flake8" ,python-flake8)
+    ;;   ("python-mock" ,python-mock)
+    ;;   ("python-pytest" ,python-pytest)
+    ;;   ("python-pytest-cov" ,python-pytest-cov)
+    ;;   ("python-six" ,python-six)
+    ;;   ("python-testfixtures" ,python-testfixtures)))
+    (home-page "https://github.com/pndurette/gTTS")
+    (synopsis "Google Translate text-to-speech SaaSS client and library")
+    (description
+     "This package provides a Python API to interact with the @acronym{gTT=
S,
+Google Translate text-to-speech} @acronym{SaaSS, Service as a Software
+Substitute}.
+
+You should not use this library in your software: it does nothing but send=
 all
+submitted text on to Google and give them complete control over the result.
+It is useless without an Internet connection, or if the API is changed.  W=
hen
+the service is discontinued, all copies of your software will become usele=
ss as
+well.")
+    (license license:expat)))
+
 (define-public python-httplib2
   (package
     (name "python-httplib2")
=2D-=20
2.30.1


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline; filename=0002-gnu-Add-python-googletrans.patch
Content-Transfer-Encoding: quoted-printable

From=200a7a98f127834e368a2944a994fe72b2a735d01b Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Sun, 3 Jan 2021 15:11:56 +0100
Subject: [PATCH 2/3] gnu: Add python-googletrans.

* gnu/packages/python-web.scm (python-googletrans): New public variable.
=2D--
 gnu/packages/python-web.scm | 39 +++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 75f07b92d6..b0dc135537 100644
=2D-- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -558,6 +558,45 @@ over a different origin than that of the web applicati=
on.")
 (define-public python2-furl
   (package-with-python2 python-furl))
=20
+(define-public python-googletrans
+  (package
+    (name "python-googletrans")
+    ;; This is an alpha version.  Google helpfully broke the 3.0.0 release=
 to
+    ;; validate the warning in the description below -- thanks!
+    ;; <https://github.com/gi-lom/dialect/issues/104#issuecomment-73997265=
2>
+    (version "3.1.0a0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "googletrans" version))
+       (sha256
+        (base32 "015fvyk1fq61n33bzawg1fcplb810lr6wv2xgs5334apjykp60yj"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'relax-version-restrictions
+           (lambda _
+             (substitute* "setup.py"
+               (("=3D=3D") ">=3D")))))))
+    (native-inputs
+     `(("python-coveralls" ,python-coveralls)
+       ("python-pytest" ,python-pytest)))
+    (propagated-inputs
+     `(("python-httpx" ,python-httpx)))
+    (home-page "https://github.com/ssut/py-googletrans")
+    (synopsis "Google Translate SaaSS Python client library")
+    (description
+     "This package provides a Python API to interact with the Google Trans=
late
+@acronym{SaaSS, Service as a Software Substitute}.
+
+You should not use this library in your software: it does nothing but send=
 the
+translation queries on to Google and give them complete control over the r=
esult.
+It is useless without an Internet connection, or if the API is changed.  W=
hen
+the service is discontinued, all copies of your software will become usele=
ss as
+well.")
+    (license license:expat)))
+
 (define-public python-gtts
   (package
     (name "python-gtts")
=2D-=20
2.30.1


--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: inline; filename=0003-gnu-Add-dialect.patch
Content-Transfer-Encoding: quoted-printable

From=20ef297af5bd73eb6148843b879c451916df7de405 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Sun, 3 Jan 2021 15:15:26 +0100
Subject: [PATCH 3/3] gnu: Add dialect.

* gnu/packages/language.scm (dialect): New public variable.
=2D--
 gnu/packages/language.scm   | 61 ++++++++++++++++++++++++++++++++++++-
 gnu/packages/python-web.scm |  2 +-
 2 files changed, 61 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 651b2305c9..ffd2be5ae6 100644
=2D-- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright =C2=A9 2015, 2016 Eric Bavier <bavier@member.fsf.org>
=2D;;; Copyright =C2=A9 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.g=
r>
+;;; Copyright =C2=A9 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobi=
as.gr>
 ;;; Copyright =C2=A9 2018 Nikita <nikita@n0.is>
 ;;; Copyright =C2=A9 2019 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright =C2=A9 2020 Ricardo Wurmus <rekado@elephly.net>
@@ -33,6 +33,7 @@
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages ibus)
   #:use-module (gnu packages java)
@@ -45,6 +46,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-web)
   #:use-module (gnu packages perl-check)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages sqlite)
@@ -58,6 +60,7 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
   #:use-module (guix build-system qt)
@@ -68,6 +71,62 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
=20
+(define-public dialect
+  ;; XXX The =E2=80=98About=E2=80=99 dialogue icon is missing.
+  (package
+    (name "dialect")
+    (version "1.1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gi-lom/dialect")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0yvayqi80c3cwhs2hx186ybr15jp1d9frp8fzg38lf6pi44nypvk"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'wrap-typelib
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (wrap-program (string-append out "/bin/dialect")
+                 `("GI_TYPELIB_PATH" prefix
+                   ,(search-path-as-string->list (getenv "GI_TYPELIB_PATH"=
)))
+                 `("PYTHONPATH" prefix
+                   ,(search-path-as-string->list (getenv "PYTHONPATH")))))=
)))))
+    (native-inputs
+     `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-dat=
abase
+       ("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")         ; for glib-compile-resources
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+-bin" ,gtk+ "bin")         ; for gtk-update-icon-cache
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("libhandy" ,libhandy)))
+    (propagated-inputs
+     `(("python-googletrans" ,python-googletrans)
+       ("python-gst" ,python-gst)
+       ("python-gtts" ,python-gtts)
+       ("python-pygobject" ,python-pygobject)))
+    (home-page "https://github.com/gi-lom/dialect")
+    (synopsis "Desktop client for the Google Translate network SaaSS")
+    (description
+     "Dialect is a very thin graphical desktop client for the Google Trans=
late
+network @acronym{SaaSS, Service as a Software Substitute} that replaces th=
e Web
+interface with a native GTK 3 window.  It lets you translate text between =
many
+languages without opening a browser.
+
+Dialect is not translation software: it simply forwards input to Google's
+servers and displays the result.  It's useless without an Internet connect=
ion,
+if you are blocked for performing too many translations, or when the servi=
ce
+is discontinued.")
+    (license gpl3+)))
+
 (define-public nimf
   (package
     (name "nimf")
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index b0dc135537..6126fa26b4 100644
=2D-- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -14,7 +14,7 @@
 ;;; Copyright =C2=A9 2015 Cyril Roelandt <tipecaml@gmail.com>
 ;;; Copyright =C2=A9 2015, 2016, 2017, 2019 Leo Famulari <leo@famulari.nam=
e>
 ;;; Copyright =C2=A9 2016, 2019 Hartmut Goebel <h.goebel@crazy-compilers.c=
om>
=2D;;; Copyright =C2=A9 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice =
<me@tobias.gr>
+;;; Copyright =C2=A9 2016=E2=80=932021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright =C2=A9 2015, 2017 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright =C2=A9 2015, 2016 Christopher Allan Webber <cwebber@dustyclo=
ud.org>
 ;;; Copyright =C2=A9 2017 Adriano Peluso <catonano@gmail.com>
=2D-=20
2.30.1


--=-=-=--

--==-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCYEOUUg0cbWVAdG9iaWFz
LmdyAAoJEA2w/4hPVW15UlABAKtdSqtQjJcA1+iBYoPhHLbXitp3wsZJUc8jfwEU
oekAAP9ZYdEsHKT3ADT03OoTHrDAuE7Fl/NI9TwskMuLMiVLDQ==
=zbGt
-----END PGP SIGNATURE-----
--==-=-=--