[bug#35172] gnu: Add git-lfs.

Message ID 20190406143533.7979-1-kkebreau@posteo.net
State Accepted
Headers show
Series [bug#35172] gnu: Add git-lfs. | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

Kei Kebreau April 6, 2019, 2:35 p.m. UTC
* gnu/packages/version-control.scm (git-lfs): New variable.
---
 gnu/packages/version-control.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

Comments

Kei Kebreau April 6, 2019, 2:55 p.m. UTC | #1
Kei Kebreau <kkebreau@posteo.net> writes:

> +(define-public git-lfs
> +  (package
> +    (name "git-lfs")
> +    (version "2.7.1")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/git-lfs/git-lfs")
> +                    (commit (string-append "v" version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "10v38w8qfz0x8750kv31n8gg2dimvq4wz40m374pd1xaypfs9670"))))
> +    (build-system go-build-system)
> +    (arguments
> +     '(#:import-path "github.com/git-lfs/git-lfs"))
> +    (home-page "https://git-lfs.github.com/")
> +    (synopsis "Git extension for versioning large files")
> +    (description
> +     "Git Large File Storage (LFS) replaces large files such as audio samples,
> +videos, datasets, and graphics with text pointers inside Git, while storing the
> +file contents on a remote server like GitHub.com or GitHub Enterprise.")

I realize that I can remove the GitHub promotion from the description
without any loss of understanding.

> +    (license license:expat)))

This is my first Go package, so any corrections or tips are especially
appreciated!
Ludovic Courtès April 18, 2019, 3:43 p.m. UTC | #2
Hello,

Kei Kebreau <kkebreau@posteo.net> skribis:

> Kei Kebreau <kkebreau@posteo.net> writes:
>
>> +(define-public git-lfs
>> +  (package
>> +    (name "git-lfs")
>> +    (version "2.7.1")
>> +    (source (origin
>> +              (method git-fetch)
>> +              (uri (git-reference
>> +                    (url "https://github.com/git-lfs/git-lfs")
>> +                    (commit (string-append "v" version))))
>> +              (file-name (git-file-name name version))
>> +              (sha256
>> +               (base32
>> +                "10v38w8qfz0x8750kv31n8gg2dimvq4wz40m374pd1xaypfs9670"))))
>> +    (build-system go-build-system)
>> +    (arguments
>> +     '(#:import-path "github.com/git-lfs/git-lfs"))
>> +    (home-page "https://git-lfs.github.com/")
>> +    (synopsis "Git extension for versioning large files")
>> +    (description
>> +     "Git Large File Storage (LFS) replaces large files such as audio samples,
>> +videos, datasets, and graphics with text pointers inside Git, while storing the
>> +file contents on a remote server like GitHub.com or GitHub Enterprise.")
>
> I realize that I can remove the GitHub promotion from the description
> without any loss of understanding.

Agreed.

>> +    (license license:expat)))
>
> This is my first Go package, so any corrections or tips are especially
> appreciated!

I’m no nothing about Go, but it LGTM!  If something is broken, don’t
worry, people will tell you.  ;-)

Thank you,
Ludo’.
Kei Kebreau April 20, 2019, 8:42 p.m. UTC | #3
Ludovic Courtès <ludo@gnu.org> writes:

> Hello,
>
> Kei Kebreau <kkebreau@posteo.net> skribis:
>
>> Kei Kebreau <kkebreau@posteo.net> writes:
>>
>>> +(define-public git-lfs
>>> +  (package
>>> +    (name "git-lfs")
>>> +    (version "2.7.1")
>>> +    (source (origin
>>> +              (method git-fetch)
>>> +              (uri (git-reference
>>> +                    (url "https://github.com/git-lfs/git-lfs")
>>> +                    (commit (string-append "v" version))))
>>> +              (file-name (git-file-name name version))
>>> +              (sha256
>>> +               (base32
>>> +                "10v38w8qfz0x8750kv31n8gg2dimvq4wz40m374pd1xaypfs9670"))))
>>> +    (build-system go-build-system)
>>> +    (arguments
>>> +     '(#:import-path "github.com/git-lfs/git-lfs"))
>>> +    (home-page "https://git-lfs.github.com/")
>>> +    (synopsis "Git extension for versioning large files")
>>> +    (description
>>> + "Git Large File Storage (LFS) replaces large files such as audio
>>> samples,
>>> +videos, datasets, and graphics with text pointers inside Git,
>>> while storing the
>>> +file contents on a remote server like GitHub.com or GitHub Enterprise.")
>>
>> I realize that I can remove the GitHub promotion from the description
>> without any loss of understanding.
>
> Agreed.
>
>>> +    (license license:expat)))
>>
>> This is my first Go package, so any corrections or tips are especially
>> appreciated!
>
> I’m no nothing about Go, but it LGTM!  If something is broken, don’t
> worry, people will tell you.  ;-)
>

:-)

> Thank you,
> Ludo’.

Pushed to master, thank you for reviewing!
Ludovic Courtès April 21, 2019, 12:50 p.m. UTC | #4
Kei Kebreau <kkebreau@posteo.net> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:

[...]

>> I’m no nothing about Go, but it LGTM!  If something is broken, don’t
    ^^^^^

Ouch, what have I written here?!  Anyway, thanks for git-lfs!

Ludo’.

Patch

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 50284182c9..091bc988cf 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -23,6 +23,7 @@ 
 ;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net>
+;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -47,6 +48,7 @@ 
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system go)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages apr)
@@ -2137,3 +2139,27 @@  design goals are to reduce the pain of resolving merge conflicts by finding
 the smallest possible conflicts and to allow a merge to be saved, tested,
 interrupted, published, and collaborated on while in progress.")
     (license license:gpl2+)))
+
+(define-public git-lfs
+  (package
+    (name "git-lfs")
+    (version "2.7.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/git-lfs/git-lfs")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "10v38w8qfz0x8750kv31n8gg2dimvq4wz40m374pd1xaypfs9670"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/git-lfs/git-lfs"))
+    (home-page "https://git-lfs.github.com/")
+    (synopsis "Git extension for versioning large files")
+    (description
+     "Git Large File Storage (LFS) replaces large files such as audio samples,
+videos, datasets, and graphics with text pointers inside Git, while storing the
+file contents on a remote server like GitHub.com or GitHub Enterprise.")
+    (license license:expat)))