ghdl 0.4.9__tar.gz → 0.4.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ghdl-0.4.10/.gitignore +20 -0
- {ghdl-0.4.9 → ghdl-0.4.10}/PKG-INFO +9 -10
- ghdl-0.4.10/README.org +173 -0
- {ghdl-0.4.9 → ghdl-0.4.10}/ghdl/__init__.py +1 -1
- {ghdl-0.4.9 → ghdl-0.4.10}/pyproject.toml +8 -3
- ghdl-0.4.10/run.sh +28 -0
- ghdl-0.4.10/sample-config +531 -0
- ghdl-0.4.10/uv.lock +249 -0
- ghdl-0.4.9/ghdl.egg-info/SOURCES.txt +0 -12
- ghdl-0.4.9/setup.cfg +0 -4
- {ghdl-0.4.9 → ghdl-0.4.10}/LICENSE +0 -0
- {ghdl-0.4.9 → ghdl-0.4.10}/MANIFEST.in +0 -0
- {ghdl-0.4.9 → ghdl-0.4.10}/bin/ghdl +0 -0
- {ghdl-0.4.9 → ghdl-0.4.10}/bin/ghdl-delete-repo +0 -0
- {ghdl-0.4.9 → ghdl-0.4.10}/ghdl/config.hy +0 -0
- {ghdl-0.4.9 → ghdl-0.4.10}/ghdl/local.hy +0 -0
- {ghdl-0.4.9 → ghdl-0.4.10}/ghdl/main.hy +0 -0
- {ghdl-0.4.9 → ghdl-0.4.10}/ghdl/remote.hy +0 -0
- {ghdl-0.4.9 → ghdl-0.4.10}/ghdl/schema.hy +0 -0
- {ghdl-0.4.9 → ghdl-0.4.10}/ghdl/utils.hy +0 -0
ghdl-0.4.10/.gitignore
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Compiled python modules.
|
|
2
|
+
*.pyc
|
|
3
|
+
__pycache__/
|
|
4
|
+
|
|
5
|
+
# Setuptools distribution folder.
|
|
6
|
+
/dist/
|
|
7
|
+
|
|
8
|
+
# Poetry build
|
|
9
|
+
/build/
|
|
10
|
+
|
|
11
|
+
# Python egg metadata, regenerated from source files by setuptools.
|
|
12
|
+
/*.egg-info
|
|
13
|
+
|
|
14
|
+
TODO
|
|
15
|
+
setup.py.base
|
|
16
|
+
|
|
17
|
+
restclient
|
|
18
|
+
|
|
19
|
+
/*.egg-info/
|
|
20
|
+
/.venv/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: ghdl
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.10
|
|
4
4
|
Summary: Binary Manager for Github Releases
|
|
5
5
|
Author-email: Imran Khan <imran@khan.ovh>
|
|
6
6
|
License: GNU AFFERO GENERAL PUBLIC LICENSE
|
|
@@ -664,14 +664,13 @@ License: GNU AFFERO GENERAL PUBLIC LICENSE
|
|
|
664
664
|
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
|
665
665
|
For more information on this, and how to apply and follow the GNU AGPL, see
|
|
666
666
|
<https://www.gnu.org/licenses/>.
|
|
667
|
-
|
|
668
|
-
Requires-Python: <3.13,>=3.8
|
|
669
667
|
License-File: LICENSE
|
|
670
|
-
Requires-
|
|
671
|
-
Requires-Dist: xdg>=4.0.1
|
|
672
|
-
Requires-Dist: python-dateutil>=2.8.1
|
|
668
|
+
Requires-Python: <3.14,>=3.8
|
|
673
669
|
Requires-Dist: docopt>=0.6.2
|
|
674
|
-
Requires-Dist: python-magic>=0.4.25
|
|
675
|
-
Requires-Dist: hyrule>=0.7.0
|
|
676
|
-
Requires-Dist: hy>=1.0.0
|
|
677
670
|
Requires-Dist: httpx>=0.27.0
|
|
671
|
+
Requires-Dist: hy>=1.0.0
|
|
672
|
+
Requires-Dist: hyrule>=0.7.0
|
|
673
|
+
Requires-Dist: python-dateutil>=2.8.1
|
|
674
|
+
Requires-Dist: python-magic>=0.4.25
|
|
675
|
+
Requires-Dist: xdg>=4.0.1
|
|
676
|
+
Requires-Dist: xtract==0.1a3
|
ghdl-0.4.10/README.org
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
*** GHDL
|
|
2
|
+
|
|
3
|
+
Download and keep self-contained executables from Github Releases updated.
|
|
4
|
+
|
|
5
|
+
*** Install
|
|
6
|
+
|
|
7
|
+
#+begin_src sh
|
|
8
|
+
pip install ghdl
|
|
9
|
+
#+end_src
|
|
10
|
+
|
|
11
|
+
Additionally, it requires your system to have sqlite, libmagic and tools relevant to archives like tar, gzip, unzip etc. installed.
|
|
12
|
+
|
|
13
|
+
*** About
|
|
14
|
+
|
|
15
|
+
More and more projects are doing self-contained multi-platform/architecture binary releases at github. While distro provided packages remain the best idea, they are not a portable/zero-maintenance solution. If you hop between machines running on different hardware/OS/architecture, it's convenient to just download binaries directly.
|
|
16
|
+
|
|
17
|
+
But doing so and keeping them updated manually is tedious. With this tool you can automate the task by encapsulating the logic in a config file which you can then carry aroud, maybe even hook up to a cron and forget.
|
|
18
|
+
|
|
19
|
+
*** Config
|
|
20
|
+
|
|
21
|
+
The config file should be provided at =~/.config/ghdl/config=. It looks like:
|
|
22
|
+
|
|
23
|
+
#+begin_src hy
|
|
24
|
+
(repo "containers/crun"
|
|
25
|
+
:asset-filter "static")
|
|
26
|
+
#+end_src
|
|
27
|
+
|
|
28
|
+
When you run ghdl, it will download the asset with "static" in its name, extract the archive if needed, find the binary, and place it in =~/.local/bin/= (by default). And next time you run ghdl it won't be downloaded again, unless upstream releases new version in-between.
|
|
29
|
+
|
|
30
|
+
**** Options
|
|
31
|
+
|
|
32
|
+
These are the options you can specify:
|
|
33
|
+
|
|
34
|
+
***** =:asset-filter= (required)
|
|
35
|
+
|
|
36
|
+
A regular expression that can uniquely identify an asset from a list of them in the latest _release_ section of the target repo. Matching is done case-insensitively.
|
|
37
|
+
|
|
38
|
+
***** =:name=
|
|
39
|
+
|
|
40
|
+
Name the binary will be saved as. Default is to infer it from repo name, so when the repo is "containers/crun" the name will by default be "crun".
|
|
41
|
+
|
|
42
|
+
***** =:basename-glob=
|
|
43
|
+
|
|
44
|
+
When asset is an archive, ghdl automatically extracts it. But it needs to know which file to install, as there are usually multiple files in the archive. By default it can filter out only binaries using libmagic, and by default it looks for a binary that matches "=*{name}*=" glob pattern which almost always works (=name= is what's described above). So in practice, you will likely need to set this very rarely. For example, below you could omit it because the binary is named "devd" which is matched by the glob "\ast{}devd\ast{}" anyway:
|
|
45
|
+
|
|
46
|
+
#+begin_src hy
|
|
47
|
+
(repo "cortesi/devd"
|
|
48
|
+
:basename-glob "devd" ;; Not necessary
|
|
49
|
+
:asset-filter "linux64")
|
|
50
|
+
#+end_src
|
|
51
|
+
|
|
52
|
+
And in the following case, again the binary name "kompose-linux-amd64" is already covered by glob "\ast{}kompose\ast{}":
|
|
53
|
+
|
|
54
|
+
#+begin_src hy
|
|
55
|
+
(repo "kubernetes/kompose"
|
|
56
|
+
:basename-glob "kompose*" ;; Not necessary
|
|
57
|
+
:asset-filter "linux-amd64.*gz$")
|
|
58
|
+
#+end_src
|
|
59
|
+
|
|
60
|
+
Sometimes the default is too broad. For example, in case of repo "=github/hub=" the binary is named just "hub" which isn't a problem, but the glob "\ast{}hub\ast{}" matches not just the binary but some other doc file too. Except that's where libmagic comes in and filters out all non-application mimetypes.
|
|
61
|
+
|
|
62
|
+
#+begin_src hy
|
|
63
|
+
(repo "github/hub"
|
|
64
|
+
:basename-glob "hub" ;; Again not necessary
|
|
65
|
+
:asset-filter "linux-amd64")
|
|
66
|
+
#+end_src
|
|
67
|
+
|
|
68
|
+
So in practice, it's probably going to be exceedingly rare when this setting will be called for action.
|
|
69
|
+
|
|
70
|
+
***** =:strip=
|
|
71
|
+
|
|
72
|
+
Whether to run strip on the downloaded binary or not, default is True. But you may need to set it to =False= sometimes, e.g. say for appimages:
|
|
73
|
+
|
|
74
|
+
#+begin_src hy
|
|
75
|
+
(repo "neovim/neovim"
|
|
76
|
+
:url-filter "appimage$"
|
|
77
|
+
:strip False)
|
|
78
|
+
#+end_src
|
|
79
|
+
|
|
80
|
+
Stripping can reduce the size of binaries considerably (here the /bin/strip is invoked without argument), but this might not be without trade-off. I have once seen a distro turn off stripping for Golang binaries citing strange behaviour. I have never encountered any problem myself though, so I am keeping this True by default.
|
|
81
|
+
|
|
82
|
+
***** =:prerelease=
|
|
83
|
+
|
|
84
|
+
You can also choose to live in the edge, some packages for some reason choose to release as pre-release only anyway (so far).
|
|
85
|
+
|
|
86
|
+
#+begin_src hy
|
|
87
|
+
(repo "borkdude/babashka"
|
|
88
|
+
:name "bb"
|
|
89
|
+
:asset-filter "static"
|
|
90
|
+
:prerelease True)
|
|
91
|
+
#+end_src
|
|
92
|
+
|
|
93
|
+
***** =:pin=
|
|
94
|
+
|
|
95
|
+
Sometimes you might want to pin a particular repo to a particular architecture as that's all they support in github releases. Here pinning can be useful to create portable configuration, as ghdl simply won't do anything when run on anything different. For example,
|
|
96
|
+
|
|
97
|
+
#+begin_src hy
|
|
98
|
+
(repo "LukeChannings/deno-arm64"
|
|
99
|
+
:name "deno"
|
|
100
|
+
:pin "aarch64"
|
|
101
|
+
:asset-filter "deno")
|
|
102
|
+
#+end_src
|
|
103
|
+
|
|
104
|
+
As this is an aarch64 specific project, pinning ensures the recipe won't even be run on say x86_64, so you are spared of the failure message.
|
|
105
|
+
|
|
106
|
+
***** =:release-filter=
|
|
107
|
+
|
|
108
|
+
Some projects release multiple unrelated kind of artefacts under same repo. While we still can't have multiple entries for same repo in ghdl, if you want to filter a particular kind of release amidst many, this is helpful. For example ~biomejs/biome~ repo releases VSCode Extension and CLI under same repo, if we just want the CLI, we need to first find the matching release:
|
|
109
|
+
|
|
110
|
+
#+begin_src hy
|
|
111
|
+
(repo "biomejs/biome"
|
|
112
|
+
:release-filter "\\bCLI\\b" ;; regex with word boundary
|
|
113
|
+
:asset-filter f"linux-x64") ;; this will now look into the release found by :release-filter
|
|
114
|
+
#+end_src
|
|
115
|
+
|
|
116
|
+
**** Advanced Configuration
|
|
117
|
+
|
|
118
|
+
The goal is to eventually define something that hopefully can continue to work cross-platform. So ghdl config file is actually Hy code, which means one can do whatever they can in python, and some useful python modules (=re=, =platform= etc.) are loaded already:
|
|
119
|
+
|
|
120
|
+
#+begin_src hy
|
|
121
|
+
(setv my-os (platform.system)
|
|
122
|
+
my-arch (platform.machine))
|
|
123
|
+
|
|
124
|
+
(setv arch-pattern
|
|
125
|
+
(cond (= my-arch "x86_64") "(?:x86[-_]64|x64|amd64|64bit)"
|
|
126
|
+
(= my-arch "aarch64") "(?:arm|aarch)64"))
|
|
127
|
+
|
|
128
|
+
;; Many golang projects follow this pattern
|
|
129
|
+
(setv os-arch f"{my-os}[-_.]{arch-pattern}")
|
|
130
|
+
|
|
131
|
+
;; Many rust projects follow this pattern
|
|
132
|
+
(setv rust f"{my-arch}.*?{my-os}")
|
|
133
|
+
|
|
134
|
+
;; Finally define the repos
|
|
135
|
+
(repo "caddyserver/caddy"
|
|
136
|
+
:asset-filter f"{os-arch}.*gz")
|
|
137
|
+
|
|
138
|
+
(repo "sharkdp/bat"
|
|
139
|
+
:asset-filter rust)
|
|
140
|
+
#+end_src
|
|
141
|
+
|
|
142
|
+
If that seems ugly or inadequate, =:asset-filter= can also be a function (of type =String -> Bool=):
|
|
143
|
+
|
|
144
|
+
#+begin_src hy
|
|
145
|
+
(repo "smallhadroncollider/taskell"
|
|
146
|
+
:asset-filter
|
|
147
|
+
(fn [asset]
|
|
148
|
+
(and
|
|
149
|
+
(in (str.replace (platform.machine) "_" "-") asset)
|
|
150
|
+
(in (str.lower (platform.system)) asset)
|
|
151
|
+
(str.endswith asset ".gz"))))
|
|
152
|
+
#+end_src
|
|
153
|
+
|
|
154
|
+
**** Additional Config
|
|
155
|
+
|
|
156
|
+
You really should user your own API token if possible. Unauthorized API is only limited to 60 calls per hour, so if you have more than 60 repos you need to use a token anyway.
|
|
157
|
+
|
|
158
|
+
#+begin_src hy
|
|
159
|
+
(config
|
|
160
|
+
:location "~/.local/bin/"
|
|
161
|
+
:token "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
|
|
162
|
+
#+end_src
|
|
163
|
+
|
|
164
|
+
**** Sample config
|
|
165
|
+
|
|
166
|
+
The repo contains a [[file:./sample-config][sample config]] file as an example where I am tracking 140+ projects (as of writing this). Most of them has been well behaved and consistent since creating ghdl.
|
|
167
|
+
|
|
168
|
+
*** TODO/Limitation/Ideas
|
|
169
|
+
|
|
170
|
+
- Some programs use same repo to release different parts of project (e.g. dnote does it for server and cli), ghdl can choose one of them, but not multiple at the same time.
|
|
171
|
+
- Some projects include multiple binaries. That's not yet supported, though is probably simple to add.
|
|
172
|
+
- Windows/MacOS doesn't work yet (so much for cross-platform), although fix should be simple; I just don't know various xdg path equivalents in it nor do I have motivation or means to test. However one needs to have tar, gzip etc. in the path which means the likes of msys2, git bash, WSL or whatever, and in those it just might work ootb.
|
|
173
|
+
- Downloads from github could be slow in some parts of the world, nothing could done about that apart from maybe switching to an external downloader (like aria2) from current pure python one.
|
|
@@ -3,7 +3,7 @@ name = "ghdl"
|
|
|
3
3
|
description = "Binary Manager for Github Releases"
|
|
4
4
|
authors = [{name = "Imran Khan", email = "imran@khan.ovh"}]
|
|
5
5
|
license = {file = "LICENSE"}
|
|
6
|
-
requires-python = ">=3.8,<3.
|
|
6
|
+
requires-python = ">=3.8,<3.14"
|
|
7
7
|
dynamic = ["version"]
|
|
8
8
|
dependencies = [
|
|
9
9
|
"xtract ==0.1a3",
|
|
@@ -29,6 +29,11 @@ python-downloads = "never"
|
|
|
29
29
|
python-preference = "system"
|
|
30
30
|
dev-dependencies = []
|
|
31
31
|
|
|
32
|
+
[tool.hatch.version]
|
|
33
|
+
path = "ghdl/__init__.py"
|
|
34
|
+
|
|
32
35
|
[build-system]
|
|
33
|
-
requires = ["setuptools"]
|
|
34
|
-
build-backend = "setuptools.build_meta"
|
|
36
|
+
#requires = ["setuptools"]
|
|
37
|
+
#build-backend = "setuptools.build_meta"
|
|
38
|
+
requires = ["hatchling"]
|
|
39
|
+
build-backend = "hatchling.build"
|
ghdl-0.4.10/run.sh
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
|
|
3
|
+
build() {
|
|
4
|
+
# sed -i -E "/^version = /s/\".*\"/$(grep -o -P '__version__ = \K.*\"' ghdl/__init__.py)/" pyproject.toml
|
|
5
|
+
uv build
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
release() {
|
|
9
|
+
# python setup.py sdist bdist_wheel
|
|
10
|
+
# uv run twine upload --repository-url https://test.pypi.org/legacy/ dist/*
|
|
11
|
+
# uv run twine upload dist/*
|
|
12
|
+
uv publish
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
clean() {
|
|
16
|
+
rm -rf dist/ ghdl.egg-info/
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
upgrade() {
|
|
20
|
+
uv lock --upgrade
|
|
21
|
+
uv sync
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
update() {
|
|
25
|
+
bin/ghdl -f $(grep -Po 'repo \"\K[^"]*' ~/.config/ghdl/config | fzf)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
"$@"
|
|
@@ -0,0 +1,531 @@
|
|
|
1
|
+
(config
|
|
2
|
+
;; :token "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
|
|
3
|
+
:location "~/.local/bin/")
|
|
4
|
+
|
|
5
|
+
(setv my-os (platform.system)
|
|
6
|
+
my-arch (platform.machine))
|
|
7
|
+
|
|
8
|
+
(setv arch-pattern
|
|
9
|
+
(cond (= my-arch "x86_64") "(?:x86[-_]64|x64|amd64|64bit)"
|
|
10
|
+
(= my-arch "aarch64") "(?:arm|aarch)64"))
|
|
11
|
+
|
|
12
|
+
(setv os-arch f"{my-os}[-_.]{arch-pattern}")
|
|
13
|
+
|
|
14
|
+
(setv rust f"{my-arch}.*?{my-os}")
|
|
15
|
+
|
|
16
|
+
;;;;;;;;
|
|
17
|
+
|
|
18
|
+
(repo "containers/crun"
|
|
19
|
+
:name "crun"
|
|
20
|
+
:asset-filter f"{os-arch}-disable-systemd$")
|
|
21
|
+
|
|
22
|
+
(repo "smallhadroncollider/taskell"
|
|
23
|
+
:name "taskell"
|
|
24
|
+
:pin "x86_64"
|
|
25
|
+
:asset-filter
|
|
26
|
+
(fn [url]
|
|
27
|
+
(and
|
|
28
|
+
(in (.replace (platform.machine) "_" "-") url)
|
|
29
|
+
(in (.lower (platform.system)) url)
|
|
30
|
+
(.endswith url ".gz"))))
|
|
31
|
+
|
|
32
|
+
(repo "caddyserver/caddy"
|
|
33
|
+
:asset-filter f"{os-arch}.*gz")
|
|
34
|
+
|
|
35
|
+
(repo "cortesi/devd"
|
|
36
|
+
:asset-filter "linux64")
|
|
37
|
+
|
|
38
|
+
(repo "cortesi/modd"
|
|
39
|
+
:asset-filter "linux64")
|
|
40
|
+
|
|
41
|
+
(repo "hadolint/hadolint"
|
|
42
|
+
:pin "x86_64"
|
|
43
|
+
:asset-filter os-arch)
|
|
44
|
+
|
|
45
|
+
(repo "kubernetes/kompose"
|
|
46
|
+
:asset-filter f"{os-arch}.*gz$")
|
|
47
|
+
|
|
48
|
+
(repo "digitalocean/doctl"
|
|
49
|
+
:asset-filter os-arch)
|
|
50
|
+
|
|
51
|
+
(repo "neovim/neovim"
|
|
52
|
+
:asset-filter "appimage$"
|
|
53
|
+
:pin "x86_64"
|
|
54
|
+
:strip False
|
|
55
|
+
:prerelease True)
|
|
56
|
+
|
|
57
|
+
(repo "borkdude/babashka"
|
|
58
|
+
:name "bb"
|
|
59
|
+
:asset-filter os-arch
|
|
60
|
+
:prerelease True)
|
|
61
|
+
|
|
62
|
+
(repo "direnv/direnv"
|
|
63
|
+
:asset-filter os-arch)
|
|
64
|
+
|
|
65
|
+
(repo "denoland/deno"
|
|
66
|
+
:pin "x86_64"
|
|
67
|
+
:asset-filter f"{my-arch}.*?{my-os}")
|
|
68
|
+
|
|
69
|
+
(repo "jhspetersson/fselect"
|
|
70
|
+
:pin "x86_64"
|
|
71
|
+
:asset-filter "musl")
|
|
72
|
+
|
|
73
|
+
(repo "BurntSushi/ripgrep"
|
|
74
|
+
:name "rg"
|
|
75
|
+
:pin "x86_64"
|
|
76
|
+
:asset-filter "musl")
|
|
77
|
+
|
|
78
|
+
(repo "github/hub"
|
|
79
|
+
:asset-filter os-arch)
|
|
80
|
+
|
|
81
|
+
(repo "koalaman/shellcheck"
|
|
82
|
+
:asset-filter os-arch)
|
|
83
|
+
|
|
84
|
+
(repo "benibela/xidel"
|
|
85
|
+
:pin "x86_64"
|
|
86
|
+
:asset-filter "linux64")
|
|
87
|
+
|
|
88
|
+
(repo "rancher/k3s"
|
|
89
|
+
:asset-filter
|
|
90
|
+
(fn [name]
|
|
91
|
+
(return
|
|
92
|
+
(cond (= my-arch "x86_64") (= name "k3s")
|
|
93
|
+
(= my-arch "aarch64") (= name "k3s-arm64")))))
|
|
94
|
+
|
|
95
|
+
(repo "rancher/k3d"
|
|
96
|
+
:prerelease True
|
|
97
|
+
:asset-filter os-arch)
|
|
98
|
+
|
|
99
|
+
(repo "rcoh/angle-grinder"
|
|
100
|
+
:name "agrind"
|
|
101
|
+
:pin "x86_64"
|
|
102
|
+
:asset-filter rust)
|
|
103
|
+
|
|
104
|
+
(repo "nextdns/nextdns"
|
|
105
|
+
:asset-filter f"{os-arch}.*?gz")
|
|
106
|
+
|
|
107
|
+
(repo "earthly/earthly"
|
|
108
|
+
:asset-filter f"earthly-{os-arch}")
|
|
109
|
+
|
|
110
|
+
(repo "buildpacks/pack"
|
|
111
|
+
:pin "x86_64"
|
|
112
|
+
:asset-filter
|
|
113
|
+
(fn [url]
|
|
114
|
+
(return
|
|
115
|
+
(cond (= my-arch "x86_64") (in f"{(str.lower my-os)}.tgz" url)
|
|
116
|
+
(= my-arch "aarch64") (in f"{(str.lower my-os)}-{my-arch}.tgz" url)))))
|
|
117
|
+
|
|
118
|
+
(repo "cloudflare/wrangler"
|
|
119
|
+
:pin "x86_64"
|
|
120
|
+
:asset-filter f"{my-arch}.*?{my-os}")
|
|
121
|
+
|
|
122
|
+
(repo "gohugoio/hugo"
|
|
123
|
+
:asset-filter f"{os-arch}.*gz$")
|
|
124
|
+
|
|
125
|
+
(repo "okteto/okteto"
|
|
126
|
+
:asset-filter f"{os-arch}$")
|
|
127
|
+
|
|
128
|
+
(repo "rclone/rclone"
|
|
129
|
+
:asset-filter f"{os-arch}.*zip$")
|
|
130
|
+
|
|
131
|
+
(repo "autozimu/LanguageClient-neovim"
|
|
132
|
+
:asset-filter f"{my-arch}.*?{my-os}")
|
|
133
|
+
|
|
134
|
+
(repo "amzn/askalono"
|
|
135
|
+
:pin "x86_64"
|
|
136
|
+
:asset-filter my-os)
|
|
137
|
+
|
|
138
|
+
(repo "wagoodman/dive"
|
|
139
|
+
:asset-filter f"{os-arch}.*\\.gz$")
|
|
140
|
+
|
|
141
|
+
(repo "adnanh/webhook"
|
|
142
|
+
:asset-filter os-arch)
|
|
143
|
+
|
|
144
|
+
(repo "kubernetes/minikube"
|
|
145
|
+
:asset-filter f"{os-arch}.*gz$")
|
|
146
|
+
|
|
147
|
+
(repo "purescript/purescript"
|
|
148
|
+
:name "purs"
|
|
149
|
+
:pin "x86_64"
|
|
150
|
+
:asset-filter
|
|
151
|
+
(fn [name]
|
|
152
|
+
(cond (= my-arch "x86_64") (= name "linux64.tar.gz")
|
|
153
|
+
(= my-arch "aarch64") (= name "linux-arm64.tar.gz"))))
|
|
154
|
+
|
|
155
|
+
(repo "purescript/spago"
|
|
156
|
+
:pin "x86_64"
|
|
157
|
+
:asset-filter f"{my-os}.*tar\\.gz$")
|
|
158
|
+
|
|
159
|
+
(repo "derailed/k9s"
|
|
160
|
+
:asset-filter f"{os-arch}\\.tar\\.gz$")
|
|
161
|
+
|
|
162
|
+
(repo "exercism/cli"
|
|
163
|
+
:name "exercism"
|
|
164
|
+
:asset-filter os-arch)
|
|
165
|
+
|
|
166
|
+
(repo "firecracker-microvm/firecracker"
|
|
167
|
+
:asset-filter my-arch)
|
|
168
|
+
|
|
169
|
+
(repo "gleam-lang/gleam"
|
|
170
|
+
:prerelease True
|
|
171
|
+
:asset-filter f"{rust}-musl.tar.gz$")
|
|
172
|
+
|
|
173
|
+
(repo "kmonad/kmonad"
|
|
174
|
+
:prerelease True
|
|
175
|
+
:asset-filter "kmonad"
|
|
176
|
+
:pin "x86_64")
|
|
177
|
+
|
|
178
|
+
(repo "rust-analyzer/rust-analyzer"
|
|
179
|
+
:asset-filter rust)
|
|
180
|
+
|
|
181
|
+
(repo "hairyhenderson/gomplate"
|
|
182
|
+
:asset-filter f"{os-arch}-slim")
|
|
183
|
+
|
|
184
|
+
(repo "superfly/flyctl"
|
|
185
|
+
:asset-filter f"{os-arch}.*gz$")
|
|
186
|
+
|
|
187
|
+
(repo "samtay/so"
|
|
188
|
+
:asset-filter rust)
|
|
189
|
+
|
|
190
|
+
(repo "loadimpact/k6"
|
|
191
|
+
:asset-filter f"{os-arch}.*gz$")
|
|
192
|
+
|
|
193
|
+
(repo "liquidata-inc/dolt"
|
|
194
|
+
:asset-filter os-arch
|
|
195
|
+
:basename-glob "dolt")
|
|
196
|
+
|
|
197
|
+
(repo "duckdb/duckdb"
|
|
198
|
+
:asset-filter f"cli-{os-arch}")
|
|
199
|
+
|
|
200
|
+
(repo "alecthomas/chroma"
|
|
201
|
+
:asset-filter os-arch)
|
|
202
|
+
|
|
203
|
+
(repo "svenstaro/miniserve"
|
|
204
|
+
:asset-filter rust)
|
|
205
|
+
|
|
206
|
+
(repo "sharkdp/diskus"
|
|
207
|
+
:asset-filter rust)
|
|
208
|
+
|
|
209
|
+
(repo "kubernetes-sigs/kind"
|
|
210
|
+
:asset-filter os-arch)
|
|
211
|
+
|
|
212
|
+
(repo "extrawurst/gitui"
|
|
213
|
+
:pin "x86_64"
|
|
214
|
+
:asset-filter "musl")
|
|
215
|
+
|
|
216
|
+
(repo "2mol/pboy"
|
|
217
|
+
:pin "x86_64"
|
|
218
|
+
:asset-filter my-os)
|
|
219
|
+
|
|
220
|
+
(repo "NerdyPepper/dijo"
|
|
221
|
+
:asset-filter
|
|
222
|
+
(fn [url]
|
|
223
|
+
(and
|
|
224
|
+
(in (.lower (platform.system)) url)
|
|
225
|
+
(in (.lower (platform.machine)) url))))
|
|
226
|
+
|
|
227
|
+
(repo "profclems/glab"
|
|
228
|
+
:asset-filter f"{os-arch}.tar.gz")
|
|
229
|
+
|
|
230
|
+
(repo "rustwasm/wasm-pack"
|
|
231
|
+
:asset-filter rust)
|
|
232
|
+
|
|
233
|
+
(repo "hatoo/oha"
|
|
234
|
+
:asset-filter os-arch)
|
|
235
|
+
|
|
236
|
+
(repo "prometheus/node_exporter"
|
|
237
|
+
:asset-filter os-arch)
|
|
238
|
+
|
|
239
|
+
(repo "nginxinc/nginx-prometheus-exporter"
|
|
240
|
+
:asset-filter os-arch)
|
|
241
|
+
|
|
242
|
+
(repo "alexellis/k3sup"
|
|
243
|
+
:asset-filter
|
|
244
|
+
(fn [name]
|
|
245
|
+
(return
|
|
246
|
+
(cond (= my-arch "x86_64") (= name "k3sup")
|
|
247
|
+
(= my-arch "aarch64") (= name "k3sup-arm64")))))
|
|
248
|
+
|
|
249
|
+
(repo "jgm/pandoc"
|
|
250
|
+
:asset-filter os-arch)
|
|
251
|
+
|
|
252
|
+
(repo "weaveworks/ignite"
|
|
253
|
+
:asset-filter arch-pattern)
|
|
254
|
+
|
|
255
|
+
(repo "fatedier/frp"
|
|
256
|
+
:asset-filter os-arch)
|
|
257
|
+
|
|
258
|
+
(repo "schollz/croc"
|
|
259
|
+
:asset-filter f"{os-arch}.tar.gz")
|
|
260
|
+
|
|
261
|
+
(repo "davesnx/query-json"
|
|
262
|
+
:asset-filter os-arch)
|
|
263
|
+
|
|
264
|
+
(repo "dandavison/delta"
|
|
265
|
+
:asset-filter f"{rust}.*?")
|
|
266
|
+
|
|
267
|
+
(repo "tidwall/jj"
|
|
268
|
+
:pin "x86_64"
|
|
269
|
+
:asset-filter os-arch)
|
|
270
|
+
|
|
271
|
+
(repo "cli/cli"
|
|
272
|
+
:name "gh"
|
|
273
|
+
:asset-filter f"{os-arch}.*tar\\.gz")
|
|
274
|
+
|
|
275
|
+
(repo "go-acme/lego"
|
|
276
|
+
:asset-filter os-arch)
|
|
277
|
+
|
|
278
|
+
(repo "cycloidio/inframap"
|
|
279
|
+
:asset-filter os-arch)
|
|
280
|
+
|
|
281
|
+
(repo "nakabonne/ali"
|
|
282
|
+
:asset-filter f"{os-arch}.*tar\\.gz")
|
|
283
|
+
|
|
284
|
+
(repo "screego/server"
|
|
285
|
+
:name "screego"
|
|
286
|
+
:asset-filter os-arch)
|
|
287
|
+
|
|
288
|
+
(repo "epi052/feroxbuster"
|
|
289
|
+
:asset-filter f"{my-arch}-{my-os}.*\\.tar.gz")
|
|
290
|
+
|
|
291
|
+
(repo "Nukesor/pueue"
|
|
292
|
+
:asset-filter os-arch)
|
|
293
|
+
|
|
294
|
+
(repo "slackhq/nebula"
|
|
295
|
+
:asset-filter os-arch)
|
|
296
|
+
|
|
297
|
+
(repo "jesseduffield/lazygit"
|
|
298
|
+
:asset-filter os-arch)
|
|
299
|
+
|
|
300
|
+
(repo "GoogleContainerTools/skaffold"
|
|
301
|
+
:asset-filter os-arch)
|
|
302
|
+
|
|
303
|
+
(repo "ahmetb/kubectx"
|
|
304
|
+
:asset-filter os-arch)
|
|
305
|
+
|
|
306
|
+
(repo "networkimprov/mnm-hammer"
|
|
307
|
+
:pin "x86_64"
|
|
308
|
+
:prerelease True
|
|
309
|
+
:asset-filter os-arch)
|
|
310
|
+
|
|
311
|
+
(repo "ducaale/xh"
|
|
312
|
+
:asset-filter f"{rust}.*?musl")
|
|
313
|
+
|
|
314
|
+
(repo "rs/curlie"
|
|
315
|
+
:asset-filter f"{os-arch}.*tar.gz$")
|
|
316
|
+
|
|
317
|
+
(repo "sayanarijit/xplr"
|
|
318
|
+
:pin "x86_64"
|
|
319
|
+
:asset-filter f"{my-os}.*tar\\.gz$")
|
|
320
|
+
|
|
321
|
+
(repo "soywod/unfog"
|
|
322
|
+
:asset-filter my-os
|
|
323
|
+
:pin "x86_64")
|
|
324
|
+
|
|
325
|
+
(repo "cloudflare/cloudflared"
|
|
326
|
+
:asset-filter f"cloudflared-{os-arch}$")
|
|
327
|
+
|
|
328
|
+
(repo "aquasecurity/trivy"
|
|
329
|
+
:asset-filter f"{os-arch}.*gz$")
|
|
330
|
+
|
|
331
|
+
(repo "commercialhaskell/stack"
|
|
332
|
+
:asset-filter f"{os-arch}.*gz$")
|
|
333
|
+
|
|
334
|
+
(repo "dundee/gdu"
|
|
335
|
+
:asset-filter os-arch)
|
|
336
|
+
|
|
337
|
+
(repo "ogham/dog"
|
|
338
|
+
:asset-filter f"{rust}.*zip")
|
|
339
|
+
|
|
340
|
+
(repo "latex-lsp/texlab"
|
|
341
|
+
:asset-filter f"{my-arch}-{my-os}")
|
|
342
|
+
|
|
343
|
+
(repo "filebrowser/filebrowser"
|
|
344
|
+
:asset-filter os-arch)
|
|
345
|
+
|
|
346
|
+
(repo "cantino/mcfly"
|
|
347
|
+
:asset-filter rust)
|
|
348
|
+
|
|
349
|
+
(repo "zellij-org/zellij"
|
|
350
|
+
:asset-filter rust)
|
|
351
|
+
|
|
352
|
+
(repo "sharkdp/bat"
|
|
353
|
+
:asset-filter rust)
|
|
354
|
+
|
|
355
|
+
(repo "sharkdp/fd"
|
|
356
|
+
:asset-filter rust)
|
|
357
|
+
|
|
358
|
+
(repo "nektos/act"
|
|
359
|
+
:asset-filter os-arch)
|
|
360
|
+
|
|
361
|
+
(repo "ClementTsang/bottom"
|
|
362
|
+
:name "btm"
|
|
363
|
+
:asset-filter f"{rust}.*?\\.tar\\.gz$")
|
|
364
|
+
|
|
365
|
+
(repo "Yvee1/hascard"
|
|
366
|
+
:asset-filter my-os
|
|
367
|
+
:pin "x86_64")
|
|
368
|
+
|
|
369
|
+
(repo "suntong/cascadia"
|
|
370
|
+
:asset-filter f"{os-arch}.*tar\\.gz$")
|
|
371
|
+
|
|
372
|
+
(repo "mattn/efm-langserver"
|
|
373
|
+
:asset-filter os-arch)
|
|
374
|
+
|
|
375
|
+
(repo "dominikh/go-tools"
|
|
376
|
+
:name "staticcheck"
|
|
377
|
+
:asset-filter os-arch)
|
|
378
|
+
|
|
379
|
+
(repo "benbjohnson/litestream"
|
|
380
|
+
:asset-filter f"{os-arch}\\.tar\\.gz$")
|
|
381
|
+
|
|
382
|
+
(repo "haampie/libtree"
|
|
383
|
+
:asset-filter f"{my-arch}$")
|
|
384
|
+
|
|
385
|
+
(repo "ivaaaan/smug"
|
|
386
|
+
:asset-filter os-arch)
|
|
387
|
+
|
|
388
|
+
(repo "authelia/authelia"
|
|
389
|
+
:asset-filter os-arch)
|
|
390
|
+
|
|
391
|
+
(repo "ory/kratos"
|
|
392
|
+
:prerelease True
|
|
393
|
+
:asset-filter f"{my-os}_sqlite_{arch-pattern}")
|
|
394
|
+
|
|
395
|
+
(repo "timothyYe/godns"
|
|
396
|
+
:asset-filter os-arch)
|
|
397
|
+
|
|
398
|
+
(repo "LukeChannings/deno-arm64"
|
|
399
|
+
:name "deno"
|
|
400
|
+
:pin "aarch64"
|
|
401
|
+
:asset-filter "deno")
|
|
402
|
+
|
|
403
|
+
(repo "Orange-OpenSource/hurl"
|
|
404
|
+
:basename-glob "hurl"
|
|
405
|
+
:asset-filter rust)
|
|
406
|
+
|
|
407
|
+
(repo "tailwindlabs/tailwindcss"
|
|
408
|
+
:asset-filter os-arch
|
|
409
|
+
:strip False)
|
|
410
|
+
|
|
411
|
+
(repo "boyter/scc"
|
|
412
|
+
:asset-filter os-arch)
|
|
413
|
+
|
|
414
|
+
(repo "aristocratos/btop"
|
|
415
|
+
:asset-filter f"{arch-pattern}-{my-os}-musl")
|
|
416
|
+
|
|
417
|
+
(repo "umputun/remark42"
|
|
418
|
+
:asset-filter os-arch)
|
|
419
|
+
|
|
420
|
+
(repo "thedodd/trunk"
|
|
421
|
+
:pin "x86_64"
|
|
422
|
+
:asset-filter rust)
|
|
423
|
+
|
|
424
|
+
(repo "supabase/cli"
|
|
425
|
+
:name "supabase"
|
|
426
|
+
:asset-filter f"{os-arch}.*gz$")
|
|
427
|
+
|
|
428
|
+
(repo "mgdm/htmlq"
|
|
429
|
+
:pin "x86_64"
|
|
430
|
+
:asset-filter f"{my-arch}-{my-os}\\.tar\\.gz")
|
|
431
|
+
|
|
432
|
+
(repo "xyproto/algernon"
|
|
433
|
+
:asset-filter os-arch)
|
|
434
|
+
|
|
435
|
+
(repo "syncthing/syncthing"
|
|
436
|
+
:asset-filter os-arch)
|
|
437
|
+
|
|
438
|
+
(repo "Wilfred/difftastic"
|
|
439
|
+
:name "difft"
|
|
440
|
+
:asset-filter rust)
|
|
441
|
+
|
|
442
|
+
(repo "terrastruct/d2"
|
|
443
|
+
:asset-filter os-arch)
|
|
444
|
+
|
|
445
|
+
(repo "sigoden/dufs"
|
|
446
|
+
:asset-filter rust)
|
|
447
|
+
|
|
448
|
+
(repo "slashbaseide/slashbase"
|
|
449
|
+
:name "Slashbase"
|
|
450
|
+
:pin "x86_64"
|
|
451
|
+
:asset-filter "linux_amd64")
|
|
452
|
+
|
|
453
|
+
(repo "jdxcode/rtx"
|
|
454
|
+
:asset-filter os-arch)
|
|
455
|
+
|
|
456
|
+
(repo "PostgREST/postgrest"
|
|
457
|
+
:asset-filter "linux-static"
|
|
458
|
+
:pin "x86_64")
|
|
459
|
+
|
|
460
|
+
(repo "rust-cross/cargo-zigbuild"
|
|
461
|
+
:asset-filter f"{rust}.*gz$")
|
|
462
|
+
|
|
463
|
+
(repo "netbirdio/netbird"
|
|
464
|
+
:asset-filter f"netbird_.*{os-arch}\\.tar\\.gz")
|
|
465
|
+
|
|
466
|
+
(repo "jetpack-io/devbox"
|
|
467
|
+
:asset-filter os-arch)
|
|
468
|
+
|
|
469
|
+
(repo "charliermarsh/ruff"
|
|
470
|
+
:asset-filter f"{rust}-musl\\.tar\\.gz$")
|
|
471
|
+
|
|
472
|
+
(repo "chiselstrike/homebrew-tap"
|
|
473
|
+
:name "turso"
|
|
474
|
+
:asset-filter os-arch)
|
|
475
|
+
|
|
476
|
+
(repo "amacneil/dbmate"
|
|
477
|
+
:asset-filter os-arch)
|
|
478
|
+
|
|
479
|
+
(repo "noisetorch/NoiseTorch"
|
|
480
|
+
:pin "x86_64"
|
|
481
|
+
:asset-filter f"{arch-pattern}.*tgz$")
|
|
482
|
+
|
|
483
|
+
(repo "slint-ui/slint"
|
|
484
|
+
:name "slint-lsp"
|
|
485
|
+
:pin "x86_64"
|
|
486
|
+
:asset-filter f"lsp-{my-os}")
|
|
487
|
+
|
|
488
|
+
(repo "watchexec/cargo-watch"
|
|
489
|
+
:asset-filter f"{rust}.*?\\.tar\\.xz$")
|
|
490
|
+
|
|
491
|
+
(repo "DarthSim/overmind"
|
|
492
|
+
:asset-filter f"{os-arch}\\.gz$")
|
|
493
|
+
|
|
494
|
+
(repo "AmrDeveloper/GQL"
|
|
495
|
+
:asset-filter f"{rust}\\.gz$")
|
|
496
|
+
|
|
497
|
+
(repo "mr-karan/doggo"
|
|
498
|
+
:basename-glob "doggo"
|
|
499
|
+
:asset-filter os-arch)
|
|
500
|
+
|
|
501
|
+
(repo "rustic-rs/rustic"
|
|
502
|
+
:asset-filter f"{rust}\\-musl\\.tar\\.gz$")
|
|
503
|
+
|
|
504
|
+
(repo "eza-community/eza"
|
|
505
|
+
:asset-filter rust)
|
|
506
|
+
|
|
507
|
+
(repo "antonmedv/fx"
|
|
508
|
+
:asset-filter os-arch)
|
|
509
|
+
|
|
510
|
+
(repo "replydev/cotp"
|
|
511
|
+
:asset-filter rust)
|
|
512
|
+
|
|
513
|
+
(repo "orhun/kmon"
|
|
514
|
+
:asset-filter f"{rust}-musl\\.tar\\.gz$")
|
|
515
|
+
|
|
516
|
+
(repo "biomejs/biome"
|
|
517
|
+
:release-filter "\\bCLI\\b"
|
|
518
|
+
:asset-filter f"{os-arch}")
|
|
519
|
+
|
|
520
|
+
(repo "dnote/dnote"
|
|
521
|
+
:release-filter "cli\\-"
|
|
522
|
+
:asset-filter os-arch)
|
|
523
|
+
|
|
524
|
+
(repo "yamafaktory/jql"
|
|
525
|
+
:asset-filter rust)
|
|
526
|
+
|
|
527
|
+
(repo "01mf02/jaq"
|
|
528
|
+
:asset-filter rust)
|
|
529
|
+
|
|
530
|
+
(repo "shuttle-hq/shuttle"
|
|
531
|
+
:asset-filter f"{rust}-musl")
|
ghdl-0.4.10/uv.lock
ADDED
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
version = 1
|
|
2
|
+
requires-python = ">=3.8, <3.14"
|
|
3
|
+
resolution-markers = [
|
|
4
|
+
"python_full_version >= '3.9'",
|
|
5
|
+
"python_full_version < '3.9'",
|
|
6
|
+
]
|
|
7
|
+
|
|
8
|
+
[[package]]
|
|
9
|
+
name = "anyio"
|
|
10
|
+
version = "4.5.2"
|
|
11
|
+
source = { registry = "https://pypi.org/simple" }
|
|
12
|
+
resolution-markers = [
|
|
13
|
+
"python_full_version < '3.9'",
|
|
14
|
+
]
|
|
15
|
+
dependencies = [
|
|
16
|
+
{ name = "exceptiongroup", marker = "python_full_version < '3.9'" },
|
|
17
|
+
{ name = "idna", marker = "python_full_version < '3.9'" },
|
|
18
|
+
{ name = "sniffio", marker = "python_full_version < '3.9'" },
|
|
19
|
+
{ name = "typing-extensions", marker = "python_full_version < '3.9'" },
|
|
20
|
+
]
|
|
21
|
+
sdist = { url = "https://files.pythonhosted.org/packages/4d/f9/9a7ce600ebe7804daf90d4d48b1c0510a4561ddce43a596be46676f82343/anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b", size = 171293 }
|
|
22
|
+
wheels = [
|
|
23
|
+
{ url = "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f", size = 89766 },
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
[[package]]
|
|
27
|
+
name = "anyio"
|
|
28
|
+
version = "4.7.0"
|
|
29
|
+
source = { registry = "https://pypi.org/simple" }
|
|
30
|
+
resolution-markers = [
|
|
31
|
+
"python_full_version >= '3.9'",
|
|
32
|
+
]
|
|
33
|
+
dependencies = [
|
|
34
|
+
{ name = "exceptiongroup", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" },
|
|
35
|
+
{ name = "idna", marker = "python_full_version >= '3.9'" },
|
|
36
|
+
{ name = "sniffio", marker = "python_full_version >= '3.9'" },
|
|
37
|
+
{ name = "typing-extensions", marker = "python_full_version >= '3.9' and python_full_version < '3.13'" },
|
|
38
|
+
]
|
|
39
|
+
sdist = { url = "https://files.pythonhosted.org/packages/f6/40/318e58f669b1a9e00f5c4453910682e2d9dd594334539c7b7817dabb765f/anyio-4.7.0.tar.gz", hash = "sha256:2f834749c602966b7d456a7567cafcb309f96482b5081d14ac93ccd457f9dd48", size = 177076 }
|
|
40
|
+
wheels = [
|
|
41
|
+
{ url = "https://files.pythonhosted.org/packages/a0/7a/4daaf3b6c08ad7ceffea4634ec206faeff697526421c20f07628c7372156/anyio-4.7.0-py3-none-any.whl", hash = "sha256:ea60c3723ab42ba6fff7e8ccb0488c898ec538ff4df1f1d5e642c3601d07e352", size = 93052 },
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
[[package]]
|
|
45
|
+
name = "astor"
|
|
46
|
+
version = "0.8.1"
|
|
47
|
+
source = { registry = "https://pypi.org/simple" }
|
|
48
|
+
sdist = { url = "https://files.pythonhosted.org/packages/5a/21/75b771132fee241dfe601d39ade629548a9626d1d39f333fde31bc46febe/astor-0.8.1.tar.gz", hash = "sha256:6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e", size = 35090 }
|
|
49
|
+
wheels = [
|
|
50
|
+
{ url = "https://files.pythonhosted.org/packages/c3/88/97eef84f48fa04fbd6750e62dcceafba6c63c81b7ac1420856c8dcc0a3f9/astor-0.8.1-py2.py3-none-any.whl", hash = "sha256:070a54e890cefb5b3739d19f30f5a5ec840ffc9c50ffa7d23cc9fc1a38ebbfc5", size = 27488 },
|
|
51
|
+
]
|
|
52
|
+
|
|
53
|
+
[[package]]
|
|
54
|
+
name = "certifi"
|
|
55
|
+
version = "2024.12.14"
|
|
56
|
+
source = { registry = "https://pypi.org/simple" }
|
|
57
|
+
sdist = { url = "https://files.pythonhosted.org/packages/0f/bd/1d41ee578ce09523c81a15426705dd20969f5abf006d1afe8aeff0dd776a/certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db", size = 166010 }
|
|
58
|
+
wheels = [
|
|
59
|
+
{ url = "https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56", size = 164927 },
|
|
60
|
+
]
|
|
61
|
+
|
|
62
|
+
[[package]]
|
|
63
|
+
name = "docopt"
|
|
64
|
+
version = "0.6.2"
|
|
65
|
+
source = { registry = "https://pypi.org/simple" }
|
|
66
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz", hash = "sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491", size = 25901 }
|
|
67
|
+
|
|
68
|
+
[[package]]
|
|
69
|
+
name = "exceptiongroup"
|
|
70
|
+
version = "1.2.2"
|
|
71
|
+
source = { registry = "https://pypi.org/simple" }
|
|
72
|
+
sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883 }
|
|
73
|
+
wheels = [
|
|
74
|
+
{ url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453 },
|
|
75
|
+
]
|
|
76
|
+
|
|
77
|
+
[[package]]
|
|
78
|
+
name = "funcparserlib"
|
|
79
|
+
version = "1.0.1"
|
|
80
|
+
source = { registry = "https://pypi.org/simple" }
|
|
81
|
+
sdist = { url = "https://files.pythonhosted.org/packages/93/44/a21dfd9c45ad6909257e5186378a4fedaf41406824ce1ec06bc2a6c168e7/funcparserlib-1.0.1.tar.gz", hash = "sha256:a2c4a0d7942f7a0e7635c369d921066c8d4cae7f8b5bf7914466bec3c69837f4", size = 17238 }
|
|
82
|
+
wheels = [
|
|
83
|
+
{ url = "https://files.pythonhosted.org/packages/83/66/acd740d84f59c655935f586c113a863aa404dfe932052a68a1163d88ea63/funcparserlib-1.0.1-py2.py3-none-any.whl", hash = "sha256:95da15d3f0d00b9b6f4bf04005c708af3faa115f7b45692ace064ebe758c68e8", size = 17842 },
|
|
84
|
+
]
|
|
85
|
+
|
|
86
|
+
[[package]]
|
|
87
|
+
name = "ghdl"
|
|
88
|
+
version = "0.4.10"
|
|
89
|
+
source = { editable = "." }
|
|
90
|
+
dependencies = [
|
|
91
|
+
{ name = "docopt" },
|
|
92
|
+
{ name = "httpx" },
|
|
93
|
+
{ name = "hy" },
|
|
94
|
+
{ name = "hyrule" },
|
|
95
|
+
{ name = "python-dateutil" },
|
|
96
|
+
{ name = "python-magic" },
|
|
97
|
+
{ name = "xdg" },
|
|
98
|
+
{ name = "xtract" },
|
|
99
|
+
]
|
|
100
|
+
|
|
101
|
+
[package.metadata]
|
|
102
|
+
requires-dist = [
|
|
103
|
+
{ name = "docopt", specifier = ">=0.6.2" },
|
|
104
|
+
{ name = "httpx", specifier = ">=0.27.0" },
|
|
105
|
+
{ name = "hy", specifier = ">=1.0.0" },
|
|
106
|
+
{ name = "hyrule", specifier = ">=0.7.0" },
|
|
107
|
+
{ name = "python-dateutil", specifier = ">=2.8.1" },
|
|
108
|
+
{ name = "python-magic", specifier = ">=0.4.25" },
|
|
109
|
+
{ name = "xdg", specifier = ">=4.0.1" },
|
|
110
|
+
{ name = "xtract", specifier = "==0.1a3" },
|
|
111
|
+
]
|
|
112
|
+
|
|
113
|
+
[package.metadata.requires-dev]
|
|
114
|
+
dev = []
|
|
115
|
+
|
|
116
|
+
[[package]]
|
|
117
|
+
name = "h11"
|
|
118
|
+
version = "0.14.0"
|
|
119
|
+
source = { registry = "https://pypi.org/simple" }
|
|
120
|
+
sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418 }
|
|
121
|
+
wheels = [
|
|
122
|
+
{ url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259 },
|
|
123
|
+
]
|
|
124
|
+
|
|
125
|
+
[[package]]
|
|
126
|
+
name = "httpcore"
|
|
127
|
+
version = "1.0.7"
|
|
128
|
+
source = { registry = "https://pypi.org/simple" }
|
|
129
|
+
dependencies = [
|
|
130
|
+
{ name = "certifi" },
|
|
131
|
+
{ name = "h11" },
|
|
132
|
+
]
|
|
133
|
+
sdist = { url = "https://files.pythonhosted.org/packages/6a/41/d7d0a89eb493922c37d343b607bc1b5da7f5be7e383740b4753ad8943e90/httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c", size = 85196 }
|
|
134
|
+
wheels = [
|
|
135
|
+
{ url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551 },
|
|
136
|
+
]
|
|
137
|
+
|
|
138
|
+
[[package]]
|
|
139
|
+
name = "httpx"
|
|
140
|
+
version = "0.28.1"
|
|
141
|
+
source = { registry = "https://pypi.org/simple" }
|
|
142
|
+
dependencies = [
|
|
143
|
+
{ name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
|
|
144
|
+
{ name = "anyio", version = "4.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
|
|
145
|
+
{ name = "certifi" },
|
|
146
|
+
{ name = "httpcore" },
|
|
147
|
+
{ name = "idna" },
|
|
148
|
+
]
|
|
149
|
+
sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406 }
|
|
150
|
+
wheels = [
|
|
151
|
+
{ url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 },
|
|
152
|
+
]
|
|
153
|
+
|
|
154
|
+
[[package]]
|
|
155
|
+
name = "hy"
|
|
156
|
+
version = "1.0.0"
|
|
157
|
+
source = { registry = "https://pypi.org/simple" }
|
|
158
|
+
dependencies = [
|
|
159
|
+
{ name = "astor", marker = "python_full_version < '3.9'" },
|
|
160
|
+
{ name = "funcparserlib" },
|
|
161
|
+
]
|
|
162
|
+
sdist = { url = "https://files.pythonhosted.org/packages/ab/7f/f8061ae737f6a564c3d4f80287bd5ff46afc1f606617a9cb5c797e6a974a/hy-1.0.0.tar.gz", hash = "sha256:3a00013e075ff5ce8f5d475ca2be47e4c871f09184ba3533787cb544d32d1f9e", size = 121792 }
|
|
163
|
+
|
|
164
|
+
[[package]]
|
|
165
|
+
name = "hyrule"
|
|
166
|
+
version = "0.7.0"
|
|
167
|
+
source = { registry = "https://pypi.org/simple" }
|
|
168
|
+
dependencies = [
|
|
169
|
+
{ name = "hy" },
|
|
170
|
+
]
|
|
171
|
+
sdist = { url = "https://files.pythonhosted.org/packages/59/f6/55dbed29f7b16b393d5aba61bd69762cc836089e1ff922779b09f7dd8827/hyrule-0.7.0.tar.gz", hash = "sha256:3a4b3568abfe16d16895e584c0db84c1251d258fe234ba86f072906b90545ce8", size = 32955 }
|
|
172
|
+
|
|
173
|
+
[[package]]
|
|
174
|
+
name = "idna"
|
|
175
|
+
version = "3.10"
|
|
176
|
+
source = { registry = "https://pypi.org/simple" }
|
|
177
|
+
sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 }
|
|
178
|
+
wheels = [
|
|
179
|
+
{ url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 },
|
|
180
|
+
]
|
|
181
|
+
|
|
182
|
+
[[package]]
|
|
183
|
+
name = "python-dateutil"
|
|
184
|
+
version = "2.9.0.post0"
|
|
185
|
+
source = { registry = "https://pypi.org/simple" }
|
|
186
|
+
dependencies = [
|
|
187
|
+
{ name = "six" },
|
|
188
|
+
]
|
|
189
|
+
sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432 }
|
|
190
|
+
wheels = [
|
|
191
|
+
{ url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892 },
|
|
192
|
+
]
|
|
193
|
+
|
|
194
|
+
[[package]]
|
|
195
|
+
name = "python-magic"
|
|
196
|
+
version = "0.4.27"
|
|
197
|
+
source = { registry = "https://pypi.org/simple" }
|
|
198
|
+
sdist = { url = "https://files.pythonhosted.org/packages/da/db/0b3e28ac047452d079d375ec6798bf76a036a08182dbb39ed38116a49130/python-magic-0.4.27.tar.gz", hash = "sha256:c1ba14b08e4a5f5c31a302b7721239695b2f0f058d125bd5ce1ee36b9d9d3c3b", size = 14677 }
|
|
199
|
+
wheels = [
|
|
200
|
+
{ url = "https://files.pythonhosted.org/packages/6c/73/9f872cb81fc5c3bb48f7227872c28975f998f3e7c2b1c16e95e6432bbb90/python_magic-0.4.27-py2.py3-none-any.whl", hash = "sha256:c212960ad306f700aa0d01e5d7a325d20548ff97eb9920dcd29513174f0294d3", size = 13840 },
|
|
201
|
+
]
|
|
202
|
+
|
|
203
|
+
[[package]]
|
|
204
|
+
name = "six"
|
|
205
|
+
version = "1.17.0"
|
|
206
|
+
source = { registry = "https://pypi.org/simple" }
|
|
207
|
+
sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 }
|
|
208
|
+
wheels = [
|
|
209
|
+
{ url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 },
|
|
210
|
+
]
|
|
211
|
+
|
|
212
|
+
[[package]]
|
|
213
|
+
name = "sniffio"
|
|
214
|
+
version = "1.3.1"
|
|
215
|
+
source = { registry = "https://pypi.org/simple" }
|
|
216
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372 }
|
|
217
|
+
wheels = [
|
|
218
|
+
{ url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 },
|
|
219
|
+
]
|
|
220
|
+
|
|
221
|
+
[[package]]
|
|
222
|
+
name = "typing-extensions"
|
|
223
|
+
version = "4.12.2"
|
|
224
|
+
source = { registry = "https://pypi.org/simple" }
|
|
225
|
+
sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321 }
|
|
226
|
+
wheels = [
|
|
227
|
+
{ url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 },
|
|
228
|
+
]
|
|
229
|
+
|
|
230
|
+
[[package]]
|
|
231
|
+
name = "xdg"
|
|
232
|
+
version = "6.0.0"
|
|
233
|
+
source = { registry = "https://pypi.org/simple" }
|
|
234
|
+
sdist = { url = "https://files.pythonhosted.org/packages/2a/b9/0e6e6f19fb75cf5e1758f4f33c1256738f718966700cffc0fde2f966218b/xdg-6.0.0.tar.gz", hash = "sha256:24278094f2d45e846d1eb28a2ebb92d7b67fc0cab5249ee3ce88c95f649a1c92", size = 3453 }
|
|
235
|
+
wheels = [
|
|
236
|
+
{ url = "https://files.pythonhosted.org/packages/dd/54/3516c1cf349060fc3578686d271eba242f10ec00b4530c2985af9faac49b/xdg-6.0.0-py3-none-any.whl", hash = "sha256:df3510755b4395157fc04fc3b02467c777f3b3ca383257397f09ab0d4c16f936", size = 3855 },
|
|
237
|
+
]
|
|
238
|
+
|
|
239
|
+
[[package]]
|
|
240
|
+
name = "xtract"
|
|
241
|
+
version = "0.1a3"
|
|
242
|
+
source = { registry = "https://pypi.org/simple" }
|
|
243
|
+
dependencies = [
|
|
244
|
+
{ name = "python-magic" },
|
|
245
|
+
]
|
|
246
|
+
sdist = { url = "https://files.pythonhosted.org/packages/35/75/e5f69665d910be47838cb95bd534f7ca1c47faf47dec147533b94433a13d/xtract-0.1a3.tar.gz", hash = "sha256:1baac33be7494a106233e0db9de8d3ccc743635092a9b134641151c71bc322e3", size = 20926 }
|
|
247
|
+
wheels = [
|
|
248
|
+
{ url = "https://files.pythonhosted.org/packages/37/74/2d74c59ae912dc9336d87e2ff16fa09c9d2f8b4abdd11c5c9d6770948add/xtract-0.1a3-py2.py3-none-any.whl", hash = "sha256:e085b268480f2123d1f7e25411a13721e987cfa064447afdbe895949cfe2899a", size = 13772 },
|
|
249
|
+
]
|
ghdl-0.4.9/setup.cfg
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|