* [bug#55125] [PATCH 0/9] Cross-compile vcflib for RISC-V
@ 2022-04-26 12:44 Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 1/9] gnu: tabixpp: Use G-expressions Arun Isaac
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: Arun Isaac @ 2022-04-26 12:44 UTC (permalink / raw)
To: 55125; +Cc: Arun Isaac
This patchset patches the vcflib package and dependencies so that they
successfully cross-compile for the riscv64-linux-gnu target.
Arun Isaac (9):
gnu: tabixpp: Use G-expressions.
gnu: tabixpp: Use #:make-flags.
gnu: tabixpp: Use build tools specific to the target.
gnu: tabixpp: Add bzip2 and xz to inputs.
gnu: fastahack: Use G-expressions.
gnu: fastahack: Use compiler specific to the build target.
gnu: vcflib: Use G-expressions.
gnu: vcflib: Find submodule sources in native-inputs during
cross-compilation.
gnu: vcflib: Set absolute path to pkg-config.
gnu/packages/bioinformatics.scm | 257 ++++++++++++++++----------------
1 file changed, 132 insertions(+), 125 deletions(-)
--
2.35.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [bug#55125] [PATCH 1/9] gnu: tabixpp: Use G-expressions.
2022-04-26 12:44 [bug#55125] [PATCH 0/9] Cross-compile vcflib for RISC-V Arun Isaac
@ 2022-04-26 12:46 ` Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 2/9] gnu: tabixpp: Use #:make-flags Arun Isaac
` (7 more replies)
2022-05-07 21:45 ` [bug#55125] [PATCH 0/9] Cross-compile vcflib for RISC-V Ludovic Courtès
2022-05-09 8:31 ` bug#55125: " Efraim Flashner
2 siblings, 8 replies; 13+ messages in thread
From: Arun Isaac @ 2022-04-26 12:46 UTC (permalink / raw)
To: 55125; +Cc: Arun Isaac
* gnu/packages/bioinformatics.scm (tabixpp)[source]: Reindent.
[arguments]: Use search-input-file and search-input-directory.
[source, arguments]: Rewrite using G-expressions. Do not return #t from
snippets and custom phases.
---
gnu/packages/bioinformatics.scm | 80 ++++++++++++++++-----------------
1 file changed, 39 insertions(+), 41 deletions(-)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 40ccba247c..774da809d8 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -14264,49 +14264,48 @@ (define-public tabixpp
(name "tabixpp")
(version "1.1.0")
(source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ekg/tabixpp")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1k2a3vbq96ic4lw72iwp5s3mwwc4xhdffjj584yn6l9637q9j1yd"))
- (modules '((guix build utils)))
- (snippet
- `(begin
- (delete-file-recursively "htslib") #t))))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekg/tabixpp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1k2a3vbq96ic4lw72iwp5s3mwwc4xhdffjj584yn6l9637q9j1yd"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (delete-file-recursively "htslib")))))
(build-system gnu-build-system)
(inputs
(list htslib zlib))
(arguments
- `(#:tests? #f ; There are no tests to run.
- #:phases
- (modify-phases %standard-phases
- (delete 'configure) ; There is no configure phase.
- ;; The build phase needs overriding the location of htslib.
- (replace 'build
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((htslib-ref (assoc-ref inputs "htslib")))
- (invoke "make"
- (string-append "HTS_LIB=" htslib-ref "/lib/libhts.a")
- (string-append "INCLUDES= -I" htslib-ref "/include/htslib")
- "HTS_HEADERS=" ; No need to check for headers here.
- (string-append "LIBPATH=-L. -L" htslib-ref "/include"))
- (invoke "g++" "-shared" "-o" "libtabixpp.so" "tabix.o" "-lhts")
- (invoke "ar" "rcs" "libtabixpp.a" "tabix.o"))))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib"))
- (bin (string-append out "/bin")))
- (install-file "tabix++" bin)
- (install-file "libtabixpp.so" lib)
- (install-file "libtabixpp.a" lib)
- (install-file "tabix.hpp" (string-append out "/include"))
- (mkdir-p (string-append lib "/pkgconfig"))
- (with-output-to-file (string-append lib "/pkgconfig/tabixpp.pc")
- (lambda _
- (format #t "prefix=~a~@
+ (list #:tests? #f ; There are no tests to run.
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ ;; The build phase needs overriding the location of htslib.
+ (replace 'build
+ (lambda* (#:key inputs #:allow-other-keys)
+ (invoke "make"
+ (string-append "HTS_LIB=" (search-input-file inputs "/lib/libhts.a"))
+ (string-append "INCLUDES= -I" (search-input-directory inputs "/include/htslib"))
+ "HTS_HEADERS=" ; No need to check for headers here.
+ (string-append "LIBPATH=-L. -L" (search-input-directory inputs "/include")))
+ (invoke "g++" "-shared" "-o" "libtabixpp.so" "tabix.o" "-lhts")
+ (invoke "ar" "rcs" "libtabixpp.a" "tabix.o")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib"))
+ (bin (string-append out "/bin")))
+ (install-file "tabix++" bin)
+ (install-file "libtabixpp.so" lib)
+ (install-file "libtabixpp.a" lib)
+ (install-file "tabix.hpp" (string-append out "/include"))
+ (mkdir-p (string-append lib "/pkgconfig"))
+ (with-output-to-file (string-append lib "/pkgconfig/tabixpp.pc")
+ (lambda _
+ (format #t "prefix=~a~@
exec_prefix=${prefix}~@
libdir=${exec_prefix}/lib~@
includedir=${prefix}/include~@
@@ -14317,8 +14316,7 @@ (define-public tabixpp
Description: C++ wrapper around tabix project~@
Libs: -L${libdir} -ltabixpp~@
Cflags: -I${includedir}~%"
- out ,version)))
- #t))))))
+ out #$version)))))))))
(home-page "https://github.com/ekg/tabixpp")
(synopsis "C++ wrapper around tabix project")
(description "This is a C++ wrapper around the Tabix project which abstracts
--
2.35.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#55125] [PATCH 2/9] gnu: tabixpp: Use #:make-flags.
2022-04-26 12:46 ` [bug#55125] [PATCH 1/9] gnu: tabixpp: Use G-expressions Arun Isaac
@ 2022-04-26 12:46 ` Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 3/9] gnu: tabixpp: Use build tools specific to the target Arun Isaac
` (6 subsequent siblings)
7 siblings, 0 replies; 13+ messages in thread
From: Arun Isaac @ 2022-04-26 12:46 UTC (permalink / raw)
To: 55125; +Cc: Arun Isaac
* gnu/packages/bioinformatics.scm (tabixpp)[arguments]: Do not override the
build phase. Move the required make arguments to #:make-flags. Add
build-libraries phase.
---
gnu/packages/bioinformatics.scm | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 774da809d8..6c24c1c26f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -14279,18 +14279,18 @@ (define-public tabixpp
(inputs
(list htslib zlib))
(arguments
- (list #:tests? #f ; There are no tests to run.
+ (list #:make-flags #~(list "HTS_HEADERS="
+ (string-append "HTS_LIB="
+ (search-input-file %build-inputs
+ "/lib/libhts.a"))
+ "INCLUDES=")
+ #:tests? #f ; There are no tests to run.
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ; There is no configure phase.
- ;; The build phase needs overriding the location of htslib.
- (replace 'build
+ ;; Build shared and static libraries.
+ (add-after 'build 'build-libraries
(lambda* (#:key inputs #:allow-other-keys)
- (invoke "make"
- (string-append "HTS_LIB=" (search-input-file inputs "/lib/libhts.a"))
- (string-append "INCLUDES= -I" (search-input-directory inputs "/include/htslib"))
- "HTS_HEADERS=" ; No need to check for headers here.
- (string-append "LIBPATH=-L. -L" (search-input-directory inputs "/include")))
(invoke "g++" "-shared" "-o" "libtabixpp.so" "tabix.o" "-lhts")
(invoke "ar" "rcs" "libtabixpp.a" "tabix.o")))
(replace 'install
--
2.35.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#55125] [PATCH 3/9] gnu: tabixpp: Use build tools specific to the target.
2022-04-26 12:46 ` [bug#55125] [PATCH 1/9] gnu: tabixpp: Use G-expressions Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 2/9] gnu: tabixpp: Use #:make-flags Arun Isaac
@ 2022-04-26 12:46 ` Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 4/9] gnu: tabixpp: Add bzip2 and xz to inputs Arun Isaac
` (5 subsequent siblings)
7 siblings, 0 replies; 13+ messages in thread
From: Arun Isaac @ 2022-04-26 12:46 UTC (permalink / raw)
To: 55125; +Cc: Arun Isaac
* gnu/packages/bioinformatics.scm (tabixpp)[arguments]: Set CC and CXX in
#:make-flags. In the build-libraries phase, use cxx-for-target instead of g++
and ar-for-target instead of ar.
---
gnu/packages/bioinformatics.scm | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 6c24c1c26f..e745fa9353 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -14279,7 +14279,9 @@ (define-public tabixpp
(inputs
(list htslib zlib))
(arguments
- (list #:make-flags #~(list "HTS_HEADERS="
+ (list #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "CXX=" #$(cxx-for-target))
+ "HTS_HEADERS="
(string-append "HTS_LIB="
(search-input-file %build-inputs
"/lib/libhts.a"))
@@ -14291,8 +14293,9 @@ (define-public tabixpp
;; Build shared and static libraries.
(add-after 'build 'build-libraries
(lambda* (#:key inputs #:allow-other-keys)
- (invoke "g++" "-shared" "-o" "libtabixpp.so" "tabix.o" "-lhts")
- (invoke "ar" "rcs" "libtabixpp.a" "tabix.o")))
+ (invoke #$(cxx-for-target)
+ "-shared" "-o" "libtabixpp.so" "tabix.o" "-lhts")
+ (invoke #$(ar-for-target) "rcs" "libtabixpp.a" "tabix.o")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
--
2.35.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#55125] [PATCH 4/9] gnu: tabixpp: Add bzip2 and xz to inputs.
2022-04-26 12:46 ` [bug#55125] [PATCH 1/9] gnu: tabixpp: Use G-expressions Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 2/9] gnu: tabixpp: Use #:make-flags Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 3/9] gnu: tabixpp: Use build tools specific to the target Arun Isaac
@ 2022-04-26 12:46 ` Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 5/9] gnu: fastahack: Use G-expressions Arun Isaac
` (4 subsequent siblings)
7 siblings, 0 replies; 13+ messages in thread
From: Arun Isaac @ 2022-04-26 12:46 UTC (permalink / raw)
To: 55125; +Cc: Arun Isaac
tabixpp links to libbz2 from bzip2 and liblzma from xz. Therefore, bzip2 and
xz should be listed in inputs even though they are already present implicitly
in native-inputs. Else, cross-compilation will fail.
* gnu/packages/bioinformatics.scm (tabixpp)[inputs]: Add bzip2 and xz.
---
gnu/packages/bioinformatics.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index e745fa9353..7cdbb748ef 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -14277,7 +14277,7 @@ (define-public tabixpp
(delete-file-recursively "htslib")))))
(build-system gnu-build-system)
(inputs
- (list htslib zlib))
+ (list bzip2 htslib xz zlib))
(arguments
(list #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
(string-append "CXX=" #$(cxx-for-target))
--
2.35.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#55125] [PATCH 5/9] gnu: fastahack: Use G-expressions.
2022-04-26 12:46 ` [bug#55125] [PATCH 1/9] gnu: tabixpp: Use G-expressions Arun Isaac
` (2 preceding siblings ...)
2022-04-26 12:46 ` [bug#55125] [PATCH 4/9] gnu: tabixpp: Add bzip2 and xz to inputs Arun Isaac
@ 2022-04-26 12:46 ` Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 6/9] gnu: fastahack: Use compiler specific to the build target Arun Isaac
` (3 subsequent siblings)
7 siblings, 0 replies; 13+ messages in thread
From: Arun Isaac @ 2022-04-26 12:46 UTC (permalink / raw)
To: 55125; +Cc: Arun Isaac
* gnu/packages/bioinformatics.scm (fastahack)[arguments]: Rewrite
using G-expressions. Do not return #t from custom phases.
---
gnu/packages/bioinformatics.scm | 60 ++++++++++++++++-----------------
1 file changed, 29 insertions(+), 31 deletions(-)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 7cdbb748ef..699a4eaf47 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -14483,36 +14483,35 @@ (define-public fastahack
(base32 "0rp1blskhzxf7vbh253ibpxbgl9wwgyzf1wbkxndi08d3j4vcss9"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; Unclear how to run tests: https://github.com/ekg/fastahack/issues/15
- #:phases
- (modify-phases %standard-phases
- (delete 'configure) ; There is no configure phase.
- (add-after 'unpack 'patch-source
- (lambda _
- (substitute* "Makefile"
- (("-c ") "-c -fPIC "))
- #t))
- (add-after 'build 'build-dynamic
- (lambda _
- (invoke "g++"
- "-shared" "-o" "libfastahack.so"
- "Fasta.o" "FastaHack.o" "split.o" "disorder.o")))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib"))
- (bin (string-append out "/bin")))
- (mkdir-p (string-append out "/include/fastahack"))
- (for-each
- (lambda (file)
- (install-file file (string-append out "/include/fastahack")))
- (find-files "." "\\.h$"))
- (install-file "fastahack" bin)
- (install-file "libfastahack.so" lib)
- (mkdir-p (string-append lib "/pkgconfig"))
- (with-output-to-file (string-append lib "/pkgconfig/fastahack.pc")
+ (list #:tests? #f ; Unclear how to run tests: https://github.com/ekg/fastahack/issues/15
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ (add-after 'unpack 'patch-source
(lambda _
- (format #t "prefix=~a~@
+ (substitute* "Makefile"
+ (("-c ") "-c -fPIC "))))
+ (add-after 'build 'build-dynamic
+ (lambda _
+ (invoke "g++"
+ "-shared" "-o" "libfastahack.so"
+ "Fasta.o" "FastaHack.o" "split.o" "disorder.o")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib"))
+ (bin (string-append out "/bin")))
+ (mkdir-p (string-append out "/include/fastahack"))
+ (for-each
+ (lambda (file)
+ (install-file file (string-append out "/include/fastahack")))
+ (find-files "." "\\.h$"))
+ (install-file "fastahack" bin)
+ (install-file "libfastahack.so" lib)
+ (mkdir-p (string-append lib "/pkgconfig"))
+ (with-output-to-file (string-append lib "/pkgconfig/fastahack.pc")
+ (lambda _
+ (format #t "prefix=~a~@
exec_prefix=${prefix}~@
libdir=${exec_prefix}/lib~@
includedir=${prefix}/include/fastahack~@
@@ -14523,8 +14522,7 @@ (define-public fastahack
Description: Indexing and sequence extraction from FASTA files~@
Libs: -L${libdir} -lfastahack~@
Cflags: -I${includedir}~%"
- out ,version))))
- #t)))))
+ out #$version)))))))))
(home-page "https://github.com/ekg/fastahack")
(synopsis "Indexing and sequence extraction from FASTA files")
(description "Fastahack is a small application for indexing and
--
2.35.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#55125] [PATCH 6/9] gnu: fastahack: Use compiler specific to the build target.
2022-04-26 12:46 ` [bug#55125] [PATCH 1/9] gnu: tabixpp: Use G-expressions Arun Isaac
` (3 preceding siblings ...)
2022-04-26 12:46 ` [bug#55125] [PATCH 5/9] gnu: fastahack: Use G-expressions Arun Isaac
@ 2022-04-26 12:46 ` Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 7/9] gnu: vcflib: Use G-expressions Arun Isaac
` (2 subsequent siblings)
7 siblings, 0 replies; 13+ messages in thread
From: Arun Isaac @ 2022-04-26 12:46 UTC (permalink / raw)
To: 55125; +Cc: Arun Isaac
* gnu/packages/bioinformatics.scm (fastahack)[arguments]: Set CXX in
#:make-flags. In the build-dynamic phase, use cxx-for-target instead of g++.
---
gnu/packages/bioinformatics.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 699a4eaf47..ad69ca59cf 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -14483,7 +14483,8 @@ (define-public fastahack
(base32 "0rp1blskhzxf7vbh253ibpxbgl9wwgyzf1wbkxndi08d3j4vcss9"))))
(build-system gnu-build-system)
(arguments
- (list #:tests? #f ; Unclear how to run tests: https://github.com/ekg/fastahack/issues/15
+ (list #:make-flags #~(list (string-append "CXX=" #$(cxx-for-target)))
+ #:tests? #f ; Unclear how to run tests: https://github.com/ekg/fastahack/issues/15
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ; There is no configure phase.
@@ -14493,7 +14494,7 @@ (define-public fastahack
(("-c ") "-c -fPIC "))))
(add-after 'build 'build-dynamic
(lambda _
- (invoke "g++"
+ (invoke #$(cxx-for-target)
"-shared" "-o" "libfastahack.so"
"Fasta.o" "FastaHack.o" "split.o" "disorder.o")))
(replace 'install
--
2.35.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#55125] [PATCH 7/9] gnu: vcflib: Use G-expressions.
2022-04-26 12:46 ` [bug#55125] [PATCH 1/9] gnu: tabixpp: Use G-expressions Arun Isaac
` (4 preceding siblings ...)
2022-04-26 12:46 ` [bug#55125] [PATCH 6/9] gnu: fastahack: Use compiler specific to the build target Arun Isaac
@ 2022-04-26 12:46 ` Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 8/9] gnu: vcflib: Find submodule sources in native-inputs during cross-compilation Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 9/9] gnu: vcflib: Set absolute path to pkg-config Arun Isaac
7 siblings, 0 replies; 13+ messages in thread
From: Arun Isaac @ 2022-04-26 12:46 UTC (permalink / raw)
To: 55125; +Cc: Arun Isaac
* gnu/packages/bioinformatics.scm (vcflib)[source, arguments]: Rewrite using
G-expressions.
[arguments]: Do not return #t from custom phases.
---
gnu/packages/bioinformatics.scm | 103 ++++++++++++++++----------------
1 file changed, 51 insertions(+), 52 deletions(-)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index ad69ca59cf..d74b8a0eb6 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -14548,27 +14548,27 @@ (define-public vcflib
(base32 "1r7pnajg997zdjkf1b38m14v0zqnfx52w7nbldwh1xpbpahb1hjh"))
(modules '((guix build utils)))
(snippet
- '(begin
- (substitute* "CMakeLists.txt"
- ((".*fastahack.*") "")
- ((".*smithwaterman.*") "")
- (("(pkg_check_modules\\(TABIXPP)" text)
- (string-append
+ #~(begin
+ (substitute* "CMakeLists.txt"
+ ((".*fastahack.*") "")
+ ((".*smithwaterman.*") "")
+ (("(pkg_check_modules\\(TABIXPP)" text)
+ (string-append
"pkg_check_modules(FASTAHACK REQUIRED fastahack)\n"
"pkg_check_modules(SMITHWATERMAN REQUIRED smithwaterman)\n"
text))
- (("\\$\\{TABIXPP_LIBRARIES\\}" text)
- (string-append "${FASTAHACK_LIBRARIES} "
- "${SMITHWATERMAN_LIBRARIES} "
- text)))
- (substitute* (find-files "." "\\.(h|c)(pp)?$")
- (("\"SmithWatermanGotoh.h\"") "<smithwaterman/SmithWatermanGotoh.h>")
- (("\"convert.h\"") "<smithwaterman/convert.h>")
- (("\"disorder.h\"") "<smithwaterman/disorder.h>")
- (("Fasta.h") "fastahack/Fasta.h"))
- (for-each delete-file-recursively
- '("fastahack" "filevercmp" "fsom" "googletest" "intervaltree"
- "libVCFH" "multichoose" "smithwaterman"))))))
+ (("\\$\\{TABIXPP_LIBRARIES\\}" text)
+ (string-append "${FASTAHACK_LIBRARIES} "
+ "${SMITHWATERMAN_LIBRARIES} "
+ text)))
+ (substitute* (find-files "." "\\.(h|c)(pp)?$")
+ (("\"SmithWatermanGotoh.h\"") "<smithwaterman/SmithWatermanGotoh.h>")
+ (("\"convert.h\"") "<smithwaterman/convert.h>")
+ (("\"disorder.h\"") "<smithwaterman/disorder.h>")
+ (("Fasta.h") "fastahack/Fasta.h"))
+ (for-each delete-file-recursively
+ '("fastahack" "filevercmp" "fsom" "googletest" "intervaltree"
+ "libVCFH" "multichoose" "smithwaterman"))))))
(build-system cmake-build-system)
(inputs
(list bzip2
@@ -14589,39 +14589,39 @@ (define-public vcflib
("intervaltree-src" ,(package-source intervaltree))
("multichoose-src" ,(package-source multichoose))))
(arguments
- `(#:tests? #f ; no tests
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'build-shared-library
- (lambda _
- (substitute* "CMakeLists.txt"
- (("vcflib STATIC") "vcflib SHARED"))
- (substitute* "test/Makefile"
- (("libvcflib.a") "libvcflib.so"))))
- (add-after 'unpack 'unpack-submodule-sources
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((unpack (lambda (source target)
- (mkdir target)
- (with-directory-excursion target
- (if (file-is-directory? (assoc-ref inputs source))
- (copy-recursively (assoc-ref inputs source) ".")
- (invoke "tar" "xvf"
- (assoc-ref inputs source)
- "--strip-components=1"))))))
- (and
- (unpack "filevercmp-src" "filevercmp")
- (unpack "fsom-src" "fsom")
- (unpack "intervaltree-src" "intervaltree")
- (unpack "multichoose-src" "multichoose")))))
- ;; This pkg-config file is provided by other distributions.
- (add-after 'install 'install-pkg-config-file
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (pkgconfig (string-append out "/lib/pkgconfig")))
- (mkdir-p pkgconfig)
- (with-output-to-file (string-append pkgconfig "/vcflib.pc")
+ (list #:tests? #f ; no tests
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'build-shared-library
(lambda _
- (format #t "prefix=~a~@
+ (substitute* "CMakeLists.txt"
+ (("vcflib STATIC") "vcflib SHARED"))
+ (substitute* "test/Makefile"
+ (("libvcflib.a") "libvcflib.so"))))
+ (add-after 'unpack 'unpack-submodule-sources
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((unpack (lambda (source target)
+ (mkdir target)
+ (with-directory-excursion target
+ (if (file-is-directory? (assoc-ref inputs source))
+ (copy-recursively (assoc-ref inputs source) ".")
+ (invoke "tar" "xvf"
+ (assoc-ref inputs source)
+ "--strip-components=1"))))))
+ (and
+ (unpack "filevercmp-src" "filevercmp")
+ (unpack "fsom-src" "fsom")
+ (unpack "intervaltree-src" "intervaltree")
+ (unpack "multichoose-src" "multichoose")))))
+ ;; This pkg-config file is provided by other distributions.
+ (add-after 'install 'install-pkg-config-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (pkgconfig (string-append out "/lib/pkgconfig")))
+ (mkdir-p pkgconfig)
+ (with-output-to-file (string-append pkgconfig "/vcflib.pc")
+ (lambda _
+ (format #t "prefix=~a~@
exec_prefix=${prefix}~@
libdir=${exec_prefix}/lib~@
includedir=${prefix}/include~@
@@ -14632,8 +14632,7 @@ (define-public vcflib
Description: C++ library for parsing and manipulating VCF files~@
Libs: -L${libdir} -lvcflib~@
Cflags: -I${includedir}~%"
- out ,version)))
- #t))))))
+ out #$version)))))))))
(home-page "https://github.com/vcflib/vcflib/")
(synopsis "Library for parsing and manipulating VCF files")
(description "Vcflib provides methods to manipulate and interpret
--
2.35.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#55125] [PATCH 8/9] gnu: vcflib: Find submodule sources in native-inputs during cross-compilation.
2022-04-26 12:46 ` [bug#55125] [PATCH 1/9] gnu: tabixpp: Use G-expressions Arun Isaac
` (5 preceding siblings ...)
2022-04-26 12:46 ` [bug#55125] [PATCH 7/9] gnu: vcflib: Use G-expressions Arun Isaac
@ 2022-04-26 12:46 ` Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 9/9] gnu: vcflib: Set absolute path to pkg-config Arun Isaac
7 siblings, 0 replies; 13+ messages in thread
From: Arun Isaac @ 2022-04-26 12:46 UTC (permalink / raw)
To: 55125; +Cc: Arun Isaac
* gnu/packages/bioinformatics.scm (vcflib)[arguments]: In the
unpack-submodule-sources phase, look for submodule sources in both inputs and
native-inputs.
---
gnu/packages/bioinformatics.scm | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index d74b8a0eb6..b4d809b4db 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -14599,15 +14599,17 @@ (define-public vcflib
(substitute* "test/Makefile"
(("libvcflib.a") "libvcflib.so"))))
(add-after 'unpack 'unpack-submodule-sources
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
(let ((unpack (lambda (source target)
(mkdir target)
(with-directory-excursion target
- (if (file-is-directory? (assoc-ref inputs source))
- (copy-recursively (assoc-ref inputs source) ".")
- (invoke "tar" "xvf"
- (assoc-ref inputs source)
- "--strip-components=1"))))))
+ (let ((source (or (assoc-ref inputs source)
+ (assoc-ref native-inputs source))))
+ (if (file-is-directory? source)
+ (copy-recursively source ".")
+ (invoke "tar" "xvf"
+ source
+ "--strip-components=1")))))))
(and
(unpack "filevercmp-src" "filevercmp")
(unpack "fsom-src" "fsom")
--
2.35.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#55125] [PATCH 9/9] gnu: vcflib: Set absolute path to pkg-config.
2022-04-26 12:46 ` [bug#55125] [PATCH 1/9] gnu: tabixpp: Use G-expressions Arun Isaac
` (6 preceding siblings ...)
2022-04-26 12:46 ` [bug#55125] [PATCH 8/9] gnu: vcflib: Find submodule sources in native-inputs during cross-compilation Arun Isaac
@ 2022-04-26 12:46 ` Arun Isaac
7 siblings, 0 replies; 13+ messages in thread
From: Arun Isaac @ 2022-04-26 12:46 UTC (permalink / raw)
To: 55125; +Cc: Arun Isaac
Setting the absolute path to pkg-config is required to support
cross-compilation.
* gnu/packages/bioinformatics.scm (vcflib)[arguments]: Set
PKG_CONFIG_EXECUTABLE in #:configure-flags.
---
gnu/packages/bioinformatics.scm | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index b4d809b4db..7f374873ac 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -14589,7 +14589,13 @@ (define-public vcflib
("intervaltree-src" ,(package-source intervaltree))
("multichoose-src" ,(package-source multichoose))))
(arguments
- (list #:tests? #f ; no tests
+ (list #:configure-flags
+ #~(list (string-append
+ "-DPKG_CONFIG_EXECUTABLE="
+ (search-input-file
+ %build-inputs (string-append
+ "/bin/" #$(pkg-config-for-target)))))
+ #:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'build-shared-library
--
2.35.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#55125] [PATCH 0/9] Cross-compile vcflib for RISC-V
2022-04-26 12:44 [bug#55125] [PATCH 0/9] Cross-compile vcflib for RISC-V Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 1/9] gnu: tabixpp: Use G-expressions Arun Isaac
@ 2022-05-07 21:45 ` Ludovic Courtès
2022-05-12 7:57 ` Arun Isaac
2022-05-09 8:31 ` bug#55125: " Efraim Flashner
2 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2022-05-07 21:45 UTC (permalink / raw)
To: Arun Isaac; +Cc: 55125
Hi Arun,
Arun Isaac <arunisaac@systemreboot.net> skribis:
> This patchset patches the vcflib package and dependencies so that they
> successfully cross-compile for the riscv64-linux-gnu target.
>
> Arun Isaac (9):
> gnu: tabixpp: Use G-expressions.
> gnu: tabixpp: Use #:make-flags.
> gnu: tabixpp: Use build tools specific to the target.
> gnu: tabixpp: Add bzip2 and xz to inputs.
> gnu: fastahack: Use G-expressions.
> gnu: fastahack: Use compiler specific to the build target.
> gnu: vcflib: Use G-expressions.
> gnu: vcflib: Find submodule sources in native-inputs during
> cross-compilation.
> gnu: vcflib: Set absolute path to pkg-config.
I had a quick look: the first patch has a couple of long lines :-), but
apart from that, it LGTM.
Thanks!
Ludo’.
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#55125: [PATCH 0/9] Cross-compile vcflib for RISC-V
2022-04-26 12:44 [bug#55125] [PATCH 0/9] Cross-compile vcflib for RISC-V Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 1/9] gnu: tabixpp: Use G-expressions Arun Isaac
2022-05-07 21:45 ` [bug#55125] [PATCH 0/9] Cross-compile vcflib for RISC-V Ludovic Courtès
@ 2022-05-09 8:31 ` Efraim Flashner
2 siblings, 0 replies; 13+ messages in thread
From: Efraim Flashner @ 2022-05-09 8:31 UTC (permalink / raw)
To: Arun Isaac; +Cc: 55125-done
[-- Attachment #1: Type: text/plain, Size: 248 bytes --]
Looks good to me. Patches pushed!
--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [bug#55125] [PATCH 0/9] Cross-compile vcflib for RISC-V
2022-05-07 21:45 ` [bug#55125] [PATCH 0/9] Cross-compile vcflib for RISC-V Ludovic Courtès
@ 2022-05-12 7:57 ` Arun Isaac
0 siblings, 0 replies; 13+ messages in thread
From: Arun Isaac @ 2022-05-12 7:57 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 55125
Hi Ludo,
> I had a quick look: the first patch has a couple of long lines :-)
I fixed one of the long lines in the fastahack package in
a1a55e5b607bc5ebb3310b5c592f2a2b1161625a. But, there are two more---one
in fastahack and one in vcflib that are probably not easy to fix.
Regards,
Arun
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2022-05-12 7:58 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-26 12:44 [bug#55125] [PATCH 0/9] Cross-compile vcflib for RISC-V Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 1/9] gnu: tabixpp: Use G-expressions Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 2/9] gnu: tabixpp: Use #:make-flags Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 3/9] gnu: tabixpp: Use build tools specific to the target Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 4/9] gnu: tabixpp: Add bzip2 and xz to inputs Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 5/9] gnu: fastahack: Use G-expressions Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 6/9] gnu: fastahack: Use compiler specific to the build target Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 7/9] gnu: vcflib: Use G-expressions Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 8/9] gnu: vcflib: Find submodule sources in native-inputs during cross-compilation Arun Isaac
2022-04-26 12:46 ` [bug#55125] [PATCH 9/9] gnu: vcflib: Set absolute path to pkg-config Arun Isaac
2022-05-07 21:45 ` [bug#55125] [PATCH 0/9] Cross-compile vcflib for RISC-V Ludovic Courtès
2022-05-12 7:57 ` Arun Isaac
2022-05-09 8:31 ` bug#55125: " Efraim Flashner
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.