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)""
|
-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'):"" \
|
||||||
|
@ -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
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