gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1574Shell 204Rust 111Markdown 993763 Definitions

⎇ 7b0ad7805dbe7caa2ddac172a52a7e5e13deee61 recipes/tzdata.toml TOML · 41 lines · 1.8 KB History raw

takana etapa 5a: los comentarios de las 741 recetas e852f4849 · Sergio ·

1# Base de zonas horarias (IANA tz).
2#
3# El tarball `tzcode2026b.tar.gz` de IANA trae SÓLO el código (zic.c, Makefile) y el
4# `tzdata2026b.tar.gz` SÓLO los datos (africa, asia, ...). Como takana fija una única
5# fuente por receta y el tarball combinado de IANA es `.tar.lz` (lzip no disponible),
6# usamos el árbol git de eggert/tz —que contiene código + datos juntos— pineado al tag
7# 2026b (ADR 0006: commit fijo, nunca HEAD).
8#
9# Objetivo: poblar /usr/share/zoneinfo/* con `zic`. NO empaquetamos el binario
10# zic/zdump/posixtz, sólo las zonas compiladas. Por eso quitamos los parches de Alpine
11# de `posixtz` (no lo construimos).
12name    = "tzdata"
13version = "2026b"
14# licencia: LICENSE del commit pineado: «all files in the tz code and data … are in the public domain», salvo date.c/newstrftime.3/strftime.c, que son BSD-3-Clause y esta receta NO instala — sólo compila zic y deja /usr/share/zoneinfo. Era el otro de los DOS que vetaban base y cli
15license = "LicenseRef-tz-public-domain"
16
17[source]
18repo   = "https://github.com/eggert/tz"
19commit = "48c25a1ba86cb602990c0573aba7795417931bb4"  # tag 2026b (annotated → commit)
20
21[build]
22compiler = "zig-cc"
23target   = "x86_64-linux-musl"
24link     = "static"
25flags    = []
26
27[deps]
28build = ["make"]
29
30[build.phases]
31# El Makefile de tz compila `zic` (C estándar, sin deps externas). VERSION lo pasamos a
32# mano porque el árbol se materializa vía `git archive` (sin .git para `git describe`).
33compile = '''
34make CC="$CC" LDFLAGS="$LDFLAGS" VERSION=2026b zic
35'''
36# `posix_only` genera tzdata.zi + leapseconds (vía awk, que busybox awk resuelve) y corre
37# `zic -d $DESTDIR$TZDIR tzdata.zi` → deja las zonas en /out/usr/share/zoneinfo.
38install = '''
39make CC="$CC" LDFLAGS="$LDFLAGS" VERSION=2026b \
40     DESTDIR=/out TZDIR=/usr/share/zoneinfo posix_only
41'''