this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Renamed fennec-tricks appropriately to fire-tricks, create libmarshm which will handle the main functionality of the Campfire application. Currently libmarshm implements basic structure for a Marshmallow ( wine prefix ) and the ability to create the directory where it will reside, file structure for campfire configuration added.

Rouffy cbd3f462 52b378ad

+282 -79
+156 -53
Cargo.lock
··· 39 39 checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" 40 40 41 41 [[package]] 42 + name = "bitflags" 43 + version = "2.9.4" 44 + source = "registry+https://github.com/rust-lang/crates.io-index" 45 + checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" 46 + 47 + [[package]] 42 48 name = "bumpalo" 43 49 version = "3.19.0" 44 50 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 52 58 53 59 [[package]] 54 60 name = "cc" 55 - version = "1.2.30" 61 + version = "1.2.36" 56 62 source = "registry+https://github.com/rust-lang/crates.io-index" 57 - checksum = "deec109607ca693028562ed836a5f1c4b8bd77755c4e132fc5ce11b0b6211ae7" 63 + checksum = "5252b3d2648e5eedbc1a6f501e3c795e07025c1e93bbf8bbdd6eef7f447a6d54" 58 64 dependencies = [ 65 + "find-msvc-tools", 59 66 "shlex", 60 67 ] 61 68 62 69 [[package]] 63 70 name = "cfg-if" 64 - version = "1.0.1" 71 + version = "1.0.3" 65 72 source = "registry+https://github.com/rust-lang/crates.io-index" 66 - checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" 73 + checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" 67 74 68 75 [[package]] 69 76 name = "chrono" ··· 73 80 dependencies = [ 74 81 "android-tzdata", 75 82 "iana-time-zone", 76 - "js-sys", 77 83 "num-traits", 78 - "wasm-bindgen", 79 - "windows-link", 84 + "windows-link 0.1.3", 80 85 ] 81 86 82 87 [[package]] 83 88 name = "clap" 84 - version = "4.5.42" 89 + version = "4.5.47" 85 90 source = "registry+https://github.com/rust-lang/crates.io-index" 86 - checksum = "ed87a9d530bb41a67537289bafcac159cb3ee28460e0a4571123d2a778a6a882" 91 + checksum = "7eac00902d9d136acd712710d71823fb8ac8004ca445a89e73a41d45aa712931" 87 92 dependencies = [ 88 93 "clap_builder", 89 94 "clap_derive", ··· 91 96 92 97 [[package]] 93 98 name = "clap_builder" 94 - version = "4.5.42" 99 + version = "4.5.47" 95 100 source = "registry+https://github.com/rust-lang/crates.io-index" 96 - checksum = "64f4f3f3c77c94aff3c7e9aac9a2ca1974a5adf392a8bb751e827d6d127ab966" 101 + checksum = "2ad9bbf750e73b5884fb8a211a9424a1906c1e156724260fdae972f31d70e1d6" 97 102 dependencies = [ 98 103 "anstyle", 99 104 "clap_lex", ··· 101 106 102 107 [[package]] 103 108 name = "clap_derive" 104 - version = "4.5.41" 109 + version = "4.5.47" 105 110 source = "registry+https://github.com/rust-lang/crates.io-index" 106 - checksum = "ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491" 111 + checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c" 107 112 dependencies = [ 108 113 "heck", 109 114 "proc-macro2", ··· 124 129 checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 125 130 126 131 [[package]] 127 - name = "fennec-tricks" 132 + name = "dirs" 133 + version = "6.0.0" 134 + source = "registry+https://github.com/rust-lang/crates.io-index" 135 + checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" 136 + dependencies = [ 137 + "dirs-sys", 138 + ] 139 + 140 + [[package]] 141 + name = "dirs-sys" 142 + version = "0.5.0" 143 + source = "registry+https://github.com/rust-lang/crates.io-index" 144 + checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" 145 + dependencies = [ 146 + "libc", 147 + "option-ext", 148 + "redox_users", 149 + "windows-sys 0.61.0", 150 + ] 151 + 152 + [[package]] 153 + name = "find-msvc-tools" 154 + version = "0.1.1" 155 + source = "registry+https://github.com/rust-lang/crates.io-index" 156 + checksum = "7fd99930f64d146689264c637b5af2f0233a933bef0d8570e2526bf9e083192d" 157 + 158 + [[package]] 159 + name = "fire-tricks" 128 160 version = "0.1.0" 129 161 dependencies = [ 130 162 "chrono", 131 163 "clap", 164 + "dirs", 165 + "libmarshm", 132 166 "minreq", 133 167 "regashii", 134 168 "serde", ··· 178 212 179 213 [[package]] 180 214 name = "js-sys" 181 - version = "0.3.77" 215 + version = "0.3.78" 182 216 source = "registry+https://github.com/rust-lang/crates.io-index" 183 - checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" 217 + checksum = "0c0b063578492ceec17683ef2f8c5e89121fbd0b172cbc280635ab7567db2738" 184 218 dependencies = [ 185 219 "once_cell", 186 220 "wasm-bindgen", ··· 188 222 189 223 [[package]] 190 224 name = "libc" 191 - version = "0.2.174" 225 + version = "0.2.175" 192 226 source = "registry+https://github.com/rust-lang/crates.io-index" 193 - checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" 227 + checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" 228 + 229 + [[package]] 230 + name = "libmarshm" 231 + version = "0.1.0" 232 + dependencies = [ 233 + "dirs", 234 + ] 235 + 236 + [[package]] 237 + name = "libredox" 238 + version = "0.1.9" 239 + source = "registry+https://github.com/rust-lang/crates.io-index" 240 + checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3" 241 + dependencies = [ 242 + "bitflags", 243 + "libc", 244 + ] 194 245 195 246 [[package]] 196 247 name = "log" 197 - version = "0.4.27" 248 + version = "0.4.28" 198 249 source = "registry+https://github.com/rust-lang/crates.io-index" 199 - checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" 250 + checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" 200 251 201 252 [[package]] 202 253 name = "memchr" ··· 212 263 213 264 [[package]] 214 265 name = "minreq" 215 - version = "2.14.0" 266 + version = "2.14.1" 216 267 source = "registry+https://github.com/rust-lang/crates.io-index" 217 - checksum = "84885312a86831bff4a3cb04a1e54a3f698407e3274c83249313f194d3e0b678" 268 + checksum = "05015102dad0f7d61691ca347e9d9d9006685a64aefb3d79eecf62665de2153d" 218 269 dependencies = [ 219 - "log", 220 270 "rustls", 221 271 "rustls-webpki", 222 272 "urlencoding", ··· 249 299 checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 250 300 251 301 [[package]] 302 + name = "option-ext" 303 + version = "0.2.0" 304 + source = "registry+https://github.com/rust-lang/crates.io-index" 305 + checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" 306 + 307 + [[package]] 252 308 name = "proc-macro2" 253 309 version = "1.0.95" 254 310 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 267 323 ] 268 324 269 325 [[package]] 326 + name = "redox_users" 327 + version = "0.5.2" 328 + source = "registry+https://github.com/rust-lang/crates.io-index" 329 + checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" 330 + dependencies = [ 331 + "getrandom", 332 + "libredox", 333 + "thiserror 2.0.16", 334 + ] 335 + 336 + [[package]] 270 337 name = "regashii" 271 338 version = "0.4.0" 272 339 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 274 341 dependencies = [ 275 342 "nom", 276 343 "regex", 277 - "thiserror", 344 + "thiserror 1.0.69", 278 345 "utf16string", 279 346 ] 280 347 281 348 [[package]] 282 349 name = "regex" 283 - version = "1.11.1" 350 + version = "1.11.2" 284 351 source = "registry+https://github.com/rust-lang/crates.io-index" 285 - checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" 352 + checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" 286 353 dependencies = [ 287 354 "aho-corasick", 288 355 "memchr", ··· 292 359 293 360 [[package]] 294 361 name = "regex-automata" 295 - version = "0.4.9" 362 + version = "0.4.10" 296 363 source = "registry+https://github.com/rust-lang/crates.io-index" 297 - checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" 364 + checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" 298 365 dependencies = [ 299 366 "aho-corasick", 300 367 "memchr", ··· 303 370 304 371 [[package]] 305 372 name = "regex-syntax" 306 - version = "0.8.5" 373 + version = "0.8.6" 307 374 source = "registry+https://github.com/rust-lang/crates.io-index" 308 - checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" 375 + checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" 309 376 310 377 [[package]] 311 378 name = "ring" ··· 318 385 "getrandom", 319 386 "libc", 320 387 "untrusted", 321 - "windows-sys", 388 + "windows-sys 0.52.0", 322 389 ] 323 390 324 391 [[package]] ··· 345 412 346 413 [[package]] 347 414 name = "rustversion" 348 - version = "1.0.21" 415 + version = "1.0.22" 349 416 source = "registry+https://github.com/rust-lang/crates.io-index" 350 - checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" 417 + checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" 351 418 352 419 [[package]] 353 420 name = "sct" ··· 411 478 source = "registry+https://github.com/rust-lang/crates.io-index" 412 479 checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 413 480 dependencies = [ 414 - "thiserror-impl", 481 + "thiserror-impl 1.0.69", 482 + ] 483 + 484 + [[package]] 485 + name = "thiserror" 486 + version = "2.0.16" 487 + source = "registry+https://github.com/rust-lang/crates.io-index" 488 + checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" 489 + dependencies = [ 490 + "thiserror-impl 2.0.16", 415 491 ] 416 492 417 493 [[package]] ··· 426 502 ] 427 503 428 504 [[package]] 505 + name = "thiserror-impl" 506 + version = "2.0.16" 507 + source = "registry+https://github.com/rust-lang/crates.io-index" 508 + checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" 509 + dependencies = [ 510 + "proc-macro2", 511 + "quote", 512 + "syn", 513 + ] 514 + 515 + [[package]] 429 516 name = "toml" 430 - version = "0.9.2" 517 + version = "0.9.5" 431 518 source = "registry+https://github.com/rust-lang/crates.io-index" 432 - checksum = "ed0aee96c12fa71097902e0bb061a5e1ebd766a6636bb605ba401c45c1650eac" 519 + checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" 433 520 dependencies = [ 434 521 "serde", 435 522 "serde_spanned", ··· 449 536 450 537 [[package]] 451 538 name = "toml_parser" 452 - version = "1.0.1" 539 + version = "1.0.2" 453 540 source = "registry+https://github.com/rust-lang/crates.io-index" 454 - checksum = "97200572db069e74c512a14117b296ba0a80a30123fbbb5aa1f4a348f639ca30" 541 + checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" 455 542 dependencies = [ 456 543 "winnow", 457 544 ] ··· 491 578 492 579 [[package]] 493 580 name = "wasm-bindgen" 494 - version = "0.2.100" 581 + version = "0.2.101" 495 582 source = "registry+https://github.com/rust-lang/crates.io-index" 496 - checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" 583 + checksum = "7e14915cadd45b529bb8d1f343c4ed0ac1de926144b746e2710f9cd05df6603b" 497 584 dependencies = [ 498 585 "cfg-if", 499 586 "once_cell", 500 587 "rustversion", 501 588 "wasm-bindgen-macro", 589 + "wasm-bindgen-shared", 502 590 ] 503 591 504 592 [[package]] 505 593 name = "wasm-bindgen-backend" 506 - version = "0.2.100" 594 + version = "0.2.101" 507 595 source = "registry+https://github.com/rust-lang/crates.io-index" 508 - checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" 596 + checksum = "e28d1ba982ca7923fd01448d5c30c6864d0a14109560296a162f80f305fb93bb" 509 597 dependencies = [ 510 598 "bumpalo", 511 599 "log", ··· 517 605 518 606 [[package]] 519 607 name = "wasm-bindgen-macro" 520 - version = "0.2.100" 608 + version = "0.2.101" 521 609 source = "registry+https://github.com/rust-lang/crates.io-index" 522 - checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" 610 + checksum = "7c3d463ae3eff775b0c45df9da45d68837702ac35af998361e2c84e7c5ec1b0d" 523 611 dependencies = [ 524 612 "quote", 525 613 "wasm-bindgen-macro-support", ··· 527 615 528 616 [[package]] 529 617 name = "wasm-bindgen-macro-support" 530 - version = "0.2.100" 618 + version = "0.2.101" 531 619 source = "registry+https://github.com/rust-lang/crates.io-index" 532 - checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" 620 + checksum = "7bb4ce89b08211f923caf51d527662b75bdc9c9c7aab40f86dcb9fb85ac552aa" 533 621 dependencies = [ 534 622 "proc-macro2", 535 623 "quote", ··· 540 628 541 629 [[package]] 542 630 name = "wasm-bindgen-shared" 543 - version = "0.2.100" 631 + version = "0.2.101" 544 632 source = "registry+https://github.com/rust-lang/crates.io-index" 545 - checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" 633 + checksum = "f143854a3b13752c6950862c906306adb27c7e839f7414cec8fea35beab624c1" 546 634 dependencies = [ 547 635 "unicode-ident", 548 636 ] ··· 561 649 dependencies = [ 562 650 "windows-implement", 563 651 "windows-interface", 564 - "windows-link", 652 + "windows-link 0.1.3", 565 653 "windows-result", 566 654 "windows-strings", 567 655 ] ··· 595 683 checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" 596 684 597 685 [[package]] 686 + name = "windows-link" 687 + version = "0.2.0" 688 + source = "registry+https://github.com/rust-lang/crates.io-index" 689 + checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" 690 + 691 + [[package]] 598 692 name = "windows-result" 599 693 version = "0.3.4" 600 694 source = "registry+https://github.com/rust-lang/crates.io-index" 601 695 checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" 602 696 dependencies = [ 603 - "windows-link", 697 + "windows-link 0.1.3", 604 698 ] 605 699 606 700 [[package]] ··· 609 703 source = "registry+https://github.com/rust-lang/crates.io-index" 610 704 checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" 611 705 dependencies = [ 612 - "windows-link", 706 + "windows-link 0.1.3", 613 707 ] 614 708 615 709 [[package]] ··· 622 716 ] 623 717 624 718 [[package]] 719 + name = "windows-sys" 720 + version = "0.61.0" 721 + source = "registry+https://github.com/rust-lang/crates.io-index" 722 + checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa" 723 + dependencies = [ 724 + "windows-link 0.2.0", 725 + ] 726 + 727 + [[package]] 625 728 name = "windows-targets" 626 729 version = "0.52.6" 627 730 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 687 790 688 791 [[package]] 689 792 name = "winnow" 690 - version = "0.7.12" 793 + version = "0.7.13" 691 794 source = "registry+https://github.com/rust-lang/crates.io-index" 692 - checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" 795 + checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf"
+22 -3
Cargo.toml
··· 1 1 [workspace] 2 2 resolver = "3" 3 - members = [ 4 - "apps/fennec-tricks" 5 - ] 3 + members = ["apps/fire-tricks", "apps/libmarshm"] 4 + 5 + 6 + [workspace.dependencies] 7 + regashii = { version = "0.4.0", default-features = false } 8 + toml = { version = "0.9.2", default-features = false, features = [ 9 + "parse", 10 + "serde", 11 + ] } 12 + serde = { version = "1.0.219", default-features = false, features = ["derive"] } 13 + clap = { version = "4.5.42", default-features = false, features = [ 14 + "derive", 15 + "std", 16 + "help", 17 + ] } 18 + minreq = { version = "2.14.0", default-features = false, features = [ 19 + "urlencoding", 20 + "https", 21 + ] } 22 + chrono = { version = "0.4.41", default-features = false, features = ["clock"] } 23 + dirs = "6.0.0" 24 + libmarshm.path = "apps/libmarshm"
-22
apps/fennec-tricks/Cargo.toml
··· 1 - [package] 2 - name = "fennec-tricks" 3 - version = "0.1.0" 4 - edition = "2024" 5 - 6 - [dependencies] 7 - regashii = { version = "0.4.0", default-features = false } 8 - toml = { version = "0.9.2", default-features = false, features = [ 9 - "parse", 10 - "serde", 11 - ] } 12 - serde = { version = "1.0.219", default-features = false, features = ["derive"] } 13 - clap = { version = "4.5.42", default-features = false, features = [ 14 - "derive", 15 - "std", 16 - "help", 17 - ] } 18 - minreq = { version = "2.14.0", default-features = false, features = [ 19 - "urlencoding", 20 - "https", 21 - ] } 22 - chrono = "0.4.41"
apps/fennec-tricks/src/cli_args.rs apps/fire-tricks/src/cli_args.rs
apps/fennec-tricks/src/dll.rs apps/fire-tricks/src/dll.rs
+1
apps/fennec-tricks/src/main.rs apps/fire-tricks/src/main.rs
··· 1 1 use clap::Parser; 2 + // use libmarshm::manager::init; 2 3 3 4 use crate::{ 4 5 cli_args::{Args, Commands, DllType, SectionType},
apps/fennec-tricks/src/util/download.rs apps/fire-tricks/src/util/download.rs
apps/fennec-tricks/src/util/mod.rs apps/fire-tricks/src/util/mod.rs
apps/fennec-tricks/src/values/functionality.rs apps/fire-tricks/src/values/functionality.rs
apps/fennec-tricks/src/values/mod.rs apps/fire-tricks/src/values/mod.rs
apps/fennec-tricks/src/values/serialization.rs apps/fire-tricks/src/values/serialization.rs
apps/fennec-tricks/values.toml apps/fire-tricks/values.toml
+14
apps/fire-tricks/Cargo.toml
··· 1 + [package] 2 + name = "fire-tricks" 3 + version = "0.1.0" 4 + edition = "2024" 5 + 6 + [dependencies] 7 + regashii.workspace = true 8 + toml.workspace = true 9 + serde.workspace = true 10 + clap.workspace = true 11 + minreq.workspace = true 12 + dirs.workspace = true 13 + chrono.workspace = true 14 + libmarshm.workspace = true
+7
apps/libmarshm/Cargo.toml
··· 1 + [package] 2 + name = "libmarshm" 3 + version = "0.1.0" 4 + edition = "2024" 5 + 6 + [dependencies] 7 + dirs.workspace = true
+3
apps/libmarshm/src/config.rs
··· 1 + pub struct CampfireConfig { 2 + 3 + }
+13
apps/libmarshm/src/lib.rs
··· 1 + pub mod config; 2 + pub mod manager; 3 + pub mod structure; 4 + 5 + #[cfg(test)] 6 + mod tests { 7 + use crate::manager::init; 8 + 9 + #[test] 10 + fn init_test() { 11 + init(); 12 + } 13 + }
+44
apps/libmarshm/src/manager.rs
··· 1 + use std::{ 2 + fs::create_dir_all, 3 + path::PathBuf, 4 + process::{Command, Stdio}, 5 + sync::LazyLock, 6 + }; 7 + 8 + use crate::structure::Marshmallow; 9 + 10 + pub static MARSHMALLOW_PATH: LazyLock<PathBuf> = 11 + LazyLock::new(|| dirs::data_dir().unwrap().join("campire/marshmallows")); 12 + 13 + pub fn init() { 14 + create_paths(&MARSHMALLOW_PATH); 15 + roast(Marshmallow::new("TestMarsh")); 16 + } 17 + 18 + pub fn roast(marshmallow: Marshmallow) { 19 + create_prefix(marshmallow.path, marshmallow.arch); 20 + } 21 + 22 + pub fn create_prefix(path: PathBuf, arch: u32) { 23 + match Command::new("sh") 24 + .arg("-c") 25 + .arg("wineboot -i") 26 + .env("WINEPREFIX", path.to_str().unwrap()) 27 + .env("WINEARCH", format!("win{arch}")) 28 + .stdout(Stdio::inherit()) 29 + .stderr(Stdio::inherit()) 30 + .output() 31 + { 32 + Ok(_) => {} 33 + Err(err) => eprintln!("Failed to create prefix: {err}"), 34 + }; 35 + } 36 + 37 + fn create_paths(root_dir: &PathBuf) { 38 + if !root_dir.exists() { 39 + match create_dir_all(root_dir) { 40 + Ok(_) => {} 41 + Err(err) => eprintln!("Failed to create root directory: {err}"), 42 + }; 43 + } 44 + }
+21
apps/libmarshm/src/structure.rs
··· 1 + use std::path::PathBuf; 2 + 3 + use crate::manager; 4 + 5 + pub struct Marshmallow { 6 + pub id: u32, 7 + pub name: String, 8 + pub arch: u32, 9 + pub path: PathBuf, 10 + } 11 + 12 + impl Marshmallow { 13 + pub fn new(name: &str) -> Self { 14 + Marshmallow { 15 + id: 1, 16 + name: name.to_string(), 17 + arch: 64, 18 + path: manager::MARSHMALLOW_PATH.join(name), 19 + } 20 + } 21 + }
+1 -1
flake.nix
··· 23 23 pkgs.mkShell { 24 24 packages = with pkgs; [ 25 25 gcc 26 - wineWow64Packages.full 26 + wineWow64Packages.stagingFull 27 27 openssl 28 28 pkg-config 29 29 ];