diff options
Diffstat (limited to 'pkgs/data/fonts')
-rw-r--r-- | pkgs/data/fonts/iosevka/default.nix | 2 | ||||
-rw-r--r-- | pkgs/data/fonts/siji/default.nix | 48 | ||||
-rw-r--r-- | pkgs/data/fonts/spleen/default.nix | 4 | ||||
-rw-r--r-- | pkgs/data/fonts/tamsyn/default.nix | 33 | ||||
-rw-r--r-- | pkgs/data/fonts/terminus-font/default.nix | 31 | ||||
-rw-r--r-- | pkgs/data/fonts/tewi/default.nix | 55 | ||||
-rw-r--r-- | pkgs/data/fonts/ucs-fonts/default.nix | 40 | ||||
-rw-r--r-- | pkgs/data/fonts/unifont/default.nix | 31 | ||||
-rw-r--r-- | pkgs/data/fonts/unscii/default.nix | 43 |
9 files changed, 200 insertions, 87 deletions
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix index e21110658261..e6e3aeba9dea 100644 --- a/pkgs/data/fonts/iosevka/default.nix +++ b/pkgs/data/fonts/iosevka/default.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation rec { buildPhase = '' runHook preBuild - npm run build -- ttf::$pname + npm run build -- ttf::$pname >/dev/null runHook postBuild ''; diff --git a/pkgs/data/fonts/siji/default.nix b/pkgs/data/fonts/siji/default.nix index a0acf78d855d..336fe48f54da 100644 --- a/pkgs/data/fonts/siji/default.nix +++ b/pkgs/data/fonts/siji/default.nix @@ -1,26 +1,44 @@ -{ lib, fetchzip }: +{ stdenv, fetchzip, libfaketime, fonttosfnt, mkfontscale }: -let - date = "2016-05-13"; -in fetchzip { - name = "siji-${date}"; +stdenv.mkDerivation rec { + name = "siji-${version}"; + version = "2016-05-13"; - url = https://github.com/stark/siji/archive/95369afac3e661cb6d3329ade5219992c88688c1.zip; + src = fetchzip { + url = https://github.com/stark/siji/archive/95369afac3e661cb6d3329ade5219992c88688c1.zip; + sha256 = "1408g4nxwdd682vjqpmgv0cp0bfnzzzwls62cjs9zrds16xa9dpf"; + }; + + nativeBuildInputs = [ libfaketime fonttosfnt mkfontscale ]; - postFetch = '' - unzip -j $downloadedFile + buildPhase = '' + # compress pcf fonts + gzip -n -9 pcf/* + + # convert bdf fonts to otb + for i in bdf/*; do + name=$(basename $i .bdf) + faketime -f "1970-01-01 00:00:01" \ + fonttosfnt -v -o "$name.otb" "$i" + done + ''; - install -D *.pcf -t $out/share/fonts/pcf - install -D *.bdf -t $out/share/fonts/bdf + postInstall = '' + install -m 644 -D pcf/* -t "$out/share/fonts/misc" + install -m 644 -D bdf/* -t "$bdf/share/fonts/misc" + install -m 644 -D *.otb -t "$otb/share/fonts/misc" + mkfontdir "$out/share/fonts/misc" + mkfontdir "$bdf/share/fonts/misc" + mkfontdir "$otb/share/fonts/misc" ''; - sha256 = "1ymcbirdbkqaf0xs2y00l0wachb4yxh1fgqm5avqwvccs0lsfj1d"; + outputs = [ "out" "bdf" "otb" ]; - meta = { + meta = with stdenv.lib; { homepage = https://github.com/stark/siji; description = "An iconic bitmap font based on Stlarch with additional glyphs"; - license = lib.licenses.gpl2; - platforms = lib.platforms.all; - maintainers = [ lib.maintainers.asymmetric ]; + license = licenses.gpl2; + platforms = platforms.all; + maintainers = [ maintainers.asymmetric ]; }; } diff --git a/pkgs/data/fonts/spleen/default.nix b/pkgs/data/fonts/spleen/default.nix index 42645fda664d..c3cfec244e3a 100644 --- a/pkgs/data/fonts/spleen/default.nix +++ b/pkgs/data/fonts/spleen/default.nix @@ -2,7 +2,7 @@ let pname = "spleen"; - version = "1.6.0"; + version = "1.7.0"; in fetchurl { name = "${pname}-${version}"; url = "https://github.com/fcambus/spleen/releases/download/${version}/spleen-${version}.tar.gz"; @@ -19,7 +19,7 @@ in fetchurl { # create fonts.dir so NixOS xorg module adds to fp ${mkfontscale}/bin/mkfontdir "$d" ''; - sha256 = "0x1xiw4gyfkyvwqg0f47rl92zq76d0c6jfncdnq8m2wwpxz9697b"; + sha256 = "17dn6spfr8wv63sy009djb4q12q635m13wsyirzn074qabhr9ggg"; meta = with lib; { description = "Monospaced bitmap fonts"; diff --git a/pkgs/data/fonts/tamsyn/default.nix b/pkgs/data/fonts/tamsyn/default.nix index 380024e7e1a3..10f96b2b17a8 100644 --- a/pkgs/data/fonts/tamsyn/default.nix +++ b/pkgs/data/fonts/tamsyn/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, mkfontdir, mkfontscale }: +{ stdenv, fetchurl, fontforge, mkfontscale }: let version = "1.11"; @@ -11,27 +11,32 @@ in stdenv.mkDerivation { sha256 = "0kpjzdj8sv5871b8827mjgj9dswk75h94jj5iia2bds18ih1pglp"; }; - nativeBuildInputs = [ mkfontdir mkfontscale ]; + nativeBuildInputs = [ fontforge mkfontscale ]; unpackPhase = '' tar -xzf $src --strip-components=1 ''; + postBuild = '' + # convert pcf fonts to otb + for i in *.pcf; do + name=$(basename "$i" .pcf) + fontforge -lang=ff -c "Open(\"$i\"); Generate(\"$name.otb\")" + done + + # compress pcf fonts + gzip -n -9 *.pcf + ''; + installPhase = '' - # install the pcf fonts (for xorg applications) - fontDir="$out/share/fonts/tamsyn" - mkdir -p "$fontDir" - mv *.pcf "$fontDir" - mv *.psf.gz "$fontDir" - - cd "$fontDir" - mkfontdir - mkfontscale + install -m 644 -D *.pcf.gz -t "$out/share/fonts/misc" + install -m 644 -D *.psf.gz -t "$out/share/consolefonts" + install -m 644 -D *.otb -t "$otb/share/fonts/misc" + mkfontdir "$out/share/fonts/misc" + mkfontdir "$otb/share/fonts/misc" ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "13l7ighfmn3kmqmchlksfg8ss22ndjk71rs0f9fn5p5zk7s4dn5x"; + outputs = [ "out" "otb" ]; meta = with stdenv.lib; { description = "A monospace bitmap font aimed at programmers"; diff --git a/pkgs/data/fonts/terminus-font/default.nix b/pkgs/data/fonts/terminus-font/default.nix index 358ab959cd0e..88ae9ac72c2e 100644 --- a/pkgs/data/fonts/terminus-font/default.nix +++ b/pkgs/data/fonts/terminus-font/default.nix @@ -1,4 +1,7 @@ -{ stdenv, fetchurl, python3, bdftopcf, mkfontdir, mkfontscale }: +{ stdenv, fetchurl, python3 +, libfaketime, fonttosfnt +, bdftopcf, mkfontscale +}: stdenv.mkDerivation rec { pname = "terminus-font"; @@ -9,16 +12,36 @@ stdenv.mkDerivation rec { sha256 = "1bwlkj39rqbyq57v5yssayav6hzv1n11b9ml2s0dpiyfsn6rqy9l"; }; - nativeBuildInputs = [ python3 bdftopcf mkfontdir mkfontscale ]; + nativeBuildInputs = + [ python3 bdftopcf libfaketime + fonttosfnt mkfontscale + ]; - patchPhase = '' + enableParallelBuilding = true; + + postPatch = '' substituteInPlace Makefile --replace 'fc-cache' '#fc-cache' ''; - enableParallelBuilding = true; + postBuild = '' + # convert unicode bdf fonts to otb + for i in *.bdf; do + name=$(basename $i .bdf) + faketime -f "1970-01-01 00:00:01" \ + fonttosfnt -v -o "$name.otb" "$i" + done + ''; + + postInstall = '' + # install otb fonts (for GTK applications) + install -m 644 -D *.otb -t "$otb/share/fonts/misc"; + mkfontdir "$otb/share/fonts/misc" + ''; installTargets = [ "install" "fontdir" ]; + outputs = [ "out" "otb" ]; + meta = with stdenv.lib; { description = "A clean fixed width font"; longDescription = '' diff --git a/pkgs/data/fonts/tewi/default.nix b/pkgs/data/fonts/tewi/default.nix index fbc29cdf5fb1..6245032246c9 100644 --- a/pkgs/data/fonts/tewi/default.nix +++ b/pkgs/data/fonts/tewi/default.nix @@ -1,37 +1,52 @@ -{stdenv, fetchgit, bdftopcf, mkfontdir, mkfontscale}: +{ stdenv, fetchFromGitHub, python3 +, bdftopcf, mkfontscale +, libfaketime, fonttosfnt +}: stdenv.mkDerivation rec { - date = "2015-06-07"; - name = "tewi-font-${date}"; + pname = "tewi-font"; + version = "2.0.2"; - src = fetchgit { - url = "https://github.com/lucy/tewi-font"; - rev = "ff930e66ae471da4fdc226ffe65fd1ccd13d4a69"; - sha256 = "0c7k847cp68w20frzsdknpss2cwv3lp970asyybv65jxyl2jz3iq"; + src = fetchFromGitHub { + owner = "lucy"; + repo = pname; + rev = version; + sha256 = "1axv9bv10xlcmgfyjh3z5kn5fkg3m6n1kskcs5hvlmyb6m1zk91j"; }; - nativeBuildInputs = [ bdftopcf mkfontdir mkfontscale ]; - buildPhase = '' + nativeBuildInputs = + [ python3 bdftopcf mkfontscale + libfaketime fonttosfnt + ]; + + postPatch = '' + # make gzip deterministic + sed 's/gzip -9/gzip -9 -n/g' -i Makefile + + # fix python not found + patchShebangs scripts/merge + ''; + + postBuild = '' + # convert bdf fonts to otb for i in *.bdf; do - bdftopcf -o ''${i/bdf/pcf} $i + name=$(basename "$i" .bdf) + faketime -f "1970-01-01 00:00:01" \ + fonttosfnt -v -o "$name.otb" "$i" done - - gzip -n *.pcf ''; installPhase = '' fontDir="$out/share/fonts/misc" - mkdir -p "$fontDir" - mv *.pcf.gz "$fontDir" + install -m 644 -D out/* -t "$fontDir" + mkfontdir "$fontDir" - cd "$fontDir" - mkfontdir - mkfontscale + fontDir="$otb/share/fonts/misc" + install -m 644 -D *.otb -t "$fontDir" + mkfontdir "$fontDir" ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "14dv3m1svahjyb9c1x1570qrmlnynzg0g36b10bqqs8xvhix34yq"; + outputs = [ "out" "otb" ]; meta = with stdenv.lib; { description = "A nice bitmap font, readable even at small sizes"; diff --git a/pkgs/data/fonts/ucs-fonts/default.nix b/pkgs/data/fonts/ucs-fonts/default.nix index 0ea0363763dc..d363f01309be 100644 --- a/pkgs/data/fonts/ucs-fonts/default.nix +++ b/pkgs/data/fonts/ucs-fonts/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchurl, mkfontdir, mkfontscale }: +{ stdenv, fetchurl, bdftopcf +, libfaketime, fonttosfnt, mkfontscale +}: stdenv.mkDerivation { pname = "ucs-fonts"; @@ -21,24 +23,40 @@ stdenv.mkDerivation { sourceRoot = "."; - nativeBuildInputs = [ mkfontdir mkfontscale ]; + nativeBuildInputs = + [ bdftopcf libfaketime fonttosfnt + mkfontscale + ]; - phases = [ "unpackPhase" "installPhase" ]; + buildPhase = '' + for i in *.bdf; do + name=$(basename "$i" .bdf) + + # generate pcf fonts (for X11 applications) + bdftopcf -t "$i" | gzip -n -9 -c > "$name.pcf.gz" + + # generate otb fonts (for GTK applications) + faketime -f "1970-01-01 00:00:01" \ + fonttosfnt -v -o "$name.otb" "$i" + done + ''; installPhase = '' - mkdir -p $out/share/fonts - cp *.bdf $out/share/fonts - cd $out/share/fonts - mkfontdir - mkfontscale + install -m 644 -D *.pcf.gz -t "$out/share/fonts/misc" + install -m 644 -D *.bdf -t "$bdf/share/fonts/misc" + install -m 644 -D *.otb -t "$otb/share/fonts/misc" + + mkfontdir "$out/share/fonts/misc" + mkfontdir "$bdf/share/fonts/misc" + mkfontdir "$otb/share/fonts/misc" ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "12fh3kbsib0baqwk6148fnzqrj9gs4vnl7yd5n9km72sic1z1xwk"; + outputs = [ "out" "bdf" "otb" ]; meta = with stdenv.lib; { + homepage = "https://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html"; description = "Unicode bitmap fonts"; + license = licenses.publicDomain; maintainers = [ maintainers.raskin ]; platforms = platforms.all; }; diff --git a/pkgs/data/fonts/unifont/default.nix b/pkgs/data/fonts/unifont/default.nix index a80beee342b3..fc41263fee7e 100644 --- a/pkgs/data/fonts/unifont/default.nix +++ b/pkgs/data/fonts/unifont/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchurl, mkfontscale, mkfontdir }: +{ stdenv, fetchurl, mkfontscale +, libfaketime, fonttosfnt +}: stdenv.mkDerivation rec { pname = "unifont"; @@ -14,23 +16,32 @@ stdenv.mkDerivation rec { sha256 = "1cd1fnk3m7giqp099kynnjj4m7q00lqm4ybqb1vzd2wi3j4a1awf"; }; - nativeBuildInputs = [ mkfontscale mkfontdir ]; + nativeBuildInputs = [ libfaketime fonttosfnt mkfontscale ]; - phases = "installPhase"; + phases = [ "buildPhase" "installPhase" ]; + + buildPhase = + '' + # convert pcf font to otb + faketime -f "1970-01-01 00:00:01" \ + fonttosfnt -g 2 -m 2 -v -o "unifont.otb" "${pcf}" + ''; installPhase = '' - mkdir -p $out/share/fonts $out/share/fonts/truetype - cp -v ${pcf} $out/share/fonts/unifont.pcf.gz - cp -v ${ttf} $out/share/fonts/truetype/unifont.ttf - cd $out/share/fonts + # install otb fonts + install -m 644 -D unifont.otb "$otb/share/fonts/unifont.otb" + mkfontdir "$otb/share/fonts" + + # install pcf and ttf fonts + install -m 644 -D ${pcf} $out/share/fonts/unifont.pcf.gz + install -m 644 -D ${ttf} $out/share/fonts/truetype/unifont.ttf + cd "$out/share/fonts" mkfontdir mkfontscale ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "0n3ms2k2mk7j6144l05c45smggwf3j5cwkaxhw93wf9hd1lhpwq1"; + outputs = [ "out" "otb" ]; meta = with stdenv.lib; { description = "Unicode font for Base Multilingual Plane"; diff --git a/pkgs/data/fonts/unscii/default.nix b/pkgs/data/fonts/unscii/default.nix index cd4d0dc42cdd..93fe8cdfb74b 100644 --- a/pkgs/data/fonts/unscii/default.nix +++ b/pkgs/data/fonts/unscii/default.nix @@ -1,32 +1,55 @@ -{stdenv, fetchurl, perl, bdftopcf, perlPackages, fontforge, SDL, SDL_image}: +{ stdenv, fetchurl, perl, bdftopcf +, fontforge, SDL, SDL_image, mkfontscale +}: + stdenv.mkDerivation rec { pname = "unscii"; version = "1.1"; - # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev) + src = fetchurl { url = "http://pelulamu.net/${pname}/${pname}-${version}-src.tar.gz"; sha256 = "0qcxcnqz2nlwfzlrn115kkp3n8dd7593h762vxs6vfqm13i39lq1"; }; - nativeBuildInputs = [perl bdftopcf perlPackages.TextCharWidth fontforge - SDL SDL_image]; + + nativeBuildInputs = + [ (perl.withPackages (p: [ p.TextCharWidth ])) + bdftopcf fontforge SDL SDL_image + mkfontscale + ]; + preConfigure = '' patchShebangs . ''; + + postBuild = '' + # compress pcf fonts + gzip -9 -n *.pcf + ''; + installPhase = '' - install -m444 -Dt $out/share/fonts *.hex *.pcf - install -m444 -Dt $out/share/fonts/truetype *.ttf - install -m444 -Dt $out/share/fonts/opentype *.otf - install -m444 -Dt $out/share/fonts/svg *.svg - install -m444 -Dt $out/share/fonts/web *.woff + # install fonts for use in X11 and GTK applications + install -m444 -Dt "$out/share/fonts/misc" *.pcf.gz + install -m444 -Dt "$out/share/fonts/opentype" *.otf + mkfontdir "$out/share/fonts/misc" + mkfontscale "$out/share/fonts/opentype" + + # install other formats in $extra + install -m444 -Dt "$extra/share/fonts/truetype" *.ttf + install -m444 -Dt "$extra/share/fonts/svg" *.svg + install -m444 -Dt "$extra/share/fonts/web" *.woff + install -m444 -Dt "$extra/share/fonts/misc" *.hex + mkfontscale "$extra"/share/fonts/* ''; + outputs = [ "out" "extra" ]; + meta = { inherit version; description = ''Bitmapped character-art-friendly Unicode fonts''; # Basically GPL2+ with font exception — because of the Unifont-augmented # version. The reduced version is public domain. license = http://unifoundry.com/LICENSE.txt; - maintainers = [stdenv.lib.maintainers.raskin]; + maintainers = [ stdenv.lib.maintainers.raskin ]; homepage = http://pelulamu.net/unscii/; }; } |