Development

rust-packaging - RPM macros for building Rust packages on various architectures

review bug

Rust je jazyk, který je více a více populární. Spousta starších nástrojů (například ls přepsáno jako exa) je do něj přepisována a příští firefox již bude mít jádro napsané v něm. Rust má specifický ekosystém - či spíše se na to, že projekt má vždy nějaké závisloti, myslelo už v návrhu jazyka. Jádrem tohoto ekosystému je například nástroj Cargo - stáhne závislosti, zbuildí jak je potřeba, slinkuje. Zabalíčkovat program v jazyku, který daná distribuce přímo nepodporuje bývá potíž, ale od Fedorky 25 a dále již mají packageři užitečná a hlavně standartizovaná makra:

  • rust_arches - architektury, pro které máme rust překladač (v současnosti x86_64 i686 armv7hl aarch64 ppc64 ppc64le s390x (tzn. prakticky vše))
  • __rustc - defaultní cesta ke kompilátoru
  • __rustdoc - cesta ke generátoru dokumentace
  • __global_rustflags - množina defaultních flagů pro kompilátor, například povolení optimalizace, debuginfo a link hardening
  • __global_rustflags_toml - makro na propagaci flagů do toml souboru
  • __cargo - cesta k binárce cargo
  • __cargo_common_opts - defaultní flagy (v současnosti informace, že se jedná o release)
  • __cargo_inspector - cesta k binárce cargo-inspector
  • cargo_registry - cesta do sdíleného registru nástroje cargo
  • cargo_prep - hlavně nastavení rustc, rustdoc a rustflags, verbose, registrů podle výše uvedených (většinou privátních) maker (fáze %prep)
  • cargo_build - spuštění buildu (fáze %build) spolu s %{__cargo_common_opts}
  • cargo_test - spuštění testů (fáze %check) spolu s %{__cargo_common_opts}
  • cargo_install - korektně nainstaluje přeložené binárky dle fáze %install. Korektně rozliší knihovnu a binárku.
  • __cargo_provides - generuje automaticky provides pro RPM
  • __cargo_requires - generuje automaticky requires pro RPM
  • __cargo_path - absolutni cesty ke všem .toml souborům v cargo registru

Nezapomeňte, že čím více mají makra podtržítek, tím více jsou privátní a neměl by je téměř nikdy volat packager.

pyjokes - One line jokes for programmers (jokes as a service)

review bug

# sudo dnf install python3-pyjokes

nebo

sudo dnf install python2-pyjokes

eventuelně

# pip install pyjokes

Jednoduchý program pro příkazovou řádku, na vypsání vtípku, případně knihovna na použití ve vašem programu. Program obsahuje v současnosti cca 200 vtipů, navíc rozdělených do kategorie normal, adult a chuck, pro neutrální vtipy, vtipy s podezřelým obsahem, a vtipy s Chuckem Norrisem.

 # pyjoke 
Two threads walk into a bar. The barkeeper looks up and yells, 'Hey, I want don't any conditions race like time last!'
 # pyjoke  -c chuck
Every SQL statement that Chuck Norris codes has an implicit 'COMMIT' in its end.

nebo:

import pyjokes

print(pyjokes.get_joke())

lame - MP3 encoder

review bug


# sudo dnf install lame-devel

Podpora MP3 je s námi již celou Fedorku, programy užívající otevřenou implementaci lame měly do nedávna smůlu. Od června je však k dispozici. Na lame se pracuje i pro EPEL.

Games

ostrichriders - Knights flying on ostriches compete against other riders

review bug
# sudo dnf install ostrichriders
# ostrichriders
a vuala! :

Šílená hra o rytíři válčícím turnaj na pštrosu proti drakům. Celé je to tak šílené, jak napovídá název i screenshot. Nenechte se zmást, protivníkovi draci létají, ale váš pštros ne, i když umí tlumit dopady. Na druhou stranu je o něco lepší běžec.

tworld - a puzzle game

review bug
# sudo dnf install tworld
# tworld

logická hra, jejímž cílem je posbírat klíče a pootvírat dveře ve správném pořadí, najít pomůcky na zdolání různých pásů, ledových ploch(brusle), ohňů(letadlem) atd.
Hra je také k dispozici i pro EPEL, a je větší legrací než se může zdát

trader - Star Traders, a simple game of interstellar trading

review bug
# sudo dnf install trader
# trader

terminálová hra simulující obchod v mezihvězdném prostoru skrze časoprostorové linie.


  • . je prázdný prostor
  • * je hvězda
  • písmena a-t jsou konce linií
  • kapitálky jsou společnosti vlastnící jednotlivé brány
  • svoji společnost můžete postavit pouze na prázdném místě, s ostatními společnostmi v okolí mezihvězdné brány můžete pouze spolupracovat
  • tzn jeden vývod může mít maximálně 9 malinkých vlastníků - tedy pokud nezavazí nějaká hvězda. Případně být okupován několika většími společnostmi, které si okolí brány rozdělí, až po konglomerát, který bude vlastnit nejbližší okolí brány sám.

tolik k základnímu popisu s vynecháním akciového trhu - jednoduchá hra to rozhodně není!

colorful - simple side-view shooter game

review bug
# sudo dnf install colorful
# colorful

prakticky dvoubarevná (ale vždy jiné barvy!) střílečka - plošinovka - pohyb šipkami, střelba z/x (levá/pravá). Potvůrek nepřeberně. Ačkoliv jednotlivé místnosti nejsou nijak veliké, celé mapy jsou, a projít to chce notnou dávku trpělivosti.

Tools

gnome-password-generator - Graphical secure password generator

review bug
# sudo dnf install gnome-password-generator
# gnome-password-generator (nebo ikonka v příslušenství)

Jednoduchý prográmek na generování hesel. Zadáte množinu znaků, délku a hotovo. Pozor tlačítko save ukládá konfiguraci, nikoliv heslo.

btrbk - Tool for creating snapshots and remote backups of btrfs subvolumes

review bug
# sudo dnf install btrbk
# btrbk

Nástroj příkazové řádky od Švýcarské firmy DigInt, pro snapshotování a vzdálené zálohování btrfs souborových systémů. Velmi příjemné je, že umí pro většinu operací zobrazovat progress. Klíčové prvky jsou:

  • atomické snapshoty
  • incrementalní zálohy
  • transfery přes ssh
  • zálohy vícero lokací s pamětí, kdy se nedostupné médium dotáhne až je k dispozici
  • šifrované zálohy
  • souborový diff mezi zálohami

urh - Universal Radio Hacker: investigate wireless protocols like a boss

review bug
# sudo dnf install urh
# urh nebo ikonka v příslušenství

Mocný grafický nástroj, který umožňuje studovat neznámé bezdrátové protokoly, které dokáže váš HW zachytit. Bohužel se mi nepodařilo na mých laptopech ani jednou signál zachytit - chyba v zabalení? Pokud nějaký čtenář zná a ví, možná by mohl poradit.