Merge branch 'master' into core-updates
This commit is contained in:
commit
c52872bfc4
|
@ -28,6 +28,21 @@
|
|||
/configure
|
||||
/doc/*.1
|
||||
/doc/.dirstamp
|
||||
/doc/guix.*.aux
|
||||
/doc/guix.*.cp
|
||||
/doc/guix.*.cps
|
||||
/doc/guix.*.fn
|
||||
/doc/guix.*.fns
|
||||
/doc/guix.*.html
|
||||
/doc/guix.*.info
|
||||
/doc/guix.*.info-[0-9]
|
||||
/doc/guix.*.ky
|
||||
/doc/guix.*.pg
|
||||
/doc/guix.*.toc
|
||||
/doc/guix.*.t2p
|
||||
/doc/guix.*.tp
|
||||
/doc/guix.*.vr
|
||||
/doc/guix.*.vrs
|
||||
/doc/guix.aux
|
||||
/doc/guix.cp
|
||||
/doc/guix.cps
|
||||
|
@ -47,6 +62,7 @@
|
|||
/doc/os-config-desktop.texi
|
||||
/doc/stamp-vti
|
||||
/doc/version.texi
|
||||
/doc/version-*.texi
|
||||
/etc/guix-daemon.cil
|
||||
/etc/guix-daemon.conf
|
||||
/etc/guix-daemon.service
|
||||
|
@ -79,6 +95,7 @@
|
|||
/nix/scripts/list-runtime-roots
|
||||
/nix/scripts/offload
|
||||
/nix/scripts/substitute
|
||||
/po/doc/*.mo
|
||||
/po/guix/*.gmo
|
||||
/po/guix/*.insert-header
|
||||
/po/guix/*.mo
|
||||
|
|
10
Makefile.am
10
Makefile.am
|
@ -10,6 +10,7 @@
|
|||
# Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
# Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
# Copyright © 2018 Nils Gillmann <ng0@n0.is>
|
||||
# Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
|
@ -26,6 +27,8 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
MSGMERGE_UPDATE = @MSGMERGE@ --update
|
||||
|
||||
bin_SCRIPTS = scripts/guix
|
||||
|
||||
# Handle substitution of fully-expanded Autoconf variables.
|
||||
|
@ -51,6 +54,7 @@ MODULES_NOT_COMPILED = \
|
|||
guix/man-db.scm
|
||||
|
||||
include gnu/local.mk
|
||||
include po/doc/local.mk
|
||||
|
||||
MODULES = \
|
||||
guix/base16.scm \
|
||||
|
@ -454,7 +458,7 @@ dist_fishcompletion_DATA = etc/completion/fish/guix.fish
|
|||
# SELinux policy
|
||||
dist_selinux_policy_DATA = etc/guix-daemon.cil
|
||||
|
||||
EXTRA_DIST = \
|
||||
EXTRA_DIST += \
|
||||
HACKING \
|
||||
ROADMAP \
|
||||
TODO \
|
||||
|
@ -792,3 +796,7 @@ AM_V_DOT_0 = @echo " DOT " $@;
|
|||
AM_V_HELP2MAN = $(AM_V_HELP2MAN_$(V))
|
||||
AM_V_HELP2MAN_ = $(AM_V_HELP2MAN_$(AM_DEFAULT_VERBOSITY))
|
||||
AM_V_HELP2MAN_0 = @echo " HELP2MAN" $@;
|
||||
|
||||
AM_V_PO4A = $(AM_V_PO4A_$(V))
|
||||
AM_V_PO4A_ = $(AM_V_PO4A_$(AM_DEFAULT_VERBOSITY))
|
||||
AM_V_PO4A_0 = @echo " PO4A" $@;
|
||||
|
|
|
@ -263,6 +263,10 @@ AM_MISSING_PROG([DOT], [dot])
|
|||
dnl Manual pages.
|
||||
AM_MISSING_PROG([HELP2MAN], [help2man])
|
||||
|
||||
dnl Documentation translation.
|
||||
AM_MISSING_PROG([PO4A_TRANSLATE], [po4a-translate])
|
||||
AM_MISSING_PROG([PO4A_UPDATEPO], [po4a-updatepo])
|
||||
|
||||
dnl Emacs (optional), for 'etc/indent-package.el'.
|
||||
AC_PATH_PROG([EMACS], [emacs], [/usr/bin/emacs])
|
||||
AC_SUBST([EMACS])
|
||||
|
|
|
@ -0,0 +1,505 @@
|
|||
@node Contribuer
|
||||
@chapter Contribuer
|
||||
|
||||
Ce projet est un effort coopératif et nous avons besoin de votre aide pour
|
||||
le faire grandir ! Contactez-nous sur @email{guix-devel@@gnu.org} et
|
||||
@code{#guix} sur le réseau IRC Freenode. Nous accueillons les idées, les
|
||||
rapports de bogues, les correctifs et tout ce qui pourrait aider le
|
||||
projet. Nous apprécions particulièrement toute aide sur la création de
|
||||
paquets (@pxref{Consignes d'empaquetage}).
|
||||
|
||||
@cindex code de conduite, des contributeurs
|
||||
@cindex convention de contribution
|
||||
Nous souhaitons fournir un environnement chaleureux, amical et sans
|
||||
harcèlement pour que tout le monde puisse contribuer au mieux de ses
|
||||
capacités. Pour cela notre projet a une « Convention de contribution »
|
||||
adaptée de @url{http://contributor-covenant.org/}. Vous pouvez trouver une
|
||||
version locale dans le fichier @file{CODE-OF-CONDUCT} dans l'arborescence
|
||||
des sources.
|
||||
|
||||
Les contributeurs n'ont pas besoin d'utiliser leur nom légal dans leurs
|
||||
correctifs et leurs communications en ligne ; ils peuvent utiliser n'importe
|
||||
quel nom ou pseudonyme de leur choix.
|
||||
|
||||
@menu
|
||||
* Construire depuis Git:: The latest and greatest.
|
||||
* Lancer Guix avant qu'il ne soit installé:: Astuces pour les hackers.
|
||||
* La configuration parfaite:: Les bons outils.
|
||||
* Style de code:: Hygiène du contributeur.
|
||||
* Envoyer des correctifs:: Partager votre travail.
|
||||
@end menu
|
||||
|
||||
@node Construire depuis Git
|
||||
@section Construire depuis Git
|
||||
|
||||
Si vous souhaitez travailler sur Guix lui-même, il est recommandé d'utiliser
|
||||
la dernière version du dépôt Git :
|
||||
|
||||
@example
|
||||
git clone https://git.savannah.gnu.org/git/guix.git
|
||||
@end example
|
||||
|
||||
Lors de la construction de Guix depuis un extrait, les paquets suivants sont
|
||||
requis en plus de ceux mentionnés dans les instructions d'installation
|
||||
(@pxref{Prérequis}).
|
||||
|
||||
@itemize
|
||||
@item @url{http://gnu.org/software/autoconf/, GNU Autoconf};
|
||||
@item @url{http://gnu.org/software/automake/, GNU Automake};
|
||||
@item @url{http://gnu.org/software/gettext/, GNU Gettext};
|
||||
@item @url{http://gnu.org/software/texinfo/, GNU Texinfo};
|
||||
@item @url{http://www.graphviz.org/, Graphviz};
|
||||
@item @url{http://www.gnu.org/software/help2man/, GNU Help2man (facultatif)}.
|
||||
@end itemize
|
||||
|
||||
La manière la plus simple de configurer un environnement de développement
|
||||
pour Guix est, bien sûr, d'utiliser Guix ! La commande suivante démarre un
|
||||
nouveau shell où toutes les dépendances et les variables d'environnements
|
||||
appropriées sont configurés pour travailler sur Guix :
|
||||
|
||||
@example
|
||||
guix environment guix
|
||||
@end example
|
||||
|
||||
@xref{Invoquer guix environment}, pour plus d'information sur cette
|
||||
commande. On peut ajouter des dépendances supplémentaires avec
|
||||
@option{--ad-hoc} :
|
||||
|
||||
@example
|
||||
guix environment guix --ad-hoc help2man git strace
|
||||
@end example
|
||||
|
||||
Lancez @command{./bootstrap} pour générer l'infrastructure du système de
|
||||
construction avec Autoconf et Automake. Si vous avez une erreur comme :
|
||||
|
||||
@example
|
||||
configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
cela signifie probablement qu'Autoconf n'a pas pu trouver @file{pkg.m4} qui
|
||||
est fournit par pkg-config. Assurez-vous que @file{pkg.m4} est
|
||||
disponible. C'est aussi vrai pour l'ensemble de macros de @file{guile.m4}
|
||||
fournies par Guile. Par exemple, si vous avez installé Automake dans
|
||||
@file{/usr/local}, il ne cherchera pas les fichiers @file{.m4} dans
|
||||
@file{/usr/share}. Dans ce case vous devez invoquer la commande suivante :
|
||||
|
||||
@example
|
||||
export ACLOCAL_PATH=/usr/share/aclocal
|
||||
@end example
|
||||
|
||||
@xref{Macro Search Path,,, automake, The GNU Automake Manual}, pour plus
|
||||
d'information.
|
||||
|
||||
Ensuite, lancez @command{./configure} comme d'habitude. Assurez-vous de
|
||||
passer @code{--localstatedir=@var{directory}} où @var{directory} est la
|
||||
valeur @code{localstatedir} utilisée par votre installation actuelle
|
||||
(@pxref{Le dépôt} pour plus d'informations à ce propos).
|
||||
|
||||
Finalement, vous devez invoquer @code{make check} pour lancer les tests
|
||||
(@pxref{Lancer la suite de tests}). Si quelque chose échoue, jetez un œil
|
||||
aux instructions d'installation (@pxref{Installation}) ou envoyez un message
|
||||
à la list @email{guix-devel@@gnu.org}.
|
||||
|
||||
|
||||
@node Lancer Guix avant qu'il ne soit installé
|
||||
@section Lancer Guix avant qu'il ne soit installé
|
||||
|
||||
Pour garder un environnement de travail sain, il est utile de tester les
|
||||
changement localement sans les installer pour de vrai. Pour pouvoir
|
||||
distinguer votre rôle « d'utilisateur final » de celui parfois haut en
|
||||
couleur de « développeur ».
|
||||
|
||||
Pour cela, tous les outils en ligne de commande sont utilisables même sans
|
||||
avoir lancé @code{make install}. Vous devez pour cela préfixer chaque
|
||||
commande par @command{./pre-inst-env} (le script @file{pre-inst-env} se
|
||||
trouve dans le répertoire de plus haut niveau de l'arborescence des sources
|
||||
de Guix) comme cela@footnote{L'option @option{-E} de @command{sudo} garantie
|
||||
que @code{GUILE_LOAD_PATH} est bien paramétré pour @command{guix-daemon} et
|
||||
les outils qu'il utilise puissent trouver les modules Guile dont ils ont
|
||||
besoin.} :
|
||||
|
||||
@example
|
||||
$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild
|
||||
$ ./pre-inst-env guix build hello
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
De même, pour une session Guile qui utilise les modules Guix :
|
||||
|
||||
@example
|
||||
$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'
|
||||
|
||||
;;; ("x86_64-linux")
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
@cindex REPL
|
||||
@cindex read-eval-print loop
|
||||
@dots{} et pour un REPL (@pxref{Using Guile Interactively,,, guile, Guile
|
||||
Reference Manual})
|
||||
|
||||
@example
|
||||
$ ./pre-inst-env guile
|
||||
scheme@@(guile-user)> ,use(guix)
|
||||
scheme@@(guile-user)> ,use(gnu)
|
||||
scheme@@(guile-user)> (define snakes
|
||||
(fold-packages
|
||||
(lambda (package lst)
|
||||
(if (string-prefix? "python"
|
||||
(package-name package))
|
||||
(cons package lst)
|
||||
lst))
|
||||
'()))
|
||||
scheme@@(guile-user)> (length snakes)
|
||||
$1 = 361
|
||||
@end example
|
||||
|
||||
Le script @command{pre-inst-env} paramètre toutes les variables
|
||||
d'environnement nécessaires, dont @env{PATH} et @env{GUILE_LOAD_PATH}.
|
||||
|
||||
Remarquez que @command{./pre-inst-env guix pull} ne met @emph{pas} à jour
|
||||
l'arborescence des sources locale ; il met seulement à jour le lien
|
||||
symbolique @file{~/.config/guix/latest} (@pxref{Invoquer guix pull}). Lancez
|
||||
@command{git pull} à la place si vous voulez mettre à jour votre
|
||||
arborescence des sources locale@footnote{Si vous voulez paramétrer
|
||||
@command{guix} pour qu'il utilise votre dépôt Git, vous pouvez faire pointer
|
||||
le lien symbolique @file{~/.config/guix/latest} vers le répertoire contenant
|
||||
ce dépôt. Si vous le seul utilisateur du système, vous pouvez aussi
|
||||
considérer faire pointer le lien symbolique @file{/root/.config/guix/latest}
|
||||
vers @file{~/.config/guix/latest} ; comme ça root aura toujours la même
|
||||
commande @command{guix} que votre utilisateur}.
|
||||
|
||||
|
||||
@node La configuration parfaite
|
||||
@section La configuration parfaite
|
||||
|
||||
La configuration parfaite pour travailler sur Guix est simplement la
|
||||
configuration parfaite pour travailler en Guile (@pxref{Using Guile in
|
||||
Emacs,,, guile, Guile Reference Manual}). Tout d'abord, vous avez besoin de
|
||||
mieux qu'un éditeur de texte, vous avez besoin de
|
||||
@url{http://www.gnu.org/software/emacs, Emacs}, amélioré par le superbe
|
||||
@url{http://nongnu.org/geiser/, Geiser}.
|
||||
|
||||
Geiser permet le développement interactif et incrémental depuis Emacs : la
|
||||
compilation du code et son évaluation depuis les buffers, l'accès à la
|
||||
documentation en ligne (docstrings), la complétion sensible au contexte,
|
||||
@kbd{M-.} pour sauter à la définition d'un objet, un REPL pour tester votre
|
||||
code, et bien plus (@pxref{Introduction,,, geiser, Geiser User
|
||||
Manual}). Pour travailler confortablement sur Guix, assurez-vous de modifier
|
||||
le chemin de chargement de Guile pour qu'il trouve les fichiers source de
|
||||
votre dépôt :
|
||||
|
||||
@lisp
|
||||
;; @r{Si l'extrait est dans ~/src/guix.}
|
||||
(with-eval-after-load 'geiser-guile
|
||||
(add-to-list 'geiser-guile-load-path "~/src/guix"))
|
||||
@end lisp
|
||||
|
||||
To actually edit the code, Emacs already has a neat Scheme mode. But in
|
||||
addition to that, you must not miss
|
||||
@url{http://www.emacswiki.org/emacs/ParEdit, Paredit}. It provides
|
||||
facilities to directly operate on the syntax tree, such as raising an
|
||||
s-expression or wrapping it, swallowing or rejecting the following
|
||||
s-expression, etc.
|
||||
|
||||
@cindex extraits de code
|
||||
@cindex modèles
|
||||
@cindex réduire la quantité de code commun
|
||||
Nous fournissons aussi des modèles pour les messages de commit git communs
|
||||
et les définitions de paquets dans le répertoire @file{etc/snippets}. Ces
|
||||
modèles s'utilisent avec @url{http://joaotavora.github.io/yasnippet/,
|
||||
YASnippet} pour développer des chaînes courtes de déclenchement en extraits
|
||||
de texte interactifs. Vous pouvez ajouter le répertoire des modèles dans la
|
||||
variables @var{yas-snippet-dirs} d'Emacs.
|
||||
|
||||
@lisp
|
||||
;; @r{Si l'extrait est dans ~/src/guix.}
|
||||
(with-eval-after-load 'yasnippet
|
||||
(add-to-list 'yas-snippet-dirs "~/src/guix/etc/snippets"))
|
||||
@end lisp
|
||||
|
||||
Les extraits de messages de commit dépendent de @url{https://magit.vc/,
|
||||
Magit} pour afficher les fichiers sélectionnés. Lors de la modification d'un
|
||||
message de commit, tapez @code{add} suivi de @kbd{TAB} pour insérer un
|
||||
modèle de message de commit pour ajouter un paquet ; tapez @code{update}
|
||||
suivi de @kbd{TAB} pour insérer un modèle pour la mise à jour d'un paquet.
|
||||
|
||||
L'extrait principal pour @code{scheme-mode} est lancé en tapant
|
||||
@code{package…} suivi par @kbd{TAB}. Cet extrait insère aussi la chaîne de
|
||||
déclenchement @code{origin…}, qui peut aussi être étendue. L'extrait
|
||||
@code{origin} lui-même peut aussi insérer des chaînes de déclenchement qui
|
||||
finissent sur @code{…}, qui peuvent aussi être étendues.
|
||||
|
||||
|
||||
@node Style de code
|
||||
@section Style de code
|
||||
|
||||
En général notre code suit le Standard de Code GNU (@pxref{Top,,, standards,
|
||||
GNU Coding Standards}). Cependant, il ne parle pas beaucoup de Scheme, donc
|
||||
voici quelques règles supplémentaires.
|
||||
|
||||
@menu
|
||||
* Paradigme de programmation:: Comment composer vos éléments.
|
||||
* Modules:: Où stocker votre code ?
|
||||
* Types de données et reconnaissance de motif:: Implémenter des
|
||||
structures de données.
|
||||
* Formatage du code:: Conventions d'écriture.
|
||||
@end menu
|
||||
|
||||
@node Paradigme de programmation
|
||||
@subsection Paradigme de programmation
|
||||
|
||||
Le code Scheme dans Guix est écrit dans un style purement fonctionnel. Le
|
||||
code qui s'occupe des entrées-sorties est une exception ainsi que les
|
||||
procédures qui implémentent des concepts bas-niveau comme la procédure
|
||||
@code{memoize}.
|
||||
|
||||
@node Modules
|
||||
@subsection Modules
|
||||
|
||||
Les modules Guile qui sont sensés être utilisés du côté de la construction
|
||||
doivent se trouver dans l'espace de nom @code{(guix build @dots{})}. Ils ne
|
||||
doivent pas se référer à d'autres modules Guix ou GNU. Cependant il est
|
||||
correct pour un module « côté hôte » de dépendre d'un module coté
|
||||
construction.
|
||||
|
||||
Les modules qui s'occupent du système GNU général devraient se trouver dans
|
||||
l'espace de nom @code{(gnu @dots{})} plutôt que @code{(guix @dots{})}.
|
||||
|
||||
@node Types de données et reconnaissance de motif
|
||||
@subsection Types de données et reconnaissance de motif
|
||||
|
||||
La tendance en Lisp classique est d'utiliser des listes pour tout
|
||||
représenter et de naviguer dedans « à la main ( avec @code{car}, @code{cdr},
|
||||
@code{cadr} et compagnie. Il y a plusieurs problèmes avec ce style,
|
||||
notamment le fait qu'il soit dur à lire, source d'erreur et un obstacle aux
|
||||
rapports d'erreur bien typés.
|
||||
|
||||
Le code de Guix devrait définir des types de données appropriées (par
|
||||
exemple, avec @code{define-record-type*}) plutôt que d'abuser des listes. En
|
||||
plus, il devrait utiliser la recherche de motifs, via le module Guile
|
||||
@code{(ice-9 match)}, surtout pour rechercher dans des listes.
|
||||
|
||||
@node Formatage du code
|
||||
@subsection Formatage du code
|
||||
|
||||
@cindex formater le code
|
||||
@cindex style de code
|
||||
Lorsque nous écrivons du code Scheme, nous suivons la sagesse commune aux
|
||||
programmeurs Scheme. En général, nous suivons les
|
||||
@url{http://mumble.net/~campbell/scheme/style.txt, règles de style de
|
||||
Riastradh}. Ce document décrit aussi les conventions utilisées dans le code
|
||||
de Guile. Il est bien pensé et bien écrit, alors n'hésitez pas à le lire.
|
||||
|
||||
Certaines formes spéciales introduites dans Guix comme la macro
|
||||
@code{substitute*} ont des règles d'indentation spécifiques. Elles sont
|
||||
définies dans le fichier @file{.dir-locals.el} qu'Emacs utilise
|
||||
automatiquement. Remarquez aussi qu'Emacs-Guix fournit le mode
|
||||
@code{guix-devel-mode} qui indente et colore le code Guix correctement
|
||||
(@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual}).
|
||||
|
||||
@cindex indentation, du code
|
||||
@cindex formatage, du code
|
||||
Si vous n'utilisez pas Emacs, assurez-vous que votre éditeur connaisse ces
|
||||
règles. Pour indenter automatiquement une définition de paquet, vous pouvez
|
||||
aussi lancer :
|
||||
|
||||
@example
|
||||
./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
Cela indente automatiquement la définition de @var{package} dans
|
||||
@file{gnu/packages/@var{file}.scm} en lançant Emacs en mode commande. Pour
|
||||
indenter un fichier complet, n'indiquez pas de second argument :
|
||||
|
||||
@example
|
||||
./etc/indent-code.el gnu/services/@var{file}.scm
|
||||
@end example
|
||||
|
||||
Nous demandons que toutes les procédure de premier niveau contiennent une
|
||||
chaîne de documentation. Ce pré-requis peut être relâché pour les procédures
|
||||
privées simples dans l'espace de nom @code{(guix build @dots{})} cependant.
|
||||
|
||||
Les procédures ne devraient pas avoir plus de quatre paramètres
|
||||
positionnés. Utilisez des paramètres par mot-clefs pour les procédures qui
|
||||
prennent plus de quatre paramètres.
|
||||
|
||||
|
||||
@node Envoyer des correctifs
|
||||
@section Envoyer des correctifs
|
||||
|
||||
Le développement se fait avec le système de contrôle de version Git. Ainsi,
|
||||
l'accès au dépôt n'est pas strictement nécessaire. Nous accueillons les
|
||||
contributions sous forme de correctifs produits par @code{git format-patch}
|
||||
envoyés sur la liste de diffusion @email{guix-patches@@gnu.org}.
|
||||
|
||||
Cette liste de diffusion est gérée par une instance Debbugs accessible à
|
||||
l'adresse @uref{https://bugs.gnu.org/guix-patches}, qui nous permet de
|
||||
suivre les soumissions. Chaque message envoyé à cette liste se voit
|
||||
attribuer un numéro de suivi ; les gens peuvent ensuite répondre à cette
|
||||
soumission en envoyant un courriel à @code{@var{NNN}@@debbugs.gnu.org}, où
|
||||
@var{NNN} est le numéro de suivi (@pxref{Envoyer une série de correctifs}).
|
||||
|
||||
Veuillez écrire les messages de commit dans le format ChangeLog
|
||||
(@pxref{Change Logs,,, standards, GNU Coding Standards}) ; vous pouvez
|
||||
regarder l'historique des commits pour trouver des exemples.
|
||||
|
||||
Avant de soumettre un correctif qui ajoute ou modifie la définition d'un
|
||||
paquet, veuillez vérifier cette check-list :
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
Si les auteurs du paquet logiciel fournissent une signature cryptographique
|
||||
pour l'archive, faîtes un effort pour vérifier l'authenticité de
|
||||
l'archive. Pour un fichier de signature GPG détaché, cela se fait avec la
|
||||
commande @code{gpg --verify}.
|
||||
|
||||
@item
|
||||
Prenez un peu de temps pour fournir un synopsis et une description adéquats
|
||||
pour le paquet. Voir @xref{Synopsis et descriptions} pour quelques lignes
|
||||
directrices.
|
||||
|
||||
@item
|
||||
Lancez @code{guix lint @var{paquet}}, où @var{paquet} est le nom du nouveau
|
||||
paquet ou du paquet modifié, et corrigez les erreurs qu'il rapporte
|
||||
(@pxref{Invoquer guix lint}).
|
||||
|
||||
@item
|
||||
Assurez-vous que le paquet se construise sur votre plate-forme avec
|
||||
@code{guix build @var{paquet}}.
|
||||
|
||||
@item
|
||||
@cindex construction groupée
|
||||
Assurez-vous que le paquet n'utilise pas de copie groupée d'un logiciel déjà
|
||||
disponible dans un paquet séparé.
|
||||
|
||||
Parfois, les paquets incluent des copie du code source de leurs dépendances
|
||||
pour le confort de leurs utilisateurs. Cependant, en tant que distribution,
|
||||
nous voulons nous assurer que ces paquets utilisent bien les copient que
|
||||
nous avons déjà dans la distribution si elles existent. Cela améliore
|
||||
l'utilisation des ressources (la dépendance n'est construite et stockée
|
||||
qu'une seule fois) et permet à la distribution de faire des changements
|
||||
transversaux comme appliquer des correctifs de sécurité pour un paquet donné
|
||||
depuis un unique emplacement et qu'ils affectent tout le système, ce
|
||||
qu'empêchent les copies groupées.
|
||||
|
||||
@item
|
||||
Regardez le profile rapporté par @command{guix size} (@pxref{Invoquer guix size}). Cela vous permettra de remarquer des références à d'autres paquets
|
||||
qui ont été retenus. Il peut aussi aider à déterminer s'il faut découper le
|
||||
paquet (@pxref{Des paquets avec plusieurs résultats}) et quelle dépendance
|
||||
facultative utiliser.
|
||||
|
||||
@item
|
||||
Pour les changements important, vérifiez que les paquets qui en dépendent
|
||||
(s'ils existent) ne sont pas affectés par le changement ; @code{guix refresh
|
||||
--list-dependant @var{paquet}} vous aidera (@pxref{Invoquer guix refresh}).
|
||||
|
||||
@c ===========================================================================
|
||||
@c
|
||||
@c This file was generated with po4a. Translate the source file.
|
||||
@c
|
||||
@c ===========================================================================
|
||||
@c See <https://lists.gnu.org/archive/html/guix-devel/2016-10/msg00933.html>.
|
||||
@cindex stratégie de branche
|
||||
@cindex stratégie de planification des reconstructions
|
||||
Suivant le nombre de paquets dépendants et donc le nombre de reconstruction
|
||||
induites, les commits vont vers des branches différentes, suivant ces
|
||||
principes :
|
||||
|
||||
@table @asis
|
||||
@item 300 paquets dépendants ou moins
|
||||
branche @code{master} (changements non-disruptifs).
|
||||
|
||||
@item entre 300 et 1 200 paquets dépendants
|
||||
branche @code{staging} (changemets non-disruptifs). Cette branche devrait
|
||||
être fusionnées dans @code{master} tous les 3 semaines. Les changements par
|
||||
thèmes (par exemple une mise à jour de la pile GNOME) peuvent aller dans une
|
||||
branche spécifique (disons, @code{gnome-updates}).
|
||||
|
||||
@item plus de 1 200 paquets dépendants
|
||||
branche @code{core-updates} (peut inclure des changements majeurs et
|
||||
potentiellement disruptifs). Cette branche devrait être fusionnée dans
|
||||
@code{master} tous les 2,5 mois environ.
|
||||
@end table
|
||||
|
||||
Toutes ces branches sont gérées par notre ferme de construction et
|
||||
fusionnées dans @code{master} une fois que tout a été construit
|
||||
correctement. Cela nous permet de corriger des problèmes avant qu'ils
|
||||
n'atteignent les utilisateurs et réduit la fenêtre pendant laquelle les
|
||||
binaires pré-construits ne sont pas disponibles.
|
||||
|
||||
@item
|
||||
@cindex déterminisme, du processus de construction
|
||||
@cindex construction reproductibles, vérification
|
||||
Vérifiez si le processus de construction du paquet est déterministe. Cela
|
||||
signifie typiquement vérifier qu'une construction indépendante du paquet
|
||||
renvoie exactement le même résultat que vous avez obtenu, bit à bit.
|
||||
|
||||
Une manière simple de le faire est de reconstruire le paquet plusieurs fois
|
||||
à la suite sur votre machine (@pxref{Invoquer guix build}) :
|
||||
|
||||
@example
|
||||
guix build --rounds=2 mon-paquet
|
||||
@end example
|
||||
|
||||
Cela est suffisant pour trouver une classe de non-déterminisme commune,
|
||||
comme l'horodatage ou des sorties générées aléatoirement dans le résultat de
|
||||
la construction.
|
||||
|
||||
Une autre option consiste à utiliser @command{guix challenge}
|
||||
(@pxref{Invoquer guix challenge}). Vous pouvez lancer la commande une fois
|
||||
que les paquets ont été commités et construits par @code{hydra.gnu.org} pour
|
||||
vérifier s'il obtient le même résultat que vous. Mieux encore : trouvez une
|
||||
autre machine qui peut le construire et lancez @command{guix publish}. Puis
|
||||
la machine distante est sûrement différente de la vôtre, cela peut trouver
|
||||
des problèmes de non-déterminisme liés au matériel — par exemple utiliser
|
||||
une extension du jeu d'instruction — ou du noyau du système d'exploitation —
|
||||
par exemple se reposer sur @code{uname} ou les fichiers de @file{/proc}.
|
||||
|
||||
@item
|
||||
Lorsque vous écrivez de la documentation, utilisez une formulation au genre
|
||||
neutre lorsque vous vous référez à des personnes, comme le
|
||||
@uref{https://fr.wikipedia.org/wiki/They_singulier, ``they''@comma{}
|
||||
``their''@comma{} ``them'' singulier} (en anglais).
|
||||
|
||||
@item
|
||||
Vérifiez que votre correctif contienne seulement un ensemble de changements
|
||||
liés. Grouper des changements non liés ensemble rend la revue plus difficile
|
||||
et plus lente.
|
||||
|
||||
Ajouter plusieurs paquet ou une mise à jour d'un paquet avec des corrections
|
||||
dans ce paquet sont des exemples de changements sans rapport.
|
||||
|
||||
@item
|
||||
Suivez nos règles de formatage de code, éventuellement en lançant le script
|
||||
@command{et/indent-code.el} pour le faire automatiquement (@pxref{Formatage
|
||||
du code}).
|
||||
|
||||
@end enumerate
|
||||
|
||||
Lorsque vous envoyez un correctif à la liste de diffusion, utilisez
|
||||
@samp{[PATCH] @dots{}} comme sujet. Vous pouvez utiliser votre client de
|
||||
courriel ou la commande @command{git send-email} (@pxref{Envoyer une série
|
||||
de correctifs}). Nous préférons recevoir des correctifs en texte brut, soit
|
||||
en ligne, soit en pièce-jointe MIME. Nous vous conseillons de faire
|
||||
attention si votre client de courriel change par exemple les retours à la
|
||||
ligne ou l'indentation, ce qui peut casser les correctifs.
|
||||
|
||||
Lorsqu'un bogue est résolu, veuillez fermer le fil en envoyant un courriel à
|
||||
@email{@var{NNN}-done@@debbugs.gnu.org}.
|
||||
|
||||
@unnumberedsubsec Envoyer une série de correctifs
|
||||
@anchor{Envoyer une série de correctifs}
|
||||
@cindex série de correctifs
|
||||
@cindex @code{git send-email}
|
||||
@cindex @code{git-send-email}
|
||||
|
||||
@c Debbugs bug: https://debbugs.gnu.org/db/15/15361.html
|
||||
Lorsque vous envoyez une série de correctifs (p.e. avec @code{git
|
||||
send-email}), envoyez d'abord une premier message à
|
||||
@email{guix-patches@@gnu.org} puis envoyez le reste des correctifs à
|
||||
@email{@var{NNN}@@debbugs.gnu.org} pour vous assurer qu'ils seront groupés
|
||||
ensemble. Voyez @uref{https://debbugs.gnu.org/Advanced.html, la
|
||||
documentation de Debbugs} pour plus d'informations.
|
File diff suppressed because it is too large
Load Diff
53
doc/local.mk
53
doc/local.mk
|
@ -4,6 +4,7 @@
|
|||
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
# Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
|
||||
# Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
|
@ -20,7 +21,8 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
info_TEXINFOS = %D%/guix.texi
|
||||
info_TEXINFOS = %D%/guix.texi \
|
||||
%D%/guix.fr.texi
|
||||
|
||||
%C%_guix_TEXINFOS = \
|
||||
%D%/contributing.texi \
|
||||
|
@ -51,10 +53,53 @@ OS_CONFIG_EXAMPLES_TEXI = \
|
|||
%D%/os-config-desktop.texi \
|
||||
%D%/os-config-lightweight-desktop.texi
|
||||
|
||||
TRANSLATED_INFO = \
|
||||
%D%/guix.fr.texi \
|
||||
%D%/contributing.fr.texi
|
||||
|
||||
# Bundle this file so that makeinfo finds it in out-of-source-tree builds.
|
||||
BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI)
|
||||
EXTRA_DIST += $(OS_CONFIG_EXAMPLES_TEXI)
|
||||
MAINTAINERCLEANFILES = $(OS_CONFIG_EXAMPLES_TEXI)
|
||||
BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO)
|
||||
EXTRA_DIST += $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO)
|
||||
MAINTAINERCLEANFILES = $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO)
|
||||
|
||||
PO4A_PARAMS := -M UTF-8 -L UTF-8 #master and localized encoding
|
||||
PO4A_PARAMS += -k 0 # produce an output even if the translation is not complete
|
||||
PO4A_PARAMS += -f texinfo # texinfo format
|
||||
|
||||
# When a change to guix.texi occurs, it is not translated immediately.
|
||||
# Because @pxref and @xref commands are reference to a section by name, they
|
||||
# should be translated. If a modification adds a reference to a section, this
|
||||
# reference is not translated, which means it references a section that does not
|
||||
# exist.
|
||||
# This command loops through the translated files looking for references. For
|
||||
# each of these references, it tries to find the translation and replaces the
|
||||
# reference name, even in untranslated strings.
|
||||
# The last sed is a multiline sed because some references span multiple lines.
|
||||
define xref_command
|
||||
cat "$@.tmp" | egrep '@p?x?ref' -A1 | sed 'N;s|--\n||g;P;D' | sed 's|^| |g' | \
|
||||
tr -d '\012' | sed 's|\(@p\?x\?ref\)|\n\1|g' | egrep '@p?x?ref' | \
|
||||
sed 's|^.*@p\?x\?ref{\([^,}]*\).*$$|\1|g' | sort | uniq | while read e; do \
|
||||
line=$$(grep -n "^msgid \"$$e\"" "$<" | cut -f1 --delimiter=":") ;\
|
||||
((line++)) ;\
|
||||
if [ "$$line" != "1" ]; then \
|
||||
translation=$$(head -n $$line "$<" | tail -1 | grep msgstr | sed 's|msgstr "\(.*\)"|\1|') ;\
|
||||
if [ "$$translation" != "" ]; then \
|
||||
sed "N;s@\(p\?x\?ref\){$$(echo $$e | sed 's| |[\\n ]|g')\(,\|}\)@\1{$$translation\2@g;P;D" -i "$@.tmp" ;\
|
||||
fi ;\
|
||||
fi ;\
|
||||
done
|
||||
endef
|
||||
|
||||
$(srcdir)/%D%/guix.%.texi: po/doc/guix.%.po $(srcdir)/%D%/contributing.%.texi
|
||||
-$(AM_V_PO4A)$(PO4A_TRANSLATE) $(PO4A_PARAMS) -m "%D%/guix.texi" -p "$<" -l "$@.tmp"
|
||||
-sed -i "s|guix\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp"
|
||||
-$(xref_command)
|
||||
-mv "$@.tmp" "$@"
|
||||
|
||||
$(srcdir)/%D%/contributing.%.texi: po/doc/guix.%.po po/doc/contributing.%.po
|
||||
-$(AM_V_PO4A)$(PO4A_TRANSLATE) $(PO4A_PARAMS) -m "%D%/contributing.texi" -p "$(word 2,$^)" -l "$@.tmp"
|
||||
-$(xref_command)
|
||||
-mv "$@.tmp" "$@"
|
||||
|
||||
%D%/os-config-%.texi: gnu/system/examples/%.tmpl
|
||||
$(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \
|
||||
|
|
|
@ -608,7 +608,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/cool-retro-term-dont-check-uninit-member.patch \
|
||||
%D%/packages/patches/cool-retro-term-fix-array-size.patch \
|
||||
%D%/packages/patches/cool-retro-term-memory-leak-1.patch \
|
||||
%D%/packages/patches/cool-retro-term-remove-non-free-fonts.patch \
|
||||
%D%/packages/patches/cpio-CVE-2016-2037.patch \
|
||||
%D%/packages/patches/cpufrequtils-fix-aclocal.patch \
|
||||
%D%/packages/patches/cracklib-CVE-2016-6318.patch \
|
||||
|
@ -621,6 +620,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/cursynth-wave-rand.patch \
|
||||
%D%/packages/patches/cvs-2017-12836.patch \
|
||||
%D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \
|
||||
%D%/packages/patches/datamash-arm-tests.patch \
|
||||
%D%/packages/patches/dbus-helper-search-path.patch \
|
||||
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
|
||||
%D%/packages/patches/delly-use-system-libraries.patch \
|
||||
|
@ -669,6 +669,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/freeimage-CVE-2015-0852.patch \
|
||||
%D%/packages/patches/freeimage-CVE-2016-5684.patch \
|
||||
%D%/packages/patches/freeimage-fix-build-with-gcc-5.patch \
|
||||
%D%/packages/patches/freeimage-unbundle.patch \
|
||||
%D%/packages/patches/freetype-CVE-2018-6942.patch \
|
||||
%D%/packages/patches/fuse-overlapping-headers.patch \
|
||||
%D%/packages/patches/gawk-shell.patch \
|
||||
|
@ -783,7 +784,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/heimdal-CVE-2017-11103.patch \
|
||||
%D%/packages/patches/hmmer-remove-cpu-specificity.patch \
|
||||
%D%/packages/patches/higan-remove-march-native-flag.patch \
|
||||
%D%/packages/patches/htop-fix-process-tree.patch \
|
||||
%D%/packages/patches/hubbub-sort-entities.patch \
|
||||
%D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \
|
||||
%D%/packages/patches/hydra-disable-darcs-test.patch \
|
||||
|
@ -862,7 +862,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/libmad-armv7-thumb-pt2.patch \
|
||||
%D%/packages/patches/libmad-frame-length.patch \
|
||||
%D%/packages/patches/libmad-mips-newgcc.patch \
|
||||
%D%/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch \
|
||||
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
|
||||
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
|
||||
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \
|
||||
|
@ -933,6 +932,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/mupdf-CVE-2018-6544.patch \
|
||||
%D%/packages/patches/mupdf-CVE-2018-1000051.patch \
|
||||
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
|
||||
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
|
||||
%D%/packages/patches/mutt-store-references.patch \
|
||||
%D%/packages/patches/net-tools-bitrot.patch \
|
||||
%D%/packages/patches/netcdf-date-time.patch \
|
||||
|
@ -1057,6 +1057,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-unittest2-python3-compat.patch \
|
||||
%D%/packages/patches/python-unittest2-remove-argparse.patch \
|
||||
%D%/packages/patches/python-waitress-fix-tests.patch \
|
||||
%D%/packages/patches/qemu-CVE-2018-7550.patch \
|
||||
%D%/packages/patches/qemu-glibc-2.27.patch \
|
||||
%D%/packages/patches/qt4-ldflags.patch \
|
||||
%D%/packages/patches/qtbase-use-TZDIR.patch \
|
||||
|
@ -1089,6 +1090,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/sdl-libx11-1.6.patch \
|
||||
%D%/packages/patches/seq24-rename-mutex.patch \
|
||||
%D%/packages/patches/shadow-CVE-2018-7169.patch \
|
||||
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
|
||||
%D%/packages/patches/shishi-fix-libgcrypt-detection.patch \
|
||||
%D%/packages/patches/slim-session.patch \
|
||||
%D%/packages/patches/slim-config.patch \
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -90,7 +91,10 @@
|
|||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages kerberos)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages xml))
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages mpi))
|
||||
|
||||
(define-public aide
|
||||
(package
|
||||
|
@ -261,15 +265,14 @@ graphs and can export its output to different formats.")
|
|||
(define-public htop
|
||||
(package
|
||||
(name "htop")
|
||||
(version "2.1.0")
|
||||
(version "2.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://hisham.hm/htop/releases/"
|
||||
version "/htop-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0j07z0xm2gj1vzvbgh4323k4db9mr7drd7gw95mmpqi61ncvwq1j"))
|
||||
(patches (search-patches "htop-fix-process-tree.patch"))))
|
||||
"0mrwpb3cpn3ai7ar33m31yklj64c3pp576vh1naqff6f21pq5mnr"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)))
|
||||
|
@ -1654,6 +1657,35 @@ you use the most from the command line and allows you to \"jump\" to
|
|||
frequently used directories by typing only a small pattern.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public fasd
|
||||
(package
|
||||
(name "fasd")
|
||||
(version "1.0.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/clvv/fasd.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1awi71jdv3mhjrmar2d4z1i90kn7apd7aq1w31sh6w4yibz9kiyj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)) ;no configuration
|
||||
#:tests? #f ;no tests
|
||||
#:make-flags (list (string-append "PREFIX=" %output))))
|
||||
(home-page "https://github.com/clvv/fasd")
|
||||
(synopsis "Quick access to files and directories for shells")
|
||||
(description
|
||||
"Fasd (pronounced similar to \"fast\") is a command-line productivity
|
||||
booster. Fasd offers quick access to files and directories for POSIX shells.
|
||||
It is inspired by tools like autojump, z, and v. Fasd keeps track of files
|
||||
and directories you have accessed so that you can quickly reference them in
|
||||
the command line.")
|
||||
(license license:x11)))
|
||||
|
||||
(define-public iftop
|
||||
(package
|
||||
(name "iftop")
|
||||
|
@ -1909,13 +1941,13 @@ a new command using the matched rule, and runs it.")
|
|||
(define-public di
|
||||
(package
|
||||
(name "di")
|
||||
(version "4.44")
|
||||
(version "4.46")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0803lp8kd3mp1jcm17i019xiqxdy85hhs6xk67zib8gmvg500gcn"))))
|
||||
(base32 "0cskiqywiqkw44zdg4q78bjns6jjp1dz5lzdxrhpnpldc6075irw"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Obscure test failures.
|
||||
|
@ -1940,14 +1972,14 @@ produce uniform output across heterogeneous networks.")
|
|||
(define-public cbatticon
|
||||
(package
|
||||
(name "cbatticon")
|
||||
(version "1.6.7")
|
||||
(version "1.6.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/valr/"
|
||||
name "/archive/" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s2n49ydh7pznnf02fak4yy0wqkgi9ag7yiw1zg1lhp4m0h37hyh"))
|
||||
"185lzvaijvyq7y8r7dvizhri0rf9lpc1anfgbbn4lznr1fr3z7rn"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -2294,7 +2326,7 @@ tool for remote execution and deployment.")
|
|||
(define-public neofetch
|
||||
(package
|
||||
(name "neofetch")
|
||||
(version "3.3.0")
|
||||
(version "3.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/dylanaraps/neofetch/"
|
||||
|
@ -2302,7 +2334,7 @@ tool for remote execution and deployment.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15p69q0jchfms1fpb4i7kq8b28w2xpgh2zmynln618qxv1myf228"))))
|
||||
"18rhamy910ig03rr55y9x5i6pf78yj9xc6jpm6nfh3gqja7340rb"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
|
@ -2515,3 +2547,63 @@ printed instead of after the entire file has been read, which is often too
|
|||
late.")
|
||||
(home-page "https://jwilk.net/software/hungrycat")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public launchmon
|
||||
(package
|
||||
(name "launchmon")
|
||||
(version "1.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/LLNL/LaunchMON/releases/download/v"
|
||||
version "/" name "-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fm3nd9mydm9v2bf7bh01dbgrfnpwkapxa3dsvy3x1z0rz61qc0x"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("mpi" ,openmpi)
|
||||
("munge" ,munge)
|
||||
("boost" ,boost)
|
||||
("libelf" ,libelf)
|
||||
("libgcrypt" ,libgcrypt)
|
||||
("libgpg-error" ,libgpg-error)))
|
||||
(synopsis "Infrastructue for large scale tool daemon launching")
|
||||
(description
|
||||
"LaunchMON is a software infrastructure that enables HPC run-time
|
||||
tools to co-locate tool daemons with a parallel job. Its API allows a
|
||||
tool to identify all the remote processes of a job and to scalably
|
||||
launch daemons into the relevant nodes.")
|
||||
(home-page "https://github.com/LLNL/LaunchMON")
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public spindle
|
||||
(package
|
||||
(name "spindle")
|
||||
(version "0.10")
|
||||
(source (origin
|
||||
;; We use git checkout to avoid github auto-generated tarballs
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/hpc/Spindle.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15n3ay0qq81r5v7fif61q1vdjcq44pp2nynkh3fvbzc9fj3c39wd"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:configure-flags '("--enable-sec-launchmon"
|
||||
"--enable-sec-munge"
|
||||
"--enable-sec-none")))
|
||||
(inputs
|
||||
`(("mpi" ,openmpi)
|
||||
("munge" ,munge)
|
||||
("launchmon" ,launchmon)
|
||||
("libgcrypt" ,libgcrypt)))
|
||||
(synopsis "Scalable library loading in HPC environments")
|
||||
(description
|
||||
"Spindle is a tool for improving the performance of dynamic library and
|
||||
Python loading in HPC environments.")
|
||||
(home-page "https://github.com/hpc/Spindle")
|
||||
(license license:lgpl2.1)))
|
||||
|
|
|
@ -375,7 +375,7 @@ and will take advantage of multiple processor cores where possible.")
|
|||
(define-public libtorrent-rasterbar
|
||||
(package
|
||||
(name "libtorrent-rasterbar")
|
||||
(version "1.1.6")
|
||||
(version "1.1.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -385,7 +385,7 @@ and will take advantage of multiple processor cores where possible.")
|
|||
"/libtorrent-rasterbar-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vr1a7smkwh7dc7jb9n68i0cg59wxhgywxc9kxpbs8fi9c04vixp"))))
|
||||
"1agkcyjs7xscx4sgkg2ri4nm4v736xsg3br2v8jcrph86dlbycw1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
@ -444,9 +444,6 @@ also initializes the boards (RAM etc).")
|
|||
(define-public u-boot-beagle-bone-black
|
||||
(make-u-boot-package "am335x_boneblack" "arm-linux-gnueabihf"))
|
||||
|
||||
(define-public u-boot-odroid-c2
|
||||
(make-u-boot-package "odroid-c2" "aarch64-linux-gnu"))
|
||||
|
||||
(define-public u-boot-pine64-plus
|
||||
(let ((base (make-u-boot-package "pine64_plus" "aarch64-linux-gnu")))
|
||||
(package
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
|
||||
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -28,6 +29,8 @@
|
|||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python))
|
||||
|
@ -171,3 +174,43 @@ scripted definition of a software project and outputs @file{Makefile}s or
|
|||
other lower-level build files.")
|
||||
(home-page "https://premake.github.io")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public osc
|
||||
(package
|
||||
(name "osc")
|
||||
(version "0.162.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/openSUSE/" name
|
||||
"/archive/" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0b4kpm96ns4smqyfjysbk2p78d36x44xprpna8zz85q1y5xn57aj"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2 ; Module is python2 only.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'fix-filename-and-remove-unused
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
|
||||
;; Main osc tool is renamed in spec file, not setup.py, let's
|
||||
;; do that too.
|
||||
(rename-file
|
||||
(string-append bin "osc-wrapper.py")
|
||||
(string-append bin "osc"))
|
||||
;; Remove unused and broken script.
|
||||
(delete-file (string-append bin "osc_hotshot.py"))
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("python2-m2crypto" ,python2-m2crypto)
|
||||
("python2-pycurl" ,python2-pycurl)
|
||||
("python2-urlgrabber" ,python2-urlgrabber)))
|
||||
(home-page "https://github.com/openSUSE/osc")
|
||||
(synopsis "Open Build Service command line tool")
|
||||
(description "@command{osc} is a command line interface to the Open Build
|
||||
Service. It allows you to checkout, commit, perform reviews etc. The vast
|
||||
majority of the OBS functionality is available via commands and the rest can
|
||||
be reached via direct API calls.")
|
||||
(license license:gpl2+)))
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
|
||||
|
@ -472,7 +472,7 @@ from an audio CD.")
|
|||
(define-public abcde
|
||||
(package
|
||||
(name "abcde")
|
||||
(version "2.8.1")
|
||||
(version "2.9.1")
|
||||
(home-page "https://abcde.einval.com/")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -480,7 +480,7 @@ from an audio CD.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0f9bjs0phk23vry7gvh0cll9vl6kmc1y4fwwh762scfdvpbp3774"))
|
||||
"1msm5snyckynbspz54p9krarn7v9izsi7qyyi2z5y4cinw36xv3h"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -545,6 +545,7 @@ decompressors when faced with corrupted input.")
|
|||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/sharutils/sharutils-"
|
||||
version ".tar.xz"))
|
||||
(patches (search-patches "sharutils-CVE-2018-1000097.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"16isapn8f39lnffc3dp4dan05b7x6mnc76v6q5nn8ysxvvvwy19b"))))
|
||||
|
@ -2118,14 +2119,14 @@ non-Windows systems without running the actual installer using wine.")
|
|||
(define-public google-brotli
|
||||
(package
|
||||
(name "google-brotli")
|
||||
(version "1.0.2")
|
||||
(version "1.0.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/google/brotli/archive/v"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08kl9gww2058p1p7j9xqmcmrabcfihhj3fq984d7fi3bchb2mky2"))))
|
||||
"1hrpmz162k4x3xm6vmbpm443jlfr1kp536p8962y2dncy7gs6s12"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -164,14 +164,14 @@ such as copy/paste from an R session.")
|
|||
(define-public r-callr
|
||||
(package
|
||||
(name "r-callr")
|
||||
(version "2.0.2")
|
||||
(version "2.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "callr" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0m51p39vfwldxv6h8x4y9w3laf8q9bldhfqhlcrlx3xhy3irb1bp"))))
|
||||
"1k3mflgn10hcvy74y4pbigpv74zb66fz1phfd3c8isqmn88xbxzi"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-assertthat" ,r-assertthat)
|
||||
|
@ -287,14 +287,14 @@ component analysis (with robust methods, and parallelized functions).")
|
|||
(define-public r-ape
|
||||
(package
|
||||
(name "r-ape")
|
||||
(version "5.0")
|
||||
(version "5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ape" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q59pmxawz498cb9mv5m49lhiwxib8ak94yyydz7qg8b6lpd4bn3"))))
|
||||
"0vm2065993wf4hdqarxqykhfz9aaj0rrb98alhkq4qw1d2kdrmdp"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-lattice" ,r-lattice)
|
||||
|
@ -871,14 +871,14 @@ plot networks.")
|
|||
(define-public r-proxy
|
||||
(package
|
||||
(name "r-proxy")
|
||||
(version "0.4-21")
|
||||
(version "0.4-22")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "proxy" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vih8gsfzv97h5c8ixd1qjnn02i7fzla2p9fdj2wpisqhx0p0xv0"))))
|
||||
"0l0ff8irmmvic941is290hd5vszyhaj5nfwna4v3w9c1zk5nr1ma"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://cran.r-project.org/web/packages/proxy")
|
||||
(synopsis "Distance and similarity measures")
|
||||
|
@ -2799,14 +2799,14 @@ financial trading strategies.")
|
|||
(define-public r-tseries
|
||||
(package
|
||||
(name "r-tseries")
|
||||
(version "0.10-43")
|
||||
(version "0.10-44")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "tseries" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yjxhj7l1p2przczl6frggfcr5iwda9lbcsmh0y75gbbbps14yf2"))))
|
||||
"0nz6v76hsxcprpgf84al5r0p08sr9qacqal4adndz9wmg604l4ag"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-quadprog" ,r-quadprog)
|
||||
|
@ -3613,14 +3613,14 @@ evaluated by the @dfn{Akaike Information Criterion} (AIC).")
|
|||
(define-public r-arules
|
||||
(package
|
||||
(name "r-arules")
|
||||
(version "1.6-0")
|
||||
(version "1.6-1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "arules" version))
|
||||
(sha256
|
||||
(base32
|
||||
"14gbq5k2zkx4wc7kkfazz313ngij89qp1xmyxfg3nq3v1s84c3sl"))))
|
||||
"0glfqgxr87900kigmkby2ff7qrjvd6aq595q85y056i5ckjcp615"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-matrix" ,r-matrix)))
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -36,6 +37,7 @@
|
|||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages groff)
|
||||
#:use-module (gnu packages gsasl)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages libidn)
|
||||
#:use-module (gnu packages openldap)
|
||||
#:use-module (gnu packages perl)
|
||||
|
@ -181,3 +183,51 @@ mechanisms particularly within the HTTP(S) realm are to be expected. kurly does
|
|||
not offer a replacement for libcurl.")
|
||||
(home-page "https://github.com/davidjpeacock/kurly")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public guile-curl
|
||||
(package
|
||||
(name "guile-curl")
|
||||
(version "0.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.lonelycactus.com/tarball/guile-curl-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1846rxgc0ylh8768lr79irc7nwjichzb7qb7lzs2k42m0i53sc46"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list (string-append
|
||||
"--with-guilesitedir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/guile/site/2.2")
|
||||
(string-append
|
||||
"-with-guileextensiondir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib/guile/2.2/extensions"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'patch-extension-path
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(curl.scm (string-append
|
||||
out "/share/guile/site/2.2/curl.scm"))
|
||||
(curl.go (string-append
|
||||
out "/lib/guile/2.2/site-ccache/curl.go"))
|
||||
(ext (string-append out "/lib/guile/2.2/"
|
||||
"extensions/libguile-curl")))
|
||||
(substitute* curl.scm (("libguile-curl") ext))
|
||||
;; The build system does not actually compile the Scheme module.
|
||||
;; So we can compile it and put it in the right place in one go.
|
||||
(invoke "guild" "compile" curl.scm "-o" curl.go)))))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
("guile" ,guile-2.2)))
|
||||
(home-page "http://www.lonelycactus.com/guile-curl.html")
|
||||
(synopsis "Curl bindings for Guile")
|
||||
(description "@code{guile-curl} is a project that has procedures that allow
|
||||
Guile to do client-side URL transfers, like requesting documents from HTTP or
|
||||
FTP servers. It is based on the curl library.")
|
||||
(license license:gpl3+)))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -22,6 +22,7 @@
|
|||
#:use-module (guix licenses)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages base))
|
||||
|
||||
|
@ -36,7 +37,8 @@
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19jpcv4ryvbz0476d6dgpxpbjkpmih4q84wj06nslls338bm5fzf"))))
|
||||
"19jpcv4ryvbz0476d6dgpxpbjkpmih4q84wj06nslls338bm5fzf"))
|
||||
(patches (search-patches "datamash-arm-tests.patch"))))
|
||||
(native-inputs
|
||||
`(("which" ,which) ;for tests
|
||||
("perl" ,perl))) ;for help2man
|
||||
|
|
|
@ -492,14 +492,14 @@ Extensions} (DNSSEC).")
|
|||
(define-public knot
|
||||
(package
|
||||
(name "knot")
|
||||
(version "2.6.5")
|
||||
(version "2.6.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://secure.nic.cz/files/knot-dns/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ilxwhy7a7jdzynq586pwlgcvqd1j6ycqy9qrwvypfp20rkngk9k"))
|
||||
"02h8qdkja4kic3br79svws6r2pq1ijz945238v99d998d2jxh6ci"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -50,7 +51,7 @@
|
|||
(base32
|
||||
"17ajlwgvyyrap8z7f16zcs59pksvncwbmd3mzf98wj7zqgczjaja"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://sigrok.org/wiki/Libserialport")
|
||||
(home-page "https://sigrok.org/wiki/Libserialport")
|
||||
(synopsis "Library for using serial ports")
|
||||
(description "Libserialport is a minimal shared library written in C that is intended
|
||||
to take care of the OS-specific details when writing software that uses serial ports.")
|
||||
|
@ -59,7 +60,7 @@ to take care of the OS-specific details when writing software that uses serial p
|
|||
(define-public libsigrokdecode
|
||||
(package
|
||||
(name "libsigrokdecode")
|
||||
(version "0.5.0")
|
||||
(version "0.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -67,14 +68,15 @@ to take care of the OS-specific details when writing software that uses serial p
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hfigfj1976qk11kfsgj75l20qvyq8c9p2h4mjw23d59rsg5ga2a"))))
|
||||
"07mmb6s62ncqqgsc6szilj2yxixf6gg99ggbzsjlbhp4b9aqnga9"))))
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'build 'build-doc
|
||||
(lambda _
|
||||
(zero? (system* "doxygen"))))
|
||||
(invoke "doxygen")
|
||||
#t))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(copy-recursively "doxy/html-api"
|
||||
|
@ -91,7 +93,7 @@ to take care of the OS-specific details when writing software that uses serial p
|
|||
`(("glib" ,glib)
|
||||
("python" ,python)))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.sigrok.org/wiki/Libsigrokdecode")
|
||||
(home-page "https://www.sigrok.org/wiki/Libsigrokdecode")
|
||||
(synopsis "Library providing (streaming) protocol decoding functionality")
|
||||
(description "Libsigrokdecode is a shared library written in C, which provides
|
||||
(streaming) protocol decoding functionality.")
|
||||
|
@ -112,7 +114,7 @@ to take care of the OS-specific details when writing software that uses serial p
|
|||
(native-inputs
|
||||
`(("sdcc" ,sdcc)))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.sigrok.org/wiki/Fx2lafw")
|
||||
(home-page "https://www.sigrok.org/wiki/Fx2lafw")
|
||||
(synopsis "Firmware for Cypress FX2 chips")
|
||||
(description "Fx2lafw is free firmware for Cypress FX2 chips which makes them usable
|
||||
as simple logic analyzer and/or oscilloscope hardware.")
|
||||
|
@ -190,7 +192,7 @@ as simple logic analyzer and/or oscilloscope hardware.")
|
|||
("libftdi" ,libftdi)
|
||||
("libzip" ,libzip)))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.sigrok.org/wiki/Libsigrok")
|
||||
(home-page "https://www.sigrok.org/wiki/Libsigrok")
|
||||
(synopsis "Library which provides the basic hardware access drivers for logic
|
||||
analyzers")
|
||||
(description "@code{libsigrok} is a shared library written in C which provides the basic hardware
|
||||
|
@ -217,7 +219,7 @@ format support.")
|
|||
("libsigrok" ,libsigrok)
|
||||
("libsigrokdecode" ,libsigrokdecode)))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://sigrok.org/wiki/Sigrok-cli")
|
||||
(home-page "https://sigrok.org/wiki/Sigrok-cli")
|
||||
(synopsis "Command-line frontend for sigrok")
|
||||
(description "Sigrok-cli is a command-line frontend for sigrok.")
|
||||
(license license:gpl3+)))
|
||||
|
@ -247,7 +249,7 @@ format support.")
|
|||
("qtbase" ,qtbase)
|
||||
("qtsvg" ,qtsvg)))
|
||||
(build-system cmake-build-system)
|
||||
(home-page "http://www.sigrok.org/wiki/PulseView")
|
||||
(home-page "https://www.sigrok.org/wiki/PulseView")
|
||||
(synopsis "Qt based logic analyzer, oscilloscope and MSO GUI for sigrok")
|
||||
(description "PulseView is a Qt based logic analyzer, oscilloscope and MSO GUI
|
||||
for sigrok.")
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -398,7 +398,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
|
|||
(define-public mgba
|
||||
(package
|
||||
(name "mgba")
|
||||
(version "0.6.2")
|
||||
(version "0.6.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/mgba-emu/mgba/archive/"
|
||||
|
@ -406,7 +406,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0x7a9i1jdic3haf5fkd7x16vwqpf4jqdiw56a5fc4gx4jhn9yhi2"))
|
||||
"16hgs6r5iym3lp2cjcnv9955333976yc5sgy2kkxlsi005n91j1m"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Make sure we don't use the bundled software.
|
||||
|
@ -884,7 +884,8 @@ Rice Video plugin.")
|
|||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b"))))
|
||||
(base32 "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b"))
|
||||
(patches (search-patches "mupen64plus-video-z64-glew-correct-path.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
|
@ -994,7 +995,7 @@ towards a working Mupen64Plus for casual users.")
|
|||
(define-public nestopia-ue
|
||||
(package
|
||||
(name "nestopia-ue")
|
||||
(version "1.47")
|
||||
(version "1.48")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1003,43 +1004,35 @@ towards a working Mupen64Plus for casual users.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dzrrjmvyqks64q5l5pfly80jb6qcsbj5b3dm40fijd5xnpbapci"))
|
||||
"184y05z4k4a4m4022niy625kan0rklh8gcxyynxli1fss2sjjrpv"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; We don't need libretro for the GNU/Linux build.
|
||||
(delete-file-recursively "libretro")
|
||||
;; Use system zlib.
|
||||
(delete-file-recursively "source/zlib")
|
||||
(substitute* "source/core/NstZlib.cpp"
|
||||
(("#include \"../zlib/zlib.h\"") "#include <zlib.h>"))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("ao" ,ao)
|
||||
("glu" ,glu)
|
||||
("gtk+" ,gtk+)
|
||||
("libarchive" ,libarchive)
|
||||
("mesa" ,mesa)
|
||||
("libepoxy" ,libepoxy)
|
||||
("sdl2" ,sdl2)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The Nestopia build system consists solely of a Makefile.
|
||||
(delete 'configure)
|
||||
(add-before 'build 'remove-xdg-desktop-menu-call
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("xdg-desktop-menu install .*") ""))))
|
||||
(add-before 'build 'remove-gdkwayland-include
|
||||
(lambda _
|
||||
(substitute* "source/unix/gtkui/gtkui.h"
|
||||
(("#include <gdk/gdkwayland\\.h>") "")))))
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list "CC=gcc" "CXX=g++" (string-append "PREFIX=" out)))
|
||||
;; This fixes the file chooser crash that happens with GTK 3.
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(nestopia (string-append out "/bin/nestopia"))
|
||||
(gtk (assoc-ref inputs "gtk+"))
|
||||
(gtk-share (string-append gtk "/share")))
|
||||
(wrap-program nestopia
|
||||
`("XDG_DATA_DIRS" ":" prefix (,gtk-share)))))))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://0ldsk00l.ca/nestopia/")
|
||||
|
|
|
@ -582,24 +582,19 @@ as well as pick-place files.")
|
|||
(sha256
|
||||
(base32
|
||||
"1r40kyx30wz31cwwlfvfh7fgqkxq3n8dxhswpi9qpf4r5h3l8wsn"))
|
||||
(file-name (git-file-name name version))))
|
||||
(file-name (git-file-name name version))
|
||||
(snippet
|
||||
;; Remove bundled catch since we provide our own.
|
||||
'(delete-file "libfive/test/catch.hpp"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no "test" target
|
||||
`(#:test-target "libfive-test"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-native-compilation
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt" (("-march=native") ""))
|
||||
#t))
|
||||
(add-before 'build 'add-eigen-to-search-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Allow things to find our own Eigen and Catch.
|
||||
(let ((eigen (assoc-ref inputs "eigen")))
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-append eigen "/include/eigen3:"
|
||||
(getenv "CPLUS_INCLUDE_PATH")))
|
||||
#t))))))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
|
|
|
@ -445,3 +445,35 @@ ME as far as possible (it only edits ME firmware image files).")
|
|||
|
||||
;; This is an Intel thing.
|
||||
(supported-systems '("x86_64-linux" "i686-linux"))))
|
||||
|
||||
(define-public uefitool
|
||||
(package
|
||||
(name "uefitool")
|
||||
(version "0.22.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/LongSoft/UEFITool/archive/"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05jmhv7jpq08kqbd1477y1lgyjvcic3njrd0bmzdy7v7b7lnhl82"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(invoke "qmake" "-makefile")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(install-file "UEFITool" (string-append (assoc-ref outputs "out")
|
||||
"/bin"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)))
|
||||
(home-page "https://github.com/LongSoft/UEFITool/")
|
||||
(synopsis "UEFI image editor")
|
||||
(description "@code{uefitool} is a graphical image file editor for
|
||||
Unifinished Extensible Firmware Interface (UEFI) images.")
|
||||
(license license:bsd-2)))
|
||||
|
|
|
@ -298,7 +298,7 @@ files) into @file{.grf} and/or @file{.nfo} files.")
|
|||
(synopsis "2D game engine for Python")
|
||||
(description
|
||||
"The SGE Game Engine (\"SGE\", pronounced like \"Sage\") is a
|
||||
general-purpose 2D game engine. It takes care of several details fro you so
|
||||
general-purpose 2D game engine. It takes care of several details for you so
|
||||
you can focus on the game itself. This makes more rapid game development
|
||||
possible, and it also makes the SGE easy to learn.")
|
||||
(license license:lgpl3+)))
|
||||
|
|
|
@ -112,6 +112,7 @@
|
|||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages perl-check)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
|
@ -4623,15 +4624,16 @@ elements to achieve a simple goal in the most complex way possible.")
|
|||
(define-public pioneer
|
||||
(package
|
||||
(name "pioneer")
|
||||
(version "20171001")
|
||||
(version "20180203")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/pioneerspacesim/pioneer/"
|
||||
"archive/" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pioneerspacesim/pioneer.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1nxhx22swfqq6lfvcnpfm31wig3sjv5pp0rslj79nbxc7nyihh8m"))))
|
||||
"0hp2mf36kj2v93hka8m8lxw2qhmnjc62wjlpw7c7ix0r8xa01i6h"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
|
@ -4866,3 +4868,56 @@ Strife, Chex Quest, and fan-created games like Harmony, Hacx and Freedoom.")
|
|||
(license:non-copyleft ; modified dumb
|
||||
"file://dumb/licence.txt"
|
||||
"Dumb license, explicitly GPL compatible.")))))
|
||||
|
||||
(define-public fortune-mod
|
||||
(package
|
||||
(name "fortune-mod")
|
||||
(version "2.4.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/shlomif/fortune-mod/"
|
||||
"archive/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hnqpkassh7fwg2jgvybr8mw7vzfikbrhb5r22367ilfwxnl9yd2"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:test-target "check"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-build-env
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(use-modules (guix build utils))
|
||||
(let* ((cmake-rules (assoc-ref inputs "cmake-rules")))
|
||||
(copy-file cmake-rules
|
||||
(string-append "fortune-mod/cmake/"
|
||||
(strip-store-file-name cmake-rules)))
|
||||
(chdir "fortune-mod"))))
|
||||
(add-after 'install 'fix-install-directory
|
||||
;; Move binary from "games/" to "bin/".
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(rename-file (string-append out "/games/fortune")
|
||||
(string-append out "/bin/fortune"))
|
||||
#t))))))
|
||||
(inputs `(("recode" ,recode)))
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
;; The following is only needed for tests.
|
||||
("perl-file-find-object" ,perl-file-find-object)
|
||||
("perl-test-differences" ,perl-test-differences)
|
||||
("perl-class-xsaccessor" ,perl-class-xsaccessor)
|
||||
("perl-io-all" ,perl-io-all)
|
||||
("perl-test-runvalgrind" ,perl-test-runvalgrind)
|
||||
("cmake-rules"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://bitbucket.org/shlomif/shlomif-cmake-modules/"
|
||||
"raw/default/shlomif-cmake-modules/Shlomif_Common.cmake"))
|
||||
(sha256
|
||||
(base32 "0kx9s1qqhhzprp1w3b67xmsns0n0v506bg5hgrshxaxpy6lqiwb2"))))))
|
||||
(home-page "http://www.shlomifish.org/open-source/projects/fortune-mod/")
|
||||
(synopsis "The Fortune Cookie program from BSD games")
|
||||
(description "Fortune is a command-line utility which displays a random
|
||||
quotation from a collection of quotes.")
|
||||
(license license:bsd-4)))
|
||||
|
|
|
@ -2455,7 +2455,7 @@ libxml to ease remote use of the RESTful API.")
|
|||
(define-public libsoup
|
||||
(package
|
||||
(name "libsoup")
|
||||
(version "2.62.0")
|
||||
(version "2.62.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/libsoup/"
|
||||
|
@ -2463,7 +2463,7 @@ libxml to ease remote use of the RESTful API.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1b5aff1igbsx1h4v3wmkffvzgiy8rscibqka7fmjf2lxs7l7lz5b"))))
|
||||
"1mw3b3j4f4ln7hl03jd296rx78dy35hzlq005a21r6qg5sndsdzh"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
|
@ -2844,7 +2844,7 @@ output devices.")
|
|||
(define-public geoclue
|
||||
(package
|
||||
(name "geoclue")
|
||||
(version "2.4.7")
|
||||
(version "2.4.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -2853,7 +2853,7 @@ output devices.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19hfmr8fa1js8ynazdyjxlyrqpjn6m1719ay70ilga4rayxrcyyi"))
|
||||
"08yg1r7m0n9hwyvcy769qkmkf8lslqwv69cjfffwnc3zm5km25qj"))
|
||||
(patches (search-patches "geoclue-config.patch"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
|
@ -4167,7 +4167,7 @@ a secret password store, an adblocker, and a modern UI.")
|
|||
(define-public epiphany
|
||||
(package
|
||||
(name "epiphany")
|
||||
(version "3.24.4")
|
||||
(version "3.28.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -4175,8 +4175,9 @@ a secret password store, an adblocker, and a modern UI.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jg59s98aljf603w24r5a3cr4fw6z88gc0warqy1946iprjgdw0m"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
"0zvxrwlswxadq4zbr4f73ms141d08j0lhi6rzmj83j1s3gan88md"))))
|
||||
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
;; FIXME: tests run under Xvfb, but fail with:
|
||||
;; /src/bookmarks/ephy-bookmarks/create:
|
||||
|
@ -4184,18 +4185,21 @@ a secret password store, an adblocker, and a modern UI.")
|
|||
;; subsystem
|
||||
;; FAIL
|
||||
'(#:tests? #f
|
||||
#:configure-flags '("CFLAGS=-std=gnu99")))
|
||||
#:glib-or-gtk? #t))
|
||||
(propagated-inputs
|
||||
`(("dconf" ,dconf)))
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)
|
||||
`(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
|
||||
("glib:bin" ,glib "bin") ; for glib-mkenums
|
||||
("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
|
||||
("intltool" ,intltool)
|
||||
("itstool" ,itstool)
|
||||
("pkg-config" ,pkg-config)
|
||||
("xmllint" ,libxml2)))
|
||||
(inputs
|
||||
`(("avahi" ,avahi)
|
||||
("gcr" ,gcr)
|
||||
("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
|
||||
("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
|
||||
("glib-networking" ,glib-networking)
|
||||
("gnome-desktop" ,gnome-desktop)
|
||||
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
|
||||
|
@ -4204,6 +4208,7 @@ a secret password store, an adblocker, and a modern UI.")
|
|||
("libnotify" ,libnotify)
|
||||
("libsecret" ,libsecret)
|
||||
("libxslt" ,libxslt)
|
||||
("nettle" ,nettle) ; for hogweed
|
||||
("sqlite" ,sqlite)
|
||||
("webkitgtk" ,webkitgtk)))
|
||||
(home-page "https://wiki.gnome.org/Apps/Web")
|
||||
|
@ -6654,22 +6659,31 @@ is suitable as a default application in a Desktop environment.")
|
|||
(define-public xpad
|
||||
(package
|
||||
(name "xpad")
|
||||
(version "4.8.0")
|
||||
(version "5.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://launchpad.net/xpad/trunk/4.8.0/+download/"
|
||||
(uri (string-append "https://launchpad.net/xpad/trunk/"
|
||||
version "/+download/"
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"17f915yyvfa2fsavq6wh0q0dfhib28b4k1gc0292b9xdlrvy7f22"))))
|
||||
"02yikxg6z9bwla09ka001ppjlpbv5kbza3za9asazm5aiz376mkb"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'run-autogen
|
||||
(lambda _
|
||||
(system* "sh" "autogen.sh"))))))
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("gtk+:bin" ,gtk+ "bin")
|
||||
("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("gtk+" ,gtk+)
|
||||
("gtksourceview" ,gtksourceview)
|
||||
`(("gtksourceview" ,gtksourceview)
|
||||
("libsm" ,libsm)))
|
||||
(home-page "https://wiki.gnome.org/Apps/Xpad")
|
||||
(synopsis "Virtual sticky note")
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
|
||||
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -691,3 +692,609 @@ HashiCorp Configuration Language}. HCL is designed to be a language for
|
|||
expressing configuration which is easy for both humans and machines to read.")
|
||||
(home-page "https://github.com/hashicorp/hcl")
|
||||
(license license:mpl2.0))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-bcrypt
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-bcrypt")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/bcrypt"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "Bcrypt in Go")
|
||||
(description "This package provides a Go implementation of the bcrypt
|
||||
password hashing function.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-blowfish
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-blowfish")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/blowfish"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "Blowfish in Go")
|
||||
(description "This package provides a Go implementation of the Blowfish
|
||||
symmetric-key block cipher.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-pbkdf2
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-pbkdf2")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/pbkdf2"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "PBKDF2 in Go")
|
||||
(description "This package provides a Go implementation of the PBKDF2 key
|
||||
derivation function.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-tea
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-tea")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/tea"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "Tiny Encryption Algorithm (TEA) in Go")
|
||||
(description "This packages a Go implementation of the Tiny Encryption
|
||||
Algorithm (TEA) block cipher.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-salsa20
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-salsa20")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/salsa20"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "Salsa20 in Go")
|
||||
(description "This packages provides a Go implementation of the Salsa20
|
||||
stream cipher.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-cast5
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-cast5")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/cast5"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "Cast5 in Go")
|
||||
(description "This packages provides a Go implementation of the Cast5
|
||||
symmetric-key block cipher.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-twofish
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-twofish")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/twofish"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "Twofish in Go")
|
||||
(description "This packages provides a Go implementation of the Twofish
|
||||
symmetric-key block cipher.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-xtea
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-xtea")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/xtea"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "eXtended Tiny Encryption Algorithm (XTEA) in Go")
|
||||
(description "This package provides a Go implementation of the eXtended
|
||||
Tiny Encryption Algorithm (XTEA) block cipher.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-net-ipv4
|
||||
(let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-net-ipv4")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/net")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/net/ipv4"
|
||||
#:unpack-path "golang.org/x/net"))
|
||||
(synopsis "Go IPv4 support")
|
||||
(description "This package provides @code{ipv4}, which implements IP-level
|
||||
socket options for the Internet Protocol version 4.")
|
||||
(home-page "https://go.googlesource.com/net")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-net-bpf
|
||||
(let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-net-bpf")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/net")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-net-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/net/bpf"
|
||||
#:unpack-path "golang.org/x/net"))
|
||||
(synopsis "Berkeley Packet Filters (BPF) in Go")
|
||||
(description "This packages provides a Go implementation of the Berkeley
|
||||
Packet Filter (BPF) virtual machine.")
|
||||
(home-page "https://go.googlesource.com/net/")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-net-context
|
||||
(let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-net-context")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/net")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-net-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/net/context"
|
||||
#:unpack-path "golang.org/x/net"))
|
||||
(synopsis "Golang Context type")
|
||||
(description "This packages provides @code{context}, which defines the
|
||||
Context type, which carries deadlines, cancelation signals, and other
|
||||
request-scoped values across API boundaries and between processes.")
|
||||
(home-page "https://go.googlesource.com/net/")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-net-internal-iana
|
||||
(let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-net-internal-iana")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/net")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-net-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/net/internal/iana"
|
||||
#:unpack-path "golang.org/x/net"))
|
||||
(synopsis "Go support for assigned numbers (IANA)")
|
||||
(description "This packages provides @code{iana}, which provides protocol
|
||||
number resources managed by the Internet Assigned Numbers Authority (IANA).")
|
||||
(home-page "https://go.googlesource.com/net/")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-net-ipv6
|
||||
(let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-net-ipv6")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/net")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-net-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/net/ipv6"
|
||||
#:unpack-path "golang.org/x/net"))
|
||||
(synopsis "Go IPv6 support")
|
||||
(description "This packages provides @code{ipv6}, which implements
|
||||
IP-level socket options for the Internet Protocol version 6.")
|
||||
(home-page "https://go.googlesource.com/net")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-net-proxy
|
||||
(let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-net-proxy")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/net")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-net-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/net/proxy"
|
||||
#:unpack-path "golang.org/x/net/"))
|
||||
(synopsis "Go support for network proxies")
|
||||
(description "This packages provides @code{proxy}, which provides support
|
||||
for a variety of protocols to proxy network data.")
|
||||
(home-page "https://go.googlesource.com/net")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-sys-unix
|
||||
(let ((commit "83801418e1b59fb1880e363299581ee543af32ca")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-sys-unix")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/sys")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ilykaanvnzb27d42kmbr4i37hcn7hgqbx98z945gy63aa8dskji"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/sys/unix"
|
||||
#:unpack-path "golang.org/x/sys"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-tests
|
||||
(lambda _
|
||||
(pk (getcwd))
|
||||
(substitute* "src/golang.org/x/sys/unix/syscall_unix_test.go"
|
||||
(("/usr/bin") "/tmp"))
|
||||
#t)))))
|
||||
(synopsis "Go support for low-level system interaction")
|
||||
(description "This package provides @code{unix}, which offers Go support
|
||||
for low-level interaction with the operating system.")
|
||||
(home-page "https://go.googlesource.com/sys")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-text-transform
|
||||
(let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-text-transform")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/text")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-text-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/text/transform"
|
||||
#:unpack-path "golang.org/x/text"))
|
||||
(synopsis "Go text transformation")
|
||||
(description "This package provides @code{transform}, which provides
|
||||
reader and writer wrappers that transform the bytes passing through. Example
|
||||
transformations provided by other packages include normalization and conversion
|
||||
between character sets.")
|
||||
(home-page "https://go.googlesource.com/text")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-text-unicode-norm
|
||||
(let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-text-unicode-norm")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/text")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-text-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/text/unicode/norm"
|
||||
#:unpack-path "golang.org/x/text"))
|
||||
(synopsis "Unicode normalization in Go")
|
||||
(description "This package provides @code{norm}, which contains types and
|
||||
functions for normalizing Unicode strings.")
|
||||
(home-page "https://go.googlesource.com/text")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-time-rate
|
||||
(let ((commit "6dc17368e09b0e8634d71cac8168d853e869a0c7")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-time-rate")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/time")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1fx4cf5fpdz00g3c7vxzy92hdcg0vh4yqw00qp5s52j72qixynbk"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/time/rate"
|
||||
#:unpack-path "golang.org/x/time"))
|
||||
(propagated-inputs
|
||||
`(("go-golang-org-x-net-context" ,go-golang-org-x-net-context)))
|
||||
(synopsis "Rate limiting in Go")
|
||||
(description "This package provides @{rate}, which implements rate
|
||||
limiting in Go.")
|
||||
(home-page "https://godoc.org/golang.org/x/time/rate")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-ssh-terminal
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-ssh-terminal")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(inputs
|
||||
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/ssh/terminal"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "Terminal functions for Go")
|
||||
(description "This package provides @{terminal}, which implements
|
||||
support functions for dealing with terminals, as commonly found on UNIX
|
||||
systems.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license license:bsd-3))))
|
||||
|
|
|
@ -79,14 +79,14 @@
|
|||
(define-public blender
|
||||
(package
|
||||
(name "blender")
|
||||
(version "2.79")
|
||||
(version "2.79b")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.blender.org/source/"
|
||||
"blender-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16f84mdzkmwjmqahjj64kbyk4kagdj4mcr8qjazs1952d7kh7pm9"))))
|
||||
"1g4kcdqmf67srzhi3hkdnr4z1ph4h9sza1pahz38mrj998q4r52c"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(let ((python-version (version-major+minor (package-version python))))
|
||||
|
|
|
@ -664,48 +664,46 @@ library.")
|
|||
(define-public mcron
|
||||
(package
|
||||
(name "mcron")
|
||||
(version "1.1")
|
||||
(version "1.1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/mcron/mcron-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1f547sqqfbp0k02sqk4ivwx8y9mx8l0rrx1c9rrj033av073h6xq"))))
|
||||
"1i9mcp6r6my61zfiydsm3n6my41mwvl7dfala4q29qx0zn1ynlm4"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(add-before 'check 'set-timezone
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; 'tests/schedule.sh' expects to be running in UTC+1.
|
||||
;; 'tests/job-specifier.scm' expects to be running in
|
||||
;; UTC-2 or something.
|
||||
;; FIXME: This issue is being investigated upstream, for
|
||||
;; now we'll just skip the tests (see below):
|
||||
;; <https://lists.gnu.org/archive/html/bug-mcron/2018-04/msg00005.html>.
|
||||
(let ((tzdata (assoc-ref inputs "tzdata")))
|
||||
(setenv "TZDIR"
|
||||
(string-append tzdata
|
||||
"/share/zoneinfo"))
|
||||
(setenv "TZ" "UTC+1")
|
||||
(setenv "TZ" "UTC-2")
|
||||
#t)))
|
||||
(add-before 'check 'disable-schedule-test
|
||||
(add-before 'check 'adjust-tests
|
||||
(lambda _
|
||||
;; But! As it turns out, that test additionally relies
|
||||
;; on non-deterministic behavior; see
|
||||
;; <https://lists.gnu.org/archive/html/bug-mcron/2018-03/msg00001.html>.
|
||||
(substitute* "tests/schedule.sh"
|
||||
(("mkdir cron") "exit 77\n"))
|
||||
#t))
|
||||
(add-after 'install 'wrap-programs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; By default mcron doesn't have its own modules in the
|
||||
;; search path, so the 'mcron' command fails to start.
|
||||
(let* ((output (assoc-ref outputs "out"))
|
||||
(modules (string-append output
|
||||
"/share/guile/site/2.2"))
|
||||
(go (string-append output
|
||||
"/lib/guile/2.2/site-ccache")))
|
||||
(wrap-program (string-append output "/bin/mcron")
|
||||
`("GUILE_LOAD_PATH" ":" prefix
|
||||
(,modules))
|
||||
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go)))
|
||||
#t))))))
|
||||
(substitute* "tests/job-specifier.scm"
|
||||
;; (getpw) fails with "entry not found" in the build
|
||||
;; environment, so pass an argument.
|
||||
(("\\(getpw\\)")
|
||||
"(getpwnam (getuid))")
|
||||
;; The build environment lacks an entry for root in
|
||||
;; /etc/passwd.
|
||||
(("\\(getpw 0\\)")
|
||||
"(getpwnam \"nobody\")")
|
||||
|
||||
;; FIXME: Skip the 4 faulty tests (see above).
|
||||
(("\\(test-equal \"next-year\"" all)
|
||||
(string-append "(test-skip 4)\n" all)))
|
||||
#t)))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("tzdata" ,tzdata-for-tests)))
|
||||
(inputs `(("ed" ,ed) ("which" ,which) ("guile" ,guile-2.2)))
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mcrypt)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages photo)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages xml)
|
||||
|
@ -709,26 +710,63 @@ supplies a generic doubly-linked list and some string functions.")
|
|||
(sha256
|
||||
(base32
|
||||
"12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v"))
|
||||
(patches (search-patches "freeimage-CVE-2015-0852.patch"
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each
|
||||
(lambda (dir)
|
||||
(delete-file-recursively (string-append "Source/" dir)))
|
||||
'("LibJPEG" "LibJXR" "LibOpenJPEG" "LibPNG" "LibRawLite"
|
||||
"LibWebP" "OpenEXR" "ZLib"))))
|
||||
(patches (search-patches "freeimage-unbundle.patch"
|
||||
"freeimage-CVE-2015-0852.patch"
|
||||
"freeimage-CVE-2016-5684.patch"
|
||||
"freeimage-fix-build-with-gcc-5.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
;; According to Fedora these files depend on private headers, but their
|
||||
;; presence is required for building, so we replace them with empty files.
|
||||
(add-after 'unpack 'delete-unbuildable-files
|
||||
(lambda _
|
||||
(for-each (lambda (file)
|
||||
(delete-file file)
|
||||
(close (open file O_CREAT)))
|
||||
'("Source/FreeImage/PluginG3.cpp"
|
||||
"Source/FreeImageToolkit/JPEGTransform.cpp"))
|
||||
#t))
|
||||
;; These scripts generate the Makefiles.
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(invoke "sh" "gensrclist.sh")
|
||||
(invoke "sh" "genfipsrclist.sh")))
|
||||
(add-before 'build 'patch-makefile
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "Makefile.gnu"
|
||||
(("/usr") (assoc-ref outputs "out"))
|
||||
(("-o root -g root") ""))
|
||||
#t)))
|
||||
#:make-flags '("CC=gcc")
|
||||
#:make-flags
|
||||
(list "CC=gcc"
|
||||
;; We need '-fpermissive' for Source/FreeImage.h.
|
||||
;; libjxr doesn't have a pkg-config file.
|
||||
(string-append "CFLAGS+=-O2 -fPIC -fvisibility=hidden -fpermissive "
|
||||
"-I" (assoc-ref %build-inputs "libjxr") "/include/jxrlib"))
|
||||
#:tests? #f)) ; no check target
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)))
|
||||
;; Fails to build on MIPS due to assembly code in the source.
|
||||
(supported-systems (delete "mips64el-linux" %supported-systems))
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("unzip" ,unzip)))
|
||||
(inputs
|
||||
`(("libjpeg" ,libjpeg)
|
||||
("libjxr" ,libjxr)
|
||||
("libpng" ,libpng)
|
||||
("libraw" ,libraw)
|
||||
("libtiff" ,libtiff)
|
||||
("libwebp" ,libwebp)
|
||||
("openexr" ,openexr)
|
||||
("openjpeg" ,openjpeg)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "Library for handling popular graphics image formats")
|
||||
(description
|
||||
"FreeImage is a library for developers who would like to support popular
|
||||
|
|
|
@ -3531,6 +3531,21 @@ transformations and analysis algorithms allow to easily assemble custom
|
|||
complex transformations and code analysis tools.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define java-asm-bootstrap
|
||||
(package
|
||||
(inherit java-asm)
|
||||
(name "java-asm-bootstrap")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments java-asm)
|
||||
((#:tests? _) #f)))
|
||||
(native-inputs `())
|
||||
(propagated-inputs
|
||||
`(("java-aqute-bndlib" ,java-aqute-bndlib-bootstrap)
|
||||
("java-aqute-libg" ,java-aqute-libg-bootstrap)
|
||||
,@(delete `("java-aqute-bndlib" ,java-aqute-bndlib)
|
||||
(delete `("java-aqute-libg", java-aqute-libg)
|
||||
(package-inputs java-asm)))))))
|
||||
|
||||
(define-public java-cglib
|
||||
(package
|
||||
(name "java-cglib")
|
||||
|
@ -5645,6 +5660,15 @@ allowing the end user to plug in the desired logging framework at deployment
|
|||
time.")
|
||||
(license license:expat)))
|
||||
|
||||
(define java-slf4j-api-bootstrap
|
||||
(package
|
||||
(inherit java-slf4j-api)
|
||||
(name "java-slf4j-api-bootstrap")
|
||||
(inputs `())
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments java-slf4j-api)
|
||||
((#:tests? _ #f) #f)))))
|
||||
|
||||
(define-public java-slf4j-simple
|
||||
(package
|
||||
(name "java-slf4j-simple")
|
||||
|
@ -6087,7 +6111,7 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;"))
|
|||
(lambda _
|
||||
(display
|
||||
(string-append "#!" (which "sh") "\n"
|
||||
"java -cp " jar "/antlr3-3.1-3.1.jar:"
|
||||
"java -cp " jar "/antlr3-3.1.jar:"
|
||||
(string-concatenate
|
||||
(find-files (assoc-ref inputs "stringtemplate")
|
||||
".*\\.jar"))
|
||||
|
@ -6886,6 +6910,15 @@ it manages project dependencies, gives diffs jars, and much more.")
|
|||
("java-osgi-cmpn" ,java-osgi-cmpn)
|
||||
("osgi" ,java-osgi-core)))))
|
||||
|
||||
(define java-aqute-libg-bootstrap
|
||||
(package
|
||||
(inherit java-aqute-libg)
|
||||
(name "java-aqute-libg-bootstrap")
|
||||
(inputs
|
||||
`(("slf4j-bootstrap" ,java-slf4j-api-bootstrap)
|
||||
,@(delete `("slf4j" ,java-slf4j-api)
|
||||
(package-inputs java-aqute-libg))))))
|
||||
|
||||
(define-public java-aqute-bndlib
|
||||
(package
|
||||
(inherit java-aqute-bnd-annotation)
|
||||
|
@ -6909,6 +6942,17 @@ it manages project dependencies, gives diffs jars, and much more.")
|
|||
("promise" ,java-osgi-util-promise)
|
||||
("osgi" ,java-osgi-core)))))
|
||||
|
||||
(define java-aqute-bndlib-bootstrap
|
||||
(package
|
||||
(inherit java-aqute-bndlib)
|
||||
(name "java-aqute-bndlib-bootstrap")
|
||||
(inputs
|
||||
`(("slf4j-bootstrap" ,java-slf4j-api-bootstrap)
|
||||
("java-aqute-libg-bootstrap" ,java-aqute-libg-bootstrap)
|
||||
,@(delete `("slf4j" ,java-slf4j-api)
|
||||
(delete `("java-aqute-libg" ,java-aqute-libg)
|
||||
(package-inputs java-aqute-bndlib)))))))
|
||||
|
||||
(define-public java-ops4j-pax-tinybundles
|
||||
(package
|
||||
(name "java-ops4j-pax-tinybundles")
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
|
||||
;;; Copyright © 2016, 2018 Rene Saavedra <pacoon@protonmail.com>
|
||||
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
|
||||
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
|
||||
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
|
||||
|
@ -391,8 +391,8 @@ It has been modified to remove all non-free binary blobs.")
|
|||
;; supports qemu "virt" machine and possibly a large number of ARM boards.
|
||||
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
|
||||
|
||||
(define %linux-libre-version "4.16.1")
|
||||
(define %linux-libre-hash "1zqbg7ivf79nzw0lw18bbld2wq16880k83526bwqh1nsydayp6k0")
|
||||
(define %linux-libre-version "4.16.3")
|
||||
(define %linux-libre-hash "1wmx0ph8nbwidlx1dh8bi4p97b84nif9ymv00mafnn6iykdfdin0")
|
||||
|
||||
(define-public linux-libre
|
||||
(make-linux-libre %linux-libre-version
|
||||
|
@ -400,8 +400,8 @@ It has been modified to remove all non-free binary blobs.")
|
|||
%linux-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define %linux-libre-4.14-version "4.14.33")
|
||||
(define %linux-libre-4.14-hash "0ps9whsxc20gw5ags18rgkwgy6fzg66by70g8xjds7nijpzgl69m")
|
||||
(define %linux-libre-4.14-version "4.14.35")
|
||||
(define %linux-libre-4.14-hash "0dfzc2290zks1a63zld8ac0xarc8gxwwh4wsr71y8mas7gfmyqzj")
|
||||
|
||||
(define-public linux-libre-4.14
|
||||
(make-linux-libre %linux-libre-4.14-version
|
||||
|
@ -410,14 +410,14 @@ It has been modified to remove all non-free binary blobs.")
|
|||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.9
|
||||
(make-linux-libre "4.9.93"
|
||||
"0flmsh4xy7ymyzwm8y4x4id798mx6vy3d6ala7x1bq41hf00075p"
|
||||
(make-linux-libre "4.9.95"
|
||||
"06i756gbglxa2m4lib4p0fff5m2fm4s6f9aqc58i8lihnjqpkldk"
|
||||
%intel-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.4
|
||||
(make-linux-libre "4.4.127"
|
||||
"1av536sp6ancx0fy71wpmqv4r66pksrcjbnrcjggard6im4c8pjy"
|
||||
(make-linux-libre "4.4.128"
|
||||
"1aqz5skyz534bcpnn6w9madg6kadgyjjypah9dhmqf841rygb6rk"
|
||||
%intel-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
|
@ -2108,6 +2108,7 @@ time.")
|
|||
"/etc/lvm")
|
||||
"--enable-udev_sync"
|
||||
"--enable-udev_rules"
|
||||
"--enable-pkgconfig"
|
||||
|
||||
;; Make sure programs such as 'dmsetup' can
|
||||
;; find libdevmapper.so.
|
||||
|
@ -3816,7 +3817,7 @@ under OpenGL graphics workloads.")
|
|||
(define-public efivar
|
||||
(package
|
||||
(name "efivar")
|
||||
(version "34")
|
||||
(version "35")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/rhinstaller/" name
|
||||
|
@ -3824,7 +3825,7 @@ under OpenGL graphics workloads.")
|
|||
"-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"09a31y6sl3b33myy42gl9k732k1f440ycd07l6ac5d5l53kk8zhv"))))
|
||||
"153k2ifyl4giz5fkryxhz8z621diqjy7v25hfga4z94rs32ks0qy"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(;; Tests require a UEFI system and is not detected in the chroot.
|
||||
|
@ -3849,7 +3850,7 @@ interface to the variable facility of UEFI boot firmware.")
|
|||
(define-public efibootmgr
|
||||
(package
|
||||
(name "efibootmgr")
|
||||
(version "14")
|
||||
(version "16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/rhinstaller/" name
|
||||
|
@ -3857,26 +3858,23 @@ interface to the variable facility of UEFI boot firmware.")
|
|||
"-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1n3sydvpr6yl040hhf460k7mrxby7laqd9dqs6pq0js1hijc2zip"))))
|
||||
"0pzn67vxxaf7jna4cd0i4kqm60h04kb21hckksv9z82q9gxra1wm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No tests.
|
||||
#:make-flags (list (string-append "prefix=" %output)
|
||||
(string-append "libdir=" %output "/lib")
|
||||
;; EFIDIR denotes a subdirectory relative to the
|
||||
;; EFI System Partition where the loader will be
|
||||
;; installed (known as OS_VENDOR in the code).
|
||||
;; GRUB overrides this, as such it's only used if
|
||||
;; nothing else is specified on the command line.
|
||||
"EFIDIR=gnu"
|
||||
;; Override CFLAGS to add efivar include directory.
|
||||
(string-append "CFLAGS=-O2 -g -flto -I"
|
||||
(assoc-ref %build-inputs "efivar")
|
||||
"/include/efivar"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'branding
|
||||
;; Replace default loader path with something more familiar.
|
||||
(lambda _
|
||||
(substitute* "src/efibootmgr.c"
|
||||
(("EFI\\\\\\\\redhat") ; Matches 'EFI\\redhat'.
|
||||
"EFI\\\\gnu"))
|
||||
#t))
|
||||
(delete 'configure))))
|
||||
#:phases (modify-phases %standard-phases (delete 'configure))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
|
@ -4594,3 +4592,39 @@ emulates the behaviour of Gunnar Monell's older fbgrab utility.")
|
|||
restriction, permission handling and more. This package provides userspace
|
||||
interface to this kernel feature.")
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public mbpfan
|
||||
(package
|
||||
(name "mbpfan")
|
||||
(version "2.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/dgraziotin/mbpfan/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wifsws9icki95hhfh4zw1hmk07ddmkcz9mg5a9jr7q2kkrk01cx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no tests
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "DESTDIR=" out)
|
||||
"CC=gcc"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("/usr") ""))
|
||||
#t))
|
||||
(delete 'configure)))) ; There's no configure phase.
|
||||
(home-page "https://github.com/dgraziotin/mbpfan")
|
||||
(synopsis "Control fan speed on Macbooks")
|
||||
(description
|
||||
"mbpfan is a fan control daemon for Apple Macbooks. It uses input from
|
||||
the @code{coretemp} module and sets the fan speed using the @code{applesmc}
|
||||
module. It can be executed as a daemon or in the foreground with root
|
||||
privileges.")
|
||||
(license license:gpl3+)))
|
||||
|
|
|
@ -259,14 +259,14 @@ aliasing facilities to work just as they would on normal mail.")
|
|||
(define-public mutt
|
||||
(package
|
||||
(name "mutt")
|
||||
(version "1.9.4")
|
||||
(version "1.9.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://bitbucket.org/mutt/mutt/downloads/"
|
||||
"mutt-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pxmw5yyizb9bqbai6lihv6zxmw0znjfb60zaldwh6hc6lkbzlgl"))
|
||||
"0lsp72lm3cw490x7lhzia7h8f591bab2mr7qpscaj22fmrj7wqdz"))
|
||||
(patches (search-patches "mutt-store-references.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
@ -475,7 +475,7 @@ and corrections. It is based on a Bayesian filter.")
|
|||
(define-public offlineimap
|
||||
(package
|
||||
(name "offlineimap")
|
||||
(version "7.1.5")
|
||||
(version "7.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/OfflineIMAP/offlineimap/"
|
||||
|
@ -483,7 +483,7 @@ and corrections. It is based on a Bayesian filter.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qa3km3s3yhmpgzh76dnzwn22aa8fh39814zgnlyhs07l23ffa4f"))))
|
||||
"1i7pzm1vrj98jcyn1ygsg1yp0gqlsssnc25451icvivysvdwdj5n"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("asciidoc" ,asciidoc)))
|
||||
|
|
|
@ -58,14 +58,14 @@ a flexible and convenient way.")
|
|||
(define-public man-db
|
||||
(package
|
||||
(name "man-db")
|
||||
(version "2.8.2")
|
||||
(version "2.8.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/man-db/man-db-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0p0cvv5ykvyzq33qyfik11p2s0d2j75ans1avj9xv3c8vy3zzga5"))))
|
||||
"1b641kcgjvyc41pj67dn4p0zvwlj1vx3l6nf7qdcc7kf6v5a2cjr"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -7,12 +7,13 @@
|
|||
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
|
||||
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
|
||||
;;; Copyright © 2016, 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
|
||||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -37,6 +38,7 @@
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system cmake)
|
||||
|
@ -200,31 +202,17 @@ identi.ca and status.net).")
|
|||
(define-public hexchat
|
||||
(package
|
||||
(name "hexchat")
|
||||
(version "2.12.4")
|
||||
(version "2.14.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dl.hexchat.net/hexchat/hexchat-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ficrx56knz5y297qb0x5y02339yvyv734z7kpcx1ixvb0qr2dgs"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete dangling symlinks to a non-existent ‘/usr’.
|
||||
(with-directory-excursion "m4"
|
||||
(for-each (lambda (f) (delete-file f))
|
||||
'("intltool.m4" "libtool.m4" "lt~obsolete.m4"
|
||||
"ltoptions.m4" "ltsugar.m4" "ltversion.m4")))
|
||||
(delete-file-recursively "build-aux")
|
||||
(delete-file "po/Makefile.in.in")
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("autoconf" ,autoconf)
|
||||
("autoconf-archive" ,autoconf-archive)
|
||||
("automake" ,automake)
|
||||
("intltool" ,intltool)
|
||||
("libtool" ,libtool)
|
||||
"18h3l34zmazjlfx3irg7k7swppa62ad9ffbl0j3ry8p2xfyf8cmh"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs `(("gettext" ,gettext-minimal)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs `(("dbus-glib" ,dbus-glib)
|
||||
("dbus" ,dbus)
|
||||
|
@ -233,6 +221,7 @@ identi.ca and status.net).")
|
|||
("gtk" ,gtk+-2)
|
||||
("libcanberra" ,libcanberra)
|
||||
("libnotify" ,libnotify)
|
||||
("libproxy" ,libproxy)
|
||||
("openssl" ,openssl)
|
||||
|
||||
;; Bindings for add-on scripts.
|
||||
|
@ -240,16 +229,17 @@ identi.ca and status.net).")
|
|||
("perl-xml-parser" ,perl-xml-parser)
|
||||
("python-2" ,python-2)))
|
||||
(arguments
|
||||
`(#:make-flags '("UPDATE_ICON_CACHE=true") ; Disable icon theme generation
|
||||
#:phases
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Release 2.12.4 wasn't properly bootstrapped. Later ones might be!
|
||||
(add-before 'boostrap 'copy-intltool-makefile
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; This file is still required for autoreconf.
|
||||
(copy-file (string-append (assoc-ref inputs "intltool")
|
||||
"/share/intltool/Makefile.in.in")
|
||||
"po/Makefile.in.in")
|
||||
(add-after 'unpack 'skip-desktop-database-updates
|
||||
(lambda _
|
||||
;; The build scripts update icon and desktop file databases when
|
||||
;; DESTDIR is not set. We can't update these databases from
|
||||
;; within the build chroot, but we also don't set DESTDIR. So, we
|
||||
;; just skip this code.
|
||||
(substitute* "meson_post_install.py"
|
||||
(("if 'DESTDIR' not in os.environ:")
|
||||
"if False:"))
|
||||
#t)))))
|
||||
(synopsis "Graphical IRC Client")
|
||||
(description
|
||||
|
@ -495,14 +485,14 @@ simultaneously and therefore appear under the same nickname on IRC.")
|
|||
(define-public python-nbxmpp
|
||||
(package
|
||||
(name "python-nbxmpp")
|
||||
(version "0.6.1")
|
||||
(version "0.6.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "nbxmpp" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qvkiscy42nhzhccszi049ws8cnhpxgc13g8naq1rsa5x9zy163c"))))
|
||||
"12rfmp613alh3mi8f94008sx7x1a8c1izs3icrvw7bf4gnf2pi31"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no tests
|
||||
|
@ -520,7 +510,7 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
|
|||
(define-public gajim
|
||||
(package
|
||||
(name "gajim")
|
||||
(version "0.16.9")
|
||||
(version "1.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gajim.org/downloads/"
|
||||
|
@ -528,36 +518,74 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
|
|||
"/gajim-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0v08zdvpqaig0wxpxn1l8rsj3wr3fqvnagn8cnvch17vfqv9gcr1"))))
|
||||
(build-system gnu-build-system)
|
||||
"16ynws10vhx6rhjjjmzw6iyb3hc19823xhx4gsb14hrc7l8vzd1c"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Make sure all Python scripts run with the correct PYTHONPATH.
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(path (getenv "PYTHONPATH")))
|
||||
(for-each (lambda (name)
|
||||
(let ((file (string-append out "/bin/" name)))
|
||||
;; Wrapping destroys identification of intended
|
||||
;; application, so we need to override "APP".
|
||||
(substitute* file
|
||||
(("APP=`basename \\$0`")
|
||||
(string-append "APP=" name)))
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(for-each
|
||||
(lambda (name)
|
||||
(let ((file (string-append out "/bin/" name))
|
||||
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
|
||||
(wrap-program file
|
||||
`("PYTHONPATH" ":" prefix (,path)))))
|
||||
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))
|
||||
'("gajim" "gajim-remote" "gajim-history-manager")))
|
||||
#t))
|
||||
(add-before 'check 'remove-test-resolver
|
||||
;; This test requires network access.
|
||||
(lambda _
|
||||
(substitute* "test/runtests.py"
|
||||
(("'integration.test_resolver',") ""))
|
||||
#t))
|
||||
(add-before 'check 'start-xserver
|
||||
;; Tests require a running X server.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((xorg-server (assoc-ref inputs "xorg-server"))
|
||||
(display ":1"))
|
||||
(setenv "DISPLAY" display)
|
||||
(zero? (system (string-append xorg-server "/bin/Xvfb "
|
||||
display " &"))))))
|
||||
(add-after 'install 'install-icons
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(adwaita (string-append
|
||||
(assoc-ref inputs "adwaita-icon-theme")
|
||||
"/share/icons/Adwaita"))
|
||||
(hicolor (string-append
|
||||
(assoc-ref inputs "hicolor-icon-theme")
|
||||
"/share/icons/hicolor"))
|
||||
(icons (string-append
|
||||
out "/lib/python"
|
||||
,(version-major+minor (package-version python))
|
||||
"/site-packages/gajim/data/icons")))
|
||||
(with-directory-excursion icons
|
||||
(symlink adwaita "Adwaita")
|
||||
(copy-recursively hicolor "hicolor")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)))
|
||||
`(("intltool" ,intltool)
|
||||
("xorg-server" ,xorg-server)))
|
||||
(inputs
|
||||
`(("python2-axolotl" ,python2-axolotl)
|
||||
("python2-nbxmpp" ,python2-nbxmpp)
|
||||
("python2-pyopenssl" ,python2-pyopenssl)
|
||||
("python2-gnupg" ,python2-gnupg)
|
||||
("python2-pygtk" ,python2-pygtk)
|
||||
("python" ,python-2)))
|
||||
`(("adwaita-icon-theme" ,adwaita-icon-theme)
|
||||
("gnome-keyring" ,gnome-keyring)
|
||||
("gtk+" ,gtk+)
|
||||
("gtkspell3" ,gtkspell3)
|
||||
("hicolor-icon-theme" ,hicolor-icon-theme)
|
||||
("libsecret" ,libsecret)
|
||||
("python-axolotl" ,python-axolotl)
|
||||
("python-dbus" ,python-dbus)
|
||||
("python-docutils" ,python-docutils)
|
||||
("python-gnupg" ,python-gnupg)
|
||||
("python-nbxmpp" ,python-nbxmpp)
|
||||
("python-pillow" ,python-pillow)
|
||||
("python-pyasn1" ,python-pyasn1)
|
||||
("python-pycairo" ,python-pycairo)
|
||||
("python-pygobject" ,python-pygobject)
|
||||
("python-pyopenssl" ,python-pyopenssl)
|
||||
("python-qrcode" ,python-qrcode)))
|
||||
(home-page "https://gajim.org/")
|
||||
(synopsis "Jabber (XMPP) client")
|
||||
(description "Gajim is a feature-rich and easy to use Jabber/XMPP client.
|
||||
|
|
|
@ -303,7 +303,7 @@ This package contains the binary.")
|
|||
(define-public mpg123
|
||||
(package
|
||||
(name "mpg123")
|
||||
(version "1.25.8")
|
||||
(version "1.25.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append "mirror://sourceforge/mpg123/mpg123/"
|
||||
|
@ -313,7 +313,7 @@ This package contains the binary.")
|
|||
version ".tar.bz2")))
|
||||
(sha256
|
||||
(base32
|
||||
"16s9z1xc5kv1p90g42vsr9m4gq3dwjsmrj873x4i8601mvpm3nkr"))))
|
||||
"08vhp8lz7d9ybhxcmkq3adwfryhivfvp0745k4r9kgz4wap3f4vc"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:configure-flags '("--with-default-audio=pulse")))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -208,7 +208,7 @@ terminal using ncurses.")
|
|||
(define-public ncmpcpp
|
||||
(package
|
||||
(name "ncmpcpp")
|
||||
(version "0.8.1")
|
||||
(version "0.8.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -216,7 +216,7 @@ terminal using ncurses.")
|
|||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zw8d07b2bkssbsybg6jnmpq001w525viajrnz4jvfml3l55gyad"))))
|
||||
"0m0mjb049sl62vx13h9waavysa30mk0rphacksnvf94n13la62v5"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("libmpdclient" ,libmpdclient)
|
||||
("boost" ,boost)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015, 2018 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
|
@ -161,6 +161,33 @@ multiple-precision arithmetic.")
|
|||
(license lgpl2.1+)
|
||||
(home-page "https://perso.ens-lyon.fr/nathalie.revol/software.html")))
|
||||
|
||||
(define-public irram
|
||||
(package
|
||||
(name "irram")
|
||||
(version "2013_01")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://irram.uni-trier.de/irram-files/iRRAM_"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "1cdmvb4hsa161rfdjqyhd9sb3fcr43p3a6nsj7cb4kn9f94qmjpj"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs `(("gmp" ,gmp) ; <mpfi.h> refers to both
|
||||
("mpfr" ,mpfr)))
|
||||
(arguments
|
||||
`(#:parallel-build? #f))
|
||||
(synopsis "C++ package for real arithmetic based on the Real-RAM concept")
|
||||
(description
|
||||
"@dfn{iRRAM} is a C++ package for error-free real arithmetic based on
|
||||
the concept of a Real-RAM. Its capabilities range from ordinary arithmetic
|
||||
over trigonometric functions to linear algebra and differential
|
||||
equations. A program using iRRAM is coded in ordinary C++, but may use a
|
||||
special class that behaves like real numbers without any
|
||||
error. Additionally, iRRAM uses the concept of multi-valued functions.")
|
||||
(license lgpl2.0+)
|
||||
(home-page "http://irram.uni-trier.de/")))
|
||||
|
||||
(define-public qd
|
||||
(package
|
||||
(name "qd")
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
|
||||
;;; Copyright © 2017 Rodger Fox <thylakoid@openmailbox.org>
|
||||
;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2017, 2018 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 nee <nee.git@hidamari.blue>
|
||||
|
@ -3853,19 +3853,15 @@ by The Echo Nest.")
|
|||
(define-public libmygpo-qt
|
||||
(package
|
||||
(name "libmygpo-qt")
|
||||
(version "1.0.9")
|
||||
(version "1.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://stefan.derkits.at/files/"
|
||||
"libmygpo-qt/libmygpo-qt." version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wsgh2vjnd52rkvpncj1ycpbp84sj9hh12ija46b42z9mmqf2jm4"))
|
||||
(patches
|
||||
(search-patches "libmygpo-qt-fix-jsoncreatortest.patch"))))
|
||||
"1kg18qrq2rsswgzhl65r3mlyx7kpqg4wwnbp4yiv6svvmadmlxl2"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("-DBUILD_WITH_QT4=OFF")))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
|
|
|
@ -368,14 +368,14 @@ receiving NDP messages.")
|
|||
(define-public ethtool
|
||||
(package
|
||||
(name "ethtool")
|
||||
(version "4.15")
|
||||
(version "4.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kernel.org/software/network/"
|
||||
name "/" name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06pr3s7wg2pbvfbf7js61bgh3caff4qf50nqqk3cgz9z90rgvxvi"))))
|
||||
"00ss07jc7p276d83f6jpafgwyc9yiribciyqcgx9j86v49kpm5py"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.kernel.org/pub/software/network/ethtool/")
|
||||
(synopsis "Display or change Ethernet device settings")
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -244,7 +245,8 @@
|
|||
("gettext" ,gettext-minimal)
|
||||
("texinfo" ,texinfo)
|
||||
("graphviz" ,graphviz)
|
||||
("help2man" ,help2man)))
|
||||
("help2man" ,help2man)
|
||||
("po4a" ,po4a)))
|
||||
(inputs
|
||||
`(("bzip2" ,bzip2)
|
||||
("gzip" ,gzip)
|
||||
|
|
|
@ -457,37 +457,6 @@ winner of the 2015 Password Hashing Competition.")
|
|||
;; files are CC0 only; see README.md and LICENSE for details.
|
||||
(license (list license:cc0 license:asl2.0))))
|
||||
|
||||
(define-public python-bcrypt
|
||||
(package
|
||||
(name "python-bcrypt")
|
||||
(version "3.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "bcrypt" version))
|
||||
(sha256
|
||||
(base32
|
||||
"13cyrnqwkhc70rs6dg65z4yrrr3dc42fhk11804fqmci9hvimvb7"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-pycparser" ,python-pycparser)
|
||||
("python-pytest" ,python-pytest)))
|
||||
(propagated-inputs
|
||||
`(("python-cffi" ,python-cffi)
|
||||
("python-six" ,python-six)))
|
||||
(home-page "https://github.com/pyca/bcrypt/")
|
||||
(synopsis
|
||||
"Modern password hashing library")
|
||||
(description
|
||||
"Bcrypt is a Python module which provides a password hashing method based
|
||||
on the Blowfish password hashing algorithm, as described in
|
||||
@url{http://static.usenix.org/events/usenix99/provos.html,\"A Future-Adaptable
|
||||
Password Scheme\"} by Niels Provos and David Mazieres.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python2-bcrypt
|
||||
(package-with-python2 python-bcrypt))
|
||||
|
||||
(define-public pass-git-helper
|
||||
(package
|
||||
(name "pass-git-helper")
|
||||
|
|
|
@ -1,205 +0,0 @@
|
|||
From 96ceffdfdcedd3ae33c46b11357aa2518e0a6152 Mon Sep 17 00:00:00 2001
|
||||
From: Petter <petter@mykolab.ch>
|
||||
Date: Thu, 27 Apr 2017 18:55:10 +0200
|
||||
Subject: [PATCH] Remove non-free fonts from settings menu
|
||||
|
||||
--- a/app/qml/ApplicationSettings.qml
|
||||
+++ b/app/qml/ApplicationSettings.qml
|
||||
@@ -409,7 +409,7 @@
|
||||
obj_string: '{"ambientLight":0.16,"backgroundColor":"#000000","bloom":0.4,"brightness":0.5,"flickering":0.1,"contrast":0.85,"fontName":"TERMINUS_SCALED","fontColor":"#0ccc68","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0.2,"horizontalSync":0.16,"jitter":0.18,"burnIn":0.45,"staticNoise":0.1,"rasterization":0,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":0,"saturationColor":0,"rbgShift":0,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}'
|
||||
builtin: true
|
||||
}
|
||||
- ListElement{
|
||||
+ /*ListElement{
|
||||
text: "Default Scanlines"
|
||||
obj_string: '{"ambientLight":0.16,"backgroundColor":"#000000","bloom":0.4,"brightness":0.5,"flickering":0.1,"contrast":0.85,"fontName":"COMMODORE_PET","fontColor":"#00ff5b","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0.2,"horizontalSync":0.14,"jitter":0.11,"burnIn":0.4,"staticNoise":0.05,"rasterization":1,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":0,"saturationColor":0,"rbgShift":0,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}'
|
||||
builtin: true
|
||||
@@ -433,7 +433,7 @@
|
||||
text: "IBM Dos"
|
||||
obj_string: '{"ambientLight":0.16,"backgroundColor":"#000000","bloom":0.4,"brightness":0.5,"flickering":0.07,"contrast":0.85,"fontName":"IBM_DOS","fontColor":"#ffffff","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0.13,"horizontalSync":0,"jitter":0.16,"burnIn":0.3,"staticNoise":0.03,"rasterization":0,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":1,"saturationColor":0,"rbgShift":0.35,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}'
|
||||
builtin: true
|
||||
- }
|
||||
+ }*/
|
||||
ListElement{
|
||||
text: "IBM 3278"
|
||||
obj_string: '{"ambientLight":0.1,"backgroundColor":"#000000","bloom":0.15,"brightness":0.5,"flickering":0,"contrast":0.85,"fontName":"IBM_3278","fontColor":"#0ccc68","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0,"horizontalSync":0,"jitter":0,"burnIn":0.6,"staticNoise":0,"rasterization":0,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":0,"saturationColor":0,"rbgShift":0,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}'
|
||||
diff --git a/app/qml/FontPixels.qml b/app/qml/FontPixels.qml
|
||||
index 6ff85da..6f0d0ba 100644
|
||||
--- a/app/qml/FontPixels.qml
|
||||
+++ b/app/qml/FontPixels.qml
|
||||
@@ -32,7 +32,7 @@ QtObject{
|
||||
property bool lowResolutionFont: true
|
||||
|
||||
property ListModel fontlist: ListModel{
|
||||
- ListElement{
|
||||
+ /*ListElement{
|
||||
name: "COMMODORE_PET"
|
||||
text: "Commodore PET (1977)"
|
||||
source: "fonts/1977-commodore-pet/COMMODORE_PET.ttf"
|
||||
@@ -40,7 +40,7 @@ QtObject{
|
||||
pixelSize: 8
|
||||
baseScaling: 4.0
|
||||
fontWidth: 0.8
|
||||
- }
|
||||
+ }*/
|
||||
ListElement{
|
||||
name: "PROGGY_TINY"
|
||||
text: "Proggy Tiny (Modern)"
|
||||
@@ -68,7 +68,7 @@ QtObject{
|
||||
baseScaling: 3.0
|
||||
fontWidth: 1.0
|
||||
}
|
||||
- ListElement{
|
||||
+ /*ListElement{
|
||||
name: "APPLE_II"
|
||||
text: "Apple ][ (1977)"
|
||||
source: "fonts/1977-apple2/PrintChar21.ttf"
|
||||
@@ -76,8 +76,8 @@ QtObject{
|
||||
pixelSize: 8
|
||||
baseScaling: 4.0
|
||||
fontWidth: 0.9
|
||||
- }
|
||||
- ListElement{
|
||||
+ }*/
|
||||
+ /*ListElement{
|
||||
name: "ATARI_400"
|
||||
text: "Atari 400-800 (1979)"
|
||||
source: "fonts/1979-atari-400-800/ATARI400800_original.TTF"
|
||||
@@ -85,8 +85,8 @@ QtObject{
|
||||
pixelSize: 8
|
||||
baseScaling: 4.0
|
||||
fontWidth: 0.8
|
||||
- }
|
||||
- ListElement{
|
||||
+ }*/
|
||||
+ /*ListElement{
|
||||
name: "COMMODORE_64"
|
||||
text: "Commodore 64 (1982)"
|
||||
source: "fonts/1982-commodore64/C64_Pro_Mono_v1.0-STYLE.ttf"
|
||||
@@ -94,6 +94,6 @@ QtObject{
|
||||
pixelSize: 8
|
||||
baseScaling: 4.0
|
||||
fontWidth: 0.8
|
||||
- }
|
||||
+ }*/
|
||||
}
|
||||
}
|
||||
diff --git a/app/qml/FontScanlines.qml b/app/qml/FontScanlines.qml
|
||||
index eebf00b..410d7b6 100644
|
||||
--- a/app/qml/FontScanlines.qml
|
||||
+++ b/app/qml/FontScanlines.qml
|
||||
@@ -32,7 +32,7 @@ QtObject{
|
||||
property bool lowResolutionFont: true
|
||||
|
||||
property ListModel fontlist: ListModel{
|
||||
- ListElement{
|
||||
+ /*ListElement{
|
||||
name: "COMMODORE_PET"
|
||||
text: "Commodore PET (1977)"
|
||||
source: "fonts/1977-commodore-pet/COMMODORE_PET.ttf"
|
||||
@@ -40,7 +40,7 @@ QtObject{
|
||||
pixelSize: 8
|
||||
baseScaling: 4.0
|
||||
fontWidth: 0.7
|
||||
- }
|
||||
+ }*/
|
||||
ListElement{
|
||||
name: "PROGGY_TINY"
|
||||
text: "Proggy Tiny (Modern)"
|
||||
@@ -68,7 +68,7 @@ QtObject{
|
||||
baseScaling: 3.0
|
||||
fontWidth: 1.0
|
||||
}
|
||||
- ListElement{
|
||||
+ /*ListElement{
|
||||
name: "APPLE_II"
|
||||
text: "Apple ][ (1977)"
|
||||
source: "fonts/1977-apple2/PrintChar21.ttf"
|
||||
@@ -76,8 +76,8 @@ QtObject{
|
||||
pixelSize: 8
|
||||
baseScaling: 4.0
|
||||
fontWidth: 0.8
|
||||
- }
|
||||
- ListElement{
|
||||
+ }*/
|
||||
+ /*ListElement{
|
||||
name: "ATARI_400"
|
||||
text: "Atari 400-800 (1979)"
|
||||
source: "fonts/1979-atari-400-800/ATARI400800_original.TTF"
|
||||
@@ -85,8 +85,8 @@ QtObject{
|
||||
pixelSize: 8
|
||||
baseScaling: 4.0
|
||||
fontWidth: 0.7
|
||||
- }
|
||||
- ListElement{
|
||||
+ }*/
|
||||
+ /*ListElement{
|
||||
name: "COMMODORE_64"
|
||||
text: "Commodore 64 (1982)"
|
||||
source: "fonts/1982-commodore64/C64_Pro_Mono_v1.0-STYLE.ttf"
|
||||
@@ -94,6 +94,6 @@ QtObject{
|
||||
pixelSize: 8
|
||||
baseScaling: 4.0
|
||||
fontWidth: 0.7
|
||||
- }
|
||||
+ }*/
|
||||
}
|
||||
}
|
||||
diff --git a/app/qml/Fonts.qml b/app/qml/Fonts.qml
|
||||
index ad20844..882808a 100644
|
||||
--- a/app/qml/Fonts.qml
|
||||
+++ b/app/qml/Fonts.qml
|
||||
@@ -80,7 +80,7 @@
|
||||
fontWidth: 1.0
|
||||
lowResolutionFont: true
|
||||
}
|
||||
- ListElement{
|
||||
+ /*ListElement{
|
||||
name: "COMMODORE_PET_SCALED"
|
||||
text: "Commodore PET (1977)"
|
||||
source: "fonts/1977-commodore-pet/COMMODORE_PET.ttf"
|
||||
@@ -89,7 +89,7 @@
|
||||
baseScaling: 3.5
|
||||
fontWidth: 0.7
|
||||
lowResolutionFont: true
|
||||
- }
|
||||
+ }*/
|
||||
ListElement{
|
||||
name: "PROGGY_TINY_SCALED"
|
||||
text: "Proggy Tiny (Modern)"
|
||||
@@ -100,7 +100,7 @@
|
||||
fontWidth: 0.9
|
||||
lowResolutionFont: true
|
||||
}
|
||||
- ListElement{
|
||||
+ /*ListElement{
|
||||
name: "APPLE_II_SCALED"
|
||||
text: "Apple ][ (1977)"
|
||||
source: "fonts/1977-apple2/PrintChar21.ttf"
|
||||
@@ -149,7 +149,7 @@
|
||||
baseScaling: 2.0
|
||||
fontWidth: 1.0
|
||||
lowResolutionFont: true
|
||||
- }
|
||||
+ }*/
|
||||
ListElement{
|
||||
name: "HERMIT"
|
||||
text: "HD: Hermit (Modern)"
|
||||
@@ -177,7 +177,7 @@
|
||||
fontWidth: 1.0
|
||||
lowResolutionFont: false
|
||||
}
|
||||
- ListElement{
|
||||
+ /*ListElement{
|
||||
name: "MONACO"
|
||||
text: "HD: Monaco (Modern)"
|
||||
source: "fonts/modern-monaco/monaco.ttf"
|
||||
@@ -185,7 +185,7 @@
|
||||
pixelSize: 30
|
||||
fontWidth: 1.0
|
||||
lowResolutionFont: false
|
||||
- }
|
||||
+ }*/
|
||||
ListElement{
|
||||
name: "INCONSOLATA"
|
||||
text: "HD: Inconsolata (Modern)"
|
|
@ -0,0 +1,71 @@
|
|||
See https://lists.gnu.org/archive/html/bug-datamash/2018-03/msg00003.html and
|
||||
https://lists.gnu.org/archive/html/bug-datamash/2018-03/txt4DmvR7p6J9.txt
|
||||
|
||||
From d446dba317aa067440d6312d955d523129949327 Mon Sep 17 00:00:00 2001
|
||||
From: Assaf Gordon <address@hidden>
|
||||
Date: Thu, 22 Mar 2018 11:00:34 -0600
|
||||
Subject: [PATCH 1/2] tests: fix --format='%4000f' expected output
|
||||
|
||||
Can be 1.000009... or 1.000008999, depending on representation.
|
||||
|
||||
* tests/datamash-output-format.pl: Check only the first 5 digits.
|
||||
---
|
||||
tests/datamash-output-format.pl | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/tests/datamash-output-format.pl b/tests/datamash-output-format.pl
|
||||
index 52c68a2..ca99bb0 100755
|
||||
--- a/tests/datamash-output-format.pl
|
||||
+++ b/tests/datamash-output-format.pl
|
||||
@@ -98,12 +98,13 @@ my @Tests =
|
||||
{OUT => "0" x 3999 . "1\n"}],
|
||||
|
||||
# due to binary floating representation, some decimal point digits won't be
|
||||
- # zero (e.g. 1.0000090000000000000000000000000523453254320000000...).
|
||||
- # The OUT_SUBST replaces exactly 3994 digits (as expected from the format)
|
||||
+ # zero (e.g. 1.0000090000000000000000000000000523453254320000000... or
|
||||
+ # 1.000008999999...).
|
||||
+ # The OUT_SUBST replaces exactly 3995 digits (as expected from the format)
|
||||
# with an "X".
|
||||
['m2', '--format "%.4000f" sum 1', {IN_PIPE=>$in1},
|
||||
- {OUT => "1.000009X\n"},
|
||||
- {OUT_SUBST => 's/^(1\.000009)([0-9]{3994})$/\1X/'}],
|
||||
+ {OUT => "1.00000X\n"},
|
||||
+ {OUT_SUBST => 's/^(1\.00000)([0-9]{3995})$/\1X/'}],
|
||||
|
||||
);
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
||||
From f4871963974a96d6e69cb80b9c2fac7ff0c1d472 Mon Sep 17 00:00:00 2001
|
||||
From: Assaf Gordon <address@hidden>
|
||||
Date: Thu, 22 Mar 2018 11:18:13 -0600
|
||||
Subject: [PATCH 2/2] tests: disable --format="%a" test
|
||||
|
||||
Valid output can differ (e.g. 0x8.000p-3 vs 0x1.000p+0).
|
||||
|
||||
* tests/datamash-output-format.pl: Disable 'a1' test.
|
||||
---
|
||||
tests/datamash-output-format.pl | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/datamash-output-format.pl b/tests/datamash-output-format.pl
|
||||
index ca99bb0..5e90ae0 100755
|
||||
--- a/tests/datamash-output-format.pl
|
||||
+++ b/tests/datamash-output-format.pl
|
||||
@@ -90,7 +90,9 @@ my @Tests =
|
||||
['e2', '--format "%.3e" sum 1', {IN_PIPE=>$in1}, {OUT=>"1.000e+00\n"}],
|
||||
|
||||
# Test Custom formats: %a
|
||||
- ['a1', '--format "%0.3a" sum 1', {IN_PIPE=>$in1}, {OUT=>"0x8.000p-3\n"}],
|
||||
+ # Disable the test for now. Valid output can differ (e.g. 0x8.000p-3 and
|
||||
+ # 0x1.000p0 ).
|
||||
+ # ['a1', '--format "%0.3a" sum 1', {IN_PIPE=>$in1}, {OUT=>"0x8.000p-3\n"}],
|
||||
|
||||
|
||||
# Custom formats can use lots of memory
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -0,0 +1,550 @@
|
|||
https://src.fedoraproject.org/cgit/rpms/freeimage.git/tree/FreeImage-3.17.0_unbundle.patch
|
||||
|
||||
diff -rupN FreeImage/genfipsrclist.sh FreeImage-new/genfipsrclist.sh
|
||||
--- FreeImage/genfipsrclist.sh 2015-02-20 10:52:16.000000000 +0100
|
||||
+++ FreeImage-new/genfipsrclist.sh 2015-09-05 02:13:52.041353305 +0200
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
-DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJPEG Source/LibPNG Source/LibTIFF4 Source/ZLib Source/LibOpenJPEG Source/OpenEXR Source/OpenEXR/Half Source/OpenEXR/Iex Source/OpenEXR/IlmImf Source/OpenEXR/IlmThread Source/OpenEXR/Imath Source/OpenEXR/IexMath Source/LibRawLite Source/LibRawLite/dcraw Source/LibRawLite/internal Source/LibRawLite/libraw Source/LibRawLite/src Source/LibWebP Source/LibJXR Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib Wrapper/FreeImagePlus"
|
||||
+DIRLIST="Wrapper/FreeImagePlus"
|
||||
|
||||
|
||||
echo "VER_MAJOR = 3" > fipMakefile.srcs
|
||||
@@ -19,5 +19,6 @@ echo -n "INCLUDE =" >> fipMakefile.srcs
|
||||
for DIR in $DIRLIST; do
|
||||
echo -n " -I$DIR" >> fipMakefile.srcs
|
||||
done
|
||||
+echo -n " -IDist" >> fipMakefile.srcs
|
||||
echo >> fipMakefile.srcs
|
||||
|
||||
diff -rupN FreeImage/gensrclist.sh FreeImage-new/gensrclist.sh
|
||||
--- FreeImage/gensrclist.sh 2015-02-20 10:51:50.000000000 +0100
|
||||
+++ FreeImage-new/gensrclist.sh 2015-09-05 02:13:52.041353305 +0200
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
-DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJPEG Source/LibPNG Source/LibTIFF4 Source/ZLib Source/LibOpenJPEG Source/OpenEXR Source/OpenEXR/Half Source/OpenEXR/Iex Source/OpenEXR/IlmImf Source/OpenEXR/IlmThread Source/OpenEXR/Imath Source/OpenEXR/IexMath Source/LibRawLite Source/LibRawLite/dcraw Source/LibRawLite/internal Source/LibRawLite/libraw Source/LibRawLite/src Source/LibWebP Source/LibJXR Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib"
|
||||
+DIRLIST=". Source Source/Metadata Source/FreeImageToolkit"
|
||||
|
||||
echo "VER_MAJOR = 3" > Makefile.srcs
|
||||
echo "VER_MINOR = 17.0" >> Makefile.srcs
|
||||
diff -rupN FreeImage/Makefile.fip FreeImage-new/Makefile.fip
|
||||
--- FreeImage/Makefile.fip 2015-03-08 18:03:56.000000000 +0100
|
||||
+++ FreeImage-new/Makefile.fip 2015-09-05 02:14:09.212684028 +0200
|
||||
@@ -17,20 +17,22 @@ MODULES = $(SRCS:.c=.o)
|
||||
MODULES := $(MODULES:.cpp=.o)
|
||||
CFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden
|
||||
# OpenJPEG
|
||||
-CFLAGS += -DOPJ_STATIC
|
||||
+override CFLAGS += -DOPJ_STATIC
|
||||
# LibRaw
|
||||
-CFLAGS += -DNO_LCMS
|
||||
+override CFLAGS += -DNO_LCMS
|
||||
# LibJXR
|
||||
-CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__
|
||||
-CFLAGS += $(INCLUDE)
|
||||
+override CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__
|
||||
+override CFLAGS += $(INCLUDE)
|
||||
CXXFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy
|
||||
# LibJXR
|
||||
-CXXFLAGS += -D__ANSI__
|
||||
-CXXFLAGS += $(INCLUDE)
|
||||
+override CXXFLAGS += -D__ANSI__
|
||||
+override CXXFLAGS += $(INCLUDE)
|
||||
+LDFLAGS ?=
|
||||
+override LDFLAGS += -LDist -lfreeimage-$(VER_MAJOR).$(VER_MINOR)
|
||||
|
||||
ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64)
|
||||
- CFLAGS += -fPIC
|
||||
- CXXFLAGS += -fPIC
|
||||
+ override CFLAGS += -fPIC
|
||||
+ override CXXFLAGS += -fPIC
|
||||
endif
|
||||
|
||||
TARGET = freeimageplus
|
||||
@@ -68,7 +70,7 @@ $(STATICLIB): $(MODULES)
|
||||
$(AR) r $@ $(MODULES)
|
||||
|
||||
$(SHAREDLIB): $(MODULES)
|
||||
- $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES)
|
||||
+ $(CC) -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES)
|
||||
|
||||
install:
|
||||
install -d $(INCDIR) $(INSTALLDIR)
|
||||
diff -rupN FreeImage/Makefile.gnu FreeImage-new/Makefile.gnu
|
||||
--- FreeImage/Makefile.gnu 2015-03-08 18:04:00.000000000 +0100
|
||||
+++ FreeImage-new/Makefile.gnu 2015-09-05 02:14:04.810599259 +0200
|
||||
@@ -16,21 +16,11 @@ LIBRARIES = -lstdc++
|
||||
MODULES = $(SRCS:.c=.o)
|
||||
MODULES := $(MODULES:.cpp=.o)
|
||||
CFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden
|
||||
-# OpenJPEG
|
||||
-CFLAGS += -DOPJ_STATIC
|
||||
-# LibRaw
|
||||
-CFLAGS += -DNO_LCMS
|
||||
-# LibJXR
|
||||
-CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__
|
||||
-CFLAGS += $(INCLUDE)
|
||||
-CXXFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy
|
||||
-# LibJXR
|
||||
-CXXFLAGS += -D__ANSI__
|
||||
-CXXFLAGS += $(INCLUDE)
|
||||
+override CFLAGS += $(INCLUDE) -D__ANSI__ -I/usr/include/jxrlib $(shell pkg-config --cflags OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib)
|
||||
+override LDFLAGS += -ljpeg -ljpegxr -ljxrglue $(shell pkg-config --libs OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib)
|
||||
|
||||
ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64)
|
||||
- CFLAGS += -fPIC
|
||||
- CXXFLAGS += -fPIC
|
||||
+ override CFLAGS += -fPIC
|
||||
endif
|
||||
|
||||
TARGET = freeimage
|
||||
@@ -61,13 +51,13 @@ FreeImage: $(STATICLIB) $(SHAREDLIB)
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
.cpp.o:
|
||||
- $(CXX) $(CXXFLAGS) -c $< -o $@
|
||||
+ $(CXX) $(CFLAGS) -c $< -o $@
|
||||
|
||||
$(STATICLIB): $(MODULES)
|
||||
$(AR) r $@ $(MODULES)
|
||||
|
||||
$(SHAREDLIB): $(MODULES)
|
||||
- $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES)
|
||||
+ $(CC) -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES)
|
||||
|
||||
install:
|
||||
install -d $(INCDIR) $(INSTALLDIR)
|
||||
diff -rupN FreeImage/Source/FreeImage/J2KHelper.cpp FreeImage-new/Source/FreeImage/J2KHelper.cpp
|
||||
--- FreeImage/Source/FreeImage/J2KHelper.cpp 2015-03-02 02:07:08.000000000 +0100
|
||||
+++ FreeImage-new/Source/FreeImage/J2KHelper.cpp 2015-09-05 02:13:52.042353324 +0200
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
#include "FreeImage.h"
|
||||
#include "Utilities.h"
|
||||
-#include "../LibOpenJPEG/openjpeg.h"
|
||||
+#include <openjpeg.h>
|
||||
#include "J2KHelper.h"
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
diff -rupN FreeImage/Source/FreeImage/Plugin.cpp FreeImage-new/Source/FreeImage/Plugin.cpp
|
||||
--- FreeImage/Source/FreeImage/Plugin.cpp 2015-03-02 02:07:08.000000000 +0100
|
||||
+++ FreeImage-new/Source/FreeImage/Plugin.cpp 2015-09-05 02:13:52.042353324 +0200
|
||||
@@ -263,7 +263,12 @@ FreeImage_Initialise(BOOL load_local_plu
|
||||
s_plugins->AddNode(InitDDS);
|
||||
s_plugins->AddNode(InitGIF);
|
||||
s_plugins->AddNode(InitHDR);
|
||||
- s_plugins->AddNode(InitG3);
|
||||
+/* The G3 fax format plugin is deliberately disabled in the Fedora build of
|
||||
+ FreeImage as it requires that FreeImage uses a private copy of libtiff
|
||||
+ which is a no no because of security reasons. */
|
||||
+#if 0
|
||||
+ s_plugins->AddNode(InitG3);
|
||||
+#endif
|
||||
s_plugins->AddNode(InitSGI);
|
||||
s_plugins->AddNode(InitEXR);
|
||||
s_plugins->AddNode(InitJ2K);
|
||||
diff -rupN FreeImage/Source/FreeImage/PluginEXR.cpp FreeImage-new/Source/FreeImage/PluginEXR.cpp
|
||||
--- FreeImage/Source/FreeImage/PluginEXR.cpp 2015-03-02 02:07:08.000000000 +0100
|
||||
+++ FreeImage-new/Source/FreeImage/PluginEXR.cpp 2015-09-05 02:13:52.042353324 +0200
|
||||
@@ -28,16 +28,16 @@
|
||||
#pragma warning (disable : 4800) // ImfVersion.h - 'const int' : forcing value to bool 'true' or 'false' (performance warning)
|
||||
#endif
|
||||
|
||||
-#include "../OpenEXR/IlmImf/ImfIO.h"
|
||||
-#include "../OpenEXR/Iex/Iex.h"
|
||||
-#include "../OpenEXR/IlmImf/ImfOutputFile.h"
|
||||
-#include "../OpenEXR/IlmImf/ImfInputFile.h"
|
||||
-#include "../OpenEXR/IlmImf/ImfRgbaFile.h"
|
||||
-#include "../OpenEXR/IlmImf/ImfChannelList.h"
|
||||
-#include "../OpenEXR/IlmImf/ImfRgba.h"
|
||||
-#include "../OpenEXR/IlmImf/ImfArray.h"
|
||||
-#include "../OpenEXR/IlmImf/ImfPreviewImage.h"
|
||||
-#include "../OpenEXR/Half/half.h"
|
||||
+#include <OpenEXR/ImfIO.h>
|
||||
+#include <OpenEXR/Iex.h>
|
||||
+#include <OpenEXR/ImfOutputFile.h>
|
||||
+#include <OpenEXR/ImfInputFile.h>
|
||||
+#include <OpenEXR/ImfRgbaFile.h>
|
||||
+#include <OpenEXR/ImfChannelList.h>
|
||||
+#include <OpenEXR/ImfRgba.h>
|
||||
+#include <OpenEXR/ImfArray.h>
|
||||
+#include <OpenEXR/ImfPreviewImage.h>
|
||||
+#include <OpenEXR/half.h>
|
||||
|
||||
|
||||
// ==========================================================
|
||||
diff -rupN FreeImage/Source/FreeImage/PluginJ2K.cpp FreeImage-new/Source/FreeImage/PluginJ2K.cpp
|
||||
--- FreeImage/Source/FreeImage/PluginJ2K.cpp 2015-03-02 02:07:08.000000000 +0100
|
||||
+++ FreeImage-new/Source/FreeImage/PluginJ2K.cpp 2015-09-05 02:13:52.043353343 +0200
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
#include "FreeImage.h"
|
||||
#include "Utilities.h"
|
||||
-#include "../LibOpenJPEG/openjpeg.h"
|
||||
+#include <openjpeg.h>
|
||||
#include "J2KHelper.h"
|
||||
|
||||
// ==========================================================
|
||||
diff -rupN FreeImage/Source/FreeImage/PluginJP2.cpp FreeImage-new/Source/FreeImage/PluginJP2.cpp
|
||||
--- FreeImage/Source/FreeImage/PluginJP2.cpp 2015-03-02 02:07:08.000000000 +0100
|
||||
+++ FreeImage-new/Source/FreeImage/PluginJP2.cpp 2015-09-05 02:13:52.043353343 +0200
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
#include "FreeImage.h"
|
||||
#include "Utilities.h"
|
||||
-#include "../LibOpenJPEG/openjpeg.h"
|
||||
+#include <openjpeg.h>
|
||||
#include "J2KHelper.h"
|
||||
|
||||
// ==========================================================
|
||||
diff -rupN FreeImage/Source/FreeImage/PluginJPEG.cpp FreeImage-new/Source/FreeImage/PluginJPEG.cpp
|
||||
--- FreeImage/Source/FreeImage/PluginJPEG.cpp 2015-03-02 02:07:08.000000000 +0100
|
||||
+++ FreeImage-new/Source/FreeImage/PluginJPEG.cpp 2015-09-05 02:13:52.043353343 +0200
|
||||
@@ -35,9 +35,9 @@ extern "C" {
|
||||
#undef FAR
|
||||
#include <setjmp.h>
|
||||
|
||||
-#include "../LibJPEG/jinclude.h"
|
||||
-#include "../LibJPEG/jpeglib.h"
|
||||
-#include "../LibJPEG/jerror.h"
|
||||
+#include <stdio.h>
|
||||
+#include <jpeglib.h>
|
||||
+#include <jerror.h>
|
||||
}
|
||||
|
||||
#include "FreeImage.h"
|
||||
diff -rupN FreeImage/Source/FreeImage/PluginJXR.cpp FreeImage-new/Source/FreeImage/PluginJXR.cpp
|
||||
--- FreeImage/Source/FreeImage/PluginJXR.cpp 2015-03-02 02:07:08.000000000 +0100
|
||||
+++ FreeImage-new/Source/FreeImage/PluginJXR.cpp 2015-09-05 02:13:52.043353343 +0200
|
||||
@@ -23,7 +23,7 @@
|
||||
#include "Utilities.h"
|
||||
#include "../Metadata/FreeImageTag.h"
|
||||
|
||||
-#include "../LibJXR/jxrgluelib/JXRGlue.h"
|
||||
+#include <JXRGlue.h>
|
||||
|
||||
// ==========================================================
|
||||
// Plugin Interface
|
||||
diff -rupN FreeImage/Source/FreeImage/PluginPNG.cpp FreeImage-new/Source/FreeImage/PluginPNG.cpp
|
||||
--- FreeImage/Source/FreeImage/PluginPNG.cpp 2015-03-10 20:16:12.000000000 +0100
|
||||
+++ FreeImage-new/Source/FreeImage/PluginPNG.cpp 2015-09-05 02:13:52.044353363 +0200
|
||||
@@ -40,8 +40,8 @@
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
||||
-#include "../ZLib/zlib.h"
|
||||
-#include "../LibPNG/png.h"
|
||||
+#include <zlib.h>
|
||||
+#include <png.h>
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
||||
diff -rupN FreeImage/Source/FreeImage/PluginRAW.cpp FreeImage-new/Source/FreeImage/PluginRAW.cpp
|
||||
--- FreeImage/Source/FreeImage/PluginRAW.cpp 2015-03-08 20:12:04.000000000 +0100
|
||||
+++ FreeImage-new/Source/FreeImage/PluginRAW.cpp 2015-09-05 02:13:52.044353363 +0200
|
||||
@@ -19,7 +19,7 @@
|
||||
// Use at your own risk!
|
||||
// ==========================================================
|
||||
|
||||
-#include "../LibRawLite/libraw/libraw.h"
|
||||
+#include <libraw/libraw.h>
|
||||
|
||||
#include "FreeImage.h"
|
||||
#include "Utilities.h"
|
||||
diff -rupN FreeImage/Source/FreeImage/PluginTIFF.cpp FreeImage-new/Source/FreeImage/PluginTIFF.cpp
|
||||
--- FreeImage/Source/FreeImage/PluginTIFF.cpp 2015-03-02 02:07:08.000000000 +0100
|
||||
+++ FreeImage-new/Source/FreeImage/PluginTIFF.cpp 2015-09-05 02:13:52.044353363 +0200
|
||||
@@ -37,9 +37,9 @@
|
||||
|
||||
#include "FreeImage.h"
|
||||
#include "Utilities.h"
|
||||
-#include "../LibTIFF4/tiffiop.h"
|
||||
+#include <tiffio.h>
|
||||
#include "../Metadata/FreeImageTag.h"
|
||||
-#include "../OpenEXR/Half/half.h"
|
||||
+#include <OpenEXR/half.h>
|
||||
|
||||
#include "FreeImageIO.h"
|
||||
#include "PSDParser.h"
|
||||
@@ -194,16 +194,6 @@ TIFFFdOpen(thandle_t handle, const char
|
||||
return tif;
|
||||
}
|
||||
|
||||
-/**
|
||||
-Open a TIFF file for reading or writing
|
||||
-@param name
|
||||
-@param mode
|
||||
-*/
|
||||
-TIFF*
|
||||
-TIFFOpen(const char* name, const char* mode) {
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
// ----------------------------------------------------------
|
||||
// TIFF library FreeImage-specific routines.
|
||||
// ----------------------------------------------------------
|
||||
diff -rupN FreeImage/Source/FreeImage/PluginWebP.cpp FreeImage-new/Source/FreeImage/PluginWebP.cpp
|
||||
--- FreeImage/Source/FreeImage/PluginWebP.cpp 2015-03-02 02:07:08.000000000 +0100
|
||||
+++ FreeImage-new/Source/FreeImage/PluginWebP.cpp 2015-09-05 02:13:52.044353363 +0200
|
||||
@@ -24,10 +24,10 @@
|
||||
|
||||
#include "../Metadata/FreeImageTag.h"
|
||||
|
||||
-#include "../LibWebP/src/webp/decode.h"
|
||||
-#include "../LibWebP/src/webp/encode.h"
|
||||
-#include "../LibWebP/src/enc/vp8enci.h"
|
||||
-#include "../LibWebP/src/webp/mux.h"
|
||||
+#include <webp/decode.h>
|
||||
+#include <webp/encode.h>
|
||||
+// #include "../LibWebP/src/enc/vp8enci.h"
|
||||
+#include <webp/mux.h>
|
||||
|
||||
// ==========================================================
|
||||
// Plugin Interface
|
||||
diff -rupN FreeImage/Source/FreeImage/ZLibInterface.cpp FreeImage-new/Source/FreeImage/ZLibInterface.cpp
|
||||
--- FreeImage/Source/FreeImage/ZLibInterface.cpp 2015-03-02 02:07:10.000000000 +0100
|
||||
+++ FreeImage-new/Source/FreeImage/ZLibInterface.cpp 2015-09-05 02:13:52.044353363 +0200
|
||||
@@ -19,10 +19,9 @@
|
||||
// Use at your own risk!
|
||||
// ==========================================================
|
||||
|
||||
-#include "../ZLib/zlib.h"
|
||||
+#include <zlib.h>
|
||||
#include "FreeImage.h"
|
||||
#include "Utilities.h"
|
||||
-#include "../ZLib/zutil.h" /* must be the last header because of error C3163 in VS2008 (_vsnprintf defined in stdio.h) */
|
||||
|
||||
/**
|
||||
Compresses a source buffer into a target buffer, using the ZLib library.
|
||||
@@ -115,7 +114,7 @@ FreeImage_ZLibGZip(BYTE *target, DWORD t
|
||||
return 0;
|
||||
case Z_OK: {
|
||||
// patch header, setup crc and length (stolen from mod_trace_output)
|
||||
- BYTE *p = target + 8; *p++ = 2; *p = OS_CODE; // xflags, os_code
|
||||
+ BYTE *p = target + 8; *p++ = 2; *p = 0x03; // xflags, os_code (unix)
|
||||
crc = crc32(crc, source, source_size);
|
||||
memcpy(target + 4 + dest_len, &crc, 4);
|
||||
memcpy(target + 8 + dest_len, &source_size, 4);
|
||||
diff -rupN FreeImage/Source/FreeImage.h FreeImage-new/Source/FreeImage.h
|
||||
--- FreeImage/Source/FreeImage.h 2015-03-04 02:17:54.000000000 +0100
|
||||
+++ FreeImage-new/Source/FreeImage.h 2015-09-05 02:13:52.045353382 +0200
|
||||
@@ -155,8 +155,11 @@ typedef uint8_t BYTE;
|
||||
typedef uint16_t WORD;
|
||||
typedef uint32_t DWORD;
|
||||
typedef int32_t LONG;
|
||||
+// Disable these, they conflict with the (wrong) ones of libraw
|
||||
+#if 0
|
||||
typedef int64_t INT64;
|
||||
typedef uint64_t UINT64;
|
||||
+#endif
|
||||
#else
|
||||
// MS is not C99 ISO compliant
|
||||
typedef long BOOL;
|
||||
@@ -410,7 +413,12 @@ FI_ENUM(FREE_IMAGE_FORMAT) {
|
||||
FIF_DDS = 24,
|
||||
FIF_GIF = 25,
|
||||
FIF_HDR = 26,
|
||||
- FIF_FAXG3 = 27,
|
||||
+/* The G3 fax format plugin is deliberately disabled in the Fedora build of
|
||||
+ FreeImage as it requires that FreeImage uses a private copy of libtiff
|
||||
+ which is a no no because of security reasons. */
|
||||
+#if 0
|
||||
+ FIF_FAXG3 = 27,
|
||||
+#endif
|
||||
FIF_SGI = 28,
|
||||
FIF_EXR = 29,
|
||||
FIF_J2K = 30,
|
||||
@@ -473,6 +481,10 @@ FI_ENUM(FREE_IMAGE_DITHER) {
|
||||
FID_BAYER16x16 = 6 //! Bayer ordered dispersed dot dithering (order 4 dithering matrix)
|
||||
};
|
||||
|
||||
+/* The FreeImage_JPEGTransform functions are deliberately disabled in the
|
||||
+ Fedora build of FreeImage as they require that FreeImage uses a private copy
|
||||
+ of libjpeg which is a no no because of security reasons. */
|
||||
+#if 0
|
||||
/** Lossless JPEG transformations
|
||||
Constants used in FreeImage_JPEGTransform
|
||||
*/
|
||||
@@ -486,6 +498,7 @@ FI_ENUM(FREE_IMAGE_JPEG_OPERATION) {
|
||||
FIJPEG_OP_ROTATE_180 = 6, //! 180-degree rotation
|
||||
FIJPEG_OP_ROTATE_270 = 7 //! 270-degree clockwise (or 90 ccw)
|
||||
};
|
||||
+#endif
|
||||
|
||||
/** Tone mapping operators.
|
||||
Constants used in FreeImage_ToneMapping.
|
||||
@@ -1076,7 +1089,10 @@ DLL_API const char* DLL_CALLCONV FreeIma
|
||||
// --------------------------------------------------------------------------
|
||||
// JPEG lossless transformation routines
|
||||
// --------------------------------------------------------------------------
|
||||
-
|
||||
+/* The FreeImage_JPEGTransform functions are deliberately disabled in the
|
||||
++ Fedora build of FreeImage as they require that FreeImage uses a private copy
|
||||
++ of libjpeg which is a no no because of security reasons. */
|
||||
+#if 0
|
||||
DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransform(const char *src_file, const char *dst_file, FREE_IMAGE_JPEG_OPERATION operation, BOOL perfect FI_DEFAULT(TRUE));
|
||||
DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformU(const wchar_t *src_file, const wchar_t *dst_file, FREE_IMAGE_JPEG_OPERATION operation, BOOL perfect FI_DEFAULT(TRUE));
|
||||
DLL_API BOOL DLL_CALLCONV FreeImage_JPEGCrop(const char *src_file, const char *dst_file, int left, int top, int right, int bottom);
|
||||
@@ -1085,6 +1101,7 @@ DLL_API BOOL DLL_CALLCONV FreeImage_JPEG
|
||||
DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombined(const char *src_file, const char *dst_file, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE));
|
||||
DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombinedU(const wchar_t *src_file, const wchar_t *dst_file, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE));
|
||||
DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombinedFromMemory(FIMEMORY* src_stream, FIMEMORY* dst_stream, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE));
|
||||
+#endif
|
||||
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
diff -rupN FreeImage/Source/FreeImageToolkit/JPEGTransform.cpp FreeImage-new/Source/FreeImageToolkit/JPEGTransform.cpp
|
||||
--- FreeImage/Source/FreeImageToolkit/JPEGTransform.cpp 2015-03-02 02:07:10.000000000 +0100
|
||||
+++ FreeImage-new/Source/FreeImageToolkit/JPEGTransform.cpp 2015-09-05 02:13:52.045353382 +0200
|
||||
@@ -26,10 +26,10 @@ extern "C" {
|
||||
#undef FAR
|
||||
#include <setjmp.h>
|
||||
|
||||
-#include "../LibJPEG/jinclude.h"
|
||||
-#include "../LibJPEG/jpeglib.h"
|
||||
-#include "../LibJPEG/jerror.h"
|
||||
-#include "../LibJPEG/transupp.h"
|
||||
+#include <jinclude.h>
|
||||
+#include <jpeglib.h>
|
||||
+#include <jerror.h>
|
||||
+#include <transupp.h>
|
||||
}
|
||||
|
||||
#include "FreeImage.h"
|
||||
diff -rupN FreeImage/Source/Metadata/TagConversion.cpp FreeImage-new/Source/Metadata/TagConversion.cpp
|
||||
--- FreeImage/Source/Metadata/TagConversion.cpp 2015-03-02 02:07:10.000000000 +0100
|
||||
+++ FreeImage-new/Source/Metadata/TagConversion.cpp 2015-09-05 02:13:52.045353382 +0200
|
||||
@@ -30,6 +30,11 @@
|
||||
|
||||
#define MAX_TEXT_EXTENT 512
|
||||
|
||||
+// These were in FreeImage.h, but are moved here to avoid conflicts (see note in FreeImage.h)
|
||||
+typedef int64_t INT64;
|
||||
+typedef uint64_t UINT64;
|
||||
+
|
||||
+
|
||||
/**
|
||||
Convert a tag to a C string
|
||||
*/
|
||||
diff -rupN FreeImage/Source/Metadata/XTIFF.cpp FreeImage-new/Source/Metadata/XTIFF.cpp
|
||||
--- FreeImage/Source/Metadata/XTIFF.cpp 2015-03-02 02:07:10.000000000 +0100
|
||||
+++ FreeImage-new/Source/Metadata/XTIFF.cpp 2015-09-05 02:13:52.045353382 +0200
|
||||
@@ -29,13 +29,18 @@
|
||||
#pragma warning (disable : 4786) // identifier was truncated to 'number' characters
|
||||
#endif
|
||||
|
||||
-#include "../LibTIFF4/tiffiop.h"
|
||||
+#include <tiffio.h>
|
||||
|
||||
#include "FreeImage.h"
|
||||
#include "Utilities.h"
|
||||
#include "FreeImageTag.h"
|
||||
#include "FIRational.h"
|
||||
|
||||
+extern "C"
|
||||
+{
|
||||
+ int _TIFFDataSize(TIFFDataType type);
|
||||
+}
|
||||
+
|
||||
// ----------------------------------------------------------
|
||||
// Extended TIFF Directory GEO Tag Support
|
||||
// ----------------------------------------------------------
|
||||
@@ -224,6 +229,33 @@ tiff_write_geotiff_profile(TIFF *tif, FI
|
||||
// TIFF EXIF tag reading & writing
|
||||
// ----------------------------------------------------------
|
||||
|
||||
+static uint32 exif_tag_ids[] = {
|
||||
+ EXIFTAG_EXPOSURETIME, EXIFTAG_FNUMBER, EXIFTAG_EXPOSUREPROGRAM,
|
||||
+ EXIFTAG_SPECTRALSENSITIVITY, EXIFTAG_ISOSPEEDRATINGS, EXIFTAG_OECF,
|
||||
+ EXIFTAG_EXIFVERSION, EXIFTAG_DATETIMEORIGINAL, EXIFTAG_DATETIMEDIGITIZED,
|
||||
+ EXIFTAG_COMPONENTSCONFIGURATION, EXIFTAG_COMPRESSEDBITSPERPIXEL,
|
||||
+ EXIFTAG_SHUTTERSPEEDVALUE, EXIFTAG_APERTUREVALUE,
|
||||
+ EXIFTAG_BRIGHTNESSVALUE, EXIFTAG_EXPOSUREBIASVALUE,
|
||||
+ EXIFTAG_MAXAPERTUREVALUE, EXIFTAG_SUBJECTDISTANCE, EXIFTAG_METERINGMODE,
|
||||
+ EXIFTAG_LIGHTSOURCE, EXIFTAG_FLASH, EXIFTAG_FOCALLENGTH,
|
||||
+ EXIFTAG_SUBJECTAREA, EXIFTAG_MAKERNOTE, EXIFTAG_USERCOMMENT,
|
||||
+ EXIFTAG_SUBSECTIME, EXIFTAG_SUBSECTIMEORIGINAL,
|
||||
+ EXIFTAG_SUBSECTIMEDIGITIZED, EXIFTAG_FLASHPIXVERSION, EXIFTAG_COLORSPACE,
|
||||
+ EXIFTAG_PIXELXDIMENSION, EXIFTAG_PIXELYDIMENSION,
|
||||
+ EXIFTAG_RELATEDSOUNDFILE, EXIFTAG_FLASHENERGY,
|
||||
+ EXIFTAG_SPATIALFREQUENCYRESPONSE, EXIFTAG_FOCALPLANEXRESOLUTION,
|
||||
+ EXIFTAG_FOCALPLANEYRESOLUTION, EXIFTAG_FOCALPLANERESOLUTIONUNIT,
|
||||
+ EXIFTAG_SUBJECTLOCATION, EXIFTAG_EXPOSUREINDEX, EXIFTAG_SENSINGMETHOD,
|
||||
+ EXIFTAG_FILESOURCE, EXIFTAG_SCENETYPE, EXIFTAG_CFAPATTERN,
|
||||
+ EXIFTAG_CUSTOMRENDERED, EXIFTAG_EXPOSUREMODE, EXIFTAG_WHITEBALANCE,
|
||||
+ EXIFTAG_DIGITALZOOMRATIO, EXIFTAG_FOCALLENGTHIN35MMFILM,
|
||||
+ EXIFTAG_SCENECAPTURETYPE, EXIFTAG_GAINCONTROL, EXIFTAG_CONTRAST,
|
||||
+ EXIFTAG_SATURATION, EXIFTAG_SHARPNESS, EXIFTAG_DEVICESETTINGDESCRIPTION,
|
||||
+ EXIFTAG_SUBJECTDISTANCERANGE, EXIFTAG_GAINCONTROL, EXIFTAG_GAINCONTROL,
|
||||
+ EXIFTAG_IMAGEUNIQUEID
|
||||
+};
|
||||
+static int nExifTags = sizeof(exif_tag_ids) / sizeof(exif_tag_ids[0]);
|
||||
+
|
||||
/**
|
||||
Read a single Exif tag
|
||||
|
||||
@@ -575,45 +607,11 @@ tiff_read_exif_tags(TIFF *tif, TagLib::M
|
||||
|
||||
// loop over all Core Directory Tags
|
||||
// ### uses private data, but there is no other way
|
||||
+ // -> Fedora: Best we can do without private headers is to hard-code a list of known EXIF tags and read those
|
||||
if(md_model == TagLib::EXIF_MAIN) {
|
||||
- const TIFFDirectory *td = &tif->tif_dir;
|
||||
-
|
||||
- uint32 lastTag = 0; //<- used to prevent reading some tags twice (as stored in tif_fieldinfo)
|
||||
-
|
||||
- for (int fi = 0, nfi = (int)tif->tif_nfields; nfi > 0; nfi--, fi++) {
|
||||
- const TIFFField *fld = tif->tif_fields[fi];
|
||||
-
|
||||
- const uint32 tag_id = TIFFFieldTag(fld);
|
||||
-
|
||||
- if(tag_id == lastTag) {
|
||||
- continue;
|
||||
- }
|
||||
-
|
||||
- // test if tag value is set
|
||||
- // (lifted directly from LibTiff _TIFFWriteDirectory)
|
||||
-
|
||||
- if( fld->field_bit == FIELD_CUSTOM ) {
|
||||
- int is_set = FALSE;
|
||||
-
|
||||
- for(int ci = 0; ci < td->td_customValueCount; ci++ ) {
|
||||
- is_set |= (td->td_customValues[ci].info == fld);
|
||||
- }
|
||||
-
|
||||
- if( !is_set ) {
|
||||
- continue;
|
||||
- }
|
||||
-
|
||||
- } else if(!TIFFFieldSet(tif, fld->field_bit)) {
|
||||
- continue;
|
||||
- }
|
||||
-
|
||||
- // process *all* other tags (some will be ignored)
|
||||
-
|
||||
- tiff_read_exif_tag(tif, tag_id, dib, md_model);
|
||||
-
|
||||
- lastTag = tag_id;
|
||||
+ for (int i = 0; i < nExifTags; ++i) {
|
||||
+ tiff_read_exif_tag(tif, exif_tag_ids[i], dib, md_model);
|
||||
}
|
||||
-
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
@@ -723,10 +721,9 @@ tiff_write_exif_tags(TIFF *tif, TagLib::
|
||||
|
||||
TagLib& tag_lib = TagLib::instance();
|
||||
|
||||
- for (int fi = 0, nfi = (int)tif->tif_nfields; nfi > 0; nfi--, fi++) {
|
||||
- const TIFFField *fld = tif->tif_fields[fi];
|
||||
-
|
||||
- const uint32 tag_id = TIFFFieldTag(fld);
|
||||
+ for (int fi = 0; fi < nExifTags; fi++) {
|
||||
+ const uint32 tag_id = exif_tag_ids[fi];
|
||||
+ const TIFFField *fld = TIFFFieldWithTag(tif, tag_id);
|
||||
|
||||
if(skip_write_field(tif, tag_id)) {
|
||||
// skip tags that are already handled by the LibTIFF writing process
|
|
@ -1,99 +0,0 @@
|
|||
From 2971a187551e062ffefdab965f55377b36cd94eb Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
Date: Wed, 21 Feb 2018 06:00:50 +0100
|
||||
Subject: [PATCH] Fix process tree
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This manually reverts:
|
||||
|
||||
commit 584a9bceab948590dabd189d234a86e6bf4ec3f4
|
||||
Author: wangqr <wangqr@wangqr.tk>
|
||||
Date: Fri Sep 1 21:27:24 2017 +0800
|
||||
|
||||
Find roots when constructing process tree, fix #587
|
||||
|
||||
which breaks the process tree (‘t’) view in at least some cases.
|
||||
I will investigate further...
|
||||
---
|
||||
ProcessList.c | 63 +++++++++++++++++------------------------------------------
|
||||
1 file changed, 18 insertions(+), 45 deletions(-)
|
||||
|
||||
diff --git a/ProcessList.c b/ProcessList.c
|
||||
index 48b2d95..225253d 100644
|
||||
--- a/ProcessList.c
|
||||
+++ b/ProcessList.c
|
||||
@@ -213,51 +213,24 @@ void ProcessList_sort(ProcessList* this) {
|
||||
// Restore settings
|
||||
this->settings->sortKey = sortKey;
|
||||
this->settings->direction = direction;
|
||||
- int vsize = Vector_size(this->processes);
|
||||
- // Find all processes whose parent is not visible
|
||||
- int size;
|
||||
- while ((size = Vector_size(this->processes))) {
|
||||
- int i;
|
||||
- for (i = 0; i < size; i++) {
|
||||
- Process* process = (Process*)(Vector_get(this->processes, i));
|
||||
- // Immediately consume not shown processes
|
||||
- if (!process->show) {
|
||||
- process = (Process*)(Vector_take(this->processes, i));
|
||||
- process->indent = 0;
|
||||
- Vector_add(this->processes2, process);
|
||||
- ProcessList_buildTree(this, process->pid, 0, 0, direction, false);
|
||||
- break;
|
||||
- }
|
||||
- pid_t ppid = process->tgid == process->pid ? process->ppid : process->tgid;
|
||||
- // Bisect the process vector to find parent
|
||||
- int l = 0, r = size;
|
||||
- // If PID corresponds with PPID (e.g. "kernel_task" (PID:0, PPID:0)
|
||||
- // on Mac OS X 10.11.6) cancel bisecting and regard this process as
|
||||
- // root.
|
||||
- if (process->pid == ppid)
|
||||
- r = 0;
|
||||
- while (l < r) {
|
||||
- int c = (l + r) / 2;
|
||||
- pid_t pid = ((Process*)(Vector_get(this->processes, c)))->pid;
|
||||
- if (ppid == pid) {
|
||||
- break;
|
||||
- } else if (ppid < pid) {
|
||||
- r = c;
|
||||
- } else {
|
||||
- l = c + 1;
|
||||
- }
|
||||
- }
|
||||
- // If parent not found, then construct the tree with this root
|
||||
- if (l >= r) {
|
||||
- process = (Process*)(Vector_take(this->processes, i));
|
||||
- process->indent = 0;
|
||||
- Vector_add(this->processes2, process);
|
||||
- ProcessList_buildTree(this, process->pid, 0, 0, direction, process->showChildren);
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
- // There should be no loop in the process tree
|
||||
- assert(i < size);
|
||||
+
|
||||
+ // Take PID 1 as root and add to the new listing
|
||||
+ int vsize = Vector_size(this->processes);
|
||||
+ Process* init = (Process*) (Vector_take(this->processes, 0));
|
||||
+ if (!init) return;
|
||||
+ // This assertion crashes on hardened kernels.
|
||||
+ // I wonder how well tree view works on those systems.
|
||||
+ // assert(init->pid == 1);
|
||||
+ init->indent = 0;
|
||||
+ Vector_add(this->processes2, init);
|
||||
+ // Recursively empty list
|
||||
+ ProcessList_buildTree(this, init->pid, 0, 0, direction, true);
|
||||
+ // Add leftovers
|
||||
+ while (Vector_size(this->processes)) {
|
||||
+ Process* p = (Process*) (Vector_take(this->processes, 0));
|
||||
+ p->indent = 0;
|
||||
+ Vector_add(this->processes2, p);
|
||||
+ ProcessList_buildTree(this, p->pid, 0, 0, direction, p->showChildren);
|
||||
}
|
||||
assert(Vector_size(this->processes2) == vsize); (void)vsize;
|
||||
assert(Vector_size(this->processes) == 0);
|
||||
--
|
||||
2.16.2
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
From ebe2323727f8d646590245b0bf06dbc92b5808d6 Mon Sep 17 00:00:00 2001
|
||||
From: Golubev Alexander <fatzer2@gmail.com>
|
||||
Date: Tue, 20 Sep 2016 15:33:30 +0400
|
||||
Subject: [PATCH] JsonCreatorTest failed due to extra space
|
||||
|
||||
JsonCreatorTest failed with next message:
|
||||
```
|
||||
********* Start testing of mygpo::JsonCreatorTest *********
|
||||
Config: Using QTest library 4.8.6, Qt 4.8.6
|
||||
PASS : mygpo::JsonCreatorTest::initTestCase()
|
||||
PASS : mygpo::JsonCreatorTest::testAddRemoveSubsToJSON()
|
||||
PASS : mygpo::JsonCreatorTest::testSaveSettingsToJSON()
|
||||
FAIL! : mygpo::JsonCreatorTest::testEpisodeActionListToJSON() Compared values are not the same
|
||||
Actual (outString2): [{"action":"download","device":"device1","episode":"http://episode.url","podcast":"http://podcast.url","timestamp":"1998-01-01T00:01:02"},{"action":"delete","device":"device3","episode":"http://episode2.url","podcast":"http://podcast2.url","timestamp":"1920-01-01T12:01:02"},{"action":"new","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","timestamp":"1998-01-01T00:01:02"},{"action":"play","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","timestamp":"1920-01-01T12:01:02"},{"action":"play","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","position":123,"started":10,"timestamp":"1998-01-01T00:01:02","total":321},{"action":"play","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","position":10,"timestamp":"1998-01-01T00:01:02"}]
|
||||
Expected (expected2): [{"action":"download","device":"device1","episode":"http://episode.url","podcast":"http:
|
||||
Loc: [/var/tmp/portage/media-libs/libmygpo-qt-1.0.9-r1/work/libmygpo-qt-1.0.9/tests/JsonCreatorTest.cpp(138)]
|
||||
PASS : mygpo::JsonCreatorTest::testRenameDeviceStringToJSON()
|
||||
PASS : mygpo::JsonCreatorTest::testDeviceSynchronizationListsToJSON()
|
||||
PASS : mygpo::JsonCreatorTest::cleanupTestCase()
|
||||
Totals: 6 passed, 1 failed, 0 skipped
|
||||
********* Finished testing of mygpo::JsonCreatorTest *********
|
||||
```
|
||||
|
||||
This was caused by extra space in the expected string.
|
||||
---
|
||||
tests/JsonCreatorTest.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/JsonCreatorTest.cpp b/tests/JsonCreatorTest.cpp
|
||||
index b15b006..feb03d5 100644
|
||||
--- a/tests/JsonCreatorTest.cpp
|
||||
+++ b/tests/JsonCreatorTest.cpp
|
||||
@@ -133,7 +133,7 @@ void JsonCreatorTest::testEpisodeActionListToJSON()
|
||||
|
||||
output = JsonCreator::episodeActionListToJSON(episodeActions);
|
||||
QString outString2 = QString::fromLatin1( output ).replace( QLatin1String(" "), QLatin1String("") );
|
||||
- QString expected2( QLatin1String( "[{\"action\":\"download\",\"device\":\"device1\",\"episode\":\"http://episode.url\",\"podcast\":\"http://podcast.url\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"delete\",\"device\":\"device3\",\"episode\":\"http://episode2.url\",\"podcast\":\"http://podcast2.url\",\"timestamp\":\"1920-01-01T12:01:02\"},{\"action\":\"new\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1920-01-01T12:01:02\" },{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":123,\"started\":10,\"timestamp\":\"1998-01-01T00:01:02\",\"total\":321},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":10,\"timestamp\":\"1998-01-01T00:01:02\"}]" ) );
|
||||
+ QString expected2( QLatin1String( "[{\"action\":\"download\",\"device\":\"device1\",\"episode\":\"http://episode.url\",\"podcast\":\"http://podcast.url\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"delete\",\"device\":\"device3\",\"episode\":\"http://episode2.url\",\"podcast\":\"http://podcast2.url\",\"timestamp\":\"1920-01-01T12:01:02\"},{\"action\":\"new\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1920-01-01T12:01:02\"},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":123,\"started\":10,\"timestamp\":\"1998-01-01T00:01:02\",\"total\":321},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":10,\"timestamp\":\"1998-01-01T00:01:02\"}]" ) );
|
||||
|
||||
QCOMPARE(outString2, expected2 );
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
From 21507b3600c616bca7049004eb518cf11f45f299 Mon Sep 17 00:00:00 2001
|
||||
From: "Anthony J. Bentley" <anthony@cathet.us>
|
||||
Date: Sun, 7 Jun 2015 02:41:28 -0600
|
||||
Subject: [PATCH] Correct the path to the GLEW header.
|
||||
|
||||
---
|
||||
src/glshader.cpp | 2 +-
|
||||
src/rgl.h | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/glshader.cpp b/src/glshader.cpp
|
||||
index 4729945..a8947ea 100644
|
||||
--- a/src/glshader.cpp
|
||||
+++ b/src/glshader.cpp
|
||||
@@ -23,7 +23,7 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "rgl_assert.h"
|
||||
-#include <glew.h>
|
||||
+#include <GL/glew.h>
|
||||
#if defined(__MACOSX__)
|
||||
#include <OpenGL/gl.h>
|
||||
#include <OpenGL/glext.h>
|
||||
diff --git a/src/rgl.h b/src/rgl.h
|
||||
index c15f93f..1748406 100644
|
||||
--- a/src/rgl.h
|
||||
+++ b/src/rgl.h
|
||||
@@ -26,7 +26,7 @@
|
||||
#include "rgl_assert.h"
|
||||
#include "rdp.h"
|
||||
|
||||
-#include <glew.h>
|
||||
+#include <GL/glew.h>
|
||||
#if defined(__MACOSX__)
|
||||
#include <OpenGL/gl.h>
|
||||
#elif defined(__MACOS__)
|
|
@ -0,0 +1,66 @@
|
|||
Fix CVE-2018-7550:
|
||||
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7550
|
||||
|
||||
Patch copied from upstream source repository:
|
||||
|
||||
https://git.qemu.org/?p=qemu.git;a=patch;h=2a8fcd119eb7c6bb3837fc3669eb1b2dfb31daf8
|
||||
|
||||
From 2a8fcd119eb7c6bb3837fc3669eb1b2dfb31daf8 Mon Sep 17 00:00:00 2001
|
||||
From: Jack Schwartz <jack.schwartz@oracle.com>
|
||||
Date: Thu, 21 Dec 2017 09:25:15 -0800
|
||||
Subject: [PATCH] multiboot: bss_end_addr can be zero
|
||||
|
||||
The multiboot spec (https://www.gnu.org/software/grub/manual/multiboot/),
|
||||
section 3.1.3, allows for bss_end_addr to be zero.
|
||||
|
||||
A zero bss_end_addr signifies there is no .bss section.
|
||||
|
||||
Suggested-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Signed-off-by: Jack Schwartz <jack.schwartz@oracle.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Reviewed-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
|
||||
---
|
||||
hw/i386/multiboot.c | 18 ++++++++++--------
|
||||
1 file changed, 10 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/hw/i386/multiboot.c b/hw/i386/multiboot.c
|
||||
index 46d9c68bf5..bb8d8e4629 100644
|
||||
--- a/hw/i386/multiboot.c
|
||||
+++ b/hw/i386/multiboot.c
|
||||
@@ -233,12 +233,6 @@ int load_multiboot(FWCfgState *fw_cfg,
|
||||
mh_entry_addr = ldl_p(header+i+28);
|
||||
|
||||
if (mh_load_end_addr) {
|
||||
- if (mh_bss_end_addr < mh_load_addr) {
|
||||
- fprintf(stderr, "invalid mh_bss_end_addr address\n");
|
||||
- exit(1);
|
||||
- }
|
||||
- mb_kernel_size = mh_bss_end_addr - mh_load_addr;
|
||||
-
|
||||
if (mh_load_end_addr < mh_load_addr) {
|
||||
fprintf(stderr, "invalid mh_load_end_addr address\n");
|
||||
exit(1);
|
||||
@@ -249,8 +243,16 @@ int load_multiboot(FWCfgState *fw_cfg,
|
||||
fprintf(stderr, "invalid kernel_file_size\n");
|
||||
exit(1);
|
||||
}
|
||||
- mb_kernel_size = kernel_file_size - mb_kernel_text_offset;
|
||||
- mb_load_size = mb_kernel_size;
|
||||
+ mb_load_size = kernel_file_size - mb_kernel_text_offset;
|
||||
+ }
|
||||
+ if (mh_bss_end_addr) {
|
||||
+ if (mh_bss_end_addr < (mh_load_addr + mb_load_size)) {
|
||||
+ fprintf(stderr, "invalid mh_bss_end_addr address\n");
|
||||
+ exit(1);
|
||||
+ }
|
||||
+ mb_kernel_size = mh_bss_end_addr - mh_load_addr;
|
||||
+ } else {
|
||||
+ mb_kernel_size = mb_load_size;
|
||||
}
|
||||
|
||||
/* Valid if mh_flags sets MULTIBOOT_HEADER_HAS_VBE.
|
||||
--
|
||||
2.17.0
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
Fix CVE-2018-1000097:
|
||||
|
||||
https://security-tracker.debian.org/tracker/CVE-2018-1000097
|
||||
https://nvd.nist.gov/vuln/detail/CVE-2018-1000097
|
||||
|
||||
Patch taken from upstream bug report:
|
||||
https://lists.gnu.org/archive/html/bug-gnu-utils/2018-02/msg00005.html
|
||||
|
||||
diff --git a/src/unshar.c b/src/unshar.c
|
||||
index 80bc3a9..0fc3773 100644
|
||||
--- a/src/unshar.c
|
||||
+++ b/src/unshar.c
|
||||
@@ -240,7 +240,7 @@ find_archive (char const * name, FILE * file, off_t start)
|
||||
off_t position = ftello (file);
|
||||
|
||||
/* Read next line, fail if no more and no previous process. */
|
||||
- if (!fgets (rw_buffer, BUFSIZ, file))
|
||||
+ if (!fgets (rw_buffer, rw_base_size, file))
|
||||
{
|
||||
if (!start)
|
||||
error (0, 0, _("Found no shell commands in %s"), name);
|
|
@ -12,6 +12,7 @@
|
|||
;;; Copyright © 2017 Petter <petter@mykolab.ch>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -31,6 +32,7 @@
|
|||
(define-module (gnu packages perl-check)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages valgrind)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system perl)
|
||||
|
@ -1001,6 +1003,33 @@ reported, and the tests skipped.")
|
|||
(description "Test::Roo provides composable, reusable tests with roles.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public perl-test-runvalgrind
|
||||
(package
|
||||
(name "perl-test-runvalgrind")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/S/SH/SHLOMIF/Test-RunValgrind-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cfndkn2k9pcx290wcblwmrwh1ybs0grxjlsrp8fbqqbmmjpb53h"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-module-build" ,perl-module-build)))
|
||||
(propagated-inputs
|
||||
`(("perl-path-tiny" ,perl-path-tiny)
|
||||
("perl-test-trap" ,perl-test-trap)
|
||||
("valgrind" ,valgrind)))
|
||||
(home-page "http://search.cpan.org/dist/Test-RunValgrind/")
|
||||
(synopsis "Tests that an external program is valgrind-clean")
|
||||
(description "Test::RunValgind checks weather Valgrind does not detect
|
||||
errors (such as memory leaks) in an arbitrary binary executable.")
|
||||
(license x11)))
|
||||
|
||||
(define-public perl-test-script
|
||||
(package
|
||||
(name "perl-test-script")
|
||||
|
|
|
@ -13,12 +13,13 @@
|
|||
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -43,8 +44,10 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix utils) ;substitute-keyword-arguments for perl-5.26.2
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages perl-check)
|
||||
#:use-module (gnu packages perl-web)
|
||||
#:use-module (gnu packages pkg-config))
|
||||
|
@ -59,6 +62,7 @@
|
|||
(package
|
||||
(name "perl")
|
||||
(version "5.26.1")
|
||||
(replacement perl/fixed)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/src/5.0/perl-"
|
||||
|
@ -156,6 +160,39 @@
|
|||
(home-page "http://www.perl.org/")
|
||||
(license gpl1+))) ; or "Artistic"
|
||||
|
||||
;; Fixes CVE-2018-6797, CVE-2018-6798, and CVE-2018-6913.
|
||||
;; See <https://metacpan.org/changes/release/SHAY/perl-5.26.2>.
|
||||
(define-public perl-5.26.2
|
||||
(package
|
||||
(inherit perl)
|
||||
(version "5.26.2")
|
||||
(source (origin
|
||||
(inherit (package-source perl))
|
||||
(uri (string-append "mirror://cpan/src/5.0/perl-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"03gpnxx1g6hvlh0v4aqx00580h787sfywp1vlvw64q2xcbm9qbsp"))))))
|
||||
|
||||
;; When grafting perl, complications arise when the replacement perl has a
|
||||
;; different version number than the original. So, here we create a version
|
||||
;; of perl-5.26.2 that thinks it is version 5.26.1. See
|
||||
;; <https://bugs.gnu.org/31210> and <https://bugs.gnu.org/31216>.
|
||||
(define perl/fixed
|
||||
(package
|
||||
(inherit perl-5.26.2)
|
||||
(version "5.26.1")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments perl-5.26.2)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'revert-perl-subversion
|
||||
(lambda _
|
||||
(substitute* "patchlevel.h"
|
||||
(("^#define PERL_SUBVERSION 2")
|
||||
"#define PERL_SUBVERSION 1"))
|
||||
#t))))))))
|
||||
|
||||
(define-public perl-algorithm-c3
|
||||
(package
|
||||
(name "perl-algorithm-c3")
|
||||
|
@ -3502,6 +3539,33 @@ provided base directory and can return files (and/or directories if desired)
|
|||
matching a regular expression.")
|
||||
(home-page "http://search.cpan.org/~dopacki/File-List//")))
|
||||
|
||||
(define-public perl-file-readbackwards
|
||||
(package
|
||||
(name "perl-file-readbackwards")
|
||||
(version "1.05")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/U/UR/URI/File-ReadBackwards-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vldy5q0zyf1cwzwb1gv14f8vg2f21bw96b8wvkw6z2hhypn3cl2"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/File-ReadBackwards/")
|
||||
(synopsis "Read a file backwards by lines")
|
||||
(description "This module reads a file backwards line by line. It is
|
||||
simple to use, memory efficient and fast. It supports both an object and a
|
||||
tied handle interface.
|
||||
|
||||
It is intended for processing log and other similar text files which typically
|
||||
have their newest entries appended to them. By default files are assumed to
|
||||
be plain text and have a line ending appropriate to the OS. But you can set
|
||||
the input record separator string on a per file basis.")
|
||||
(license perl-license)))
|
||||
|
||||
(define-public perl-file-remove
|
||||
(package
|
||||
(name "perl-file-remove")
|
||||
|
@ -4057,6 +4121,32 @@ This document describes how to use Inline with the C programming language.
|
|||
It also goes a bit into Perl C internals.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-io-all
|
||||
(package
|
||||
(name "perl-io-all")
|
||||
(version "0.87")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/F/FR/FREW/IO-All-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0nsd9knlbd7if2v6zwj4q978axq0w5hk8ymp61z14a821hjivqjl"))))
|
||||
(build-system perl-build-system)
|
||||
(propagated-inputs
|
||||
`(("perl-file-mimeinfo" ,perl-file-mimeinfo)
|
||||
("perl-file-readbackwards" ,perl-file-readbackwards)))
|
||||
(home-page "http://search.cpan.org/dist/IO-All/")
|
||||
(synopsis "@code{IO::All} to Larry Wall!")
|
||||
(description "@code{IO::All} combines all of the best Perl IO modules into
|
||||
a single nifty object oriented interface to greatly simplify your everyday
|
||||
Perl IO idioms. It exports a single function called io, which returns a new
|
||||
@code{IO::All} object. And that object can do it all!")
|
||||
(license perl-license)))
|
||||
|
||||
(define-public perl-io-captureoutput
|
||||
(package
|
||||
(name "perl-io-captureoutput")
|
||||
|
|
|
@ -109,14 +109,14 @@ data as produced by digital cameras.")
|
|||
(define-public libgphoto2
|
||||
(package
|
||||
(name "libgphoto2")
|
||||
(version "2.5.16")
|
||||
(version "2.5.17")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/gphoto/libgphoto/"
|
||||
version "/libgphoto2-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"01i95av28d0szyvx6l2gjv039r3205wjwjr91nfimq132rnl2mz7"))))
|
||||
"0mdmjb8a07g37bb5q69h11sixw0w6y5g3kbii9z97yhklgq68x21"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
|
@ -140,14 +140,14 @@ from digital cameras.")
|
|||
(define-public gphoto2
|
||||
(package
|
||||
(name "gphoto2")
|
||||
(version "2.5.15")
|
||||
(version "2.5.17")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/gphoto/gphoto/" version
|
||||
"/gphoto2-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xsa12k5fz49v8y4h3zahzr427a3ylxaf0k7hybrkp43g4i1lmxf"))))
|
||||
"0kslwclyyzvnxjw3gdzhlagj7l5f8lba833ipr9s0s0c4hwi0mxa"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -31,7 +32,7 @@
|
|||
(define-public pure
|
||||
(package
|
||||
(name "pure")
|
||||
(version "0.67")
|
||||
(version "0.68")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -40,7 +41,7 @@
|
|||
"pure-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hlx5dx6n70rbg668yc97yj4jbnrv0dpfw3l9b0ffmcgr76f6ba4"))))
|
||||
"0px6x5ivcdbbp2pz5n1r1cwg1syadklhjw8piqhl63n91i4r7iyb"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
|
||||
;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
|
||||
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -48,6 +49,37 @@
|
|||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public python-bcrypt
|
||||
(package
|
||||
(name "python-bcrypt")
|
||||
(version "3.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "bcrypt" version))
|
||||
(sha256
|
||||
(base32
|
||||
"13cyrnqwkhc70rs6dg65z4yrrr3dc42fhk11804fqmci9hvimvb7"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-pycparser" ,python-pycparser)
|
||||
("python-pytest" ,python-pytest)))
|
||||
(propagated-inputs
|
||||
`(("python-cffi" ,python-cffi)
|
||||
("python-six" ,python-six)))
|
||||
(home-page "https://github.com/pyca/bcrypt/")
|
||||
(synopsis
|
||||
"Modern password hashing library")
|
||||
(description
|
||||
"Bcrypt is a Python module which provides a password hashing method based
|
||||
on the Blowfish password hashing algorithm, as described in
|
||||
@url{http://static.usenix.org/events/usenix99/provos.html,\"A Future-Adaptable
|
||||
Password Scheme\"} by Niels Provos and David Mazieres.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python2-bcrypt
|
||||
(package-with-python2 python-bcrypt))
|
||||
|
||||
(define-public python-passlib
|
||||
(package
|
||||
(name "python-passlib")
|
||||
|
@ -122,21 +154,18 @@ John the Ripper).")
|
|||
(define-public python-paramiko
|
||||
(package
|
||||
(name "python-paramiko")
|
||||
(version "2.1.5")
|
||||
(version "2.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "paramiko" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1pf0zxzhgyy4avby3ajg5hp18b0d8iirbkdfw53z0h6w611bp0wk"))))
|
||||
"1wx4s95i2cdh8hhi1c3jb8lzk71jifa3z9wjfsx905y7lrsngqrk"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(zero? (system* "python" "test.py")))))))
|
||||
`(;; FIXME: Tests require many unpackaged libraries, see dev-requirements.txt.
|
||||
#:tests? #f))
|
||||
(propagated-inputs
|
||||
`(("python-pyasn1" ,python-pyasn1)
|
||||
("python-cryptography" ,python-cryptography)))
|
||||
|
@ -762,3 +791,30 @@ in userspace)
|
|||
|
||||
(define-public python2-pycryptodome
|
||||
(package-with-python2 python-pycryptodome))
|
||||
|
||||
(define-public python-m2crypto
|
||||
(package
|
||||
(name "python-m2crypto")
|
||||
(version "0.29.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "M2Crypto" version))
|
||||
(sha256
|
||||
(base32 "1h16gpilrnlzc0iyj1mnd1iqh8wchzjsxjqw9n344glimg2s5zm0"))))
|
||||
(build-system python-build-system)
|
||||
(inputs `(("openssl" ,openssl)))
|
||||
(propagated-inputs `(("python-typing" ,python-typing)))
|
||||
(home-page "https://gitlab.com/m2crypto/m2crypto")
|
||||
(synopsis "Python crypto and TLS toolkit")
|
||||
(description "@code{M2Crypto} is a complete Python wrapper for OpenSSL
|
||||
featuring RSA, DSA, DH, EC, HMACs, message digests, symmetric ciphers
|
||||
(including AES); TLS functionality to implement clients and servers; HTTPS
|
||||
extensions to Python's httplib, urllib, and xmlrpclib; unforgeable HMAC'ing
|
||||
AuthCookies for web session management; FTP/TLS client and server; S/MIME;
|
||||
M2Crypto can also be used to provide TLS for Twisted. Smartcards supported
|
||||
through the Engine interface.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python2-m2crypto
|
||||
(package-with-python2 python-m2crypto))
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2017 Mark Meyer <mark@ofosos.org>
|
||||
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -2486,3 +2487,24 @@ layouts.")
|
|||
|
||||
(define-public python2-pastescript
|
||||
(package-with-python2 python-pastescript))
|
||||
|
||||
(define-public python2-urlgrabber
|
||||
(package
|
||||
(name "python2-urlgrabber")
|
||||
(version "3.10.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "urlgrabber" version))
|
||||
(sha256
|
||||
(base32 "0w1h7hlsq406bxfy2pn4i9bd003bwl0q9b7p03z3g6yl0d21ddq5"))))
|
||||
(build-system python-build-system)
|
||||
(arguments `(#:python ,python-2)) ; urlgrabber supports python2 only
|
||||
(home-page "http://urlgrabber.baseurl.org")
|
||||
(synopsis "High-level cross protocol url-grabber")
|
||||
(description "@code{urlgrabber} is Python2 library that unifies access to
|
||||
files available on web, FTP or locally. It supports HTTP, FTP and file://
|
||||
protocols, it supports features like HTTP keep-alive, reget, throttling and
|
||||
more.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
|
|
|
@ -50,6 +50,7 @@
|
|||
;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
|
||||
;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
|
||||
;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
|
||||
;;; Copyright © 2016, 2018 Tomáš Čech <sleep_walker@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -102,7 +103,6 @@
|
|||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages openstack)
|
||||
#:use-module (gnu packages password-utils)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
|
@ -6342,7 +6342,7 @@ specification.")
|
|||
(define-public python-pretend
|
||||
(package
|
||||
(name "python-pretend")
|
||||
(version "1.0.8")
|
||||
(version "1.0.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -6350,7 +6350,7 @@ specification.")
|
|||
"pretend/pretend-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0r5r7ygz9m6d2bklflbl84cqhjkc2q12xgis8268ygjh30g2q3wk"))))
|
||||
"040vm94lcbscg5p81g1icmwwwa2jm7wrd1ybmxnv1sz8rl8bh3n9"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/alex/pretend")
|
||||
(synopsis "Library for stubbing in Python")
|
||||
|
@ -13251,3 +13251,21 @@ working with iterables.")
|
|||
(description "Pybtex is a BibTeX-compatible bibliography processor written
|
||||
in Python. You can simply type pybtex instead of bibtex.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-onetimepass
|
||||
(package
|
||||
(name "python-onetimepass")
|
||||
(version "1.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "onetimepass" version))
|
||||
(sha256
|
||||
(base32 "09vagxgbq78wvq4xbikmn2hpqqsa2i96kqsmphf7dqynfv0dlsd5"))))
|
||||
(build-system python-build-system)
|
||||
(inputs `(("python-six" ,python-six)))
|
||||
(home-page "https://github.com/tadeck/onetimepass/")
|
||||
(synopsis "One-time password library")
|
||||
(description "Python one-time password library for HMAC-based (HOTP) and
|
||||
time-based (TOTP) passwords.")
|
||||
(license license:expat)))
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Quiliro <quiliro@fsfla.org>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -1022,7 +1022,7 @@ interacting with serial ports from within Qt.")))
|
|||
(define-public qtserialbus
|
||||
(package (inherit qtsvg)
|
||||
(name "qtserialbus")
|
||||
(version "5.9.4")
|
||||
(version "5.9.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.qt.io/official_releases/qt/"
|
||||
|
@ -1031,7 +1031,7 @@ interacting with serial ports from within Qt.")))
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1i6b7w9z30mzzi0dcmrxx1scpzpnnw2fag1igvrnzvw1jwp414ff"))))
|
||||
"0gz5xsskv02yy078yffxyn8rdlklf4rsgnqrziyz5ywxwdh96gn5"))))
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)
|
||||
("qtserialport" ,qtserialport)))
|
||||
|
@ -1281,7 +1281,7 @@ and mobile applications targeting TV-like form factors.")))
|
|||
(define-public qtscxml
|
||||
(package (inherit qtsvg)
|
||||
(name "qtscxml")
|
||||
(version "5.9.4")
|
||||
(version "5.9.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.qt.io/official_releases/qt/"
|
||||
|
@ -1290,7 +1290,7 @@ and mobile applications targeting TV-like form factors.")))
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0x8bjp9jzib4kfn7rbricw4qr259qqsdbrz0dw39453s2m7cbv0x"))
|
||||
"0knp328cinawz6xbhf9wd6h6gbwp74rb5cpmlr8gv3g5a7fjlsh1"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -1397,7 +1397,7 @@ selecting one of the charts themes.")
|
|||
(define-public qtdatavis3d
|
||||
(package (inherit qtsvg)
|
||||
(name "qtdatavis3d")
|
||||
(version "5.9.4")
|
||||
(version "5.9.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.qt.io/official_releases/qt/"
|
||||
|
@ -1406,7 +1406,7 @@ selecting one of the charts themes.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ggwfnqf17mp5dkfr82q1qrimkb6wv3304vl8mjv1nq0zisckhjv"))))
|
||||
"0i1zd7lcakhicfpqj7dlw8hzk8x5i4ddk1427jhxcpja48l4jxy5"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments qtsvg)
|
||||
((#:tests? _ #f) #f))) ; TODO: Enable the tests
|
||||
|
|
|
@ -1617,13 +1617,13 @@ irb's last-word approach.")
|
|||
(define-public ruby-instantiator
|
||||
(package
|
||||
(name "ruby-instantiator")
|
||||
(version "0.0.6")
|
||||
(version "0.0.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "instantiator" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mfmqhg9xrv9i8i1kmphf15ywddhivyh2z3ccl0xjw8qy54zr21i"))))
|
||||
"0w07w3gkyqr7m0vz5h13vm8b411660qywjm2xxxgdjv4wb3fazbr"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -2998,13 +2998,13 @@ multibyte strings, internationalization, time zones, and testing.")
|
|||
(define-public ruby-crass
|
||||
(package
|
||||
(name "ruby-crass")
|
||||
(version "1.0.3")
|
||||
(version "1.0.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "crass" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1czijxlagzpzwchr2ldrgfi7kywg08idjpq37ndcmwh4fmz72c4l"))))
|
||||
"0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi"))))
|
||||
(build-system ruby-build-system)
|
||||
(native-inputs
|
||||
`(("bundler" ,bundler)
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
;;; Copyright © 2017, 2018 Nikolai Merinov <nikolai.merinov@member.fsf.org>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -46,6 +47,7 @@
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module ((guix build utils) #:select (alist-replace))
|
||||
|
@ -150,11 +152,73 @@ in turn be used to build the final Rust.")
|
|||
(modules '((guix build utils)))
|
||||
(snippet '(begin (delete-file-recursively "src/llvm") #t))))
|
||||
|
||||
(define-public rust-1.23
|
||||
(define-public rust-1.19
|
||||
(package
|
||||
(name "rust")
|
||||
(version "1.23.0")
|
||||
(source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l"))
|
||||
(version "1.19.0")
|
||||
(source (rust-source version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"))
|
||||
(outputs '("out" "cargo"))
|
||||
(arguments
|
||||
`(#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums'
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-env
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Disable test for cross compilation support.
|
||||
(setenv "CFG_DISABLE_CROSS_TESTS" "1")
|
||||
(setenv "SHELL" (which "sh"))
|
||||
(setenv "CONFIG_SHELL" (which "sh"))
|
||||
(setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))
|
||||
;; guix llvm-3.9.1 package installs only shared libraries
|
||||
(setenv "LLVM_LINK_SHARED" "1")
|
||||
#t))
|
||||
(add-after 'unpack 'patch-tests
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(substitute* "src/libstd/process.rs"
|
||||
;; The newline is intentional.
|
||||
;; There's a line length "tidy" check in Rust which would
|
||||
;; fail otherwise.
|
||||
(("\"/bin/sh\"") (string-append "\n\"" bash "/bin/sh\"")))
|
||||
(substitute* "src/libstd/net/tcp.rs"
|
||||
;; There is no network in build environment
|
||||
(("fn connect_timeout_unroutable")
|
||||
"#[ignore]\nfn connect_timeout_unroutable"))
|
||||
;; <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00222.html>
|
||||
(substitute* "src/libstd/sys/unix/process/process_common.rs"
|
||||
(("fn test_process_mask") "#[allow(unused_attributes)]
|
||||
#[ignore]
|
||||
fn test_process_mask"))
|
||||
;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH.
|
||||
;; <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00193.html>
|
||||
(delete-file-recursively "src/test/run-make/linker-output-non-utf8")
|
||||
(substitute* "src/librustc_back/dynamic_lib.rs"
|
||||
;; This test is known to fail on aarch64 and powerpc64le:
|
||||
;; https://github.com/rust-lang/rust/issues/45410
|
||||
(("fn test_loading_cosine") "#[ignore]\nfn test_loading_cosine"))
|
||||
#t)))
|
||||
(add-after 'patch-source-shebangs 'patch-cargo-checksums
|
||||
(lambda* _
|
||||
(substitute* "src/Cargo.lock"
|
||||
(("(\"checksum .* = )\".*\"" all name)
|
||||
(string-append name "\"" ,%cargo-reference-hash "\"")))
|
||||
(for-each
|
||||
(lambda (filename)
|
||||
(use-modules (guix build cargo-build-system))
|
||||
(delete-file filename)
|
||||
(let* ((dir (dirname filename)))
|
||||
(display (string-append
|
||||
"patch-cargo-checksums: generate-checksums for "
|
||||
dir "\n"))
|
||||
(generate-checksums dir ,%cargo-reference-project-file)))
|
||||
(find-files "src/vendor" ".cargo-checksum.json"))
|
||||
#t))
|
||||
(replace 'configure
|
||||
(const #t))
|
||||
(replace 'check
|
||||
(const #t))
|
||||
(replace 'install
|
||||
(const #t)))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("bison" ,bison) ; For the tests
|
||||
|
@ -173,38 +237,141 @@ in turn be used to build the final Rust.")
|
|||
("llvm" ,llvm-3.9.1)
|
||||
("openssl" ,openssl)
|
||||
("libcurl" ,curl))) ; For "cargo"
|
||||
(outputs '("out" "doc" "cargo"))
|
||||
;; rustc invokes gcc, so we need to set its search paths accordingly.
|
||||
(native-search-paths (package-native-search-paths gcc))
|
||||
(synopsis "Compiler for the Rust progamming language")
|
||||
(description "Rust is a systems programming language that provides memory
|
||||
safety and thread safety guarantees.")
|
||||
(home-page "https://www.rust-lang.org")
|
||||
;; Dual licensed.
|
||||
(license (list license:asl2.0 license:expat))))
|
||||
|
||||
(define (rust-bootstrapped-package base-rust version checksum)
|
||||
"Bootstrap rust VERSION with source checksum CHECKSUM using BASE-RUST."
|
||||
(package
|
||||
(inherit base-rust)
|
||||
(version version)
|
||||
(source
|
||||
(rust-source version checksum))
|
||||
(native-inputs
|
||||
(alist-replace "cargo-bootstrap" (list base-rust "cargo")
|
||||
(alist-replace "rustc-bootstrap" (list base-rust)
|
||||
(package-native-inputs base-rust))))))
|
||||
|
||||
(define-public mrustc
|
||||
(let ((commit "4f98e4322ef7aabd3bbef8cd93c0980cd6eeeed1")
|
||||
(revision "1")
|
||||
(rustc-version "1.19.0"))
|
||||
(package
|
||||
(name "mrustc")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/thepowersgang/mrustc.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hk1x2iv64il5g2n3z06d6h219hnxg1w84lj7vi1lydqa65qk92p"))))
|
||||
(outputs '("out" "cargo"))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("llvm" ,llvm-3.9.1)))
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
;; Required for the libstd sources.
|
||||
("rustc"
|
||||
,(rust-source "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"))))
|
||||
(arguments
|
||||
`(#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums'
|
||||
`(#:tests? #f
|
||||
#:make-flags (list (string-append "LLVM_CONFIG="
|
||||
(assoc-ref %build-inputs "llvm")
|
||||
"/bin/llvm-config"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-env
|
||||
(lambda _
|
||||
(setenv "SHELL" (which "sh"))
|
||||
(setenv "CONFIG_SHELL" (which "sh"))
|
||||
;; guix llvm-3.9.1 package installs only shared libraries
|
||||
(setenv "LLVM_LINK_SHARED" "1")
|
||||
(add-after 'unpack 'unpack-target-compiler
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(substitute* "minicargo.mk"
|
||||
;; Don't try to build LLVM.
|
||||
(("^[$][(]LLVM_CONFIG[)]:") "xxx:")
|
||||
;; Build for the correct target architecture.
|
||||
(("^RUSTC_TARGET := x86_64-unknown-linux-gnu")
|
||||
(string-append "RUSTC_TARGET := "
|
||||
,(or (%current-target-system)
|
||||
(nix-system->gnu-triplet
|
||||
(%current-system))))))
|
||||
(invoke "tar" "xf" (assoc-ref inputs "rustc"))
|
||||
(chdir "rustc-1.19.0-src")
|
||||
(invoke "patch" "-p0" "../rust_src.patch")
|
||||
(chdir "..")
|
||||
#t))
|
||||
(add-after 'unpack 'patch-tests
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(substitute* "src/libstd/process.rs"
|
||||
;; The newline is intentional.
|
||||
;; There's a line length "tidy" check in Rust which would
|
||||
;; fail otherwise.
|
||||
(("\"/bin/sh\"") (string-append "\n\"" bash "/bin/sh\"")))
|
||||
(substitute* "src/libstd/net/tcp.rs"
|
||||
;; There is no network in build environment
|
||||
(("fn connect_timeout_unroutable")
|
||||
"#[ignore]\nfn connect_timeout_unroutable"))
|
||||
;; <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00222.html>
|
||||
(substitute* "src/libstd/sys/unix/process/process_common.rs"
|
||||
(("fn test_process_mask") "#[ignore]\nfn test_process_mask"))
|
||||
;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH.
|
||||
;; <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00193.html>
|
||||
(delete-file-recursively "src/test/run-make/linker-output-non-utf8")
|
||||
#t)))
|
||||
(add-after 'patch-tests 'fix-mtime-bug
|
||||
(delete 'configure)
|
||||
(add-after 'build 'build-minicargo
|
||||
(lambda _
|
||||
(for-each (lambda (target)
|
||||
(invoke "make" "-f" "minicargo.mk" target))
|
||||
'("output/libstd.hir" "output/libpanic_unwind.hir"
|
||||
"output/libproc_macro.hir" "output/libtest.hir"))
|
||||
;; Technically the above already does it - but we want to be clear.
|
||||
(invoke "make" "-C" "tools/minicargo")))
|
||||
(replace 'install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(tools-bin (string-append out "/tools/bin"))
|
||||
(cargo-out (assoc-ref outputs "cargo"))
|
||||
(cargo-bin (string-append cargo-out "/bin"))
|
||||
(lib (string-append out "/lib"))
|
||||
(lib/rust (string-append lib "/mrust"))
|
||||
(gcc (assoc-ref inputs "gcc")))
|
||||
;; These files are not reproducible.
|
||||
(for-each delete-file (find-files "output" "\\.txt$"))
|
||||
(mkdir-p lib)
|
||||
(copy-recursively "output" lib/rust)
|
||||
(mkdir-p bin)
|
||||
(mkdir-p tools-bin)
|
||||
(install-file "bin/mrustc" bin)
|
||||
;; minicargo uses relative paths to resolve mrustc.
|
||||
(install-file "tools/bin/minicargo" tools-bin)
|
||||
(install-file "tools/bin/minicargo" cargo-bin)
|
||||
#t))))))
|
||||
(synopsis "Compiler for the Rust progamming language")
|
||||
(description "Rust is a systems programming language that provides memory
|
||||
safety and thread safety guarantees.")
|
||||
(home-page "https://github.com/thepowersgang/mrustc")
|
||||
;; Dual licensed.
|
||||
(license (list license:asl2.0 license:expat)))))
|
||||
|
||||
(define-public rust-1.23
|
||||
(package
|
||||
(inherit rust-1.19)
|
||||
(name "rust")
|
||||
(version "1.23.0")
|
||||
(source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l"))
|
||||
(outputs '("out" "doc" "cargo"))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments rust-1.19)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'dont-build-native
|
||||
(lambda _
|
||||
;; XXX: Revisit this when we use gcc 6.
|
||||
(substitute* "src/binaryen/CMakeLists.txt"
|
||||
(("ADD_COMPILE_FLAG\\(\\\"-march=native\\\"\\)") ""))
|
||||
#t))
|
||||
(add-after 'patch-tests 'patch-cargo-tests
|
||||
(lambda _
|
||||
(substitute* "src/tools/cargo/tests/build.rs"
|
||||
(("/usr/bin/env") (which "env"))
|
||||
;; Guix llvm is compiled without asmjs-unknown-emscripten.
|
||||
(("fn wasm32_final_outputs") "#[ignore]\nfn wasm32_final_outputs"))
|
||||
(substitute* "src/tools/cargo/tests/death.rs"
|
||||
;; This is stuck when built in container.
|
||||
(("fn ctrl_c_kills_everyone") "#[ignore]\nfn ctrl_c_kills_everyone"))
|
||||
#t))
|
||||
(add-after 'patch-cargo-tests 'fix-mtime-bug
|
||||
(lambda* _
|
||||
(substitute* "src/build_helper/lib.rs"
|
||||
;; Bug in Rust code.
|
||||
|
@ -213,22 +380,6 @@ in turn be used to build the final Rust.")
|
|||
(("let threshold = mtime\\(dst\\);")
|
||||
"if !dst.exists() {\nreturn false\n}\n let threshold = mtime(dst);"))
|
||||
#t))
|
||||
(add-after 'patch-source-shebangs 'patch-cargo-checksums
|
||||
(lambda* _
|
||||
(substitute* "src/Cargo.lock"
|
||||
(("(\"checksum .* = )\".*\"" all name)
|
||||
(string-append name "\"" ,%cargo-reference-hash "\"")))
|
||||
(for-each
|
||||
(lambda (filename)
|
||||
(use-modules (guix build cargo-build-system))
|
||||
(delete-file filename)
|
||||
(let* ((dir (dirname filename)))
|
||||
(display (string-append
|
||||
"patch-cargo-checksums: generate-checksums for "
|
||||
dir "\n"))
|
||||
(generate-checksums dir ,%cargo-reference-project-file)))
|
||||
(find-files "src/vendor" ".cargo-checksum.json"))
|
||||
#t))
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -289,7 +440,8 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
|
|||
(invoke "./x.py" "build" "src/tools/cargo")))
|
||||
(replace 'check
|
||||
(lambda* _
|
||||
(invoke "./x.py" "test")))
|
||||
(invoke "./x.py" "test")
|
||||
(invoke "./x.py" "test" "src/tools/cargo")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(invoke "./x.py" "install")
|
||||
|
@ -308,29 +460,63 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
|
|||
(wrap-program (string-append out "/bin/rustc")
|
||||
`("PATH" ":" prefix (,(string-append ld-wrapper "/bin")))
|
||||
`("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib"))))
|
||||
#t))))))
|
||||
;; rustc invokes gcc, so we need to set its search paths accordingly.
|
||||
(native-search-paths (package-native-search-paths gcc))
|
||||
(synopsis "Compiler for the Rust progamming language")
|
||||
(description "Rust is a systems programming language that provides memory
|
||||
safety and thread safety guarantees.")
|
||||
(home-page "https://www.rust-lang.org")
|
||||
;; Dual licensed.
|
||||
(license (list license:asl2.0 license:expat))))
|
||||
#t)))))))))
|
||||
|
||||
(define-public rust
|
||||
(let ((base-rust rust-1.23))
|
||||
(define-public rust-1.24
|
||||
(let ((base-rust
|
||||
(rust-bootstrapped-package rust-1.23 "1.24.1"
|
||||
"1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y")))
|
||||
(package
|
||||
(inherit base-rust)
|
||||
(version "1.24.1")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base-rust)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(replace 'patch-tests
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(substitute* "src/libstd/process.rs"
|
||||
;; The newline is intentional.
|
||||
;; There's a line length "tidy" check in Rust which would
|
||||
;; fail otherwise.
|
||||
(("\"/bin/sh\"") (string-append "\n\"" bash "/bin/sh\"")))
|
||||
(substitute* "src/libstd/net/tcp.rs"
|
||||
;; There is no network in build environment
|
||||
(("fn connect_timeout_unroutable")
|
||||
"#[ignore]\nfn connect_timeout_unroutable"))
|
||||
;; <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00222.html>
|
||||
(substitute* "src/libstd/sys/unix/process/process_common.rs"
|
||||
(("fn test_process_mask") "#[allow(unused_attributes)]
|
||||
#[ignore]
|
||||
fn test_process_mask"))
|
||||
;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH.
|
||||
;; <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00193.html>
|
||||
(delete-file-recursively "src/test/run-make/linker-output-non-utf8")
|
||||
(substitute* "src/librustc_metadata/dynamic_lib.rs"
|
||||
;; This test is known to fail on aarch64 and powerpc64le:
|
||||
;; https://github.com/rust-lang/rust/issues/45410
|
||||
(("fn test_loading_cosine") "#[ignore]\nfn test_loading_cosine"))
|
||||
#t)))
|
||||
(delete 'fix-mtime-bug))))))))
|
||||
|
||||
(define-public rust
|
||||
(let ((base-rust rust-1.24))
|
||||
(package
|
||||
(inherit base-rust)
|
||||
(version "1.25.0")
|
||||
(source
|
||||
(rust-source version
|
||||
"1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y"))
|
||||
"0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf"))
|
||||
(native-inputs
|
||||
(alist-replace "cargo-bootstrap" (list base-rust "cargo")
|
||||
(alist-replace "rustc-bootstrap" (list base-rust)
|
||||
(package-native-inputs base-rust))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base-rust)
|
||||
((#:phases phases) `(modify-phases ,phases
|
||||
(delete 'fix-mtime-bug))))))))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'patch-cargo-tests 'patch-cargo-index-update
|
||||
(lambda* _
|
||||
(substitute* "src/tools/cargo/tests/generate-lockfile.rs"
|
||||
;; This test wants to update the crate index.
|
||||
(("fn no_index_update") "#[ignore]\nfn no_index_update")))))))))))
|
||||
|
|
|
@ -150,14 +150,14 @@ anywhere.")
|
|||
(define-public samba
|
||||
(package
|
||||
(name "samba")
|
||||
(version "4.7.6")
|
||||
(version "4.7.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.samba.org/pub/samba/stable/"
|
||||
"samba-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vkxqp3wh7bpn1fd45lznmrpn2ma1fq75yq28vi08rggr07y7v8y"))))
|
||||
"0c81x2ncnvz3mi6fjj81clm1mh049d3ip3fj031l44qclxpx3yi9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -368,14 +368,14 @@ However, “Memory efficiency” and “Speed” have not been primary goals.")
|
|||
(define-public python-ruamel.yaml
|
||||
(package
|
||||
(name "python-ruamel.yaml")
|
||||
(version "0.15.35")
|
||||
(version "0.15.37")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ruamel.yaml" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xggyfaj6vprggahf7cq8kp9j79rb7hn8ndk3bxj2sxvwhhliiwd"))))
|
||||
"0629xzlwbddfwp8lkjz3mpvxhml9kx17cfs8aydzg55idzcl562h"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)))
|
||||
|
@ -420,7 +420,7 @@ to generate and parse. The two primary functions are @code{cbor.loads} and
|
|||
(define-public flatbuffers
|
||||
(package
|
||||
(name "flatbuffers")
|
||||
(version "1.8.0")
|
||||
(version "1.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -428,7 +428,7 @@ to generate and parse. The two primary functions are @code{cbor.loads} and
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0blc978wc5h91662vai24xj92c3bx56y6hzid90qva7il302jl64"))))
|
||||
"1qs7sa9q4q6hs12yp875lvrv6393178qcmqs1ziwmjk088g4k9aw"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:build-type "Release"
|
||||
|
|
|
@ -358,14 +358,14 @@ ksh, and tcsh.")
|
|||
(define-public xonsh
|
||||
(package
|
||||
(name "xonsh")
|
||||
(version "0.6.0")
|
||||
(version "0.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "xonsh" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ikd1xg4iyjqp51y8g8n6c4y39bgx85xnb4bdd3zibkqac3lrahr"))
|
||||
"09rrfcwpirbxmjjqnsbyn7lwm1wyn41z5zhkbnv57i5hcgs72kx6"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
|
@ -576,7 +576,7 @@ The OpenBSD Korn Shell is a cleaned up and enhanced ksh.")
|
|||
(define-public loksh
|
||||
(package
|
||||
(name "loksh")
|
||||
(version "6.2")
|
||||
(version "6.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -585,7 +585,7 @@ The OpenBSD Korn Shell is a cleaned up and enhanced ksh.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16mgxby77wgjg1ybp4fb9cvi7a4a387xmfivdxnhphg0vhyr8qd3"))))
|
||||
"0i1b60g1p19s5cnzz0nmjzjnxywm9szzyp1rcwfcx3gmzvrwr2sc"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libbsd" ,libbsd)))
|
||||
|
|
|
@ -466,14 +466,14 @@ also flexible enough to handle most nonstandard requirements.")
|
|||
(define-public r-matrix
|
||||
(package
|
||||
(name "r-matrix")
|
||||
(version "1.2-13")
|
||||
(version "1.2-14")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "Matrix" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1j4fyn2r3ds51hrxch738gn7d9qvpi4b01n0rxzw5jpv28rnpyvx"))))
|
||||
"15hknim84nj3f54vkchca5ac0c3ip15v1by18k5parmn8wsl19j9"))))
|
||||
(properties `((upstream-name . "Matrix")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -1331,13 +1331,13 @@ syntax that can be converted to XHTML or other formats.")
|
|||
(define-public r-yaml
|
||||
(package
|
||||
(name "r-yaml")
|
||||
(version "2.1.17")
|
||||
(version "2.1.18")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "yaml" version))
|
||||
(sha256
|
||||
(base32
|
||||
"10y6wnv2v8k396far29haqv2s82p4zm04rrsxk183wg19gb51was"))))
|
||||
"15m4q5krfqg0avvqg9i2g6ns4757lk6zbyrwbx5c5bgh51glvd8v"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://cran.r-project.org/web/packages/yaml/")
|
||||
(synopsis "Methods to convert R data to YAML and back")
|
||||
|
@ -1904,14 +1904,14 @@ chain.")
|
|||
(define-public r-ade4
|
||||
(package
|
||||
(name "r-ade4")
|
||||
(version "1.7-10")
|
||||
(version "1.7-11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ade4" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0zk81x0yn30gbyc0jpzyw1nxd08ccihl6vyk0ijvj3aw3nr5flc6"))))
|
||||
"0wm54wcpn87rdh6vyw04cr8vgba899y6jsl61f22bmlvx6d7kkac"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-mass" ,r-mass)))
|
||||
|
@ -2377,14 +2377,14 @@ were originally a part of the r-devtools package.")
|
|||
(define-public r-hms
|
||||
(package
|
||||
(name "r-hms")
|
||||
(version "0.4.1")
|
||||
(version "0.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "hms" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vr7k3a7k52a5yf67bwzl88lkjz09v1avw5axdk1y9v3nz33zl2h"))))
|
||||
"1g6hslk3z0xga38r71irxq802wskg6nv804mp8y9f7i2wfrj0y55"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-rlang" ,r-rlang)
|
||||
|
@ -2734,6 +2734,18 @@ engine (version 3.8.8.2) is included.")
|
|||
"0l7qi45jxlf898n0jazabnam1yyczvqfdknd00bdirhhiplpd1sc"))))
|
||||
(properties `((upstream-name . "RCurl")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'respect-CURL_CA_BUNDLE
|
||||
(lambda _
|
||||
(substitute* "R/options.S"
|
||||
(("\\.els = rev\\(merge\\(list\\(\\.\\.\\.\\), \\.opts\\)\\)" m)
|
||||
(string-append "\
|
||||
certs = Sys.getenv(\"CURL_CA_BUNDLE\")
|
||||
if (certs != \"\") { .opts = merge.list(.opts, list(cainfo=certs)) }
|
||||
" m)))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("libcurl" ,curl)))
|
||||
(propagated-inputs
|
||||
|
@ -5363,14 +5375,14 @@ is supported.")
|
|||
(define-public r-lubridate
|
||||
(package
|
||||
(name "r-lubridate")
|
||||
(version "1.7.3")
|
||||
(version "1.7.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "lubridate" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1pzkqfiahnsdm3zx46asgn8fw43vlxvbh7r4cn70c7ffmxabzzrc"))))
|
||||
"14a823il77w3wmmnzr89vwrqp50y56dh5raycnaw6c8nv5xsh32i"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-rcpp" ,r-rcpp)
|
||||
|
|
|
@ -23,7 +23,8 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix licenses))
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages golang))
|
||||
|
||||
(define-public syncthing
|
||||
(package
|
||||
|
@ -908,302 +909,6 @@ 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-crypto-bcrypt
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-bcrypt")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/bcrypt"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "Bcrypt in Go")
|
||||
(description "This package provides a Go implementation of the bcrypt
|
||||
password hashing function.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-blowfish
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-blowfish")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/blowfish"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "Blowfish in Go")
|
||||
(description "This package provides a Go implementation of the Blowfish
|
||||
symmetric-key block cipher.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-pbkdf2
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-pbkdf2")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/pbkdf2"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "PBKDF2 in Go")
|
||||
(description "This package provides a Go implementation of the PBKDF2 key
|
||||
derivation function.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-tea
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-tea")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/tea"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "Tiny Encryption Algorithm (TEA) in Go")
|
||||
(description "This packages a Go implementation of the Tiny Encryption
|
||||
Algorithm (TEA) block cipher.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-salsa20
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-salsa20")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/salsa20"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "Salsa20 in Go")
|
||||
(description "This packages provides a Go implementation of the Salsa20
|
||||
stream cipher.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-cast5
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-cast5")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/cast5"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "Cast5 in Go")
|
||||
(description "This packages provides a Go implementation of the Cast5
|
||||
symmetric-key block cipher.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-twofish
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-twofish")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/twofish"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "Twofish in Go")
|
||||
(description "This packages provides a Go implementation of the Twofish
|
||||
symmetric-key block cipher.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-crypto-xtea
|
||||
(let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-crypto-xtea")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/crypto")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-crypto-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/crypto/xtea"
|
||||
#:unpack-path "golang.org/x/crypto"
|
||||
#: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
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/golang.org/x/crypto/ed25519/testdata")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(synopsis "eXtended Tiny Encryption Algorithm (XTEA) in Go")
|
||||
(description "This package provides a Go implementation of the eXtended
|
||||
Tiny Encryption Algorithm (XTEA) block cipher.")
|
||||
(home-page "https://go.googlesource.com/crypto/")
|
||||
(license bsd-3))))
|
||||
|
||||
(define* (go-golang-org-x-net-union #:optional
|
||||
(packages (list go-golang-org-x-net-ipv4
|
||||
go-golang-org-x-net-bpf
|
||||
|
@ -1234,195 +939,6 @@ Tiny Encryption Algorithm (XTEA) block cipher.")
|
|||
(home-page (package-home-page go-golang-org-x-net-ipv4))
|
||||
(license (package-license go-golang-org-x-net-ipv4))))
|
||||
|
||||
(define-public go-golang-org-x-net-ipv4
|
||||
(let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-net-ipv4")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/net")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/net/ipv4"
|
||||
#:unpack-path "golang.org/x/net"))
|
||||
(synopsis "Go IPv4 support")
|
||||
(description "This package provides @code{ipv4}, which implements IP-level
|
||||
socket options for the Internet Protocol version 4.")
|
||||
(home-page "https://go.googlesource.com/net")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-net-bpf
|
||||
(let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-net-bpf")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/net")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-net-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/net/bpf"
|
||||
#:unpack-path "golang.org/x/net"))
|
||||
(synopsis "Berkeley Packet Filters (BPF) in Go")
|
||||
(description "This packages provides a Go implementation of the Berkeley
|
||||
Packet Filter (BPF) virtual machine.")
|
||||
(home-page "https://go.googlesource.com/net/")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-net-context
|
||||
(let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-net-context")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/net")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-net-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/net/context"
|
||||
#:unpack-path "golang.org/x/net"))
|
||||
(synopsis "Golang Context type")
|
||||
(description "This packages provides @code{context}, which defines the
|
||||
Context type, which carries deadlines, cancelation signals, and other
|
||||
request-scoped values across API boundaries and between processes.")
|
||||
(home-page "https://go.googlesource.com/net/")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-net-internal-iana
|
||||
(let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-net-internal-iana")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/net")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-net-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/net/internal/iana"
|
||||
#:unpack-path "golang.org/x/net"))
|
||||
(synopsis "Go support for assigned numbers (IANA)")
|
||||
(description "This packages provides @code{iana}, which provides protocol
|
||||
number resources managed by the Internet Assigned Numbers Authority (IANA).")
|
||||
(home-page "https://go.googlesource.com/net/")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-net-ipv6
|
||||
(let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-net-ipv6")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/net")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-net-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/net/ipv6"
|
||||
#:unpack-path "golang.org/x/net"))
|
||||
(synopsis "Go IPv6 support")
|
||||
(description "This packages provides @code{ipv6}, which implements
|
||||
IP-level socket options for the Internet Protocol version 6.")
|
||||
(home-page "https://go.googlesource.com/net")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-net-proxy
|
||||
(let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-net-proxy")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/net")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-net-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/net/proxy"
|
||||
#:unpack-path "golang.org/x/net/"))
|
||||
(synopsis "Go support for network proxies")
|
||||
(description "This packages provides @code{proxy}, which provides support
|
||||
for a variety of protocols to proxy network data.")
|
||||
(home-page "https://go.googlesource.com/net")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-sys-unix
|
||||
(let ((commit "83801418e1b59fb1880e363299581ee543af32ca")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-sys-unix")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/sys")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ilykaanvnzb27d42kmbr4i37hcn7hgqbx98z945gy63aa8dskji"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/sys/unix"
|
||||
#:unpack-path "golang.org/x/sys"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-tests
|
||||
(lambda _
|
||||
(pk (getcwd))
|
||||
(substitute* "src/golang.org/x/sys/unix/syscall_unix_test.go"
|
||||
(("/usr/bin") "/tmp"))
|
||||
#t)))))
|
||||
(synopsis "Go support for low-level system interaction")
|
||||
(description "This package provides @code{unix}, which offers Go support
|
||||
for low-level interaction with the operating system.")
|
||||
(home-page "https://go.googlesource.com/sys")
|
||||
(license bsd-3))))
|
||||
|
||||
(define* (go-golang-org-x-text-union #:optional
|
||||
(packages (list go-golang-org-x-text-transform
|
||||
go-golang-org-x-text-unicode-norm)))
|
||||
|
@ -1449,60 +965,6 @@ for low-level interaction with the operating system.")
|
|||
(home-page (package-home-page go-golang-org-x-text-transform))
|
||||
(license (package-license go-golang-org-x-text-transform))))
|
||||
|
||||
(define-public go-golang-org-x-text-transform
|
||||
(let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-text-transform")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/text")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-text-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/text/transform"
|
||||
#:unpack-path "golang.org/x/text"))
|
||||
(synopsis "Go text transformation")
|
||||
(description "This package provides @code{transform}, which provides
|
||||
reader and writer wrappers that transform the bytes passing through. Example
|
||||
transformations provided by other packages include normalization and conversion
|
||||
between character sets.")
|
||||
(home-page "https://go.googlesource.com/text")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-text-unicode-norm
|
||||
(let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-text-unicode-norm")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/text")
|
||||
(commit commit)))
|
||||
(file-name (string-append "go.googlesource.com-text-"
|
||||
version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/text/unicode/norm"
|
||||
#:unpack-path "golang.org/x/text"))
|
||||
(synopsis "Unicode normalization in Go")
|
||||
(description "This package provides @code{norm}, which contains types and
|
||||
functions for normalizing Unicode strings.")
|
||||
(home-page "https://go.googlesource.com/text")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-github-com-audriusbutkevicius-pfilter
|
||||
(let ((commit "9dca34a5b530bfc9843fa8aa2ff08ff9821032cb")
|
||||
(revision "2"))
|
||||
|
@ -1578,33 +1040,6 @@ error handling primitives in Go.")
|
|||
(home-page "https://github.com/pkg/errors")
|
||||
(license bsd-2))))
|
||||
|
||||
(define-public go-golang-org-x-time-rate
|
||||
(let ((commit "6dc17368e09b0e8634d71cac8168d853e869a0c7")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-x-time-rate")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/time")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1fx4cf5fpdz00g3c7vxzy92hdcg0vh4yqw00qp5s52j72qixynbk"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/time/rate"
|
||||
#:unpack-path "golang.org/x/time"))
|
||||
(propagated-inputs
|
||||
`(("go-golang-org-x-net-context" ,go-golang-org-x-net-context)))
|
||||
(synopsis "Rate limiting in Go")
|
||||
(description "This package provides @{rate}, which implements rate
|
||||
limiting in Go.")
|
||||
(home-page "https://godoc.org/golang.org/x/time/rate")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-github-com-petermattis-goid
|
||||
(let ((commit "3db12ebb2a599ba4a96bea1c17b61c2f78a40e02")
|
||||
(revision "0"))
|
||||
|
|
|
@ -441,11 +441,11 @@ embedded kernel situations.")
|
|||
(license license:expat)))
|
||||
|
||||
(define-public cool-retro-term
|
||||
(let ((commit "e48719fa44e5307df71dbd0fad234f8a6a53f863")
|
||||
(let ((commit "dd799cf5c0eda92cf44f3938c0c2dcae5651a99e")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "cool-retro-term")
|
||||
(version (string-append "1.0.0-" revision "." (string-take commit 7)))
|
||||
(version (string-append "1.0.1-" revision "." (string-take commit 7)))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
|
@ -454,35 +454,111 @@ embedded kernel situations.")
|
|||
(commit commit)
|
||||
(recursive? #t)))
|
||||
(sha256
|
||||
(base32 "1sgqbirninkvgwchr35zgn5vzqvsmrf3cp7lqady1xgrawb8lsz3"))
|
||||
(base32 "08mrvj8zk9ck15q90ipjzza1acnnsjhprv2rxg8yyck0xl9p40jd"))
|
||||
(patches
|
||||
(search-patches "cool-retro-term-remove-non-free-fonts.patch"
|
||||
"cool-retro-term-fix-array-size.patch"
|
||||
(search-patches "cool-retro-term-fix-array-size.patch"
|
||||
"cool-retro-term-dont-check-uninit-member.patch"
|
||||
"cool-retro-term-memory-leak-1.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(modules '((guix build utils)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26)
|
||||
(ice-9 rdelim)
|
||||
(ice-9 regex)))
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each (lambda (font)
|
||||
(delete-file-recursively
|
||||
(string-append "app/qml/fonts/" font))
|
||||
(substitute* '("app/qml/resources.qrc")
|
||||
(((string-append "<file>fonts/" font ".*"))
|
||||
"")))
|
||||
'(;;"1971-ibm-3278" ; BSD 3-clause
|
||||
'(let* ((fonts '(;"1971-ibm-3278" ; BSD 3-clause
|
||||
;"1975-knight-tv" ; GPL
|
||||
"1977-apple2" ; Non-Free
|
||||
"1977-commodore-pet" ; Non-Free
|
||||
"1979-atari-400-800" ; Non-Free
|
||||
"1982-commodore64" ; Non-Free
|
||||
"1985-atari-st" ; ?
|
||||
"1985-ibm-pc-vga" ; Unclear
|
||||
;;"modern-fixedsys-excelsior" ; Redistributable
|
||||
;;"modern-hermit" ; SIL
|
||||
;;"modern-inconsolata" ; SIL
|
||||
;;"modern-pro-font-win-tweaked" ; X11
|
||||
;;"modern-proggy-tiny" ; X11
|
||||
;;"modern-terminus" ; SIL
|
||||
"modern-monaco")) ; Apple non-free
|
||||
;"modern-fixedsys-excelsior" ; Redistributable
|
||||
;"modern-hermit" ; SIL
|
||||
;"modern-inconsolata"; SIL
|
||||
;"modern-pro-font-win-tweaked" ; X11
|
||||
;"modern-proggy-tiny"; X11
|
||||
;"modern-terminus" ; SIL
|
||||
"modern-monaco")) ; Apple Non-Free
|
||||
(name-rx (make-regexp " *name: *\"([^\"]*)\""))
|
||||
(source-rx (make-regexp " *source: \"fonts/([^/]*)[^\"]*\""))
|
||||
(fontname-rx (make-regexp "\"fontName\":\"([^\"]*).*"))
|
||||
(names
|
||||
;; Gather font names from all Fonts*.qml files.
|
||||
;; These will be used to remove items from the
|
||||
;; default profiles.
|
||||
(fold
|
||||
(lambda (font-file names)
|
||||
(call-with-input-file font-file
|
||||
(lambda (port)
|
||||
(let loop ((name #f) (names names))
|
||||
(let ((line (read-line port)))
|
||||
(cond
|
||||
((eof-object? line) (pk 'names names))
|
||||
((regexp-exec name-rx line)
|
||||
=> (lambda (m)
|
||||
(loop (match:substring m 1) names)))
|
||||
((regexp-exec source-rx line)
|
||||
=> (lambda (m)
|
||||
(let ((font (match:substring m 1)))
|
||||
(if (member font fonts)
|
||||
(loop #f (lset-adjoin string=?
|
||||
names name))
|
||||
(loop #f names)))))
|
||||
(else (loop name names))))))))
|
||||
'() (find-files "app/qml" "Font.*\\.qml"))))
|
||||
;; Remove the font files themselves
|
||||
(for-each (lambda (font)
|
||||
(delete-file-recursively
|
||||
(string-append "app/qml/fonts/" font)))
|
||||
fonts)
|
||||
;; Remove mention of those fonts in the source
|
||||
(substitute* "app/qml/resources.qrc"
|
||||
(((string-append " *<file>fonts/("
|
||||
(string-join fonts "|")
|
||||
").*"))
|
||||
""))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(let ((start-rx (make-regexp " *ListElement\\{"))
|
||||
(end-rx (make-regexp " *\\}")))
|
||||
(with-atomic-file-replacement file
|
||||
(lambda (in out)
|
||||
(let loop ((line-buffer '())
|
||||
(hold? #f)
|
||||
(discard? #f))
|
||||
(let ((line (read-line in 'concat)))
|
||||
(cond
|
||||
((eof-object? line) #t) ;done
|
||||
((regexp-exec start-rx line)
|
||||
(loop (cons line line-buffer) #t #f))
|
||||
((or (regexp-exec source-rx line)
|
||||
(regexp-exec fontname-rx line))
|
||||
=> (lambda (m)
|
||||
(let ((font-or-name (match:substring m 1)))
|
||||
(if (or (member font-or-name fonts)
|
||||
(member font-or-name names))
|
||||
(loop '() #f #t)
|
||||
(loop (cons line line-buffer)
|
||||
hold? #f)))))
|
||||
((regexp-exec end-rx line)
|
||||
(unless discard?
|
||||
(for-each (cut display <> out)
|
||||
(reverse line-buffer))
|
||||
(display line out))
|
||||
(loop '() #f #f))
|
||||
(hold? (loop (cons line line-buffer)
|
||||
hold? discard?))
|
||||
(discard? (loop line-buffer #f #t))
|
||||
(else (display line out)
|
||||
(loop '() #f #f)))))))))
|
||||
'("app/qml/FontPixels.qml"
|
||||
"app/qml/FontScanlines.qml"
|
||||
"app/qml/Fonts.qml"
|
||||
"app/qml/ApplicationSettings.qml"))
|
||||
;; Final substitution for default scanline and pixel fonts
|
||||
(substitute* "app/qml/ApplicationSettings.qml"
|
||||
(("COMMODORE_PET") "PROGGY_TINY"))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
@ -495,46 +571,37 @@ embedded kernel situations.")
|
|||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share")))
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* '("qmltermwidget/qmltermwidget.pro")
|
||||
(("INSTALL_DIR = \\$\\$\\[QT_INSTALL_QML\\]")
|
||||
(string-append "INSTALL_DIR = " out "/lib/qt5/qml")))
|
||||
(substitute* '("app/app.pro")
|
||||
(("target.path \\+= /usr")
|
||||
(string-append "target.path += " out))
|
||||
(("icon32.path = /usr/share")
|
||||
(string-append "icon32.path = " share))
|
||||
(("icon64.path = /usr/share")
|
||||
(string-append "icon64.path = " share))
|
||||
(("icon128.path = /usr/share")
|
||||
(string-append "icon128.path = " share))
|
||||
(("icon256.path = /usr/share")
|
||||
(string-append "icon256.path = " share)))
|
||||
(zero? (system* "qmake")))))
|
||||
(add-before 'install 'fix-Makefiles
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(substitute* '("Makefile")
|
||||
(("\\$\\(INSTALL_ROOT\\)/usr") out)))))
|
||||
(substitute* '("cool-retro-term.pro" "app/app.pro")
|
||||
(("/usr") out))
|
||||
(invoke "qmake"))))
|
||||
(add-after 'install 'wrap-executable
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(qml "/lib/qt5/qml"))
|
||||
(wrap-program (string-append out "/bin/cool-retro-term")
|
||||
`("QML2_IMPORT_PATH" ":" prefix
|
||||
(,(string-append out qml)
|
||||
,(string-append
|
||||
(assoc-ref inputs "qtdeclarative") qml)
|
||||
,(string-append
|
||||
(assoc-ref inputs "qtgraphicaleffects") qml)
|
||||
,(string-append
|
||||
(assoc-ref inputs "qtquickcontrols") qml)))))))
|
||||
,@(map (lambda (i)
|
||||
(string-append (assoc-ref inputs i) qml))
|
||||
'("qtdeclarative"
|
||||
"qtgraphicaleffects"
|
||||
"qtquickcontrols")))))
|
||||
#t)))
|
||||
(add-after 'install 'add-alternate-name
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((bin (string-append (assoc-ref outputs "out") "/bin")))
|
||||
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
|
||||
(symlink (string-append bin "/cool-retro-term")
|
||||
(string-append bin "/crt"))))))))
|
||||
(string-append bin "/crt")))))
|
||||
(add-after 'install 'install-man
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((mandir (string-append (assoc-ref outputs "out")
|
||||
"/share/man/man1")))
|
||||
(install-file "packaging/debian/cool-retro-term.1" mandir)
|
||||
#t))))))
|
||||
(synopsis "Terminal emulator")
|
||||
(description
|
||||
"Cool-retro-term (crt) is a terminal emulator which mimics the look and
|
||||
|
|
|
@ -26,9 +26,8 @@
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages ncurses))
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages perl))
|
||||
|
||||
(define-public texinfo
|
||||
(package
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
|
||||
;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
|
||||
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2017, 2018 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2017 Feng Shu <tumashu@163.com>
|
||||
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
|
||||
;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.org>
|
||||
|
@ -38,9 +38,11 @@
|
|||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages libbsd)
|
||||
#:use-module (gnu packages libreoffice)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages regex)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages terminals)
|
||||
|
@ -98,24 +100,22 @@ based command language.")
|
|||
license:expat)))) ; lexers and libutf.[ch]
|
||||
|
||||
(define-public kakoune
|
||||
(let ((commit "125c8b7e80995732e0d8c87b82040025748f1b4f")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "kakoune")
|
||||
(version (string-append "0.0.0-" revision "." (string-take commit 7)))
|
||||
(version "2018.04.13")
|
||||
(source
|
||||
(origin
|
||||
(file-name (string-append "kakoune-" version "-checkout"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mawww/kakoune.git")
|
||||
(commit commit)))
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/mawww/kakoune/"
|
||||
"releases/download/v" version "/"
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"19qs99l8r9p1vi5pxxx9an22fvi7xx40qw3jh2cnh2mbacawvdyb"))))
|
||||
"1kkzs5nrjxzd1jq7a4k7qfb5kg05871z0r3d9c0yhz9shf6wz36d"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
`(#:make-flags
|
||||
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-source
|
||||
|
@ -129,18 +129,16 @@ based command language.")
|
|||
(string-append "m_shell = \"" (which "sh")
|
||||
"\";\n " line)))
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(delete 'configure) ; no configure script
|
||||
;; kakoune requires us to be in the src/ directory to build
|
||||
(add-before 'build 'chdir
|
||||
(lambda _ (chdir "src") #t))
|
||||
(add-before 'check 'fix-test-permissions
|
||||
(lambda _
|
||||
;; Out git downloader doesn't give us write permissions, but
|
||||
;; without them the tests fail.
|
||||
(zero? (system* "chmod" "-R" "u+w" "../test")))))))
|
||||
(native-inputs `(("asciidoc" ,asciidoc)
|
||||
(lambda _ (chdir "src") #t)))))
|
||||
(native-inputs
|
||||
`(("asciidoc" ,asciidoc)
|
||||
("pkg-config" ,pkg-config)
|
||||
("ruby" ,ruby)))
|
||||
(inputs `(("ncurses" ,ncurses)
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)
|
||||
("boost" ,boost)))
|
||||
(synopsis "Vim-inspired code editor")
|
||||
(description
|
||||
|
@ -150,12 +148,12 @@ editing language\" model. Kakoune has a strong focus on interactivity, most
|
|||
commands provide immediate and incremental results, while still being
|
||||
competitive (as in keystroke count) with Vim.")
|
||||
(home-page "http://kakoune.org/")
|
||||
(license license:unlicense))))
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public joe
|
||||
(package
|
||||
(name "joe")
|
||||
(version "4.4")
|
||||
(version "4.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -164,7 +162,7 @@ competitive (as in keystroke count) with Vim.")
|
|||
"joe-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0y898r1xlrv75m00y598rvwwsricabplyh80wawsqafapcl4hw55"))))
|
||||
"1pmr598xxxm9j9dl93kq4dv36zyw0q2dh6d7x07hf134y9hhlnj9"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("ncurses" ,ncurses)))
|
||||
(home-page "http://joe-editor.sourceforge.net/")
|
||||
|
@ -292,3 +290,55 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on
|
|||
compatible. This is a portable version of the mg maintained by the OpenBSD
|
||||
team.")
|
||||
(license license:public-domain)))
|
||||
|
||||
(define-public ghostwriter
|
||||
(package
|
||||
(name "ghostwriter")
|
||||
(version "1.6.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/wereturtle/ghostwriter.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ihdr4xk0j83q83xknbikxb7yf9qhlkgvc89w33lhj090cv376gd"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("qttools" ,qttools))) ;for lrelease
|
||||
(inputs
|
||||
`(("hunspell" ,hunspell)
|
||||
("qtbase" ,qtbase)
|
||||
("qtmultimedia" ,qtmultimedia)
|
||||
("qtsvg" ,qtsvg)
|
||||
("qtwebkit" ,qtwebkit)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "qmake" (string-append "PREFIX=" out)))))
|
||||
(add-after 'configure 'create-translations
|
||||
(lambda _
|
||||
;; `lrelease` will not overwrite, so delete existing .qm files
|
||||
(for-each delete-file (find-files "translations" ".*\\.qm"))
|
||||
(apply invoke "lrelease" (find-files "translations" ".*\\.ts"))))
|
||||
;; Ensure that icons are found at runtime.
|
||||
(add-after 'install 'wrap-executable
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(wrap-program (string-append out "/bin/ghostwriter")
|
||||
`("QT_PLUGIN_PATH" ":" prefix
|
||||
,(map (lambda (label)
|
||||
(string-append (assoc-ref inputs label)
|
||||
"/lib/qt5/plugins/"))
|
||||
'("qtsvg" "qtmultimedia"))))))))))
|
||||
(home-page "https://wereturtle.github.io/ghostwriter/")
|
||||
(synopsis "Write without distractions")
|
||||
(description
|
||||
"@code{ghostwriter} provides a relaxing, distraction-free writing
|
||||
environment with Markdown markup.")
|
||||
(license license:gpl3+))) ;icons/* under CC-BY-SA3
|
||||
|
|
|
@ -695,10 +695,32 @@ arithmetic in Perl.")
|
|||
;; At your option either gpl1+ or the Artistic License
|
||||
(license license:perl-license)))
|
||||
|
||||
(define-public perl-crypt-openssl-guess
|
||||
(package
|
||||
(name "perl-crypt-openssl-guess")
|
||||
(version "0.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/A/AK/AKIYM/Crypt-OpenSSL-Guess-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rvi9l4ljcbhwwvspq019nfq2h2v746dk355h2nwnlmqikiihsxa"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/Crypt-OpenSSL-Guess/")
|
||||
(synopsis "Guess the OpenSSL include path")
|
||||
(description
|
||||
"The Crypt::OpenSSL::Guess Perl module provides helpers to guess the
|
||||
correct OpenSSL include path. It is intended for use in your
|
||||
@file{Makefile.PL}.")
|
||||
(license license:perl-license)))
|
||||
|
||||
(define-public perl-crypt-openssl-random
|
||||
(package
|
||||
(name "perl-crypt-openssl-random")
|
||||
(version "0.11")
|
||||
(version "0.13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -708,9 +730,12 @@ arithmetic in Perl.")
|
|||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yjcabkibrkafywvdkmd1xpi6br48skyk3l15ni176wvlg38335v"))))
|
||||
"0vmvrb3shrzjzri3qn524dzdasbq8zhhbpc1vmq8sx68n4jhizb0"))))
|
||||
(build-system perl-build-system)
|
||||
(inputs `(("openssl" ,openssl)))
|
||||
(native-inputs
|
||||
`(("perl-crypt-openssl-guess" ,perl-crypt-openssl-guess)))
|
||||
(inputs
|
||||
`(("openssl" ,openssl)))
|
||||
(arguments perl-crypt-arguments)
|
||||
(home-page
|
||||
"http://search.cpan.org/dist/Crypt-OpenSSL-Random")
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
(define-public tmux
|
||||
(package
|
||||
(name "tmux")
|
||||
(version "2.6")
|
||||
(version "2.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -42,7 +42,7 @@
|
|||
version "/tmux-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s6pgk63ar1swpvhs8r5fk26vav3ybsf2ll7d705hysdm5qd2z5i"))))
|
||||
"0lnlhnafvi5700afr69g6gr62pblnd440jj0hxdbrxhk0c87vvcx"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libevent" ,libevent)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
|
||||
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
|
||||
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -29,14 +29,14 @@
|
|||
(define-public miniupnpc
|
||||
(package
|
||||
(name "miniupnpc")
|
||||
(version "2.0.20180406")
|
||||
(version "2.0.20180410")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://miniupnp.tuxfamily.org/files/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "15i9lyj72wr15b3kpcqsf97mr2hajkpwvf0lz9ps9r568yyjcwlc"))))
|
||||
(base32 "08vs9012bahdwid4nsf3mi2kawcq1hvz7lzpdmiynxcbpip6sk0f"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("python" ,python-2)))
|
||||
|
|
|
@ -90,6 +90,7 @@
|
|||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages time)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages)
|
||||
|
@ -1073,7 +1074,7 @@ following features:
|
|||
(define-public subversion
|
||||
(package
|
||||
(name "subversion")
|
||||
(version "1.8.19")
|
||||
(version "1.10.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -1084,7 +1085,7 @@ following features:
|
|||
"subversion-" version ".tar.bz2")))
|
||||
(sha256
|
||||
(base32
|
||||
"1gp6426gkdza6ni2whgifjcmjb4nq34ljy07yxkrhlarvfq6ks2n"))))
|
||||
"115mlvmf663w16mc3xyypnaizq401vbypc56hl2ylzc3pcx3zwic"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -1100,6 +1101,11 @@ following features:
|
|||
(substitute* "libtool"
|
||||
(("\\\\`ls") (string-append "\\`" coreutils "/bin/ls")))
|
||||
#t)))
|
||||
(add-before 'build 'patch-test-sh
|
||||
(lambda _
|
||||
(substitute* "subversion/tests/libsvn_repos/repos-test.c"
|
||||
(("#!/bin/sh") (string-append "#!" (which "sh"))))
|
||||
#t))
|
||||
(add-after 'install 'install-perl-bindings
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Follow the instructions from 'subversion/bindings/swig/INSTALL'.
|
||||
|
@ -1126,10 +1132,12 @@ following features:
|
|||
(inputs
|
||||
`(("apr" ,apr)
|
||||
("apr-util" ,apr-util)
|
||||
("lz4" ,lz4)
|
||||
("serf" ,serf)
|
||||
("perl" ,perl)
|
||||
("python" ,python-2) ; incompatible with Python 3 (print syntax)
|
||||
("python" ,python-wrapper)
|
||||
("sqlite" ,sqlite)
|
||||
("utf8proc" ,utf8proc)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://subversion.apache.org/")
|
||||
(synopsis "Revision control system")
|
||||
|
|
|
@ -1162,7 +1162,7 @@ access to mpv's powerful playback capabilities.")
|
|||
(define-public youtube-dl
|
||||
(package
|
||||
(name "youtube-dl")
|
||||
(version "2018.03.14")
|
||||
(version "2018.04.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://yt-dl.org/downloads/"
|
||||
|
@ -1170,7 +1170,7 @@ access to mpv's powerful playback capabilities.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0j8j797gqc29fd5ra3cjvwkp8dgvigdydsj0zzjs05zccfqrj9lh"))))
|
||||
"046zg8pww2xg1yibh7c1a8jcg8f1znr4hsz1l1da03djcp6na99d"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; The problem here is that the directory for the man page and completion
|
||||
|
@ -1280,7 +1280,7 @@ other site that youtube-dl supports.")
|
|||
(define-public you-get
|
||||
(package
|
||||
(name "you-get")
|
||||
(version "0.4.1040")
|
||||
(version "0.4.1060")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1289,7 +1289,7 @@ other site that youtube-dl supports.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0257p9bn426rv0cjk2j5hsx6cg7dz5gpjwlqq0sy1axa47phis46"))))
|
||||
"1pq7c2ay42aan7ykpmddzh6ylq0qsq8a27pk68m5imaxi6abbwsz"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos
|
||||
|
|
|
@ -93,7 +93,8 @@
|
|||
(sha256
|
||||
(base32
|
||||
"11l6cs6mib16rgdrnqrhkqs033fjik316gkgfz3asbmxz38lalca"))
|
||||
(patches (search-patches "qemu-glibc-2.27.patch"))))
|
||||
(patches (search-patches "qemu-glibc-2.27.patch"
|
||||
"qemu-CVE-2018-7550.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(;; Running tests in parallel can occasionally lead to failures, like:
|
||||
|
|
|
@ -130,7 +130,7 @@ features including, tables, builtin image display, bookmarks, SSL and more.")
|
|||
(define-public lynx
|
||||
(package
|
||||
(name "lynx")
|
||||
(version "2.8.9dev.16")
|
||||
(version "2.8.9dev.17")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -138,7 +138,7 @@ features including, tables, builtin image display, bookmarks, SSL and more.")
|
|||
"/lynx" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1j0vx871ghkm7fgrafnvd2ml3ywcl8d3gyhq02fhfb851c88lc84"))))
|
||||
"1lvfsnrw5mmwrmn1m76q9mx287xwm3h5lg8sv7bcqilc0ywi2f54"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("perl" ,perl)))
|
||||
|
|
|
@ -186,14 +186,14 @@ Interface} specification.")
|
|||
(name "nginx")
|
||||
;; Consider updating the nginx-documentation package if the nginx package is
|
||||
;; updated.
|
||||
(version "1.13.11")
|
||||
(version "1.14.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://nginx.org/download/nginx-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01bgld6pv9sms9bsmx863yqw2hnivxhn91xs6imqklj48sbrqy9m"))))
|
||||
"1d9c0avfpbwvzyg53b59ks8shpnrxnbnshcd7ziizflsyv5vw5ax"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("openssl" ,openssl)
|
||||
("pcre" ,pcre)
|
||||
|
|
|
@ -55,14 +55,14 @@
|
|||
(define-public webkitgtk
|
||||
(package
|
||||
(name "webkitgtk")
|
||||
(version "2.20.0")
|
||||
(version "2.20.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.webkitgtk.org/releases/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0g0an3pc2yz13gzpaysfgch2yp510gw1qcpk0xr8m6mx43vl1xjp"))))
|
||||
"0nc9dj05dbk31ciip08b3rdsfja7ckc5mgagrj030fafza2k5r23"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no tests
|
||||
|
|
|
@ -221,7 +221,7 @@ integrate Windows applications into your desktop.")
|
|||
(define-public wine-staging-patchset-data
|
||||
(package
|
||||
(name "wine-staging-patchset-data")
|
||||
(version "3.5")
|
||||
(version "3.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -230,7 +230,7 @@ integrate Windows applications into your desktop.")
|
|||
(file-name (string-append name "-" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"1d95gzzfx87vvj85mrzv2lgg6w0m917dccja02g6vids28kf9g30"))))
|
||||
"1q5mgq7lk3sh82im65g51yk110ci9afl5wgqs2q6i8qd2nj5pv7d"))))
|
||||
(build-system trivial-build-system)
|
||||
(native-inputs
|
||||
`(("bash" ,bash)
|
||||
|
@ -277,7 +277,7 @@ integrate Windows applications into your desktop.")
|
|||
(file-name (string-append name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hr1syfhnpvcm84gmms1i26k68hakcgw4m6dvckmbbvw7ca0c8pl"))))
|
||||
"0p4h0ynb5yf8rx5badpxg7b6vsrqdqafwszn5qm0shv0kb3jsl3q"))))
|
||||
(inputs `(("autoconf" ,autoconf) ; for autoreconf
|
||||
("gtk+" ,gtk+)
|
||||
("libva" ,libva)
|
||||
|
|
|
@ -343,7 +343,7 @@ prompt.")
|
|||
(define-public i3lock-color
|
||||
(package
|
||||
(name "i3lock-color")
|
||||
(version "2.10.1c")
|
||||
(version "2.11-c")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -352,22 +352,23 @@ prompt.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"119xvdm4r6irqk0mar80hx6s8ydw26y35h7712rd7nbg7pb7i053"))))
|
||||
"0zh7il2y6dmzym3w6r9xii5dma8pjjjlq4dm5iby7m3gvplj4q9p"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ;no tests included
|
||||
(inputs
|
||||
`(("xcb-util-image" ,xcb-util-image)
|
||||
("xcb-util" ,xcb-util)
|
||||
("libxcb" ,libxcb)
|
||||
("linux-pam" ,linux-pam)
|
||||
("libxkbcommon" ,libxkbcommon)
|
||||
`(("cairo" ,cairo)
|
||||
("libev" ,libev)
|
||||
("cairo" ,cairo)))
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("libxcb" ,libxcb)
|
||||
("libxkbcommon" ,libxkbcommon)
|
||||
("linux-pam" ,linux-pam)
|
||||
("xcb-util" ,xcb-util)
|
||||
("xcb-util-image" ,xcb-util-image)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("autoconf" ,autoconf)
|
||||
("automake" ,automake)))
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/PandorasFox/i3lock-color")
|
||||
(synopsis "Screen locker with color configuration support")
|
||||
(description
|
||||
|
@ -499,15 +500,18 @@ tiled on several screens.")
|
|||
(define-public xmobar
|
||||
(package
|
||||
(name "xmobar")
|
||||
(version "0.25")
|
||||
(version "0.26")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://hackage/package/xmobar/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0382r4vzqkz76jlp2069rdbwf4gh1a22r9w4rkphcn5qflw0dlb6"))))
|
||||
"19g40vqj3cs94i27f66194k7d5cazrv1lx54bz9kc0qy2npxjzgz"))))
|
||||
(build-system haskell-build-system)
|
||||
(native-inputs
|
||||
`(("ghc-hspec" ,ghc-hspec)
|
||||
("hspec-discover" ,hspec-discover)))
|
||||
(inputs
|
||||
`(("ghc-hinotify" ,ghc-hinotify)
|
||||
("ghc-http" ,ghc-http)
|
||||
|
|
|
@ -983,7 +983,7 @@ color temperature should be set to match the lamps in your room.")
|
|||
(define-public xscreensaver
|
||||
(package
|
||||
(name "xscreensaver")
|
||||
(version "5.38")
|
||||
(version "5.39")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -992,7 +992,7 @@ color temperature should be set to match the lamps in your room.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1f58h5rgjbxr4hh40m6zkpkzbzg68l7nqzjwal0b17yysafbmsf6"))))
|
||||
"09i47h4hdgwxyqgrsnshl4l5dv5mrsp37h705cc22lwby601ikj8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -32,7 +32,7 @@
|
|||
(define-public xfig
|
||||
(package
|
||||
(name "xfig")
|
||||
(version "3.2.6a")
|
||||
(version "3.2.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -40,7 +40,7 @@
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0z1636w27hvgjpq98z40k8h535b4x2xr2whkvr7bibaa89fynym8"))))
|
||||
"0anlrr68knr401j7z76k6hx33w16l02dzb7szdkrc4rb2gj1rs2z"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
;; For tests.
|
||||
|
|
|
@ -824,7 +824,7 @@ the form of functions.")
|
|||
(define-public pugixml
|
||||
(package
|
||||
(name "pugixml")
|
||||
(version "1.8.1")
|
||||
(version "1.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -832,13 +832,13 @@ the form of functions.")
|
|||
version "/pugixml-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fcgggry5x5bn0zhb09ij9hb0p45nb0sv0d9fw3cm1cf62hp9n80"))))
|
||||
"19nv3zhik3djp4blc4vrjwrl8dfhzmal8b21sq7y907nhddx6mni"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-DCMAKE_CXX_FLAGS=-shared -fPIC"
|
||||
"-DCMAKE_C_FLAGS=-shared -fPIC")
|
||||
#:tests? #f)) ; no tests
|
||||
(home-page "http://pugixml.org")
|
||||
(home-page "https://pugixml.org")
|
||||
(synopsis "Light-weight, simple and fast XML parser for C++ with XPath support")
|
||||
(description
|
||||
"pugixml is a C++ XML processing library, which consists of a DOM-like
|
||||
|
|
|
@ -5726,7 +5726,7 @@ to answer a question. Xmessage can also exit after a specified time.")
|
|||
(define-public xterm
|
||||
(package
|
||||
(name "xterm")
|
||||
(version "331")
|
||||
(version "332")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list
|
||||
|
@ -5736,7 +5736,7 @@ to answer a question. Xmessage can also exit after a specified time.")
|
|||
name "-" version ".tgz")))
|
||||
(sha256
|
||||
(base32
|
||||
"047gk58hvj64974sg259ss5gixj7pac6halmjfz4cc6r1yimds4s"))))
|
||||
"0zdjiik4ravc3zld5c9i2ndrvazjmwiwbgl2c21348762wki2jsx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts"
|
||||
|
|
|
@ -478,11 +478,12 @@ in a loop. See <http://bugs.gnu.org/26931>.")
|
|||
(define %mcron-os
|
||||
;; System with an mcron service, with one mcron job for "root" and one mcron
|
||||
;; job for an unprivileged user.
|
||||
(let ((job1 #~(job next-second-from
|
||||
(let ((job1 #~(job '(next-second '(0 5 10 15 20 25 30 35 40 45 50 55))
|
||||
(lambda ()
|
||||
(unless (file-exists? "witness")
|
||||
(call-with-output-file "witness"
|
||||
(lambda (port)
|
||||
(display (list (getuid) (getgid)) port))))))
|
||||
(display (list (getuid) (getgid)) port)))))))
|
||||
(job2 #~(job next-second-from
|
||||
(lambda ()
|
||||
(call-with-output-file "witness"
|
||||
|
|
|
@ -84,8 +84,7 @@
|
|||
#:key source
|
||||
(tests? #f)
|
||||
(parallel-tests? #t)
|
||||
(test-target "test")
|
||||
(configure-flags ''())
|
||||
(test-command ''("make" "check"))
|
||||
(phases '(@ (guix build emacs-build-system)
|
||||
%standard-phases))
|
||||
(outputs '("out"))
|
||||
|
@ -110,9 +109,8 @@
|
|||
source)
|
||||
(source
|
||||
source))
|
||||
#:configure-flags ,configure-flags
|
||||
#:system ,system
|
||||
#:test-target ,test-target
|
||||
#:test-command ,test-command
|
||||
#:tests? ,tests?
|
||||
#:phases ,phases
|
||||
#:outputs %outputs
|
||||
|
|
|
@ -74,12 +74,37 @@ archive, a directory, or an Emacs Lisp file."
|
|||
#t)
|
||||
(gnu:unpack #:source source)))
|
||||
|
||||
(define* (set-emacs-load-path #:key inputs #:allow-other-keys)
|
||||
(define* (set-emacs-load-path #:key source inputs #:allow-other-keys)
|
||||
(define (inputs->directories inputs)
|
||||
"Extract the directory part from INPUTS."
|
||||
(match inputs
|
||||
(((names . directories) ...) directories)))
|
||||
|
||||
(define (input-directory->el-directory input-directory)
|
||||
"Return the correct Emacs Lisp directory in INPUT-DIRECTORY or #f, if there
|
||||
is no Emacs Lisp directory."
|
||||
(let ((legacy-elisp-directory (string-append input-directory %legacy-install-suffix))
|
||||
(guix-elisp-directory
|
||||
(string-append
|
||||
input-directory %install-suffix "/"
|
||||
(store-directory->elpa-name-version input-directory))))
|
||||
(cond
|
||||
((file-exists? guix-elisp-directory) guix-elisp-directory)
|
||||
((file-exists? legacy-elisp-directory) legacy-elisp-directory)
|
||||
(else #f))))
|
||||
|
||||
(define (input-directories->el-directories input-directories)
|
||||
"Return the list of Emacs Lisp directories in INPUT-DIRECTORIES."
|
||||
(filter-map input-directory->el-directory input-directories))
|
||||
|
||||
"Set the EMACSLOADPATH environment variable so that dependencies are found."
|
||||
(let* ((input-elisp-dirs (emacs-inputs-el-directories
|
||||
(emacs-inputs-directories inputs)))
|
||||
(emacs-load-path-value (string-join
|
||||
input-elisp-dirs ":" 'suffix)))
|
||||
(let* ((source-directory (getcwd))
|
||||
(input-elisp-directories (input-directories->el-directories
|
||||
(inputs->directories inputs)))
|
||||
(emacs-load-path-value
|
||||
(string-join
|
||||
(append input-elisp-directories (list source-directory))
|
||||
":" 'suffix)))
|
||||
(setenv "EMACSLOADPATH" emacs-load-path-value)
|
||||
(format #t "environment variable `EMACSLOADPATH' set to ~a\n"
|
||||
emacs-load-path-value)))
|
||||
|
@ -133,6 +158,24 @@ store in '.el' files."
|
|||
(substitute-program-names))))
|
||||
#t))
|
||||
|
||||
(define* (check #:key tests? (test-command '("make" "check"))
|
||||
(parallel-tests? #t) #:allow-other-keys)
|
||||
"Run the tests by invoking TEST-COMMAND.
|
||||
|
||||
When TEST-COMMAND uses make and PARALLEL-TESTS is #t, the tests are run in
|
||||
parallel. PARALLEL-TESTS? is ignored when using a non-make TEST-COMMAND."
|
||||
(match-let (((test-program . args) test-command))
|
||||
(let ((using-make? (string=? test-program "make")))
|
||||
(if tests?
|
||||
(apply invoke test-program
|
||||
`(,@args
|
||||
,@(if (and using-make? parallel-tests?)
|
||||
`("-j" ,(number->string (parallel-job-count)))
|
||||
'())))
|
||||
(begin
|
||||
(format #t "test suite not run~%")
|
||||
#t)))))
|
||||
|
||||
(define* (install #:key outputs
|
||||
(include %default-include)
|
||||
(exclude %default-exclude)
|
||||
|
@ -203,47 +246,12 @@ store in '.el' files."
|
|||
(elpa-name (package-name->name+version elpa-name-ver))
|
||||
(el-dir (string-append out %install-suffix "/" elpa-name-ver)))
|
||||
(parameterize ((%emacs emacs))
|
||||
(emacs-generate-autoloads elpa-name el-dir))
|
||||
#t))
|
||||
(emacs-generate-autoloads elpa-name el-dir))))
|
||||
|
||||
(define (emacs-package? name)
|
||||
"Check if NAME correspond to the name of an Emacs package."
|
||||
(string-prefix? "emacs-" name))
|
||||
|
||||
(define (emacs-inputs inputs)
|
||||
"Retrieve the list of Emacs packages from INPUTS."
|
||||
(filter (match-lambda
|
||||
((label . directory)
|
||||
(emacs-package? ((compose package-name->name+version
|
||||
strip-store-file-name)
|
||||
directory)))
|
||||
(_ #f))
|
||||
inputs))
|
||||
|
||||
(define (emacs-inputs-directories inputs)
|
||||
"Extract the list of Emacs package directories from INPUTS."
|
||||
(let ((inputs (emacs-inputs inputs)))
|
||||
(match inputs
|
||||
(((names . directories) ...) directories))))
|
||||
|
||||
(define (emacs-input->el-directory emacs-input)
|
||||
"Return the correct Elisp directory location of EMACS-INPUT or #f if none."
|
||||
(let ((legacy-elisp-dir (string-append emacs-input %legacy-install-suffix))
|
||||
(guix-elisp-dir (string-append
|
||||
emacs-input %install-suffix "/"
|
||||
(store-directory->elpa-name-version emacs-input))))
|
||||
(cond
|
||||
((file-exists? guix-elisp-dir) guix-elisp-dir)
|
||||
((file-exists? legacy-elisp-dir) legacy-elisp-dir)
|
||||
(else (format #t "warning: could not locate elisp directory under `~a'\n"
|
||||
emacs-input)
|
||||
#f))))
|
||||
|
||||
(define (emacs-inputs-el-directories dirs)
|
||||
"Build the list of Emacs Lisp directories from the Emacs package directory
|
||||
DIRS."
|
||||
(filter-map emacs-input->el-directory dirs))
|
||||
|
||||
(define (package-name-version->elpa-name-version name-ver)
|
||||
"Convert the Guix package NAME-VER to the corresponding ELPA name-version
|
||||
format. Essentially drop the prefix used in Guix."
|
||||
|
@ -260,13 +268,14 @@ second hyphen. This corresponds to 'name-version' as used in ELPA packages."
|
|||
|
||||
(define %standard-phases
|
||||
(modify-phases gnu:%standard-phases
|
||||
(add-after 'set-paths 'set-emacs-load-path set-emacs-load-path)
|
||||
(replace 'unpack unpack)
|
||||
(add-after 'unpack 'set-emacs-load-path set-emacs-load-path)
|
||||
(delete 'bootstrap)
|
||||
(delete 'configure)
|
||||
;; Move the build phase after install: the .el files are byte compiled
|
||||
;; directly in the store.
|
||||
(delete 'build)
|
||||
(replace 'check check)
|
||||
(replace 'install install)
|
||||
(add-after 'install 'build build)
|
||||
(add-after 'install 'make-autoloads make-autoloads)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
|
|
@ -54,7 +54,9 @@ static FdSink to(STDOUT_FILENO);
|
|||
|
||||
bool canSendStderr;
|
||||
|
||||
|
||||
/* This variable is used to keep track of whether a connection
|
||||
comes from a host other than the host running guix-daemon. */
|
||||
static bool isRemoteConnection;
|
||||
|
||||
/* This function is called anytime we want to write something to
|
||||
stderr. If we're in a state where the protocol allows it (i.e.,
|
||||
|
@ -529,6 +531,11 @@ static void performOp(bool trusted, unsigned int clientVersion,
|
|||
}
|
||||
|
||||
case wopCollectGarbage: {
|
||||
if (isRemoteConnection) {
|
||||
throw Error("Garbage collection is disabled for remote hosts.");
|
||||
break;
|
||||
}
|
||||
|
||||
GCOptions options;
|
||||
options.action = (GCOptions::GCAction) readInt(from);
|
||||
options.pathsToDelete = readStorePaths<PathSet>(from);
|
||||
|
@ -934,6 +941,7 @@ static void acceptConnection(int fdSocket)
|
|||
connection. Setting these to -1 means: do not change. */
|
||||
settings.clientUid = clientUid;
|
||||
settings.clientGid = clientGid;
|
||||
isRemoteConnection = (remoteAddr.ss_family != AF_UNIX);
|
||||
|
||||
/* Handle the connection. */
|
||||
from.fd = remote;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,962 @@
|
|||
# SOME DESCRIPTIVE TITLE
|
||||
# Copyright (C) YEAR Ludovic Courtès
|
||||
# This file is distributed under the same license as the guix package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: guix 0.14.0.4279-63c2a\n"
|
||||
"Report-Msgid-Bugs-To: ludo@gnu.org\n"
|
||||
"POT-Creation-Date: 2018-04-19 21:17+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. type: chapter
|
||||
#: doc/contributing.texi:1 doc/contributing.texi:2
|
||||
#, no-wrap
|
||||
msgid "Contributing"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:9
|
||||
msgid ""
|
||||
"This project is a cooperative effort, and we need your help to make it grow! "
|
||||
"Please get in touch with us on @email{guix-devel@@gnu.org} and @code{#guix} "
|
||||
"on the Freenode IRC network. We welcome ideas, bug reports, patches, and "
|
||||
"anything that may be helpful to the project. We particularly welcome help "
|
||||
"on packaging (@pxref{Packaging Guidelines})."
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:10
|
||||
#, no-wrap
|
||||
msgid "code of conduct, of contributors"
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:11
|
||||
#, no-wrap
|
||||
msgid "contributor covenant"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:17
|
||||
msgid ""
|
||||
"We want to provide a warm, friendly, and harassment-free environment, so "
|
||||
"that anyone can contribute to the best of their abilities. To this end our "
|
||||
"project uses a ``Contributor Covenant'', which was adapted from "
|
||||
"@url{http://contributor-covenant.org/}. You can find a local version in the "
|
||||
"@file{CODE-OF-CONDUCT} file in the source tree."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:21
|
||||
msgid ""
|
||||
"Contributors are not required to use their legal name in patches and on-line "
|
||||
"communication; they can use any name or pseudonym of their choice."
|
||||
msgstr ""
|
||||
|
||||
#. type: section
|
||||
#: doc/contributing.texi:28 doc/contributing.texi:30 doc/contributing.texi:31
|
||||
#, no-wrap
|
||||
msgid "Building from Git"
|
||||
msgstr ""
|
||||
|
||||
#. type: menuentry
|
||||
#: doc/contributing.texi:28
|
||||
msgid "The latest and greatest."
|
||||
msgstr ""
|
||||
|
||||
#. type: section
|
||||
#: doc/contributing.texi:28 doc/contributing.texi:102 doc/contributing.texi:103
|
||||
#, no-wrap
|
||||
msgid "Running Guix Before It Is Installed"
|
||||
msgstr ""
|
||||
|
||||
#. type: menuentry
|
||||
#: doc/contributing.texi:28
|
||||
msgid "Hacker tricks."
|
||||
msgstr ""
|
||||
|
||||
#. type: section
|
||||
#: doc/contributing.texi:28 doc/contributing.texi:169 doc/contributing.texi:170
|
||||
#, no-wrap
|
||||
msgid "The Perfect Setup"
|
||||
msgstr ""
|
||||
|
||||
#. type: menuentry
|
||||
#: doc/contributing.texi:28
|
||||
msgid "The right tools."
|
||||
msgstr ""
|
||||
|
||||
#. type: section
|
||||
#: doc/contributing.texi:28 doc/contributing.texi:228 doc/contributing.texi:229
|
||||
#, no-wrap
|
||||
msgid "Coding Style"
|
||||
msgstr ""
|
||||
|
||||
#. type: menuentry
|
||||
#: doc/contributing.texi:28
|
||||
msgid "Hygiene of the contributor."
|
||||
msgstr ""
|
||||
|
||||
#. type: section
|
||||
#: doc/contributing.texi:28 doc/contributing.texi:319 doc/contributing.texi:320
|
||||
#, no-wrap
|
||||
msgid "Submitting Patches"
|
||||
msgstr ""
|
||||
|
||||
#. type: menuentry
|
||||
#: doc/contributing.texi:28
|
||||
msgid "Share your work."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:35
|
||||
msgid ""
|
||||
"If you want to hack Guix itself, it is recommended to use the latest version "
|
||||
"from the Git repository:"
|
||||
msgstr ""
|
||||
|
||||
#. type: example
|
||||
#: doc/contributing.texi:38
|
||||
#, no-wrap
|
||||
msgid "git clone https://git.savannah.gnu.org/git/guix.git\n"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:43
|
||||
msgid ""
|
||||
"When building Guix from a checkout, the following packages are required in "
|
||||
"addition to those mentioned in the installation instructions "
|
||||
"(@pxref{Requirements})."
|
||||
msgstr ""
|
||||
|
||||
#. type: item
|
||||
#: doc/contributing.texi:45
|
||||
#, no-wrap
|
||||
msgid "@url{http://gnu.org/software/autoconf/, GNU Autoconf};"
|
||||
msgstr ""
|
||||
|
||||
#. type: item
|
||||
#: doc/contributing.texi:46
|
||||
#, no-wrap
|
||||
msgid "@url{http://gnu.org/software/automake/, GNU Automake};"
|
||||
msgstr ""
|
||||
|
||||
#. type: item
|
||||
#: doc/contributing.texi:47
|
||||
#, no-wrap
|
||||
msgid "@url{http://gnu.org/software/gettext/, GNU Gettext};"
|
||||
msgstr ""
|
||||
|
||||
#. type: item
|
||||
#: doc/contributing.texi:48
|
||||
#, no-wrap
|
||||
msgid "@url{http://gnu.org/software/texinfo/, GNU Texinfo};"
|
||||
msgstr ""
|
||||
|
||||
#. type: item
|
||||
#: doc/contributing.texi:49
|
||||
#, no-wrap
|
||||
msgid "@url{http://www.graphviz.org/, Graphviz};"
|
||||
msgstr ""
|
||||
|
||||
#. type: item
|
||||
#: doc/contributing.texi:50
|
||||
#, no-wrap
|
||||
msgid "@url{http://www.gnu.org/software/help2man/, GNU Help2man (optional)}."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:57
|
||||
msgid ""
|
||||
"The easiest way to set up a development environment for Guix is, of course, "
|
||||
"by using Guix! The following command starts a new shell where all the "
|
||||
"dependencies and appropriate environment variables are set up to hack on "
|
||||
"Guix:"
|
||||
msgstr ""
|
||||
|
||||
#. type: example
|
||||
#: doc/contributing.texi:60
|
||||
#, no-wrap
|
||||
msgid "guix environment guix\n"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:64
|
||||
msgid ""
|
||||
"@xref{Invoking guix environment}, for more information on that command. "
|
||||
"Extra dependencies can be added with @option{--ad-hoc}:"
|
||||
msgstr ""
|
||||
|
||||
#. type: example
|
||||
#: doc/contributing.texi:67
|
||||
#, no-wrap
|
||||
msgid "guix environment guix --ad-hoc help2man git strace\n"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:71
|
||||
msgid ""
|
||||
"Run @command{./bootstrap} to generate the build system infrastructure using "
|
||||
"Autoconf and Automake. If you get an error like this one:"
|
||||
msgstr ""
|
||||
|
||||
#. type: example
|
||||
#: doc/contributing.texi:74
|
||||
#, no-wrap
|
||||
msgid "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:83
|
||||
msgid ""
|
||||
"it probably means that Autoconf couldn’t find @file{pkg.m4}, which is "
|
||||
"provided by pkg-config. Make sure that @file{pkg.m4} is available. The "
|
||||
"same holds for the @file{guile.m4} set of macros provided by Guile. For "
|
||||
"instance, if you installed Automake in @file{/usr/local}, it wouldn’t look "
|
||||
"for @file{.m4} files in @file{/usr/share}. In that case, you have to invoke "
|
||||
"the following command:"
|
||||
msgstr ""
|
||||
|
||||
#. type: example
|
||||
#: doc/contributing.texi:86
|
||||
#, no-wrap
|
||||
msgid "export ACLOCAL_PATH=/usr/share/aclocal\n"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:90
|
||||
msgid ""
|
||||
"@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for more "
|
||||
"information."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:95
|
||||
msgid ""
|
||||
"Then, run @command{./configure} as usual. Make sure to pass "
|
||||
"@code{--localstatedir=@var{directory}} where @var{directory} is the "
|
||||
"@code{localstatedir} value used by your current installation (@pxref{The "
|
||||
"Store}, for information about this)."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:100
|
||||
msgid ""
|
||||
"Finally, you have to invoke @code{make check} to run tests (@pxref{Running "
|
||||
"the Test Suite}). If anything fails, take a look at installation "
|
||||
"instructions (@pxref{Installation}) or send a message to the "
|
||||
"@email{guix-devel@@gnu.org, mailing list}."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:109
|
||||
msgid ""
|
||||
"In order to keep a sane working environment, you will find it useful to test "
|
||||
"the changes made in your local source tree checkout without actually "
|
||||
"installing them. So that you can distinguish between your ``end-user'' hat "
|
||||
"and your ``motley'' costume."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:117
|
||||
msgid ""
|
||||
"To that end, all the command-line tools can be used even if you have not run "
|
||||
"@code{make install}. To do that, prefix each command with "
|
||||
"@command{./pre-inst-env} (the @file{pre-inst-env} script lives in the top "
|
||||
"build tree of Guix), as in@footnote{The @option{-E} flag to @command{sudo} "
|
||||
"guarantees that @code{GUILE_LOAD_PATH} is correctly set such that "
|
||||
"@command{guix-daemon} and the tools it uses can find the Guile modules they "
|
||||
"need.}:"
|
||||
msgstr ""
|
||||
|
||||
#. type: example
|
||||
#: doc/contributing.texi:121
|
||||
#, no-wrap
|
||||
msgid ""
|
||||
"$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n"
|
||||
"$ ./pre-inst-env guix build hello\n"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:125
|
||||
msgid "Similarly, for a Guile session using the Guix modules:"
|
||||
msgstr ""
|
||||
|
||||
#. type: example
|
||||
#: doc/contributing.texi:128
|
||||
#, no-wrap
|
||||
msgid ""
|
||||
"$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk "
|
||||
"(%current-system))'\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
|
||||
#. type: example
|
||||
#: doc/contributing.texi:130
|
||||
#, no-wrap
|
||||
msgid ";;; (\"x86_64-linux\")\n"
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:133
|
||||
#, no-wrap
|
||||
msgid "REPL"
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:134
|
||||
#, no-wrap
|
||||
msgid "read-eval-print loop"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:137
|
||||
msgid ""
|
||||
"@dots{} and for a REPL (@pxref{Using Guile Interactively,,, guile, Guile "
|
||||
"Reference Manual}):"
|
||||
msgstr ""
|
||||
|
||||
#. type: example
|
||||
#: doc/contributing.texi:152
|
||||
#, no-wrap
|
||||
msgid ""
|
||||
"$ ./pre-inst-env guile\n"
|
||||
"scheme@@(guile-user)> ,use(guix)\n"
|
||||
"scheme@@(guile-user)> ,use(gnu)\n"
|
||||
"scheme@@(guile-user)> (define snakes\n"
|
||||
" (fold-packages\n"
|
||||
" (lambda (package lst)\n"
|
||||
" (if (string-prefix? \"python\"\n"
|
||||
" (package-name package))\n"
|
||||
" (cons package lst)\n"
|
||||
" lst))\n"
|
||||
" '()))\n"
|
||||
"scheme@@(guile-user)> (length snakes)\n"
|
||||
"$1 = 361\n"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:156
|
||||
msgid ""
|
||||
"The @command{pre-inst-env} script sets up all the environment variables "
|
||||
"necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:167
|
||||
msgid ""
|
||||
"Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the "
|
||||
"local source tree; it simply updates the @file{~/.config/guix/latest} "
|
||||
"symlink (@pxref{Invoking guix pull}). Run @command{git pull} instead if you "
|
||||
"want to upgrade your local source tree.@footnote{If you would like to set up "
|
||||
"@command{guix} to use your Git checkout, you can point the "
|
||||
"@file{~/.config/guix/latest} symlink to your Git checkout directory. If you "
|
||||
"are the sole user of your system, you may also consider pointing the "
|
||||
"@file{/root/.config/guix/latest} symlink to point to "
|
||||
"@file{~/.config/guix/latest}; this way it will always use the same "
|
||||
"@command{guix} as your user does.}"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:177
|
||||
msgid ""
|
||||
"The Perfect Setup to hack on Guix is basically the perfect setup used for "
|
||||
"Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference "
|
||||
"Manual}). First, you need more than an editor, you need "
|
||||
"@url{http://www.gnu.org/software/emacs, Emacs}, empowered by the wonderful "
|
||||
"@url{http://nongnu.org/geiser/, Geiser}."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:185
|
||||
msgid ""
|
||||
"Geiser allows for interactive and incremental development from within Emacs: "
|
||||
"code compilation and evaluation from within buffers, access to on-line "
|
||||
"documentation (docstrings), context-sensitive completion, @kbd{M-.} to jump "
|
||||
"to an object definition, a REPL to try out your code, and more "
|
||||
"(@pxref{Introduction,,, geiser, Geiser User Manual}). For convenient Guix "
|
||||
"development, make sure to augment Guile’s load path so that it finds source "
|
||||
"files from your checkout:"
|
||||
msgstr ""
|
||||
|
||||
#. type: lisp
|
||||
#: doc/contributing.texi:190
|
||||
#, no-wrap
|
||||
msgid ""
|
||||
";; @r{Assuming the Guix checkout is in ~/src/guix.}\n"
|
||||
"(with-eval-after-load 'geiser-guile\n"
|
||||
" (add-to-list 'geiser-guile-load-path \"~/src/guix\"))\n"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:198
|
||||
msgid ""
|
||||
"To actually edit the code, Emacs already has a neat Scheme mode. But in "
|
||||
"addition to that, you must not miss "
|
||||
"@url{http://www.emacswiki.org/emacs/ParEdit, Paredit}. It provides "
|
||||
"facilities to directly operate on the syntax tree, such as raising an "
|
||||
"s-expression or wrapping it, swallowing or rejecting the following "
|
||||
"s-expression, etc."
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:199
|
||||
#, no-wrap
|
||||
msgid "code snippets"
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:200
|
||||
#, no-wrap
|
||||
msgid "templates"
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:201
|
||||
#, no-wrap
|
||||
msgid "reducing boilerplate"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:208
|
||||
msgid ""
|
||||
"We also provide templates for common git commit messages and package "
|
||||
"definitions in the @file{etc/snippets} directory. These templates can be "
|
||||
"used with @url{http://joaotavora.github.io/yasnippet/, YASnippet} to expand "
|
||||
"short trigger strings to interactive text snippets. You may want to add the "
|
||||
"snippets directory to the @var{yas-snippet-dirs} variable in Emacs."
|
||||
msgstr ""
|
||||
|
||||
#. type: lisp
|
||||
#: doc/contributing.texi:213
|
||||
#, no-wrap
|
||||
msgid ""
|
||||
";; @r{Assuming the Guix checkout is in ~/src/guix.}\n"
|
||||
"(with-eval-after-load 'yasnippet\n"
|
||||
" (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets\"))\n"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:220
|
||||
msgid ""
|
||||
"The commit message snippets depend on @url{https://magit.vc/, Magit} to "
|
||||
"display staged files. When editing a commit message type @code{add} "
|
||||
"followed by @kbd{TAB} to insert a commit message template for adding a "
|
||||
"package; type @code{update} followed by @kbd{TAB} to insert a template for "
|
||||
"updating a package."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:226
|
||||
msgid ""
|
||||
"The main snippet for @code{scheme-mode} is triggered by typing "
|
||||
"@code{package...} followed by @kbd{TAB}. This snippet also inserts the "
|
||||
"trigger string @code{origin...}, which can be expanded further. The "
|
||||
"@code{origin} snippet in turn may insert other trigger strings ending on "
|
||||
"@code{...}, which also can be expanded further."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:234
|
||||
msgid ""
|
||||
"In general our code follows the GNU Coding Standards (@pxref{Top,,, "
|
||||
"standards, GNU Coding Standards}). However, they do not say much about "
|
||||
"Scheme, so here are some additional rules."
|
||||
msgstr ""
|
||||
|
||||
#. type: subsection
|
||||
#: doc/contributing.texi:240 doc/contributing.texi:242 doc/contributing.texi:243
|
||||
#, no-wrap
|
||||
msgid "Programming Paradigm"
|
||||
msgstr ""
|
||||
|
||||
#. type: menuentry
|
||||
#: doc/contributing.texi:240
|
||||
msgid "How to compose your elements."
|
||||
msgstr ""
|
||||
|
||||
#. type: subsection
|
||||
#: doc/contributing.texi:240 doc/contributing.texi:249 doc/contributing.texi:250
|
||||
#, no-wrap
|
||||
msgid "Modules"
|
||||
msgstr ""
|
||||
|
||||
#. type: menuentry
|
||||
#: doc/contributing.texi:240
|
||||
msgid "Where to store your code?"
|
||||
msgstr ""
|
||||
|
||||
#. type: subsection
|
||||
#: doc/contributing.texi:240 doc/contributing.texi:260 doc/contributing.texi:261
|
||||
#, no-wrap
|
||||
msgid "Data Types and Pattern Matching"
|
||||
msgstr ""
|
||||
|
||||
#. type: menuentry
|
||||
#: doc/contributing.texi:240
|
||||
msgid "Implementing data structures."
|
||||
msgstr ""
|
||||
|
||||
#. type: subsection
|
||||
#: doc/contributing.texi:240 doc/contributing.texi:274 doc/contributing.texi:275
|
||||
#, no-wrap
|
||||
msgid "Formatting Code"
|
||||
msgstr ""
|
||||
|
||||
#. type: menuentry
|
||||
#: doc/contributing.texi:240
|
||||
msgid "Writing conventions."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:248
|
||||
msgid ""
|
||||
"Scheme code in Guix is written in a purely functional style. One exception "
|
||||
"is code that involves input/output, and procedures that implement low-level "
|
||||
"concepts, such as the @code{memoize} procedure."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:256
|
||||
msgid ""
|
||||
"Guile modules that are meant to be used on the builder side must live in the "
|
||||
"@code{(guix build @dots{})} name space. They must not refer to other Guix "
|
||||
"or GNU modules. However, it is OK for a ``host-side'' module to use a "
|
||||
"build-side module."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:259
|
||||
msgid ""
|
||||
"Modules that deal with the broader GNU system should be in the @code{(gnu "
|
||||
"@dots{})} name space rather than @code{(guix @dots{})}."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:268
|
||||
msgid ""
|
||||
"The tendency in classical Lisp is to use lists to represent everything, and "
|
||||
"then to browse them ``by hand'' using @code{car}, @code{cdr}, @code{cadr}, "
|
||||
"and co. There are several problems with that style, notably the fact that "
|
||||
"it is hard to read, error-prone, and a hindrance to proper type error "
|
||||
"reports."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:273
|
||||
msgid ""
|
||||
"Guix code should define appropriate data types (for instance, using "
|
||||
"@code{define-record-type*}) rather than abuse lists. In addition, it should "
|
||||
"use pattern matching, via Guile’s @code{(ice-9 match)} module, especially "
|
||||
"when matching lists."
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:277
|
||||
#, no-wrap
|
||||
msgid "formatting code"
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:278
|
||||
#, no-wrap
|
||||
msgid "coding style"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:285
|
||||
msgid ""
|
||||
"When writing Scheme code, we follow common wisdom among Scheme programmers. "
|
||||
"In general, we follow the @url{http://mumble.net/~campbell/scheme/style.txt, "
|
||||
"Riastradh's Lisp Style Rules}. This document happens to describe the "
|
||||
"conventions mostly used in Guile’s code too. It is very thoughtful and well "
|
||||
"written, so please do read it."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:292
|
||||
msgid ""
|
||||
"Some special forms introduced in Guix, such as the @code{substitute*} macro, "
|
||||
"have special indentation rules. These are defined in the "
|
||||
"@file{.dir-locals.el} file, which Emacs automatically uses. Also note that "
|
||||
"Emacs-Guix provides @code{guix-devel-mode} mode that indents and highlights "
|
||||
"Guix code properly (@pxref{Development,,, emacs-guix, The Emacs-Guix "
|
||||
"Reference Manual})."
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:293
|
||||
#, no-wrap
|
||||
msgid "indentation, of code"
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:294
|
||||
#, no-wrap
|
||||
msgid "formatting, of code"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:297
|
||||
msgid ""
|
||||
"If you do not use Emacs, please make sure to let your editor knows these "
|
||||
"rules. To automatically indent a package definition, you can also run:"
|
||||
msgstr ""
|
||||
|
||||
#. type: example
|
||||
#: doc/contributing.texi:300
|
||||
#, no-wrap
|
||||
msgid "./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}\n"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:306
|
||||
msgid ""
|
||||
"This automatically indents the definition of @var{package} in "
|
||||
"@file{gnu/packages/@var{file}.scm} by running Emacs in batch mode. To "
|
||||
"indent a whole file, omit the second argument:"
|
||||
msgstr ""
|
||||
|
||||
#. type: example
|
||||
#: doc/contributing.texi:309
|
||||
#, no-wrap
|
||||
msgid "./etc/indent-code.el gnu/services/@var{file}.scm\n"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:314
|
||||
msgid ""
|
||||
"We require all top-level procedures to carry a docstring. This requirement "
|
||||
"can be relaxed for simple private procedures in the @code{(guix build "
|
||||
"@dots{})} name space, though."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:317
|
||||
msgid ""
|
||||
"Procedures should not have more than four positional parameters. Use "
|
||||
"keyword parameters for procedures that take more than four parameters."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:326
|
||||
msgid ""
|
||||
"Development is done using the Git distributed version control system. Thus, "
|
||||
"access to the repository is not strictly necessary. We welcome "
|
||||
"contributions in the form of patches as produced by @code{git format-patch} "
|
||||
"sent to the @email{guix-patches@@gnu.org} mailing list."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:333
|
||||
msgid ""
|
||||
"This mailing list is backed by a Debbugs instance accessible at "
|
||||
"@uref{https://bugs.gnu.org/guix-patches}, which allows us to keep track of "
|
||||
"submissions. Each message sent to that mailing list gets a new tracking "
|
||||
"number assigned; people can then follow up on the submission by sending "
|
||||
"email to @code{@var{NNN}@@debbugs.gnu.org}, where @var{NNN} is the tracking "
|
||||
"number (@pxref{Sending a Patch Series})."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:337
|
||||
msgid ""
|
||||
"Please write commit logs in the ChangeLog format (@pxref{Change Logs,,, "
|
||||
"standards, GNU Coding Standards}); you can check the commit history for "
|
||||
"examples."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:340
|
||||
msgid ""
|
||||
"Before submitting a patch that adds or modifies a package definition, please "
|
||||
"run through this check list:"
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:347
|
||||
msgid ""
|
||||
"If the authors of the packaged software provide a cryptographic signature "
|
||||
"for the release tarball, make an effort to verify the authenticity of the "
|
||||
"archive. For a detached GPG signature file this would be done with the "
|
||||
"@code{gpg --verify} command."
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:351
|
||||
msgid ""
|
||||
"Take some time to provide an adequate synopsis and description for the "
|
||||
"package. @xref{Synopses and Descriptions}, for some guidelines."
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:356
|
||||
msgid ""
|
||||
"Run @code{guix lint @var{package}}, where @var{package} is the name of the "
|
||||
"new or modified package, and fix any errors it reports (@pxref{Invoking guix "
|
||||
"lint})."
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:360
|
||||
msgid ""
|
||||
"Make sure the package builds on your platform, using @code{guix build "
|
||||
"@var{package}}."
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:362
|
||||
#, no-wrap
|
||||
msgid "bundling"
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:365
|
||||
msgid ""
|
||||
"Make sure the package does not use bundled copies of software already "
|
||||
"available as separate packages."
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:374
|
||||
msgid ""
|
||||
"Sometimes, packages include copies of the source code of their dependencies "
|
||||
"as a convenience for users. However, as a distribution, we want to make "
|
||||
"sure that such packages end up using the copy we already have in the "
|
||||
"distribution, if there is one. This improves resource usage (the dependency "
|
||||
"is built and stored only once), and allows the distribution to make "
|
||||
"transverse changes such as applying security updates for a given software "
|
||||
"package in a single place and have them affect the whole system---something "
|
||||
"that bundled copies prevent."
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:381
|
||||
msgid ""
|
||||
"Take a look at the profile reported by @command{guix size} (@pxref{Invoking "
|
||||
"guix size}). This will allow you to notice references to other packages "
|
||||
"unwillingly retained. It may also help determine whether to split the "
|
||||
"package (@pxref{Packages with Multiple Outputs}), and which optional "
|
||||
"dependencies should be used."
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:386
|
||||
msgid ""
|
||||
"For important changes, check that dependent package (if applicable) are not "
|
||||
"affected by the change; @code{guix refresh --list-dependent @var{package}} "
|
||||
"will help you do that (@pxref{Invoking guix refresh})."
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:388
|
||||
#, no-wrap
|
||||
msgid "branching strategy"
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:389
|
||||
#, no-wrap
|
||||
msgid "rebuild scheduling strategy"
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:392
|
||||
msgid ""
|
||||
"Depending on the number of dependent packages and thus the amount of "
|
||||
"rebuilding induced, commits go to different branches, along these lines:"
|
||||
msgstr ""
|
||||
|
||||
#. type: item
|
||||
#: doc/contributing.texi:394
|
||||
#, no-wrap
|
||||
msgid "300 dependent packages or less"
|
||||
msgstr ""
|
||||
|
||||
#. type: table
|
||||
#: doc/contributing.texi:396
|
||||
msgid "@code{master} branch (non-disruptive changes)."
|
||||
msgstr ""
|
||||
|
||||
#. type: item
|
||||
#: doc/contributing.texi:397
|
||||
#, no-wrap
|
||||
msgid "between 300 and 1,200 dependent packages"
|
||||
msgstr ""
|
||||
|
||||
#. type: table
|
||||
#: doc/contributing.texi:402
|
||||
msgid ""
|
||||
"@code{staging} branch (non-disruptive changes). This branch is intended to "
|
||||
"be merged in @code{master} every 3 weeks or so. Topical changes (e.g., an "
|
||||
"update of the GNOME stack) can instead go to a specific branch (say, "
|
||||
"@code{gnome-updates})."
|
||||
msgstr ""
|
||||
|
||||
#. type: item
|
||||
#: doc/contributing.texi:403
|
||||
#, no-wrap
|
||||
msgid "more than 1,200 dependent packages"
|
||||
msgstr ""
|
||||
|
||||
#. type: table
|
||||
#: doc/contributing.texi:407
|
||||
msgid ""
|
||||
"@code{core-updates} branch (may include major and potentially disruptive "
|
||||
"changes). This branch is intended to be merged in @code{master} every 2.5 "
|
||||
"months or so."
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:414
|
||||
msgid ""
|
||||
"All these branches are tracked by our build farm and merged into "
|
||||
"@code{master} once everything has been successfully built. This allows us "
|
||||
"to fix issues before they hit users, and to reduce the window during which "
|
||||
"pre-built binaries are not available."
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:416
|
||||
#, no-wrap
|
||||
msgid "determinism, of build processes"
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:417
|
||||
#, no-wrap
|
||||
msgid "reproducible builds, checking"
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:421
|
||||
msgid ""
|
||||
"Check whether the package's build process is deterministic. This typically "
|
||||
"means checking whether an independent build of the package yields the exact "
|
||||
"same result that you obtained, bit for bit."
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:424
|
||||
msgid ""
|
||||
"A simple way to do that is by building the same package several times in a "
|
||||
"row on your machine (@pxref{Invoking guix build}):"
|
||||
msgstr ""
|
||||
|
||||
#. type: example
|
||||
#: doc/contributing.texi:427
|
||||
#, no-wrap
|
||||
msgid "guix build --rounds=2 my-package\n"
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:431
|
||||
msgid ""
|
||||
"This is enough to catch a class of common non-determinism issues, such as "
|
||||
"timestamps or randomly-generated output in the build result."
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:441
|
||||
msgid ""
|
||||
"Another option is to use @command{guix challenge} (@pxref{Invoking guix "
|
||||
"challenge}). You may run it once the package has been committed and built "
|
||||
"by @code{hydra.gnu.org} to check whether it obtains the same result as you "
|
||||
"did. Better yet: Find another machine that can build it and run "
|
||||
"@command{guix publish}. Since the remote build machine is likely different "
|
||||
"from yours, this can catch non-determinism issues related to the "
|
||||
"hardware---e.g., use of different instruction set extensions---or to the "
|
||||
"operating system kernel---e.g., reliance on @code{uname} or @file{/proc} "
|
||||
"files."
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:447
|
||||
msgid ""
|
||||
"When writing documentation, please use gender-neutral wording when referring "
|
||||
"to people, such as @uref{https://en.wikipedia.org/wiki/Singular_they, "
|
||||
"singular ``they''@comma{} ``their''@comma{} ``them''}, and so forth."
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:451
|
||||
msgid ""
|
||||
"Verify that your patch contains only one set of related changes. Bundling "
|
||||
"unrelated changes together makes reviewing harder and slower."
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:454
|
||||
msgid ""
|
||||
"Examples of unrelated changes include the addition of several packages, or a "
|
||||
"package update along with fixes to that package."
|
||||
msgstr ""
|
||||
|
||||
#. type: enumerate
|
||||
#: doc/contributing.texi:459
|
||||
msgid ""
|
||||
"Please follow our code formatting rules, possibly running the "
|
||||
"@command{etc/indent-code.el} script to do that automatically for you "
|
||||
"(@pxref{Formatting Code})."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:469
|
||||
msgid ""
|
||||
"When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as a "
|
||||
"subject. You may use your email client or the @command{git send-email} "
|
||||
"command (@pxref{Sending a Patch Series}). We prefer to get patches in plain "
|
||||
"text messages, either inline or as MIME attachments. You are advised to pay "
|
||||
"attention if your email client changes anything like line breaks or "
|
||||
"indentation which could potentially break the patches."
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:472
|
||||
msgid ""
|
||||
"When a bug is resolved, please close the thread by sending an email to "
|
||||
"@email{@var{NNN}-done@@debbugs.gnu.org}."
|
||||
msgstr ""
|
||||
|
||||
#. type: anchor{#1}
|
||||
#: doc/contributing.texi:473 doc/contributing.texi:475
|
||||
#, no-wrap
|
||||
msgid "Sending a Patch Series"
|
||||
msgstr ""
|
||||
|
||||
#. type: cindex
|
||||
#: doc/contributing.texi:475
|
||||
#, no-wrap
|
||||
msgid "patch series"
|
||||
msgstr ""
|
||||
|
||||
#. type: code{#1}
|
||||
#: doc/contributing.texi:476
|
||||
#, no-wrap
|
||||
msgid "git send-email"
|
||||
msgstr ""
|
||||
|
||||
#. type: code{#1}
|
||||
#: doc/contributing.texi:477
|
||||
#, no-wrap
|
||||
msgid "git-send-email"
|
||||
msgstr ""
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/contributing.texi:485
|
||||
msgid ""
|
||||
"When sending a patch series (e.g., using @code{git send-email}), please "
|
||||
"first send one message to @email{guix-patches@@gnu.org}, and then send "
|
||||
"subsequent patches to @email{@var{NNN}@@debbugs.gnu.org} to make sure they "
|
||||
"are kept together. See @uref{https://debbugs.gnu.org/Advanced.html, the "
|
||||
"Debbugs documentation} for more information."
|
||||
msgstr ""
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,77 @@
|
|||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
|
||||
#
|
||||
# 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/>.
|
||||
|
||||
EXTRA_DIST = \
|
||||
%D%/contributing.fr.po \
|
||||
%D%/guix.fr.po
|
||||
|
||||
POT_OPTIONS = --package-name "guix" --package-version "$(VERSION)" \
|
||||
--copyright-holder "Ludovic Courtès" \
|
||||
--msgid-bugs-address "ludo@gnu.org"
|
||||
|
||||
$(srcdir)/po/doc/guix.%.po: $(srcdir)/po/doc/guix.pot
|
||||
@lang=`echo $$(basename "$@") | sed -e 's|^guix.||' -e 's|.po$$||'` ;\
|
||||
if test -f "$@"; then \
|
||||
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
|
||||
echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $@ $<"; \
|
||||
cd $(srcdir) \
|
||||
&& { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
|
||||
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
|
||||
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $@ $<;; \
|
||||
*) \
|
||||
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $@ $<;; \
|
||||
esac; \
|
||||
}; \
|
||||
touch "$@"; \
|
||||
else \
|
||||
echo "File $@ does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
$(srcdir)/po/doc/contributing.%.po: $(srcdir)/po/doc/contributing.pot
|
||||
@lang=`echo $$(basename "$@") | sed -e 's|^contributing.||' -e 's|.po$$||'` ;\
|
||||
if test -f "$@"; then \
|
||||
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
|
||||
echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $@ $<"; \
|
||||
cd $(srcdir) \
|
||||
&& { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
|
||||
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
|
||||
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $@ $<;; \
|
||||
*) \
|
||||
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $@ $<;; \
|
||||
esac; \
|
||||
}; \
|
||||
touch "$@"; \
|
||||
else \
|
||||
echo "File $@ does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
$(srcdir)/po/doc/contributing.pot-update: doc/contributing.texi
|
||||
$(AM_V_PO4A)$(PO4A_UPDATEPO) -M UTF-8 -f texinfo -m "$<" \
|
||||
-p "$$(echo $@ | sed 's|-update||')" $(POT_OPTIONS)
|
||||
@touch "$$(echo $@ | sed 's|-update||')"
|
||||
|
||||
$(srcdir)/po/doc/guix.pot-update: doc/guix.texi
|
||||
$(AM_V_PO4A)$(PO4A_UPDATEPO) -M UTF-8 -f texinfo -m "$<" \
|
||||
-p "$$(echo $@ | sed 's|-update||')" $(POT_OPTIONS)
|
||||
@touch "$$(echo $@ | sed 's|-update||')"
|
||||
|
||||
doc-pot-update:
|
||||
$(MAKE) $(srcdir)/po/doc/guix.pot-update
|
||||
$(MAKE) $(srcdir)/po/doc/contributing.pot-update
|
|
@ -1,14 +1,18 @@
|
|||
# French translation of guix.
|
||||
# Copyright (C) 2016 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2013-2018 the authors of Guix (msgids)
|
||||
# This file is distributed under the same license as the guix package.
|
||||
# Rémy Chevalier <remychevalier@laposte.net>, 2013, 2014.
|
||||
# Frédéric Marchal <fmarchal@perso.be>, 2017
|
||||
# Julien Lepiller <julien@lepiller.eu>, 2017
|
||||
# Frédéric Marchal <fmarchal@perso.be>, 2017.
|
||||
# Julien Lepiller <julien@lepiller.eu>, 2017, 2018.
|
||||
#
|
||||
# Note de Frédéric Marchal: Le nom « shepherd » est le nom d'un démon (voir
|
||||
# https://www.gnu.org/software/shepherd/). Je ne l'ai pas traduit dans les
|
||||
# messages. Je l'ai traité comme le nom d'un logiciel.
|
||||
#
|
||||
# Note de Julien Lepiller : Le nom « shepherd » est bien le nom d'un logiciel,
|
||||
# mais il est traité un peu différemment : on dit « le shepherd » (« the
|
||||
# shepherd » en anglais) avec l'article.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: guix 0.14.0\n"
|
||||
|
@ -21,8 +25,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
"X-Generator: Poedit 2.0.3\n"
|
||||
|
||||
#: gnu.scm:82
|
||||
|
@ -1476,7 +1480,7 @@ msgstr "n'est pas exécuté en tant que « root » donc le propriétaire de «
|
|||
#: guix/scripts/system.scm:253
|
||||
#, scheme-format
|
||||
msgid "while talking to shepherd: ~a~%"
|
||||
msgstr "en parlant à shepherd : ~a~%"
|
||||
msgstr "en parlant au shepherd : ~a~%"
|
||||
|
||||
#: guix/scripts/system.scm:260
|
||||
#, scheme-format
|
||||
|
@ -1501,12 +1505,12 @@ msgstr "quelque chose s'est mal passé : ~s~%"
|
|||
#: guix/scripts/system.scm:278
|
||||
#, scheme-format
|
||||
msgid "shepherd error~%"
|
||||
msgstr "erreur de shepherd~%"
|
||||
msgstr "erreur du shepherd~%"
|
||||
|
||||
#: guix/scripts/system.scm:295
|
||||
#, scheme-format
|
||||
msgid "failed to obtain list of shepherd services~%"
|
||||
msgstr "erreur en essayant d'obtenir la liste des services de shepherd~%"
|
||||
msgstr "erreur en essayant d'obtenir la liste des services du shepherd~%"
|
||||
|
||||
#: guix/scripts/system.scm:315
|
||||
#, scheme-format
|
||||
|
@ -1534,7 +1538,7 @@ msgstr "le graphe orienté acyclique (DAG) des services"
|
|||
|
||||
#: guix/scripts/system.scm:507
|
||||
msgid "the dependency graph of shepherd services"
|
||||
msgstr "le graphique des dépendances des services de shepherd"
|
||||
msgstr "le graphique des dépendances des services du shepherd"
|
||||
|
||||
#: guix/scripts/system.scm:531
|
||||
#, scheme-format
|
||||
|
@ -1661,7 +1665,7 @@ msgstr " extension-graph produire le graphique des extensions de service au f
|
|||
|
||||
#: guix/scripts/system.scm:842
|
||||
msgid " shepherd-graph emit the graph of shepherd services in Dot format\n"
|
||||
msgstr " shepherd-graph produire le graphique des services de shepherd au format Dot\n"
|
||||
msgstr " shepherd-graph produire le graphique des services du shepherd au format Dot\n"
|
||||
|
||||
#: guix/scripts/system.scm:846
|
||||
msgid ""
|
||||
|
@ -2185,7 +2189,8 @@ msgid ""
|
|||
" --public-key=FILE use FILE as the public key for signatures"
|
||||
msgstr ""
|
||||
"\n"
|
||||
" --public-key=FICHIER utiliser le FICHIER comme clé publique pour les signatures"
|
||||
" --public-key=FICHIER\n"
|
||||
" utiliser le FICHIER comme clé publique pour les signatures"
|
||||
|
||||
#: guix/scripts/publish.scm:89
|
||||
msgid ""
|
||||
|
@ -2193,7 +2198,8 @@ msgid ""
|
|||
" --private-key=FILE use FILE as the private key for signatures"
|
||||
msgstr ""
|
||||
"\n"
|
||||
" --private-key=FICHIER utiliser le FICHIER comme clé privée pour les signatures"
|
||||
" --private-key=FICHIER\n"
|
||||
" utiliser le FICHIER comme clé privée pour les signatures"
|
||||
|
||||
#: guix/scripts/publish.scm:91
|
||||
msgid ""
|
||||
|
@ -2598,7 +2604,8 @@ msgid ""
|
|||
" -C, --compression=TOOL compress using TOOL--e.g., \"lzip\""
|
||||
msgstr ""
|
||||
"\n"
|
||||
" -C, --compression=OUTIL compresser en utilisant l'OUTIL, par ex, « lzip »"
|
||||
" -C, --compression=OUTIL\n"
|
||||
" compresser en utilisant l'OUTIL, par ex, « lzip »"
|
||||
|
||||
#: guix/scripts/pack.scm:344
|
||||
msgid ""
|
||||
|
|
1430
po/packages/es.po
1430
po/packages/es.po
File diff suppressed because it is too large
Load Diff
|
@ -194,6 +194,20 @@ do
|
|||
kill "$daemon_pid"
|
||||
done
|
||||
|
||||
# Make sure garbage collection from a TCP connection does not work.
|
||||
|
||||
tcp_socket="127.0.0.1:9999"
|
||||
guix-daemon --listen="$tcp_socket" &
|
||||
daemon_pid=$!
|
||||
|
||||
GUIX_DAEMON_SOCKET="guix://$tcp_socket"
|
||||
export GUIX_DAEMON_SOCKET
|
||||
|
||||
if guix gc; then false; else true; fi
|
||||
|
||||
unset GUIX_DAEMON_SOCKET
|
||||
kill "$daemon_pid"
|
||||
|
||||
# Log compression.
|
||||
|
||||
guix-daemon --listen="$socket" --disable-chroot --debug --log-compression=gzip &
|
||||
|
|
Loading…
Reference in New Issue