2019-06-16 22:59:06 +03:00
|
|
|
{ stdenv, python3, fetchFromGitHub }:
|
2016-03-26 23:27:36 +03:00
|
|
|
|
2017-08-25 19:39:14 +03:00
|
|
|
with python3.pkgs; buildPythonApplication rec {
|
2020-06-23 22:54:44 +03:00
|
|
|
version = "4.4";
|
2018-04-06 14:19:06 +03:00
|
|
|
pname = "buku";
|
2016-03-26 23:27:36 +03:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "jarun";
|
|
|
|
repo = "buku";
|
2016-09-26 04:16:58 +03:00
|
|
|
rev = "v${version}";
|
2020-06-23 22:54:44 +03:00
|
|
|
sha256 = "10r5f1n0vcxxmqqqsgmlvibwg1xffijrr2id6r140rgiyhprz556";
|
2018-04-06 14:19:06 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
checkInputs = [
|
2017-06-29 17:19:24 +03:00
|
|
|
pytestcov
|
|
|
|
hypothesis
|
|
|
|
pytest
|
2017-09-13 19:29:34 +03:00
|
|
|
pylint
|
|
|
|
flake8
|
2018-08-14 20:37:14 +03:00
|
|
|
pyyaml
|
2019-10-24 10:56:26 +03:00
|
|
|
mypy-extensions
|
2017-06-29 17:19:24 +03:00
|
|
|
];
|
|
|
|
|
2017-04-08 01:16:48 +03:00
|
|
|
propagatedBuildInputs = [
|
2016-10-21 09:00:18 +03:00
|
|
|
cryptography
|
|
|
|
beautifulsoup4
|
2017-05-07 13:55:45 +03:00
|
|
|
requests
|
2017-04-08 01:16:48 +03:00
|
|
|
urllib3
|
2018-08-14 20:37:14 +03:00
|
|
|
flask
|
2019-12-01 15:02:28 +03:00
|
|
|
flask-admin
|
2018-08-14 20:37:14 +03:00
|
|
|
flask-api
|
|
|
|
flask-bootstrap
|
|
|
|
flask-paginate
|
2020-04-02 14:27:19 +03:00
|
|
|
flask-reverse-proxy-fix
|
2018-08-14 20:37:14 +03:00
|
|
|
flask_wtf
|
|
|
|
arrow
|
|
|
|
werkzeug
|
|
|
|
click
|
2019-01-28 23:30:14 +03:00
|
|
|
html5lib
|
|
|
|
vcrpy
|
2020-06-23 22:54:44 +03:00
|
|
|
toml
|
2016-09-26 04:16:58 +03:00
|
|
|
];
|
2016-03-26 23:27:36 +03:00
|
|
|
|
2019-01-28 23:30:14 +03:00
|
|
|
postPatch = ''
|
|
|
|
# Jailbreak problematic dependencies
|
|
|
|
sed -i \
|
|
|
|
-e "s,'PyYAML.*','PyYAML',g" \
|
|
|
|
setup.py
|
|
|
|
'';
|
|
|
|
|
2017-06-29 17:19:24 +03:00
|
|
|
preCheck = ''
|
|
|
|
# Fixes two tests for wrong encoding
|
|
|
|
export PYTHONIOENCODING=utf-8
|
|
|
|
|
|
|
|
# Disables a test which requires internet
|
|
|
|
substituteInPlace tests/test_bukuDb.py \
|
2018-02-21 15:58:20 +03:00
|
|
|
--replace "@pytest.mark.slowtest" "@unittest.skip('skipping')" \
|
|
|
|
--replace "self.assertEqual(shorturl, 'http://tny.im/yt')" "" \
|
|
|
|
--replace "self.assertEqual(url, 'https://www.google.com')" ""
|
2019-10-24 17:01:21 +03:00
|
|
|
substituteInPlace setup.py \
|
|
|
|
--replace mypy-extensions==0.4.1 mypy-extensions>=0.4.1
|
2017-06-29 17:19:24 +03:00
|
|
|
'';
|
2016-03-26 23:27:36 +03:00
|
|
|
|
2018-08-14 20:37:14 +03:00
|
|
|
postInstall = ''
|
2016-03-26 23:27:36 +03:00
|
|
|
make install PREFIX=$out
|
|
|
|
|
2017-06-29 17:19:24 +03:00
|
|
|
mkdir -p $out/share/zsh/site-functions $out/share/bash-completion/completions $out/share/fish/vendor_completions.d
|
|
|
|
cp auto-completion/zsh/* $out/share/zsh/site-functions
|
|
|
|
cp auto-completion/bash/* $out/share/bash-completion/completions
|
|
|
|
cp auto-completion/fish/* $out/share/fish/vendor_completions.d
|
|
|
|
'';
|
2016-03-26 23:27:36 +03:00
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Private cmdline bookmark manager";
|
2020-04-01 04:11:51 +03:00
|
|
|
homepage = "https://github.com/jarun/Buku";
|
2016-03-26 23:27:36 +03:00
|
|
|
license = licenses.gpl3;
|
|
|
|
platforms = platforms.linux;
|
2019-02-20 21:52:48 +03:00
|
|
|
maintainers = with maintainers; [ matthiasbeyer infinisil ];
|
2016-03-26 23:27:36 +03:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|