Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] ncurses: add libtinfo.so
@ 2020-04-27 18:59 MarleDK
  2020-04-27 19:22 ` [PR PATCH] [Updated] " MarleDK
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: MarleDK @ 2020-04-27 18:59 UTC (permalink / raw)
  To: ml

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

There is a new pull request by MarleDK against master on the void-packages repository

https://github.com/MarleDK/void-packages master
https://github.com/void-linux/void-packages/pull/21409

ncurses: add libtinfo.so
This change add an extra library "libtinfo.so".
From the documentation:
    When building the ncurses library, organize this as two parts:  the
    curses library (libncurses) and the low-level terminfo library
    (libtinfo).  This is done to accommodate applications
    that use only
    the latter.  The terminfo library is about half
    the size of the total.
This is used by some programs, which will rather look at libtinfo, than
libncurses.

Stack, the Haskell build tool, uses this to determine what resolver it needs, and I can see multiple people have had problems with Stack not running out of the box, this should fix this, and also make Stack work with the latest version resolver version (A resolver is like a set of package versions including ghc, which is supposed to work together)

A patch file from https://github.com/void-linux/void-packages/pull/21409.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-master-21409.patch --]
[-- Type: text/x-diff, Size: 2616 bytes --]

From bb38c030008930abc435c310da74b1017d8cacf9 Mon Sep 17 00:00:00 2001
From: Jakob Rydhof <jakobrydhof@gmail.com>
Date: Mon, 27 Apr 2020 20:36:04 +0200
Subject: [PATCH] ncurses: add libtinfo.so

This change add an extra library "libtinfo.so".
From the documentation:
    When building the ncurses library, organize this as two parts:  the
    curses library (libncurses) and the low-level terminfo library
    (libtinfo).  This is done to accommodate applications
    that use only
    the latter.  The terminfo library is about half
    the size of the total.
This is used by some programs, which will rather look at libtinfo, than
libncurses.
---
 common/shlibs            | 1 +
 srcpkgs/ncurses/template | 6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 4980ef58191..ff6e940aeef 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -72,6 +72,7 @@ libncurses.so.6 ncurses-libs-6.0_1 ignore
 libncurses.so.5 ncurses-libs-6.0_1 ignore
 libncursesw.so.6 ncurses-libs-5.8_1 ignore
 libncursesw.so.5 ncurses-libs-5.8_1 ignore
+libtinfo.so.6 ncurses-libs-6.2_2
 libnetcdf.so.15 netcdf-4.7.0_1
 libformw.so.5 ncurses-libs-5.9_13 ignore
 libformw.so.6 ncurses-libs-5.8_1 ignore
diff --git a/srcpkgs/ncurses/template b/srcpkgs/ncurses/template
index 2e346236043..65451e156c1 100644
--- a/srcpkgs/ncurses/template
+++ b/srcpkgs/ncurses/template
@@ -1,7 +1,7 @@
 # Template file for 'ncurses'
 pkgname=ncurses
 version=6.2
-revision=1
+revision=2
 bootstrap=yes
 configure_args="--enable-big-core"
 short_desc="System V Release 4.0 curses emulation library"
@@ -30,6 +30,7 @@ do_configure() {
 		--with-manpage-symlinks --with-manpage-format=normal \
 		--without-ada --enable-ext-colors \
 		--without-tests --enable-pc-files \
+                --with-termlib=tinfo \
 		--with-pkg-config-libdir=/usr/lib/pkgconfig \
 		ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config \
 		BUILD_CFLAGS="$BUILD_CFLAGS"
@@ -38,6 +39,7 @@ do_configure() {
 	# non-widec build
 	../configure ${configure_args} --with-shared \
 		--without-debug --without-ada --without-tests \
+                --with-termlib=tinfo \
 		--enable-pc-files --with-pkg-config-libdir=/usr/lib/pkgconfig \
 		ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config \
 		BUILD_CFLAGS="$BUILD_CFLAGS"
@@ -93,7 +95,7 @@ do_install() {
 }
 
 ncurses-libs_package() {
-	shlib_provides="libformw.so.5 libmenuw.so.5 libpanelw.so.5 libncursesw.so.5"
+	shlib_provides="libformw.so.5 libmenuw.so.5 libpanelw.so.5 libncursesw.so.5 libtinfo.so.6"
 	short_desc+=" -- shared libraries"
 	pkg_install() {
 		vmove "usr/lib/*.so.*"

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

* Re: [PR PATCH] [Updated] ncurses: add libtinfo.so
  2020-04-27 18:59 [PR PATCH] ncurses: add libtinfo.so MarleDK
@ 2020-04-27 19:22 ` MarleDK
  2020-04-27 22:51 ` Duncaen
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: MarleDK @ 2020-04-27 19:22 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by MarleDK against master on the void-packages repository

https://github.com/MarleDK/void-packages master
https://github.com/void-linux/void-packages/pull/21409

ncurses: add libtinfo.so
This change add an extra library "libtinfo.so".
From the documentation:
    When building the ncurses library, organize this as two parts:  the
    curses library (libncurses) and the low-level terminfo library
    (libtinfo).  This is done to accommodate applications
    that use only
    the latter.  The terminfo library is about half
    the size of the total.
This is used by some programs, which will rather look at libtinfo, than
libncurses.

Stack, the Haskell build tool, uses this to determine what resolver it needs, and I can see multiple people have had problems with Stack not running out of the box, this should fix this, and also make Stack work with the latest version resolver version (A resolver is like a set of package versions including ghc, which is supposed to work together)

A patch file from https://github.com/void-linux/void-packages/pull/21409.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-master-21409.patch --]
[-- Type: text/x-diff, Size: 2588 bytes --]

From 0cb4f6fa266a6244dbd77e042e58215390d202ab Mon Sep 17 00:00:00 2001
From: Jakob Rydhof <jakobrydhof@gmail.com>
Date: Mon, 27 Apr 2020 20:36:04 +0200
Subject: [PATCH] ncurses: add libtinfo.so

This change add an extra library "libtinfo.so".
From the documentation:
    When building the ncurses library, organize this as two parts:  the
    curses library (libncurses) and the low-level terminfo library
    (libtinfo).  This is done to accommodate applications
    that use only
    the latter.  The terminfo library is about half
    the size of the total.
This is used by some programs, which will rather look at libtinfo, than
libncurses.
---
 common/shlibs            | 1 +
 srcpkgs/ncurses/template | 6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 4980ef58191..ff6e940aeef 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -72,6 +72,7 @@ libncurses.so.6 ncurses-libs-6.0_1 ignore
 libncurses.so.5 ncurses-libs-6.0_1 ignore
 libncursesw.so.6 ncurses-libs-5.8_1 ignore
 libncursesw.so.5 ncurses-libs-5.8_1 ignore
+libtinfo.so.6 ncurses-libs-6.2_2
 libnetcdf.so.15 netcdf-4.7.0_1
 libformw.so.5 ncurses-libs-5.9_13 ignore
 libformw.so.6 ncurses-libs-5.8_1 ignore
diff --git a/srcpkgs/ncurses/template b/srcpkgs/ncurses/template
index 2e346236043..ca74c8fa5cd 100644
--- a/srcpkgs/ncurses/template
+++ b/srcpkgs/ncurses/template
@@ -1,7 +1,7 @@
 # Template file for 'ncurses'
 pkgname=ncurses
 version=6.2
-revision=1
+revision=2
 bootstrap=yes
 configure_args="--enable-big-core"
 short_desc="System V Release 4.0 curses emulation library"
@@ -30,6 +30,7 @@ do_configure() {
 		--with-manpage-symlinks --with-manpage-format=normal \
 		--without-ada --enable-ext-colors \
 		--without-tests --enable-pc-files \
+		--with-termlib=tinfo \
 		--with-pkg-config-libdir=/usr/lib/pkgconfig \
 		ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config \
 		BUILD_CFLAGS="$BUILD_CFLAGS"
@@ -38,6 +39,7 @@ do_configure() {
 	# non-widec build
 	../configure ${configure_args} --with-shared \
 		--without-debug --without-ada --without-tests \
+		--with-termlib=tinfo \
 		--enable-pc-files --with-pkg-config-libdir=/usr/lib/pkgconfig \
 		ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config \
 		BUILD_CFLAGS="$BUILD_CFLAGS"
@@ -93,7 +95,7 @@ do_install() {
 }
 
 ncurses-libs_package() {
-	shlib_provides="libformw.so.5 libmenuw.so.5 libpanelw.so.5 libncursesw.so.5"
+	shlib_provides="libformw.so.5 libmenuw.so.5 libpanelw.so.5 libncursesw.so.5 libtinfo.so.6"
 	short_desc+=" -- shared libraries"
 	pkg_install() {
 		vmove "usr/lib/*.so.*"

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

* Re: ncurses: add libtinfo.so
  2020-04-27 18:59 [PR PATCH] ncurses: add libtinfo.so MarleDK
  2020-04-27 19:22 ` [PR PATCH] [Updated] " MarleDK
