unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#47582] [PATCH 1/2] gnu: lksctp-tools: Fix build of include file.
@ 2021-04-03 15:20 Hartmut Goebel
  2021-04-03 15:28 ` [bug#47582] [PATCH 2/2] gnu: Add python-pysctp Hartmut Goebel
       [not found] ` <handler.47582.B.16174635254261.ack@debbugs.gnu.org>
  0 siblings, 2 replies; 8+ messages in thread
From: Hartmut Goebel @ 2021-04-03 15:20 UTC (permalink / raw)
  To: 47582

* gnu/packages/patches/lksctp-tools-1.0.18-fix-header-file-name.patch:
  New file.
* gnu/local.mk[patches]: Add it.
* gnu/packages/networking.scm(/lksctp-tools)[source]: Use this patch.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/networking.scm                   |  2 ++
 ...tp-tools-1.0.18-fix-header-file-name.patch | 32 +++++++++++++++++++
 3 files changed, 35 insertions(+)
 create mode 100644 gnu/packages/patches/lksctp-tools-1.0.18-fix-header-file-name.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index deb4ddcede..728c0fc718 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1264,6 +1264,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/libffi-float128-powerpc64le.patch	\
   %D%/packages/patches/libvirt-create-machine-cgroup.patch	\
   %D%/packages/patches/libziparchive-add-includes.patch		\
+  %D%/packages/patches/lksctp-tools-1.0.18-fix-header-file-name.patch \
   %D%/packages/patches/localed-xorg-keyboard.patch		\
   %D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \
   %D%/packages/patches/kiki-level-selection-crash.patch		\
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 7dd484fa94..a227cb2d3e 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -448,6 +448,8 @@ performance across unpredictable networks, such as the Internet.")
          (url "https://github.com/sctp/lksctp-tools")
          (commit (string-append "v" version))))
        (file-name (git-file-name name version))
+       (patches
+        (search-patches "lksctp-tools-1.0.18-fix-header-file-name.patch"))
        (sha256
         (base32 "1x4fwzrlzvfa3vcpja97m8w5g9ir2zrh4zs7zksminrnmdrs0dsr"))))
     (build-system gnu-build-system)
diff --git a/gnu/packages/patches/lksctp-tools-1.0.18-fix-header-file-name.patch b/gnu/packages/patches/lksctp-tools-1.0.18-fix-header-file-name.patch
new file mode 100644
index 0000000000..1ebe6c803d
--- /dev/null
+++ b/gnu/packages/patches/lksctp-tools-1.0.18-fix-header-file-name.patch
@@ -0,0 +1,32 @@
+From 378560050a8f93786c590cc99a55461666205b61 Mon Sep 17 00:00:00 2001
+From: Xin Long <lucien.xin@gmail.com>
+Date: Fri, 24 Aug 2018 01:13:32 +0800
+Subject: [PATCH] build: fix netinet/sctp.h not to be installed
+
+After libcnetinet_HEADERS was set to sctp.h.in, netinet/sctp.h can
+no longer be installed into ${includedir}.
+
+Since "AC_CONFIG_HEADERS([src/include/netinet/sctp.h])" is already
+added into configure.ac, there's no need to generate sctp.h by
+automake.
+
+So we simply set libcnetinet_HEADERS back to sctp.h.
+
+Fixes: 9607dd85e70a ("netinet/sctp.h: dynamically build based on system setup")
+Signed-off-by: Xin Long <lucien.xin@gmail.com>
+Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
+---
+ src/include/netinet/Makefile.am | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/include/netinet/Makefile.am b/src/include/netinet/Makefile.am
+index ca0aac2..965db8c 100644
+--- a/src/include/netinet/Makefile.am
++++ b/src/include/netinet/Makefile.am
+@@ -11,5 +11,4 @@ libcnetinetdir = $(includedir)/netinet
+ # API.
+ include_HEADERS =
+ 
+-libcnetinet_HEADERS = sctp.h.in
+-BUILT_SOURCES = sctp.h
++libcnetinet_HEADERS = sctp.h
-- 
2.21.4





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

