Product SiteDocumentation Site

4. Modifications dans Fedora pour les développeurs

4.1. Développement

4.1.1. Perl

4.1.1.1. Perl est mis à jour à la version 5.16
Perl 5.16 apporte un nombre significations d'améliorations :
4.1.1.1.1. Nouvelles fonctionnalités
  • Unicode 6.1
  • Une plus grande cohérence de la part de eval grâce au contrôle apportée par unicode_eval et evalbytes
  • substr avec 2 ou 3 arguments appelé dans un contexte l-value est évaluée même après la modification de la chaîne originelle
  • Introduction du typemap XS T_*REF_REFCOUNT_FIXED corrigeant la décrémentation du compteur de références
  • Nouvelle fonction is_utf8_char_buf appelable via XS remplaçant la fonction is_utf8_char qui comporte des défauts
  • la variable $$ est modifiable
  • Dévermineur amélioré : le mode de traçage peut être restreint à certains niveaux, les points d'arrêt peuvent être temporairement désactivés, et positionnés par nom de fichier
  • les sous-routines sort peuvent être définies via autoload
  • la variable $[ est fournie par le module arybase
  • La couche PerlIO mappée en mémoire est maintenant disponible dans un module séparé PerlIO::mmap
4.1.1.1.2. Fonctionnalités obsolètes
  • L'accès direct à des fichiers de bases de données Unicode est maintenant obsolète ; il faut utiliser Unicode::UCD à la place
  • Version::Requirements est obsolète et remplacé par CPAN::Meta::Requirements
4.1.1.1.3. Modifications incompatibles
  • Les blocs spéciaux (comme BEGIN) sont appelé dans un contexte void
  • La transformation en chaînes non surchargée des expressions rationnelles ne renvoie pas l'expression littérale
  • Les typemaps T_DATAUNIT et T_CALLBACK sont supprimés
  • Le changement de casse définit par l'utilisateur a été supprimé en faveur du module Unicode::Casing
  • Les fonctions C XSUB sont maintenant statiques et non exportées par leurs fichiers objet
  • Les références en lecture seule ne peuvent être affaiblies
  • $$, $<, $>, $(, et $) n'utilisent pas de cache pour leurs valeurs
  • Devel::DProf, Shell ont été retiré du core de Perl
  • Bibliothèques perl4 supprimées : abbrev.pl, assert.pl, bigfloat.pl, bigint.pl, bigrat.pl, cacheout.pl, complete.pl, ctime.pl, dotsh.pl, exceptions.pl, fastcwd.pl, flush.pl, getcwd.pl, getopt.pl, getopts.pl, hostname.pl, importenv.pl, lib/find{,depth}.pl, look.pl, newgetopt.pl, open2.pl, open3.pl, pwd.pl, hellwords.pl, stat.pl, tainted.pl, termcap.pl, timelocal.pl
4.1.1.2. Les bibliothèques PCRE sont à mises à jour à la version 8.30
Fedora 18 fournira une version supérieure ou égale à 8.30 des bibliothèques PCRE (Perl-Compatible Regular Expression). Cela apporte la prise en charge de UTF-16 et quelques modifications de l'API qui sont documentés dans les fichiers changelog et NEWS fournis dans /usr/share/doc/pcre*

4.1.2. Python mis à jour à la version 3.3

La pile système Python 3 est mise à jour en version 3.3 (la pile système Python 2 reste en 2.7 ), apportant des centaines de correctifs et améliorants ; la liste des modifications est disponible à http://docs.python.org/dev/whatsnew/3.3.html

4.1.3. Mise à jour du framework Ruby on Rails

Fedora 18 fournira la version 3.2 de Ruby on Rails, dernière version en date du cadragiciel Ruby on Rails. Les développeurs sont à même d'utiliser les dernières fonctionnalités de Ruby on Rails qui sont documentées les notes de version du projet disponibles à http://guides.rubyonrails.org/3_2_release_notes.html et http://guides.rubyonrails.org/3_1_release_notes.html

4.1.4. Clojure adjoint de Leiningen et autres outils

Fedora 18 livre maintenant une pile de développement Clojure plus complète, incluant l'outil de construction Leiningen. Cela facilitera la mise en paquet future d'autres bibliothèques Clojure.

4.1.5. Modification pour l'invite git

Le fichier, que bash utilise pour incorporer dans l'invite l'information sur la branche de git, a été déplacé lors d'une mise à niveau de git dans Fedora 18. Les utilisateurs qui tirent parti de l'invite git dans leur configuration bash doivent ajouter source /usr/share/doc/git-1.7.12/contrib/completion/git-prompt.sh à leur fichier ~/.bashrc en plus de PS1='[\u@\h`__git_ps1` \W]\$ '

4.2. Outils de développement

4.2.1. boost passe à la vitesse supérieure

Fedora 18 will include Boost version 1.50 . The popular collection of C++ libraries is updated to the newest available version with each Fedora release.

4.2.2. Systemtap 2.0

Systemtap 2.0 comprend un nouveau prototype de moteur, qui utilise DynInst pour instrumenter les propres binaires d'un utilisateur lors de l'exécution. Ce moteur alternatif optionnel n'utilise pas les modules du noyau, et ne nécessite pas les privilèges root, mais il est limité en types de sondes et autres constructions qu'un script peut utiliser.

4.2.3. Traçage avec LTTng

Les développeurs cherchant à améliorer leurs applications noteront que les paquets lttng-tools et ltt-ust de Fedora 18 fournissent des outils de traçage rapide et efficace. Un traceur permet une corrélation simple de traces tant en espace utilisateur que noyau, si ce dernier est disponible. Bénéficiant d'un horodatage ayant une précision de l'ordre de la nanoseconde, LTTng est particulièrement utile lorsque vous recherchez des latences insaisissables. Familiarisez-vous avec la documentation du projet à http://lttng.org/quickstart

4.2.4. Amélioration des rapports de Crash

4.2.4.1. Debuginfo incluses par défaut
Fedora 18 est livré avec un léger sous-ensemble d'informations de débogage par défaut. Les informations complètes de débogage restent disponibles dans les paquets\ndebuginfo.
4.2.4.2. Debuginfo compressées par dwz
Les informations de débogages Debuginfo sont compressées par l'outil de compression dwz de données DWARF afin de réduire la taille des fichiers *.debug. Les développeurs peuvent aussi utiliser ce programme sur leur propres binaires.
4.2.4.3. Rapports de crash simplifiés via ABRT Server
L'outil de rapport de bugs de Fedora, ABRT, utilise maintenant une nouvelle manière de rapporter les problèmes utilisateurs. Ces rapports sont maintenant pris en charge par ABRT Server, qui fournit aussi des statistiques et le regroupement des rapports, donnant ainsi aux mainteneurs des données plus précises sur les problèmes.

4.2.5. Mise à jour de IPython

IPython a été mis à jour à la version 0.13 , les apports en fonctionnalités notables étant : nouvelle interface utilisateur et ajout de fonctionnalités comme la gestion automatique des plis des lignes de grande taille dans Notebook, envoi de nouveaux notebooks au tableau de bord, améliorations des infos-bulles.\nLe format notebook a changé, un script étant disponible afin de partager des notebooks avec des utilisateurs de l'ancienne version. Introduction de nouvelles instances magiques de cellule comme %%bash, %%ruby, %%timeit et d'autres encore. La console Qt voit ses menus améliorés et peuvent maintenant afficher des images jpeg.

4.3. Outils GCC

4.3.1. DragonEgg optimise GCC

DragonEgg est un greffon pour les compilateurs GCC permettant l'utilisation du cadre logiciel d'optimisation et de génération de code LLVM. DragonEgg fournit aux développeurs de logiciels un plus grand nombre d'options d'optimisation et de génération de code à utiliser avec les compilateurs GCC. DragonEgg permet aussi d'utiliser GCC en compilateur croisé ciblant les architectures prises en compte par LLVM sans requérir l'installation de paquets spécifiques de compilation croisée.

4.4. D

Le langage de programmation D est disponible avec Fedora 18. D est un langage moderne de hautes performances proche du C/C++ avec une syntaxe simple. Les développeurs de C/C++ et Java peuvent facilement migrer vers D. Fedora 18 fournit plusieurs mises à jour de la boite à outils D :
  • le compilateur ldc vers sa dernière version stable
  • construit avec llvm 3.1
  • mise à jour de la bibliothèque standard vers l'interface 2.060
  • mise à jour du paquet gtkd pour la prise en charge de gtk3
  • mise à jour du paquet derelict vers la version 3
  • ajout du paquet DSQLITE pour l'utilisation de sqlite avec D
  • ajout du paquet gl3n pour OpenGL Maths depuis D
  • ajout du paquet glamour : un wrapper OpenGL pour le langage de programmation D.

4.5. Haskell

GHC a été mis à jour à la version 7.4.1, haskell-platform en version 2012.2.0.0, et un grand nombre des 200 autres paquets ont été mis à jour.
Les paquets nouvellement ajoutés incluent Agda, cabal-rpm, et snap-server.