diff mbox

gnu: Add toxic (Need help with ncurses+libnotify not being found).

Message ID 871t1iuacb.fsf@we.make.ritual.n0.is
State New
Headers show

Commit Message

non such Aug. 21, 2016, 2:25 a.m. UTC
There are serious cosmetic improvements I need to to make on these
patches, I am aware of this, but what I am asking help for is:

I've tried for hours many ways to make toxic find "libnotify" and
"ncursesw" ... It does not
happen... setenv. substitute. ldflags. user_ldflags. cflags. user_cflags. nothing..

Can someone shed some light on this?

Comments

Alex Kost Aug. 21, 2016, 7:29 a.m. UTC | #1
ng0 (2016-08-21 05:25 +0300) wrote:

> There are serious cosmetic improvements I need to to make on these
> patches, I am aware of this, but what I am asking help for is:
>
> I've tried for hours many ways to make toxic find "libnotify" and
> "ncursesw" ... It does not
> happen... setenv. substitute. ldflags. user_ldflags. cflags. user_cflags. nothing..
>
> Can someone shed some light on this?

As I see 'toxic' has a hand-written Makefile, so it probably doesn't use
pkg-config properly to find "libnotify".  Did you try to add
"<libnotify-store-dir>/include/libnotify" to CPATH (as it is
done in 'webkitgtk' package, for example)?

