diff mbox series

[bug#39396] gnu: Add grip.

Message ID 20200202193545.17621-1-kuba@kadziolka.net
State Accepted
Headers show
Series [bug#39396] gnu: Add grip. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Maja Kądziołka Feb. 2, 2020, 7:35 p.m. UTC
* gnu/packages/python-web.scm (grip, python-path-and-address): New
  variables.
---
 gnu/packages/python-web.scm | 59 +++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

Comments

Efraim Flashner Feb. 2, 2020, 7:56 p.m. UTC | #1
On Sun, Feb 02, 2020 at 08:35:45PM +0100, Jakub Kądziołka wrote:
> * gnu/packages/python-web.scm (grip, python-path-and-address): New
>   variables.

Please split this into two patches.

> ---
>  gnu/packages/python-web.scm | 59 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 59 insertions(+)
> 
> diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
> index 9464021d82..a6b1e97ba1 100644
> --- a/gnu/packages/python-web.scm
> +++ b/gnu/packages/python-web.scm
> @@ -31,6 +31,7 @@
>  ;;; Copyright © 2019 Brendan Tildesley <mail@brendan.scot>
>  ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
>  ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -3494,3 +3495,61 @@ is part of the Weblate translation platform.")
>      (description "This package provides an extended library for interacting
>  with GitLab instances through their API.")
>      (license license:lgpl3+)))
> +
> +(define-public python-path-and-address
> +  (package
> +    (name "python-path-and-address")
> +    (version "2.0.1")
> +    (source
> +     (origin
> +       ;; Use git-fetch because pypi-url fails.

I managed to get the pypi importer to work:
guix environment --ad-hoc unzip -- guix import pypi path-and-address
just make sure to add the ".zip" at the end of the uri of the generated
package.

> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/joeyespo/path-and-address")
> +             (commit (string-append "v" version))))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32
> +         "0b0afpsaim06mv3lhbpm8fmawcraggc11jhzr6h72kdj1cqjk5h6"))))
> +    (build-system python-build-system)

This package didn't show any tests run, so after some experimentation I
ended up with the following addition:

(arguments
 `(#:phases
   (modify-phases %standard-phases
     (replace 'check
       (lambda* (#:key inputs outputs #:allow-other-keys)
         (add-installed-pythonpath inputs outputs)
         (invoke "py.test"))))))
(native-inputs
 `(("python-pytest" ,python-pytest)))

> +    (home-page "https://github.com/joeyespo/path-and-address")
> +    (synopsis "Functions for command-line server tools used by humans")
> +    (description "Path-and-address resolves ambiguities of command-line
> +interfaces, inferring which argument is the path, and which is the address.")
> +    (license license:expat)))
> +

This package I also didn't see run any tests. I'd suggest checking out
the .travis.yml file to see what they do for the tests.

> +(define-public grip
> +  ;; No release by upstream for quite some time, some bugs fixed since. See:
> +  ;; https://github.com/joeyespo/grip/issues/304
> +  (let ((commit "27a4d6d87ea1d0ea7f7f120de55baabee3de73e3"))
> +    (package
> +      (name "grip")
> +      (version (git-version "4.5.2" "1" commit))
> +      (source
> +       (origin
> +         (method git-fetch)
> +         (uri (git-reference
> +               (url "https://github.com/joeyespo/grip")
> +               (commit commit)))
> +         (file-name (git-file-name name version))
> +         (sha256
> +          (base32
> +           "0kx5hgb3q19i4l18a4vqdq9af390xgpk88lp2ay75qi96k0dc68w"))))
> +      (build-system python-build-system)
> +      (propagated-inputs
> +       `(("python-docopt" ,python-docopt)
> +         ("python-flask" ,python-flask)
> +         ("python-markdown" ,python-markdown)
> +         ("python-path-and-address" ,python-path-and-address)
> +         ("python-pygments" ,python-pygments)
> +         ("python-requests" ,python-requests)))
> +      (native-inputs
> +       `(("python-responses" ,python-responses)))
> +      (home-page "https://github.com/joeyespo/grip")
> +      (synopsis "Preview Markdown files using the GitHub API")
> +      (description "Grip is a command-line server application written in Python
> +that uses the GitHub Markdown API to render a local Markdown file.  The styles
> +and rendering come directly from GitHub, so you'll know exactly how it will
> +appear.  Changes you make to the file will be instantly reflected in the browser
> +without requiring a page refresh.")
> +      (license license:expat))))
> -- 
> 2.25.0
> 
> 
> 
>
diff mbox series

Patch

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 9464021d82..a6b1e97ba1 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -31,6 +31,7 @@ 
 ;;; Copyright © 2019 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3494,3 +3495,61 @@  is part of the Weblate translation platform.")
     (description "This package provides an extended library for interacting
 with GitLab instances through their API.")
     (license license:lgpl3+)))
+
+(define-public python-path-and-address
+  (package
+    (name "python-path-and-address")
+    (version "2.0.1")
+    (source
+     (origin
+       ;; Use git-fetch because pypi-url fails.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/joeyespo/path-and-address")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0b0afpsaim06mv3lhbpm8fmawcraggc11jhzr6h72kdj1cqjk5h6"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/joeyespo/path-and-address")
+    (synopsis "Functions for command-line server tools used by humans")
+    (description "Path-and-address resolves ambiguities of command-line
+interfaces, inferring which argument is the path, and which is the address.")
+    (license license:expat)))
+
+(define-public grip
+  ;; No release by upstream for quite some time, some bugs fixed since. See:
+  ;; https://github.com/joeyespo/grip/issues/304
+  (let ((commit "27a4d6d87ea1d0ea7f7f120de55baabee3de73e3"))
+    (package
+      (name "grip")
+      (version (git-version "4.5.2" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/joeyespo/grip")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0kx5hgb3q19i4l18a4vqdq9af390xgpk88lp2ay75qi96k0dc68w"))))
+      (build-system python-build-system)
+      (propagated-inputs
+       `(("python-docopt" ,python-docopt)
+         ("python-flask" ,python-flask)
+         ("python-markdown" ,python-markdown)
+         ("python-path-and-address" ,python-path-and-address)
+         ("python-pygments" ,python-pygments)
+         ("python-requests" ,python-requests)))
+      (native-inputs
+       `(("python-responses" ,python-responses)))
+      (home-page "https://github.com/joeyespo/grip")
+      (synopsis "Preview Markdown files using the GitHub API")
+      (description "Grip is a command-line server application written in Python
+that uses the GitHub Markdown API to render a local Markdown file.  The styles
+and rendering come directly from GitHub, so you'll know exactly how it will
+appear.  Changes you make to the file will be instantly reflected in the browser
+without requiring a page refresh.")
+      (license license:expat))))