f26e652face4158928012d2e7311301e5583e69e
[ncurses.git] / test / package / mingw-ncurses-examples.spec
1 Summary: ncurses-examples - example/test programs from ncurses
2 %?mingw_package_header
3
4 %define AppProgram ncurses-examples
5 %define AppVersion MAJOR.MINOR
6 %define AppRelease YYYYMMDD
7 # $Id: mingw-ncurses-examples.spec,v 1.7 2018/01/04 02:31:57 tom Exp $
8 Name: mingw32-ncurses6-examples
9 Version: %{AppVersion}
10 Release: %{AppRelease}
11 License: X11
12 Group: Development/Libraries
13 Source: ncurses-examples-%{release}.tgz
14 # URL: https://invisible-island.net/ncurses/
15
16 BuildRequires:  mingw32-ncurses6
17
18 BuildRequires:  mingw32-filesystem >= 95
19 BuildRequires:  mingw32-gcc
20 BuildRequires:  mingw32-binutils
21
22 BuildRequires:  mingw64-ncurses6
23
24 BuildRequires:  mingw64-filesystem >= 95
25 BuildRequires:  mingw64-gcc
26 BuildRequires:  mingw64-binutils
27
28 %define CC_NORMAL -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wconversion
29 %define CC_STRICT %{CC_NORMAL} -W -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wwrite-strings -ansi -pedantic
30
31 %description -n mingw32-ncurses6-examples
32 Cross-compiling support for ncurses to mingw32.
33
34 The ncurses library routines are a terminal-independent method of
35 updating character screens with reasonable optimization.
36
37 This package is used for testing ABI 6 with cross-compiles to MinGW.
38
39 %package -n mingw64-ncurses6-examples
40 Summary:        Curses library for MinGW64
41
42 %description -n mingw64-ncurses6-examples
43 Cross-compiling support for ncurses to mingw64.
44
45 The ncurses library routines are a terminal-independent method of
46 updating character screens with reasonable optimization.
47
48 This package is used for testing ABI 6 with cross-compiles to MinGW.
49
50 %prep
51
52 # override location of bindir, e.g., to avoid conflict with pdcurses
53 %global mingw32_bindir %{mingw32_exec_prefix}/bin/%{AppProgram} 
54 %global mingw64_bindir %{mingw64_exec_prefix}/bin/%{AppProgram} 
55
56 %global mingw32_datadir %{mingw32_datadir}/%{AppProgram} 
57 %global mingw64_datadir %{mingw64_datadir}/%{AppProgram} 
58
59 %define CFG_OPTS \\\
60         --enable-echo \\\
61         --enable-warnings \\\
62         --verbose \\\
63         --with-screen=ncursesw6
64
65 %define debug_package %{nil}
66 %setup -q -n ncurses-examples-%{release}
67
68 %build
69 mkdir BUILD-W32
70 pushd BUILD-W32
71 CFLAGS="%{CC_NORMAL}" \
72 CC=%{mingw32_cc} \
73 NCURSES_CONFIG_SUFFIX=dev \
74 %mingw32_configure %{CFG_OPTS} \
75         --datadir=%{mingw32_datadir}
76 make
77 popd
78
79 mkdir BUILD-W64
80 pushd BUILD-W64
81 CFLAGS="%{CC_NORMAL}" \
82 CC=%{mingw64_cc} \
83 %mingw64_configure %{CFG_OPTS} \
84         --datadir=%{mingw32_datadir}
85 make
86 popd
87
88 %install
89 rm -rf $RPM_BUILD_ROOT
90
91 pushd BUILD-W32
92 %{mingw32_make} install DESTDIR=$RPM_BUILD_ROOT
93 popd
94
95 pushd BUILD-W64
96 %{mingw64_make} install DESTDIR=$RPM_BUILD_ROOT
97 popd
98
99 %clean
100 rm -rf $RPM_BUILD_ROOT
101
102 %defattr(-,root,root,-)
103
104 %files -n mingw32-ncurses6-examples
105 %{mingw32_bindir}/*
106 %{mingw32_datadir}/*
107
108 %files -n mingw64-ncurses6-examples
109 %{mingw64_bindir}/*
110 %{mingw64_datadir}/*
111
112 %changelog
113
114 * Sat Oct 19 2013 Thomas E. Dickey
115 - initial version