Skip to content

Commit edae221

Browse files
committed
feat: added pkgcache routes
1 parent 42498eb commit edae221

14 files changed

Lines changed: 2976 additions & 4 deletions

File tree

web/load.mjs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ import { writeFileSync } from "fs";
33
const binArm64 = "https://meta.pkgforge.dev/bincache/aarch64-Linux.json";
44
const binX86 = "https://meta.pkgforge.dev/bincache/x86_64-Linux.json";
55

6+
const pkgcacheArm64 = "https://meta.pkgforge.dev/pkgcache/aarch64-Linux.json";
7+
const pkgcacheX86 = "https://meta.pkgforge.dev/pkgcache/x86_64-Linux.json";
8+
69
const soarpkgs = "https://meta.pkgforge.dev/soarpkgs/INDEX.json";
710

811
const run = async (url, branch, arch) => {
@@ -90,6 +93,12 @@ const run = async (url, branch, arch) => {
9093
console.log("⏲️ Downloading soarpkgs");
9194
await run(soarpkgs, "soarpkgs", "[category]");
9295

96+
console.log("⏲️ Downloading pkgcache aarch64");
97+
await run(pkgcacheArm64, "pkgcache", "aarch64-linux");
98+
99+
console.log("⏲️ Downloading bincache x86_64");
100+
await run(pkgcacheX86, "pkgcache", "x86_64-linux");
101+
93102
// console.log("⏲️ Downloading Community");
94103
// await run(community, "community", "universal-linux");
95104

web/src/components/app.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ function Show({ value, Key, props }: { value: any, props: AppProps, Key?: string
184184
<div className="flex flex-col flex-wrap gap-1">
185185
{n.map((s) => {
186186
return (
187-
<span>{s}</span>
187+
<span key={s}>{s}</span>
188188
);
189189
})}
190190
</div>

web/src/components/data-table-family.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,6 @@ export function DataTable<TData, TValue>({
203203
if (pageNumberInput.current) {
204204
const val = Number(pageNumberInput.current.value);
205205

206-
console.log(val);
207206
if (val > 0 && val < table.getPageCount()) {
208207
table.setPageIndex(val - 1);
209208
}

web/src/components/data-table.tsx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ const binArm64 = import("../metadata_bincache_aarch64-linux.json");
4141

4242
const soarPkgs = import("../metadata_soarpkgs_[category].json");
4343

44+
const pkgArm64 = import("../metadata_pkgcache_aarch64-linux.json");
45+
46+
const pkgX86 = import("../metadata_pkgcache_x86_64-linux.json");
47+
4448
interface DataTableProps<TData, TValue> {
4549
columns: ColumnDef<TData, TValue>[]
4650
data: TData[]
@@ -50,7 +54,6 @@ const getColumnVis = () => {
5054
try {
5155
return JSON.parse(localStorage.visiv);
5256
} catch (e) {
53-
console.log("Using Default", e);
5457
return {
5558
sha: false,
5659
id: false,
@@ -137,6 +140,12 @@ export function DataTable<TData>({
137140
case "bincache_arm64":
138141
setData((await binArm64).default as unknown as TData[]);
139142
break;
143+
case "pkgcache_amd64":
144+
setData((await pkgX86).default as unknown as TData[]);
145+
break;
146+
case "pkgcache_arm64":
147+
setData((await pkgArm64).default as unknown as TData[]);
148+
break;
140149
}
141150
})();
142151
}, [page]);
@@ -209,6 +218,8 @@ export function DataTable<TData>({
209218
<SelectLabel>bincache</SelectLabel>
210219
<SelectItem value="bincache_amd64">bincache (x86_64)</SelectItem>
211220
<SelectItem value="bincache_arm64">bincache (aarch64)</SelectItem>
221+
<SelectItem value="pkgcache_amd64">pkgcache (x86_64)</SelectItem>
222+
<SelectItem value="pkgcache_arm64">pkgcache (aarch64)</SelectItem>
212223
<SelectItem value="soarpkgs">soarpkgs</SelectItem>
213224
</SelectGroup>
214225
</SelectContent>
@@ -360,7 +371,6 @@ export function DataTable<TData>({
360371
if (pageNumberInput.current) {
361372
const val = Number(pageNumberInput.current.value);
362373

363-
console.log(val);
364374
if (val > 0 && val < table.getPageCount()) {
365375
table.setPageIndex(val - 1);
366376
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[{"name":"86box","pkg":"86box.appimage","family":"86box","version":"v4.2.1","sha":"6d98eb41392380d6d7fd5c9f10f95aa080c8ba9517b96a8e34b5ad7e847ae1d3","type":"appimage","size":"52 MB","sizeNum":52000000,"category":["Emulator"],"id":"N/A","Build Date":"2025-01-11T13:13:14Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/aarch64-linux/86box/86box","familyUrl":"/pkgcache/aarch64-linux/86box"},{"name":"vesktop","pkg":"vesktop.appimage","family":"vesktop","version":"v1.5.4","sha":"64ab14119ffecd2b558eef42f14c866f99bbff46ffaac68d4ab6b06f6ee32072","type":"appimage","size":"88 MB","sizeNum":88000000,"category":["Network","InstantMessaging","Chat"],"id":"N/A","Build Date":"2025-01-11T13:14:09Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/aarch64-linux/vesktop/vesktop","familyUrl":"/pkgcache/aarch64-linux/vesktop"}]
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[{"name":"0ad","pkg":"0ad.appimage","family":"github-0ad-matters-0ad-appimage-prerelease","version":"v0.0.27-rc1-27645-alpha","sha":"686bd29fad5ec2322f4f22fab93235f2976fb849a32af7a7edca078eac559946","type":"appimage","size":"1.7 GB","sizeNum":1700000000,"category":["Game"],"id":"N/A","Build Date":"2025-01-11T17:02:20Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/github-0ad-matters-0ad-appimage-prerelease/0ad","familyUrl":"/pkgcache/x86_64-linux/github-0ad-matters-0ad-appimage-prerelease"},{"name":"0ad","pkg":"0ad.appimage","family":"github-0ad-matters-0ad-appimage-stable","version":"v0.0.26-alpha","sha":"ce7c0e3f978680a4c1bc9b4ca1436d8a9e6c921d835aba3b99f3b00f660a6e28","type":"appimage","size":"1.6 GB","sizeNum":1600000000,"category":["Game"],"id":"N/A","Build Date":"2025-01-12T02:19:10Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/github-0ad-matters-0ad-appimage-stable/0ad","familyUrl":"/pkgcache/x86_64-linux/github-0ad-matters-0ad-appimage-stable"},{"name":"86box","pkg":"86box.appimage","family":"86box","version":"v4.2.1","sha":"28e166a2253f058bfe380bd856cd056b3ca9d8544fc82193f017bb7fdc39b749","type":"appimage","size":"56 MB","sizeNum":56000000,"category":["Emulator"],"id":"N/A","Build Date":"2025-01-11T17:35:02Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/86box/86box","familyUrl":"/pkgcache/x86_64-linux/86box"},{"name":"9launcher","pkg":"9launcher.appimage","family":"9launcher","version":"v.1.3.1","sha":"7d1051a7628e7650b8e12791852214a4dc6dbc2a523471a6d0d0b2b5abf22932","type":"appimage","size":"131 MB","sizeNum":131000000,"category":["Utility"],"id":"N/A","Build Date":"2025-01-11T17:38:03Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/9launcher/9launcher","familyUrl":"/pkgcache/x86_64-linux/9launcher"},{"name":"aaaaxy","pkg":"aaaaxy.appimage","family":"aaaaxy","version":"v1.5.250","sha":"e06d41cc5099fc6494861a81d018646d23846a70fc6fefc3f17920f98b2a927a","type":"appimage","size":"32 MB","sizeNum":32000000,"category":["Game"],"id":"N/A","Build Date":"2025-01-11T17:38:56Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/aaaaxy/aaaaxy","familyUrl":"/pkgcache/x86_64-linux/aaaaxy"},{"name":"abiword","pkg":"abiword.appimage","family":"abiword","version":"3.0.6-2-3.4.4-2","sha":"82ed3afe9f9322abfd27744e7ade52410e9b5834324e4cb42434d85be8349c8a","type":"appimage","size":"71 MB","sizeNum":71000000,"category":["Office"],"id":"N/A","Build Date":"2025-01-12T02:54:07Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/abiword/abiword","familyUrl":"/pkgcache/x86_64-linux/abiword"},{"name":"acreom","pkg":"acreom.appimage","family":"acreom","version":"v1.20.4","sha":"ff0206de1df5e4b3bcd9d3747f2e9f5046f2dc0ec6a4653544d67fec5f41ee85","type":"appimage","size":"134 MB","sizeNum":134000000,"category":["Database","Education","IDE"],"id":"N/A","Build Date":"2025-01-11T17:43:15Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/acreom/acreom","familyUrl":"/pkgcache/x86_64-linux/acreom"},{"name":"actual","pkg":"actual.appimage","family":"actual","version":"v25.1.0","sha":"e5face4a5907fe4e85575fc24fb597297fcd93ef0a3827f416139f228b533dc6","type":"appimage","size":"89 MB","sizeNum":89000000,"category":["Finance"],"id":"N/A","Build Date":"2025-01-11T17:46:42Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/actual/actual","familyUrl":"/pkgcache/x86_64-linux/actual"},{"name":"advanced-passgen","pkg":"advanced-passgen.appimage","family":"advanced-passgen","version":"v2.5.2","sha":"4e24ed5fef11b400d8da2342fc1b91e1634ad22cf4a9e636b88decf9651f8b03","type":"appimage","size":"97 MB","sizeNum":97000000,"category":["Security","Utility"],"id":"N/A","Build Date":"2025-01-11T17:49:21Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/advanced-passgen/advanced-passgen","familyUrl":"/pkgcache/x86_64-linux/advanced-passgen"},{"name":"advanced-rest-client","pkg":"advanced-rest-client.appimage","family":"advanced-rest-client","version":"v17.0.9","sha":"f3a9955fad4f015049cb5af0b35a3188819132565022a72b7c7bab3fa547c0db","type":"appimage","size":"99 MB","sizeNum":99000000,"category":["Utility"],"id":"N/A","Build Date":"2025-01-11T17:54:44Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/advanced-rest-client/advanced-rest-client","familyUrl":"/pkgcache/x86_64-linux/advanced-rest-client"},{"name":"affine","pkg":"affine.appimage","family":"github-com-affine-mirror-affine-canary-1","version":"v0.20.0-canary.1","sha":"6ce8c35b7753d797eb6b5a85478fd6fbdfb9f30e699fa26db4fd95e8b35effad","type":"appimage","size":"153 MB","sizeNum":153000000,"category":["Database","Education"],"id":"N/A","Build Date":"2025-01-11T18:01:07Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/github-com-affine-mirror-affine-canary-1/affine","familyUrl":"/pkgcache/x86_64-linux/github-com-affine-mirror-affine-canary-1"},{"name":"affine","pkg":"affine.appimage","family":"github-com-affine-mirror-affine-canary-2","version":"v0.20.0-canary.2","sha":"006058318bfb3eab1ac33a51f4bcfb8b75460dd6c26d8713cc05bf14ade965db","type":"appimage","size":"153 MB","sizeNum":153000000,"category":["Database","Education"],"id":"N/A","Build Date":"2025-01-11T18:06:25Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/github-com-affine-mirror-affine-canary-2/affine","familyUrl":"/pkgcache/x86_64-linux/github-com-affine-mirror-affine-canary-2"},{"name":"affine","pkg":"affine.appimage","family":"github-com-affine-mirror-affine-stable","version":"v0.19.5","sha":"37c37b4442df053b3a5741514db3f142f50575bebbcd6a54a8c6717db20598f4","type":"appimage","size":"153 MB","sizeNum":153000000,"category":["Database","Education"],"id":"N/A","Build Date":"2025-01-11T18:11:44Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/github-com-affine-mirror-affine-stable/affine","familyUrl":"/pkgcache/x86_64-linux/github-com-affine-mirror-affine-stable"},{"name":"agregore","pkg":"agregore.appimage","family":"agregore","version":"v2.6.3","sha":"4b1699a019f08393e40e23481dff7899eec5fc70a7a7dc68e95b12bed95a518a","type":"appimage","size":"166 MB","sizeNum":166000000,"category":["WebBrowser"],"id":"N/A","Build Date":"2025-01-11T18:17:48Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/agregore/agregore","familyUrl":"/pkgcache/x86_64-linux/agregore"},{"name":"air-controller-desktop","pkg":"air-controller-desktop.appimage","family":"air-controller-desktop","version":"0.4.0","sha":"32a5556c062f2ab789c8ab6fb9aa36bdb2b879dd4676ab8d7f7d6e2833a859b9","type":"appimage","size":"12 MB","sizeNum":12000000,"category":["Utility"],"id":"N/A","Build Date":"2025-01-11T18:19:02Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/air-controller-desktop/air-controller-desktop","familyUrl":"/pkgcache/x86_64-linux/air-controller-desktop"},{"name":"aisleriot","pkg":"aisleriot.appimage","family":"aisleriot","version":"3.22.34-1-3.4.4-2","sha":"a797307cfb0e4ca52a7aac094b045c8067a6c7ade0aae410c208e41160370637","type":"appimage","size":"50 MB","sizeNum":50000000,"category":["Utility"],"id":"N/A","Build Date":"2025-01-12T02:56:16Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/aisleriot/aisleriot","familyUrl":"/pkgcache/x86_64-linux/aisleriot"},{"name":"akuse","pkg":"akuse.appimage","family":"akuse","version":"1.9.0","sha":"957abc8492be4f36770dd81eb009d0c70d09a4c02ab71b820d085656592f76bb","type":"appimage","size":"88 MB","sizeNum":88000000,"category":["Utility"],"id":"N/A","Build Date":"2025-01-11T18:19:53Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/akuse/akuse","familyUrl":"/pkgcache/x86_64-linux/akuse"},{"name":"allusion","pkg":"allusion.appimage","family":"allusion","version":"v1.0.0-rc.10","sha":"30fef63b68310df941069462d6ca2d49a85a4671c90e5172487e8e837a29724c","type":"appimage","size":"77 MB","sizeNum":77000000,"category":["Utility"],"id":"N/A","Build Date":"2025-01-11T18:23:21Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/allusion/allusion","familyUrl":"/pkgcache/x86_64-linux/allusion"},{"name":"altair","pkg":"altair.appimage","family":"altair","version":"v8.1.3","sha":"9b8013a30249d3b567696190e1a474464ab32798c86fc1a1c0cd780ca70f1e8d","type":"appimage","size":"127 MB","sizeNum":127000000,"category":["Utility"],"id":"N/A","Build Date":"2025-01-11T18:27:12Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/altair/altair","familyUrl":"/pkgcache/x86_64-linux/altair"},{"name":"altus","pkg":"altus.appimage","family":"altus","version":"5.4.0","sha":"9a78a23e5aef28c7aeaa344fcae1eb885ffb2775a1cc43f4511d6ce95bafb026","type":"appimage","size":"104 MB","sizeNum":104000000,"category":["Utility"],"id":"N/A","Build Date":"2025-01-11T18:30:29Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/altus/altus","familyUrl":"/pkgcache/x86_64-linux/altus"},{"name":"amdgpu_top","pkg":"amdgpu_top.appimage","family":"amdgpu_top","version":"v0.10.1","sha":"c9a50b5b1bfda7f53e726e3cc9964723af2e6e1c5d05325bb26d0730e7049ffa","type":"appimage","size":"8.4 MB","sizeNum":8400000,"category":["Monitor","Utility"],"id":"N/A","Build Date":"2025-01-11T18:30:55Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/amdgpu_top/amdgpu_top","familyUrl":"/pkgcache/x86_64-linux/amdgpu_top"},{"name":"android-messages","pkg":"android-messages.appimage","family":"android-messages","version":"v5.6.0","sha":"a3cda982a364314716953748aaa20640cdf55bb4c5a7372ad0fcb3a49a58cc52","type":"appimage","size":"105 MB","sizeNum":105000000,"category":["Utility"],"id":"N/A","Build Date":"2025-01-11T18:34:51Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/android-messages/android-messages","familyUrl":"/pkgcache/x86_64-linux/android-messages"},{"name":"converter432hz","pkg":"player432hz.appimage","family":"player432hz","version":"v3.3.2","sha":"c1129993b676ad888909bae67150600bb153f3b9feb08599b612a68f4b033599","type":"appimage","size":"15 MB","sizeNum":15000000,"category":["Utility"],"id":"N/A","Build Date":"2025-01-12T02:57:11Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/player432hz/converter432hz","familyUrl":"/pkgcache/x86_64-linux/player432hz"},{"name":"ghostty","pkg":"ghostty.appimage","family":"ghostty","version":"v1.0.1+2","sha":"e4ec59ca80e77ec9353d515f543556c86b3a34239c8438ade67fae59f2eb98ba","type":"appimage","size":"49 MB","sizeNum":49000000,"category":["TerminalEmulator"],"id":"N/A","Build Date":"2025-01-11T18:36:29Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/ghostty/ghostty","familyUrl":"/pkgcache/x86_64-linux/ghostty"},{"name":"player432hz","pkg":"player432hz.appimage","family":"player432hz","version":"v3.3.2","sha":"c66dbfc5eed92833648ea2759ab69e6ab221419f7f6d635a3e9414bfbb0957e2","type":"appimage","size":"23 MB","sizeNum":23000000,"category":["Utility"],"id":"N/A","Build Date":"2025-01-12T02:57:11Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/player432hz/player432hz","familyUrl":"/pkgcache/x86_64-linux/player432hz"},{"name":"powerliminalsplayer","pkg":"player432hz.appimage","family":"player432hz","version":"v3.3.2","sha":"840c5c8ad8d0a7bc5e8daa166dd56259e20b20dda0cc4e7868d1ce70f0c9e9cf","type":"appimage","size":"31 MB","sizeNum":31000000,"category":["Utility"],"id":"N/A","Build Date":"2025-01-12T02:57:12Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/player432hz/powerliminalsplayer","familyUrl":"/pkgcache/x86_64-linux/player432hz"},{"name":"telegram-desktop","pkg":"telegram-desktop.dynamic","family":"telegram-desktop","version":"v5.10.3","sha":"e8d3ef30b05fd5ef3dcf28ce2a93fbaf66c68c254f5e5f1d9ea6cbca3f42e7d5","type":"dynamic","size":"168 MB","sizeNum":168000000,"category":["Chat","IRCClient"],"id":"N/A","Build Date":"2025-01-11T18:40:38Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/telegram-desktop/telegram-desktop","familyUrl":"/pkgcache/x86_64-linux/telegram-desktop"},{"name":"vesktop","pkg":"vesktop.appimage","family":"vesktop","version":"v1.5.4","sha":"64ab14119ffecd2b558eef42f14c866f99bbff46ffaac68d4ab6b06f6ee32072","type":"appimage","size":"88 MB","sizeNum":88000000,"category":["Network","InstantMessaging","Chat"],"id":"N/A","Build Date":"2025-01-11T18:41:10Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/vesktop/vesktop","familyUrl":"/pkgcache/x86_64-linux/vesktop"},{"name":"yangdownloader","pkg":"player432hz.appimage","family":"player432hz","version":"v3.3.2","sha":"96f5bffe1a38f9e3e597129dc91117ba649af52c2393d62fde1d882dbaaf1698","type":"appimage","size":"39 MB","sizeNum":39000000,"category":["Utility"],"id":"N/A","Build Date":"2025-01-12T02:57:12Z","url":"https://pkgs.pkgforge.dev/repo/pkgcache/x86_64-linux/player432hz/yangdownloader","familyUrl":"/pkgcache/x86_64-linux/player432hz"}]
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
import Layout from "../../../../../../layouts/Layout.astro";
3+
import App from "../../../../../../components/app.tsx";
4+
5+
export async function getStaticPaths() {
6+
const { default: apps } = await import("../../_apps.json");
7+
8+
return apps.map((app) => {
9+
// Thanks @Azathothas for forcing us to write this hellifying script
10+
const [, , , , , , pkg_family, pkg] = app.pkg_webpage.split("/");
11+
12+
return {
13+
params: {
14+
family: pkg_family,
15+
package: pkg,
16+
},
17+
props: {
18+
data: app,
19+
logs: app.build_log || "",
20+
},
21+
};
22+
});
23+
}
24+
25+
const { data, logs } = Astro.props;
26+
---
27+
28+
<Layout>
29+
<App data={data} logs={logs} repo="pkgcache" client:only />
30+
</Layout>
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
import Layout from "../../../../../layouts/Layout.astro";
3+
import App from "../../../../../components/family.tsx";
4+
5+
export async function getStaticPaths() {
6+
const { default: family } = await import("../_family.json");
7+
8+
return Object.entries(family).map(([fam, apps]) => {
9+
const [, family] = fam.split("/");
10+
11+
return {
12+
params: { family },
13+
props: {
14+
name: family,
15+
apps: apps.map(([name, url]) => ({
16+
name,
17+
url,
18+
})),
19+
},
20+
};
21+
});
22+
}
23+
24+
const { name, apps } = Astro.props;
25+
---
26+
27+
<Layout>
28+
<App apps={apps} name={name} client:load />
29+
</Layout>

0 commit comments

Comments
 (0)