Just adopted the package. I fixed outstanding issues and cleaned up the PKGBUILD, take a look at the last commit for more info.
Search Criteria
Package Details: lib32-ncurses5-compat-libs 6.4-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/lib32-ncurses5-compat-libs.git (read-only, click to copy) |
---|---|
Package Base: | lib32-ncurses5-compat-libs |
Description: | System V Release 4.0 curses emulation library (32-bit), ABI 5 |
Upstream URL: | https://invisible-island.net/ncurses/ncurses.html |
Licenses: | MIT |
Submitter: | lpapp |
Maintainer: | Corax |
Last Packager: | Corax |
Votes: | 111 |
Popularity: | 1.40 |
First Submitted: | 2015-09-22 11:38 (UTC) |
Last Updated: | 2023-03-18 08:08 (UTC) |
Dependencies (3)
Required by (6)
Sources (4)
Latest Comments
« First ‹ Previous 1 .. 3 4 5 6 7 8 9 10 Next › Last »
Corax commented on 2016-02-19 09:41 (UTC)
alexzk commented on 2016-01-13 11:18 (UTC)
This one function works (must be ncurse 6 installed already), at least android-sdk goes:
#conflicts=("lib32-ncurses")
#provides=("lib32-ncurses")
........
package() {
cd ${srcdir}/ncursesw-build
make install
install -dm755 ${pkgdir}/usr/lib32
# non-widec compatibility libraries
cd ${srcdir}/ncurses-build
for lib in ncurses form panel menu; do
install -Dm755 lib/lib${lib}.so.${_compatpkgver} ${pkgdir}/usr/lib32/lib${lib}.so.${_compatpkgver}
ln -s lib${lib}.so.${_compatpkgver} ${pkgdir}/usr/lib32/lib${lib}.so.5
done
rm -rf "${pkgdir}"/usr/{include,share,bin}
mkdir -p "$pkgdir/usr/share/licenses"
ln -s $_pkgbasename "$pkgdir/usr/share/licenses/$pkgname"
cd $pkgdir/usr/lib32/
find . -iname "*.so" -delete && find . -iname "*.a" -delete
}
nos1609 commented on 2016-01-13 10:16 (UTC)
Cant't build with CPPFLAGS="-P"
aphirst commented on 2015-12-26 21:02 (UTC)
I'm getting build errors.
http://sprunge.us/cMDG
Fincer commented on 2015-11-27 11:04 (UTC)
First of all, you *must* modify the current PKGBUILD script because of two reasons explained below.
1) This package *can't* conflict with lib32-ncurses because the library versions it provides are different. lib32-ncurses are for version 6 and this package is supposed to provide version 5 libaries. A temporary solution is just to disable the following PKGBUILD lines
#conflicts=("lib32-ncurses")
#provides=("lib32-ncurses")
2) If you can't find another solution to the problem mentioned earlier here ("a library already exists in filesystem" error message), simply delete all files/symlinks with suffix .a or .so in $pkgdir/usr/lib32 directory after the compilation process. To do this, just add the following lines into package() section in the PKGBUILD script:
cd $pkgdir/usr/lib32/
find . -iname "*.so" -delete && find . -iname "*.a" -delete
It's not a pure solution. Yes, it's a dirty one, temporary fix. But it works until someone else provides a better solution.
That's all. Happy compiling.
Raansu commented on 2015-11-07 02:04 (UTC)
Maybe I'm wrong but shouldn't this also be edited so it 'provides' lib32-ncurses?
justinzane commented on 2015-11-01 19:36 (UTC) (edited on 2015-11-01 21:09 (UTC) by justinzane)
@Viper_Scull I've tried to modify the ncurses5-compat-libs pkgbuild as you suggested; but I am unable to get the package function right. If you or @lpapp are interested, what I got so far is pasted below:
-----
# $Id$
#-----
# Partially modified from ncorses5-compat-libs by Justin Zane Chudgar <justin@justinzane.com>
# Requires inspection and fixes from experienced AUR maintainer!
# package function currently not working
#-----
## Maintainer: Laszlo Papp <lpapp@kde.org>
## Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
## Contributor: Allan McRae <allan@archlinux.org>
## Contributor: judd <jvinet@zeroflux.org>
_libdir=lib32
_pkgbasename=ncurses
_pkgname=${_libdir}-${_pkgbasename}
_compatpkgver=5.9
pkgname=${_pkgname}5-compat-libs
pkgdesc="System V Release 4.0 curses emulation library (32-bit), ABI 5"
pkgver=6.0
pkgrel=2
# Please verify that arch is correct:
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/ncurses/"
license=('MIT')
# Please verify proper dependencies: (see namcap errors)
# Question: is there any point to having this package without
# gcc-multilib? If not, move gcc-multilib to dependencies?
depends=('lib32-gcc-libs' \
'lib32-glibc')
# ${_pkgname})
makedepends=("gcc-multilib" "sh")
# conflicts=("lib32-ncurses")
# provides=("lib32-ncurses")
source=(ftp://ftp.gnu.org/pub/gnu/${_pkgbasename}/${_pkgbasename}-${pkgver}.tar.gz)
md5sums=('ee13d052e1ead260d7c28071f46eefb1')
# Since compilation and linking regularly failed with ccache and/or
# with link time optimization, justinzane simply picked the cleanest
# flags and options that worked.
# These need to be modified, as time and interest permit, to allow
# greater optimization and fidelity to a users makepkg.conf.
# I (justinzane) am insufficiently skilled to do so.
export LD="/usr/bin/ld"
export CC="/usr/bin/gcc"
export CXX="/usr/bin/g++"
export CPPFLAGS="-P"
export CFLAGS="-m32"
export CXXFLAGS="-m32"
export LDFLAGS=""
export MAKEFLAGS="-j 4 -l 4.0"
#export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
build() {
cd $_pkgbasename-${pkgver/_/-/}
make -k distclean
./configure \
--without-gpm --disable-pc-files \
--prefix=/usr --mandir=/usr/share/man \
--with-shared --with-normal \
--without-debug --without-ada \
--enable-widec \
--with-cxx-binding --with-cxx-shared \
--libdir=/usr/${_libdir} --with-abi-version=5
# --with-pkg-config=/usr/lib32/pkgconfig --enable-pc-files \
make
}
package() {
cd $_pkgbasename-${pkgver/_/-/}
for nc_lib in ncurses ncurses++ form panel menu; do
# fool packages looking to link to non-wide-character ncurses libraries
# by symlinking to narrow names
ln -s lib/lib${nc_lib}w.so.${_compatpkgver:0:1} lib/lib${nc_lib}.so.${_compatpkgver:0:1};
ln -s lib/lib${nc_lib}w.so.${_compatpkgver} lib/lib${nc_lib}.so.${_compatpkgver};
# also remove unversioned libraries to prevent conflict with version 6 symlinks
rm lib/lib${nc_lib}w.so;
done
# Question: is this the proper use of pkgconfig for 32 bit variants in Arch?
# # move pkgconfig files to specified location
# mv "${pkgdir}"/usr/share/pkgconfig "${pkgdir}"/usr/${_libdir}/
# rm -rf "$pkgdir"/usr/${_libdir}/pkgconfig
make DESTDIR="$pkgdir" install.libs
# Question: is this necessary to prevent stomping 64 bit headers on uninstall?
# rm -rf "$pkgdir"/usr/include/
# install license, rip it from the readme
install -d "$pkgdir"/usr/share/licenses/$pkgname
grep -B 100 '$Id' README > "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
#------
# namcap errors:
#lib32-ncurses5-compat-libs W: ELF file ('usr/lib32/libpanelw.so.5.9') has text relocations.
#lib32-ncurses5-compat-libs W: ELF file ('usr/lib32/libmenuw.so.5.9') has text relocations.
#lib32-ncurses5-compat-libs W: ELF file ('usr/lib32/libformw.so.5.9') has text relocations.
#lib32-ncurses5-compat-libs W: ELF file ('usr/lib32/libncurses++w.so.5.9') has text relocations.
#lib32-ncurses5-compat-libs E: Dependency bash detected and not included (programs ['sh'] needed in scripts ['usr/bin/ncursesw5-config'])
#lib32-ncurses5-compat-libs W: Dependency lib32-glibc included but already satisfied
justinzane commented on 2015-10-30 02:03 (UTC)
Build fails with the following error:
gcc -m32 ../obj_s/tabs.o -L../lib -DHAVE_CONFIG_H -I. -I../../ncurses-6.0/progs -I../include -I../../ncurses-6.0/progs/../include -P -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG --param max-inline-insns-single=1200 -fPIC -lncurses -o tabs
../lib/libncurses.so: undefined reference to `_nc_to_char'
../lib/libncurses.so: undefined reference to `_nc_insert_wch'
../lib/libncurses.so: undefined reference to `wadd_wch'
../lib/libncurses.so: undefined reference to `getcchar'
../lib/libncurses.so: undefined reference to `_nc_is_charable'
../lib/libncurses.so: undefined reference to `_nc_wacs'
../lib/libncurses.so: undefined reference to `_nc_init_wacs'
collect2: error: ld returned 1 exit status
Makefile:260: recipe for target 'tabs' failed
make[1]: *** [tabs] Error 1
pftBest commented on 2015-10-18 20:25 (UTC)
lib32-ncurses5-compat-libs and lib32-ncurses are in conflict.
Pinned Comments
Corax commented on 2019-06-10 18:11 (UTC)
Make sure you have the multilib-devel group installed before reporting issues while building the package. I will not add it as a makedepends because it is not a makedepends for lib32-ncurses5 either. See https://wiki.archlinux.org/index.php/Makepkg#Build_32-bit_packages_on_a_64-bit_system
Corax commented on 2016-08-19 23:33 (UTC) (edited on 2022-02-28 18:45 (UTC) by Corax)
If anyone is still having trouble getting used to PGP signing, make sure to add the key mentioned in the PKGBUILD: