From 57742b35dc0260ad8779438273cccce5f3d6e2c0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 7 Nov 2016 15:19:21 +0100 Subject: [PATCH] =?UTF-8?q?gnu:=20ncurses:=20Install=20pkg-config=20?= =?UTF-8?q?=E2=80=98.pc=E2=80=99=20files.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/ncurses.scm (ncurses)[arguments]: Add ‘--enable-pc-files’ and ‘--with-pkg-config-libdir=’ to #:configure-flags. Create ‘non-wide’ compatibility symbolic links for ‘.pc’ files in the post-install-phase. [native-inputs]: Add pkg-config. --- gnu/packages/ncurses.scm | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm index e21e477f4f..81da864413 100644 --- a/gnu/packages/ncurses.scm +++ b/gnu/packages/ncurses.scm @@ -28,6 +28,7 @@ (define-module (gnu packages ncurses) #:use-module (guix build-system perl) #:use-module (gnu packages) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages swig)) (define-public ncurses @@ -70,7 +71,7 @@ (define-public ncurses (let ((out (assoc-ref outputs "out"))) ;; When building a wide-character (Unicode) build, create backward ;; compatibility links from the the "normal" libraries to the - ;; wide-character libraries (e.g. libncurses.so to libncursesw.so). + ;; wide-character ones (e.g. libncurses.so to libncursesw.so). (with-directory-excursion (string-append out "/lib") (for-each (lambda (lib) (define libw.a @@ -83,6 +84,10 @@ (define lib.so.x (string-append "lib" lib ".so.6")) (define lib.so (string-append "lib" lib ".so")) + (define packagew.pc + (string-append lib "w.pc")) + (define package.pc + (string-append lib ".pc")) (when (file-exists? libw.a) (format #t "creating symlinks for `lib~a'~%" lib) @@ -91,7 +96,11 @@ (define lib.so (false-if-exception (delete-file lib.so)) (call-with-output-file lib.so (lambda (p) - (format p "INPUT (-l~aw)~%" lib))))) + (format p "INPUT (-l~aw)~%" lib)))) + (with-directory-excursion "pkgconfig" + (format #t "creating symlink for `~a'~%" package.pc) + (when (file-exists? packagew.pc) + (symlink packagew.pc package.pc)))) '("curses" "ncurses" "form" "panel" "menu"))))))) (package (name "ncurses") @@ -110,6 +119,11 @@ (define lib.so `(#:configure-flags `("--with-shared" "--without-debug" "--enable-widec" + "--enable-pc-files" + ,(string-append "--with-pkg-config-libdir=" + (assoc-ref %outputs "out") + "/lib/pkgconfig") + ;; By default headers land in an `ncursesw' subdir, which is not ;; what users expect. ,(string-append "--includedir=" (assoc-ref %outputs "out") @@ -130,6 +144,8 @@ (define lib.so (add-after 'unpack 'remove-unneeded-shebang ,remove-shebang-phase)))) (self-native-input? #t) ; for `tic' + (native-inputs + `(("pkg-config" ,pkg-config))) (native-search-paths (list (search-path-specification (variable "TERMINFO_DIRS")