From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60855) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ft2VA-0007Ug-Q9 for guix-patches@gnu.org; Thu, 23 Aug 2018 23:11:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ft2V9-0008DW-EO for guix-patches@gnu.org; Thu, 23 Aug 2018 23:11:08 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:54238) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ft2V9-0008DH-7l for guix-patches@gnu.org; Thu, 23 Aug 2018 23:11:07 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ft2V9-0001ED-0e for guix-patches@gnu.org; Thu, 23 Aug 2018 23:11:07 -0400 Subject: [bug#32517] [PATCH 7/7] gnu: ghc-esqueleto: Update to commit b81e0d9. Resent-Message-ID: From: Timothy Sample Date: Thu, 23 Aug 2018 23:09:32 -0400 Message-Id: <20180824030932.18088-7-samplet@ngyro.com> In-Reply-To: <20180824030932.18088-1-samplet@ngyro.com> References: <20180824030932.18088-1-samplet@ngyro.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 32517@debbugs.gnu.org * gnu/packages/haskell.scm (ghc-esqueleto): Update to commit b81e0d9. [source]: Use git-fetch. [arguments]: Add phase to remove MySQL and PostgreSQL test-suites. [inputs]: Add ghc-unliftio. [native-inputs]: Remove ghc-hunit, ghc-monad-control, and ghc-quickcheck. --- gnu/packages/haskell.scm | 89 +++++++++++++++++++++++++--------------- 1 file changed, 57 insertions(+), 32 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 387a001b2..420c4c748 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -8038,42 +8038,67 @@ JSON (JavaScript Object Notation) is a lightweight data-interchange format.") (license license:bsd-3))) (define-public ghc-esqueleto - (package - (name "ghc-esqueleto") - (version "2.5.3") - (source - (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "esqueleto/esqueleto-" version ".tar.gz")) - (sha256 - (base32 - "10n49rzqmblky7pwjnysalyy6nacmxfms8dqbsdv6hlyzr8pb69x")))) - (build-system haskell-build-system) - (inputs - `(("ghc-blaze-html" ,ghc-blaze-html) - ("ghc-conduit" ,ghc-conduit) - ("ghc-monad-logger" ,ghc-monad-logger) - ("ghc-persistent" ,ghc-persistent) - ("ghc-resourcet" ,ghc-resourcet) - ("ghc-tagged" ,ghc-tagged) - ("ghc-text" ,ghc-text) - ("ghc-unordered-containers" ,ghc-unordered-containers))) - (native-inputs - `(("ghc-hspec" ,ghc-hspec) - ("ghc-hunit" ,ghc-hunit) - ("ghc-monad-control" ,ghc-monad-control) - ("ghc-persistent-sqlite" ,ghc-persistent-sqlite) - ("ghc-persistent-template" ,ghc-persistent-template) - ("ghc-quickcheck" ,ghc-quickcheck))) - (home-page "https://github.com/bitemyapp/esqueleto") - (synopsis "Type-safe embedded domain specific language for SQL queries") - (description "This library provides a type-safe embedded domain specific + (let ((version "2.5.3") + (revision "1") + (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd")) + (package + (name "ghc-esqueleto") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bitemyapp/esqueleto") + (commit commit))) + (sha256 + (base32 + "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa")))) + (build-system haskell-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; This package normally runs tests for the MySQL, PostgreSQL, and + ;; SQLite backends. Since we only have Haskell packages for + ;; SQLite, we remove the other two test suites. FIXME: Add the + ;; other backends and run all three test suites. + (add-before 'configure 'remove-non-sqlite-test-suites + (lambda _ + (use-modules (ice-9 rdelim)) + (with-atomic-file-replacement "esqueleto.cabal" + (lambda (in out) + (let loop ((line (read-line in 'concat)) (deleting? #f)) + (cond + ((eof-object? line) #t) + ((string-every char-set:whitespace line) + (unless deleting? (display line out)) + (loop (read-line in 'concat) #f)) + ((member line '("test-suite mysql\n" "test-suite postgresql\n")) + (loop (read-line in 'concat) #t)) + (else + (unless deleting? (display line out)) + (loop (read-line in 'concat) deleting?))))))))))) + (inputs + `(("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-conduit" ,ghc-conduit) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-persistent" ,ghc-persistent) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-tagged" ,ghc-tagged) + ("ghc-text" ,ghc-text) + ("ghc-unliftio" ,ghc-unliftio) + ("ghc-unordered-containers" ,ghc-unordered-containers))) + (native-inputs + `(("ghc-hspec" ,ghc-hspec) + ("ghc-persistent-sqlite" ,ghc-persistent-sqlite) + ("ghc-persistent-template" ,ghc-persistent-template))) + (home-page "https://github.com/bitemyapp/esqueleto") + (synopsis "Type-safe embedded domain specific language for SQL queries") + (description "This library provides a type-safe embedded domain specific language (EDSL) for SQL queries that works with SQL backends as provided by @code{ghc-persistent}. Its language closely resembles SQL, so you don't have to learn new concepts, just new syntax, and it's fairly easy to predict the generated SQL and optimize it for your backend.") - (license license:bsd-3))) + (license license:bsd-3)))) (define-public shellcheck (package -- 2.18.0