unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#30042] [PATCH 0/1] gnu: Add rct.
@ 2018-01-09 13:57 Fis Trivial
  2018-01-09 14:00 ` [bug#30042] [PATCH 1/1] " Fis Trivial
  0 siblings, 1 reply; 10+ messages in thread
From: Fis Trivial @ 2018-01-09 13:57 UTC (permalink / raw)
  To: 30042


This package is added for solving the bundling issue mentioned while packaging
*rtags*:
http://lists.gnu.org/archive/html/guix-patches/2018-01/msg00177.html

The released version is not compatible with current version of *rtags* so I
picked up the latest commit from master branch.

fis (1):
  gnu: Add rct.

 gnu/packages/cpp.scm | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

-- 
2.13.6


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#30042] [PATCH 1/1] gnu: Add rct.
  2018-01-09 13:57 [bug#30042] [PATCH 0/1] gnu: Add rct Fis Trivial
@ 2018-01-09 14:00 ` Fis Trivial
  2018-01-09 17:18   ` Tobias Geerinckx-Rice
  0 siblings, 1 reply; 10+ messages in thread
From: Fis Trivial @ 2018-01-09 14:00 UTC (permalink / raw)
  To: 30042@debbugs.gnu.org


* gnu/packages/cpp.scm (rct): New public variable.
---
 gnu/packages/cpp.scm | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 5ad9fd33b..cd058f62a 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
+;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,9 +21,15 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
-  #:use-module (gnu packages autotools))
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages tls))

 (define-public libzen
   (package
@@ -57,3 +64,32 @@
 strings, configuration, bit streams, threading, translation, and cross-platform
 operating system functions.")
     (license license:zlib)))
+
+(define-public rct
+  (package
+    (name "rct")
+    (version "2017.12.09")
+    (home-page "https://github.com/Andersbakken/rct")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url home-page)
+                    (commit "b3e6f41d9844ef64420e628e0c65ed98278a843a")))
+              (sha256
+               (base32
+                "1m2931jacka27ghnpgf1z1plkkr64z0pga4r4zdrfpp2d7xnrdvb"))
+              (file-name (git-file-name name version))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:configure-flags
+       '("-DWITH_TESTS=ON")))
+    (native-inputs                      ; All native-inputs are for tests
+     `(("pkg-config" ,pkg-config)
+       ("cppunit" ,cppunit)
+       ("zlib" ,zlib)
+       ("openssl" ,openssl)))
+    (synopsis "C++ library providing Qt-like APIs on top of STL")
+    (description "Rct is a set of C++ tools that provide nicer (more Qt-like)
+ APIs on top of stl classes.")
+    (license (license:non-copyleft "LICENSE.txt"
+                                   "See LICENSE.txt in the distribution."))))
-- 
2.13.6


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [bug#30042] [PATCH 1/1] gnu: Add rct.
  2018-01-09 14:00 ` [bug#30042] [PATCH 1/1] " Fis Trivial
@ 2018-01-09 17:18   ` Tobias Geerinckx-Rice
  2018-01-12 14:48     ` Fis Trivial
  0 siblings, 1 reply; 10+ messages in thread
From: Tobias Geerinckx-Rice @ 2018-01-09 17:18 UTC (permalink / raw)
  To: ybbs.daans, 30042

Fis,

I can't apply this patch (Thunderbird saves it as some kind of encoded
blob, probably as my punishment for still using Thunderbird) but I'll
assume you've tested it more thoroughly than I could anyway.

Fis Trivial wrote on 09/01/18 at 15:00:
> * gnu/packages/cpp.scm (rct): New public variable.
> ---
>  gnu/packages/cpp.scm | 38 +++++++++++++++++++++++++++++++++++++-
>  1 file changed, 37 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
> index 5ad9fd33b..cd058f62a 100644
> --- a/gnu/packages/cpp.scm
> +++ b/gnu/packages/cpp.scm
> @@ -1,5 +1,6 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
> +;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -20,9 +21,15 @@
>    #:use-module ((guix licenses) #:prefix license:)
>    #:use-module (guix packages)
>    #:use-module (guix download)
> +  #:use-module (guix git-download)
> +  #:use-module (guix build-system cmake)
>    #:use-module (guix build-system gnu)
>    #:use-module (gnu packages)
> -  #:use-module (gnu packages autotools))
> +  #:use-module (gnu packages autotools)
> +  #:use-module (gnu packages check)
> +  #:use-module (gnu packages compression)
> +  #:use-module (gnu packages pkg-config)
> +  #:use-module (gnu packages tls))
> 
>  (define-public libzen
>    (package
> @@ -57,3 +64,32 @@
>  strings, configuration, bit streams, threading, translation, and cross-platform
>  operating system functions.")
>      (license license:zlib)))
> +
> +(define-public rct
> +  (package
> +    (name "rct")
> +    (version "2017.12.09")

I can't find this version format in (a quick scan of) the commit log.

It's usually better to use ‘0.0.0’-based versioning (using git-version)
in case upstream decides to do proper releases at some point. Otherwise
the package might not be upgraded. There's an example in the manual.

> +    (home-page "https://github.com/Andersbakken/rct")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url home-page)
> +                    (commit "b3e6f41d9844ef64420e628e0c65ed98278a843a")))
> +              (sha256
> +               (base32
> +                "1m2931jacka27ghnpgf1z1plkkr64z0pga4r4zdrfpp2d7xnrdvb"))
> +              (file-name (git-file-name name version))))
> +    (build-system cmake-build-system)
> +    (arguments
> +     '(#:configure-flags
> +       '("-DWITH_TESTS=ON")))

It borders on the obvious, but I'd have added ‘; run the test suite’
anyway. That's up to you.

> +    (native-inputs                      ; All native-inputs are for tests
> +     `(("pkg-config" ,pkg-config)
> +       ("cppunit" ,cppunit)
> +       ("zlib" ,zlib)
> +       ("openssl" ,openssl)))

