From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:50793) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hOl9P-0004bo-ER for guix-patches@gnu.org; Thu, 09 May 2019 11:40:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hOl9O-0002MJ-4b for guix-patches@gnu.org; Thu, 09 May 2019 11:40:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:50811) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hOl9O-0002M9-0g for guix-patches@gnu.org; Thu, 09 May 2019 11:40:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hOl9N-00080O-RQ for guix-patches@gnu.org; Thu, 09 May 2019 11:40:01 -0400 Subject: [bug#35653] [PATCH] gnu: Add rcm. Resent-Message-ID: Received: from eggs.gnu.org ([209.51.188.92]:50463) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hOl8H-00040j-2a for guix-patches@gnu.org; Thu, 09 May 2019 11:38:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hOl8F-0001j7-Ni for guix-patches@gnu.org; Thu, 09 May 2019 11:38:53 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:57831) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hOl8F-0001hN-4u for guix-patches@gnu.org; Thu, 09 May 2019 11:38:51 -0400 From: Josh Holland Date: Thu, 9 May 2019 16:38:34 +0100 Message-Id: <20190509153834.26585-1-josh@inv.alid.pw> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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: 35653@debbugs.gnu.org Cc: Josh Holland Hi, Below is the first package definition I have written for Guix, defining the dotfile management suite rcm[0]. I'm sure there are changes to be made before it can be merged, and I did have a few issues while I was writing it. However, it does now build, install and run fine on my local machine. First, I wasn't sure whether it fits into an existing module already. I had a look through the contents of gnu/packages/ but I didn't see anything that really stuck out. Perhaps it fits into shellutils? Second, I had a lot of trouble with the test suite. The first thing that I had to solve was some hardcoded paths in the test cases, which I solved with the following argument to `#:phases`: (modify-phases %standard-phases (add-after 'patch-source-shebangs 'patch-tests (lambda _ (substitute* '("test/rcrc-tilde.t" "test/rcdn-hooks-run-in-order.t" "test/rcup-hooks-run-in-order.t") (("/bin/sh") (which "sh"))) (substitute* "test/rcup-hooks.t" (("/usr/bin/env") (which "env"))) #t))) This may or may not be the right way to go about things; I'd appreciate some feedback on that. However, I was still having issues with certain tests (`test/rcup-hooks.t`, `test/rcdn-hooks.t` and possibly others) non-deterministically failing trying to create and read /tmp/test files. I'm not sure how to fix this, or even what's causing it: every time I tried to reproduce it by hand the tests passed. I assume that something is deleting /tmp/test while the test is running but I'm not sure what. In the end I just disabled the tests, since even passing XFAIL_TESTS doesn't work as sometimes the tests just pass. If there are any ideas to solve the tests, or any other issues that need fixing, I'm happy to re-submit the patch. Thanks, Josh [0]: http://thoughtbot.github.io/rcm/ -- >8 -- Subject: [PATCH] gnu: Add rcm. * gnu/packages/rcm.scm (rcm): New variable. --- gnu/packages/rcm.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 gnu/packages/rcm.scm diff --git a/gnu/packages/rcm.scm b/gnu/packages/rcm.scm new file mode 100644 index 0000000000..180fff5ed9 --- /dev/null +++ b/gnu/packages/rcm.scm @@ -0,0 +1,33 @@ +(define-module (gnu packages rcm) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix licenses) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages perl)) + +(define-public rcm + (package + (name "rcm") + (version "1.3.3") + (source (origin + (method url-fetch) + (uri (string-append "https://thoughtbot.github.io/rcm/dist/rcm-" + version ".tar.gz")) + (sha256 + (base32 "1bqk7rrp1ckzvsvl9wghsr77m8xl3a7yc5gqdsisz492dx2j8mck")))) + (build-system gnu-build-system) + (arguments '(#:tests? #f)) + (native-inputs `(("perl" ,perl) + ("python-cram" ,python-cram))) + (synopsis "Management suite for dotfiles") + (description "The rcm suite of tools is for managing dotfiles directories. This is +a directory containing all the @code{.*rc} files in your home directory +(@code{.zshrc}, @code{.vimrc}, and so on). These files have gone by many +names in history, such as “rc files” because they typically end in rc +or “dotfiles” because they begin with a period. This suite is useful +for committing your rc files to a central repository to share, but it also +scales to a more complex situation such as multiple source directories +shared between computers with some host-specific or task-specific files.") + (license bsd-3) + (home-page "https://github.com/thoughtbot/rcm"))) -- 2.21.0