branch master updated: doc: Add Guix Days 2020 notes on "The Perfect Setup".
This is an automated email from the git hooks/post-receive script. ambrevar pushed a commit to branch master in repository maintenance. The following commit(s) were added to refs/heads/master by this push: new 4b2000a doc: Add Guix Days 2020 notes on "The Perfect Setup". 4b2000a is described below commit 4b2000ad12111e146ab43db2cdcac0b7805d763a Author: Pierre Neidhardt AuthorDate: Mon Feb 17 11:59:17 2020 +0100 doc: Add Guix Days 2020 notes on "The Perfect Setup". * doc/guix-days-2020/perfect-setup.org: New file. --- doc/guix-days-2020/perfect-setup.org | 149 +++ 1 file changed, 149 insertions(+) diff --git a/doc/guix-days-2020/perfect-setup.org b/doc/guix-days-2020/perfect-setup.org new file mode 100644 index 000..c70260c --- /dev/null +++ b/doc/guix-days-2020/perfect-setup.org @@ -0,0 +1,149 @@ +* The Perfect Setup + +The manual mentions a "Perfect Setup" which is a rather pompous title +considering the many shortcomings it currently has! :) + +Let's list the main pain points below and some suggestions on how to fix them. + +** Too Emacsy + +Most tools for hacking Guix imply the use of Emacs. Even Guile-Studio is Emacs +under the hood. This is the source of a few problems: + +- Emacs has a steep learning curve which may overwhelm newcomers and thus deter + Guix adoption. + +- Non-Emacs users may want to stick to their favourite editor. + +We need to work on integrating Guix with Vim, etc. + +** Emacs-guix.el does not work with channels + +https://github.com/alezost/guix.el/issues/34 + +** Recommended Emacs packages + +We could add this to The Perfect Setup: + +- Magit + +- Yasnippet to automate the redaction of commit message. + Add this to your Emacs config: + + #+begin_src elisp + (when (require 'yasnippet nil 'noerror) +(yas-global-mode 1) +(add-to-list 'yas-snippet-dirs + (expand-file-name "etc/snippets" "~/projects/guix"))) + #+end_src + +- guix.el + Try the development commands as well as the log modes. + +- Helm / Ivy with =imenu= (fixed in Emacs 27) to browse package definitions + (fuzzy live search). + + Fix for Emacs <27 here: https://github.com/alezost/emacs-config + +- engine-mode.el to browse the mailing lists from Emacs: + + #+begin_src elisp +(defun engine-eww-function (url _) + (interactive) + (eww url)) + +(defengine guix-devel + "https://lists.gnu.org/archive/cgi-bin/namazu.cgi?idxname=guix-devel=Search=%s; + :keybinding "gud" + :browser 'engine-eww-function) + +(defengine guix-help + "https://lists.gnu.org/archive/cgi-bin/namazu.cgi?idxname=help-guix=Search!=%s; + :keybinding "guh" + :browser 'engine-eww-function) + #+end_src + +- debbugs.el to browse and apply patches from Emacs. + Try =debbugs-gnu-bugs= to go to a given bug number directly. + Also try =debbugs-org= and the following snippet: + + #+begin_src elisp +(defun guix-debbugs-gnu ( severities packages archivedp suppress tags) + "Like `debbugs-gnu' but for the Guix project." + (interactive) + (let ((debbugs-gnu-default-packages '("guix-patches" "guix"))) +(if (called-interactively-p) +(call-interactively 'debbugs-gnu) + (debbugs-gnu severities packages archivedp suppress tags + #+end_src + + To apply patches, mark the corresponding emails then press press "|" + (gnus-summary-pipe-output) and type =cd ~/guix && git am= (change the path as + appropriate). + +- Geiser for Guile hacking. You need to tell Emacs to add the checkouts of Guix + and the channels that you use in order to load hack a Guix-related module from + the REPL. + + #+begin_src elisp + (dolist (dir '("~/projects/guix" "~/projects/my-guix-channel")) +(when (file-directory-p dir) + (add-to-list 'geiser-guile-load-path dir))) + #+end_src + + Geiser needs more work, in particular: + + https://gitlab.com/jaor/geiser/issues/293 + https://gitlab.com/jaor/geiser/issues/294 + https://gitlab.com/jaor/geiser/issues/295 + https://gitlab.com/jaor/geiser/issues/296 + + Something that many Guix hackers didn't seem to know: on error you can display + the backtrace with all local values for all the frames with + + #+begin_src scheme + ,backtrace #:full? #t + #+end_src + + or + + #+begin_src scheme + ,bt #:full? #t + #+end_src + + It's cumbersome to write though and it would be nicer to implement + https://gitlab.com/jaor/geiser/issues/295. + +- Paredit, Parinfer, Lispy, symex + + While =paredit= is the most famous package for enhanced Lisp editing, the + other ones might be more modern and worth checking out. + For instance, have a look at the demos for Lisp: + + https://github.com/abo-abo/lispy#demos + +** Configuration sharing hub + +We don't really have a way of sharing Guix tips and configurations. + +For now, all we have is + +- https://old.reddit.
01/02: doc: Fix typos in Guix Days 2020 "Parameterized packages".
ambrevar pushed a commit to branch master in repository maintenance. commit 26ea4ab4c6789ab971016f90665cd15d37386e4b Author: Pierre Neidhardt AuthorDate: Mon Feb 17 11:22:49 2020 +0100 doc: Fix typos in Guix Days 2020 "Parameterized packages". * doc/guix-days-2020/parameterized-packages-guix-days: Do it. --- .../parameterized-packages-guix-days.org | 24 +++--- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/guix-days-2020/parameterized-packages-guix-days.org b/doc/guix-days-2020/parameterized-packages-guix-days.org index 96f2921..e1aead5 100644 --- a/doc/guix-days-2020/parameterized-packages-guix-days.org +++ b/doc/guix-days-2020/parameterized-packages-guix-days.org @@ -1,10 +1,10 @@ * Parameterized Packages ** Definititions *** USE flags -The inspiration for Parameterized Packages in guix largely comes from +The inspiration for Parameterized Packages in Guix largely comes from Gentoo Linux, which is well known for its powerful [[https://wiki.gentoo.org/wiki/USE_flag][USE flags]], which allow the end user to customize various properties of the package -build process. Common USE flags include *X*, for enabling X11 support, +build process. Common USE flags include *X*, for enabling X11 support, *dbus* to toggle dbus integration, and *debug* to enable debugging support. @@ -22,40 +22,40 @@ any combination of parameters. ** Integration with Functional Builds A common problem with Gentoo USE flags occurs when packages in a user profile themselves depend the same package, only with conflicting USE -flags set. Fortunately, guix's functional package builds allow us to +flags set. Fortunately, Guix's functional package builds allow us to have multiple versions of a package in the store that differ only in the parameter set. *** Hackability / customizability -An easy interface for package customization would further guix's goal +An easy interface for package customization would further Guix's goal of being a hackable package manager. ** Disadvantages *** Complexity The flipside of increased expressiveness in package definitions is increased complexity. As the number of parameters grows, there is a explosion in the number of possible parameter combinations. This means -that guix may be unable to test all possibile parameter combinations -available to the end user. +that Guix may be unable to test all possibile parameter combinations +available to the end user. *** Substitutes When a user customizes their package parameters, they are creating a distinct version of the package that will have a unique store -hash. Therefore unless guix dedicates resources to building +hash. Therefore unless Guix dedicates resources to building substitutes for common package parameters, they will have to compile everything themselves. ** Questions / Discussions *** Dealing with propagation We agreed that we want to to develop an alternative approach to the -Gentoo USE flag system. Guix packages should be able to declare which +Gentoo USE flag system. Guix packages should be able to declare which parameters that they understand, and in addition we believe that guix packages should explicitly declare which parameters are allowed to -propagate to any dependencies of the package. If a parameter is not +propagate to any dependencies of the package. If a parameter is not allowed to propagate, then when the dependencies are evaluated, they will not see that the parameter has been set, instead falling back to -the parameter default. In addition, packages will not be able to set +the parameter default. In addition, packages will not be able to set any additional parameters for their dependencies that the user has not already declared. -*** Technical Considerations +*** Technical considerations Host instead of build side Because we want to support parameters that can add additional dependencies to the package, the parameter handling logic needs to -occur on the host side. One possibility suggested was for the +occur on the host side. One possibility suggested was for the parameters to be evaluated when the package is lowered into a bag.
02/02: doc: Add "Readability" section to Guix Days 2020 "Parameterized packages".
ambrevar pushed a commit to branch master in repository maintenance. commit c374a8fd9aec1ae0d2699d0793a44b40c7846c94 Author: Pierre Neidhardt AuthorDate: Mon Feb 17 11:26:24 2020 +0100 doc: Add "Readability" section to Guix Days 2020 "Parameterized packages". * doc/guix-days-2020/parameterized-packages-guix-days: Do it. --- doc/guix-days-2020/parameterized-packages-guix-days.org | 4 1 file changed, 4 insertions(+) diff --git a/doc/guix-days-2020/parameterized-packages-guix-days.org b/doc/guix-days-2020/parameterized-packages-guix-days.org index e1aead5..4a30ca4 100644 --- a/doc/guix-days-2020/parameterized-packages-guix-days.org +++ b/doc/guix-days-2020/parameterized-packages-guix-days.org @@ -35,6 +35,10 @@ increased complexity. As the number of parameters grows, there is a explosion in the number of possible parameter combinations. This means that Guix may be unable to test all possibile parameter combinations available to the end user. +*** Readability +To apply a parameter to a package definition, we need a bunch of ~(if +flag-is-set ...)~. This can make the package definitions significantly more +cumboersome to read. Helper macros or functions could help to some extent. *** Substitutes When a user customizes their package parameters, they are creating a distinct version of the package that will have a unique store
branch master updated (d5d410a -> c374a8f)
ambrevar pushed a change to branch master in repository maintenance. from d5d410a hydra: web: Update gwl-snapshot. new 26ea4ab doc: Fix typos in Guix Days 2020 "Parameterized packages". new c374a8f doc: Add "Readability" section to Guix Days 2020 "Parameterized packages". The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../parameterized-packages-guix-days.org | 28 -- 1 file changed, 16 insertions(+), 12 deletions(-)
branch master updated: talks: fosdem2020-search-discovery: Finalize.
This is an automated email from the git hooks/post-receive script. ambrevar pushed a commit to branch master in repository maintenance. The following commit(s) were added to refs/heads/master by this push: new fe8f739 talks: fosdem2020-search-discovery: Finalize. fe8f739 is described below commit fe8f73971d452b43fc29ea29839a74f2a372261c Author: Pierre Neidhardt AuthorDate: Fri Jan 31 18:17:12 2020 +0100 talks: fosdem2020-search-discovery: Finalize. * talks/fosdem-2020/search-discovery/search-discovery.org: Edit. --- .../search-discovery/search-discovery.org | 99 -- 1 file changed, 53 insertions(+), 46 deletions(-) diff --git a/talks/fosdem-2020/search-discovery/search-discovery.org b/talks/fosdem-2020/search-discovery/search-discovery.org index 8c025ae..a459de4 100644 --- a/talks/fosdem-2020/search-discovery/search-discovery.org +++ b/talks/fosdem-2020/search-discovery/search-discovery.org @@ -1,6 +1,7 @@ #+AUTHOR: Pierre Neidhardt #+EMAIL: m...@ambrevar.xyz -#+TITLE: Search & discover packages and services with GNU Guix +#+TITLE: Search & discover packages and services +#+SUBTITLE: with GNU Guix #+OPTIONS: reveal_single_file:t @@ -11,11 +12,12 @@ #+REVEAL_PLUGINS: (highlight) #+REVEAL_THEME: night -#+REVEAL_MAX_SCALE: 0.6 +# #+REVEAL_MAX_SCALE: 0.6 #+REVEAL_TITLE_SLIDE_BACKGROUND: ./images/Guix_logo_noname.svg.png #+REVEAL_TITLE_SLIDE_BACKGROUND_SIZE: 550px +#+TODO: Zoom out title. #+TODO: Talk about guile? * Sharing matters @@ -25,13 +27,15 @@ # : The power of the data that other[s] have collected is locked up and we need to # : get it unlocked so we can tackle those huge problems. -: A lot of the state of knowledge of the human race at the moment is on databases, -: often sitting in their computers, and actually, currently not shared. +#+begin_quote +A lot of the state of knowledge of the human race at the moment is on databases, +often sitting in their computers, and actually, currently not shared. +#+end_quote -- Tim Berners-Lee "The next web" (2009) -#+begin_notes +#+BEGIN_NOTES In 2009, TBL gave a speech on "The next web". Sharing matters: @@ -43,13 +47,13 @@ Sharing matters: Today we are at the free software conference where everyone understands this and yet, I would argue, that we are still not that good at sharing. A lot of time and effort goes to waste. -#+end_notes +#+END_NOTES -* Sharing is nothing without searching +* Sharing is nothing without discoverability -Efficient sharing means equally efficiant discovery. +Efficient sharing means equally efficient discovery. -#+begin_notes +#+BEGIN_NOTES How do we find the program that we are looking for? Let me rephrase: How do we find the program that does the job for us? @@ -58,9 +62,9 @@ We don't expect to program them: we expect to run a program and get the job done User experience question: when first confronted with a computer, how do we know which program to run? => Tribal knowledge (e.g. VLC is famous because it's famous). -#+end_notes +#+END_NOTES -* Dotfiles, or "Yet another home-made service" +* Dotfiles, or "Yet another home-made service"? #+TODO: Take data from GitHub, gitlab "dotfiles" repositories @@ -73,20 +77,20 @@ https://github.com/search?o=desc=dotfiles=stars=Repositories # TODO: Average of ??? lines. -#+begin_notes +#+BEGIN_NOTES Show of hands: who has spent too much time on their dotfiles? What is a dotfile really? It's just another home-made service. Just like a program, it gets the job done. And when start thinking this way, we start realizing that it's only a blurred line between services and packages. -#+end_notes +#+END_NOTES * First-class services Or "The end of dotfiles!" -#+begin_notes +#+BEGIN_NOTES My claim: we can put an end to dotfiles! Rephrase: An end to "egoistic un-reusable dotfiles". @@ -97,9 +101,9 @@ Dream: Just need to declare which program and services you want to use and your are done. This could tailor to your most specific needs. Service example: daily backup of my data with rsync+ssh/vpn. -#+end_notes +#+END_NOTES -* Example +** Example # TODO: Finish service example #+begin_src scheme @@ -115,103 +119,100 @@ Service example: daily backup of my data with rsync+ssh/vpn. # TODO: More examples? -* Recipe for first-class services +** Recipe for first-class services Just use GNU Guix and GNU Shepherd! - Shepherd services drag Guix dependent packages automatically. - Can be installed everywhere. -#+begin_notes +#+BEGIN_NOTES It's hard to fix it for every distribution. Since Guix is universal, it fixes it for everyone. -#+end_notes +#+END_NOTES * A flood of packages and services -Nix has some 40,000+ packages. +Nix: 40,000+ packages. -Guix is getting there: 12,000 as of FOSDEM 2020. +Guix: 12,000+ packages, 140+ services. -#+begin_notes +#+BE
branch master updated: talks: fosdem2020-search-discovery: Finish up outline.
This is an automated email from the git hooks/post-receive script. ambrevar pushed a commit to branch master in repository maintenance. The following commit(s) were added to refs/heads/master by this push: new c397b00 talks: fosdem2020-search-discovery: Finish up outline. c397b00 is described below commit c397b008768c8183fb3e9762e44afd4a321aedf7 Author: Pierre Neidhardt AuthorDate: Thu Jan 16 11:15:26 2020 +0100 talks: fosdem2020-search-discovery: Finish up outline. * talks/fosdem-2020/search-discovery/search-discovery.org: Do it. --- .../search-discovery/search-discovery.org | 135 +++-- 1 file changed, 96 insertions(+), 39 deletions(-) diff --git a/talks/fosdem-2020/search-discovery/search-discovery.org b/talks/fosdem-2020/search-discovery/search-discovery.org index 7fdba48..8c025ae 100644 --- a/talks/fosdem-2020/search-discovery/search-discovery.org +++ b/talks/fosdem-2020/search-discovery/search-discovery.org @@ -16,16 +16,38 @@ #+REVEAL_TITLE_SLIDE_BACKGROUND: ./images/Guix_logo_noname.svg.png #+REVEAL_TITLE_SLIDE_BACKGROUND_SIZE: 550px -#+TODO: Talk about guile. +#+TODO: Talk about guile? -* How do we search? +* Sharing matters # https://www.ted.com/talks/tim_berners_lee_the_next_web/transcript -# TODO: Fill in the quote on linking web data. -"..." --- Tim Berners Lee -"The Next Web" (2009) +# : The power of the data that other[s] have collected is locked up and we need to +# : get it unlocked so we can tackle those huge problems. + +: A lot of the state of knowledge of the human race at the moment is on databases, +: often sitting in their computers, and actually, currently not shared. + +-- Tim Berners-Lee +"The next web" (2009) + +#+begin_notes +In 2009, TBL gave a speech on "The next web". + +Sharing matters: + +- Transparency and better understanding of the world. +- Don't waste time. +- Don't waste effort. + +Today we are at the free software conference where everyone understands this and +yet, I would argue, that we are still not that good at sharing. A lot of time +and effort goes to waste. +#+end_notes + +* Sharing is nothing without searching + +Efficient sharing means equally efficiant discovery. #+begin_notes How do we find the program that we are looking for? @@ -36,16 +58,20 @@ We don't expect to program them: we expect to run a program and get the job done User experience question: when first confronted with a computer, how do we know which program to run? => Tribal knowledge (e.g. VLC is famous because it's famous). - -Speak for Guix-specific improvements, but also more general research. #+end_notes * Dotfiles, or "Yet another home-made service" #+TODO: Take data from GitHub, gitlab "dotfiles" repositories -??? "dotfiles" repositories across GitHub, GitLab... -Average of ??? lines. +https://github.com/search?o=desc=dotfiles=stars=Repositories + +130 K "dotfiles" repositories on GitHub. + +# https://github.com/search?utf8=%E2%9C%93==Repositories +# 49 M users: 1 "dotfiles" every 377 users. + +# TODO: Average of ??? lines. #+begin_notes Show of hands: who has spent too much time on their dotfiles? @@ -89,6 +115,18 @@ Service example: daily backup of my data with rsync+ssh/vpn. # TODO: More examples? +* Recipe for first-class services + +Just use GNU Guix and GNU Shepherd! + +- Shepherd services drag Guix dependent packages automatically. +- Can be installed everywhere. + +#+begin_notes +It's hard to fix it for every distribution. +Since Guix is universal, it fixes it for everyone. +#+end_notes + * A flood of packages and services Nix has some 40,000+ packages. @@ -100,48 +138,37 @@ Services don't have well known names. How do we find our way around this mess? -More general problem: search programs / services is hard. +More general problem: search packages / services is hard. #+end_notes -* GNU Guix and GNU Shepherd - -- Can be installed everywhere. -- Shepherd services drag Guix dependent packages automatically. - * Problem 1: File search SQLite databases from substitute servers. -* Problem 2: Package parameters +#+begin_notes +Nix can do this, Guix cannot. +We need to fix this. +#+end_notes + +* Problem 2: Gentoo "USE flags" # TODO: Really talk about this? -"Gentoo USE flags" -Example: FFmpeg compiled with AAC encoding +# TODO: Better USE flag example. +Example: FFmpeg compiled with AAC codec * Problem 3: User interface -- Command line of course... -- ...But also GUI! - # TODO: Videos? Demo with Helm? -#+begin_notes -Live, fuzzy search that "does what you mean." -Understands if you are looking for a service, file, application. -#+end_notes - -* The Art of Searching - -- À-la "web search-engine". -- Databases: Wikidata -- Smart search engines: Xapian? +Accessibility means "good GUI!" #+begin_notes -Wikidata is
branch master updated: talks: fosdem2020-search-discovery: Mention current work.
This is an automated email from the git hooks/post-receive script. ambrevar pushed a commit to branch master in repository maintenance. The following commit(s) were added to refs/heads/master by this push: new 6894f93 talks: fosdem2020-search-discovery: Mention current work. 6894f93 is described below commit 6894f93f47e850d26d1ff215e702ac839030524c Author: Pierre Neidhardt AuthorDate: Wed Jan 15 22:39:21 2020 +0100 talks: fosdem2020-search-discovery: Mention current work. * talks/fosdem-2020/search-discovery/search-discovery.org: Add "Work" section. --- talks/fosdem-2020/search-discovery/search-discovery.org | 12 1 file changed, 12 insertions(+) diff --git a/talks/fosdem-2020/search-discovery/search-discovery.org b/talks/fosdem-2020/search-discovery/search-discovery.org index d40d7fc..7fdba48 100644 --- a/talks/fosdem-2020/search-discovery/search-discovery.org +++ b/talks/fosdem-2020/search-discovery/search-discovery.org @@ -155,3 +155,15 @@ We don't want to include tags in a permanent databases: - Too subjective. - Evolves over time depending on the latest trends. #+end_notes + +* Current work + +For Guix: + +- File index +- GUI +- Smarter search +- User services +- Community contribution integration + +# TODO: Mention NLNet?
branch master updated: talks: fosdem2020-search-discovery: Add draft.
This is an automated email from the git hooks/post-receive script. ambrevar pushed a commit to branch master in repository maintenance. The following commit(s) were added to refs/heads/master by this push: new 15cbddd talks: fosdem2020-search-discovery: Add draft. 15cbddd is described below commit 15cbddd52023752b0bdde63d9ffc58b6a2503c1e Author: Pierre Neidhardt AuthorDate: Wed Jan 15 22:00:26 2020 +0100 talks: fosdem2020-search-discovery: Add draft. * talks/fosdem-2020/search-discovery/search-discovery.org: New file. --- .../images/Guix_logo_noname.svg.png| Bin 0 -> 62720 bytes .../search-discovery/search-discovery.org | 157 + 2 files changed, 157 insertions(+) diff --git a/talks/fosdem-2020/search-discovery/images/Guix_logo_noname.svg.png b/talks/fosdem-2020/search-discovery/images/Guix_logo_noname.svg.png new file mode 100644 index 000..817364f Binary files /dev/null and b/talks/fosdem-2020/search-discovery/images/Guix_logo_noname.svg.png differ diff --git a/talks/fosdem-2020/search-discovery/search-discovery.org b/talks/fosdem-2020/search-discovery/search-discovery.org new file mode 100644 index 000..d40d7fc --- /dev/null +++ b/talks/fosdem-2020/search-discovery/search-discovery.org @@ -0,0 +1,157 @@ +#+AUTHOR: Pierre Neidhardt +#+EMAIL: m...@ambrevar.xyz +#+TITLE: Search & discover packages and services with GNU Guix + +#+OPTIONS: reveal_single_file:t + +#+OPTIONS: toc:nil + +#+REVEAL_ROOT: http://cdn.jsdelivr.net/reveal.js/3.0.0/ +# #+REVEAL_TRANS: page +#+REVEAL_PLUGINS: (highlight) +#+REVEAL_THEME: night + +#+REVEAL_MAX_SCALE: 0.6 + +#+REVEAL_TITLE_SLIDE_BACKGROUND: ./images/Guix_logo_noname.svg.png +#+REVEAL_TITLE_SLIDE_BACKGROUND_SIZE: 550px + +#+TODO: Talk about guile. + +* How do we search? + +# https://www.ted.com/talks/tim_berners_lee_the_next_web/transcript + +# TODO: Fill in the quote on linking web data. +"..." +-- Tim Berners Lee +"The Next Web" (2009) + +#+begin_notes +How do we find the program that we are looking for? +Let me rephrase: How do we find the program that does the job for us? + +What do we expect from computers? +We don't expect to program them: we expect to run a program and get the job done. + +User experience question: when first confronted with a computer, how do we know +which program to run? => Tribal knowledge (e.g. VLC is famous because it's famous). + +Speak for Guix-specific improvements, but also more general research. +#+end_notes + +* Dotfiles, or "Yet another home-made service" + +#+TODO: Take data from GitHub, gitlab "dotfiles" repositories +??? "dotfiles" repositories across GitHub, GitLab... + +Average of ??? lines. + +#+begin_notes +Show of hands: who has spent too much time on their dotfiles? + +What is a dotfile really? It's just another home-made service. + +Just like a program, it gets the job done. And when start thinking this way, we +start realizing that it's only a blurred line between services and packages. +#+end_notes + +* First-class services + +Or "The end of dotfiles!" + +#+begin_notes +My claim: we can put an end to dotfiles! + +Rephrase: An end to "egoistic un-reusable dotfiles". + +Everyone can start upstreaming their dotfiles configurations and share them. + +Dream: Just need to declare which program and services you want to use and your +are done. This could tailor to your most specific needs. + +Service example: daily backup of my data with rsync+ssh/vpn. +#+end_notes + +* Example + +# TODO: Finish service example +#+begin_src scheme + (backup-service-type + (backup-configuration +(host "123.123.123.123") +(port "") +(method rsync+vpn) +(folders + '(("/path/folder1" "/target/destination1") + ("/path/folder1" "/target/destination2") +#+end_src + +# TODO: More examples? + +* A flood of packages and services + +Nix has some 40,000+ packages. + +Guix is getting there: 12,000 as of FOSDEM 2020. + +#+begin_notes +Services don't have well known names. + +How do we find our way around this mess? + +More general problem: search programs / services is hard. +#+end_notes + +* GNU Guix and GNU Shepherd + +- Can be installed everywhere. +- Shepherd services drag Guix dependent packages automatically. + +* Problem 1: File search + +SQLite databases from substitute servers. + +* Problem 2: Package parameters + +# TODO: Really talk about this? +"Gentoo USE flags" + +Example: FFmpeg compiled with AAC encoding + +* Problem 3: User interface + +- Command line of course... +- ...But also GUI! + +# TODO: Videos? Demo with Helm? + +#+begin_notes +Live, fuzzy search that "does what you mean." +Understands if you are looking for a service, file, application. +#+end_notes + +* The Art of Searching + +- À-la "web search-engine". +- Databases: Wikidata +- Smart sea
branch master updated (52d73e6 -> bb2359c)
ambrevar pushed a change to branch master in repository guix-artwork. from 52d73e6 website: gnu-statement: Add one signatory. new bb2359c website: profiles-in-practice: Fix more typos. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: website/posts/profiles-in-practice.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
01/01: website: profiles-in-practice: Fix more typos.
ambrevar pushed a commit to branch master in repository guix-artwork. commit bb2359c592f3acd51a57367422c2561b4ab14c80 Author: Pierre Neidhardt Date: Mon Oct 28 09:04:14 2019 +0100 website: profiles-in-practice: Fix more typos. * website/posts/profiles-in-practice.md: Fix more typos. --- website/posts/profiles-in-practice.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/posts/profiles-in-practice.md b/website/posts/profiles-in-practice.md index e0c8115..7d32f5b 100644 --- a/website/posts/profiles-in-practice.md +++ b/website/posts/profiles-in-practice.md @@ -8,7 +8,7 @@ tags: Functional package management, Reproducibility, User interfaces, Customiza Guix provides a very useful feature that may be quite foreign to newcomers: *profiles*. They are a way to group package installations together and all users -on a same system are free to use as many profiles as they want. +on the same system are free to use as many profiles as they want. Whether you're a developer or not, you may find that multiple profiles bring you great power and flexibility. While they shift the paradigm somewhat compared to @@ -199,7 +199,7 @@ the profile is loaded, you've got two options: - Either export the variable manually, e.g. -export MANPATH=/path/to/profile${MANPATH:+:}$MANPATH" +export MANPATH=/path/to/profile${MANPATH:+:}$MANPATH - Or include `man-db` to the profile manifest.
01/01: website: Add post about "profiles in practice".
ambrevar pushed a commit to branch master in repository guix-artwork. commit 19c472e8c476aee835c46dc2a88a05634aa9abcd Author: Pierre Neidhardt Date: Thu Oct 24 10:50:54 2019 +0200 website: Add post about "profiles in practice". * website/posts/profiles-in-practice.md: New file. --- website/posts/profiles-in-practice.md | 356 ++ 1 file changed, 356 insertions(+) diff --git a/website/posts/profiles-in-practice.md b/website/posts/profiles-in-practice.md new file mode 100644 index 000..42df1a6 --- /dev/null +++ b/website/posts/profiles-in-practice.md @@ -0,0 +1,356 @@ +title: Guix Profiles in Practice +date: 2019-10-24 +author: Pierre Neidhardt +tags: Functional package management, Reproducibility, User interfaces, Customization, Software development, Cookbook +--- + +*Note: An updated version of this article is available in the [cookbook](https://guix.gnu.org/cookbook/en/).* + +Guix provides a very useful feature that may be quite foreign to newcomers: +*profiles*. They are a way to group package installations together and all users +on a same system are free to use as many profiles as they want. + +Whether you're a developer or not, you may find that multiple profiles bring you +great power and flexibility. While they shift the paradigm somewhat compared to +*traditional package managers*, they are very convenient to use once you've +understood how to set them up. + +If you are familiar with Python's `virtualenv`, you can think of a profile as a +kind of universal `virtualenv` that can hold any kind of software whatsoever, not +just Python software. Furthermore, profiles are self-sufficient: they capture +all the runtime dependencies which guarantees that all programs within a profile +will always work at any point in time. + +Multiple profiles have many benefits: + +- Clean semantic separation of the various packages a user needs for different contexts. + +- Multiple profiles can be made available into the environment either on login +or within a dedicated shell. + +- Profiles can be loaded on demand. For instance, the user can use multiple +shells, each of them running different profiles. + +- Isolation: Programs from one profile will not use programs from the other, and +they user can even install different versions of the same programs to the two +profiles without conflict. + +- Deduplication: Profiles share dependencies that happens to be the exact same. +This makes multiple profiles storage-efficient. + +- Reproducible: when used with declarative manifests, a profile can be fully +specified by the Guix commit that was active when it was set up. This means +that the exact same profile can be [set up anywhere, anytime](https://guix.gnu.org/blog/2018/multi-dimensional-transactions-and-rollbacks-oh-my/), with just the +commit information. See the section on [5](#org98fddee). + +- Easier upgrades and maintenance: Multiple profiles make it easy to keep +package listings at hand and make upgrades completely friction-less. + +Concretely, here follows some typical profiles: + +- The dependencies of a project you are working on. + +- Your favourite programming language libraries. + +- Laptop-specific programs (like `powertop`) that you don't need on a desktop. + +- TeXlive (this one can be really useful when you need to install just one +package for this one document you've just received over email). + +- Games. + +Let's dive in the set up! + + +# Basic setup with manifests + +A Guix profile can be set up *via* a so-called *manifest specification* that looks like +this: + +```scheme +(specifications->manifest + '("package-1" +;; Version 1.3 of package-2. +"package-2@1.3" +;; The "lib" output of package-3. +"package-3:lib" +; ... +"package-N")) +``` + +See [(guix) Invoking guix package](https://guix.gnu.org/manual/en/html_node/Invoking-guix-package.html) for the syntax details. + +We can create a manifest specification per profile and install them this way: + +```scheme +GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles +mkdir -p "$GUIX_EXTRA_PROFILES"/my-project # if it does not exist yet +guix package --manifest=/path/to/guix-my-project-manifest.scm --profile="$GUIX_EXTRA_PROFILES"/my-project/my-project +``` + +Here we set an arbitrary variable `GUIX_EXTRA_PROFILES` to point to the directory +where we will store our profiles in the rest of this article. + +Placing all your profiles in a single directory, with each profile getting its +own sub-directory, is somewhat cleaner. This way, each sub-directory will +contain all the symlinks for precisely one profile. Besides, "looping over +profiles" becomes obvious from any programming language (e.g. a shell script) by +simply looping over the sub-d
branch master updated (404b56b -> 19c472e)
ambrevar pushed a change to branch master in repository guix-artwork. from 404b56b website: Add sway window manager to front page. new 19c472e website: Add post about "profiles in practice". The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: website/posts/profiles-in-practice.md | 356 ++ 1 file changed, 356 insertions(+) create mode 100644 website/posts/profiles-in-practice.md
branch master updated (da47d3e -> 6a5b1e4)
ambrevar pushed a change to branch master in repository maintenance. from da47d3e doc: Add roadmap. new 6a5b1e4 doc: Comment on the possibility to specify a URL for config.scm. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: doc/ROADMAP.org | 1 + 1 file changed, 1 insertion(+)
01/01: doc: Comment on the possibility to specify a URL for config.scm.
ambrevar pushed a commit to branch master in repository maintenance. commit 6a5b1e4adaf735f1f6a1d49a98addc60a0e520e4 Author: Pierre Neidhardt Date: Mon Jul 1 15:53:56 2019 +0200 doc: Comment on the possibility to specify a URL for config.scm. * doc/ROADMAP.org (gnu installer): Do it. --- doc/ROADMAP.org | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/ROADMAP.org b/doc/ROADMAP.org index 917c66b..5f04ac2 100644 --- a/doc/ROADMAP.org +++ b/doc/ROADMAP.org @@ -14,6 +14,7 @@ to discuss it on guix-de...@gnu.org! ** TODO grafts and profile hooks run as “build continuations” <https://bugs.gnu.org/28310> ** TODO ‘package-derivation’ made faster ** TODO (gnu installer) UI can be used to edit config.scm +Maybe leave the possibility to specify a file, or even a URL? ** TODO ‘guix system status’ shows info about the current status ** TODO packages can be [[https://lists.gnu.org/archive/html/guix-devel/2019-05/msg00285.html][parameterized]] ** TODO web application to [re]configure a Guix System
branch master updated (37c2348 -> fb860c2)
ambrevar pushed a change to branch master in repository maintenance. from 37c2348 hydra: nginx: No longer redirect /nar/guix requests. new fb860c2 talks: Add IPFS-Camp talk. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: .../ipfs-camp-2019/images/Guix_logo_noname.svg.png | Bin 0 -> 62720 bytes talks/ipfs-camp-2019/ipfs-camp.org | 140 + 2 files changed, 140 insertions(+) create mode 100644 talks/ipfs-camp-2019/images/Guix_logo_noname.svg.png create mode 100644 talks/ipfs-camp-2019/ipfs-camp.org
01/01: talks: Add IPFS-Camp talk.
ambrevar pushed a commit to branch master in repository maintenance. commit fb860c24bf8f802d7822a2429bf59e0b729a3b20 Author: Pierre Neidhardt Date: Wed Jun 26 14:18:10 2019 +0200 talks: Add IPFS-Camp talk. * talks/ipfs-camp-2019: New directory. --- .../ipfs-camp-2019/images/Guix_logo_noname.svg.png | Bin 0 -> 62720 bytes talks/ipfs-camp-2019/ipfs-camp.org | 140 + 2 files changed, 140 insertions(+) diff --git a/talks/ipfs-camp-2019/images/Guix_logo_noname.svg.png b/talks/ipfs-camp-2019/images/Guix_logo_noname.svg.png new file mode 100644 index 000..817364f Binary files /dev/null and b/talks/ipfs-camp-2019/images/Guix_logo_noname.svg.png differ diff --git a/talks/ipfs-camp-2019/ipfs-camp.org b/talks/ipfs-camp-2019/ipfs-camp.org new file mode 100644 index 000..478537f --- /dev/null +++ b/talks/ipfs-camp-2019/ipfs-camp.org @@ -0,0 +1,140 @@ +#+AUTHOR: Pierre Neidhardt +#+EMAIL: m...@ambrevar.xyz +#+TITLE: IPFS & Guix +# #+TITLE: Package distribution using IPFS on Guix + +#+OPTIONS: reveal_single_file:t + +#+OPTIONS: toc:nil + +#+REVEAL_ROOT: http://cdn.jsdelivr.net/reveal.js/3.0.0/ +# #+REVEAL_TRANS: page +#+REVEAL_PLUGINS: (highlight) +#+REVEAL_THEME: night + +#+REVEAL_MAX_SCALE: 0.6 + +#+REVEAL_TITLE_SLIDE_BACKGROUND: ./images/Guix_logo_noname.svg.png +#+REVEAL_TITLE_SLIDE_BACKGROUND_SIZE: 550px + + +#+BEGIN_NOTES +*IMPORTANT:* Read https://github.com/ipfs/roadmap +*IMPORTANT:* Read https://github.com/ipfs/package-managers#readme +#+END_NOTES + +* IPFS +#+ATTR_REVEAL: :frag (appear) + +Enhances accessibility to knowledge... + +#+ATTR_REVEAL: :frag (appear) +...But stays blind to generated data. + +* GNU Guix in short + +Homepage: https://guix.gnu.org/ + +A functional package manager focusing on (among others): + +- Reproducibility + - https://reproducible-builds.org/ +- Bootstrappability + - GNU Mes: https://www.gnu.org/software/mes/ + - Stage0: https://github.com/oriansj/stage0 + +** Guix package substitutes + +#+BEGIN_NOTES +Explain "Guix store". +#+END_NOTES + +- A few build farms with limited throughput. +- Content delivery networks help (CDN). + +Can we do better? + +* IPFS & Guix: BFFs of the 21st century + +# ** A common issue: augmenting trust in digital information +# - IPFS: Unalterable references to arbitrary data +# - Guix: Maximal transparency in software builds + +- What IPFS can do for Guix: + + - Distribute Guix substitutes. + - Unify references to source data. + +- What Guix can provide for IPFS: + + - Maximal transparency in software builds. + (Or any generated data?) + +* Dreams of a (not so distant) future + +** The dream: All Guix stores become substitute servers + +P2P FTW! + +** Deeper dream: All data lives in IPFS + +No local filesystem, no Guix store. + +Installing an application amounts to /pinning/ it. + +#+BEGIN_NOTES +A personal computing device only stores references to information that its owner +cares about. + +If we don't mind depending on IPFS, we don't need the Guix store any +more. Package installation would amount to local pinning. Anyone could then +build a package anywhere (home directory, ...) and just add it to IPFS. + +(Local storage would be used as a cache for efficiency) +#+END_NOTES + +** Abstract dream: All computations are equal + +No distinction between "software builds" and everything else. + + +#+BEGIN_NOTES +Software builds are just a special case. +Examples: scientific computing, compression, generation... + +Since that also eliminates the technical +constraints of the store, the same mechanism could be used for any kind +of data processing, with the results stored in IPFS. Reproducibility of +any kind of computation via Guix, with building software just an +important special case. +#+END_NOTES + +#+BEGIN_NOTES +From https://github.com/ipfs/roadmap: + +The rift between the web and the OS is finally healed. The OS and local programs +and WebApps merge. They are not just indistinguishable, they are the same +thing. "Installing" becomes pinning applications to the local computer. "Saving" +things locally is also just pinning. The browser and the OS are no longer +distinguishable. The entire OS data itself is modelled on top of IPLD, and the +internal FileSystem is IPFS (or something on top, like unixfs). The OS and +programs can manipulate IPLD data structures natively. The entire state of the +OS itself can be represented and stored as IPLD. The OS can be frozen or +snapshotted, and then resumed. A computer boots from the same OS hash, +drastically reducing attack surface. +#+END_NOTES + +#+BEGIN_NOTES +Further discussion: + +All data comes with provenance tracking: + +- Computations are tracked via Guix. +- Human input is logged (interactivity) or version controlled. +#+END_NOTES + +* Next step? + +- IPFS wants YAPM (Yet Another Package Manager). + +- IPFS wants WebOS.
branch master updated (27373cc -> 29f0bb0)
ambrevar pushed a change to branch master in repository maintenance. from 27373cc doc: Update 1.0 roadmap. new 29f0bb0 doc: Update 1.0 roadmap. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: doc/1.0.org | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
01/01: doc: Update 1.0 roadmap.
ambrevar pushed a commit to branch master in repository maintenance. commit 29f0bb0355b2deddfb78f994cfefbc32f06cc827 Author: Pierre Neidhardt Date: Thu Jan 17 12:33:08 2019 +0100 doc: Update 1.0 roadmap. * doc/1.0.org: Update. --- doc/1.0.org | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/1.0.org b/doc/1.0.org index dd0415f..11a04cb 100644 --- a/doc/1.0.org +++ b/doc/1.0.org @@ -1,5 +1,5 @@ #+TITLE: Roadmap for Guix 1.0, 2018 -#+SEQ_TODO: MAYBE TODO DONE CANCELED +#+SEQ_TODO: MAYBE TODO | DONE CANCELED #+STARTUP: hidestars * 'guix pull' & co. @@ -55,4 +55,4 @@ bandwidth, or simply lack of time), so we need to work out the set of strictly required TeXlive packages for each package depending on TeXlive. We need to package the missing individual TeXlive packages in those unions. https://lists.gnu.org/archive/html/help-guix/2018-05/msg00218.html -** TODO Fix truncated/repeating utf-8 man pages <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30785> +** DONE Fix truncated/repeating utf-8 man pages <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30785>
branch master updated (063a094 -> 509a276)
ambrevar pushed a change to branch master in repository guix-artwork. from 063a094 website: packaging-tutorial: Add license. new 509a276 website: packaging-tutorial: Fix typos. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: website/posts/packaging-tutorial.md | 13 +++-- 1 file changed, 7 insertions(+), 6 deletions(-)
01/01: website: packaging-tutorial: Fix typos.
ambrevar pushed a commit to branch master in repository guix-artwork. commit 509a276c2e07b923ee1de53450fa57f7917ed09c Author: Pierre Neidhardt Date: Mon Nov 19 14:56:38 2018 +0100 website: packaging-tutorial: Fix typos. * website/posts/packaging-tutorial.md: Fix typos. --- website/posts/packaging-tutorial.md | 13 +++-- 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/website/posts/packaging-tutorial.md b/website/posts/packaging-tutorial.md index bf220d6..13ea60c 100644 --- a/website/posts/packaging-tutorial.md +++ b/website/posts/packaging-tutorial.md @@ -185,7 +185,7 @@ gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 8ED3 96E3 7E38 D471 A005 30D3 A955 3245 FDE9 B739 ``` -Now you can happily run +You can then happily run ```sh $ guix package --install-from-file=my-hello.scm @@ -225,7 +225,7 @@ is, the line reserved for user input. See [the Guile manual](https://www.gnu.or the REPL. - Scheme syntax boils down to a tree of expressions (or *s-expression* in Lisp -lingo). An expression can be a literal such numbers and strings, or a +lingo). An expression can be a literal such as numbers and strings, or a compound which is a parenthesized list of compounds and literals. `#t` and `#f` stand for the booleans "true" and "false", respectively. @@ -379,8 +379,9 @@ But first, let's look at other possibilities. ### Local file -This is what we previously did with `my-hello`. Now that we know more Scheme, -let's explain the leading chunks. As stated in `guix package --help`: +This is what we previously did with `my-hello`. With the Scheme basics we've +covered, we are now able to explain the leading chunks. As stated in `guix +package --help`: ```sh -f, --install-from-file=FILE @@ -1076,12 +1077,12 @@ See the [Guix homepage](https://www.gnu.org/software/guix/contact/) for informat # Conclusion -This tutorial was an showcase of the sophisticated package management that Guix +This tutorial was a showcase of the sophisticated package management that Guix boasts. At this point we have mostly restricted this introduction to the `gnu-build-system` which is a core abstraction layer on which more advanced abstractions are based. -Now where do we go from here? Next we ought to dissect the innards of the build +Where do we go from here? Next we ought to dissect the innards of the build system by removing all abstractions, using the `trivial-build-system`: this should give us a thorough understanding of the process before investigating some more advanced packaging techniques and edge cases.
01/01: gnu: ccl: Include x86-headers and remove missing "contrib" folder.
ambrevar pushed a commit to branch master in repository guix. commit d22ba64276c0bbacb77d0670635f67f053a16c6b Author: Pierre Neidhardt Date: Sun Nov 18 10:38:54 2018 +0100 gnu: ccl: Include x86-headers and remove missing "contrib" folder. * gnu/packages/lisp.scm (ccl): Include x86-headers and remove missing "contrib" folder. --- gnu/packages/lisp.scm | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 9fb25a1..dcdd551 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -530,8 +530,12 @@ statistical profiler, a code coverage tool, and many other extensions.") (install-file kernel libdir) (install-file heap libdir) - (let ((dirs '("lib" "library" "examples" "contrib" - "tools" "objc-bridge"))) + (let ((dirs '("lib" "library" "examples" "tools" "objc-bridge" + ,(match (%current-system) +("x86_64-linux" + "x86-headers64") +("i686-linux" + "x86-headers") (for-each copy-recursively dirs (map (cut string-append libdir <>) dirs)))
branch master updated (f8cba3f -> d22ba64)
ambrevar pushed a change to branch master in repository guix. from f8cba3f gnu: mesa: Stay on RTTI-less LLVM. new d22ba64 gnu: ccl: Include x86-headers and remove missing "contrib" folder. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: gnu/packages/lisp.scm | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-)
07/07: gnu: go-github-com-aarzilli-golua: Fix for go-1.11.
ambrevar pushed a commit to branch master in repository guix. commit 5c4758415d4b2565d3ec4a6d89c525d85dafb53a Author: Pierre Neidhardt Date: Sun Nov 11 22:28:05 2018 +0100 gnu: go-github-com-aarzilli-golua: Fix for go-1.11. * gnu/packages/golang.scm (go-github-com-aarzilli-golua)[arguments]: Fix for go-1.11. [native-inputs]: Remove lua. [propagated-inputs]: Add lua. --- gnu/packages/golang.scm | 30 -- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 2fd8bf4..38df23a 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2152,26 +2152,28 @@ generate ANSI colored strings.") (base32 "1d9hr29i36cza98afj3g6rs3l7xbkprwzz0blcxsr9dd7nak20di" (build-system go-build-system) - (native-inputs + ;; From go-1.10 onward, "pkg" compiled libraries are not re-used, so + ;; when this package required as input for another one, it will have to + ;; be built again. Thus its CGO requirements must be made available in + ;; the environment, that is, they must be propagated. + (propagated-inputs `(("lua" ,lua))) (arguments `(#:unpack-path "github.com/aarzilli/golua" #:import-path "github.com/aarzilli/golua/lua" #:phases (modify-phases %standard-phases - (replace 'build - (lambda* (#:key import-path #:allow-other-keys) - (invoke "go" "install" - "-v" ; print the name of packages as they are compiled - "-x" ; print each command as it is invoked - "-ldflags=-s -w" ; strip the symbol table and debug - "-tags" "llua" ; Latest Lua on Guix does not have a version number. - import-path))) - (replace 'check - (lambda* (#:key import-path #:allow-other-keys) - (invoke "go" "test" - "-tags" "llua" ; Latest Lua on Guix does not have a version number. - import-path)) + ;; While it's possible to fix the CGO_LDFLAGS with the "-tags" + ;; command line argument, go-1.10+ does not re-use the produced pkg + ;; for dependencies, which means we would need to propagate the + ;; same "-tags" argument to all golua referrers. A substitution is + ;; more convenient here. We also need to propagate the lua + ;; dependency to make it available to referrers. + (add-after 'unpack 'fix-lua-ldflags + (lambda _ + (substitute* "src/github.com/aarzilli/golua/lua/lua.go" + (("#cgo linux,!llua,!luaa LDFLAGS: -llua5.3") + "#cgo linux,!llua,!luaa LDFLAGS: -llua"))) (home-page "https://github.com/aarzilli/golua;) (synopsis "Go Bindings for the Lua C API") (description "This package provides @code{lua}, a Go module that can
03/07: gnu: go-github-com-prometheus-common-expfmt: Fix tests for go-1.11.
ambrevar pushed a commit to branch master in repository guix. commit 46a37b5966298e26d91d2a660c3f2c84f111f826 Author: Pierre Neidhardt Date: Tue Nov 6 18:09:16 2018 +0100 gnu: go-github-com-prometheus-common-expfmt: Fix tests for go-1.11. * gnu/packages/syncthing.scm (go-github-com-prometheus-common-expfmt): Fix tests for go-1.11. --- gnu/packages/syncthing.scm | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 5d681b8..46211d2 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1097,7 +1097,14 @@ message streaming.") (string-append (assoc-ref outputs "out") "/src/github.com/prometheus/common/expfmt/testdata/") ".*\\.gz$")) - #t) + #t)) + (replace 'check + ;; Tests don't pass "vet" on go-1.11. See + ;; https://github.com/syncthing/syncthing/issues/5311. + (lambda* (#:key import-path #:allow-other-keys) + (invoke "go" "test" + "-vet=off" + import-path)) (propagated-inputs `(("go-github-com-golang-protobuf-proto" ,go-github-com-golang-protobuf-proto)
04/07: gnu: go-github-com-audriusbutkevicius-cli: Fix tests for go-1.11.
ambrevar pushed a commit to branch master in repository guix. commit d4780c82387f226658bc8bf073ce8610bf37433b Author: Pierre Neidhardt Date: Tue Nov 6 18:10:09 2018 +0100 gnu: go-github-com-audriusbutkevicius-cli: Fix tests for go-1.11. * gnu/packages/syncthing.scm (go-github-com-audriusbutkevicius-cli): Fix tests for go-1.11. --- gnu/packages/syncthing.scm | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 46211d2..7e4ff0e 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -900,7 +900,16 @@ the current goroutine's ID.") "0bg26pfg25vr16jmczig2m493mja2nxjxyswz3hha7avxw20rpi5" (build-system go-build-system) (arguments - '(#:import-path "github.com/AudriusButkevicius/cli")) + '(#:import-path "github.com/AudriusButkevicius/cli" + ;; Tests don't pass "vet" on go-1.11. See + ;; https://github.com/AudriusButkevicius/cli/pull/1. + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key import-path #:allow-other-keys) + (invoke "go" "test" + "-vet=off" + import-path)) (synopsis "Library for building command-line interfaces in Go") (description "This package provides a library for building command-line interfaces in Go.")
06/07: gnu: go-github-com-wtolson-go-taglib: Fix tests and build for go-1.11.
ambrevar pushed a commit to branch master in repository guix. commit 46a4ae2212d72d38dc55188e35a7441964694f91 Author: Pierre Neidhardt Date: Tue Nov 6 18:11:21 2018 +0100 gnu: go-github-com-wtolson-go-taglib: Fix tests and build for go-1.11. * gnu/packages/golang.scm (go-github-com-wtolson-go-taglib)[arguments]: Fix tests for go-1.11. [native-inputs]: Remove pkg-config and taglib. [propagated-inputs]: Add pkg-config and taglib. --- gnu/packages/golang.scm | 17 +++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 5b84ced..2fd8bf4 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2419,11 +2419,24 @@ and lookup requests. Browse requests are not supported yet.") (base32 "1cpjqnrviwflz150g78iir5ndrp3hh7a93zbp4dwbg6sb2q141p2" (build-system go-build-system) - (native-inputs + ;; From go-1.10 onward, "pkg" compiled libraries are not re-used, so + ;; when this package required as input for another one, it will have to + ;; be built again. Thus its CGO requirements must be made available in + ;; the environment, that is, they must be propagated. + (propagated-inputs `(("pkg-config" ,pkg-config) ("taglib" ,taglib))) (arguments - `(#:import-path "github.com/wtolson/go-taglib")) + `(#:import-path "github.com/wtolson/go-taglib" + ;; Tests don't pass "vet" on go-1.11. See + ;; https://github.com/wtolson/go-taglib/issues/12. + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key import-path #:allow-other-keys) + (invoke "go" "test" + "-vet=off" + import-path)) (home-page "https://github.com/wtolson/go-taglib;) (synopsis "Go wrapper for taglib") (description "Go wrapper for taglib")
05/07: gnu: go-gopkg.in-asn1-ber.v1: Fix tests for go-1.11.
ambrevar pushed a commit to branch master in repository guix. commit 66fa8f0f77ac26766e5547ffdaa67cf6c261bd8e Author: Pierre Neidhardt Date: Tue Nov 6 18:10:42 2018 +0100 gnu: go-gopkg.in-asn1-ber.v1: Fix tests for go-1.11. * gnu/packages/syncthing.scm (go-gopkg.in-asn1-ber.v1): Fix tests for go-1.11. --- gnu/packages/syncthing.scm | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 7e4ff0e..c29c88a 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1267,7 +1267,16 @@ Prometheus HTTP API.") "1y8bvzbxpw0lfnn7pbcdwzqj4l90qj6xf88dvv9pxd9yl5g6cskx" (build-system go-build-system) (arguments - '(#:import-path "gopkg.in/asn1-ber.v1")) + '(#:import-path "gopkg.in/asn1-ber.v1" + ;; Tests don't pass "vet" on go-1.11. See + ;; https://github.com/go-asn1-ber/asn1-ber/issues/20. + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key import-path #:allow-other-keys) + (invoke "go" "test" + "-vet=off" + import-path)) (synopsis "ASN.1 BER encoding and decoding in Go") (description "This package provides ASN.1 BER encoding and decoding in the Go language.")
branch master updated (6c84390 -> 5c47584)
ambrevar pushed a change to branch master in repository guix. from 6c84390 guix system: Invoking 'guix system init' twice keeps timestamps zeroed. new 9a65a05 gnu: go: Update default to 1.11. new 0fd115d build-system/go: Plan removal of the pkg folder for go-1.11 onward. new 46a37b5 gnu: go-github-com-prometheus-common-expfmt: Fix tests for go-1.11. new d4780c8 gnu: go-github-com-audriusbutkevicius-cli: Fix tests for go-1.11. new 66fa8f0 gnu: go-gopkg.in-asn1-ber.v1: Fix tests for go-1.11. new 46a4ae2 gnu: go-github-com-wtolson-go-taglib: Fix tests and build for go-1.11. new 5c47584 gnu: go-github-com-aarzilli-golua: Fix for go-1.11. The 7 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: gnu/packages/golang.scm| 49 +++--- gnu/packages/syncthing.scm | 31 +++--- guix/build/go-build-system.scm | 3 +++ 3 files changed, 63 insertions(+), 20 deletions(-)
01/07: gnu: go: Update default to 1.11.
ambrevar pushed a commit to branch master in repository guix. commit 9a65a052016572b61e3c4247fcdf9e0478656f71 Author: Pierre Neidhardt Date: Sun Nov 11 22:02:18 2018 +0100 gnu: go: Update default to 1.11. * gnu/packages/golang.scm (go): Update default to 1.11. --- gnu/packages/golang.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index e49372d..5b84ced 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -528,7 +528,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (setenv "GOGC" "400") #t) -(define-public go go-1.9) +(define-public go go-1.11) (define-public go-github-com-alsm-ioprogress (let ((commit "063c3725f436e7fba0c8f588547bee21ffec7ac5")
02/07: build-system/go: Plan removal of the pkg folder for go-1.11 onward.
ambrevar pushed a commit to branch master in repository guix. commit 0fd115d536d59e5160329546f09943c278b15cdb Author: Pierre Neidhardt Date: Sun Nov 11 22:03:08 2018 +0100 build-system/go: Plan removal of the pkg folder for go-1.11 onward. * guix/build/go-build-system.scm (install): New comment. --- guix/build/go-build-system.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm index 6be0167..022d4fe 100644 --- a/guix/build/go-build-system.scm +++ b/guix/build/go-build-system.scm @@ -204,6 +204,9 @@ respectively." $GOPATH/pkg, so we have to copy them into the output directory manually. Compiled executable files should have already been installed to the store based on $GOBIN in the build phase." + ;; TODO: From go-1.10 onward, the pkg folder should not be needed (see + ;; https://lists.gnu.org/archive/html/guix-devel/2018-11/msg00208.html). + ;; Remove it? (when (file-exists? "pkg") (copy-recursively "pkg" (string-append (assoc-ref outputs "out") "/pkg"))) #t)
branch master updated (89c7894 -> 0ead0b4)
ambrevar pushed a change to branch master in repository guix. from 89c7894 gnu: faust-2: Update to 2.5.23. new 50ee7e9 gnu: gtk-doc: Use local docbook-xsl. new 0ead0b4 gnu: webkitgtk: Include documentation. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: gnu/packages/gtk.scm| 8 +++- gnu/packages/webkit.scm | 29 - 2 files changed, 35 insertions(+), 2 deletions(-)
02/02: gnu: webkitgtk: Include documentation.
ambrevar pushed a commit to branch master in repository guix. commit 0ead0b4d2c025ad1b4a293fb6cbb8a578b7dd87d Author: Pierre Neidhardt Date: Fri Nov 9 19:18:55 2018 +0100 gnu: webkitgtk: Include documentation. * gnu/packages/webkit.scm (webkitgtk): Include documentation. --- gnu/packages/webkit.scm | 29 - 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index d1890c8..dfff53c 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Pierre Neidhardt ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages bison) #:use-module (gnu packages databases) + #:use-module (gnu packages docbook) #:use-module (gnu packages enchant) #:use-module (gnu packages flex) #:use-module (gnu packages gcc) @@ -66,11 +68,13 @@ (base32 "147r7an41920zl4x9srdva7fxvw2znjin5ldjkhay1cndv9gih0m" (build-system cmake-build-system) +(outputs '("out" "doc")) (arguments '(#:tests? #f ; no tests #:build-type "Release" ; turn off debugging symbols to save space #:configure-flags (list "-DPORT=GTK" + "-DENABLE_GTKDOC=ON" ; No doc by default (string-append ; uses lib64 by default "-DLIB_INSTALL_DIR=" (assoc-ref %outputs "out") "/lib") @@ -87,7 +91,28 @@ ;; XXX Disable WOFF2 ‘web fonts’. These were never ;; supported in our previous builds. Enabling them ;; requires building libwoff2 and possibly woff2dec. - "-DUSE_WOFF2=OFF"))) + "-DUSE_WOFF2=OFF") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-gtk-doc-scan + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-docs.sgml" + (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd;) +(string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/docbookx.dtd"))) + (substitute* "Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-docs.sgml" + (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd;) +(string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/docbookx.dtd"))) + #t)) + (add-after 'install 'move-doc-files + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file (string-append out "/share/gtk-doc") +(string-append doc "/share/gtk-doc")) + #t)) (native-inputs `(("bison" ,bison) ("gettext" ,gettext-minimal) @@ -97,6 +122,8 @@ ("perl" ,perl) ("pkg-config" ,pkg-config) ("python" ,python-2) ; incompatible with Python 3 (print syntax) + ("gtk-doc" ,gtk-doc) ; For documentation generation + ("docbook-xml" ,docbook-xml) ; For documentation generation ("ruby" ,ruby))) (propagated-inputs `(("gtk+" ,gtk+)
01/02: gnu: gtk-doc: Use local docbook-xsl.
ambrevar pushed a commit to branch master in repository guix. commit 50ee7e93fcd881d3bf996954bcd5176aa7c54d21 Author: Pierre Neidhardt Date: Fri Nov 9 19:17:05 2018 +0100 gnu: gtk-doc: Use local docbook-xsl. * gnu/packages/gtk.scm (gtk-doc): Use local docbook-xsl. --- gnu/packages/gtk.scm | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 640bd75..0d62b80 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2018 Arun Isaac +;;; Copyright © 2018 Pierre Neidhardt ;;; ;;; This file is part of GNU Guix. ;;; @@ -1411,7 +1412,12 @@ information.") (string-append (assoc-ref inputs "docbook-xsl") "/xml/xsl/docbook-xsl-" ,(package-version docbook-xsl) - "/html/chunk.xsl"))) + "/html/chunk.xsl")) + (("http://docbook.sourceforge.net/release/xsl/current/common/en.xml;) + (string-append (assoc-ref inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl) + "/common/en.xml"))) #t)) (add-after 'patch-gtk-doc-scan 'patch-test-out (lambda _
02/02: gnu: Add emacs-gtk-look.
ambrevar pushed a commit to branch master in repository guix. commit ddd925f608bf7bf9af367447ef937e92d531a941 Author: Pierre Neidhardt Date: Fri Nov 9 11:32:25 2018 +0100 gnu: Add emacs-gtk-look. * gnu/packages/emacs.scm (emacs-gtk-look): New variable. --- gnu/packages/emacs.scm | 38 ++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 3c7d902..c6008e6 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -12500,3 +12500,41 @@ fix its formatting. @command{clang-format} is a tool that formats C/C++/Obj-C code according to a set of style options, see @url{http://clang.llvm.org/docs/ClangFormatStyleOptions.html}.;) (license license:gpl3+ + +(define-public emacs-gtk-look + (package +(name "emacs-gtk-look") +(version "29") +(source (origin + (method url-fetch) + (uri "https://download.tuxfamily.org/user42/gtk-look.el;) + (sha256 + (base32 +"14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp" +(build-system emacs-build-system) +(arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda _ + ;; File is read-only. + (chmod "gtk-look.el" #o644) + (emacs-substitute-variables "gtk-look.el" + ("gtk-lookup-devhelp-indices" +'(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*" + #t) +(home-page "http://user42.tuxfamily.org/gtk-look/index.html;) +(synopsis "Find and display HTML documentation for GTK, GNOME and Glib") +(description "@command{gtk-look} finds and displays HTML documentation for +GTK, GNOME and Glib functions and variables in Emacs, similar to what +info-lookup-symbol does for info files (C-h S). The documentation is expected +to be devhelp indexes with HTML files. The location of the indexes can be +customized. In addition to C code development @command{gtk-look} is good for + +@itemize +@item @command{perl-gtk2}, recognising class funcs like +@command{Gtk2::Label->new} and bare method names like @command{set_text}. +@item @command{guile-gnome}, recognising methods like @command{set-text} and +classes like @command{}. +@end itemize\n") +(license license:gpl3+)))
01/02: gnu: Add xmlrpc-c.
ambrevar pushed a commit to branch master in repository guix. commit 2cce23bfb8fbb57c3f11780a939d74b5bd9ed3a2 Author: Pierre Neidhardt Date: Fri Nov 9 11:31:17 2018 +0100 gnu: Add xmlrpc-c. * gnu/packages/xml.scm (xmlrpc-c): New variable. --- gnu/packages/xml.scm | 38 ++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index c1f14d7..347ac87 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2017 Alex Vong ;;; Copyright © 2017 Petter ;;; Copyright © 2017 Stefan Reichör +;;; Copyright © 2018 Pierre Neidhardt ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,6 +40,7 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages gnupg) #:use-module (gnu packages java) #:use-module (gnu packages gnuzilla) @@ -2095,3 +2097,39 @@ derivations of regular expressions.") "The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but introduces a more general approach for processing XML with Haskell.") (license license:expat))) + +(define-public xmlrpc-c + (package +(name "xmlrpc-c") +(version "1.43.08") +(source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/xmlrpc-c/Xmlrpc-c%20Super%20Stable/" + version "/xmlrpc-c-" version ".tgz")) + (sha256 + (base32 + "18zwbj6i2hpcn5riiyp8i6rml0sfv60dd7phw1x8g4r4lj2bbxf9" +(build-system gnu-build-system) +(inputs + `(("curl" ,curl))) +(native-inputs + `(;; For tools, if ever needed. + ("perl" ,perl))) +(arguments + `(#:make-flags ; Add $libdir to the RUNPATH of all the executables. + (list (string-append "LDFLAGS_PERSONAL=-Wl,-rpath=" %output "/lib")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-/bin/sh-in-tests + (lambda _ + (substitute* "GNUmakefile" + (("#! /bin/sh") (which "sh"))) + #t) +(home-page "http://xmlrpc-c.sourceforge.net/;) +(synopsis "Lightweight RPC library based on XML and HTTP") +(description + "XML-RPC is a quick-and-easy way to make procedure calls over the Internet. +It converts the procedure call into an XML document, sends it to a remote +server using HTTP, and gets back the response as XML. This library provides a +modular implementation of XML-RPC for C and C++.") +(license (list license:psfl license:expat
branch master updated (97f33b0 -> ddd925f)
ambrevar pushed a change to branch master in repository guix. from 97f33b0 gnu: guile-newt: Update to revision 1. new 2cce23b gnu: Add xmlrpc-c. new ddd925f gnu: Add emacs-gtk-look. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: gnu/packages/emacs.scm | 38 ++ gnu/packages/xml.scm | 38 ++ 2 files changed, 76 insertions(+)
branch master updated (e340725 -> 2705780)
ambrevar pushed a change to branch master in repository guix. from e340725 gnu: kodi: Update to 18.0b5. new 2705780 gnu: Add emacs-clang-format. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: gnu/packages/emacs.scm | 37 + 1 file changed, 37 insertions(+)
01/01: gnu: Add emacs-clang-format.
ambrevar pushed a commit to branch master in repository guix. commit 2705780f3f4d15740cbd9d54a5133aced15a7200 Author: Pierre Neidhardt Date: Thu Nov 8 13:08:26 2018 +0100 gnu: Add emacs-clang-format. * gnu/packages/emacs.scm (emacs-clang-format): New variable. --- gnu/packages/emacs.scm | 37 + 1 file changed, 37 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 4821c18..3c7d902 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -12463,3 +12463,40 @@ correctly.") @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it. @end itemize\n") (license license:gpl3+ + +(define-public emacs-clang-format + (let ((commit "5556c31528af2661bed3011bd63ffc0ed44e18a0")) +(package + (name "emacs-clang-format") + (version (git-version "0.0.0" "1" commit)) + (source (origin +(method git-fetch) +(uri (git-reference + (url "https://github.com/emacsorphanage/clang-format;) + (commit commit))) +(file-name (git-file-name name version)) +(sha256 + (base32 + "0ynvnp3vrcpngmwakb23xv4xn7jbkg43s196q7pg9nkl13x4n2nq" + (build-system emacs-build-system) + (inputs + `(("clang" ,clang))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs #:allow-other-keys) + (let ((clang (assoc-ref inputs "clang"))) + ;; Repo is read-only. + (chmod "clang-format.el" #o644) + (emacs-substitute-variables "clang-format.el" + ("clang-format-executable" +(string-append clang "/bin/clang-format" + #t) + (home-page "https://github.com/emacsorphanage/clang-format;) + (synopsis "Format code using clang-format") + (description "This package allows to filter code through clang-format to +fix its formatting. @command{clang-format} is a tool that formats C/C++/Obj-C +code according to a set of style options, see +@url{http://clang.llvm.org/docs/ClangFormatStyleOptions.html}.;) + (license license:gpl3+
branch master updated (695db2f -> 426ffb8)
ambrevar pushed a change to branch master in repository guix. from 695db2f gnu: Add emacs-helm-slime. new 426ffb8 gnu: emacs-mu4e-conversation: Update to 20181105. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: gnu/packages/emacs.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
01/01: gnu: emacs-mu4e-conversation: Update to 20181105.
ambrevar pushed a commit to branch master in repository guix. commit 426ffb830ab3977cbfc7fa6282d2ba54cfbdf695 Author: Pierre Neidhardt Date: Mon Nov 5 20:22:06 2018 +0100 gnu: emacs-mu4e-conversation: Update to 20181105. * gnu/packages/emacs.scm (emacs-mu4e-conversation): Update to 20181105. --- gnu/packages/emacs.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 3114a2e..4821c18 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -11746,10 +11746,10 @@ file.") (deprecated-package "emacs-wgrep-helm" emacs-wgrep)) (define-public emacs-mu4e-conversation - (let ((commit "223cc66e99c7665326e3d991d6d383cb0d7512bb")) + (let ((commit "54368a009474276247bdf39683e25ea68ae1f943")) (package (name "emacs-mu4e-conversation") - (version (git-version "20180722" "2" commit)) + (version (git-version "20181105" "3" commit)) (source (origin (method url-fetch) @@ -11760,7 +11760,7 @@ file.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1ivy7pihhma465hi25p1y45dyi8h52nsm2m0cvizj5sw36jw0n81" + "1zqnp1d3cxyvzsd76d5iw40lkif19k9svlbhqy6dvqiaqm0jbd15" (build-system emacs-build-system) (propagated-inputs `(("mu" ,mu)))
branch master updated (c9f3d38 -> 695db2f)
ambrevar pushed a change to branch master in repository guix. from c9f3d38 gnu: linux-libre: Update to 4.19.1. new 695db2f gnu: Add emacs-helm-slime. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: gnu/packages/emacs.scm | 30 ++ 1 file changed, 30 insertions(+)
01/01: gnu: Add emacs-helm-slime.
ambrevar pushed a commit to branch master in repository guix. commit 695db2f98a9099aaea9289f3a34c43e8d120d8b5 Author: Pierre Neidhardt Date: Mon Nov 5 13:58:04 2018 +0100 gnu: Add emacs-helm-slime. * gnu/packages/emacs.scm (emacs-helm-slime): New variable. --- gnu/packages/emacs.scm | 30 ++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index d5ad38d..3114a2e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -12433,3 +12433,33 @@ correctly.") (synopsis "Color ANSI codes in the REPL of SLIME") (description "Color ANSI codes in the REPL of SLIME") (license license:gpl2+ + +(define-public emacs-helm-slime + (let ((commit "9980925f3e5f6ac5a30369d2a544e82006a79c76")) +(package + (name "emacs-helm-slime") + (version (git-version "0.0.0" "1" commit)) + (source (origin +(method git-fetch) +(uri (git-reference + (url "https://github.com/emacs-helm/helm-slime;) + (commit commit))) +(file-name (git-file-name name version)) +(sha256 + (base32 + "0xa07gpfkzwn522x9573mq5mfxvbawdgd0m93gqj6w5a14wk8zzh" + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-helm" ,emacs-helm) + ("emacs-slime" ,emacs-slime))) + (home-page "https://github.com/emacs-helm/helm-slime;) + (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs") + (description "Helm-SLIME defines a few new commands: + +@itemize +@item helm-slime-complete: Select a symbol from the SLIME completion systems. +@item helm-slime-list-connections: Yet another slime-list-connections with Helm. +@item: helm-slime-apropos: Yet another slime-apropos with Helm. +@item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it. +@end itemize\n") + (license license:gpl3+
branch master updated (30012b7 -> 97b7b96)
ambrevar pushed a change to branch master in repository guix. from 30012b7 gnu: myrepos: Wrap the webcheckout binary. new 97b7b96 gnu: go-github-com-urfave-cli: Remove duplicate declaration. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: gnu/packages/golang.scm | 25 - 1 file changed, 25 deletions(-)
01/01: gnu: go-github-com-urfave-cli: Remove duplicate declaration.
ambrevar pushed a commit to branch master in repository guix. commit 97b7b96efc2a65f2805567191237451b34e4d966 Author: Pierre Neidhardt Date: Sun Nov 4 23:31:08 2018 +0100 gnu: go-github-com-urfave-cli: Remove duplicate declaration. * gnu/packages/golang.scm (go-github-com-urfave-cli): Remove duplicate declaration. --- gnu/packages/golang.scm | 25 - 1 file changed, 25 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 82e8173..e49372d 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1572,31 +1572,6 @@ Features include: optimized for performance yet simple to use.") (license license:expat -(define-public go-github-com-urfave-cli - (let ((commit "cfb38830724cc34fedffe9a2a29fb54fa9169cd1") -(revision "0")) -(package - (name "go-github-com-urfave-cli") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/urfave/cli.git;) - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj" - (build-system go-build-system) - (arguments - '(#:import-path "github.com/urfave/cli")) - (home-page "https://github.com/urfave/cli;) - (synopsis "Library for building command-line interfaces in Go") - (description "This package provides a library for building command-line -interfaces in Go.") - (license license:expat - (define-public go-github-com-blang-semver (let ((commit "60ec3488bfea7cca02b021d106d9911120d25fe9") (revision "0"))
01/01: gnu: git: Add "subtree" output.
ambrevar pushed a commit to branch master in repository guix. commit 1316413558e288c577d132bee41adcce4bc1e24a Author: Pierre Neidhardt Date: Thu Oct 25 19:31:38 2018 +0200 gnu: git: Add "subtree" output. * gnu/packages/version-control.scm (git)[outputs]: Add "subtree". --- gnu/packages/version-control.scm | 35 ++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 44b9769..ccb1f5d 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -166,7 +166,11 @@ as well as the classic centralized workflow.") version ".tar.xz")) (sha256 (base32 -"1vn6pi9yvw7rnb9dvi1yjrvv39fqd1m9mwbaffqwizs3gaf91br7")) +"1vn6pi9yvw7rnb9dvi1yjrvv39fqd1m9mwbaffqwizs3gaf91br7" + ;; For subtree documentation. + ("asciidoc" ,asciidoc) + ("docbook-xsl" ,docbook-xsl) + ("xmlto" ,xmlto))) (inputs `(("curl" ,curl) ("expat" ,expat) @@ -198,6 +202,7 @@ as well as the classic centralized workflow.") "send-email"; for git-send-email "svn" ; git-svn "credential-netrc" ; git-credential-netrc + "subtree" ; git-subtree "gui")) ; gitk, git gui (arguments `(#:make-flags `("V=1";more verbose compilation @@ -256,6 +261,26 @@ as well as the classic centralized workflow.") ;; Add the "PM.stamp" to avoid "no rule to make target". (call-with-output-file "perl/PM.stamp" (const #t)) #t)) +(add-after 'build 'build-subtree + (lambda* (#:key inputs #:allow-other-keys) +(with-directory-excursion "contrib/subtree" + (substitute* "Makefile" +;; Apparently `xmlto' does not bother to looks up the stylesheets +;; specified in the XML, unlike the above substitution. Instead it +;; uses a hard-coded URL. Work around it here, but if this is +;; common perhaps we should hardcode this path in xmlto itself. +(("\\$\\(XMLTO\\) -m \\$\\(MANPAGE_XSL\\) man") + (string-append "$(XMLTO) -x " +(string-append (assoc-ref inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl)) +"/manpages/docbook.xsl -m $(MANPAGE_XSL) man"))) + (invoke "make") + (invoke "make" "install") + (invoke "make" "install-doc") + (substitute* "git-subtree" +(("/bin/sh") (which "sh" +#t)) (add-before 'check 'patch-tests (lambda _ (let ((store-directory (%store-directory))) @@ -317,6 +342,14 @@ as well as the classic centralized workflow.") `("PERL5LIB" ":" prefix (,(string-append (assoc-ref outputs "out") "/share/perl5" #t))) +(add-after 'install 'install-subtree + (lambda* (#:key outputs #:allow-other-keys) +(let ((subtree (assoc-ref outputs "subtree"))) + (install-file "contrib/subtree/git-subtree" +(string-append subtree "/bin")) + (install-file "contrib/subtree/git-subtree.1" +(string-append subtree "/share/man/man1")) + #t))) (add-after 'install 'split (lambda* (#:key inputs outputs #:allow-other-keys) ;; Split the binaries to the various outputs.
branch master updated (abc98e3 -> 1316413)
ambrevar pushed a change to branch master in repository guix. from abc98e3 services: httpd: Allow using it with PHP. new 1316413 gnu: git: Add "subtree" output. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: gnu/packages/version-control.scm | 35 ++- 1 file changed, 34 insertions(+), 1 deletion(-)
01/03: gnu: Add next-browser (DRAFT).
ambrevar pushed a commit to branch wip-next4 in repository guix. commit 48c6349cec7fbd776417bc060f835a783e2b3157 Author: Pierre Neidhardt Date: Tue Aug 21 18:14:52 2018 +0200 gnu: Add next-browser (DRAFT). * (next-browser (DRAFT)): New variable. --- gnu/packages/web-browsers.scm | 80 ++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 2c2767d..deedc74 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -25,6 +25,7 @@ (define-module (gnu packages web-browsers) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages databases) @@ -35,6 +36,7 @@ #:use-module (gnu packages gnupg) #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) + #:use-module (gnu packages lisp) #:use-module (gnu packages lua) #:use-module (gnu packages gnome) #:use-module (gnu packages ncurses) @@ -48,6 +50,8 @@ #:use-module (gnu packages webkit) #:use-module (gnu packages xorg) #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system asdf) #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system python)) @@ -309,7 +313,7 @@ access.") '(16 24 32 48 64 128 256 512)) (install-file "icons/qutebrowser.svg" (string-append hicolor "/scalable/apps")) - + (substitute* "qutebrowser.desktop" (("Exec=qutebrowser") (string-append "Exec=" out "/bin/qutebrowser"))) @@ -320,3 +324,77 @@ access.") (description "qutebrowser is a keyboard-focused browser with a minimal GUI. It is based on PyQt5 and QtWebKit.") (license license:gpl3+))) + +(define-public next-browser-core + (let ((commit "fb6511ba82295f724b753d184fa066d7b6ab")) +(package + (name "next-browser-core") + (version (git-version "0.0.8" "1" commit)) + (source (origin +(method git-fetch) +(uri (git-reference + (url "https://github.com/atlas-engineer/next;) + (commit commit))) +;; (patches +;; (search-patches "next-fix-duplicate-function.patch")) +(sha256 + (base32 + "0cmnl02gaxa4kmss75x748kv5k6rbl0rablvnr3p7d2h44cb5yj3")) +(file-name (git-file-name name version + (build-system asdf-build-system/sbcl) + ;; TODO: Move Common Lisp libraries to "native-inputs"? + ;; TODO: Does runtime depends on gsettings-desktop-schemas and glib-networking? + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cl-strings" ,sbcl-cl-strings) + ("cl-string-match" ,sbcl-cl-string-match) + ("puri" ,sbcl-puri) + ("queues.simple-queue" ,sbcl-queues.simple-queue) + ("cl-sqlite" ,sbcl-cl-sqlite) + ("parenscript" ,sbcl-parenscript) + ("cl-json" ,sbcl-cl-json) + ("unix-opts" ,sbcl-unix-opts))) + (arguments + `( ;; #:tests? #f + #:asd-file "next/next.asd" + #:asd-system-name "next")) + (home-page "http://next.atlas.engineer/;) + (synopsis "Emacs-inspired web browser in extensible in Common Lisp") + (description "Next is a keyboard-oriented, extensible web-browser inspired +by Emacs and designed for power users. The application has familiar +key-bindings, is fully configurable and extensible in Lisp.") + (license license:expat + +(define-public next-browser + (package +(inherit next-browser-core) +(name "next-browser") +(outputs '("out" "lib")) +(inputs + `(("next" ,next-browser-core) + ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk) + ("cl-webkit" ,sbcl-cl-webkit) + ("lparallel" ,sbcl-lparallel))) +(arguments + (substitute-keyword-arguments (package-arguments next-browser-core) + ((#:asd-system-name _ #f) "next/gtk") + ((#:phases phases '%standard-phases) +`(modify-phases ,phases + (add-before 'cleanup 'move-bundle + (lambda* (#:key outputs #:allow-other-keys) + (define lib (assoc-ref outputs "lib")) + (define actual-fasl (string-append +lib +
branch wip-next4 created (now c178e33)
ambrevar pushed a change to branch wip-next4 in repository guix. at c178e33 next (FIX name) This branch includes the following new commits: new 48c6349 gnu: Add next-browser (DRAFT). new da1278e next-browser (FIX ferada) new c178e33 next (FIX name) The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
02/03: next-browser (FIX ferada)
ambrevar pushed a commit to branch wip-next4 in repository guix. commit da1278e97233fd38277f935b8cc33196ecb19cf4 Author: Pierre Neidhardt Date: Thu Oct 25 09:47:22 2018 +0200 next-browser (FIX ferada) --- gnu/packages/web-browsers.scm | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index deedc74..a0db4a7 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -326,17 +326,15 @@ GUI. It is based on PyQt5 and QtWebKit.") (license license:gpl3+))) (define-public next-browser-core - (let ((commit "fb6511ba82295f724b753d184fa066d7b6ab")) + (let ((commit "984961706a64d6168d551d4ac9be089bfc3444f2")) (package (name "next-browser-core") (version (git-version "0.0.8" "1" commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/atlas-engineer/next;) + (url "https://github.com/ferada/next;) (commit commit))) -;; (patches -;; (search-patches "next-fix-duplicate-function.patch")) (sha256 (base32 "0cmnl02gaxa4kmss75x748kv5k6rbl0rablvnr3p7d2h44cb5yj3")) @@ -356,9 +354,9 @@ GUI. It is based on PyQt5 and QtWebKit.") ("unix-opts" ,sbcl-unix-opts))) (arguments `( ;; #:tests? #f - #:asd-file "next/next.asd" + #:asd-file "next.asd" #:asd-system-name "next")) - (home-page "http://next.atlas.engineer/;) + (home-page "https://next.atlas.engineer/;) (synopsis "Emacs-inspired web browser in extensible in Common Lisp") (description "Next is a keyboard-oriented, extensible web-browser inspired by Emacs and designed for power users. The application has familiar
03/03: next (FIX name)
ambrevar pushed a commit to branch wip-next4 in repository guix. commit c178e339684f80bca6823c55fcf8b0218b110e3a Author: Pierre Neidhardt Date: Thu Oct 25 16:08:04 2018 +0200 next (FIX name) --- gnu/packages/web-browsers.scm | 24 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index a0db4a7..e252531 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -325,19 +325,19 @@ access.") GUI. It is based on PyQt5 and QtWebKit.") (license license:gpl3+))) -(define-public next-browser-core - (let ((commit "984961706a64d6168d551d4ac9be089bfc3444f2")) +(define-public next-core + (let ((commit "6564e3c4b487882a1ba36d120268c8a62a7dbfc0")) (package - (name "next-browser-core") + (name "next-core") (version (git-version "0.0.8" "1" commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ferada/next;) + (url "https://github.com/atlas-engineer/next;) (commit commit))) (sha256 (base32 - "0cmnl02gaxa4kmss75x748kv5k6rbl0rablvnr3p7d2h44cb5yj3")) + "02higawx0fqc7fwxa91pvjywag5dgz7dydqiqdxkxah9y2zzk9p3")) (file-name (git-file-name name version (build-system asdf-build-system/sbcl) ;; TODO: Move Common Lisp libraries to "native-inputs"? @@ -363,18 +363,18 @@ by Emacs and designed for power users. The application has familiar key-bindings, is fully configurable and extensible in Lisp.") (license license:expat -(define-public next-browser +(define-public next (package -(inherit next-browser-core) -(name "next-browser") +(inherit next-core) +(name "next") (outputs '("out" "lib")) (inputs - `(("next" ,next-browser-core) + `(("next" ,next-core) ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk) ("cl-webkit" ,sbcl-cl-webkit) ("lparallel" ,sbcl-lparallel))) (arguments - (substitute-keyword-arguments (package-arguments next-browser-core) + (substitute-keyword-arguments (package-arguments next-core) ((#:asd-system-name _ #f) "next/gtk") ((#:phases phases '%standard-phases) `(modify-phases ,phases @@ -383,7 +383,7 @@ key-bindings, is fully configurable and extensible in Lisp.") (define lib (assoc-ref outputs "lib")) (define actual-fasl (string-append lib -"/lib/sbcl/next/source/next-gtk.fasl")) +"/lib/sbcl/source/next-gtk.fasl")) (define expected-fasl (string-append lib "/lib/sbcl/gtk--system.fasl")) @@ -392,7 +392,7 @@ key-bindings, is fully configurable and extensible in Lisp.") (add-after 'create-symlinks 'build-program (lambda* (#:key outputs #:allow-other-keys) (build-program -(string-append (assoc-ref outputs "out") "/bin/next-browser") +(string-append (assoc-ref outputs "out") "/bin/next") outputs #:entry-program '((next:start) 0) #:dependencies '("next-gtk"))
01/03: gnu: Add go-github-com-kr-fs.
ambrevar pushed a commit to branch master in repository guix. commit 5b6c3ad0cda0f50843cbaaafc27c0482109b1e23 Author: Pierre Neidhardt Date: Wed Oct 24 14:39:35 2018 +0200 gnu: Add go-github-com-kr-fs. * gnu/packages/golang.scm (go-github-com-kr-fs): New variable. --- gnu/packages/golang.scm | 24 1 file changed, 24 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 9b46907..60d3ee7 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3310,3 +3310,27 @@ fast and distributable command line applications in an expressive way.") (description "A simple log library, for when you don't really care to have super fancy logs.") (license license:expat + +(define-public go-github-com-kr-fs + (let ((commit "1455def202f6e05b95cc7bfc7e8ae67ae5141eba") +(revision "0")) +(package + (name "go-github-com-kr-fs") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kr/fs.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11zg176x9hr9q7fsk95r6q0wf214gg4czy02slax4x56n79g6a7q" + (build-system go-build-system) + (arguments + '(#:import-path "github.com/kr/fs")) + (home-page "https://github.com/kr/fs;) + (synopsis "Filesystem-related functions for Go") + (description "Package fs provides filesystem-related functions.") + (license license:bsd-3
03/03: gnu: Add gx-go.
ambrevar pushed a commit to branch master in repository guix. commit 96b4977a1924ca648a3cceb15443539104d294f1 Author: Pierre Neidhardt Date: Wed Oct 24 14:41:09 2018 +0200 gnu: Add gx-go. * gnu/packages/ipfs.scm (gx-go): New variable. --- gnu/packages/ipfs.scm | 50 ++ 1 file changed, 50 insertions(+) diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm index 09366a0..f40c118 100644 --- a/gnu/packages/ipfs.scm +++ b/gnu/packages/ipfs.scm @@ -160,3 +160,53 @@ powerful and simple.") (arguments '(#:unpack-path "github.com/whyrusleeping/gx" #:import-path "github.com/whyrusleeping/gx/gxutil" + +(define-public gx-go + (package +(name "gx-go") +(version "1.9.0") +(source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/whyrusleeping/gx-go;) + (commit (string-append "v" version + (file-name (git-file-name name version)) + (sha256 +(base32 + "0fdy4b3ymqw6hzvvjwq37mfrdmizc8lxm53axw93n3x6118na9jc" +(build-system go-build-system) +(arguments + '(#:import-path "github.com/whyrusleeping/gx-go")) +(native-inputs + `(("go-github-com-whyrusleeping-gx-util" ,go-github-com-whyrusleeping-gx-util) + ("go-github-com-kr-fs" ,go-github-com-kr-fs) + ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) + ("go-github-com-ipfs-go-ipfs-api" ,go-github-com-ipfs-go-ipfs-api) + ("go-github-com-ipfs-go-ipfs-cmdkit-files" ,go-github-com-ipfs-go-ipfs-cmdkit-files) + ("go-github-com-libp2p-go-flow-metrics" ,go-github-com-libp2p-go-flow-metrics) + ("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto) + ("go-github-com-libp2p-go-libp2p-metrics" ,go-github-com-libp2p-go-libp2p-metrics) + ("go-github-com-libp2p-go-libp2p-peer" ,go-github-com-libp2p-go-libp2p-peer) + ("go-github-com-libp2p-go-libp2p-protocol" ,go-github-com-libp2p-go-libp2p-protocol) + ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) + ("go-github-com-mitchellh-go-homedir" ,go-github-com-mitchellh-go-homedir) + ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) + ("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr) + ("go-github-com-multiformats-go-multiaddr-net" ,go-github-com-multiformats-go-multiaddr-net) + ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-github-com-whyrusleeping-tar-utils" ,go-github-com-whyrusleeping-tar-utils) + ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union)) + ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec) + ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto) + ("go-github-com-sabhiram-go-gitignore" ,go-github-com-sabhiram-go-gitignore) + ("go-github-com-urfave-cli" ,go-github-com-urfave-cli) + ("go-github-com-whyrusleeping-progmeter" ,go-github-com-whyrusleeping-progmeter) + ("go-github-com-whyrusleeping-stump" ,go-github-com-whyrusleeping-stump))) +(home-page "https://github.com/whyrusleeping/gx-go;) +(synopsis "Golang subtool for the @command{gx} package manager") +(description "A subtool for the @command{gx} package manager for packages +written in Go.") +(license license:expat)))
02/03: gnu: Add go-github-com-whyrusleeping-gx-util.
ambrevar pushed a commit to branch master in repository guix. commit e82ae6730240f6533d565dbae49401ba073ed872 Author: Pierre Neidhardt Date: Wed Oct 24 14:40:06 2018 +0200 gnu: Add go-github-com-whyrusleeping-gx-util. * gnu/packages/ipfs.scm (go-github-com-whyrusleeping-gx-util): New variable. --- gnu/packages/ipfs.scm | 8 1 file changed, 8 insertions(+) diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm index 85fd6ac..09366a0 100644 --- a/gnu/packages/ipfs.scm +++ b/gnu/packages/ipfs.scm @@ -152,3 +152,11 @@ that are shared between @command{go-ipfs/commands} and its rewrite distributed, content addressed filesystem IPFS. It aims to be flexible, powerful and simple.") (license license:expat + +(define-public go-github-com-whyrusleeping-gx-util + (package +(inherit gx) +(name "go-github-com-whyrusleeping-gx-util") +(arguments + '(#:unpack-path "github.com/whyrusleeping/gx" + #:import-path "github.com/whyrusleeping/gx/gxutil"
branch master updated (96bdf90 -> 96b4977)
ambrevar pushed a change to branch master in repository guix. from 96bdf90 gnu: dotherside: Update home-page. new 5b6c3ad gnu: Add go-github-com-kr-fs. new e82ae67 gnu: Add go-github-com-whyrusleeping-gx-util. new 96b4977 gnu: Add gx-go. The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: gnu/packages/golang.scm | 24 gnu/packages/ipfs.scm | 58 + 2 files changed, 82 insertions(+)
04/04: gx-download (DRAFT)
ambrevar pushed a commit to branch wip-ipfs2 in repository guix. commit 376a9fa08fa3ffb5a5ab0980acf75abdfc797486 Author: Pierre Neidhardt Date: Wed Oct 17 18:56:38 2018 +0200 gx-download (DRAFT) --- guix/build/gx.scm| 60 +++ guix/gx-download.scm | 131 +++ 2 files changed, 191 insertions(+) diff --git a/guix/build/gx.scm b/guix/build/gx.scm new file mode 100644 index 000..4ba0197 --- /dev/null +++ b/guix/build/gx.scm @@ -0,0 +1,60 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Pierre Neidhardt +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (guix build gx) + #:use-module (guix build utils) + #:use-module (ice-9 popen) + #:export (gx-fetch)) + +;;; Commentary: +;;; +;;; This is the build-side support code of (guix gx-download). It allows a +;;; gx hash to be fetched. +;;; +;;; Code: + +(define* (gx-fetch hash directory + #:key (gx-command "gx")) + "Fetch IPFS HASH into DIRECTORY. HASH must be a valid IPFS hash. +Return #t on success, #f otherwise." + + (mkdir-p directory) + + (with-directory-excursion directory +;; TODO: Silence verbose output. + +;; Initialization is interactive, but we can shut it up by piping it to +;; nothing. +(let ((port (open-pipe* OPEN_WRITE gx-command "init"))) + (display "\n" port) + (if (not (eqv? 0 (status:exit-val (close-pipe port + (error "Cannot initialize gx package"))) + +;; Fetch to the "vendor" directory. +(let ((port (open-pipe* OPEN_WRITE gx-command "import" "--local" hash))) + (display "N\n" port) + (if (not (eqv? 0 (status:exit-val (close-pipe port + (error "Cannot import gx package"))) + +(delete-file "package.json") +(mkdir-p "gx/ipfs") +(rename-file (string-append "vendor/gx/ipfs/" hash) (string-append "gx/ipfs/" hash)) +(delete-file-recursively "vendor") +#t)) + +;;; gx.scm ends here diff --git a/guix/gx-download.scm b/guix/gx-download.scm new file mode 100644 index 000..4acf7bf --- /dev/null +++ b/guix/gx-download.scm @@ -0,0 +1,131 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Pierre Neidhardt +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (guix gx-download) + #:use-module (guix gexp) + #:use-module (guix store) + #:use-module (guix monads) + #:use-module (guix records) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (guix modules) + ;; #:autoload (guix build-system gnu) (standard-packages) + #:use-module (ice-9 match) + #:use-module (ice-9 vlist) + #:use-module (srfi srfi-1) + #:export (gx-reference +gx-reference? +gx-reference-hash + +gx-fetch +gx-version +gx-file-name)) + +;;; Commentary: +;;; +;;; An method that uses gx to fetch a specific hash over IPFS. +;;; See https://github.com/whyrusleeping/gx. +;;; The hash is specified with a object. +;;; +;;; Code: + +(define-record-type* + gx-reference make-gx-reference + gx-reference? + (hash gx-reference-hash)) + +(define (gx-package) + "Return the default gx package." + (let ((distro (resolve-interface '(gnu packages ipfs +(module-ref distro 'gx))) + +(define* (gx-fetch ref hash-algo hash +#:optional name +#:key (system (%current-system)) (guile (default-guile)) +(
01/04: go-ipfs (DRAFT)
ambrevar pushed a commit to branch wip-ipfs2 in repository guix. commit f28254d0c48e5d199051c0e776f2b2538173c763 Author: Pierre Neidhardt Date: Wed Oct 24 12:29:32 2018 +0200 go-ipfs (DRAFT) --- gnu/packages/ipfs.scm | 52 +++ 1 file changed, 52 insertions(+) diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm index 85fd6ac..4e9661e 100644 --- a/gnu/packages/ipfs.scm +++ b/gnu/packages/ipfs.scm @@ -152,3 +152,55 @@ that are shared between @command{go-ipfs/commands} and its rewrite distributed, content addressed filesystem IPFS. It aims to be flexible, powerful and simple.") (license license:expat + +(define-public go-ipfs + (let ((commit + "9bf4e4145ea897ced2f9aa2087296b3beda6e941") +(revision "0")) +(package + (name "go-ipfs") + (version (git-version "0.4.17" revision commit)) + (source +(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ipfs/go-ipfs.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 +(base32 + "01zqll453gbjjfkm6jvpp49i1al8ic3pdg3ivqhyiilcsmhf8b8i" + (build-system go-build-system) + (arguments + ;; install_unsupported: + ;; @echo "note: this command has yet to be tested to build in the system you are using" + ;; @echo "installing gx" + ;; go get -v -u github.com/whyrusleeping/gx + ;; go get -v -u github.com/whyrusleeping/gx-go + ;; @echo check gx and gx-go + ;; gx -v && gx-go -v + ;; @echo downloading dependencies + ;; gx install --global + ;; @echo "installing go-ipfs" + ;; go install -v -tags nofuse ./cmd/ipfs + '(#:import-path "github.com/ipfs/go-ipfs/cmd/ipfs" + #:unpack-path "github.com/ipfs/go-ipfs" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map (lambda (file) + (make-file-writable file)) +(find-files + (assoc-ref outputs "out") + ".*\\.gz$")) + #t) + (native-inputs `()) + (home-page "https://ipfs.io;) + (synopsis "IPFS implementation in Go ") + (description "IPFS is a global, versioned, peer-to-peer filesystem. It +combines good ideas from Git, BitTorrent, Kademlia, SFS, and the Web. It is +like a single bittorrent swarm, exchanging git objects. IPFS provides an +interface as simple as the HTTP web, but with permanence built in. You can +also mount the world at /ipfs.") + (license license:expat
03/04: gnu: ipfs-go-ipfs-cmdkit (DRAFT)
ambrevar pushed a commit to branch wip-ipfs2 in repository guix. commit b90dc0641033db1273a392faea61f82e9aeb1e85 Author: Pierre Neidhardt Date: Wed Oct 17 15:39:12 2018 +0200 gnu: ipfs-go-ipfs-cmdkit (DRAFT) --- gnu/packages/ipfs.scm | 25 + 1 file changed, 25 insertions(+) diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm index 4e9661e..fbe5724 100644 --- a/gnu/packages/ipfs.scm +++ b/gnu/packages/ipfs.scm @@ -20,9 +20,34 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix git-download) + #:use-module (guix gx-download) #:use-module (guix build-system go) #:use-module (gnu packages golang)) +(define-public ipfs-go-ipfs-cmdkit + (let ((ipfs-hash "QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky")) +(package + (name "ipfs-go-ipfs-cmdkit") + (version (gx-version "1.1.3" "1" ipfs-hash)) + (source + (origin + (method gx-fetch) + (uri (gx-reference (hash ipfs-hash))) + (file-name (gx-file-name name version)) + (sha256 + (base32 + "0qk6fshgdmhp8dip2ksm13j6nywi41m9mn0czkvmw6b697z85l2r" + (build-system go-build-system) + (arguments + `(#:unpack-path ,(string-append "gx/ipfs/" ipfs-hash "/go-ipfs-config") + #:import-path ,(string-append "gx/ipfs/" ipfs-hash "/go-ipfs-config"))) + (home-page + "https://github.com/ipfs/go-ipfs-cmdkit;) + (synopsis "Shared types, functions and values for go-ipfs") + (description "@command{cmdkit} offers some types, functions and values +that are shared between @command{go-ipfs/commands} and its rewrite @command{go-ipfs-cmds}.") + (license license:expat + (define-public go-github-com-ipfs-go-ipfs-cmdkit-files (let ((commit "386fcf8f18a185ec121676665fe2d9574496048d")
02/04: import: Add Go importer
ambrevar pushed a commit to branch wip-ipfs2 in repository guix. commit 6eaa449d63afa217c590f0520bea043ab1f6e107 Author: Pierre Neidhardt Date: Wed Oct 17 15:38:21 2018 +0200 import: Add Go importer --- Makefile.am | 10 +- doc/guix.texi | 9 +- guix/import/gopkg.scm | 356 ++ guix/scripts/import.scm | 2 +- guix/scripts/import/gopkg.scm | 99 5 files changed, 470 insertions(+), 6 deletions(-) diff --git a/Makefile.am b/Makefile.am index 1acf0b1..ab67221 100644 --- a/Makefile.am +++ b/Makefile.am @@ -188,8 +188,9 @@ MODULES = \ guix/import/cabal.scm\ guix/import/cran.scm \ guix/import/hackage.scm \ - guix/import/elpa.scm \ - guix/import/texlive.scm \ + guix/import/elpa.scm \ + guix/import/texlive.scm \ + guix/import/gopkg.scm\ guix/scripts.scm \ guix/scripts/download.scm\ guix/scripts/perform-download.scm\ @@ -214,8 +215,9 @@ MODULES = \ guix/scripts/import/gnu.scm \ guix/scripts/import/nix.scm \ guix/scripts/import/hackage.scm \ - guix/scripts/import/elpa.scm \ - guix/scripts/import/texlive.scm \ + guix/scripts/import/elpa.scm \ + guix/scripts/import/texlive.scm \ + guix/scripts/import/gopkg.scm\ guix/scripts/environment.scm \ guix/scripts/publish.scm \ guix/scripts/edit.scm\ diff --git a/doc/guix.texi b/doc/guix.texi index 12346c4..1112b81 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -20,7 +20,7 @@ Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* -Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@* +Copyright @copyright{} 2015, 2016, 2017, 2018 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@* @@ -7179,6 +7179,13 @@ Import metadata from the crates.io Rust package repository @cindex OCaml Import metadata from the @uref{https://opam.ocaml.org/, OPAM} package repository used by the OCaml community. + +@item gopkg +@cindex gopkg +@cindex Golang +@cindex Go +Import metadata from the @uref{https://gopkg.in/, gopkg} package +versioning service used by some Go software. @end table The structure of the @command{guix import} code is modular. It would be diff --git a/guix/import/gopkg.scm b/guix/import/gopkg.scm new file mode 100644 index 000..204bf18 --- /dev/null +++ b/guix/import/gopkg.scm @@ -0,0 +1,356 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Pierre-Antoine Rouby +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (guix import gopkg) + #:use-module (ice-9 match) + #:use-module (ice-9 regex) + #:use-module ((ice-9 rdelim) #:select (read-line)) + #:use-module (srfi srfi-11) + #:use-module (texinfo string-utils) ; transform-string + #:use-module (gcrypt hash) + ;; #:use-module (guix hash) + #:use-module (guix base32) + #:use-module (guix serialization) + #:use-module (guix utils) + #:use-module (guix build utils) + #:use-module ((guix licenses) #:prefix license:) + #:export (gopkg->guix-package)) + +(define (vcs-file? file stat) + ;; TODO: Factorize + (case (stat:type stat) +((directory) + (member (basename file) '(".bzr" ".git" ".hg" ".svn" "CVS"))) +((regular) + ;; Git sub-modules have a '.git' file that is a regular text file. + (string=? (basename file) ".git")) +(else + #f))) + +(define (file->hash-base32 file) + "Return hash of FILE in nix base32 sha256 format. If FILE is a directory, +exclude vcs f
branch wip-ipfs2 created (now 376a9fa)
ambrevar pushed a change to branch wip-ipfs2 in repository guix. at 376a9fa gx-download (DRAFT) This branch includes the following new commits: new f28254d go-ipfs (DRAFT) new 6eaa449 import: Add Go importer new b90dc06 gnu: ipfs-go-ipfs-cmdkit (DRAFT) new 376a9fa gx-download (DRAFT) The 4 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
12/34: gnu: Add go-github-com-minio-sha256-simd.
ambrevar pushed a commit to branch master in repository guix. commit ff2d11c3ce8dc1fb3715bffbc058fa4ab6b1 Author: Pierre Neidhardt Date: Wed Oct 24 11:37:14 2018 +0200 gnu: Add go-github-com-minio-sha256-simd. * gnu/packages/golang.scm (go-github-com-minio-sha256-simd): New variable. --- gnu/packages/golang.scm | 36 1 file changed, 36 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 1cc10d5..1631c0b 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2696,3 +2696,39 @@ Although this package was primarily written for btcd, it has intentionally been designed so it can be used as a standalone package for any projects needing to use secp256k1 elliptic curve cryptography.") (license license:isc + +(define-public go-github-com-minio-sha256-simd + (let ((commit "51976451ce1942acbb55707a983ed232fa027110") +(revision "0")) +(package + (name "go-github-com-minio-sha256-simd") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minio/sha256-simd.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kaxvpidf6ygkkb06vi95pirll31jnmywhyalfjvf7djhim2wr8f" + (build-system go-build-system) + (arguments + '(#:import-path "github.com/minio/sha256-simd")) + (home-page "https://github.com/minio/sha256-simd;) + (synopsis "Accelerate SHA256 computations in pure Go") + (description "Accelerate SHA256 computations in pure Go using AVX512 and +AVX2 for Intel and ARM64 for ARM. On AVX512 it provides an up to 8x +improvement (over 3 GB/s per core) in comparison to AVX2. + +This package is designed as a replacement for @command{crypto/sha256}. For +Intel CPUs it has two flavors for AVX512 and AVX2 (AVX/SSE are also +supported). For ARM CPUs with the Cryptography Extensions, advantage is taken +of the SHA2 instructions resulting in a massive performance improvement. + +This package uses Golang assembly. The AVX512 version is based on the Intel's +\"multi-buffer crypto library for IPSec\" whereas the other Intel +implementations are described in \"Fast SHA-256 Implementations on Intel +Architecture Processors\" by J. Guilford et al.") + (license license:asl2.0
33/34: gnu: Add go-github-com-ipfs-go-ipfs-api.
ambrevar pushed a commit to branch master in repository guix. commit 566f13f8452a707e3cd7c5c3c86911d84b20bbcf Author: Pierre Neidhardt Date: Wed Oct 24 12:20:45 2018 +0200 gnu: Add go-github-com-ipfs-go-ipfs-api. * gnu/packages/ipfs.scm (go-github-com-ipfs-go-ipfs-api): New variable. --- gnu/packages/ipfs.scm | 48 1 file changed, 48 insertions(+) diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm index ff446da..812fcf6 100644 --- a/gnu/packages/ipfs.scm +++ b/gnu/packages/ipfs.scm @@ -50,3 +50,51 @@ that are shared between @command{go-ipfs/commands} and its rewrite @command{go-ipfs-cmds}.") (license license:expat + +(define-public go-github-com-ipfs-go-ipfs-api + (let ((commit + "dafc2a13a4389ac1a6c2786e34ab70a4f26d3a3f") +(revision "0")) +(package + (name "go-github-com-ipfs-go-ipfs-api") + (version (git-version "1.3.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ipfs/go-ipfs-api.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06kibnwb037sqynk99j07wm8alvxwx3bari9gdax4jv93396kycj" + (build-system go-build-system) + (arguments + '(#:import-path "github.com/ipfs/go-ipfs-api" + ;; TODO: Tests fail, might need network access. + #:tests? #f)) + (native-inputs + `(("go-github-com-ipfs-go-ipfs-cmdkit-files" ,go-github-com-ipfs-go-ipfs-cmdkit-files) + ("go-github-com-libp2p-go-libp2p-metrics" ,go-github-com-libp2p-go-libp2p-metrics) + ("go-github-com-libp2p-go-flow-metrics" ,go-github-com-libp2p-go-flow-metrics) + ("go-github-com-libp2p-go-libp2p-peer" ,go-github-com-libp2p-go-libp2p-peer) + ("go-github-com-libp2p-go-libp2p-protocol" ,go-github-com-libp2p-go-libp2p-protocol) + ("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto) + ("go-github-com-mitchellh-go-homedir" ,go-github-com-mitchellh-go-homedir) + ("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr) + ("go-github-com-multiformats-go-multiaddr-net" ,go-github-com-multiformats-go-multiaddr-net) + ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec) + ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto) + ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) + ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) + ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash) + ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union)) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) + ("go-github-com-whyrusleeping-tar-utils" ,go-github-com-whyrusleeping-tar-utils) + ("go-github-com-cheekybits-is" ,go-github-com-cheekybits-is))) + (home-page "https://github.com/ipfs/go-ipfs-api;) + (synopsis "Unofficial Go interface to IPFS's HTTP API") + (description "An unofficial Go interface to IPFS's HTTP API") + (license license:expat
02/34: gnu: Move go-golang-org-x-crypto-union from syncthing.scm to golang.scm
ambrevar pushed a commit to branch master in repository guix. commit 830dc25176349112c759ba3986c721089e9ec605 Author: Pierre Neidhardt Date: Wed Oct 24 10:57:43 2018 +0200 gnu: Move go-golang-org-x-crypto-union from syncthing.scm to golang.scm * gnu/packages/syncthing.scm (go-golang-org-x-crypto-union): Delete. * gnu/packages/golang.scm (go-golang-org-x-crypto-union): Add. --- gnu/packages/golang.scm| 42 +- gnu/packages/syncthing.scm | 38 -- 2 files changed, 41 insertions(+), 39 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 9c81534..f59ddd1 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -36,6 +36,7 @@ #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) #:use-module (guix build-system go) #:use-module (gnu packages admin) #:use-module (gnu packages gcc) @@ -47,7 +48,8 @@ #:use-module (gnu packages mp3) #:use-module (ice-9 match) #:use-module (srfi srfi-1) - #:export (go-github-com-gogo-protobuf-union)) + #:export (go-github-com-gogo-protobuf-union) + #:export (go-golang-org-x-crypto-union)) ;; According to https://golang.org/doc/install/gccgo, gccgo-4.8.2 includes a ;; complete go-1.1.2 implementation, gccgo-4.9 includes a complete go-1.2 @@ -988,6 +990,44 @@ Tiny Encryption Algorithm (XTEA) block cipher.") (home-page "https://go.googlesource.com/crypto/;) (license license:bsd-3 +;; Go searches for library modules by looking in the GOPATH environment +;; variable. This variable is a list of paths. However, Go does not +;; keep searching on GOPATH if it tries and fails to import a module. +;; So, we use a union for packages sharing a namespace. +(define* (go-golang-org-x-crypto-union #:optional +(packages (list go-golang-org-x-crypto-blowfish + go-golang-org-x-crypto-bcrypt +go-golang-org-x-crypto-tea +go-golang-org-x-crypto-xtea + go-golang-org-x-crypto-pbkdf2 + go-golang-org-x-crypto-twofish + go-golang-org-x-crypto-cast5 + go-golang-org-x-crypto-salsa20))) + (package +(name "go-golang-org-x-crypto") +(version (package-version go-golang-org-x-crypto-bcrypt)) +(source #f) +(build-system trivial-build-system) +(arguments + '(#:modules ((guix build union)) + #:builder (begin + (use-modules (ice-9 match) +(guix build union)) + (match %build-inputs + (((names . directories) ...) + (union-build (assoc-ref %outputs "out") + directories) + #t) +(inputs (map (lambda (package) + (list (package-name package) package)) + packages)) +(synopsis "Union of the Go x crypto libraries") +(description "A union of the Golang cryptographic libraries. A +union is required because `go build` assumes that all of the headers and +libraries are in the same directory.") +(home-page (package-home-page go-golang-org-x-crypto-bcrypt)) +(license (package-license go-golang-org-x-crypto-bcrypt + (define-public go-golang-org-x-net-ipv4 (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") (revision "1")) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 0fe1d3d..48b52d2 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -728,44 +728,6 @@ generation.") (home-page "https://github.com/vitrun/qart;) (license bsd-3 -;; Go searches for library modules by looking in the GOPATH environment -;; variable. This variable is a list of paths. However, Go does not -;; keep searching on GOPATH if it tries and fails to import a module. -;; So, we use a union for packages sharing a namespace. -(define* (go-golang-org-x-crypto-union #:optional -(packages (list go-golang-org-x-crypto-blowfish - go-golang-org-x-crypto-bcrypt -go-golang-org-x-crypto-tea -go-golang-org-x-crypto-xtea - go-golang-org-x-crypto-pbkdf2 - go-golang-org-x-crypto-twofish -
13/34: gnu: Add go-github-com-libp2p-go-libp2p-crypto.
ambrevar pushed a commit to branch master in repository guix. commit 71f3680499d578946193af3db08f19688fb48ce7 Author: Pierre Neidhardt Date: Wed Oct 24 11:38:54 2018 +0200 gnu: Add go-github-com-libp2p-go-libp2p-crypto. * gnu/packages/golang.scm (go-github-com-libp2p-go-libp2p-crypto): New variable. --- gnu/packages/golang.scm | 30 ++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 1631c0b..4ee4a01 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2732,3 +2732,33 @@ This package uses Golang assembly. The AVX512 version is based on the Intel's implementations are described in \"Fast SHA-256 Implementations on Intel Architecture Processors\" by J. Guilford et al.") (license license:asl2.0 + +(define-public go-github-com-libp2p-go-libp2p-crypto + (let ((commit "7240b40a3ddc47c4d17c15baabcbe45e5219171b") +(revision "0")) +(package + (name "go-github-com-libp2p-go-libp2p-crypto") + (version (git-version "2.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libp2p/go-libp2p-crypto.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qwpy57qv5143l9dlfwfvpqsxdd2i4zwnawx1w4pmgxxim3nw1wb" + (build-system go-build-system) + (arguments + '(#:import-path "github.com/libp2p/go-libp2p-crypto")) + (native-inputs + `(("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519) + ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec) + ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd))) + (home-page + "https://github.com/libp2p/go-libp2p-crypto;) + (synopsis "Various cryptographic utilities used by IPFS") + (description "Various cryptographic utilities used by IPFS") + (license license:expat
10/34: gnu: Add go-github-com-btcsuite-btclog.
ambrevar pushed a commit to branch master in repository guix. commit 171c3259fc47fd7c2ba3814bfffd4d716016cb6e Author: Pierre Neidhardt Date: Wed Oct 24 11:11:28 2018 +0200 gnu: Add go-github-com-btcsuite-btclog. * gnu/packages/golang.scm (go-github-com-btcsuite-btclog): New variable. --- gnu/packages/golang.scm | 26 ++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 2bea557..6447e28 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2632,3 +2632,29 @@ includes offsets, byte values in hex, and ASCII output (only when using Dump style). @end itemize\n") (license license:isc + +(define-public go-github-com-btcsuite-btclog + (let ((commit "84c8d2346e9fc8c7b947e243b9c24e6df9fd206a") +(revision "0")) +(package + (name "go-github-com-btcsuite-btclog") + (version (git-version "0.0.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/btcsuite/btclog.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02dl46wcnfpg9sqvg0ipipkpnd7lrf4fnvb9zy56jqa7mfcwc7wk" + (build-system go-build-system) + (arguments + '(#:import-path "github.com/btcsuite/btclog")) + (home-page "https://github.com/btcsuite/btclog;) + (synopsis "Subsystem aware logger for Go") + (description "Package @command{btclog} defines a logger interface and +provides a default implementation of a subsystem-aware leveled logger +implementing the same interface.") + (license license:isc
18/34: gnu: Add go-github-com-multiformats-go-multihash.
ambrevar pushed a commit to branch master in repository guix. commit 2e42e587b43106980dbd8a6bfee2fd644c1a7f53 Author: Pierre Neidhardt Date: Wed Oct 24 11:48:27 2018 +0200 gnu: Add go-github-com-multiformats-go-multihash. * gnu/packages/golang.scm (go-github-com-multiformats-go-multihash): New variable. --- gnu/packages/golang.scm | 31 +++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index d8126d8..ab78038 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2875,3 +2875,34 @@ MurmurHash revision (aka MurmurHash3). Reference algorithm has been slightly hacked as to support the streaming mode required by Go's standard Hash interface.") (license license:bsd-3 + +(define-public go-github-com-multiformats-go-multihash + (let ((commit "97cdb562a04c6ef66d8ed40cd62f8fbcddd396d6") +(revision "0")) +(package + (name "go-github-com-multiformats-go-multihash") + (version (git-version "1.0.8" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/multiformats/go-multihash.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02wd9akrwy4y5m0nig9m24p14bjjgb4n1djydrq8cm4yhbvjrrk0" + (build-system go-build-system) + (arguments + '(#:import-path "github.com/multiformats/go-multihash")) + (native-inputs + `(("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) + ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) + ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union + (home-page "https://github.com/multiformats/go-multihash;) + (synopsis "Multihash implementation in Go") + (description "Multihash implementation in Go.") + (license license:expat
27/34: gnu: Add go-github-com-sabhiram-go-gitignore.
ambrevar pushed a commit to branch master in repository guix. commit 20f48e4b5da6b0ea818a10651900ed62315348e2 Author: Pierre Neidhardt Date: Wed Oct 24 12:05:02 2018 +0200 gnu: Add go-github-com-sabhiram-go-gitignore. * gnu/packages/golang.scm (go-github-com-sabhiram-go-gitignore): New variable. --- gnu/packages/golang.scm | 27 +++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index d1b5c86..f614c41 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3181,3 +3181,30 @@ as conversion to and from @command{net.Addr}.") - because testing panics is ugly. @end itemize\n") (license license:expat + +(define-public go-github-com-sabhiram-go-gitignore + (let ((commit "d3107576ba9425fc1c85f4b3569c4631b805a02e") +(revision "0")) +(package + (name "go-github-com-sabhiram-go-gitignore") + (version (git-version "1.0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sabhiram/go-gitignore.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rdwyxgcsiwgmlqnc3k6h300mzlvjc3j21np4yh1h476wc8dvl0l" + (build-system go-build-system) + (arguments + '(#:import-path + "github.com/sabhiram/go-gitignore")) + (native-inputs + `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify))) + (home-page "https://github.com/sabhiram/go-gitignore;) + (synopsis "Gitignore parser for Go") + (description "A @command{.gitignore} parser for Go.") + (license license:expat
30/34: gnu: Add go-github-com-whyrusleeping-progmeter.
ambrevar pushed a commit to branch master in repository guix. commit 38566e975ec9a743f724efecd9829ebf630f6806 Author: Pierre Neidhardt Date: Wed Oct 24 12:11:41 2018 +0200 gnu: Add go-github-com-whyrusleeping-progmeter. * gnu/packages/golang.scm (go-github-com-whyrusleeping-progmeter): New variable. --- gnu/packages/golang.scm | 25 + 1 file changed, 25 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 34d6011..de4e3f2 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3260,3 +3260,28 @@ fast and distributable command line applications in an expressive way.") (description "A library to query JSON objects marshalled into @command{map[string]interface{}}.") (license license:expat + +(define-public go-github-com-whyrusleeping-progmeter + (let ((commit "f3e57218a75b913eff88d49a52c1debf9684ea04") +(revision "0")) +(package + (name "go-github-com-whyrusleeping-progmeter") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/whyrusleeping/progmeter.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xs8rz6yhpvj9512c5v3b8dwr2kivywnyyfxzdfbr6fy1xc8zskb" + (build-system go-build-system) + (arguments + '(#:import-path + "github.com/whyrusleeping/progmeter")) + (home-page "https://github.com/whyrusleeping/progmeter;) + (synopsis "Progress meter for Go") + (description "Progress meter for Go.") + (license license:expat
20/34: gnu: Add go-github-com-libp2p-go-libp2p-protocol.
ambrevar pushed a commit to branch master in repository guix. commit 43a5c177379f580b804f843ace179d68a8b7fc03 Author: Pierre Neidhardt Date: Wed Oct 24 11:51:19 2018 +0200 gnu: Add go-github-com-libp2p-go-libp2p-protocol. * gnu/packages/golang.scm (go-github-com-libp2p-go-libp2p-protocol): New variable. --- gnu/packages/golang.scm | 25 + 1 file changed, 25 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 4c36f1e..4b2c30f 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2941,3 +2941,28 @@ required by Go's standard Hash interface.") (synopsis "PKI based identities for use in go-libp2p") (description "PKI based identities for use in @command{go-libp2p}.") (license license:expat + +(define-public go-github-com-libp2p-go-libp2p-protocol + (let ((commit "b29f3d97e3a2fb8b29c5d04290e6cb5c5018004b") +(revision "0")) +(package + (name "go-github-com-libp2p-go-libp2p-protocol") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libp2p/go-libp2p-protocol.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xgjfnx9zcqglg9li29wdqywsp8hz22wx6phns9zscni2jsfidld" + (build-system go-build-system) + (arguments + '(#:import-path + "github.com/libp2p/go-libp2p-protocol")) + (home-page "https://github.com/libp2p/go-libp2p-protocol;) + (synopsis "Type for protocol strings in Golang") + (description "Just a type for protocol strings. Nothing more.") + (license license:expat
28/34: gnu: Add go-github-com-urfave-cli.
ambrevar pushed a commit to branch master in repository guix. commit b5bb0b500bf0bc14bbb5d554a75d4f46f1d74795 Author: Pierre Neidhardt Date: Wed Oct 24 12:07:04 2018 +0200 gnu: Add go-github-com-urfave-cli. * gnu/packages/golang.scm (go-github-com-urfave-cli): New variable. --- gnu/packages/golang.scm | 26 ++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index f614c41..e07bf6c 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3208,3 +3208,29 @@ as conversion to and from @command{net.Addr}.") (synopsis "Gitignore parser for Go") (description "A @command{.gitignore} parser for Go.") (license license:expat + +(define-public go-github-com-urfave-cli + (let ((commit "934abfb2f102315b5794e15ebc7949e4ca253920") +(revision "0")) +(package + (name "go-github-com-urfave-cli") + (version (git-version "1.19.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/urfave/cli.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0c5r8pgj3k48dfcwj8lw3cxkwkl8vh0fhvz5snfdwd0bcxdqx1yq" + (build-system go-build-system) + (arguments + '(#:import-path "github.com/urfave/cli")) + (home-page "https://github.com/urfave/cli;) + (synopsis "Simple, fast, and fun package for building command line apps in Go") + (description "@command{cli} is a simple, fast, and fun package for +building command line apps in Go. The goal is to enable developers to write +fast and distributable command line applications in an expressive way.") + (license license:expat
03/34: gnu: Add go-golang-org-x-crypto-ed25519.
ambrevar pushed a commit to branch master in repository guix. commit 7eb0ad380b655b3d8869ea3aab1c6e33ec2cf669 Author: Pierre Neidhardt Date: Wed Oct 24 10:58:49 2018 +0200 gnu: Add go-golang-org-x-crypto-ed25519. * gnu/packages/golang.scm (go-golang-org-x-crypto-ed25519): New variable. --- gnu/packages/golang.scm | 12 1 file changed, 12 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index f59ddd1..e204269 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -990,6 +990,18 @@ Tiny Encryption Algorithm (XTEA) block cipher.") (home-page "https://go.googlesource.com/crypto/;) (license license:bsd-3 +(define-public go-golang-org-x-crypto-ed25519 + (package +(inherit go-golang-org-x-crypto-bcrypt) +(name "go-golang-org-x-crypto-ed25519") +(arguments + (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt) + ((#:import-path _) +"golang.org/x/crypto/ed25519"))) +(synopsis "ED25519 in Go") +(description "This package provides a Go implementation of the ED25519 +signature algorithm."))) + ;; Go searches for library modules by looking in the GOPATH environment ;; variable. This variable is a list of paths. However, Go does not ;; keep searching on GOPATH if it tries and fails to import a module.
29/34: gnu: Add go-github-com-whyrusleeping-json-filter.
ambrevar pushed a commit to branch master in repository guix. commit 7bd9020e48467fb05950c84eaf29460b449d7c1c Author: Pierre Neidhardt Date: Wed Oct 24 12:08:48 2018 +0200 gnu: Add go-github-com-whyrusleeping-json-filter. * gnu/packages/golang.scm (go-github-com-whyrusleeping-json-filter): New variable. --- gnu/packages/golang.scm | 26 ++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index e07bf6c..34d6011 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3234,3 +3234,29 @@ as conversion to and from @command{net.Addr}.") building command line apps in Go. The goal is to enable developers to write fast and distributable command line applications in an expressive way.") (license license:expat + +(define-public go-github-com-whyrusleeping-json-filter + (let ((commit "ff25329a9528f01c5175414f16cc0a6a162a5b8b") +(revision "0")) +(package + (name "go-github-com-whyrusleeping-json-filter") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/whyrusleeping/json-filter.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cai0drvx4c8j686l908vpcsz3mw3vxi3ziz94b0f3c5ylpj07j7" + (build-system go-build-system) + (arguments + '(#:import-path + "github.com/whyrusleeping/json-filter")) + (home-page "https://github.com/whyrusleeping/json-filter;) + (synopsis "Library to query JSON objects marshalled into map[string]interface") + (description "A library to query JSON objects marshalled into +@command{map[string]interface{}}.") + (license license:expat
15/34: gnu: Add go-github-com-gxed-hashland-keccakpg.
ambrevar pushed a commit to branch master in repository guix. commit 27d59d8bf5ed9a6560f15951395d03f05dc8d645 Author: Pierre Neidhardt Date: Wed Oct 24 11:43:17 2018 +0200 gnu: Add go-github-com-gxed-hashland-keccakpg. * gnu/packages/golang.scm (go-github-com-gxed-hashland-keccakpg): New variable. --- gnu/packages/golang.scm | 26 ++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 795ab29..87a1cd6 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2789,3 +2789,29 @@ Architecture Processors\" by J. Guilford et al.") trivial @command{big.Int} encoding benchmark results in 6 times faster encoding and 8 times faster decoding.") (license license:expat + +(define-public go-github-com-gxed-hashland-keccakpg + (let ((commit "d9f6b97f8db22dd1e090fd0bbbe98f09cc7dd0a8") +(revision "0")) +(package + (name "go-github-com-gxed-hashland-keccakpg") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gxed/hashland.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1q23y4lacsz46k9gmgfw4iwwydw36j2601rbidmmswl94grpc386" + (build-system go-build-system) + (arguments + '(#:unpack-path "github.com/gxed/hashland" + #:import-path "github.com/gxed/hashland/keccakpg")) + (home-page "https://github.com/gxed/hashland;) + (synopsis "Implements the Keccak (SHA-3) hash algorithm in Go") + (description "Package @command{keccak} implements the Keccak (SHA-3) +hash algorithm. See http://keccak.noekeon.org.;) + (license license:expat
branch master updated (569adff -> 202c1b9)
ambrevar pushed a change to branch master in repository guix. from 569adff gnu: pcsc-lite: Update to 1.8.24. new 5787e15 gnu: Move go-github-com-gogo-protobuf* from syncthing.scm to golang.scm new 830dc25 gnu: Move go-golang-org-x-crypto-union from syncthing.scm to golang.scm new 7eb0ad3 gnu: Add go-golang-org-x-crypto-ed25519. new a9010ea gnu: Add go-golang-org-x-crypto-ripemd160. new 6fa257c gnu: Add go-golang-org-x-crypto-blake2s. new 19789c8 gnu: Add go-golang-org-x-crypto-sha3. new 48a279e gnu: go-golang-org-x-crypto-union: Wrap all crypto packages. new 386bd7b gnu: Add go-github-com-libp2p-go-flow-metrics. new 6a95e3a gnu: Add go-github-com-davecgh-go-spew. new 171c325 gnu: Add go-github-com-btcsuite-btclog. new d5599af gnu: Add go-github-com-btcsuite-btcd-btcec. new ff2d11c gnu: Add go-github-com-minio-sha256-simd. new 71f3680 gnu: Add go-github-com-libp2p-go-libp2p-crypto. new 15272a5 gnu: Add go-github-com-mr-tron-base58. new 27d59d8 gnu: Add go-github-com-gxed-hashland-keccakpg. new 90f2a84 gnu: Add go-github-com-minio-blake2b-simd. new 9a7f157 gnu: Add go-github-com-spaolacci-murmur3. new 2e42e58 gnu: Add go-github-com-multiformats-go-multihash. new 1db1e3c gnu: Add go-github-com-libp2p-go-libp2p-peer. new 43a5c17 gnu: Add go-github-com-libp2p-go-libp2p-protocol. new 77d8a91 gnu: Add go-github-com-libp2p-go-libp2p-metrics. new 8cb9128 gnu: Add go-github-com-mitchellh-go-homedir. new e53121b gnu: Add go-github-com-multiformats-go-multiaddr. new 66fb6e2 gnu: Add go-github-com-multiformats-go-multiaddr-net. new 38d346d gnu: Add go-github-com-whyrusleeping-tar-utils. new ad8d463 gnu: Add go-github-com-cheekybits-is. new 20f48e4 gnu: Add go-github-com-sabhiram-go-gitignore. new b5bb0b5 gnu: Add go-github-com-urfave-cli. new 7bd9020 gnu: Add go-github-com-whyrusleeping-json-filter. new 38566e9 gnu: Add go-github-com-whyrusleeping-progmeter. new 56eb7bd gnu: Add go-github-com-whyrusleeping-stump. new 247b1bd gnu: Add go-github-com-ipfs-go-ipfs-cmdkit-files. new 566f13f gnu: Add go-github-com-ipfs-go-ipfs-api. new 202c1b9 gnu: Add gx. The 34 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: gnu/local.mk | 1 + gnu/packages/golang.scm| 964 - gnu/packages/ipfs.scm | 154 gnu/packages/syncthing.scm | 132 --- 4 files changed, 1118 insertions(+), 133 deletions(-) create mode 100644 gnu/packages/ipfs.scm
09/34: gnu: Add go-github-com-davecgh-go-spew.
ambrevar pushed a commit to branch master in repository guix. commit 6a95e3a3a4c97f20b66483b6bd7cac82ddfa0497 Author: Pierre Neidhardt Date: Wed Oct 24 11:07:38 2018 +0200 gnu: Add go-github-com-davecgh-go-spew. * gnu/packages/golang.scm (go-github-com-davecgh-go-spew): New variable. --- gnu/packages/golang.scm | 40 1 file changed, 40 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 6c8754b..2bea557 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2592,3 +2592,43 @@ generation features. This code generation is used to achieve: (description "A simple alternative to rcrowley's @command{go-metrics} that's a lot faster (and only does simple bandwidth metrics).") (license license:expat + +(define-public go-github-com-davecgh-go-spew + (let ((commit "d8f796af33cc11cb798c1aaeb27a4ebc5099927d") +(revision "0")) +(package + (name "go-github-com-davecgh-go-spew") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/davecgh/go-spew.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "19z27f306fpsrjdvkzd61w1bdazcdbczjyjck177g33iklinhpvx" + (build-system go-build-system) + (arguments + '(#:unpack-path "github.com/davecgh/go-spew" + #:import-path "github.com/davecgh/go-spew/spew")) + (home-page "https://github.com/davecgh/go-spew;) + (synopsis "Deep pretty printer for Go data structures to aid in debugging") + (description "Package @command{spew} implements a deep pretty printer +for Go data structures to aid in debugging. + +A quick overview of the additional features spew provides over the built-in printing facilities for Go data types are as follows: + +@itemize +@item Pointers are dereferenced and followed. +@item Circular data structures are detected and handled properly. +@item Custom Stringer/error interfaces are optionally invoked, including on +unexported types. +@item Custom types which only implement the Stringer/error interfaces via a +pointer receiver are optionally invoked when passing non-pointer variables. +@item Byte arrays and slices are dumped like the hexdump -C command which +includes offsets, byte values in hex, and ASCII output (only when using Dump +style). +@end itemize\n") + (license license:isc
31/34: gnu: Add go-github-com-whyrusleeping-stump.
ambrevar pushed a commit to branch master in repository guix. commit 56eb7bd33c7c698253be91a932ed3cc8fc85ab6f Author: Pierre Neidhardt Date: Wed Oct 24 12:12:40 2018 +0200 gnu: Add go-github-com-whyrusleeping-stump. * gnu/packages/golang.scm (go-github-com-whyrusleeping-stump): New variable. --- gnu/packages/golang.scm | 25 + 1 file changed, 25 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index de4e3f2..9b46907 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3285,3 +3285,28 @@ fast and distributable command line applications in an expressive way.") (synopsis "Progress meter for Go") (description "Progress meter for Go.") (license license:expat + +(define-public go-github-com-whyrusleeping-stump + (let ((commit "206f8f13aae1697a6fc1f4a55799faf955971fc5") +(revision "0")) +(package + (name "go-github-com-whyrusleeping-stump") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/whyrusleeping/stump.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1s40qdppjnk8gijk7x6kbviiqz62nz3h6gic2q9cwcmq8r5isw7n" + (build-system go-build-system) + (arguments + '(#:import-path "github.com/whyrusleeping/stump")) + (home-page "https://github.com/whyrusleeping/stump;) + (synopsis "Very basic logging package for Go") + (description "A simple log library, for when you don't really care to +have super fancy logs.") + (license license:expat
23/34: gnu: Add go-github-com-multiformats-go-multiaddr.
ambrevar pushed a commit to branch master in repository guix. commit e53121b36f64bb677127f6814e87e875e0d7ff7b Author: Pierre Neidhardt Date: Wed Oct 24 11:57:39 2018 +0200 gnu: Add go-github-com-multiformats-go-multiaddr. * gnu/packages/golang.scm (go-github-com-multiformats-go-multiaddr): New variable. --- gnu/packages/golang.scm | 42 ++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index ad914d5..0c5eb6c 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3044,3 +3044,45 @@ package cannot cross compile. But 99% of the time the use for the current user without cgo. This library does that, enabling cross-compilation.") (license license:expat + +(define-public go-github-com-multiformats-go-multiaddr + (let ((commit "fe1c46f8be5af4aff4db286e08839295bd922efb") +(revision "0")) +(package + (name "go-github-com-multiformats-go-multiaddr") + (version (git-version "1.3.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/multiformats/go-multiaddr.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0p5f8h098a4yjjmzsgqs7vhx1iqifb8izwg3559cr4h7clkpzznh" + (build-system go-build-system) + (arguments + '(#:import-path + "github.com/multiformats/go-multiaddr")) + (native-inputs + `(("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash) + ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) + ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) + ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union + (home-page "https://github.com/multiformats/go-multiaddr;) + (synopsis "Composable and future-proof network addresses") + (description "Multiaddr is a standard way to represent addresses that +does the following: + +@itemize +@item Support any standard network protocols. +@item Self-describe (include protocols). +@item Have a binary packed format. +@item Have a nice string representation. +@item Encapsulate well. +@end itemize\n") + (license license:expat
25/34: gnu: Add go-github-com-whyrusleeping-tar-utils.
ambrevar pushed a commit to branch master in repository guix. commit 38d346dcc6ae84bcf17c57989816848051d89028 Author: Pierre Neidhardt Date: Wed Oct 24 12:01:08 2018 +0200 gnu: Add go-github-com-whyrusleeping-tar-utils. * gnu/packages/golang.scm (go-github-com-whyrusleeping-tar-utils): New variable. --- gnu/packages/golang.scm | 25 + 1 file changed, 25 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index afad3aa..3b35437 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3124,3 +3124,28 @@ common functions in stdlib's @command{net} package. This means wrappers of standard net symbols like @command{net.Dial} and @command{net.Listen}, as well as conversion to and from @command{net.Addr}.") (license license:expat + +(define-public go-github-com-whyrusleeping-tar-utils + (let ((commit "8c6c8ba81d5c71fd69c0f48dbde4b2fb422b6dfc") +(revision "0")) +(package + (name "go-github-com-whyrusleeping-tar-utils") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/whyrusleeping/tar-utils.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "14jjdw3yics0k467xsyk388684wdpi0bbx8nqj0y4pqxa0s0in6s" + (build-system go-build-system) + (arguments + '(#:import-path + "github.com/whyrusleeping/tar-utils")) + (home-page "https://github.com/whyrusleeping/tar-utils;) + (synopsis "Tar utilities extracted from go-ipfs codebase") + (description "Tar utilities extracted from @command{go-ipfs} codebase.") + (license license:expat
16/34: gnu: Add go-github-com-minio-blake2b-simd.
ambrevar pushed a commit to branch master in repository guix. commit 90f2a8480518555a2eb3b8fa0cb3616fdab0ccb8 Author: Pierre Neidhardt Date: Wed Oct 24 11:45:20 2018 +0200 gnu: Add go-github-com-minio-blake2b-simd. * gnu/packages/golang.scm (go-github-com-minio-blake2b-simd): New variable. --- gnu/packages/golang.scm | 32 1 file changed, 32 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 87a1cd6..6174f75 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2815,3 +2815,35 @@ encoding and 8 times faster decoding.") (description "Package @command{keccak} implements the Keccak (SHA-3) hash algorithm. See http://keccak.noekeon.org.;) (license license:expat + +(define-public go-github-com-minio-blake2b-simd + (let ((commit "3f5f724cb5b182a5c278d6d3d55b40e7f8c2efb4") +(revision "0")) +(package + (name "go-github-com-minio-blake2b-simd") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minio/blake2b-simd.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0b6jbnj62c0gmmfd4zdmh8xbg01p80f13yygir9xprqkzk6fikmd" + (build-system go-build-system) + (arguments + '(#:import-path "github.com/minio/blake2b-simd")) + (home-page "https://github.com/minio/blake2b-simd;) + (synopsis "Fast hashing in pure Go of BLAKE2b with SIMD instructions") + (description "This package was initially based on the pure go BLAKE2b +implementation of Dmitry Chestnykh and merged with the (cgo dependent) AVX +optimized BLAKE2 implementation (which in turn is based on the official +implementation. It does so by using Go's Assembler for amd64 architectures +with a golang only fallback for other architectures. + +In addition to AVX there is also support for AVX2 as well as SSE. Best +performance is obtained with AVX2 which gives roughly a 4X performance +increase approaching hashing speeds of 1GB/sec on a single core.") + (license license:asl2.0
17/34: gnu: Add go-github-com-spaolacci-murmur3.
ambrevar pushed a commit to branch master in repository guix. commit 9a7f1575713be1050eedc611047b9603fdbd1bf6 Author: Pierre Neidhardt Date: Wed Oct 24 11:46:42 2018 +0200 gnu: Add go-github-com-spaolacci-murmur3. * gnu/packages/golang.scm (go-github-com-spaolacci-murmur3): New variable. --- gnu/packages/golang.scm | 28 1 file changed, 28 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 6174f75..d8126d8 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2847,3 +2847,31 @@ In addition to AVX there is also support for AVX2 as well as SSE. Best performance is obtained with AVX2 which gives roughly a 4X performance increase approaching hashing speeds of 1GB/sec on a single core.") (license license:asl2.0 + +(define-public go-github-com-spaolacci-murmur3 + (let ((commit "f09979ecbc725b9e6d41a297405f65e7e8804acc") +(revision "0")) +(package + (name "go-github-com-spaolacci-murmur3") + (version (git-version "1.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spaolacci/murmur3.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25" + (build-system go-build-system) + (arguments + '(#:import-path "github.com/spaolacci/murmur3")) + (home-page "https://github.com/spaolacci/murmur3;) + (synopsis "Native MurmurHash3 Go implementation") + (description "Native Go implementation of Austin Appleby's third +MurmurHash revision (aka MurmurHash3). + +Reference algorithm has been slightly hacked as to support the streaming mode +required by Go's standard Hash interface.") + (license license:bsd-3
01/34: gnu: Move go-github-com-gogo-protobuf* from syncthing.scm to golang.scm
ambrevar pushed a commit to branch master in repository guix. commit 5787e152302c580ea4cbb79291633eed2e743777 Author: Pierre Neidhardt Date: Wed Oct 24 10:46:05 2018 +0200 gnu: Move go-github-com-gogo-protobuf* from syncthing.scm to golang.scm * gnu/packages/syncthing.scm (go-github-com-gogo-protobuf, go-github-com-gogo-protobuf-protoc-gen-gogo, go-github-com-gogo-protobuf-union): Delete. * gnu/packages/golang.scm (go-github-com-gogo-protobuf, go-github-com-gogo-protobuf-protoc-gen-gogo, go-github-com-gogo-protobuf-union): Add. --- gnu/packages/golang.scm| 125 - gnu/packages/syncthing.scm | 94 -- 2 files changed, 124 insertions(+), 95 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index f140574..9c81534 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -46,7 +46,8 @@ #:use-module (gnu packages lua) #:use-module (gnu packages mp3) #:use-module (ice-9 match) - #:use-module (srfi srfi-1)) + #:use-module (srfi srfi-1) + #:export (go-github-com-gogo-protobuf-union)) ;; According to https://golang.org/doc/install/gccgo, gccgo-4.8.2 includes a ;; complete go-1.1.2 implementation, gccgo-4.9 includes a complete go-1.2 @@ -2348,3 +2349,125 @@ and lookup requests. Browse requests are not supported yet.") (synopsis "Go wrapper for taglib") (description "Go wrapper for taglib") (license license:unlicense + +(define* (go-github-com-gogo-protobuf-union + #:optional (packages (list go-github-com-gogo-protobuf + go-github-com-gogo-protobuf-protoc-gen-gogo))) + (package +(name "go-github-com-gogo-protobuf-union") +(version (package-version go-github-com-gogo-protobuf)) +(source #f) +(build-system trivial-build-system) +(arguments + '(#:modules ((guix build union)) + #:builder (begin + (use-modules (ice-9 match) +(guix build union)) + (match %build-inputs + (((names . directories) ...) + (union-build (assoc-ref %outputs "out") + directories) + #t) +(inputs (map (lambda (package) + (list (package-name package) package)) + packages)) +(synopsis "Union of Go protobuf libraries") +(description "This is a union of Go protobuf libraries") +(home-page (package-home-page go-github-com-gogo-protobuf)) +(license (package-license go-github-com-gogo-protobuf + +(define-public go-github-com-gogo-protobuf + (let ((commit "160de10b2537169b5ae3e7e221d28269ef40d311") +(revision "2")) +(package + (name "go-github-com-gogo-protobuf") + (version (git-version "0.5" revision commit)) + (source (origin +(method git-fetch) +(uri (git-reference + (url "https://github.com/gogo/protobuf;) + (commit commit))) +(file-name (git-file-name name version)) +(sha256 + (base32 + "0hxq28sgxym04rv0q40gpwkh4ni359q21hq3g78wwxwx4qfd4zwm" + (build-system go-build-system) + (arguments + `(#:import-path "github.com/gogo/protobuf/proto" + #:unpack-path "github.com/gogo/protobuf")) + (propagated-inputs + `(("go-github-com-gogo-protobuf-protoc-gen-gogo" + ,go-github-com-gogo-protobuf-protoc-gen-gogo))) + (synopsis "Protocol Buffers for Go with Gadgets") + (description "Gogoprotobuf is a fork of golang/protobuf with extra code +generation features. This code generation is used to achieve: +@itemize +@item fast marshalling and unmarshalling +@item more canonical Go structures +@item goprotobuf compatibility +@item less typing by optionally generating extra helper code +@item peace of mind by optionally generating test and benchmark code +@item other serialization formats +@end itemize") + (home-page "https://github.com/gogo/protobuf;) + (license license:bsd-3 + +(define-public go-github-com-gogo-protobuf-protoc-gen-gogo + (let ((commit "efccd33a0c20aa078705571d5ddbfa14c8395a63") +(revision "0")) +(package + (name "go-github-com-gogo-protobuf-protoc-gen-gogo") + (version (git-version "0.2" revision commit)) + (source (origin +(method git-fetch) +(uri (git-reference + (url "https://github.com/gogo/protobuf;) + (commit commit))) +(file-name (git-file-name name version)) +
22/34: gnu: Add go-github-com-mitchellh-go-homedir.
ambrevar pushed a commit to branch master in repository guix. commit 8cb912817363a87ae9d6e3ec858a3f7aa715a913 Author: Pierre Neidhardt Date: Wed Oct 24 11:56:01 2018 +0200 gnu: Add go-github-com-mitchellh-go-homedir. * gnu/packages/golang.scm (go-github-com-mitchellh-go-homedir): New variable. --- gnu/packages/golang.scm | 39 +++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 29181ed..ad914d5 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3005,3 +3005,42 @@ required by Go's standard Hash interface.") (description "A connection wrapper for @command{go-libp2p} that provides bandwidth statistics for wrapped connections.") (license license:expat + +(define-public go-github-com-mitchellh-go-homedir + (let ((commit "ae18d6b8b3205b561c79e8e5f69bff09736185f4") +(revision "0")) +(package + (name "go-github-com-mitchellh-go-homedir") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mitchellh/go-homedir.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0f0z0aa4wivk4z1y503dmnw0k0g0g403dly8i4q263gfshs82sbq" + (build-system go-build-system) + (arguments + (quote (#:import-path "github.com/mitchellh/go-homedir" + ;; TODO: Tests fail because it tries to access home. + #:tests? #f))) + (home-page "https://github.com/mitchellh/go-homedir;) + (synopsis "Go library for detecting and expanding the user's home directory without cgo") + (description "This is a Go library for detecting the user's home +directory without the use of @command{cgo}, so the library can be used in +cross-compilation environments. + +Usage is simple, just call homedir.Dir() to get the home directory for a user, +and homedir.Expand() to expand the @command{~} in a path to the home +directory. + +Why not just use @command{os/user}? The built-in @command{os/user} package +requires cgo on Darwin systems. This means that any Go code that uses that +package cannot cross compile. But 99% of the time the use for +@command{os/user} is just to retrieve the home directory, which we can do for +the current user without cgo. This library does that, enabling +cross-compilation.") + (license license:expat
06/34: gnu: Add go-golang-org-x-crypto-sha3.
ambrevar pushed a commit to branch master in repository guix. commit 19789c8b91c5879b6cd13ed5dc0793e0edd66a33 Author: Pierre Neidhardt Date: Wed Oct 24 11:00:00 2018 +0200 gnu: Add go-golang-org-x-crypto-sha3. * gnu/packages/golang.scm (go-golang-org-x-crypto-sha3): New variable. --- gnu/packages/golang.scm | 13 + 1 file changed, 13 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 3c63925..c114431 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1026,6 +1026,19 @@ hash algorithm."))) (description "This package provides a Go implementation of the BLAKE2s hash algorithm."))) +(define-public go-golang-org-x-crypto-sha3 + (package +(inherit go-golang-org-x-crypto-bcrypt) +(name "go-golang-org-x-crypto-sha3") +(arguments + (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt) + ((#:import-path _) +"golang.org/x/crypto/sha3"))) +(synopsis "SHA-3 in Go") +(description "This package provides a Go implementation of the SHA-3 +fixed-output-length hash functions and the SHAKE variable-output-length hash +functions defined by FIPS-202."))) + ;; Go searches for library modules by looking in the GOPATH environment ;; variable. This variable is a list of paths. However, Go does not ;; keep searching on GOPATH if it tries and fails to import a module.
24/34: gnu: Add go-github-com-multiformats-go-multiaddr-net.
ambrevar pushed a commit to branch master in repository guix. commit 66fb6e292a5a315a62810031e16ecfe30cb88d7d Author: Pierre Neidhardt Date: Wed Oct 24 12:00:03 2018 +0200 gnu: Add go-github-com-multiformats-go-multiaddr-net. * gnu/packages/golang.scm (go-github-com-multiformats-go-multiaddr-net): New variable. --- gnu/packages/golang.scm | 38 ++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 0c5eb6c..afad3aa 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3086,3 +3086,41 @@ does the following: @item Encapsulate well. @end itemize\n") (license license:expat + +(define-public go-github-com-multiformats-go-multiaddr-net + (let ((commit "1cb9a0e8a6de3c8a10f6cee60d01d793603c4f7e") +(revision "0")) +(package + (name "go-github-com-multiformats-go-multiaddr-net") + (version (git-version "1.6.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/multiformats/go-multiaddr-net.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ypgi47xdz3bh8lh7f8cmk7w3ql9g4izx5l3kzdg9gda1xn5zxq3" + (build-system go-build-system) + (arguments + (quote (#:import-path "github.com/multiformats/go-multiaddr-net" + ;; TODO: Tests fail because they try to access the network. + #:tests? #f))) + (native-inputs + `(("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr) + ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash) + ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) + ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) + ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union + (home-page "https://github.com/multiformats/go-multiaddr-net;) + (synopsis "Multiaddress net tools") + (description "This package provides Multiaddr specific versions of +common functions in stdlib's @command{net} package. This means wrappers of +standard net symbols like @command{net.Dial} and @command{net.Listen}, as well +as conversion to and from @command{net.Addr}.") + (license license:expat
34/34: gnu: Add gx.
ambrevar pushed a commit to branch master in repository guix. commit 202c1b97034ed1ea9fa8fea449d0806c05e3998f Author: Pierre Neidhardt Date: Wed Oct 24 12:25:31 2018 +0200 gnu: Add gx. * gnu/packages/ipfs.scm (gx): New variable. --- gnu/packages/ipfs.scm | 54 +++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm index 812fcf6..85fd6ac 100644 --- a/gnu/packages/ipfs.scm +++ b/gnu/packages/ipfs.scm @@ -98,3 +98,57 @@ that are shared between @command{go-ipfs/commands} and its rewrite (synopsis "Unofficial Go interface to IPFS's HTTP API") (description "An unofficial Go interface to IPFS's HTTP API") (license license:expat + +(define-public gx + (let ((commit + "89338e509426d2895f20086685cf4c77d64cc5df") +(revision "0")) +(package + (name "gx") + (version (git-version "0.14.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/whyrusleeping/gx.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08gh04jln8rxpq0j4fm4chjap162wp8cjwj9szbvj9c7123s42rd" + (build-system go-build-system) + (arguments + '(#:import-path "github.com/whyrusleeping/gx")) + (native-inputs + `(("go-github-com-blang-semver" ,go-github-com-blang-semver) + ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) + ("go-github-com-ipfs-go-ipfs-api" ,go-github-com-ipfs-go-ipfs-api) + ("go-github-com-ipfs-go-ipfs-cmdkit-files" ,go-github-com-ipfs-go-ipfs-cmdkit-files) + ("go-github-com-libp2p-go-flow-metrics" ,go-github-com-libp2p-go-flow-metrics) + ("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto) + ("go-github-com-libp2p-go-libp2p-metrics" ,go-github-com-libp2p-go-libp2p-metrics) + ("go-github-com-libp2p-go-libp2p-peer" ,go-github-com-libp2p-go-libp2p-peer) + ("go-github-com-libp2p-go-libp2p-protocol" ,go-github-com-libp2p-go-libp2p-protocol) + ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) + ("go-github-com-mitchellh-go-homedir" ,go-github-com-mitchellh-go-homedir) + ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) + ("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr) + ("go-github-com-multiformats-go-multiaddr-net" ,go-github-com-multiformats-go-multiaddr-net) + ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-github-com-whyrusleeping-tar-utils" ,go-github-com-whyrusleeping-tar-utils) + ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union)) + ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec) + ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto) + ("go-github-com-sabhiram-go-gitignore" ,go-github-com-sabhiram-go-gitignore) + ("go-github-com-urfave-cli" ,go-github-com-urfave-cli) + ("go-github-com-whyrusleeping-json-filter" ,go-github-com-whyrusleeping-json-filter) + ("go-github-com-whyrusleeping-progmeter" ,go-github-com-whyrusleeping-progmeter) + ("go-github-com-whyrusleeping-stump" ,go-github-com-whyrusleeping-stump))) + (home-page "https://github.com/whyrusleeping/gx;) + (synopsis "Package management tool using IPFS") + (description "@command{gx} is a packaging tool built around the +distributed, content addressed filesystem IPFS. It aims to be flexible, +powerful and simple.") + (license license:expat
19/34: gnu: Add go-github-com-libp2p-go-libp2p-peer.
ambrevar pushed a commit to branch master in repository guix. commit 1db1e3c79efd6c61632a68a003d0979d0ad5b35f Author: Pierre Neidhardt Date: Wed Oct 24 11:49:53 2018 +0200 gnu: Add go-github-com-libp2p-go-libp2p-peer. * gnu/packages/golang.scm (go-github-com-libp2p-go-libp2p-peer): New variable. --- gnu/packages/golang.scm | 35 +++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index ab78038..4c36f1e 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2906,3 +2906,38 @@ required by Go's standard Hash interface.") (synopsis "Multihash implementation in Go") (description "Multihash implementation in Go.") (license license:expat + +(define-public go-github-com-libp2p-go-libp2p-peer + (let ((commit "993d742bc29dcf4894b7730ba610fd78900be76c") +(revision "0")) +(package + (name "go-github-com-libp2p-go-libp2p-peer") + (version (git-version "2.3.8" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libp2p/go-libp2p-peer.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1h96qjdi0i1wbr0jliap2903mycphas3ny0zdrm77yca9plcnphh" + (build-system go-build-system) + (arguments + '(#:import-path "github.com/libp2p/go-libp2p-peer")) + (native-inputs + `(("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto) + ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) + ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) + ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec) + ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) + ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash) + ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union + (home-page "https://github.com/libp2p/go-libp2p-peer;) + (synopsis "PKI based identities for use in go-libp2p") + (description "PKI based identities for use in @command{go-libp2p}.") + (license license:expat
08/34: gnu: Add go-github-com-libp2p-go-flow-metrics.
ambrevar pushed a commit to branch master in repository guix. commit 386bd7ba393297f440c198eb6d5611ff8c73d875 Author: Pierre Neidhardt Date: Wed Oct 24 11:04:46 2018 +0200 gnu: Add go-github-com-libp2p-go-flow-metrics. * gnu/packages/golang.scm (go-github-com-libp2p-go-flow-metrics): New variable. --- gnu/packages/golang.scm | 28 1 file changed, 28 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index a9bb4e6..6c8754b 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2564,3 +2564,31 @@ generation features. This code generation is used to achieve: (synopsis "XXX") (description "XXX") (license license:expat + +(define-public go-github-com-libp2p-go-flow-metrics + (let ((commit "7e5a55af485341567f98d6847a373eb5ddcdcd43") +(revision "0")) +(package + (name "go-github-com-libp2p-go-flow-metrics") + (version (git-version "0.2.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libp2p/go-flow-metrics.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1p87iyk6q6f3g3xkncssx400qlld8f2z93qiz8m1f97grfyhjif1" + (build-system go-build-system) + (arguments + `(#:import-path "github.com/libp2p/go-flow-metrics" + ;; TODO: Tests hang. + #:tests? #f)) + (home-page + "https://github.com/libp2p/go-flow-metrics;) + (synopsis "Simple library for tracking flow metrics") + (description "A simple alternative to rcrowley's @command{go-metrics} +that's a lot faster (and only does simple bandwidth metrics).") + (license license:expat
04/34: gnu: Add go-golang-org-x-crypto-ripemd160.
ambrevar pushed a commit to branch master in repository guix. commit a9010ead4c727e3dfd3ebd04fabcc915d54f799d Author: Pierre Neidhardt Date: Wed Oct 24 10:59:38 2018 +0200 gnu: Add go-golang-org-x-crypto-ripemd160. * gnu/packages/golang.scm (go-golang-org-x-crypto-ripemd160): New variable. --- gnu/packages/golang.scm | 12 1 file changed, 12 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index e204269..66f2b72 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1002,6 +1002,18 @@ Tiny Encryption Algorithm (XTEA) block cipher.") (description "This package provides a Go implementation of the ED25519 signature algorithm."))) +(define-public go-golang-org-x-crypto-ripemd160 + (package +(inherit go-golang-org-x-crypto-bcrypt) +(name "go-golang-org-x-crypto-ripemd160") +(arguments + (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt) + ((#:import-path _) +"golang.org/x/crypto/ripemd160"))) +(synopsis "RIPEMD-160 in Go") +(description "This package provides a Go implementation of the RIPEMD-160 +hash algorithm."))) + ;; Go searches for library modules by looking in the GOPATH environment ;; variable. This variable is a list of paths. However, Go does not ;; keep searching on GOPATH if it tries and fails to import a module.
21/34: gnu: Add go-github-com-libp2p-go-libp2p-metrics.
ambrevar pushed a commit to branch master in repository guix. commit 77d8a9179268c3295957b213a8e36c93687b6399 Author: Pierre Neidhardt Date: Wed Oct 24 11:52:24 2018 +0200 gnu: Add go-github-com-libp2p-go-libp2p-metrics. * gnu/packages/golang.scm (go-github-com-libp2p-go-libp2p-metrics): New variable. --- gnu/packages/golang.scm | 39 +++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 4b2c30f..29181ed 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2966,3 +2966,42 @@ required by Go's standard Hash interface.") (synopsis "Type for protocol strings in Golang") (description "Just a type for protocol strings. Nothing more.") (license license:expat + +(define-public go-github-com-libp2p-go-libp2p-metrics + (let ((commit "a10ff6e75dae3c868023867e8caa534a04bdc624") +(revision "0")) +(package + (name "go-github-com-libp2p-go-libp2p-metrics") + (version (git-version "2.1.6" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libp2p/go-libp2p-metrics.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05wy0cq4h6yg9bzgapcvm2criwriicbswx80ma82gyn4a9fdrk8m" + (build-system go-build-system) + (arguments + '(#:import-path "github.com/libp2p/go-libp2p-metrics")) + (native-inputs + `(("go-github-com-libp2p-go-flow-metrics" ,go-github-com-libp2p-go-flow-metrics) + ("go-github-com-libp2p-go-libp2p-peer" ,go-github-com-libp2p-go-libp2p-peer) + ("go-github-com-libp2p-go-libp2p-protocol" ,go-github-com-libp2p-go-libp2p-protocol) + ("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto) + ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) + ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash) + ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec) + ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto) + ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) + ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union + (home-page "https://github.com/libp2p/go-libp2p-metrics;) + (synopsis "Connection wrapper for go-libp2p that provides bandwidth metrics") + (description "A connection wrapper for @command{go-libp2p} that provides bandwidth +statistics for wrapped connections.") + (license license:expat
11/34: gnu: Add go-github-com-btcsuite-btcd-btcec.
ambrevar pushed a commit to branch master in repository guix. commit d5599afadf9026079ef5bf34af9d1b111731b81b Author: Pierre Neidhardt Date: Wed Oct 24 11:30:32 2018 +0200 gnu: Add go-github-com-btcsuite-btcd-btcec. * gnu/packages/golang.scm (go-github-com-btcsuite-btcd-btcec): New variable. --- gnu/packages/golang.scm | 38 ++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 6447e28..1cc10d5 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2658,3 +2658,41 @@ style). provides a default implementation of a subsystem-aware leveled logger implementing the same interface.") (license license:isc + +(define-public go-github-com-btcsuite-btcd-btcec + (let ((commit "67e573d211ace594f1366b4ce9d39726c4b19bd0") +(revision "0")) +(package + (name "go-github-com-btcsuite-btcd-btcec") + (version (git-version "0.12.0-beta" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/btcsuite/btcd.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04s92gsy71w1jirlr5lkk9y6r5cparbas7nmf6ywbp7kq7fn8ajn" + (build-system go-build-system) + (arguments + '(#:unpack-path "github.com/btcsuite/btcd" + #:import-path "github.com/btcsuite/btcd/btcec")) + (native-inputs + `(("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew))) + (home-page "https://github.com/btcsuite/btcd;) + (synopsis "Elliptic curve cryptography to work with Bitcoin") + (description "Package @command{btcec} implements elliptic curve +cryptography needed for working with Bitcoin (secp256k1 only for now). It is +designed so that it may be used with the standard crypto/ecdsa packages +provided with Go. A comprehensive suite of test is provided to ensure proper +functionality. Package @command{btcec} was originally based on work from +ThePiachu which is licensed under the same terms as Go, but it has +signficantly diverged since then. The @command{btcsuite} developers original +is licensed under the liberal ISC license. + +Although this package was primarily written for btcd, it has intentionally +been designed so it can be used as a standalone package for any projects +needing to use secp256k1 elliptic curve cryptography.") + (license license:isc
26/34: gnu: Add go-github-com-cheekybits-is.
ambrevar pushed a commit to branch master in repository guix. commit ad8d4637400f3120320f8012d12065ab48291f3a Author: Pierre Neidhardt Date: Wed Oct 24 12:03:27 2018 +0200 gnu: Add go-github-com-cheekybits-is. * gnu/packages/golang.scm (go-github-com-cheekybits-is): New variable. --- gnu/packages/golang.scm | 32 1 file changed, 32 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 3b35437..d1b5c86 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3149,3 +3149,35 @@ as conversion to and from @command{net.Addr}.") (synopsis "Tar utilities extracted from go-ipfs codebase") (description "Tar utilities extracted from @command{go-ipfs} codebase.") (license license:expat + +(define-public go-github-com-cheekybits-is + (let ((commit "68e9c0620927fb5427fda3708222d0edee89eae9") +(revision "0")) +(package + (name "go-github-com-cheekybits-is") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cheekybits/is.git;) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1mkbyzhwq3rby832ikq00nxv3jnckxsm3949wkxd8ya9js2jmg4d" + (build-system go-build-system) + (arguments + '(#:import-path "github.com/cheekybits/is")) + (home-page "https://github.com/cheekybits/is;) + (synopsis "Mini testing helper for Go") + (description "A mini testing helper for Go. + +@itemize +@item It has a simple interface (@command{is.OK} and @command{is.Equal}). +@item It plugs into existing Go toolchain (uses @command{testing.T}). +@item It's obvious for newcomers. +@item It also gives you @command{is.Panic} and @command{is.PanicWith} helpers +- because testing panics is ugly. +@end itemize\n") + (license license:expat
05/34: gnu: Add go-golang-org-x-crypto-blake2s.
ambrevar pushed a commit to branch master in repository guix. commit 6fa257cca7b4496d066eb8b730a0634e601c4809 Author: Pierre Neidhardt Date: Wed Oct 24 10:59:50 2018 +0200 gnu: Add go-golang-org-x-crypto-blake2s. * gnu/packages/golang.scm (go-golang-org-x-crypto-blake2s): New variable. --- gnu/packages/golang.scm | 12 1 file changed, 12 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 66f2b72..3c63925 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1014,6 +1014,18 @@ signature algorithm."))) (description "This package provides a Go implementation of the RIPEMD-160 hash algorithm."))) +(define-public go-golang-org-x-crypto-blake2s + (package +(inherit go-golang-org-x-crypto-bcrypt) +(name "go-golang-org-x-crypto-blake2s") +(arguments + (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt) + ((#:import-path _) +"golang.org/x/crypto/blake2s"))) +(synopsis "BLAKE2s in Go") +(description "This package provides a Go implementation of the BLAKE2s +hash algorithm."))) + ;; Go searches for library modules by looking in the GOPATH environment ;; variable. This variable is a list of paths. However, Go does not ;; keep searching on GOPATH if it tries and fails to import a module.
07/34: gnu: go-golang-org-x-crypto-union: Wrap all crypto packages.
ambrevar pushed a commit to branch master in repository guix. commit 48a279ee14ac5a285185168f72041418550371fa Author: Pierre Neidhardt Date: Wed Oct 24 11:00:12 2018 +0200 gnu: go-golang-org-x-crypto-union: Wrap all crypto packages. * gnu/packages/golang.scm (go-golang-org-x-crypto-union): Include go-golang-org-x-crypto-ed25519, go-golang-org-x-crypto-ripemd160, go-golang-org-x-crypto-blake2s, go-golang-org-x-crypto-sha3 in union. --- gnu/packages/golang.scm | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index c114431..a9bb4e6 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1051,7 +1051,11 @@ functions defined by FIPS-202."))) go-golang-org-x-crypto-pbkdf2 go-golang-org-x-crypto-twofish go-golang-org-x-crypto-cast5 - go-golang-org-x-crypto-salsa20))) + go-golang-org-x-crypto-salsa20 + go-golang-org-x-crypto-ed25519 + go-golang-org-x-crypto-ripemd160 + go-golang-org-x-crypto-blake2s + go-golang-org-x-crypto-sha3))) (package (name "go-golang-org-x-crypto") (version (package-version go-golang-org-x-crypto-bcrypt))
01/01: gnu: sbcl-parse-float: Remove comment about license.
ambrevar pushed a commit to branch master in repository guix. commit d89872f95567c4f263f3cf97aa0474dfff1973bc Author: Pierre Neidhardt Date: Tue Oct 23 20:36:58 2018 +0200 gnu: sbcl-parse-float: Remove comment about license. * gnu/packages/lisp.scm (sbcl-parse-float): The license really is public domain. --- gnu/packages/lisp.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 89ccdb7..7964aa3 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -2663,7 +2663,6 @@ pattern-matching-like, but a char-by-char procedural parser.") "This package exports the following function to parse floating-point values from a string in Common Lisp.") (home-page "https://github.com/soemraws/parse-float;) - ;; TODO: Missing license? (license license:public-domain (define-public cl-parse-float
branch master updated (bf076d8 -> d89872f)
ambrevar pushed a change to branch master in repository guix. from bf076d8 gnu: Add libstatgrab. new d89872f gnu: sbcl-parse-float: Remove comment about license. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: gnu/packages/lisp.scm | 1 - 1 file changed, 1 deletion(-)
branch master updated (7625c21 -> 063a094)
ambrevar pushed a change to branch master in repository guix-artwork. from 7625c21 website: packaging-tutorial: Fix typos new 063a094 website: packaging-tutorial: Add license. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: website/posts/packaging-tutorial.md | 9 + 1 file changed, 9 insertions(+)
01/01: website: packaging-tutorial: Add license.
ambrevar pushed a commit to branch master in repository guix-artwork. commit 063a094b8984cb952d7dbf78f1b4424019107fc5 Author: Pierre Neidhardt Date: Mon Oct 22 12:58:43 2018 +0200 website: packaging-tutorial: Add license. * website/posts/packaging-tutorial.md: Add license. --- website/posts/packaging-tutorial.md | 9 + 1 file changed, 9 insertions(+) diff --git a/website/posts/packaging-tutorial.md b/website/posts/packaging-tutorial.md index 8684fa9..bf220d6 100644 --- a/website/posts/packaging-tutorial.md +++ b/website/posts/packaging-tutorial.md @@ -1106,6 +1106,15 @@ hopefully we will see your contributions soon! by Andreas Enge +# Notices + +[![CC-BY-SA](https://i.creativecommons.org/l/by-sa/4.0/88x31.png "CC-BY-SA +4.0")](http://creativecommons.org/licenses/by-sa/4.0/) + +This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 +International License. + + About GNU Guix [GNU Guix](https://www.gnu.org/software/guix) is a transactional package
branch master updated (3a69b59 -> 673364c)
ambrevar pushed a change to branch master in repository guix. from 3a69b59 gnu: rng-tools: Update to 6.6. new 673364c gnu: Add emacs-slime-repl-ansi-color. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: gnu/packages/emacs.scm | 20 1 file changed, 20 insertions(+)
01/01: gnu: Add emacs-slime-repl-ansi-color.
ambrevar pushed a commit to branch master in repository guix. commit 673364cd3a7848067dc3ecb69c7f8a4f3a28f6d5 Author: Pierre Neidhardt Date: Sun Oct 21 19:49:10 2018 +0200 gnu: Add emacs-slime-repl-ansi-color. * gnu/packages/emacs.scm (emacs-slime-repl-ansi-color): New variable. --- gnu/packages/emacs.scm | 20 1 file changed, 20 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 1069b9e..47e984e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -12386,3 +12386,23 @@ have special meaning. It is also handy for aligning text across long vertical distances. Multi-column characters, such as @kbd{TAB} are treated correctly.") (license license:gpl2+))) + +(define-public emacs-slime-repl-ansi-color + (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7")) +(package + (name "emacs-slime-repl-ansi-color") + (version (git-version "0.0.0" "1" commit)) + (source (origin +(method git-fetch) +(uri (git-reference + (url "https://github.com/deadtrickster/slime-repl-ansi-color;) + (commit commit))) +(file-name (git-file-name name version)) +(sha256 + (base32 + "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4" + (build-system emacs-build-system) + (home-page "https://github.com/deadtrickster/slime-repl-ansi-color;) + (synopsis "Color ANSI codes in the REPL of SLIME") + (description "Color ANSI codes in the REPL of SLIME") + (license license:gpl2+
branch master updated (74e8651 -> 7625c21)
ambrevar pushed a change to branch master in repository guix-artwork. from 74e8651 website: packaging-tutorial: Fix broken English in the conclusion. new 7625c21 website: packaging-tutorial: Fix typos The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: website/posts/packaging-tutorial.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
01/01: website: packaging-tutorial: Fix typos
ambrevar pushed a commit to branch master in repository guix-artwork. commit 7625c21f5b0dd524758d2fdbba74ddbbcd0a1d85 Author: Pierre Neidhardt Date: Sun Oct 21 11:51:32 2018 +0200 website: packaging-tutorial: Fix typos * website/posts/packaging-tutorial.md: Fix typos. --- website/posts/packaging-tutorial.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/posts/packaging-tutorial.md b/website/posts/packaging-tutorial.md index decc20c..8684fa9 100644 --- a/website/posts/packaging-tutorial.md +++ b/website/posts/packaging-tutorial.md @@ -158,7 +158,7 @@ following redirection to `https://mirror.ibcp.fr/pub/gnu/hello/hello-2.10.tar.gz 0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i ``` -In this specific case that the output tells us which mirror was chosen. +In this specific case the output tells us which mirror was chosen. If the result of the above command is not the same as in the above snippet, update your `my-hello` declaration accordingly. @@ -205,7 +205,7 @@ time to introduce the minimum we need from the language before we can proceed. # A Scheme crash-course -As we've seen above, basic packages don't require much Scheme knowledge, if none +As we've seen above, basic packages don't require much Scheme knowledge, if at all. But as you progress and your desire to write more and more complex packages grows, it will become both necessary and empowering to hone your Lisper skills.