[shake] import (#1082515)

Jens Petersen petersen at fedoraproject.org
Mon Apr 14 04:31:44 UTC 2014


commit 79521172eca88a546c4b7278f507a9e10921bd9d
Author: Jens Petersen <petersen at redhat.com>
Date:   Mon Apr 14 13:20:12 2014 +0900

    import (#1082515)

 .gitignore |    1 +
 shake.spec |  146 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 sources    |    1 +
 3 files changed, 148 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..7b8680e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/shake-0.11.4.tar.gz
diff --git a/shake.spec b/shake.spec
new file mode 100644
index 0000000..9ba0283
--- /dev/null
+++ b/shake.spec
@@ -0,0 +1,146 @@
+# https://fedoraproject.org/wiki/Packaging:Haskell
+
+%ifarch %{ix86} x86_64
+%bcond_without testsuite
+%endif
+
+%global pkg_name shake
+
+Name:           %{pkg_name}
+Version:        0.11.4
+Release:        2%{?dist}
+Summary:        Make-like build system
+
+License:        BSD
+URL:            http://hackage.haskell.org/package/%{name}
+Source0:        http://hackage.haskell.org/packages/archive/%{name}/%{version}/%{name}-%{version}.tar.gz
+
+BuildRequires:  ghc-Cabal-devel
+BuildRequires:  ghc-rpm-macros
+# Begin cabal-rpm deps:
+BuildRequires:  ghc-binary-devel
+BuildRequires:  ghc-bytestring-devel
+BuildRequires:  ghc-deepseq-devel
+BuildRequires:  ghc-directory-devel
+BuildRequires:  ghc-filepath-devel
+BuildRequires:  ghc-hashable-devel
+BuildRequires:  ghc-old-time-devel
+BuildRequires:  ghc-process-devel
+BuildRequires:  ghc-random-devel
+BuildRequires:  ghc-time-devel
+BuildRequires:  ghc-transformers-devel
+BuildRequires:  ghc-unix-devel
+BuildRequires:  ghc-unordered-containers-devel
+BuildRequires:  ghc-utf8-string-devel
+# End cabal-rpm deps
+%if %{with testsuite}
+BuildRequires:  ghc-QuickCheck-devel
+%endif
+BuildRequires:  dos2unix
+
+%description
+Shake is a Haskell library for writing build systems - designed as a
+replacement for make. See "Development.Shake" for an introduction, including
+an example. Further examples are included in the Cabal tarball, under the
+Examples directory. The homepage contains links to a user manual, an academic
+paper and further information: <https://github.com/ndmitchell/shake>
+
+This package provides the shake tool which can handle most ninja files
+faster than ninja and simple makefiles.
+
+
+%package -n ghc-%{name}
+Summary:        Haskell %{name} library
+
+%description -n ghc-%{name}
+This package provides the Haskell %{name} shared library.
+
+
+%package -n ghc-%{name}-devel
+Summary:        Haskell %{name} library development files
+Provides:       ghc-%{name}-static = %{version}-%{release}
+Requires:       ghc-compiler = %{ghc_version}
+Requires(post): ghc-compiler = %{ghc_version}
+Requires(postun): ghc-compiler = %{ghc_version}
+Requires:       ghc-%{name}%{?_isa} = %{version}-%{release}
+
+%description -n ghc-%{name}-devel
+This package provides the Haskell %{name} library development files.
+
+To use Shake the user writes a Haskell program that imports
+"Development.Shake", defines some build rules, and calls the
+'Development.Shake.shakeArgs' function. Thanks to do notation and infix
+operators, a simple Shake build system is not too dissimilar from a simple
+Makefile. However, as build systems get more complex, Shake is able to take
+advantage of the excellent abstraction facilities offered by Haskell and easily
+support much larger projects. The Shake library provides all the standard
+features available in other build systems, including automatic parallelism and
+minimal rebuilds. Shake also provides more accurate dependency tracking,
+including seamless support for generated files, and dependencies on system
+information (e.g. compiler version).
+
+
+%prep
+%setup -q
+
+cd Examples/Ninja
+for i in test4 test3-win test3-sub test3-inc test5 test3 lint test2 test3-unix; do
+    dos2unix $i.ninja
+done
+
+
+%build
+%if %{with testsuite}
+%define cabal_configure_options --enable-tests
+%endif
+%ghc_lib_build
+
+
+%install
+%ghc_lib_install
+
+# remove bundled jquery*.js, report.html, *.js
+# (this breaks report generation)
+rm %{buildroot}%{_datadir}/%{name}-%{version}/html/*
+
+
+%check
+%if %{with testsuite}
+%cabal test
+%endif
+
+
+%post -n ghc-%{name}-devel
+%ghc_pkg_recache
+
+
+%postun -n ghc-%{name}-devel
+%ghc_pkg_recache
+
+
+%files
+%doc LICENSE
+%{_bindir}/%{name}
+
+
+%files -n ghc-%{name} -f ghc-%{name}.files
+%doc LICENSE
+
+
+%files -n ghc-%{name}-devel -f ghc-%{name}-devel.files
+%doc Examples
+
+
+%changelog
+* Mon Mar 31 2014 Jens Petersen <petersen at redhat.com> - 0.11.4-2
+- testsuite uses TemplateHaskell so only run it on Intel archs for now
+
+* Mon Mar 31 2014 Jens Petersen <petersen at redhat.com> - 0.11.4-1
+- update to 0.11.4
+- bcond enable testsuite
+
+* Sun Jan  5 2014 Jens Petersen <petersen at redhat.com> - 0.11-1
+- update to 0.11
+
+* Sat Jan  4 2014 Fedora Haskell SIG <haskell at lists.fedoraproject.org> - 0.10.10
+- spec file generated by cabal-rpm-0.8.7
diff --git a/sources b/sources
index e69de29..b0f9f82 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+e7005de2f562334a8411d71d864591c6  shake-0.11.4.tar.gz


More information about the scm-commits mailing list