diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2015-10-05 20:32:54 +0200 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2015-10-13 20:18:44 +0200 |
commit | 91407a8bdfb2dbb95b6cc5c99a44b0925bd464f8 (patch) | |
tree | 87b9ff74fa87a13246ca7a22cdee97132d1cbea8 /pkgs/development/libraries | |
parent | 9a1aa51fed2b62edcce9f1722cfc822cf07f31a8 (diff) | |
download | nixpkgs-91407a8bdfb2dbb95b6cc5c99a44b0925bd464f8.tar nixpkgs-91407a8bdfb2dbb95b6cc5c99a44b0925bd464f8.tar.gz nixpkgs-91407a8bdfb2dbb95b6cc5c99a44b0925bd464f8.tar.bz2 nixpkgs-91407a8bdfb2dbb95b6cc5c99a44b0925bd464f8.tar.lz nixpkgs-91407a8bdfb2dbb95b6cc5c99a44b0925bd464f8.tar.xz nixpkgs-91407a8bdfb2dbb95b6cc5c99a44b0925bd464f8.tar.zst nixpkgs-91407a8bdfb2dbb95b6cc5c99a44b0925bd464f8.zip |
ncurses: split into multiple outputs
Some programs (e.g. tput) might better be moved somewhere else than $dev/bin, but that can be improved later if need be.
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r-- | pkgs/development/libraries/libedit/default.nix | 2 | ||||
-rw-r--r-- | pkgs/development/libraries/ncurses/default.nix | 31 | ||||
-rw-r--r-- | pkgs/development/libraries/slang/default.nix | 5 |
3 files changed, 21 insertions, 17 deletions
diff --git a/pkgs/development/libraries/libedit/default.nix b/pkgs/development/libraries/libedit/default.nix index dc8ecf7e95d..23b26e343db 100644 --- a/pkgs/development/libraries/libedit/default.nix +++ b/pkgs/development/libraries/libedit/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { postInstall = '' find $out/lib -type f | grep '\.\(la\|pc\)''$' | xargs sed -i \ - -e 's,-lncurses[a-z]*,-L${ncurses}/lib -lncursesw,g' + -e 's,-lncurses[a-z]*,-L${ncurses.lib}/lib -lncursesw,g' ''; configureFlags = [ "--enable-widec" ]; diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix index 046c7347f86..04fa1d4b81b 100644 --- a/pkgs/development/libraries/ncurses/default.nix +++ b/pkgs/development/libraries/ncurses/default.nix @@ -16,6 +16,9 @@ stdenv.mkDerivation rec { patches = [ ./clang.patch ]; + outputs = [ "dev" "lib" "out" ]; + setOutputFlags = false; # some aren't supported + configureFlags = [ "--with-shared" "--with-cxx-shared" @@ -24,14 +27,14 @@ stdenv.mkDerivation rec { "--enable-overwrite" # Needed for proper header installation "--enable-pc-files" "--enable-symlinks" + "--libdir=$(lib)/lib" "--includedir=$(dev)/include" "--bindir=$(dev)/bin" ] ++ lib.optional unicode "--enable-widec"; nativeBuildInputs = [ pkgconfig libtool ]; buildInputs = lib.optional (mouseSupport && stdenv.isLinux) gpm; preConfigure = '' - configureFlagsArray+=("--includedir=$out/include") - export PKG_CONFIG_LIBDIR="$out/lib/pkgconfig" + export PKG_CONFIG_LIBDIR="$dev/lib/pkgconfig" mkdir -p "$PKG_CONFIG_LIBDIR" configureFlagsArray+=("--with-pkg-config-libdir=$PKG_CONFIG_LIBDIR") '' + lib.optionalString stdenv.isCygwin '' @@ -47,37 +50,37 @@ stdenv.mkDerivation rec { # 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). - postInstall = '' + postFixup = '' # Determine what suffixes our libraries have suffix="$(awk -F': ' 'f{print $3; f=0} /default library suffix/{f=1}' config.log)" - libs="$(ls $out/lib/pkgconfig | tr ' ' '\n' | sed "s,\(.*\)$suffix\.pc,\1,g")" + libs="$(ls $dev/lib/pkgconfig | tr ' ' '\n' | sed "s,\(.*\)$suffix\.pc,\1,g")" suffixes="$(echo "$suffix" | awk '{for (i=1; i < length($0); i++) {x=substr($0, i+1, length($0)-i); print x}}')" # Get the path to the config util - cfg=$(basename $out/bin/ncurses*-config) + cfg=$(basename $dev/bin/ncurses*-config) # symlink the full suffixed include directory - ln -svf . $out/include/ncurses$suffix + ln -svf . $dev/include/ncurses$suffix for newsuffix in $suffixes ""; do # Create a non-abi versioned config util links - ln -svf $cfg $out/bin/ncurses$newsuffix-config + ln -svf $cfg $dev/bin/ncurses$newsuffix-config # Allow for end users who #include <ncurses?w/*.h> - ln -svf . $out/include/ncurses$newsuffix + ln -svf . $dev/include/ncurses$newsuffix - for lib in $libs; do + for library in $libs; do for dylibtype in so dll dylib; do - if [ -e "$out/lib/lib''${lib}$suffix.$dylibtype" ]; then - ln -svf lib''${lib}$suffix.$dylibtype $out/lib/lib$lib$newsuffix.$dylibtype + if [ -e "$lib/lib/lib''${library}$suffix.$dylibtype" ]; then + ln -svf lib''${library}$suffix.$dylibtype $lib/lib/lib$library$newsuffix.$dylibtype fi done for statictype in a dll.a la; do - if [ -e "$out/lib/lib''${lib}$suffix.$statictype" ]; then - ln -svf lib''${lib}$suffix.$statictype $out/lib/lib$lib$newsuffix.$statictype + if [ -e "$lib/lib/lib''${library}$suffix.$statictype" ]; then + ln -svf lib''${library}$suffix.$statictype $lib/lib/lib$library$newsuffix.$statictype fi done - ln -svf ''${lib}$suffix.pc $out/lib/pkgconfig/$lib$newsuffix.pc + ln -svf ''${library}$suffix.pc $dev/lib/pkgconfig/$library$newsuffix.pc done done ''; diff --git a/pkgs/development/libraries/slang/default.nix b/pkgs/development/libraries/slang/default.nix index bf1f38fbb83..8aeb19ac2e3 100644 --- a/pkgs/development/libraries/slang/default.nix +++ b/pkgs/development/libraries/slang/default.nix @@ -9,9 +9,10 @@ stdenv.mkDerivation rec { # Fix some wrong hardcoded paths preConfigure = '' - sed -i -e "s|/usr/lib/terminfo|${ncurses}/lib/terminfo|" configure - sed -i -e "s|/usr/lib/terminfo|${ncurses}/lib/terminfo|" src/sltermin.c + sed -i -e "s|/usr/lib/terminfo|${ncurses.out}/lib/terminfo|" configure + sed -i -e "s|/usr/lib/terminfo|${ncurses.out}/lib/terminfo|" src/sltermin.c sed -i -e "s|/bin/ln|ln|" src/Makefile.in + sed -i -e "s|-ltermcap|-lncurses|" ./configure ''; configureFlags = "--with-png=${libpng} --with-z=${zlib} --with-pcre=${pcre} --with-readline=${readline}"; buildInputs = [ncurses pcre libpng zlib readline]; |