templates/ghc: new template for ghc modules
This commit is contained in:
parent
c9aea5b6a5
commit
a7db8b7c72
5
conf/02-specfile-rpm-macros-ghc.conf
Normal file
5
conf/02-specfile-rpm-macros-ghc.conf
Normal 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-"
|
@ -103,6 +103,7 @@ function usage() {
|
||||
-v, --pck-version "$"Version of the package (default: taken from <source-archive> name)""
|
||||
-t, --type "$"Typology of the specfile to be created""
|
||||
standard : "$"standard specfile (default)""
|
||||
ghc : "$"specfile for ghc packages""
|
||||
gnome : "$"specfile for gnome packages""
|
||||
kde3 : "$"specfile for kde3 packages""
|
||||
kde4 : "$"specfile for kde4 packages""
|
||||
@ -605,6 +606,11 @@ ${proxy:+--proxy $proxy} ${proxy_user:+--proxy-user $proxy_user} \
|
||||
* "$"mode"": ${NOTE}$spec_type${NORM}"
|
||||
|
||||
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)
|
||||
[[ "$pck_name" =~ $library_name_structure ]] || notify.error $"\
|
||||
libraries must have this name structure (use \`-n'):"" \
|
||||
|
@ -18,7 +18,7 @@ srcdir = ..
|
||||
|
||||
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:
|
||||
|
||||
|
82
templates/ghc
Normal file
82
templates/ghc
Normal 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@
|
Loading…
Reference in New Issue
Block a user