nim-lang/Nim

État de construction

Ce référentiel contient le compilateur Nim, la stdlib de Nim, les outils et la documentation.Pour plus d’informations sur Nim, y compris les téléchargements et la documentation de la dernière version, consultez le site Web de Nim ou bleeding edge docs.

Communauté

Rejoignez le chat IRCRejoignez le serveur DiscordRejoignez le chat GitterObtenez de l'aideVoir les messages Nim sur Stack Overflow » style= »max-width:100%; »>Suivez @nim_lang sur Twitter

  • Le forum – le meilleur endroit pour poser des questions et discuter de Nim.
  • #Canal IRC nim (Freenode) – un endroit pour discuter de Nim en temps réel.Là aussi où la plupart des décisions de développement sont prises.
  • Discord – un endroit supplémentaire pour discuter de Nim en temps réel. La plupart des canaux sont raccordés à IRC.
  • Gitter – un endroit supplémentaire pour discuter de Nim en temps réel. Thereis un pont entre Gitter et le canal IRC.Télégramme – un endroit supplémentaire pour discuter de Nim en temps réel. Thereis la chaîne officielle de télégramme. Non relié à IRC.
  • Stack Overflow – un site de Q / A populaire pour la programmation de relatedtopics qui inclut des articles sur Nim.
  • Github Wiki – Contenu divers contribué par les utilisateurs.

Compilation

Le compilateur prend actuellement officiellement en charge les combinaisons de plate-forme et d’architecture suivantes:

  • Windows (Windows XP ou supérieur) – x86 et x86_64
  • Linux (la plupart, sinon toutes, les distributions) – x86, x86_64, ppc64 et armv6l
  • Mac OS X (10.04 ou supérieur) – x86, x86_64 et ppc64

Plus de plates-formes sont prises en charge, cependant, elles ne sont pas testées régulièrement et ils peuvent ne pas être aussi stables que les plates-formes énumérées ci-dessus.

La compilation du compilateur Nim est assez simple si vous suivez ces étapes:

Tout d’abord, la source C d’une ancienne version du compilateur Nim est nécessaire pour démarrer la dernière version car le compilateur Nim lui-même est écrit dans le langage de programmation IM. Ces sources C sont disponibles dans le référentiel nim-lang/csources.

Ensuite, pour construire à partir de la source, vous aurez besoin de:

  • Un compilateur C tel que gcc3.x/plus tard ou une alternative telle que clangVisual C++ ou Intel C++. Il est recommandé d’utiliser gcc3.x plus tard.
  • Soit git ou wget pour télécharger les référentiels source nécessaires.
  • Le package build-essential lors de l’utilisation de gcc sur Ubuntu (et probablement d’autres distributions également).
  • Sous Windows MinGW 4.3.0 (GCC 8.10) est le compilateur minimum recommandé.
  • Nim héberge une distribution MinGW de travail connue :
    • MinGW32.7z
    • MinGW64.7z

Windows Remarque : Cygwin et les environnements d’exécution POSIX similaires ne sont pas pris en charge.

Ensuite, si vous utilisez un système *nix ou Windows, les étapes suivantes doivent être compilées à partir de la source en utilisant gccgit et l’outil de construction koch.

Remarque : Les commandes suivantes sont destinées à la version de développement du compilateur.Pour la plupart des utilisateurs, l’installation de la dernière version stable suffit. Consultez les instructions d’installation sur le site Web pour le faire: https://nim-lang.org/install.html.

Pour les responsables de paquets : voir les directives d’emballage.

Tout d’abord, obtenez Nim depuis github:

git clone https://github.com/nim-lang/Nim.gitcd Nim

Ensuite, exécutez le script shell de construction approprié pour votre plate-forme :

  • build_all.sh(Linux, Mac)
  • build_all.bat (Windows)

Windows nécessite un nombre d’autres dépendances que vous devrez peut-être installer, y compris Pcre et OpenSSL. Nim héberge un package zip contenant les versions de travail connues des DLL requises ici.

Enfin, une fois que vous avez terminé les étapes de construction (sous Windows, Mac ou Linux), vous devez ajouter le répertoire bin à votre CHEMIN.

Voir aussi reconstruction du compilateur.

Koch

kochest l’outil de construction utilisé pour construire diverses parties de Nim et pour générer la documentation et le site Web, entre autres. L’outil koch peut également être utilisé pour exécuter la suite de tests Nim.