@ 2020-04-27 22:51 ` Duncaen
  2020-04-28  9:34 ` MarleDK
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Duncaen @ 2020-04-27 22:51 UTC (permalink / raw)
  To: ml

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

New comment by Duncaen on void-packages repository

https://github.com/void-linux/void-packages/pull/21409#issuecomment-620276573

Comment:
Does this resolve the other issues mentioned in https://github.com/void-linux/void-packages/issues/11718 from the last time you tried to enable it @pullmoll?

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

* Re: ncurses: add libtinfo.so
  2020-04-27 18:59 [PR PATCH] ncurses: add libtinfo.so MarleDK
  2020-04-27 19:22 ` [PR PATCH] [Updated] " MarleDK
  2020-04-27 22:51 ` Duncaen
@ 2020-04-28  9:34 ` MarleDK
  2020-04-28 11:10 ` pullmoll
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: MarleDK @ 2020-04-28  9:34 UTC (permalink / raw)
  To: ml

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

New comment by MarleDK on void-packages repository

https://github.com/void-linux/void-packages/pull/21409#issuecomment-620493367

Comment:
> Does this resolve the other issues mentioned in #11718 from the last time you tried to enable it @pullmoll?

Oh, I didn't know this had already been tried and that there were any problems. 
Is there a way I can test problems with dependencies? 

And if this way of adding libtinfo is not possible, would it perhaps be a good idea to simply copy the ncurses template, into a new tinfo-libs package, which would build ncurses with tinfo, but only copy over the libtinfo.so library? 
Or simply add a symlink called libtinfo.so to libncurses.so?

