Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Databáze DuckDB (Wikipedie) dospěla po 6 letech do verze 1.0.0.
Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.
Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.
Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
Běžně se pro rozeznání live ebuildů od ostatních používá buď verze 9999, nebo se za název programu přidá -cvs, -svn atp. Osobně preferuji verzi 9999, patrně proto, že se takové ebuildy pak lépe vyhledávají a název balíku se zbytečně neliší od původního, protože většinou stejně nemohou být instalovány vedle sebe live verze a běžná vydání.
${S}
V některých live ebuildech je nutné nastavit proměnnou ${S}
. V případě CVS a Mercurial na ${WORKDIR}/${PN}
a u Subversion, Git a Darcs běžně není třeba nic měnit (výchozí ${WORKDIR}/${P}
platí). Když kompilace selže kvůli špatně nastavené ${S}
(to poznáte podle snahy o cd
do neexistujícího adresáře), stačí se jednoduše podívat do ${WORKDIR}
na název vytouženého adresáře a proměnnou pak správně nastavit.
src_unpack()
Všechny níže zmíněné eclass tuto funkci automaticky nastaví na provedení <název-eclass>_src_unpack()
, což je funkce, která běžně stáhne soubory z repozitáře do ${DISTDIR}/<scm>-src
a odtud je pak zkopíruje do ${WORKDIR}
, resp. ${S}
. Je nutné ji zavolat vždy, ale když potřebujete zdrojáky před kompilací ještě opatchovat nebo spustit autoreconf
, je třeba src_unpack()
předefinovat, například takto:
src_unpack() { cvs_src_unpack # nebo {subversion,git,mercurial,darcs}_src_unpack cd "${S}" epatch "${FILESDIR}"/${P}-segfault-on-close.patch eautoreconf # bude třeba načíst autotools eclass }
Poznámka: V případě Subversion a Git není třeba tuto funkci předefinovávat kvůli patchování a bootstrapu, protože na to mají zvláštní proměnné, vizte níže.
Pro používání CVS si na začátku načteme cvs.eclass
pomocí příkazu inherit cvs
. V samotné eclass se píše, že by se nejdříve měly nastavit proměnné, ale za prvé to není nutné a za druhé to tak nedělají ani Gentoo vývojáři. Nyní je třeba nastavit několik proměnných.
Tyto proměnné je třeba nastavit úplně vždy.
Proměnná | Popis | Příklad |
ECVS_SERVER |
server s cestou | cvs.linuxdcpp.berlios.de:/cvsroot/linuxdcpp |
ECVS_MODULE |
modul | ${PN} |
Proměnné, které není nutné nastavovat ve všech případech.
Proměnná | Popis | Výchozí |
ECVS_USER |
uživatelské jméno | anonymous |
ECVS_PASS |
heslo | (prázdné) |
ECVS_AUTH |
autentizační metoda | pserver |
Proměnná | Popis | Výchozí |
ECVS_LOCAL |
nastavte na cokoliv pro stahování nerekurzivně | (nic) |
ECVS_LOCALNAME |
lokální název adresáře | (nic) |
ECVS_TOP_DIR |
adresář, do kterého se bude stahovat | ${DISTDIR}/cvs-src |
ECVS_CVS_COMPRESS |
nastavení komprese | -z1 |
ECVS_CVS_OPTIONS |
přepínače | -q -f |
ECVS_CVS_COMMAND |
příkaz cvs s přepínači |
cvs ${ECVS_CVS_OPTIONS} ${ECVS_CVS_COMPRESS} |
ECVS_UP_OPTS |
specifické přepínače pro aktualizaci (-dP neodstraňujte, jinak to nepůjde). |
-dP |
ECVS_CO_OPTS |
specifické přepínače pro první stažení | (nic) |
ECVS_BRANCH |
branch | (nic, stáhne se aktuální HEAD) |
Načteme si eclass subversion
a můžeme se pustit do nastavování proměnných. V současnosti jsou podporované protokoly http, https, svn a svn+ssh. Nezbytná proměnná je pouze ESVN_REPO_URI
, do které patří adresa repozitáře. Za zmínku ovšem stojí ještě pár dalších.
Proměnná | Popis | Příklad |
ESVN_STORE_DIR |
adresář, do kterého se bude stahovat | ${DISTDIR}/svn-src |
ESVN_PROJECT |
použije se pro název adresáře v ${ESVN_STORE_DIR} (výchozí je ${PN/-svn} ) |
${PN%-svn} |
ESVN_BOOTSTRAP |
příkaz nebo skript pro bootstrap (občas je místo autogen.sh lepší použít eautoreconf ) |
autogen.sh |
ESVN_PATCHES |
patche, které se aplikují před bootstrapem | ${FILESDIR}/*.patch |
ESVN_RESTRICT |
seznam vlastností oddělených mezerou, které budou zakázány (v současnosti je možné zakázat pouze vlastnost zvanou export , která zabrání exportu proměnné ${S} ) |
export |
Git používá git.eclass
, která vychází ze subversion.eclass
, takže proměnné jsou podobné. Podporované jsou protokoly http, https, git, git+ssh, rsync, ssh. Nezbytná proměnná, kam patří adresa repozitáře, se jmenuje EGIT_REPO_URI
. Ostatní jsou nepovinné.
Proměnná | Popis | Příklad |
EGIT_STORE_DIR |
adresář, do kterého se bude stahovat | ${DISTDIR}/git-src |
EGIT_PROJECT |
použije se pro název adresáře v ${EGIT_STORE_DIR} (výchozí je ${PN/-svn} ) |
${PN%-svn} |
EGIT_OPTIONS |
přepínače, které se použijí pro akce clone a fetch |
(doporučuji neměnit) |
EGIT_BOOTSTRAP |
příkaz nebo skript pro bootstrap | eautoreconf (bude třeba načíst autotools.eclass ) |
EGIT_PATCHES |
patche, které se aplikují před bootstrapem | ${FILESDIR}/*.patch |
EGIT_BRANCH |
branch | master (výchozí) |
EGIT_TREE |
strom | ${EGIT_BRANCH} (výchozí) |
Opět načteme základní eclass - mercurial
a definujeme jedinou nezbytnou proměnnou EHG_REPO_URI
, kam patří adresa repozitáře. Je tu ještě několik volitelných proměnných, které není třeba měnit (až na zvláštní případy).
Proměnná | Popis | Výchozí |
EHG_STORE_DIR |
adresář, do kterého se bude stahovat | ${DISTDIR}/hg-src |
EHG_PROJECT |
název adresáře v ${EHG_STORE_DIR} |
${PN} |
EHG_CLONE_CMD |
příkaz pro akci clone |
hg clone |
EHG_PULL_CMD |
příkaz pro akci pull |
hg pull -u |
Jako vždy načteme eclass, která se tentokrát jmenuje darcs
. Většinou stačí nastavit proměnnou EDARCS_REPOSITORY
(adresa repozitáře), ostatní jsou volitelné.
Proměnná | Popis | Výchozí |
EDARCS_TOP_DIR |
adresář, do kterého se bude stahovat | ${DISTDIR}/darcs-src |
EDARCS_LOCALREPO |
název adresáře v ${EDARCS_TOP_DIR} |
${PN} |
EDARCS_DARCS_CMD |
příkaz darcs |
darcs |
EDARCS_GET_CMD |
příkaz pro stažení (get ) s přepínači |
get --partial |
EDARCS_UPDATE_CMD |
příkaz pro aktualizaci (pull ) s přepínači |
pull |
EDARCS_OPTIONS |
přepínače pro stažení i aktualizaci | --set-scripts-executable |
EDARCS_CLEAN |
nastavte na cokoliv, pokud chcete, aby se lokální kopie repozitáře místo aktualizace vždy smazala a stáhla znova | (nic) |
Další díl bude o hláškách, kódu podmíněném USE flagy a o ošetřování chyb.
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
Napodobne, ja zas nekdy asi casem rad neco ukutim a proto budu vdecny za jakekoliv ukazani cesty.
Priklad - zkousel jsem emergnout hru xgalaga, na necem zkejsla, stejne jako kdyz jsem ji driv zkousel zkompilovat = to by moh bejt jeden adept.