Commit 1e6c06d
0
plików
+0
dodanych
-0
usuniętych
@@ -1,6 +1,6 @@
1
1
pkgname: ncurses
2
2
pkgver: '6.6'
3
-pkgrel: 1
3
+pkgrel: 2
4
4
pkgdesc: Libraries for terminal-independent handling of character screens.
5
5
url: 'http://www.gnu.org/software/ncurses/ncurses.html'
6
6
arch: x86_64
@@ -12,14 +12,69 @@ source:
12
12
- 'https://invisible-mirror.net/archives/${pkgname}/${pkgname}-${pkgver}.tar.gz'
13
13
sha256sums:
14
14
- SKIP
15
-build: "cd ncurses-${pkgver}\n\n./configure --prefix=/usr \\\n --mandir=/usr/share/man \\\n --without-normal \
16
- \ \\\n --with-shared \\\n --with-cxx-shared \\\n --without-debug \\\n --enable-pc-files\
17
- \ \\\n --with-install-prefix=${PKGDIR}\\\n --with-pkg-config-libdir=/usr/lib/pkgconfig \n\nmake\n\nmake install\n\
18
- \nsed -e 's/^#if.*XOPEN.*$/#if 1/' \\\n -i ${PKGDIR}/usr/include/curses.h\n\nfor lib in ncurses form panel menu ; do\n\
19
- \ ln -sfv lib${lib}w.so ${PKGDIR}/usr/lib/lib${lib}.so\n ln -sfv ${lib}w.pc ${PKGDIR}/usr/lib/pkgconfig/${lib}.pc\n\
20
- done\n\nln -sfv libncursesw.so ${PKGDIR}/usr/lib/libcurses.so\n\nmkdir -vp ${PKGDIR}/usr/share/doc/${pkgname}\ncp -R doc/*\
21
- \ ${PKGDIR}/usr/share/doc/${pkgname}\n\nmake distclean\n\n./configure --prefix=/usr --with-shared --without-normal \\\n\
22
- --mandir=/usr/share/man --infodir=/usr/share/info \\\n--without-debug --without-cxx-binding \\\n--with-abi-version=5 \\\n\
23
- --with-install-prefix=${PKGDIR}\n\nmake sources libs\nmkdir -p ${PKGDIR}/usr/lib\ncp -av lib/lib*.so.5* ${PKGDIR}/usr/lib\n"
15
+# ─────────────────────────────────────────────────────────────────────────────
16
+# UWAGA DO FLAG (spójność z ISO)
17
+#
18
+# Ten pakiet MUSI być zbudowany tak samo jak ncurses w ISO (build-pagan.sh,
19
+# wpis "ncurses:6.6:…"): --enable-widec --with-versioned-syms
20
+#
21
+# * --with-versioned-syms jest KRYTYCZNE. Bez niego libncursesw.so.6 nie ma
22
+# węzłów wersji, a libreadline.so.8 żąda NCURSES6_TINFO_5.0.19991023 – każda
23
+# powłoka (bash ładuje readline) wypisuje wtedy przy KAŻDYM podprocesie:
24
+# /bin/sh: /usr/lib/libncursesw.so.6: no version information available
25
+# (required by /usr/lib/libreadline.so.8)
26
+# Wcześniejsza wersja receptury nie miała ANI --enable-widec, ANI
27
+# --with-versioned-syms, więc pakiet `ncurses` z repo był niespójny z obrazem
28
+# (obraz: 285 węzłów NCURSES6_*, pakiet z repo: 0) – po `pag install ncurses`
29
+# na zainstalowanym systemie/ w rootfsie buildera zaczynało się to sypać.
30
+# * Kontrola na końcu builda wykrywa regresję od razu tutaj, a nie u użytkownika.
31
+# ─────────────────────────────────────────────────────────────────────────────
32
+build: |
33
+ cd ncurses-${pkgver}
34
+
35
+ ./configure --prefix=/usr \
36
+ --mandir=/usr/share/man \
37
+ --without-normal \
38
+ --with-shared \
39
+ --with-cxx-shared \
40
+ --without-debug \
41
+ --enable-pc-files \
42
+ --enable-widec \
43
+ --with-versioned-syms \
44
+ --with-install-prefix=${PKGDIR} \
45
+ --with-pkg-config-libdir=/usr/lib/pkgconfig
46
+
47
+ make
48
+ make install
49
+
50
+ # Odblokowanie rozszerzeń XOPEN w curses.h (jak w LFS).
51
+ sed -e 's/^#if.*XOPEN.*$/#if 1/' -i ${PKGDIR}/usr/include/curses.h
52
+
53
+ for lib in ncurses form panel menu ; do
54
+ ln -sfv lib${lib}w.so ${PKGDIR}/usr/lib/lib${lib}.so
55
+ ln -sfv ${lib}w.pc ${PKGDIR}/usr/lib/pkgconfig/${lib}.pc
56
+ done
57
+ ln -sfv libncursesw.so ${PKGDIR}/usr/lib/libcurses.so
58
+
59
+ mkdir -vp ${PKGDIR}/usr/share/doc/${pkgname}
60
+ cp -R doc/* ${PKGDIR}/usr/share/doc/${pkgname}
61
+
62
+ # Druga konfiguracja: biblioteki ABI 5 dla starych binariów (bez węzłów
63
+ # wersji – nic w dystrybucji ich nie wymaga).
64
+ make distclean
65
+
66
+ ./configure --prefix=/usr --with-shared --without-normal \
67
+ --mandir=/usr/share/man --infodir=/usr/share/info \
68
+ --without-debug --without-cxx-binding \
69
+ --with-abi-version=5 \
70
+ --with-install-prefix=${PKGDIR}
71
+
72
+ make sources libs
73
+ mkdir -p ${PKGDIR}/usr/lib
74
+ cp -av lib/lib*.so.5* ${PKGDIR}/usr/lib
75
+
76
+ # Kontrola węzłów wersji (bez binutils – grep po .dynstr wystarcza).
77
+ grep -aq 'NCURSES6_TINFO' ${PKGDIR}/usr/lib/libncursesw.so.6 \
78
+ || { echo "❌ libncursesw.so.6 bez węzłów wersji – --with-versioned-syms nie zadziałało"; exit 1; }
24
79
package: |
25
80
true