Merge staging-next into staging

This commit is contained in:
Frederik Rietdijk
2020-08-31 19:46:33 +02:00
257 changed files with 9979 additions and 12481 deletions

View File

@@ -0,0 +1,55 @@
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, python
, fonttools, defcon, lxml, fs, unicodedata2, zopfli, brotlipy, fontpens
, brotli, fontmath, mutatormath, booleanoperations
, ufoprocessor, ufonormalizer, psautohint
, setuptools_scm
, pytest
}:
buildPythonPackage rec {
pname = "afdko";
version = "3.5.0";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "0wid4l70bxm297xgayyrgw5glhp6n92gh4sz1nd4rncgf1ziz8ck";
};
nativeBuildInputs = [ setuptools_scm ];
propagatedBuildInputs = [
booleanoperations
fonttools
lxml # fonttools[lxml], defcon[lxml] extra
fs # fonttools[ufo] extra
unicodedata2 # fonttools[unicode] extra
brotlipy # fonttools[woff] extra
zopfli # fonttools[woff] extra
fontpens
brotli
defcon
fontmath
mutatormath
ufoprocessor
ufonormalizer
psautohint
];
# tests are broken on non x86_64
# https://github.com/adobe-type-tools/afdko/issues/1163
# https://github.com/adobe-type-tools/afdko/issues/1216
doCheck = stdenv.isx86_64;
checkInputs = [ pytest ];
checkPhase = ''
PATH="$PATH:$out/bin" py.test
'';
meta = with stdenv.lib; {
description = "Adobe Font Development Kit for OpenType";
homepage = "https://adobe-type-tools.github.io/afdko/";
license = licenses.asl20;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -20,11 +20,13 @@ buildPythonPackage rec {
cython
];
propagatedBuildInputs = [
numpy
];
checkInputs = [
cython
hypothesis
numpy
pytest
];

View File

@@ -0,0 +1,34 @@
{ lib, buildPythonPackage, fetchPypi
, fonttools, fs, pyclipper, defcon, fontpens
, setuptools_scm, pytest
}:
buildPythonPackage rec {
pname = "booleanOperations";
version = "0.9.0";
src = fetchPypi {
inherit pname version;
sha256 = "1f41lb19m8azchl1aqz6j5ycbspb8jsf1cnn42hlydxd68f85ylc";
extension = "zip";
};
nativeBuildInputs = [ setuptools_scm ];
propagatedBuildInputs = [
fonttools
fs
pyclipper
defcon
fontpens
];
checkInputs = [ pytest ];
meta = with lib; {
description = "Boolean operations on paths";
homepage = "https://github.com/typemytype/booleanOperations";
license = licenses.mit;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -1,4 +1,6 @@
{ stdenv, buildPythonPackage, fetchPypi, cryptography, boto3, pyyaml, docutils, nose }:
{ stdenv, buildPythonPackage, fetchPypi, cryptography, boto3, pyyaml, docutils, nose
, fetchpatch
}:
buildPythonPackage rec {
pname = "credstash";
@@ -9,6 +11,12 @@ buildPythonPackage rec {
sha256 = "6c04e8734ef556ab459018da142dd0b244093ef176b3be5583e582e9a797a120";
};
patches = [
(fetchpatch {
url = "https://github.com/fugue/credstash/commit/9c02ee43ed6e37596cafbca2fe80c532ec19d2d8.patch";
sha256 = "dlybrpfLK+PqwWWhH9iXgXHYysZGmcZAFGWNOwsG0xA=";
})
];
# The install phase puts an executable and a copy of the library it imports in
# bin/credstash and bin/credstash.py, despite the fact that the library is also
# installed to lib/python<version>/site-packages/credstash.py.

View File

@@ -3,6 +3,7 @@
, fetchPypi
, mock
, jsonpickle
, mmh3
, ordered-set
, numpy
, pytestCheckHook
@@ -24,14 +25,9 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTests = [
# skipped tests require murmur module
"test_prep_str_murmur3_64bit"
"test_prep_str_murmur3_128bit"
];
propagatedBuildInputs = [
jsonpickle
mmh3
ordered-set
];

View File

@@ -0,0 +1,35 @@
{ lib, buildPythonPackage, fetchPypi, pythonOlder
, fonttools
, pytest, pytestrunner, lxml, fs, unicodedata2, fontpens
}:
buildPythonPackage rec {
pname = "defcon";
version = "0.7.2";
src = fetchPypi {
inherit pname version;
sha256 = "1lfqsvxmq1j0nvp26gidnqkj1dyxv7jalc6i7fz1r3nc7niflrqr";
extension = "zip";
};
propagatedBuildInputs = [
fonttools
];
checkInputs = [
pytest
pytestrunner
lxml
fs
unicodedata2
fontpens
];
meta = with lib; {
description = "A set of UFO based objects for use in font editing applications";
homepage = "https://github.com/robotools/defcon";
license = licenses.mit;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -1,5 +1,13 @@
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder
, pytest, pytestcov, mock, Mako, decorator
{ stdenv
, buildPythonPackage
, fetchPypi
, pythonOlder
, pytest
, pytestcov
, mock
, Mako
, decorator
, stevedore
}:
buildPythonPackage rec {
@@ -27,7 +35,7 @@ buildPythonPackage rec {
checkInputs = [ pytest pytestcov mock Mako ];
propagatedBuildInputs = [ decorator ];
propagatedBuildInputs = [ decorator stevedore ];
meta = with stdenv.lib; {
description = "A caching front-end based on the Dogpile lock";

View File

@@ -0,0 +1,25 @@
{ lib, buildPythonPackage, fetchPypi
, fonttools
, pytest, pytestrunner
}:
buildPythonPackage rec {
pname = "fontMath";
version = "0.6.0";
src = fetchPypi {
inherit pname version;
sha256 = "09xdqdjyjlx5k9ymi36d7hkgvn55zzjzd65l2yqidkfazlmh14ss";
extension = "zip";
};
propagatedBuildInputs = [ fonttools ];
checkInputs = [ pytest pytestrunner ];
meta = with lib; {
description = "A collection of objects that implement fast font, glyph, etc. math";
homepage = "https://github.com/robotools/fontMath/";
license = licenses.mit;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -0,0 +1,39 @@
{ lib, buildPythonPackage, fetchPypi, python
, fonttools, lxml, fs, unicodedata2
, defcon, fontpens, fontmath, booleanoperations
, pytest
}:
buildPythonPackage rec {
pname = "fontParts";
version = "0.9.2";
src = fetchPypi {
inherit pname version;
sha256 = "0hwzdppmrrw1xz49x36h6mcsrwya1f3zpqrc206y73j4pbn7fh0k";
extension = "zip";
};
propagatedBuildInputs = [
booleanoperations
fonttools
unicodedata2 # fonttools[unicode] extra
lxml # fonttools[lxml] extra
fs # fonttools[ufo] extra
defcon
fontpens # defcon[pens] extra
fontmath
];
checkPhase = ''
${python.interpreter} Lib/fontParts/fontshell/test.py
'';
checkInputs = [ pytest ];
meta = with lib; {
description = "An API for interacting with the parts of fonts during the font development process.";
homepage = "https://github.com/robotools/fontParts";
license = licenses.mit;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -0,0 +1,38 @@
{ lib, buildPythonPackage, fetchPypi, fonttools }:
buildPythonPackage rec {
pname = "fontPens";
version = "0.2.4";
src = fetchPypi {
inherit pname version;
sha256 = "1za15dzsnymq6d9x7xdfqwgw4a3003wj75fn2crhyidkfd2s3nd6";
extension = "zip";
};
propagatedBuildInputs = [ fonttools ];
# can't run normal tests due to circular dependency with fontParts
doCheck = false;
pythonImportsCheck = [ "fontPens" ] ++ (builtins.map (s: "fontPens." + s) [
"angledMarginPen"
"digestPointPen"
"flattenPen"
"guessSmoothPointPen"
"marginPen"
"penTools"
"printPen"
"printPointPen"
"recordingPointPen"
"thresholdPen"
"thresholdPointPen"
"transformPointPen"
]);
meta = with lib; {
description = "A collection of classes implementing the pen protocol for manipulating glyphs";
homepage = "https://github.com/robotools/fontPens";
license = licenses.bsd3;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -1,38 +1,70 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPy27
, numpy
, fetchFromGitHub
, pythonOlder
, brotlipy
, zopfli
, fs
, lxml
, scipy
, munkres
, unicodedata2
, sympy
, matplotlib
, reportlab
, pytest
, pytestrunner
, pytest-randomly
, glibcLocales
}:
buildPythonPackage rec {
pname = "fonttools";
version = "4.13.0";
disabled = isPy27;
version = "4.14.0";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "63987cd374c39a75146748f8be8637634221e53fef15cdf76f17777676d8545a";
extension = "zip";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "0aiaxjg2v2391gxnhp4nvmgfb3ygm6x7n080s5mnkfjq2bq319in";
};
buildInputs = [
numpy
];
# all dependencies are optional, but
# we run the checks with them
checkInputs = [
pytest
pytestrunner
pytest-randomly
glibcLocales
# etree extra
lxml
# ufo extra
fs
# woff extra
brotlipy
zopfli
# unicode extra
unicodedata2
# interpolatable extra
scipy
munkres
# symfont
sympy
# varLib
matplotlib
# pens
reportlab
];
preCheck = ''
export LC_ALL="en_US.UTF-8"
'';
# avoid timing issues with timestamps in subset_test.py and ttx_test.py
checkPhase = ''
pytest Tests fontTools \
-k 'not ttcompile_timestamp_calcs and not recalc_timestamp'
'';
meta = {
homepage = "https://github.com/fonttools/fonttools";
description = "A library to manipulate font files from Python";

View File

@@ -0,0 +1,30 @@
{ lib
, buildPythonPackage
, fetchPypi
, nose
, mock
}:
buildPythonPackage rec {
pname = "lml";
version = "0.0.9";
src = fetchPypi {
inherit pname version;
sha256 = "6luoF7Styen1whclzSR1+RKTO34t/fB5Ku2AB3FU9j8=";
};
checkInputs = [
nose
mock
];
checkPhase = "nosetests";
meta = {
description = "Load me later. A lazy plugin management system for Python";
homepage = "http://lml.readthedocs.io/";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ jtojnar ];
};
}

View File

@@ -0,0 +1,23 @@
{ lib
, fetchPypi
, buildPythonPackage
}:
buildPythonPackage rec {
pname = "mmh3";
version = "2.5.1";
src = fetchPypi {
inherit pname version;
sha256 = "0265pvfbcsijf51szsh14qk3l3zgs0rb5rbrw11zwan52yi0jlhq";
};
pythonImportsCheck = [ "mmh3" ];
meta = with lib; {
description = "Python wrapper for MurmurHash3, a set of fast and robust hash functions";
homepage = "https://pypi.org/project/mmh3/";
license = licenses.cc0;
maintainers = [ maintainers.danieldk ];
};
}

View File

@@ -0,0 +1,25 @@
{ lib, buildPythonPackage, fetchPypi
, defcon, fontmath
, unicodedata2, fs
}:
buildPythonPackage rec {
pname = "MutatorMath";
version = "3.0.1";
src = fetchPypi {
inherit pname version;
sha256 = "0r1qq45np49x14zz1zwkaayqrn7m8dn2jlipjldg2ihnmpzw29w1";
extension = "zip";
};
propagatedBuildInputs = [ fontmath unicodedata2 defcon ];
checkInputs = [ unicodedata2 fs ];
meta = with lib; {
description = "Piecewise linear interpolation in multiple dimensions with multiple, arbitrarily placed, masters";
homepage = "https://github.com/LettError/MutatorMath";
license = licenses.bsd3;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -1,10 +1,10 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPy27
, pythonOlder
, funcsigs
, setuptools_scm
, importlib-metadata
, packaging
# Check Inputs
, pytestCheckHook
, numpy
@@ -24,9 +24,10 @@ buildPythonPackage rec {
disabled = pythonOlder "3.6";
propagatedBuildInputs = [
setuptools_scm
] ++ lib.optional isPy27 funcsigs;
nativeBuildInputs = [ setuptools_scm ];
propagatedBuildInputs = [ packaging ]
++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
# Test suite explicitly requires pytest
checkInputs = [

View File

@@ -0,0 +1,40 @@
{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
, fonttools, lxml, fs
, setuptools_scm
, pytest, pytestcov, pytest_xdist, pytest-randomly
}:
buildPythonPackage rec {
pname = "psautohint";
version = "2.1.0";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "adobe-type-tools";
repo = pname;
sha256 = "1k1rx1adqxdxj5v3788lwnvygylp73sps1p0q44hws2vmsag2s8r";
rev = "v${version}";
fetchSubmodules = true; # data dir for tests
};
postPatch = ''
echo '#define PSAUTOHINT_VERSION "${version}"' > libpsautohint/src/version.h
sed -i '/use_scm_version/,+3d' setup.py
sed -i '/setup(/a \ version="${version}",' setup.py
'';
nativeBuildInputs = [ setuptools_scm ];
propagatedBuildInputs = [ fonttools lxml fs ];
checkInputs = [ pytest pytestcov pytest_xdist pytest-randomly ];
checkPhase = "pytest tests";
meta = with lib; {
description = "Script to normalize the XML and other data inside of a UFO";
homepage = "https://github.com/adobe-type-tools/psautohint";
license = licenses.bsd3;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -0,0 +1,31 @@
{ lib
, buildPythonPackage
, fetchPypi
, lml
}:
buildPythonPackage rec {
pname = "pyexcel-io";
version = "0.5.20";
src = fetchPypi {
inherit pname version;
sha256 = "CN/jlVO5ljWbFD3j2exD4ZbxE41HyrtzrwShaCG4TXk=";
};
propagatedBuildInputs = [
lml
];
# Tests depend on stuff that depends on this.
doCheck = false;
pythonImportsCheck = [ "pyexcel_io" ];
meta = {
description = "One interface to read and write the data in various excel formats, import the data into and export the data from databases";
homepage = "http://docs.pyexcel.org/";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ jtojnar ];
};
}

View File

@@ -0,0 +1,41 @@
{ lib
, buildPythonPackage
, fetchPypi
, pyexcel-io
, odfpy
, nose
, pyexcel
, pyexcel-xls
, psutil
}:
buildPythonPackage rec {
pname = "pyexcel-ods";
version = "0.5.6";
src = fetchPypi {
inherit pname version;
sha256 = "O+Uv2KrdvYvJKG9+sUj0VT1MlyUtaVw6nse5XmZmoiM=";
};
propagatedBuildInputs = [
pyexcel-io
odfpy
];
checkInputs = [
nose
pyexcel
pyexcel-xls
psutil
];
checkPhase = "nosetests";
meta = {
description = "Plug-in to pyexcel providing the capbility to read, manipulate and write data in ods formats using odfpy";
homepage = "http://docs.pyexcel.org/";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ jtojnar ];
};
}

View File

@@ -0,0 +1,41 @@
{ lib
, buildPythonPackage
, fetchPypi
, pyexcel-io
, xlrd
, xlwt
, nose
, pyexcel
, mock
}:
buildPythonPackage rec {
pname = "pyexcel-xls";
version = "0.5.9";
src = fetchPypi {
inherit pname version;
sha256 = "1Wyt6gpmBoRFaXbZgFJVTTu+KnivxfmpHIaR9iZghVU=";
};
propagatedBuildInputs = [
pyexcel-io
xlrd
xlwt
];
checkInputs = [
nose
pyexcel
mock
];
checkPhase = "nosetests";
meta = {
description = "A wrapper library to read, manipulate and write data in xls using xlrd and xlwt";
homepage = "http://docs.pyexcel.org/";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ jtojnar ];
};
}

View File

@@ -0,0 +1,45 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPy27
, lml
, pyexcel-io
, texttable
, nose
}:
buildPythonPackage rec {
pname = "pyexcel";
version = "0.6.4";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "pPNYnimHhW7SL6X6OLwagZoadTD7IdUSbO7vAqQPQu8=";
};
propagatedBuildInputs = [
lml
pyexcel-io
texttable
];
checkInputs = [
nose
];
# Tests depend on pyexcel-xls & co. causing circular dependency.
# https://github.com/pyexcel/pyexcel/blob/dev/tests/requirements.txt
doCheck = false;
pythonImportsCheck = [ "pyexcel" ];
checkPhase = "nosetests";
meta = {
description = "Single API for reading, manipulating and writing data in csv, ods, xls, xlsx and xlsm files";
homepage = "http://docs.pyexcel.org/";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ jtojnar ];
};
}

View File

@@ -4,14 +4,14 @@
buildPythonPackage rec {
pname = "pyipp";
version = "0.10.1";
version = "0.11.0";
disabled = isPy27;
src = fetchFromGitHub {
owner = "ctalkington";
repo = "python-ipp";
rev = version;
sha256 = "0y9mkrx66f4m77jzfgdgmvlqismvimb6hm61j2va7zapm8dyabvr";
sha256 = "0ar3mkyfa9qi3av3885bvacpwlxh420if9ymdj8i4x06ymzc213d";
};
propagatedBuildInputs = [

View File

@@ -0,0 +1,31 @@
{ lib, buildPythonPackage, fetchPypi, isPy27
, factory_boy, faker, numpy
, pytest, pytest_xdist
}:
buildPythonPackage rec {
pname = "pytest-randomly";
version = "3.4.1";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "0s9cx692cdchfrjqx7fgf9wnm3fdac211a4hjq1cx9qqnbpdpl2z";
};
propagatedBuildInputs = [ numpy factory_boy faker ];
checkInputs = [ pytest pytest_xdist ];
# test warnings are fixed on an unreleased version:
# https://github.com/pytest-dev/pytest-randomly/pull/281
checkPhase = "pytest -p no:randomly";
meta = with lib; {
description = "Pytest plugin to randomly order tests and control random.seed";
homepage = "https://github.com/pytest-dev/pytest-randomly";
license = licenses.bsd3;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -0,0 +1,68 @@
{ stdenv
, buildPythonPackage
, fetchurl
, isPy37
, isPy38
, python
, nvidia_x11
, addOpenGLRunpath
, future
, numpy
, patchelf
, pyyaml
, requests
}:
let
pyVerNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion;
platform = if stdenv.isDarwin then "darwin" else "linux";
srcs = import ./binary-hashes.nix;
unsupported = throw "Unsupported system";
in buildPythonPackage {
pname = "pytorch";
# Don't forget to update pytorch to the same version.
version = "1.6.0";
format = "wheel";
disabled = !(isPy37 || isPy38);
src = fetchurl srcs."${stdenv.system}-${pyVerNoDot}" or unsupported;
nativeBuildInputs = [
addOpenGLRunpath
patchelf
];
propagatedBuildInputs = [
future
numpy
pyyaml
requests
];
postInstall = ''
# ONNX conversion
rm -rf $out/bin
'';
postFixup = let
rpath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib nvidia_x11 ];
in ''
find $out/${python.sitePackages}/torch/lib -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
echo "setting rpath for $lib..."
patchelf --set-rpath "${rpath}:$out/${python.sitePackages}/torch/lib" "$lib"
addOpenGLRunpath "$lib"
done
'';
pythonImportsCheck = [ "torch" ];
meta = with stdenv.lib; {
description = "Open source, prototype-to-production deep learning platform";
homepage = "https://pytorch.org/";
license = licenses.unfree; # Includes CUDA and Intel MKL.
platforms = platforms.linux;
maintainers = with maintainers; [ danieldk ];
};
}

View File

@@ -0,0 +1,10 @@
{
x86_64-linux-37 = {
url = "https://download.pytorch.org/whl/cu102/torch-1.6.0-cp37-cp37m-linux_x86_64.whl";
sha256 = "0xhwv68j8gvahfzcp43bqp2x71iwv6zjhkw2f1hb82xps40mrml7";
};
x86_64-linux-38 = {
url = "https://download.pytorch.org/whl/cu102/torch-1.6.0-cp38-cp38-linux_x86_64.whl";
sha256 = "05m2l04wqzw5xvjam6zwvlmc3979cksl3hrdqc2aikrv4hz8fmsk";
};
}

View File

@@ -104,8 +104,10 @@ let
"LD_LIBRARY_PATH=${cudaStub}\${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH ";
in buildPythonPackage rec {
version = "1.6.0";
pname = "pytorch";
# Don't forget to update pytorch-bin to the same version.
version = "1.6.0";
disabled = !isPy3k;
outputs = [

View File

@@ -0,0 +1,29 @@
{ lib, buildPythonPackage, fetchPypi
, websocket_client
}:
buildPythonPackage rec {
pname = "samsungctl";
version = "0.7.1";
src = fetchPypi {
inherit pname version;
sha256 = "0ipz3fd65rqkxlb02sql0awc3vnslrwb2pfrsnpfnf8bfgxpbh9g";
};
propagatedBuildInputs = [
websocket_client
];
# no tests
doCheck = false;
pythonImportsCheck = [ "samsungctl" ];
meta = with lib; {
description = "Remote control Samsung televisions via a TCP/IP connection";
homepage = "https://github.com/Ape/samsungctl";
license = licenses.mit;
maintainers = with maintainers; [ hexa ];
};
}

View File

@@ -0,0 +1,36 @@
{ lib, buildPythonPackage, fetchPypi, isPy27
, requests
, websocket_client
}:
buildPythonPackage rec {
pname = "samsungtvws";
version = "1.5.3";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "054rr8hiacdjfxqssnxnd3xp9hh8350zjzzjvh1199bpps4l1l6n";
};
patchPhase = ''
substituteInPlace setup.py --replace "websocket-client==" "websocket-client>="
'';
propagatedBuildInputs = [
websocket_client
requests
];
# no tests
doCheck = false;
pythonImportsCheck = [ "samsungtvws" ];
meta = with lib; {
description = "Samsung Smart TV WS API wrapper";
homepage = "https://github.com/xchwarze/samsung-tv-ws-api";
license = licenses.mit;
maintainers = with maintainers; [ hexa ];
};
}

View File

@@ -8,11 +8,11 @@
buildPythonPackage rec {
pname = "splinter";
version = "0.13.0";
version = "0.14.0";
src = fetchPypi {
inherit pname version;
sha256 = "9e92535f273622507ac157612c3bb0e9cee7b5ccd2aa097d47b408e34c2ca356";
sha256 = "459e39e7a9f7572db6f1cdb5fdc5ccfc6404f021dccb969ee6287be2386a40db";
};
propagatedBuildInputs = [ selenium ];

View File

@@ -0,0 +1,19 @@
{ lib, buildPythonPackage, fetchPypi }:
buildPythonPackage rec {
pname = "ufonormalizer";
version = "0.4.1";
src = fetchPypi {
inherit pname version;
sha256 = "0nv80x7l7sya5wzyfk9ss93r6bjzjljpkw4k8gibxp1rqrzkdms4";
extension = "zip";
};
meta = with lib; {
description = "Script to normalize the XML and other data inside of a UFO";
homepage = "https://github.com/unified-font-object/ufoNormalizer";
license = licenses.bsd3;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -0,0 +1,35 @@
{ lib, buildPythonPackage, fetchPypi
, defcon, fonttools, lxml, fs
, mutatormath, fontmath, fontparts
, setuptools_scm
}:
buildPythonPackage rec {
pname = "ufoProcessor";
version = "1.9.0";
src = fetchPypi {
inherit pname version;
sha256 = "0ns11aamgavgsfj8qf5kq7dvzmgl0mhr1cbych2f075ipfdvva5s";
extension = "zip";
};
nativeBuildInputs = [ setuptools_scm ];
propagatedBuildInputs = [
defcon
lxml
fonttools
fs
fontmath
fontparts
mutatormath
];
meta = with lib; {
description = "Read, write and generate UFOs with designspace data";
homepage = "https://github.com/LettError/ufoProcessor";
license = licenses.mit;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -0,0 +1,23 @@
{ lib, buildPythonPackage, fetchFromGitHub, pytest }:
buildPythonPackage rec {
pname = "unicodedata2";
version = "13.0.0-2";
src = fetchFromGitHub {
owner = "mikekap";
repo = pname;
rev = version;
sha256 = "0p9brbiwyg98q52y0gfyps52xv57fwqfpq0mn18p1xc1imip3h2b";
};
checkInputs = [ pytest ];
checkPhase = "pytest tests";
meta = with lib; {
description = "";
homepage = "http://github.com/mikekap/unicodedata2";
license = licenses.asl20;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -0,0 +1,21 @@
{ lib, buildPythonPackage, fetchPypi, pytest }:
buildPythonPackage rec {
pname = "zopfli";
version = "0.1.6";
src = fetchPypi {
inherit pname version;
sha256 = "0smaxh7iihjr9mwxw1ifc9vnlh3ra8l060dd1gbvp1963k0r68pd";
extension = "zip";
};
checkInputs = [ pytest ];
meta = with lib; {
description = "cPython bindings for zopfli";
homepage = "https://github.com/obp/py-zopfli";
license = licenses.asl20;
maintainers = [ maintainers.sternenseemann ];
};
}