Nitpick: please keep these alphabetical whenever possible, like you did
(thanks!) with module imports above.

> +    (synopsis "C++ library providing Qt-like APIs on top of STL")

...‘the STL’?

> +    (description "Rct is a set of C++ tools that provide nicer (more Qt-like)
> + APIs on top of stl classes.")

s|stl|Standard Template Library (@dfn{STL})|

(No need to add ‘the’ in this case.)

> +    (license (license:non-copyleft "LICENSE.txt"
> +                                   "See LICENSE.txt in the distribution."))))

LICENSE.txt looks like BSD-4 to me (ugh, no licence headers... :-/).
Also, cJSON/ is expat-licenced:

  (license (list license:expat     ; cJSON/
                 license:bsd-4     ; everything else (LICENSE.txt)

The rest looks good to me. Thanks!

Kind regards,

T G-R

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#30042] [PATCH 1/1] gnu: Add rct.
  2018-01-09 17:18   ` Tobias Geerinckx-Rice
@ 2018-01-12 14:48     ` Fis Trivial
  2018-01-12 15:25       ` Leo Famulari
  2018-01-12 15:36       ` Tobias Geerinckx-Rice
  0 siblings, 2 replies; 10+ messages in thread
From: Fis Trivial @ 2018-01-12 14:48 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 30042@debbugs.gnu.org

Sorry for the late reply.
> 
> I can't find this version format in (a quick scan of) the commit log.
> 
I found it from `M-x guix-all-available-packages` in Emacs. For examples:
limnoria, pianobar

But I will change it to "0.0.0-1.b3e6f41", is it ok?

>> +    (description "Rct is a set of C++ tools that provide nicer (more Qt-like)
>> + APIs on top of stl classes.")
>
> s|stl|Standard Template Library (@dfn{STL})|

I don't quite understand what do you mean by this line. English is not
my mother tongue. Are you expecting me to replace "stl" with this
line?

Is this a suitable description:

      (description "Rct is a set of C++ tools that provide nicer (more Qt-like)
 APIs on top of Standard Template Library classes.")

Thanks for your time.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#30042] [PATCH 1/1] gnu: Add rct.
  2018-01-12 14:48     ` Fis Trivial
@ 2018-01-12 15:25       ` Leo Famulari
  2018-01-12 15:36       ` Tobias Geerinckx-Rice
  1 sibling, 0 replies; 10+ messages in thread
From: Leo Famulari @ 2018-01-12 15:25 UTC (permalink / raw)
  To: Fis Trivial; +Cc: 30042@debbugs.gnu.org

[-- Attachment #1: Type: text/plain, Size: 701 bytes --]

On Fri, Jan 12, 2018 at 02:48:55PM +0000, Fis Trivial wrote:
> > s|stl|Standard Template Library (@dfn{STL})|
> 
> I don't quite understand what do you mean by this line. English is not
> my mother tongue. Are you expecting me to replace "stl" with this
> line?

It's a very terse way of suggesting to replace 'stl' with 'Standard
Template Library (@dfn{STL})'.

This syntax is old Unix for "search and replace". You may be familiar
with this style:

s/old/new/

The first letter, s, is a command that means "search and replace". The
separator characters, like / or |, can be anything, and are chosen by
the first use.

This syntax is commonly used in the `sed` and `vi` programs.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#30042] [PATCH 1/1] gnu: Add rct.
  2018-01-12 14:48     ` Fis Trivial
  2018-01-12 15:25       ` Leo Famulari
@ 2018-01-12 15:36       ` Tobias Geerinckx-Rice
  2018-01-12 15:53         ` Tobias Geerinckx-Rice
                           ` (2 more replies)
  1 sibling, 3 replies; 10+ messages in thread
From: Tobias Geerinckx-Rice @ 2018-01-12 15:36 UTC (permalink / raw)
  To: ybbs.daans; +Cc: 30042

Hullo again,

Fis Trivial wrote on 12/01/18 at 15:48:
> I found it from `M-x guix-all-available-packages` in Emacs. For examples:
> limnoria, pianobar

In the case of limnoria[0] and pianobar[1], the version numbers were
assigned upstream. I couldn't find any evidence that rct is versioned at
all, but I might not have looked close enough. Do let me know if that's
the case.

If we choose an arbitrary commit and call it 2017.12.09, we'll be in
trouble when/if rct 1.0.0 is ever released: according to Guix (and
maths), 1 < 2017 and hence not an upgrade. Is that more clear?

> But I will change it to "0.0.0-1.b3e6f41", is it ok?

Perfect! The git-version procedure will do that for you.

>>> +    (description "Rct is a set of C++ tools that provide nicer (more Qt-like)
>>> + APIs on top of stl classes.")
>>
>> s|stl|Standard Template Library (@dfn{STL})|
> 
> I don't quite understand what do you mean by this line. English is not
> my mother tongue. Are you expecting me to replace "stl" with this
> line?

Oops. It's not English, it's sed(1): ‘s|a|b|’ means ‘replace the first
occurence of a with b’. ‘|’ can be any character that doesn't occur in
string a or b.

I agree it's not obvious or welcoming to everyone. Old habits die hard.

It goes back to the early days of Unix and is commonly used in these
situations since it's relatively unambiguous and (the real reason) a lot
shorter to type than ‘Please replace...’.

> Is this a suitable description:
> 
>       (description "Rct is a set of C++ tools that provide nicer (more Qt-like)
>  APIs on top of Standard Template Library classes.")

Keep both:

     (description "Rct is a set of C++ tools that provide nicer (more
Qt-like)
APIs on top of Standard Template Library (@dfn{STL}) classes.")

@dfn{} is Texinfo for ‘a term that is defined in the surrounding text’.

Kind regards,

T G-R

[0]: https://pypi.python.org/pypi/limnoria/2017.10.01
[1]: https://6xq.net/pianobar/pianobar-2017.08.30.tar.bz2

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#30042] [PATCH 1/1] gnu: Add rct.
  2018-01-12 15:36       ` Tobias Geerinckx-Rice
@ 2018-01-12 15:53         ` Tobias Geerinckx-Rice
  2018-01-12 20:03         ` [bug#30042] [PATCH 0/1] " Fis Trivial
  2018-01-12 20:04         ` [bug#30042] [PATCH 1/1] " Fis Trivial
  2 siblings, 0 replies; 10+ messages in thread
From: Tobias Geerinckx-Rice @ 2018-01-12 15:53 UTC (permalink / raw)
  To: ybbs.daans; +Cc: 30042

Tobias Geerinckx-Rice wrote on 12/01/18 at 16:36:
> Oops. It's not English, it's sed(1): ‘s|a|b|’ means ‘replace the first
> occurence of a with b’. ‘|’ can be any character that doesn't occur in
> string a or b.

s/first occurence/first occurrence on each line/

to be precise :-)

Kind regards,

T G-R

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#30042] [PATCH 0/1] gnu: Add rct.
  2018-01-12 15:36       ` Tobias Geerinckx-Rice
  2018-01-12 15:53         ` Tobias Geerinckx-Rice
@ 2018-01-12 20:03         ` Fis Trivial
  2018-01-12 20:04         ` [bug#30042] [PATCH 1/1] " Fis Trivial
  2 siblings, 0 replies; 10+ messages in thread
From: Fis Trivial @ 2018-01-12 20:03 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 30042@debbugs.gnu.org


This is a patch regenerated after changes and rebased on master.
Thanks for all the explanation. Always nice to learn something.

fis (1):
  gnu: Add rct.

 gnu/packages/cpp.scm | 41 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 40 insertions(+), 1 deletion(-)

-- 
2.13.6


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#30042] [PATCH 1/1] gnu: Add rct.
  2018-01-12 15:36       ` Tobias Geerinckx-Rice
  2018-01-12 15:53         ` Tobias Geerinckx-Rice
  2018-01-12 20:03         ` [bug#30042] [PATCH 0/1] " Fis Trivial
@ 2018-01-12 20:04         ` Fis Trivial
  2018-01-14  1:33           ` bug#30042: " Leo Famulari
  2 siblings, 1 reply; 10+ messages in thread
From: Fis Trivial @ 2018-01-12 20:04 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 30042@debbugs.gnu.org


* gnu/packages/cpp.scm (rct): New public variable.
---
 gnu/packages/cpp.scm | 41 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 40 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 4fd499f5f..174fd7c55 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,9 +22,15 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
-  #:use-module (gnu packages autotools))
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages tls))

 (define-public libzen
   (package
@@ -58,3 +65,35 @@
 strings, configuration, bit streams, threading, translation, and cross-platform
 operating system functions.")
     (license license:zlib)))
+
+(define-public rct
+  (let* ((commit "b3e6f41d9844ef64420e628e0c65ed98278a843a")
+         (revision "1")
+         (version (git-version "0.0.0" revision commit)))
+    (package
+      (name "rct")
+      (version version)
+      (home-page "https://github.com/Andersbakken/rct")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url home-page)
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "1m2931jacka27ghnpgf1z1plkkr64z0pga4r4zdrfpp2d7xnrdvb"))
+                (file-name (git-file-name name version))))
+      (build-system cmake-build-system)
+      (arguments
+       '(#:configure-flags
+         '("-DWITH_TESTS=ON")))           ; To run the test suite
+      (native-inputs                      ; All native-inputs are for tests
+       `(("cppunit" ,cppunit)
+         ("openssl" ,openssl)
+         ("pkg-config" ,pkg-config)
+         ("zlib" ,zlib)))
+      (synopsis "C++ library providing Qt-like APIs on top of the STL")
+      (description "Rct is a set of C++ tools that provide nicer (more Qt-like)
+ APIs on top of Standard Template Library (@dfn{STL}) classes.")
+      (license (list license:expat        ; cJSON
+                     license:bsd-4)))))   ; everything else (LICENSE.txt)
-- 
2.13.6


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* bug#30042: [PATCH 1/1] gnu: Add rct.
  2018-01-12 20:04         ` [bug#30042] [PATCH 1/1] " Fis Trivial
@ 2018-01-14  1:33           ` Leo Famulari
  0 siblings, 0 replies; 10+ messages in thread
From: Leo Famulari @ 2018-01-14  1:33 UTC (permalink / raw)
  To: Fis Trivial; +Cc: 30042-done

[-- Attachment #1: Type: text/plain, Size: 1853 bytes --]

On Fri, Jan 12, 2018 at 08:04:15PM +0000, Fis Trivial wrote:
> 
> * gnu/packages/cpp.scm (rct): New public variable.

Thanks! Pushed as e8b409741baf3b9de30faa8683722375196dd1e9 after
removing this comment about test inputs:

> +      (native-inputs                      ; All native-inputs are for tests
> +       `(("cppunit" ,cppunit)
> +         ("openssl" ,openssl)
> +         ("pkg-config" ,pkg-config)
> +         ("zlib" ,zlib)))

I removed it after checking the references of the built package like
this:

------
$ guix gc --references $(./pre-inst-env guix build rct)
/gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25
/gnu/store/6wyjls0q2c9gjskkplsr1ad09p3d8gzg-gcc-5.4.0-lib
/gnu/store/navpkpm1jf6zf8zmi54wl5w3b2ddv1sw-zlib-1.2.11
/gnu/store/nl3zjmg4wv40j8sv1fhla1g1ngysd8nq-openssl-1.0.2n
/gnu/store/w8ypl7zfs4q8cqc9k8k61q4dx69l770h-rct-0.0.0-1.b3e6f41
------

We can see the built package refers to some of those inputs and thus may
use them at run-time. So, the comment is not totally accurate (and not
strictly required).

And I got curious, so I tried something like this:

------
$ grep -r /gnu/store/nl3zjmg4wv40j8sv1fhla1g1ngysd8nq-openssl-1.0.2n $(./pre-inst-env guix build rct)
Binary file /gnu/store/w8ypl7zfs4q8cqc9k8k61q4dx69l770h-rct-0.0.0-1.b3e6f41/lib64/librct.so matches
/gnu/store/w8ypl7zfs4q8cqc9k8k61q4dx69l770h-rct-0.0.0-1.b3e6f41/lib/cmake/rct-relwithdebinfo.cmake:  IMPORTED_LINK_INTERFACE_LIBRARIES_RELWITHDEBINFO "pthread;/gnu/store/navpkpm1jf6zf8zmi54wl5w3b2ddv1sw-zlib-1.2.11/lib/libz.so;/gnu/store/nl3zjmg4wv40j8sv1fhla1g1ngysd8nq-openssl-1.0.2n/lib/libcrypto.so;dl;rt"
------

I saw that librct.so refers to both OpenSSL and zlib, so I made them
regular inputs in the followup commit
bad12e839c2f7823c45aa0121f7d5c9bb70905b7

I should have checked before pushing :)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-01-14  1:34 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-09 13:57 [bug#30042] [PATCH 0/1] gnu: Add rct Fis Trivial
2018-01-09 14:00 ` [bug#30042] [PATCH 1/1] " Fis Trivial
2018-01-09 17:18   ` Tobias Geerinckx-Rice
2018-01-12 14:48     ` Fis Trivial
2018-01-12 15:25       ` Leo Famulari
2018-01-12 15:36       ` Tobias Geerinckx-Rice
2018-01-12 15:53         ` Tobias Geerinckx-Rice
2018-01-12 20:03         ` [bug#30042] [PATCH 0/1] " Fis Trivial
2018-01-12 20:04         ` [bug#30042] [PATCH 1/1] " Fis Trivial
2018-01-14  1:33           ` bug#30042: " Leo Famulari

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).