En supposant que vous avez ajouté le répertoire bin de Nim à votre CHEMIN, vous pouvez exécuter les tests en utilisant ./koch tests. Les tests prennent un certain temps à s’exécuter, mais vouspeut exécuter un sous-ensemble de tests en spécifiant une catégorie (par exemple ./koch tests cat async).

Pour plus d’informations sur l’outil de construction koch, veuillez consulter la documentationdans le document/koch.premier fichier.

Nimble

nimble est le gestionnaire de paquets de Nim. Pour en savoir plus à ce sujet, consultez le référentiel nim-lang/nimble.

Contributeurs

Ce projet existe grâce à toutes les personnes qui y contribuent.

Contribuer

Bailleurs de fonds sur le Collectif ouvertSponsors sur le Collectif ouvertConfigurer une prime via BountysourceFaites un don de BitcoinsAides Open Source

Voir les directives de contribution détaillées.Nous accueillons toutes les contributions à Nim, qu’elles soient petites ou grandes. Tout, des corrections d’orthographe aux nouveaux modules à inclure dans la bibliothèque standard, est le bienvenu et apprécié. Avant de commencer à contribuer, vous devez vous familiariser avec la structure de dépôt suivante :

  • bin/build/ – ces répertoires sont vides, mais sont utilisés lorsque Nim est construit.
  • compiler/ – le code source du compilateur. Inclut également nimfix et des plugins dans compiler/nimfix et compiler/plugins respectivement.
  • nimsuggest – l’outil nimsuggest qui vivait auparavant dans le référentiel nim-lang/nimsuggest.
  • config/ – la configuration du compilateur et du générateur de documentation.
  • doc/ – les fichiers de documentation au format reStructuredText.
  • lib/ – la bibliothèque standard, y compris:

    • pure/ – les modules de la bibliothèque standard écrits en Nim pur.
    • impure/ – modules de la bibliothèque standard écrits en Nim pur avec des dépendances écrites dans d’autres langages.
    • wrappers/ – modules qui enveloppent les dépendances écrites dans d’autres langages.
  • tests/ – contient des tests catégorisés pour le compilateur et la bibliothèque standard.
  • tools/ – les outils comprenant niminst et nimweb (principalement invoqués via koch).
  • koch.nim – l’outil utilisé pour démarrer Nim, générer des sources C, créer le site Web et générer la documentation.

Si vous n’êtes pas familier avec l’utilisation de GitHub et/ou git, veuillez lire ce guide.

Idéalement, vous devez vous assurer que tous les tests sont réussis avant de soumettre une demande d’extraction.Cependant, si vous manquez de temps, vous pouvez simplement exécuter les tests spécifiques à yourchanges en n’exécutant que les catégories de tests correspondantes. Travis CI vérifie que tous les tests passent avant d’autoriser l’acceptation de la demande d’extraction, de sorte que seuls les tests spécifiques doivent être inoffensifs.Les tests d’intégration doivent aller dans tests/untestable.

Si vous cherchez des moyens de contribuer, veuillez consulter notre outil de suivi des problèmes.Il y a toujours beaucoup de problèmes étiquetés Easy; ceux-ci devraient être un bon point de départ pour une première contribution à Nim.

Vous pouvez également aider au développement de Nim en faisant des dons. Les dons peuvent être effectués en utilisant:

  • Open Collective
  • Bountysource
  • Bitcoin

Si vous avez des questions, n’hésitez pas à soumettre une question sur le forum IM, ou via IRC sur le canal #nim.

Bailleurs de fonds

Merci à tous nos bailleurs de fonds !

Sponsors

Soutenez ce projet en devenant sponsor. Votre logo apparaîtra ici avec un lien vers votre site Web.

Vous pouvez également voir une liste de tous nos sponsors / les bailleurs de fonds de divers services de paiement sur la page sponsors de notre site Web.

License

Le compilateur et la bibliothèque standard sont sous licence MIT, sauf pour certains modules qui indiquent explicitement le contraire. En conséquence, vous pouvez utiliser une licence compatible (essentiellement n’importe quelle licence) pour vos propres programmes développés avecNim. Vous êtes explicitement autorisé à développer des applications commerciales en utilisant Nim.

Veuillez lire la copie.fichier txt pour plus de détails.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.