templates/ghc: new template for ghc modules

This commit is contained in:
Silvan Calarco 2013-12-09 10:49:41 +01:00
parent c9aea5b6a5
commit a7db8b7c72
4 changed files with 94 additions and 1 deletions

View File

@ -0,0 +1,5 @@
## Macros for ghc packages --------------------------------------------------
# Force a name structure for ghc packages
# Set to "" if you don't want to fix a structure
ocaml_module_name_structure="^ghc-"

View File

@ -103,6 +103,7 @@ function usage() {
-v, --pck-version "$"Version of the package (default: taken from <source-archive> name)"" -v, --pck-version "$"Version of the package (default: taken from <source-archive> name)""
-t, --type "$"Typology of the specfile to be created"" -t, --type "$"Typology of the specfile to be created""
standard : "$"standard specfile (default)"" standard : "$"standard specfile (default)""
ghc : "$"specfile for ghc packages""
gnome : "$"specfile for gnome packages"" gnome : "$"specfile for gnome packages""
kde3 : "$"specfile for kde3 packages"" kde3 : "$"specfile for kde3 packages""
kde4 : "$"specfile for kde4 packages"" kde4 : "$"specfile for kde4 packages""
@ -605,6 +606,11 @@ ${proxy:+--proxy $proxy} ${proxy_user:+--proxy-user $proxy_user} \
* "$"mode"": ${NOTE}$spec_type${NORM}" * "$"mode"": ${NOTE}$spec_type${NORM}"
case "$spec_type" in case "$spec_type" in
ghc)
[[ "$pck_name" =~ $ghc_module_name_structure ]] || notify.error $"\
ghc modules must have this name structure (use \`-n'):"" \
\`$ghc_module_name_structure'"
;;
library) library)
[[ "$pck_name" =~ $library_name_structure ]] || notify.error $"\ [[ "$pck_name" =~ $library_name_structure ]] || notify.error $"\
libraries must have this name structure (use \`-n'):"" \ libraries must have this name structure (use \`-n'):"" \

View File

@ -18,7 +18,7 @@ srcdir = ..
include $(srcdir)/Makefile.env include $(srcdir)/Makefile.env
pck_templates := gnome kde3 kde4 library ocaml-libs perl python standard standard-daemon web pck_templates := ghc gnome kde3 kde4 library ocaml-libs perl python standard standard-daemon web
all: all:

82
templates/ghc Normal file
View File

@ -0,0 +1,82 @@
%define ghc_ver %(ghc --version | sed "s|.*version ||")
%define pkgname %(echo %name | sed "s|^ghc-||")
Name: @pck_name@
Version: @pck_version@
Release: @spec_first_release@@DISTRO_rpm@
Summary: ...
Group: Development/Libraries
Vendor: @VENDOR@
Distribution: @DISTRO@
Packager: @packager_fullname@ <@packager_email@>
URL: http://hackage.haskell.org/package/%{pkgname}
Source: ...
License: BSD
## AUTOBUILDREQ-BEGIN
## AUTOBUILDREQ-END
@if:buildrequires_buildtool
BuildRequires: @build_tool@
@fi:buildrequires_buildtool
@if:infopages
Requires(post): %{__install_info}
Requires(preun): %{__install_info}
@fi:infopages
BuildRequires: ghc
BuildRequires: hscolour
Requires: ghc = %{ghc_ver}
BuildRoot: @rpm_default_buildroot@
%description
...
## Remove the following block if there is no binary tool provided
#%package -n %{pkgname}
#Group: Applications/Development
#Summary: ...
#
#%description -n %{pkgname}
#...
%prep
%setup -q -n %{pkgname}-%{version}
%build
runghc Setup.hs configure \\
--prefix=%{_prefix} --libdir=%{_libdir}
runghc Setup.hs build
runghc Setup.hs haddock --html-location=URL --hyperlink-source
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
runghc Setup.hs copy --destdir=%{buildroot}
runghc Setup.hs register \\
--gen-pkg-config="%{buildroot}%{_libdir}/ghc-%{ghc_ver}/%{pkgname}-%{version}/%{pkgname}-%{version}.conf"
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post
ghc-pkg register %{_libdir}/ghc-%{ghc_ver}/%{pkgname}-%{version}/%{pkgname}-%{version}.conf &>/dev/null || true
:
%preun
ghc-pkg unregister %{pkgname}-%{version} &>/dev/null || true
:
%files
%defattr(-,root,root)
%dir %{_libdir}/ghc-%{ghc_ver}/%{pkgname}-%{version}
%{_libdir}/ghc-%{ghc_ver}/%{pkgname}-%{version}/*
%dir %{_docdir}/%{pkgname}-%{version}
%{_docdir}/doc/%{pkgname}-%{version}/LICENSE
%dir %{_docdir}/%{pkgname}-%{version}/html
%{_docdir}/%{pkgname}-%{version}/html/*
## Remove the following block if there is no binary tool provided
#%files -n %{pkgname}
#%defattr(-,root,root)
#%{_bindir}/%{pkgname}
%changelog
* @spec_changelog_date@ @packager_fullname@ <@packager_email@> @pck_version@-@spec_first_release@@DISTRO_rpm@
- @spec_changelog_comment@