You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

171 lines
6.3 KiB

##
## perl-curses.spec -- OpenPKG RPM Package Specification
## Copyright (c) 2000-2020 OpenPKG Project <http://openpkg.org/>
##
## Permission to use, copy, modify, and distribute this software for
## any purpose with or without fee is hereby granted, provided that
## the above copyright notice and this permission notice appear in all
## copies.
##
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
## SUCH DAMAGE.
##
# versions of individual parts
%define V_perl 5.22
%define V_curses 1.32
%define V_curses_ui 0.9609
%define V_curses_ui_dtv 0.10
%define V_curses_widgets 1.997
%define V_curses_forms 1.997
%define V_cdk_perl 20190225
# package information
Name: perl-curses
Summary: Perl Modules for use with Curses
URL: http://www.cpan.org/
Vendor: Perl Community
Packager: OpenPKG Project
Distribution: OpenPKG Community
Class: BASE
Group: Perl
License: GPL/Artistic
Version: %{V_perl}
Release: 20190226
# list of sources
Source0: http://www.cpan.org/modules/by-module/Curses/Curses-%{V_curses}.tgz
Source1: http://www.cpan.org/authors/id/M/MD/MDXI/Curses-UI-%{V_curses_ui}.tar.gz
Source2: http://www.cpan.org/authors/id/G/GS/GSAINIO/Curses-UI-DelimitedTextViewer-%{V_curses_ui_dtv}.tar.gz
Source3: http://www.cpan.org/authors/id/C/CO/CORLISS/CursesWidgets-%{V_curses_widgets}.tar.gz
Source4: http://www.cpan.org/authors/id/C/CO/CORLISS/CursesForms-%{V_curses_forms}.tar.gz
Source5: ftp://ftp.invisible-island.net/cdk/cdk-perl-%{V_cdk_perl}.tgz
# build information
BuildPreReq: OpenPKG, openpkg >= 20160101, perl >= %{V_perl}, perl-openpkg >= %{V_perl}-20040126
PreReq: OpenPKG, openpkg >= 20160101, perl >= %{V_perl}
BuildPreReq: ncurses, cdk >= 4.9.11.20031210, perl-term
PreReq: ncurses, cdk >= 4.9.11.20031210, perl-term
%description
Various modules for using the Curses library from within the Perl
language plus additional widgets:
- Curses (%{V_curses})
- Curses::UI (%{V_curses_ui})
- Curses::UI::DelimitedTextViewer (%{V_curses_ui_dtv})
- Curses::Widgets (%{V_curses_widgets})
- Curses::Forms (%{V_curses_forms})
- Cdk (%{V_cdk_perl})
%track
prog perl-curses:cdk-perl = {
version = %{V_cdk_perl}
url = ftp://ftp.invisible-island.net/cdk/
regex = cdk-perl-(__VER__)\.tgz
}
prog perl-curses:Curses = {
version = %{V_curses}
url = http://www.cpan.org/modules/by-module/Curses/
regex = Curses-(__VER__)\.tgz
}
prog perl-curses:Curses-UI = {
version = %{V_curses_ui}
url = http://www.cpan.org/authors/id/M/MD/MDXI/
regex = Curses-UI-(__VER__)\.tar\.gz
}
prog perl-curses:Curses-UI-DelimitedTextViewer = {
version = %{V_curses_ui_dtv}
url = http://www.cpan.org/authors/id/G/GS/GSAINIO/
regex = Curses-UI-DelimitedTextViewer-(__VER__)\.tar\.gz
}
prog perl-curses:CursesForms = {
version = %{V_curses_forms}
url = http://www.cpan.org/authors/id/C/CO/CORLISS/
regex = CursesForms-(__VER__)\.tar\.gz
}
prog perl-curses:CursesWidgets = {
version = %{V_curses_widgets}
url = http://www.cpan.org/authors/id/C/CO/CORLISS/
regex = CursesWidgets-(__VER__)\.tar\.gz
}
%prep
%setup -q -c
%setup -q -T -D -a 1
%setup -q -T -D -a 2
%setup -q -T -D -a 3
%setup -q -T -D -a 4
%setup -q -T -D -a 5
%build
%install
%{l_prefix}/bin/perl-openpkg prepare
# build Curses
( cd Curses-%{V_curses}
hint="unknown"
case "%{l_platform -t}" in
*-freebsd* ) hint="freebsd.ncurses" ;;
*-linux* ) hint="linux.ncurses" ;;
*-sunos* ) hint="solaris" ;;
esac
if [ -f hints/c-$hint.h ]; then
cp hints/c-$hint.h c-config.h
fi
) || exit $?
CURSES_CFLAGS="%{l_cppflags ncurses}" \
CURSES_LDFLAGS="%{l_ldflags} -lncurses" \
CURSES_PANEL_CFLAGS="%{l_cppflags ncurses}" \
CURSES_PANEL_LDFLAGS="%{l_ldflags} -lncurses" \
CURSES_MENU_CFLAGS="%{l_cppflags ncurses}" \
CURSES_MENU_LDFLAGS="%{l_ldflags} -lncurses" \
CURSES_FORM_CFLAGS="%{l_cppflags ncurses}" \
CURSES_FORM_LDFLAGS="%{l_ldflags} -lncurses" \
%{l_prefix}/bin/perl-openpkg -d Curses-%{V_curses} \
--args "PANELS MENUS FORMS" \
configure build install
%{l_prefix}/bin/perl-openpkg -d Curses-UI-%{V_curses_ui} \
configure build install
%{l_prefix}/bin/perl-openpkg -d Curses-UI-DelimitedTextViewer-%{V_curses_ui_dtv} \
configure build install
%{l_prefix}/bin/perl-openpkg -d CursesWidgets-%{V_curses_widgets} \
configure build install
%{l_prefix}/bin/perl-openpkg -d CursesForms-%{V_curses_forms} \
configure build install
# build Cdk
( cd cdk-perl-%{V_cdk_perl}
%{l_shtool} subst \
-e 's;-L/usr/local/lib;%{l_ldflags};' \
-e 's;-I/usr/include/ncurses;%{l_cppflags ncurses};' \
-e 's;-I/usr/local/include/cdk;%{l_cppflags cdk};' \
Makefile.PL.in
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
CPPFLAGS="%{l_cppflags cdk .}" \
LDFLAGS="%{l_ldflags}" \
LIBS="-lncurses" \
./configure \
--prefix=%{l_prefix}
) || exit $?
%{l_prefix}/bin/perl-openpkg -d cdk-perl-%{V_cdk_perl} configure build install
%{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} `cat perl-openpkg-files`
%files -f files
%clean