1{
2 buildPythonPackage,
3 fetchFromGitHub,
4 lib,
5 requests,
6 pyyaml,
7 setuptools,
8 wheel,
9 nodejs,
10 ruby,
11 pytestCheckHook,
12}:
13
14buildPythonPackage rec {
15 pname = "naked";
16 version = "0.1.32";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "chrissimpkins";
21 repo = "naked";
22 rev = "v${version}";
23 hash = "sha256-KhygnURFggvUTR9wwWtORtfQES8ANd5sIaCONvIhfRM=";
24 };
25
26 postPatch = ''
27 # fix hardcoded absolute paths
28 substituteInPlace **/*.* \
29 --replace /Users/ces/Desktop/code/naked /build/source
30 '';
31
32 nativeBuildInputs = [
33 wheel
34 setuptools
35 ];
36
37 propagatedBuildInputs = [
38 requests
39 pyyaml
40 ];
41
42 nativeCheckInputs = [
43 pytestCheckHook
44 nodejs
45 ruby
46 ];
47
48 preCheck = ''
49 cd tests
50
51 PATH=$PATH:$out/bin
52 '';
53
54 disabledTestPaths = [ "testfiles" ];
55
56 disabledTests = [
57 # test_NETWORK.py
58 "test_http_get"
59 "test_http_get_binary_file_absent"
60 "test_http_get_binary_file_exists"
61 "test_http_get_bin_type"
62 "test_http_get_follow_redirects"
63 "test_http_get_follow_redirects_false_content"
64 "test_http_get_follow_redirects_false_on_nofollow_arg"
65 "test_http_get_response_check_200"
66 "test_http_get_response_check_301"
67 "test_http_get_response_check_404"
68 "test_http_get_response_obj_present"
69 "test_http_get_ssl"
70 "test_http_get_status_check_true"
71 "test_http_get_status_ssl"
72 "test_http_get_status_ssl_redirect"
73 "test_http_get_text_absent"
74 "test_http_get_text_exists_request_overwrite"
75 "test_http_get_type"
76 "test_http_post"
77 "test_http_post_binary_file_absent"
78 "test_http_post_binary_file_present"
79 "test_http_post_binary_file_present_request_overwrite"
80 "test_http_post_reponse_status_200"
81 "test_http_post_response_status_200_ssl"
82 "test_http_post_ssl"
83 "test_http_post_status_check_true"
84 "test_http_post_text_file_absent"
85 "test_http_post_text_file_present_request_overwrite"
86 "test_http_post_type"
87 # test_SHELL.py
88 "test_muterun_missing_option_exitcode"
89 # test_SYSTEM.py
90 "test_sys_list_all_files"
91 "test_sys_list_all_files_cwd"
92 "test_sys_list_all_files_emptydir"
93 "test_sys_list_filter_files"
94 "test_sys_match_files"
95 "test_sys_match_files_fullpath"
96 "test_sys_meta_file_mod"
97 # test_TYPES.py
98 "test_xdict_key_random"
99 "test_xdict_key_random_sample"
100 ];
101
102 pythonImportsCheck = [ "Naked" ];
103
104 meta = with lib; {
105 description = "A Python command line application framework";
106 homepage = "https://github.com/chrissimpkins/naked";
107 downloadPage = "https://github.com/chrissimpkins/naked/tags";
108 license = licenses.mit;
109 maintainers = [ maintainers.lucasew ];
110 };
111}