uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
96
pkgs/development/libraries/fontconfig/default.nix
Normal file
96
pkgs/development/libraries/fontconfig/default.nix
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
{ lib, stdenv
|
||||
, fetchpatch
|
||||
, substituteAll
|
||||
, fetchurl
|
||||
, pkg-config
|
||||
, python3
|
||||
, freetype
|
||||
, expat
|
||||
, libxslt
|
||||
, gperf
|
||||
, dejavu_fonts
|
||||
, autoreconfHook
|
||||
, CoreFoundation
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fontconfig";
|
||||
version = "2.13.94";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.freedesktop.org/software/fontconfig/release/${pname}-${version}.tar.xz";
|
||||
sha256 = "0g004r0bkkqz00mpm3svnnxn7d83158q0yb9ggxryizxfg5m5w55";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix font style detection
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/92fbf14b0d7c4737ffe1e8326b7ab8ffae5548c3.patch";
|
||||
sha256 = "1wmyax2151hg3m11q61mv25k45zk2w3xapb4p1r6wzk91zjlsgyr";
|
||||
})
|
||||
];
|
||||
|
||||
outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
gperf
|
||||
libxslt
|
||||
pkg-config
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
expat
|
||||
] ++ lib.optional stdenv.isDarwin CoreFoundation;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
freetype
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Requires networking.
|
||||
sed -i '/check_PROGRAMS += test-crbug1004254/d' test/Makefile.am
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--sysconfdir=/etc"
|
||||
"--with-arch=${stdenv.hostPlatform.parsed.cpu.name}"
|
||||
"--with-cache-dir=/var/cache/fontconfig" # otherwise the fallback is in $out/
|
||||
# just <1MB; this is what you get when loading config fails for some reason
|
||||
"--with-default-fonts=${dejavu_fonts.minimal}"
|
||||
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"--with-arch=${stdenv.hostPlatform.parsed.cpu.name}"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
installFlags = [
|
||||
# Don't try to write to /var/cache/fontconfig at install time.
|
||||
"fc_cachedir=$(TMPDIR)/dummy"
|
||||
"RUN_FC_CACHE_TEST=false"
|
||||
"sysconfdir=${placeholder "out"}/etc"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
cd "$out/etc/fonts"
|
||||
xsltproc --stringparam fontDirectories "${dejavu_fonts.minimal}" \
|
||||
--path $out/share/xml/fontconfig \
|
||||
${./make-fonts-conf.xsl} $out/etc/fonts/fonts.conf \
|
||||
> fonts.conf.tmp
|
||||
mv fonts.conf.tmp $out/etc/fonts/fonts.conf
|
||||
# We don't keep section 3 of the manpages, as they are quite large and
|
||||
# probably not so useful.
|
||||
rm -r $bin/share/man/man3
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A library for font customization and configuration";
|
||||
homepage = "http://fontconfig.org/";
|
||||
license = licenses.bsd2; # custom but very bsd-like
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; teams.freedesktop.members ++ [ ];
|
||||
};
|
||||
}
|
||||
33
pkgs/development/libraries/fontconfig/make-fonts-cache.nix
Normal file
33
pkgs/development/libraries/fontconfig/make-fonts-cache.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ runCommand, lib, fontconfig, fontDirectories }:
|
||||
|
||||
runCommand "fc-cache"
|
||||
{
|
||||
nativeBuildInputs = [ fontconfig.bin ];
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = false;
|
||||
passAsFile = [ "fontDirs" ];
|
||||
fontDirs = ''
|
||||
<!-- Font directories -->
|
||||
${lib.concatStringsSep "\n" (map (font: "<dir>${font}</dir>") fontDirectories)}
|
||||
'';
|
||||
}
|
||||
''
|
||||
export FONTCONFIG_FILE=$(pwd)/fonts.conf
|
||||
|
||||
cat > fonts.conf << EOF
|
||||
<?xml version='1.0'?>
|
||||
<!DOCTYPE fontconfig SYSTEM 'urn:fontconfig:fonts.dtd'>
|
||||
<fontconfig>
|
||||
<include>${fontconfig.out}/etc/fonts/fonts.conf</include>
|
||||
<cachedir>$out</cachedir>
|
||||
EOF
|
||||
cat "$fontDirsPath" >> fonts.conf
|
||||
echo "</fontconfig>" >> fonts.conf
|
||||
|
||||
mkdir -p $out
|
||||
fc-cache -sv
|
||||
|
||||
# This is not a cache dir in the normal sense -- it won't be automatically
|
||||
# recreated.
|
||||
rm -f "$out/CACHEDIR.TAG"
|
||||
''
|
||||
15
pkgs/development/libraries/fontconfig/make-fonts-conf.nix
Normal file
15
pkgs/development/libraries/fontconfig/make-fonts-conf.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{ runCommand, libxslt, fontconfig, dejavu_fonts, fontDirectories }:
|
||||
|
||||
runCommand "fonts.conf"
|
||||
{
|
||||
nativeBuildInputs = [ libxslt ];
|
||||
buildInputs = [ fontconfig ];
|
||||
# Add a default font for non-nixos systems, <1MB and in nixos defaults.
|
||||
fontDirectories = fontDirectories ++ [ dejavu_fonts.minimal ];
|
||||
}
|
||||
''
|
||||
xsltproc --stringparam fontDirectories "$fontDirectories" \
|
||||
--path ${fontconfig.out}/share/xml/fontconfig \
|
||||
${./make-fonts-conf.xsl} ${fontconfig.out}/etc/fonts/fonts.conf \
|
||||
> $out
|
||||
''
|
||||
62
pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
Normal file
62
pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<!--
|
||||
This script copies the original fonts.conf from the fontconfig
|
||||
distribution, but replaces all <dir> entries with the directories
|
||||
specified in the $fontDirectories parameter.
|
||||
-->
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:str="http://exslt.org/strings"
|
||||
extension-element-prefixes="str"
|
||||
>
|
||||
|
||||
<xsl:output method='xml' encoding="UTF-8" doctype-system="urn:fontconfig:fonts.dtd" />
|
||||
|
||||
<xsl:param name="fontDirectories" />
|
||||
|
||||
<xsl:template match="/fontconfig">
|
||||
|
||||
<fontconfig>
|
||||
<xsl:apply-templates select="child::node()[name() != 'dir' and name() != 'cachedir' and name() != 'include']" />
|
||||
|
||||
<!-- the first cachedir will be used to store the cache -->
|
||||
<cachedir prefix="xdg">fontconfig</cachedir>
|
||||
<!-- /var/cache/fontconfig is useful for non-nixos systems -->
|
||||
<cachedir>/var/cache/fontconfig</cachedir>
|
||||
|
||||
<!-- system-wide config -->
|
||||
<include ignore_missing="yes">/etc/fonts/conf.d</include>
|
||||
|
||||
<dir prefix="xdg">fonts</dir>
|
||||
<xsl:for-each select="str:tokenize($fontDirectories)">
|
||||
<dir><xsl:value-of select="." /></dir>
|
||||
<xsl:text>
</xsl:text>
|
||||
</xsl:for-each>
|
||||
|
||||
<!-- nix user profile -->
|
||||
<dir>~/.nix-profile/lib/X11/fonts</dir>
|
||||
<dir>~/.nix-profile/share/fonts</dir>
|
||||
|
||||
<!-- FHS paths for non-NixOS platforms -->
|
||||
<dir>/usr/share/fonts</dir>
|
||||
<dir>/usr/local/share/fonts</dir>
|
||||
|
||||
<!-- nix default profile -->
|
||||
<dir>/nix/var/nix/profiles/default/lib/X11/fonts</dir>
|
||||
<dir>/nix/var/nix/profiles/default/share/fonts</dir>
|
||||
|
||||
</fontconfig>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- New fontconfig >=2.11 doesn't like xml:space added by xsl:copy-of -->
|
||||
<xsl:template match="node()|@*">
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates select="node()|@*[name() != 'xml:space']"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
Loading…
Add table
Add a link
Reference in a new issue