The way I understand this to work, is, that when you build ncurses with `--with-termlib` it removes some functions from the libncurses.so and puts them into libtinfo.so (*I verified this by building both with and without `--with-termlib`, and then using `nm -D` to extract exposed symbols, combining the results, and then diff'ing on the ncurses without termlib*).   
This way libncurses.so would stay the same, and we would only add libtinfo.so.

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

* Re: ncurses: add libtinfo.so
  2020-04-27 18:59 [PR PATCH] ncurses: add libtinfo.so MarleDK
                   ` (2 preceding siblings ...)
  2020-04-28  9:34 ` MarleDK
@ 2020-04-28 11:10 ` pullmoll
  2020-04-28 11:16 ` pullmoll
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pullmoll @ 2020-04-28 11:10 UTC (permalink / raw)
  To: ml

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

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/pull/21409#issuecomment-620539507

Comment:
@Duncaen I completely forgot about #11718 . Strange how a single year of events can perfuse your mind with vacuities.

I think it would be worth a try to vmove `libtinfo.so.*` in a separate `tinfo_packge()` function and also add a `tinfo-devel_package()` which vmoves `libtinfo.so`.

To really split `ncurses` from `tinfo` perhaps we should also split out the header files into an e.g. `ncurses-headers_package()` and depend on this from both, `ncurses-devel` and `tinfo-devel`.

This way no package depending on `ncurses-devel` should see anything of `tinfo` and vice-versa, and then packages like `Stack` can explicitly depend on `tinfo`. Actually `ncurses-devel` and `tinfo-devel` need to be conflicting packages.

In any case this PR has to be tested thoroughly in how it changes (it should not!) how packages depending on `ncurses` are built.

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

* Re: ncurses: add libtinfo.so
  2020-04-27 18:59 [PR PATCH] ncurses: add libtinfo.so MarleDK
                   ` (3 preceding siblings ...)
  2020-04-28 11:10 ` pullmoll
@ 2020-04-28 11:16 ` pullmoll
  2020-04-28 18:23 ` MarleDK
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pullmoll @ 2020-04-28 11:16 UTC (permalink / raw)
  To: ml

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

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/pull/21409#issuecomment-620539507

Comment:
@Duncaen I completely forgot about #11718 . Strange how a single year of events can perfuse your mind with vacuities.

I think it would be worth a try to vmove `libtinfo.so.*` in a separate `tinfo_packge()` function and also add a `tinfo-devel_package()` which vmoves `libtinfo.so`.

To really split `ncurses` from `tinfo` perhaps we should also split out the header files into an e.g. `ncurses-headers_package()` and depend on this from both, `ncurses-devel` and `tinfo-devel`.

This way no package depending on `ncurses-devel` should see anything of `tinfo` and vice-versa, and then packages like `Stack` can explicitly depend on `tinfo`. Actually `ncurses-devel` and `tinfo-devel` need to be conflicting packages.

In any case this PR has to be tested thoroughly in how it changes (it should not!) how packages depending on `ncurses` are built.

@MarleDK your observations make me think that `ncurses` should be built twice, once with (for tinfo) and once without (for ncurses) the `--with-termininfo` option. OTOH this could complicate the `ncurses` template too much. Simply creating a separate `tinfo` or `libtinfo` package and its `-devel` subpackage, and not touch `ncurses` at all, looks like the better choice.

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

* Re: ncurses: add libtinfo.so
  2020-04-27 18:59 [PR PATCH] ncurses: add libtinfo.so MarleDK
                   ` (4 preceding siblings ...)
  2020-04-28 11:16 ` pullmoll
@ 2020-04-28 18:23 ` MarleDK
  2020-05-15 21:12 ` pullmoll
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: MarleDK @ 2020-04-28 18:23 UTC (permalink / raw)
  To: ml

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

New comment by MarleDK on void-packages repository

https://github.com/void-linux/void-packages/pull/21409#issuecomment-620777005

Comment:
> Actually `ncurses-devel` and `tinfo-devel` need to be conflicting packages.

I don't think they should be conflicting. I think the tinfo package should just only provide libtinfo.so*  
But since the ncurses will provide the full ncurses.so* libraries (with both ncurses and tinfo functions), it should be useable by both programs which expect it to provide everything, and programs, which only expect it to provide ncurses without tinfo.

But wouldn't it pose problems leaving it as different packages, especially if they are not updated together? Not by the user, but if ncurses gets its version bumped in the repo, but tinfo does not. 

In the issue #11718 they link to this: https://github.com/commercialhaskell/stack/issues/4711#issuecomment-480614106 
Where it is suggested that some packages simply symlink libtinfo to libncurses. 
Do you think that would be a valid solution? 
In a way it would also be a simpler solution, if libncurses needs all the logic from libtinfo anyway.
I suppose this way it could be made simply by symlinking in ncurses when building, and then create packages which copy the symlinks. 
Or would it then be better just to always include libtinfo symlinked to libncurses?

I will create a new commit where I symlink them, then it should be easy to make it into its own package or include it in ncurses.

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

* Re: ncurses: add libtinfo.so
  2020-04-27 18:59 [PR PATCH] ncurses: add libtinfo.so MarleDK
                   ` (5 preceding siblings ...)
  2020-04-28 18:23 ` MarleDK
@ 2020-05-15 21:12 ` pullmoll
  2020-05-25  9:03 ` [PR PATCH] [Updated] " MarleDK
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pullmoll @ 2020-05-15 21:12 UTC (permalink / raw)
  To: ml

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

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/pull/21409#issuecomment-629487884

Comment:
I think putting the symlink into a separate subpackage which is added to `makedepends` only where it's needed should be ok. That is create the symlink in `do_install()` and add a subpackage:
```
ncurses-libtinfo_package() {
        short_desc+=" - libtinfo.so symlink"
        depends="ncurses-libs-${version}_${revision}"
        pkg_install() {
                vmove usr/lib/libtinfo.so
        }
}
```
I did not test this but just wrote it down as I think it should be.


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

* Re: [PR PATCH] [Updated] ncurses: add libtinfo.so
  2020-04-27 18:59 [PR PATCH] ncurses: add libtinfo.so MarleDK
                   ` (6 preceding siblings ...)
  2020-05-15 21:12 ` pullmoll
@ 2020-05-25  9:03 ` MarleDK
  2020-05-25  9:06 ` MarleDK
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: MarleDK @ 2020-05-25  9:03 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by MarleDK against master on the void-packages repository

https://github.com/MarleDK/void-packages master
https://github.com/void-linux/void-packages/pull/21409

ncurses: add libtinfo.so
This change add an extra library "libtinfo.so".
From the documentation:
    When building the ncurses library, organize this as two parts:  the
    curses library (libncurses) and the low-level terminfo library
    (libtinfo).  This is done to accommodate applications
    that use only
    the latter.  The terminfo library is about half
    the size of the total.
This is used by some programs, which will rather look at libtinfo, than
libncurses.

Stack, the Haskell build tool, uses this to determine what resolver it needs, and I can see multiple people have had problems with Stack not running out of the box, this should fix this, and also make Stack work with the latest version resolver version (A resolver is like a set of package versions including ghc, which is supposed to work together)

A patch file from https://github.com/void-linux/void-packages/pull/21409.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-master-21409.patch --]
[-- Type: text/x-diff, Size: 4464 bytes --]

From 113e685cd862f7fc29e4f5deae26654d42874a5d Mon Sep 17 00:00:00 2001
From: Jakob Rydhof <jakobrydhof@gmail.com>
Date: Mon, 27 Apr 2020 20:36:04 +0200
Subject: [PATCH] ncurses: add libtinfo.so

This change adds libtinfo.so as a symlink to libncurses.so.
And some other relevant changes around it.
This is used by some programs, which will rather look at libtinfo, than
libncurses.
libncurses provides the same library functions as libtinfo as it is
currently being built, so this way both programs looking for libncurses
will work the same, and programs looking for libtinfo will also work.
---
 common/shlibs                  |  1 +
 srcpkgs/ncurses-libtinfo-devel |  1 +
 srcpkgs/ncurses-libtinfo-libs  |  1 +
 srcpkgs/ncurses/template       | 49 +++++++++++++++++++++++++++++++---
 4 files changed, 48 insertions(+), 4 deletions(-)
 create mode 120000 srcpkgs/ncurses-libtinfo-devel
 create mode 120000 srcpkgs/ncurses-libtinfo-libs

diff --git a/common/shlibs b/common/shlibs
index 4980ef58191..01adac33b8b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -72,6 +72,7 @@ libncurses.so.6 ncurses-libs-6.0_1 ignore
 libncurses.so.5 ncurses-libs-6.0_1 ignore
 libncursesw.so.6 ncurses-libs-5.8_1 ignore
 libncursesw.so.5 ncurses-libs-5.8_1 ignore
+libtinfo.so.6 ncurses-libtinfo-libs-6.2_2
 libnetcdf.so.15 netcdf-4.7.0_1
 libformw.so.5 ncurses-libs-5.9_13 ignore
 libformw.so.6 ncurses-libs-5.8_1 ignore
diff --git a/srcpkgs/ncurses-libtinfo-devel b/srcpkgs/ncurses-libtinfo-devel
new file mode 120000
index 00000000000..ebb49ce34fe
--- /dev/null
+++ b/srcpkgs/ncurses-libtinfo-devel
@@ -0,0 +1 @@
+ncurses
\ No newline at end of file
diff --git a/srcpkgs/ncurses-libtinfo-libs b/srcpkgs/ncurses-libtinfo-libs
new file mode 120000
index 00000000000..ebb49ce34fe
--- /dev/null
+++ b/srcpkgs/ncurses-libtinfo-libs
@@ -0,0 +1 @@
+ncurses
\ No newline at end of file
diff --git a/srcpkgs/ncurses/template b/srcpkgs/ncurses/template
index 2e346236043..b07fbf52129 100644
--- a/srcpkgs/ncurses/template
+++ b/srcpkgs/ncurses/template
@@ -1,7 +1,7 @@
 # Template file for 'ncurses'
 pkgname=ncurses
 version=6.2
-revision=1
+revision=2
 bootstrap=yes
 configure_args="--enable-big-core"
 short_desc="System V Release 4.0 curses emulation library"
@@ -79,6 +79,16 @@ do_install() {
 	install -Dm755 lib/libncurses.so.${version} \
 		${DESTDIR}/usr/lib/libncurses.so.${version}
 
+	# Create libtinfo symlinks.
+	ln -sfr ${DESTDIR}/usr/lib/libncursesw.so \
+		${DESTDIR}/usr/lib/libtinfo.so
+	ln -sfr ${DESTDIR}/usr/lib/libncursesw.so.${version} \
+		${DESTDIR}/usr/lib/libtinfo.so.${version}
+	ln -sfr ${DESTDIR}/usr/lib/libtinfo.so.${version} \
+		${DESTDIR}/usr/lib/libtinfo.so.${version:0:1}
+	ln -sfr ${DESTDIR}/usr/lib/pkgconfig/ncursesw.pc \
+		${DESTDIR}/usr/lib/pkgconfig/tinfo.pc
+
 	# Create compat symlinks.
 	for f in ncurses form panel menu; do
 		ln -sfr ${DESTDIR}/usr/lib/lib${f}w.so.6 \
@@ -96,7 +106,10 @@ ncurses-libs_package() {
 	shlib_provides="libformw.so.5 libmenuw.so.5 libpanelw.so.5 libncursesw.so.5"
 	short_desc+=" -- shared libraries"
 	pkg_install() {
-		vmove "usr/lib/*.so.*"
+		vmove "usr/lib/libform*.so.*"
+		vmove "usr/lib/libmenu*.so.*"
+		vmove "usr/lib/libncurses*.so.*"
+		vmove "usr/lib/libpanel*.so.*"
 	}
 }
 ncurses-devel_package() {
@@ -105,9 +118,17 @@ ncurses-devel_package() {
 	pkg_install() {
 		vmove "usr/bin/ncurses*-config"
 		vmove usr/include
-		vmove usr/lib/pkgconfig
+		vmove usr/lib/pkgconfig/ncursesw.pc
+		vmove usr/lib/pkgconfig/formw.pc
+		vmove usr/lib/pkgconfig/menuw.pc
+		vmove usr/lib/pkgconfig/ncurses++w.pc
+		vmove usr/lib/pkgconfig/panelw.pc
 		vmove "usr/lib/*.a"
-		vmove "usr/lib/*.so"
+		vmove "usr/lib/libcurses*.so"
+		vmove "usr/lib/libform*.so"
+		vmove "usr/lib/libmenu*.so"
+		vmove "usr/lib/libncurses*.so"
+		vmove "usr/lib/libpanel*.so"
 		vmove usr/share/man/man3
 		vmove usr/share/man/man1/ncursesw6-config.1
 	}
@@ -130,3 +151,23 @@ ncurses-term_package() {
 		vmove usr/share/terminfo
 	}
 }
+
+ncurses-libtinfo-libs_package() {
+	shlib_provides=" libtinfo.so.6"
+	depends="ncurses-libs-${version}_${revision}"
+	short_desc+=" - libtinfo.so symlink"
+	archs=noarch
+	pkg_install() {
+		vmove "usr/lib/libtinfo*.so.*"
+	}
+}
+
+ncurses-libtinfo-devel_package() {
+	depends="ncurses-devel-${version}_${revision}"
+	depends+=" ncurses-libtinfo-libs-${version}_${revision}"
+	archs=noarch
+	pkg_install() {
+		vmove usr/lib/libtinfo.so
+		vmove "usr/lib/pkgconfig/tinfo.pc"
+	}
+}

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

* Re: ncurses: add libtinfo.so
  2020-04-27 18:59 [PR PATCH] ncurses: add libtinfo.so MarleDK
                   ` (7 preceding siblings ...)
  2020-05-25  9:03 ` [PR PATCH] [Updated] " MarleDK
@ 2020-05-25  9:06 ` MarleDK
  2020-05-26  6:36 ` [PR PATCH] [Updated] " MarleDK
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: MarleDK @ 2020-05-25  9:06 UTC (permalink / raw)
  To: ml

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

New comment by MarleDK on void-packages repository

https://github.com/void-linux/void-packages/pull/21409#issuecomment-633466487

Comment:
I have been quite busy, so I had to put this on hold for a bit. 
But now I have changed things to symlink libtinfo, and only copy the right files in the different subpackages. 
I have tested that all the previous packages provide the same files using xls. 
And that installing `ncurses-libtinfo-libs` makes Haskell Stack work correctly.

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

* Re: [PR PATCH] [Updated] ncurses: add libtinfo.so
  2020-04-27 18:59 [PR PATCH] ncurses: add libtinfo.so MarleDK
                   ` (8 preceding siblings ...)
  2020-05-25  9:06 ` MarleDK
@ 2020-05-26  6:36 ` MarleDK
  2020-05-27  5:46 ` MarleDK
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: MarleDK @ 2020-05-26  6:36 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by MarleDK against master on the void-packages repository

https://github.com/MarleDK/void-packages master
https://github.com/void-linux/void-packages/pull/21409

ncurses: add libtinfo.so
This change add an extra library "libtinfo.so".
From the documentation:
    When building the ncurses library, organize this as two parts:  the
    curses library (libncurses) and the low-level terminfo library
    (libtinfo).  This is done to accommodate applications
    that use only
    the latter.  The terminfo library is about half
    the size of the total.
This is used by some programs, which will rather look at libtinfo, than
libncurses.

Stack, the Haskell build tool, uses this to determine what resolver it needs, and I can see multiple people have had problems with Stack not running out of the box, this should fix this, and also make Stack work with the latest version resolver version (A resolver is like a set of package versions including ghc, which is supposed to work together)

A patch file from https://github.com/void-linux/void-packages/pull/21409.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-master-21409.patch --]
[-- Type: text/x-diff, Size: 4430 bytes --]

From 291bbad645841c6d219ec877c60a7fd6123b0ecb Mon Sep 17 00:00:00 2001
From: Jakob Rydhof <jakobrydhof@gmail.com>
Date: Mon, 27 Apr 2020 20:36:04 +0200
Subject: [PATCH] ncurses: add libtinfo.so

This change adds libtinfo.so as a symlink to libncurses.so.
And some other relevant changes around it.
This is used by some programs, which will rather look at libtinfo, than
libncurses.
libncurses provides the same library functions as libtinfo as it is
currently being built, so this way both programs looking for libncurses
will work the same, and programs looking for libtinfo will also work.
---
 common/shlibs                  |  1 +
 srcpkgs/ncurses-libtinfo-devel |  1 +
 srcpkgs/ncurses-libtinfo-libs  |  1 +
 srcpkgs/ncurses/template       | 48 +++++++++++++++++++++++++++++++---
 4 files changed, 47 insertions(+), 4 deletions(-)
 create mode 120000 srcpkgs/ncurses-libtinfo-devel
 create mode 120000 srcpkgs/ncurses-libtinfo-libs

diff --git a/common/shlibs b/common/shlibs
index 4980ef58191..01adac33b8b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -72,6 +72,7 @@ libncurses.so.6 ncurses-libs-6.0_1 ignore
 libncurses.so.5 ncurses-libs-6.0_1 ignore
 libncursesw.so.6 ncurses-libs-5.8_1 ignore
 libncursesw.so.5 ncurses-libs-5.8_1 ignore
+libtinfo.so.6 ncurses-libtinfo-libs-6.2_2
 libnetcdf.so.15 netcdf-4.7.0_1
 libformw.so.5 ncurses-libs-5.9_13 ignore
 libformw.so.6 ncurses-libs-5.8_1 ignore
diff --git a/srcpkgs/ncurses-libtinfo-devel b/srcpkgs/ncurses-libtinfo-devel
new file mode 120000
index 00000000000..ebb49ce34fe
--- /dev/null
+++ b/srcpkgs/ncurses-libtinfo-devel
@@ -0,0 +1 @@
+ncurses
\ No newline at end of file
diff --git a/srcpkgs/ncurses-libtinfo-libs b/srcpkgs/ncurses-libtinfo-libs
new file mode 120000
index 00000000000..ebb49ce34fe
--- /dev/null
+++ b/srcpkgs/ncurses-libtinfo-libs
@@ -0,0 +1 @@
+ncurses
\ No newline at end of file
diff --git a/srcpkgs/ncurses/template b/srcpkgs/ncurses/template
index 2e346236043..5c686db66b7 100644
--- a/srcpkgs/ncurses/template
+++ b/srcpkgs/ncurses/template
@@ -1,7 +1,7 @@
 # Template file for 'ncurses'
 pkgname=ncurses
 version=6.2
-revision=1
+revision=2
 bootstrap=yes
 configure_args="--enable-big-core"
 short_desc="System V Release 4.0 curses emulation library"
@@ -79,6 +79,16 @@ do_install() {
 	install -Dm755 lib/libncurses.so.${version} \
 		${DESTDIR}/usr/lib/libncurses.so.${version}
 
+	# Create libtinfo symlinks.
+	ln -sfr ${DESTDIR}/usr/lib/libncursesw.so \
+		${DESTDIR}/usr/lib/libtinfo.so
+	ln -sfr ${DESTDIR}/usr/lib/libncursesw.so.${version} \
+		${DESTDIR}/usr/lib/libtinfo.so.${version}
+	ln -sfr ${DESTDIR}/usr/lib/libtinfo.so.${version} \
+		${DESTDIR}/usr/lib/libtinfo.so.${version:0:1}
+	ln -sfr ${DESTDIR}/usr/lib/pkgconfig/ncursesw.pc \
+		${DESTDIR}/usr/lib/pkgconfig/tinfo.pc
+
 	# Create compat symlinks.
 	for f in ncurses form panel menu; do
 		ln -sfr ${DESTDIR}/usr/lib/lib${f}w.so.6 \
@@ -96,7 +106,10 @@ ncurses-libs_package() {
 	shlib_provides="libformw.so.5 libmenuw.so.5 libpanelw.so.5 libncursesw.so.5"
 	short_desc+=" -- shared libraries"
 	pkg_install() {
-		vmove "usr/lib/*.so.*"
+		vmove "usr/lib/libform*.so.*"
+		vmove "usr/lib/libmenu*.so.*"
+		vmove "usr/lib/libncurses*.so.*"
+		vmove "usr/lib/libpanel*.so.*"
 	}
 }
 ncurses-devel_package() {
@@ -105,9 +118,17 @@ ncurses-devel_package() {
 	pkg_install() {
 		vmove "usr/bin/ncurses*-config"
 		vmove usr/include
-		vmove usr/lib/pkgconfig
+		vmove usr/lib/pkgconfig/ncursesw.pc
+		vmove usr/lib/pkgconfig/formw.pc
+		vmove usr/lib/pkgconfig/menuw.pc
+		vmove usr/lib/pkgconfig/ncurses++w.pc
+		vmove usr/lib/pkgconfig/panelw.pc
 		vmove "usr/lib/*.a"
-		vmove "usr/lib/*.so"
+		vmove "usr/lib/libcurses*.so"
+		vmove "usr/lib/libform*.so"
+		vmove "usr/lib/libmenu*.so"
+		vmove "usr/lib/libncurses*.so"
+		vmove "usr/lib/libpanel*.so"
 		vmove usr/share/man/man3
 		vmove usr/share/man/man1/ncursesw6-config.1
 	}
@@ -130,3 +151,22 @@ ncurses-term_package() {
 		vmove usr/share/terminfo
 	}
 }
+
+ncurses-libtinfo-libs_package() {
+	depends="ncurses-libs-${version}_${revision}"
+	short_desc+=" - libtinfo.so symlink"
+	archs=noarch
+	pkg_install() {
+		vmove "usr/lib/libtinfo*.so.*"
+	}
+}
+
+ncurses-libtinfo-devel_package() {
+	depends="ncurses-devel-${version}_${revision}"
+	depends+=" ncurses-libtinfo-libs-${version}_${revision}"
+	archs=noarch
+	pkg_install() {
+		vmove usr/lib/libtinfo.so
+		vmove "usr/lib/pkgconfig/tinfo.pc"
+	}
+}

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

* Re: [PR PATCH] [Updated] ncurses: add libtinfo.so
  2020-04-27 18:59 [PR PATCH] ncurses: add libtinfo.so MarleDK
                   ` (9 preceding siblings ...)
  2020-05-26  6:36 ` [PR PATCH] [Updated] " MarleDK
@ 2020-05-27  5:46 ` MarleDK
  2020-05-27  5:48 ` MarleDK
  2020-05-27 14:29 ` [PR PATCH] [Merged]: " pullmoll
  12 siblings, 0 replies; 14+ messages in thread
From: MarleDK @ 2020-05-27  5:46 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by MarleDK against master on the void-packages repository

https://github.com/MarleDK/void-packages master
https://github.com/void-linux/void-packages/pull/21409

ncurses: add libtinfo.so
This change add an extra library "libtinfo.so".
From the documentation:
    When building the ncurses library, organize this as two parts:  the
    curses library (libncurses) and the low-level terminfo library
    (libtinfo).  This is done to accommodate applications
    that use only
    the latter.  The terminfo library is about half
    the size of the total.
This is used by some programs, which will rather look at libtinfo, than
libncurses.

Stack, the Haskell build tool, uses this to determine what resolver it needs, and I can see multiple people have had problems with Stack not running out of the box, this should fix this, and also make Stack work with the latest version resolver version (A resolver is like a set of package versions including ghc, which is supposed to work together)

A patch file from https://github.com/void-linux/void-packages/pull/21409.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-master-21409.patch --]
[-- Type: text/x-diff, Size: 4400 bytes --]

From e474c9df2e5b2c544f3f3d479de66e4749e41091 Mon Sep 17 00:00:00 2001
From: Jakob Rydhof <jakobrydhof@gmail.com>
Date: Mon, 27 Apr 2020 20:36:04 +0200
Subject: [PATCH] ncurses: add libtinfo.so

This change adds libtinfo.so as a symlink to libncurses.so.
And some other relevant changes around it.
This is used by some programs, which will rather look at libtinfo, than
libncurses.
libncurses provides the same library functions as libtinfo as it is
currently being built, so this way both programs looking for libncurses
will work the same, and programs looking for libtinfo will also work.
---
 common/shlibs                  |  1 +
 srcpkgs/ncurses-libtinfo-devel |  1 +
 srcpkgs/ncurses-libtinfo-libs  |  1 +
 srcpkgs/ncurses/template       | 46 +++++++++++++++++++++++++++++++---
 4 files changed, 45 insertions(+), 4 deletions(-)
 create mode 120000 srcpkgs/ncurses-libtinfo-devel
 create mode 120000 srcpkgs/ncurses-libtinfo-libs

diff --git a/common/shlibs b/common/shlibs
index 4980ef58191..01adac33b8b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -72,6 +72,7 @@ libncurses.so.6 ncurses-libs-6.0_1 ignore
 libncurses.so.5 ncurses-libs-6.0_1 ignore
 libncursesw.so.6 ncurses-libs-5.8_1 ignore
 libncursesw.so.5 ncurses-libs-5.8_1 ignore
+libtinfo.so.6 ncurses-libtinfo-libs-6.2_2
 libnetcdf.so.15 netcdf-4.7.0_1
 libformw.so.5 ncurses-libs-5.9_13 ignore
 libformw.so.6 ncurses-libs-5.8_1 ignore
diff --git a/srcpkgs/ncurses-libtinfo-devel b/srcpkgs/ncurses-libtinfo-devel
new file mode 120000
index 00000000000..ebb49ce34fe
--- /dev/null
+++ b/srcpkgs/ncurses-libtinfo-devel
@@ -0,0 +1 @@
+ncurses
\ No newline at end of file
diff --git a/srcpkgs/ncurses-libtinfo-libs b/srcpkgs/ncurses-libtinfo-libs
new file mode 120000
index 00000000000..ebb49ce34fe
--- /dev/null
+++ b/srcpkgs/ncurses-libtinfo-libs
@@ -0,0 +1 @@
+ncurses
\ No newline at end of file
diff --git a/srcpkgs/ncurses/template b/srcpkgs/ncurses/template
index 2e346236043..fa8f0984d74 100644
--- a/srcpkgs/ncurses/template
+++ b/srcpkgs/ncurses/template
@@ -1,7 +1,7 @@
 # Template file for 'ncurses'
 pkgname=ncurses
 version=6.2
-revision=1
+revision=2
 bootstrap=yes
 configure_args="--enable-big-core"
 short_desc="System V Release 4.0 curses emulation library"
@@ -79,6 +79,16 @@ do_install() {
 	install -Dm755 lib/libncurses.so.${version} \
 		${DESTDIR}/usr/lib/libncurses.so.${version}
 
+	# Create libtinfo symlinks.
+	ln -sfr ${DESTDIR}/usr/lib/libncursesw.so \
+		${DESTDIR}/usr/lib/libtinfo.so
+	ln -sfr ${DESTDIR}/usr/lib/libncursesw.so.${version} \
+		${DESTDIR}/usr/lib/libtinfo.so.${version}
+	ln -sfr ${DESTDIR}/usr/lib/libtinfo.so.${version} \
+		${DESTDIR}/usr/lib/libtinfo.so.${version:0:1}
+	ln -sfr ${DESTDIR}/usr/lib/pkgconfig/ncursesw.pc \
+		${DESTDIR}/usr/lib/pkgconfig/tinfo.pc
+
 	# Create compat symlinks.
 	for f in ncurses form panel menu; do
 		ln -sfr ${DESTDIR}/usr/lib/lib${f}w.so.6 \
@@ -96,7 +106,10 @@ ncurses-libs_package() {
 	shlib_provides="libformw.so.5 libmenuw.so.5 libpanelw.so.5 libncursesw.so.5"
 	short_desc+=" -- shared libraries"
 	pkg_install() {
-		vmove "usr/lib/*.so.*"
+		vmove "usr/lib/libform*.so.*"
+		vmove "usr/lib/libmenu*.so.*"
+		vmove "usr/lib/libncurses*.so.*"
+		vmove "usr/lib/libpanel*.so.*"
 	}
 }
 ncurses-devel_package() {
@@ -105,9 +118,17 @@ ncurses-devel_package() {
 	pkg_install() {
 		vmove "usr/bin/ncurses*-config"
 		vmove usr/include
-		vmove usr/lib/pkgconfig
+		vmove usr/lib/pkgconfig/ncursesw.pc
+		vmove usr/lib/pkgconfig/formw.pc
+		vmove usr/lib/pkgconfig/menuw.pc
+		vmove usr/lib/pkgconfig/ncurses++w.pc
+		vmove usr/lib/pkgconfig/panelw.pc
 		vmove "usr/lib/*.a"
-		vmove "usr/lib/*.so"
+		vmove "usr/lib/libcurses*.so"
+		vmove "usr/lib/libform*.so"
+		vmove "usr/lib/libmenu*.so"
+		vmove "usr/lib/libncurses*.so"
+		vmove "usr/lib/libpanel*.so"
 		vmove usr/share/man/man3
 		vmove usr/share/man/man1/ncursesw6-config.1
 	}
@@ -130,3 +151,20 @@ ncurses-term_package() {
 		vmove usr/share/terminfo
 	}
 }
+
+ncurses-libtinfo-libs_package() {
+	depends="ncurses-libs-${version}_${revision}"
+	short_desc+=" - libtinfo.so symlink"
+	pkg_install() {
+		vmove "usr/lib/libtinfo*.so.*"
+	}
+}
+
+ncurses-libtinfo-devel_package() {
+	depends="ncurses-devel-${version}_${revision}"
+	depends+=" ncurses-libtinfo-libs-${version}_${revision}"
+	pkg_install() {
+		vmove usr/lib/libtinfo.so
+		vmove "usr/lib/pkgconfig/tinfo.pc"
+	}
+}

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

* Re: [PR PATCH] [Updated] ncurses: add libtinfo.so
  2020-04-27 18:59 [PR PATCH] ncurses: add libtinfo.so MarleDK
                   ` (10 preceding siblings ...)
  2020-05-27  5:46 ` MarleDK
@ 2020-05-27  5:48 ` MarleDK
  2020-05-27 14:29 ` [PR PATCH] [Merged]: " pullmoll
  12 siblings, 0 replies; 14+ messages in thread
From: MarleDK @ 2020-05-27  5:48 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by MarleDK against master on the void-packages repository

https://github.com/MarleDK/void-packages master
https://github.com/void-linux/void-packages/pull/21409

ncurses: add libtinfo.so
This change add an extra library "libtinfo.so".
From the documentation:
    When building the ncurses library, organize this as two parts:  the
    curses library (libncurses) and the low-level terminfo library
    (libtinfo).  This is done to accommodate applications
    that use only
    the latter.  The terminfo library is about half
    the size of the total.
This is used by some programs, which will rather look at libtinfo, than
libncurses.

Stack, the Haskell build tool, uses this to determine what resolver it needs, and I can see multiple people have had problems with Stack not running out of the box, this should fix this, and also make Stack work with the latest version resolver version (A resolver is like a set of package versions including ghc, which is supposed to work together)

A patch file from https://github.com/void-linux/void-packages/pull/21409.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-master-21409.patch --]
[-- Type: text/x-diff, Size: 4459 bytes --]

From 5dc3396260d607148fe64ed8906aae9312cf41f8 Mon Sep 17 00:00:00 2001
From: Jakob Rydhof <jakobrydhof@gmail.com>
Date: Mon, 27 Apr 2020 20:36:04 +0200
Subject: [PATCH] ncurses: add libtinfo.so

This change adds libtinfo.so as a symlink to libncurses.so.
And some other relevant changes around it.
This is used by some programs, which will rather look at libtinfo, than
libncurses.
libncurses provides the same library functions as libtinfo as it is
currently being built, so this way both programs looking for libncurses
will work the same, and programs looking for libtinfo will also work.
---
 common/shlibs                  |  1 +
 srcpkgs/ncurses-libtinfo-devel |  1 +
 srcpkgs/ncurses-libtinfo-libs  |  1 +
 srcpkgs/ncurses/template       | 47 +++++++++++++++++++++++++++++++---
 4 files changed, 46 insertions(+), 4 deletions(-)
 create mode 120000 srcpkgs/ncurses-libtinfo-devel
 create mode 120000 srcpkgs/ncurses-libtinfo-libs

diff --git a/common/shlibs b/common/shlibs
index 4980ef58191..01adac33b8b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -72,6 +72,7 @@ libncurses.so.6 ncurses-libs-6.0_1 ignore
 libncurses.so.5 ncurses-libs-6.0_1 ignore
 libncursesw.so.6 ncurses-libs-5.8_1 ignore
 libncursesw.so.5 ncurses-libs-5.8_1 ignore
+libtinfo.so.6 ncurses-libtinfo-libs-6.2_2
 libnetcdf.so.15 netcdf-4.7.0_1
 libformw.so.5 ncurses-libs-5.9_13 ignore
 libformw.so.6 ncurses-libs-5.8_1 ignore
diff --git a/srcpkgs/ncurses-libtinfo-devel b/srcpkgs/ncurses-libtinfo-devel
new file mode 120000
index 00000000000..ebb49ce34fe
--- /dev/null
+++ b/srcpkgs/ncurses-libtinfo-devel
@@ -0,0 +1 @@
+ncurses
\ No newline at end of file
diff --git a/srcpkgs/ncurses-libtinfo-libs b/srcpkgs/ncurses-libtinfo-libs
new file mode 120000
index 00000000000..ebb49ce34fe
--- /dev/null
+++ b/srcpkgs/ncurses-libtinfo-libs
@@ -0,0 +1 @@
+ncurses
\ No newline at end of file
diff --git a/srcpkgs/ncurses/template b/srcpkgs/ncurses/template
index 2e346236043..772462509f5 100644
--- a/srcpkgs/ncurses/template
+++ b/srcpkgs/ncurses/template
@@ -1,7 +1,7 @@
 # Template file for 'ncurses'
 pkgname=ncurses
 version=6.2
-revision=1
+revision=2
 bootstrap=yes
 configure_args="--enable-big-core"
 short_desc="System V Release 4.0 curses emulation library"
@@ -79,6 +79,16 @@ do_install() {
 	install -Dm755 lib/libncurses.so.${version} \
 		${DESTDIR}/usr/lib/libncurses.so.${version}
 
+	# Create libtinfo symlinks.
+	ln -sfr ${DESTDIR}/usr/lib/libncursesw.so \
+		${DESTDIR}/usr/lib/libtinfo.so
+	ln -sfr ${DESTDIR}/usr/lib/libncursesw.so.${version} \
+		${DESTDIR}/usr/lib/libtinfo.so.${version}
+	ln -sfr ${DESTDIR}/usr/lib/libtinfo.so.${version} \
+		${DESTDIR}/usr/lib/libtinfo.so.${version:0:1}
+	ln -sfr ${DESTDIR}/usr/lib/pkgconfig/ncursesw.pc \
+		${DESTDIR}/usr/lib/pkgconfig/tinfo.pc
+
 	# Create compat symlinks.
 	for f in ncurses form panel menu; do
 		ln -sfr ${DESTDIR}/usr/lib/lib${f}w.so.6 \
@@ -96,7 +106,10 @@ ncurses-libs_package() {
 	shlib_provides="libformw.so.5 libmenuw.so.5 libpanelw.so.5 libncursesw.so.5"
 	short_desc+=" -- shared libraries"
 	pkg_install() {
-		vmove "usr/lib/*.so.*"
+		vmove "usr/lib/libform*.so.*"
+		vmove "usr/lib/libmenu*.so.*"
+		vmove "usr/lib/libncurses*.so.*"
+		vmove "usr/lib/libpanel*.so.*"
 	}
 }
 ncurses-devel_package() {
@@ -105,9 +118,17 @@ ncurses-devel_package() {
 	pkg_install() {
 		vmove "usr/bin/ncurses*-config"
 		vmove usr/include
-		vmove usr/lib/pkgconfig
+		vmove usr/lib/pkgconfig/ncursesw.pc
+		vmove usr/lib/pkgconfig/formw.pc
+		vmove usr/lib/pkgconfig/menuw.pc
+		vmove usr/lib/pkgconfig/ncurses++w.pc
+		vmove usr/lib/pkgconfig/panelw.pc
 		vmove "usr/lib/*.a"
-		vmove "usr/lib/*.so"
+		vmove "usr/lib/libcurses*.so"
+		vmove "usr/lib/libform*.so"
+		vmove "usr/lib/libmenu*.so"
+		vmove "usr/lib/libncurses*.so"
+		vmove "usr/lib/libpanel*.so"
 		vmove usr/share/man/man3
 		vmove usr/share/man/man1/ncursesw6-config.1
 	}
@@ -130,3 +151,21 @@ ncurses-term_package() {
 		vmove usr/share/terminfo
 	}
 }
+
+ncurses-libtinfo-libs_package() {
+	depends="ncurses-libs-${version}_${revision}"
+	short_desc+=" - libtinfo.so symlink"
+	pkg_install() {
+		vmove "usr/lib/libtinfo*.so.*"
+	}
+}
+
+ncurses-libtinfo-devel_package() {
+	depends="ncurses-devel-${version}_${revision}"
+	depends+=" ncurses-libtinfo-libs-${version}_${revision}"
+	short_desc+=" - libtinfo.so symlink - development files"
+	pkg_install() {
+		vmove usr/lib/libtinfo.so
+		vmove "usr/lib/pkgconfig/tinfo.pc"
+	}
+}

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

* Re: [PR PATCH] [Merged]: ncurses: add libtinfo.so
  2020-04-27 18:59 [PR PATCH] ncurses: add libtinfo.so MarleDK
                   ` (11 preceding siblings ...)
  2020-05-27  5:48 ` MarleDK
@ 2020-05-27 14:29 ` pullmoll
  12 siblings, 0 replies; 14+ messages in thread
From: pullmoll @ 2020-05-27 14:29 UTC (permalink / raw)
  To: ml

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

There's a merged pull request on the void-packages repository

ncurses: add libtinfo.so
https://github.com/void-linux/void-packages/pull/21409

Description:
This change add an extra library "libtinfo.so".
From the documentation:
    When building the ncurses library, organize this as two parts:  the
    curses library (libncurses) and the low-level terminfo library
    (libtinfo).  This is done to accommodate applications
    that use only
    the latter.  The terminfo library is about half
    the size of the total.
This is used by some programs, which will rather look at libtinfo, than
libncurses.

Stack, the Haskell build tool, uses this to determine what resolver it needs, and I can see multiple people have had problems with Stack not running out of the box, this should fix this, and also make Stack work with the latest version resolver version (A resolver is like a set of package versions including ghc, which is supposed to work together)

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

end of thread, other threads:[~2020-05-27 14:29 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-27 18:59 [PR PATCH] ncurses: add libtinfo.so MarleDK
2020-04-27 19:22 ` [PR PATCH] [Updated] " MarleDK
2020-04-27 22:51 ` Duncaen
2020-04-28  9:34 ` MarleDK
2020-04-28 11:10 ` pullmoll
2020-04-28 11:16 ` pullmoll
2020-04-28 18:23 ` MarleDK
2020-05-15 21:12 ` pullmoll
2020-05-25  9:03 ` [PR PATCH] [Updated] " MarleDK
2020-05-25  9:06 ` MarleDK
2020-05-26  6:36 ` [PR PATCH] [Updated] " MarleDK
2020-05-27  5:46 ` MarleDK
2020-05-27  5:48 ` MarleDK
2020-05-27 14:29 ` [PR PATCH] [Merged]: " pullmoll

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 NNTP newsgroup(s).