* [bug#47582] [PATCH 2/2] gnu: Add python-pysctp.
  2021-04-03 15:20 [bug#47582] [PATCH 1/2] gnu: lksctp-tools: Fix build of include file Hartmut Goebel
@ 2021-04-03 15:28 ` Hartmut Goebel
  2021-04-03 16:12   ` Maxime Devos
       [not found] ` <handler.47582.B.16174635254261.ack@debbugs.gnu.org>
  1 sibling, 1 reply; 8+ messages in thread
From: Hartmut Goebel @ 2021-04-03 15:28 UTC (permalink / raw)
  To: 47582

* gnu/packages/networking.scm(python-pysctp): New variable.
---
 gnu/packages/networking.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index a227cb2d3e..f8ab1bbddb 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -473,6 +473,40 @@ sockets, and also some helper utilities around SCTP.")
       ;; Others.
       license:gpl2+))))
 
+(define-public python-pysctp
+(package
+  (name "python-pysctp")
+  (version "0.6.1")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (pypi-uri "pysctp" version))
+      (sha256
+        (base32 "14h2qlmfi24bizhvvqkfqfa78pzm3911ibrzy9k94i97xy1978dy"))))
+  (build-system python-build-system)
+  (inputs
+   `(("lksctp-tools" ,lksctp-tools)))
+  (arguments
+   `(#:tests? #f  ;; require network
+     #:phases
+     (modify-phases %standard-phases
+       (add-after 'unpack 'patch-setup.py
+         (lambda _
+           (substitute* "setup.py"
+             (("include_dirs\\s*=.*")
+              (string-append "include_dirs = ['.'] + '"
+                             (getenv "C_INCLUDE_PATH") "'.split(':'),"))
+             (("library_dirs\\s*=.*")
+              (string-append "library_dirs = '"
+                             (getenv "LIBRARY_PATH") "'.split(':'),")))
+           #t)))))
+  (home-page "https://github.com/p1sec/pysctp")
+  (synopsis  "Python module for the SCTP protocol stack and library")
+  (description
+    "@code{pysctp} implements the SCTP socket API.  You need a SCTP-aware
+kernel (most are).")
+  (license license:lgpl2.1+)))
+
 (define-public knockd
   (package
     (name "knockd")
-- 
2.21.4





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

* [bug#47582] [PATCH 2/2] gnu: Add python-pysctp.
  2021-04-03 15:28 ` [bug#47582] [PATCH 2/2] gnu: Add python-pysctp Hartmut Goebel
@ 2021-04-03 16:12   ` Maxime Devos
  2021-04-03 17:37     ` Hartmut Goebel
  0 siblings, 1 reply; 8+ messages in thread
From: Maxime Devos @ 2021-04-03 16:12 UTC (permalink / raw)
  To: Hartmut Goebel, 47582

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

On Sat, 2021-04-03 at 17:28 +0200, Hartmut Goebel wrote:
> * gnu/packages/networking.scm(python-pysctp): New variable.
> ---
>  gnu/packages/networking.scm | 34 ++++++++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
> 
> [...]
> +     #:phases
> +     (modify-phases %standard-phases
> +       (add-after 'unpack 'patch-setup.py
> +         (lambda _
> +           (substitute* "setup.py"
> +             (("include_dirs\\s*=.*")
> +              (string-append "include_dirs = ['.'] + '"
> +                             (getenv "C_INCLUDE_PATH") "'.split(':'),"))
> +             (("library_dirs\\s*=.*")
> +              (string-append "library_dirs = '"
> +                             (getenv "LIBRARY_PATH") "'.split(':'),")))
> +           #t)))))

Phases do not need to return #t anymore.  IIUC the warning message that results
if it is left out has been removed on core-updates.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#47582] [PATCH 2/2] gnu: Add python-pysctp.
  2021-04-03 16:12   ` Maxime Devos
@ 2021-04-03 17:37     ` Hartmut Goebel
  2021-04-03 19:01       ` Maxime Devos
  0 siblings, 1 reply; 8+ messages in thread
From: Hartmut Goebel @ 2021-04-03 17:37 UTC (permalink / raw)
  To: Maxime Devos, 47582


[-- Attachment #1.1: Type: text/plain, Size: 405 bytes --]

Am 03.04.21 um 18:12 schrieb Maxime Devos:
> Phases do not need to return #t anymore.  IIUC the warning message that results
> if it is left out has been removed on core-updates.

Okay, will do. Any other remarks?

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |



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

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

* [bug#47582] [PATCH 2/2] gnu: Add python-pysctp.
  2021-04-03 17:37     ` Hartmut Goebel
@ 2021-04-03 19:01       ` Maxime Devos
  2021-04-11 15:07         ` Hartmut Goebel
  0 siblings, 1 reply; 8+ messages in thread
From: Maxime Devos @ 2021-04-03 19:01 UTC (permalink / raw)
  To: Hartmut Goebel, 47582

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

On Sat, 2021-04-03 at 19:37 +0200, Hartmut Goebel wrote:
> Am 03.04.21 um 18:12 schrieb Maxime Devos:
> > Phases do not need to return #t anymore.  IIUC the warning message that results
> > if it is left out has been removed on core-updates.
> 
> Okay, will do. Any other remarks?

About the following code:

> +           (substitute* "setup.py"
> +             (("include_dirs\\s*=.*")
> +              (string-append "include_dirs = ['.'] + '"
> +                             (getenv "C_INCLUDE_PATH") "'.split(':'),"))
> +             (("library_dirs\\s*=.*")
> +              (string-append "library_dirs = '"
> +                             (getenv "LIBRARY_PATH") "'.split(':'),")))

When cross-compiling, this code should most likely use CROSS_C_INCLUDE_PATH
and CROSS_LIBRARY_PATH instead.  (Admittedly, python-build-system does not
support cross-compilation yet, so this is not important ... yet.)

Suggestion: replace (getenv "C_INCLUDE_PATH") with
(getenv ,(if (%current-target-system)
             "CROSS_C_INCLUDE_PATH"
             "C_INCLUDE_PATH")).
Likewise for LIBRARY_PATH.

Some aesthetic nitpicks (YMMV):

> +  (synopsis  "Python module for the SCTP protocol stack and library")
A space has been doubled.

> * gnu/packages/networking.scm(python-pysctp): New variable.

I would put a space between .scm and (python-pysctp).  Most commit messages
do.

+(define-public python-pysctp
+(package
+  (name "python-pysctp")
+  ...

Indentation is wrong here.  See 16.5.4 Formatting Code for how to automatically
indent code.

Greetings,
Maxime.


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#47582] [PATCH 2/2] gnu: Add python-pysctp.
  2021-04-03 19:01       ` Maxime Devos
@ 2021-04-11 15:07         ` Hartmut Goebel
  2021-04-11 15:51           ` Maxime Devos
  0 siblings, 1 reply; 8+ messages in thread
From: Hartmut Goebel @ 2021-04-11 15:07 UTC (permalink / raw)
  To: Maxime Devos, 47582


[-- Attachment #1.1: Type: text/plain, Size: 676 bytes --]

Thanks for the review. I applied most of the changes and poushed as
03e80cf42240f65346713ff414eb2ca628ef0884

If did not apply

> Suggestion: replace (getenv "C_INCLUDE_PATH") with
> (getenv ,(if (%current-target-system)
>              "CROSS_C_INCLUDE_PATH"
>              "C_INCLUDE_PATH")).
> Likewise for LIBRARY_PATH.
since "CROSS_C" is used on 14 times in gnu/packages/*.scm and not at all
in guix/build*. So I assume this is not the way to implement
cross-compiling :-)

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |



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

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

* bug#47582: Acknowledgement ([PATCH 1/2] gnu: lksctp-tools: Fix build of include file.)
       [not found] ` <handler.47582.B.16174635254261.ack@debbugs.gnu.org>
@ 2021-04-11 15:07   ` Hartmut Goebel
  0 siblings, 0 replies; 8+ messages in thread
From: Hartmut Goebel @ 2021-04-11 15:07 UTC (permalink / raw)
  To: 47582-close






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

* [bug#47582] [PATCH 2/2] gnu: Add python-pysctp.
  2021-04-11 15:07         ` Hartmut Goebel
@ 2021-04-11 15:51           ` Maxime Devos
  0 siblings, 0 replies; 8+ messages in thread
From: Maxime Devos @ 2021-04-11 15:51 UTC (permalink / raw)
  To: Hartmut Goebel, 47582

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

On Sun, 2021-04-11 at 17:07 +0200, Hartmut Goebel wrote:
> Thanks for the review. I applied most of the changes and poushed as
> 03e80cf42240f65346713ff414eb2ca628ef0884
> 
> If did not apply
> 
> > Suggestion: replace (getenv "C_INCLUDE_PATH") with
> > (getenv ,(if (%current-target-system)
> >              "CROSS_C_INCLUDE_PATH"
> >              "C_INCLUDE_PATH")).
> > Likewise for LIBRARY_PATH.

I could be wrong about how/when "CROSS_C_INCLUDE_PATH" or "C_INCLUDE_PATH" should
be used.

I don't agree with the following reasoning however:
> since "CROSS_C" is used on 14 times in gnu/packages/*.scm and not at all
> in guix/build*. So I assume this is not the way to implement
> cross-compiling :-)

... as many (much more than 14) packages have cross-compilation bugs.
For example, try searching for "CC=gcc".  Practically all usages are incorrect,
they should use ,(string-append "CC=" (cc-for-target)) instead.

gcc = *not* the cross-compiler
(cc-for-target): when cross-compiling, something like "aarch64-linux-gnu-gcc",
  otherwise simply "gcc".

I've submitted a patch adding a linter, and a patch series fixing some of the
buggy packages (at least instances of "CC=gcc", there may be other bugs).

Links:
https://issues.guix.gnu.org/47676,
https://issues.guix.gnu.org/47693

Greetings,
Maxime.



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

end of thread, other threads:[~2021-04-11 15:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-03 15:20 [bug#47582] [PATCH 1/2] gnu: lksctp-tools: Fix build of include file Hartmut Goebel
2021-04-03 15:28 ` [bug#47582] [PATCH 2/2] gnu: Add python-pysctp Hartmut Goebel
2021-04-03 16:12   ` Maxime Devos
2021-04-03 17:37     ` Hartmut Goebel
2021-04-03 19:01       ` Maxime Devos
2021-04-11 15:07         ` Hartmut Goebel
2021-04-11 15:51           ` Maxime Devos
     [not found] ` <handler.47582.B.16174635254261.ack@debbugs.gnu.org>
2021-04-11 15:07   ` bug#47582: Acknowledgement ([PATCH 1/2] gnu: lksctp-tools: Fix build of include file.) Hartmut Goebel

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