[...]
> +(define-public libtoxcore
> +  (let ((revision "1")
> +        (commit "755f084e8720b349026c85afbad58954cb7ff1d4"))
> +    (package
> +      (name "libtoxcore")
> +      (version (string-append "0.0.0" "-"
> +                              revision (string-take commit 8)))
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://github.com/irungentoo/toxcore.git")
> +                      (commit commit)))
> +                (file-name (string-append name "-" version))

I prefer:          (file-name (string-append name "-" version "-checkout"))
I think it is more clean.

> +                (sha256
> +                 (base32
> +                  "0ap1gvlyihnfivv235dbrgsxsiiz70bhlmlr5gn1027w3h5kqz8w"))))
> +      (build-system gnu-build-system)
> +      (native-inputs
> +       `(("autoconf" ,autoconf)
> +         ("automake" ,automake)
> +         ("libtool" ,libtool)
> +         ;; TODO: Add when test suite is capable of passing.
> +         ;; ("check" ,check)
> +         ("pkg-config" ,pkg-config)))
> +      (inputs
> +       `(("libsodium" ,libsodium)
> +         ("opus" ,opus)
> +         ("libvpx" ,libvpx)))
> +      (arguments
> +       `(#:phases
> +         (modify-phases %standard-phases
> +           (add-before 'configure 'autoconf

It should be added after 'unpack' phase, because... I forgot the reason :-)
but it relates to other phases between 'unpack' and 'configure' on "arm"
or "mips" systems.

[...]
> +(define-public toxic
> +  (package
> +    (name "toxic")
> +    (version "0.7.0")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://github.com/JFreegman/"
> +                                  name "/archive/v" version ".tar.gz"))
> +              (file-name (string-append name "-" version))

Don't forget to change it to:

                 (file-name (string-append name "-" version ".tar.gz"))
non such Aug. 21, 2016, 10:14 a.m. UTC | #2
Hi,

thanks for the CPATH info, I will try that.

Alex Kost <alezost@gmail.com> writes:

> ng0 (2016-08-21 05:25 +0300) wrote:
>
>> There are serious cosmetic improvements I need to to make on these
>> patches, I am aware of this, but what I am asking help for is:
>>
>> I've tried for hours many ways to make toxic find "libnotify" and
>> "ncursesw" ... It does not
>> happen... setenv. substitute. ldflags. user_ldflags. cflags. user_cflags. nothing..
>>
>> Can someone shed some light on this?
>
> As I see 'toxic' has a hand-written Makefile, so it probably doesn't use
> pkg-config properly to find "libnotify".  Did you try to add
> "<libnotify-store-dir>/include/libnotify" to CPATH (as it is
> done in 'webkitgtk' package, for example)?

I think so, but I will try again, thanks for the package example.

> [...]
>> +(define-public libtoxcore
>> +  (let ((revision "1")
>> +        (commit "755f084e8720b349026c85afbad58954cb7ff1d4"))
>> +    (package
>> +      (name "libtoxcore")
>> +      (version (string-append "0.0.0" "-"
>> +                              revision (string-take commit 8)))
>> +      (source (origin
>> +                (method git-fetch)
>> +                (uri (git-reference
>> +                      (url "https://github.com/irungentoo/toxcore.git")
>> +                      (commit commit)))
>> +                (file-name (string-append name "-" version))
>
> I prefer:          (file-name (string-append name "-" version "-checkout"))
> I think it is more clean.

^ see "I am aware of the fact that it needs cosmetic changes" or: wip is
very wip at my side usually, I would've changed this before an official
patch send.

>> +                (sha256
>> +                 (base32
>> +                  "0ap1gvlyihnfivv235dbrgsxsiiz70bhlmlr5gn1027w3h5kqz8w"))))
>> +      (build-system gnu-build-system)
>> +      (native-inputs
>> +       `(("autoconf" ,autoconf)
>> +         ("automake" ,automake)
>> +         ("libtool" ,libtool)
>> +         ;; TODO: Add when test suite is capable of passing.
>> +         ;; ("check" ,check)
>> +         ("pkg-config" ,pkg-config)))
>> +      (inputs
>> +       `(("libsodium" ,libsodium)
>> +         ("opus" ,opus)
>> +         ("libvpx" ,libvpx)))
>> +      (arguments
>> +       `(#:phases
>> +         (modify-phases %standard-phases
>> +           (add-before 'configure 'autoconf
>
> It should be added after 'unpack' phase, because... I forgot the reason :-)
> but it relates to other phases between 'unpack' and 'configure' on "arm"
> or "mips" systems.

This package is a version bumped + changed alist to add-after/before
package based on the pacakage davexunit has. I will adjust later.

> [...]
>> +(define-public toxic
>> +  (package
>> +    (name "toxic")
>> +    (version "0.7.0")
>> +    (source (origin
>> +              (method url-fetch)
>> +              (uri (string-append "https://github.com/JFreegman/"
>> +                                  name "/archive/v" version ".tar.gz"))
>> +              (file-name (string-append name "-" version))
>
> Don't forget to change it to:
>
>                  (file-name (string-append name "-" version ".tar.gz"))
>
> -- 
> Alex
non such Aug. 21, 2016, 4:39 p.m. UTC | #3
ng0 <ng0@we.make.ritual.n0.is> writes:

> Hi,
>
> thanks for the CPATH info, I will try that.
>
> Alex Kost <alezost@gmail.com> writes:
>
>> ng0 (2016-08-21 05:25 +0300) wrote:
>>
>>> There are serious cosmetic improvements I need to to make on these
>>> patches, I am aware of this, but what I am asking help for is:
>>>
>>> I've tried for hours many ways to make toxic find "libnotify" and
>>> "ncursesw" ... It does not
>>> happen... setenv. substitute. ldflags. user_ldflags. cflags. user_cflags. nothing..
>>>
>>> Can someone shed some light on this?
>>
>> As I see 'toxic' has a hand-written Makefile, so it probably doesn't use
>> pkg-config properly to find "libnotify".  Did you try to add
>> "<libnotify-store-dir>/include/libnotify" to CPATH (as it is
>> done in 'webkitgtk' package, for example)?
>
> I think so, but I will try again, thanks for the package example.
>
>> [...]
>>> +(define-public libtoxcore
>>> +  (let ((revision "1")
>>> +        (commit "755f084e8720b349026c85afbad58954cb7ff1d4"))
>>> +    (package
>>> +      (name "libtoxcore")
>>> +      (version (string-append "0.0.0" "-"
>>> +                              revision (string-take commit 8)))
>>> +      (source (origin
>>> +                (method git-fetch)
>>> +                (uri (git-reference
>>> +                      (url "https://github.com/irungentoo/toxcore.git")
>>> +                      (commit commit)))
>>> +                (file-name (string-append name "-" version))
>>
>> I prefer:          (file-name (string-append name "-" version "-checkout"))
>> I think it is more clean.
>
> ^ see "I am aware of the fact that it needs cosmetic changes" or: wip is
> very wip at my side usually, I would've changed this before an official
> patch send.
>
>>> +                (sha256
>>> +                 (base32
>>> +                  "0ap1gvlyihnfivv235dbrgsxsiiz70bhlmlr5gn1027w3h5kqz8w"))))
>>> +      (build-system gnu-build-system)
>>> +      (native-inputs
>>> +       `(("autoconf" ,autoconf)
>>> +         ("automake" ,automake)
>>> +         ("libtool" ,libtool)
>>> +         ;; TODO: Add when test suite is capable of passing.
>>> +         ;; ("check" ,check)
>>> +         ("pkg-config" ,pkg-config)))
>>> +      (inputs
>>> +       `(("libsodium" ,libsodium)
>>> +         ("opus" ,opus)
>>> +         ("libvpx" ,libvpx)))
>>> +      (arguments
>>> +       `(#:phases
>>> +         (modify-phases %standard-phases
>>> +           (add-before 'configure 'autoconf
>>
>> It should be added after 'unpack' phase, because... I forgot the reason :-)
>> but it relates to other phases between 'unpack' and 'configure' on "arm"
>> or "mips" systems.
>
> This package is a version bumped + changed alist to add-after/before
> package based on the pacakage davexunit has. I will adjust later.
>
>> [...]
>>> +(define-public toxic
>>> +  (package
>>> +    (name "toxic")
>>> +    (version "0.7.0")
>>> +    (source (origin
>>> +              (method url-fetch)
>>> +              (uri (string-append "https://github.com/JFreegman/"
>>> +                                  name "/archive/v" version ".tar.gz"))
>>> +              (file-name (string-append name "-" version))
>>
>> Don't forget to change it to:
>>
>>                  (file-name (string-append name "-" version ".tar.gz"))

I don't want to fix this. This is upstreams (toxic) problem, so I wait
on the result of my bugtickets.
The utox OrangeGoblin packaged works, I version bumped it.. I will
create an updated patch of libtoxcore, so that OrangeGoblin can send in
utox based on that.
diff mbox

Patch

From 60ef9e92a87af1a09d2cd54a2dae06904a4e211a Mon Sep 17 00:00:00 2001
From: ng0 <ng0@we.make.ritual.n0.is>
Date: Sun, 21 Aug 2016 02:18:02 +0000
Subject: [PATCH 3/3] gnu: Add toxic.

* gnu/packages/messaging.scm (toxic): New variable.
---
 gnu/packages/messaging.scm | 47 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 46 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 0c8bc3d..266b5b7 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -34,10 +34,13 @@ 
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages check)
   #:use-module (gnu packages crypto)
+  #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages documentation)
@@ -63,7 +66,8 @@ 
   #:use-module (gnu packages tls)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages video)
-  #:use-module (gnu packages xiph))
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages textutils))
 
 (define-public libotr
   (package
@@ -538,4 +542,45 @@  end-to-end encryption support; XML console.")
       (license gpl3+)
       (home-page "http://tox.chat"))))
 
+(define-public toxic
+  (package
+    (name "toxic")
+    (version "0.7.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/JFreegman/"
+                                  name "/archive/v" version ".tar.gz"))
+              (file-name (string-append name "-" version))
+              (sha256
+               (base32
+                "01khprl4rrlncnpq9xiq128c0r400snpvx9qjhrfw97xqdfsn7pi"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("libtool" ,libtool)
+         ("pkg-config" ,pkg-config)))
+      (inputs
+       `(("libtoxcore" ,libtoxcore)
+         ("ncurses" ,ncurses)
+         ("curl" ,curl)
+         ("openal" ,openal)
+         ("freealut" ,freealut)
+         ("libnotify" ,libnotify)
+         ("asciidoc" ,asciidoc)
+         ("libx11" ,libx11)
+         ("libvpx" ,libvpx)
+         ("qrencode" ,qrencode)
+         ("libconfig" ,libconfig)
+         ("libsodium" ,libsodium)))
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (delete 'configure)))) ; No configure script
+      (synopsis "Ncurses based Tox client")
+      (description
+       "Yay, new stuff..")
+      (license gpl3+)
+      (home-page "http://tox.chat")))
+
 ;;; messaging.scm ends here
-- 
2.9.3