summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 52a4fb42241e891e7aa23fe721c07fce1fb1019c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# Maintainer: Jens Staal <staal1978@gmail.com>

pkgname=ow-curses-win32a
pkgdesc="An extended PDCurses directly on Win32 api (watcom-win32)"
groups=('watcom-win32' 'watcom-win16' 'watcom-dos')
pkgver=15.08 #date of last release year.month
pkgrel=1
arch=('any')
license=('custom: Public Domain')
depends=(openwatcom-v2)
makedepends=(openwatcom-v2)
provides=("watcom-curses-win32" "watcom-curses-win16" "watcom-curses-dos")
#win16 fails at the moment
url="http://www.projectpluto.com/win32a.htm"
source=("http://www.projectpluto.com/win32a.zip")
options=(!strip !buildflags staticlibs emptydirs)
md5sums=('e7613a470362920309245354f7e7a25d')

build() {
  cd "$srcdir"/win32a
  
  source /opt/watcom/owsetenv.sh
  
  #hacking away windowsisms from the makefile...
  sed 's|SRCDIR)\\|SRCDIR)\/|g' -i "$srcdir"/watcom.mif
  cp "$srcdir"/*.h "$srcdir"/pdcurses/
  sed 's|SRCDIR)\\|SRCDIR)\/|g' -i wccwin32.mak
  sed 's|copy |cp |g' -i wccwin32.mak
  sed 's|-ei -zq -wx -i=|-ei -zq -wx -fo=.obj -i=|g' -i wccwin32.mak
  sed 's|-oneatx|-oneatx -aa -D__wargv=NULL|g' -i wccwin32.mak #not present in win headers
  #sed 's|\/DPDC_WIDE|-DPDC_WIDE|g' -i wccwin*.mak
  #sed 's|\/DPDC_FORCE_UTF8|-DPDC_FORCE_UTF8|g' -i wccwin*.mak
  #update win16 makefile
  cat wccwin32.mak | sed 's|wcc386|wcc|g' | sed 's|win_nt|windows|g' > wccwin16.mak
  
  export PDCURSES_SRCDIR="$srcdir"
  
  rm -f *.obj
#missing strlen, strcpy, TCHAR, LPTSTR
# windows.h --> win16.h
#  msg "build for Win16..." 
#  export INCLUDE=$WATCOM/h:$WATCOM/h/win
#  wmake -f wccwin16.mak pdcurses.lib
#  mv pdcurses.lib curses.lib16
#  rm -f panel.lib
#  rm -f *.obj
  
  msg "build for Win32..."
  export INCLUDE=$WATCOM/h:$WATCOM/h/nt
  wmake -f wccwin32.mak pdcurses.lib
  rm -f panel.lib
  mv pdcurses.lib curses.lib32
  rm -f *.obj
  
  msg "build for DOS..."
  cd "$srcdir"/dos
  #hacking away dosisms from makefile
  sed 's|\/|-|g' -i wccdos*.mak
  sed 's|SRCDIR)\\|SRCDIR)\/|g' -i wccdos*.mak
  sed 's|-zq -wx|-zq -wx -fo=.obj|g' -i wccdos*.mak
  msg2 "16-bit ..."
  wmake -f wccdos16.mak pdcurses.lib
  mv pdcurses.lib curses.lib16
  rm -f panel.lib
  rm -f *.obj
  msg2 "32-bit (4GW) ..."
  wmake -f wccdos4g.mak pdcurses.lib
  mv pdcurses.lib curses.lib32
  rm -f panel.lib
  rm -f *.obj
  }

package() {
  cd "$srcdir"/win32a
  mkdir -p "${pkgdir}${WATCOM}"/{lib286/{dos,win},lib386/{dos,nt},h/{nt,win}}/
  chmod -R 755 "$pkgdir/opt"
  chmod 644 curses.lib*
  cp curses.lib32 "${pkgdir}${WATCOM}"/lib386/nt/pdcurses.lib
  cp "${pkgdir}${WATCOM}"/lib386/nt/pdcurses.lib "${pkgdir}${WATCOM}"/lib386/nt/panel.lib
#  cp curses.lib16 "${pkgdir}${WATCOM}"/lib286/win/pdcurses.lib
#  cp "${pkgdir}${WATCOM}"/lib286/win/pdcurses.lib "${pkgdir}${WATCOM}"/lib286/win/panel.lib
#  install -m644 "$srcdir"/*.h "${pkgdir}${WATCOM}"/h/win/
  install -m644 "$srcdir"/*.h "${pkgdir}${WATCOM}"/h/nt/
  
  cd "$srcdir"/dos
  install -m644 "$srcdir"/*.h "${pkgdir}${WATCOM}"/h/
  chmod 644 curses.lib*
  cp curses.lib16 "${pkgdir}${WATCOM}"/lib286/dos/pdcurses.lib
  cp "${pkgdir}${WATCOM}"/lib286/dos/pdcurses.lib "${pkgdir}${WATCOM}"/lib286/dos/panel.lib
  cp curses.lib32 "${pkgdir}${WATCOM}"/lib386/dos/pdcurses.lib
  cp "${pkgdir}${WATCOM}"/lib386/dos/pdcurses.lib "${pkgdir}${WATCOM}"/lib386/dos/panel.lib  
  
}