├── .gitmodules ├── README.md └── TkgThingy /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "community-patches"] 2 | path = community-patches 3 | url = https://github.com/Frogging-Family/community-patches.git 4 | branch = master 5 | [submodule "mesa-git"] 6 | path = mesa-git 7 | url = https://github.com/Frogging-Family/mesa-git.git 8 | branch = master 9 | [submodule "llvm-git"] 10 | path = llvm-git 11 | url = https://github.com/Frogging-Family/llvm-git.git 12 | branch = master 13 | [submodule "dxvk-tools"] 14 | path = dxvk-tools 15 | url = https://github.com/Frogging-Family/dxvk-tools.git 16 | branch = master 17 | [submodule "spirv-tools-git"] 18 | path = spirv-tools-git 19 | url = https://github.com/Frogging-Family/spirv-tools-git.git 20 | branch = master 21 | [submodule "vulkan-icd-loader-git"] 22 | path = vulkan-icd-loader-git 23 | url = https://github.com/Frogging-Family/vulkan-icd-loader-git.git 24 | branch = master 25 | [submodule "vulkan-headers-git"] 26 | path = vulkan-headers-git 27 | url = https://github.com/Frogging-Family/vulkan-headers-git.git 28 | branch = master 29 | [submodule "vkd3d-git"] 30 | path = vkd3d-git 31 | url = https://github.com/Frogging-Family/vkd3d-git.git 32 | branch = master 33 | [submodule "gamescope-git"] 34 | path = gamescope-git 35 | url = https://github.com/Frogging-Family/gamescope-git.git 36 | branch = master 37 | [submodule "nvidia-all"] 38 | path = nvidia-all 39 | url = https://github.com/Frogging-Family/nvidia-all.git 40 | branch = master 41 | [submodule "mostlyportable-gcc"] 42 | path = mostlyportable-gcc 43 | url = https://github.com/Frogging-Family/mostlyportable-gcc.git 44 | branch = master 45 | [submodule "linux-tkg"] 46 | path = linux-tkg 47 | url = https://github.com/Frogging-Family/linux-tkg.git 48 | branch = master 49 | [submodule "faudio-git"] 50 | path = faudio-git 51 | url = https://github.com/Frogging-Family/faudio-git.git 52 | branch = master 53 | [submodule "amdgpu-pro-vulkan-only"] 54 | path = amdgpu-pro-vulkan-only 55 | url = https://github.com/Frogging-Family/amdgpu-pro-vulkan-only.git 56 | branch = master 57 | [submodule "wine-tkg-git"] 58 | path = wine-tkg-git 59 | url = https://github.com/Frogging-Family/wine-tkg-git.git 60 | branch = master 61 | [submodule "gst-libav"] 62 | path = gst-libav 63 | url = https://github.com/Frogging-Family/gst-libav.git 64 | branch = master 65 | [submodule "amdvlk-opt"] 66 | path = amdvlk-opt 67 | url = https://github.com/Frogging-Family/amdvlk-opt.git 68 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PKGBUILDS and other scripts made for random people & frogs 2 | 3 |
4 |
5 |
8 | Banner made with 🐸 by Kassin Dornelles - Uses frog emojis (License)
9 | 10 | 11 | ## How-to use this mess : 12 | 13 | ### While some of the scripts might work fine on any distro, the PKGBUILDs will only work on distros with access to pacman and makepkg. 14 | **If you need to access pacman and makepkg outside of Arch-linux and distros based on it (like Antergos or Manjaro), you can "hijack" your current distro with Bedrock Linux at your own risk: https://bedrocklinux.org** 15 | 16 | * Clone the whole thing (that enables you to use `git submodule update --remote` to get updates) : 17 | ``` 18 | git clone --recurse-submodules https://github.com/Tk-Glitch/PKGBUILDS.git 19 | ``` 20 | 21 | * You can also choose to clone only the repos you need. All submodules can be found here: https://github.com/Frogging-Family 22 | 23 | * Build packages : 24 | 25 | From the directory of the package you want to build (where the PKGBUILD is located), run 26 | ``` 27 | makepkg -si 28 | ``` 29 | That will grab the required dependencies, build, then install the newly created package(s). 30 | 31 | 32 | * For bash scripts, just run them from their respective directory - You might find additional details in the readme dedicated to the tool you want to build. 33 | 34 | * For your convenience, a script is available in the root of PKGBUILDS to pull updates and create external configuration files easily: `./TkgThingy` 35 | 36 | 37 | ## Why aren't the PKGBUILDs on AUR ?! : 38 | 39 | While some are already available there without userpatches or lib32 support, the most interesting ones aren't (namely linux kernels, nvidia-all and wine-tkg-git) because of the way they are working. You're prompted for options or even config file editing to get the package customized the way you want it to be. For nvidia-all, there's no way around it so I'd consider that non-AUR compliant by default. For linux kernels and wine-tkg-git, I could indeed provide a fixed preset and remove all prompts. That would work. But then, are these still as interesting without customization? I strongly believe they aren't. 40 | 41 | 42 | ### Daily builds (pacman packages) for most packages are available at Chaotic-AUR (https://wiki.archlinux.org/index.php/Unofficial_user_repositories#chaotic-aur): 43 | - Always up to date instructions on how to add Chaotic-AUR as repo can be found at [https://aur.chaotic.cx](https://aur.chaotic.cx) - Thanks Pedro ! 44 | 45 | 46 | **Wanna talk about it? Need help? Feel free to join the Frogging Family discord server : https://discord.gg/jRy3Nxk** 47 | 48 | **If you like my work, consider visiting my patreon page : https://www.patreon.com/tkglitch** 49 | 50 | ## Thanks to Fox2Code, Filippo, Moocow9m, Camden, Cyberdeath, Tellus, Jamie, Orwennes , Dr. Bright, Ryan, openglfreak, Thomas, liq, Amy, William, Sigge, Varris, nvaert1986, Eduard, Justin, Oscar, frankbaier, Jon, Sasamus, darkmaster879, redgloboli, flightlessmango, IroAlexis, gardotd426, Gabe E, Vitalwonhyo, Glorious Eggroll, Hans-Kristian, Anisan, Jonny Teronni, Zs. Cs. Sz., JudgeVanadium, Lutris, Oli, Fábio, Bill, Kristoffer, Typhoon, Ole Erik, Stephan, contributors, and all anonymous Patrons, supporters and curious minds! You're giving driving energy and purpose to my work. Much frog love to all of you guys <3 51 | 52 | 53 | **You can also donate to me via https://www.paypal.me/TkGlitch** 54 | -------------------------------------------------------------------------------- /TkgThingy: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ## This script can create external configuration files for all -tkg packages and tools supporting the feature. 4 | 5 | # Path to create the external config files in - Default is ~/.config/frogminer 6 | _EXT_CONFIG_PATH=~/.config/frogminer 7 | 8 | _cfg_loop() { 9 | if [ -e "$_config_file_path"/"$_config_file_basename" ] && [ ! -e "$_EXT_CONFIG_PATH"/"$_config_file_targname" ]; then 10 | cp -v "$_config_file_path"/"$_config_file_basename" "$_EXT_CONFIG_PATH"/"$_config_file_targname" 11 | else 12 | echo "$_EXT_CONFIG_PATH/$_config_file_targname already exists. Skipping..." 13 | fi 14 | } 15 | 16 | _external_cfg() { 17 | # dxvk-tools 18 | if [ "$dxvk_tools" == "true" ]; then 19 | _config_file_path=dxvk-tools 20 | _config_file_basename=updxvk.cfg 21 | _config_file_targname=updxvk.cfg 22 | unset dxvk_tools 23 | _cfg_loop 24 | fi 25 | 26 | # gamescope 27 | if [ "$gamescope" == "true" ]; then 28 | _config_file_path=gamescope-git 29 | _config_file_basename=customization.cfg 30 | _config_file_targname=gamescope-git.cfg 31 | unset gamescope 32 | _cfg_loop 33 | fi 34 | 35 | # linux-tkg 36 | if [ "$linux_tkg" == "true" ]; then 37 | _config_file_path=linux-tkg 38 | _config_file_basename=customization.cfg 39 | _config_file_targname=linux-tkg.cfg 40 | unset linux_tkg 41 | _cfg_loop 42 | fi 43 | 44 | # mesa-git 45 | if [ "$mesa_git" == "true" ]; then 46 | _config_file_path=mesa-git 47 | _config_file_basename=customization.cfg 48 | _config_file_targname=mesa-git.cfg 49 | unset mesa_git 50 | _cfg_loop 51 | fi 52 | 53 | # mostlyportable-gcc 54 | if [ "$mostlyportable_gcc" == "true" ]; then 55 | _config_file_path=mostlyportable-gcc 56 | _config_file_basename=mostlyportable-gcc.cfg 57 | _config_file_targname=mostlyportable-gcc.cfg 58 | unset mostlyportable_gcc 59 | _cfg_loop 60 | fi 61 | 62 | # mostlyportable-mingw 63 | if [ "$mostlyportable_mingw" == "true" ]; then 64 | _config_file_path=mostlyportable-gcc 65 | _config_file_basename=mostlyportable-mingw.cfg 66 | _config_file_targname=mostlyportable-mingw.cfg 67 | unset mostlyportable_mingw 68 | _cfg_loop 69 | fi 70 | 71 | # nvidia-all 72 | if [ "$nvidia_all" == "true" ]; then 73 | _config_file_path=nvidia-all 74 | _config_file_basename=customization.cfg 75 | _config_file_targname=nvidia-all.cfg 76 | unset nvidia_all 77 | _cfg_loop 78 | fi 79 | 80 | # vkd3d-git 81 | if [ "$vkd3d_git" == "true" ]; then 82 | _config_file_path=vkd3d-git 83 | _config_file_basename=customization.cfg 84 | _config_file_targname=vkd3d-git.cfg 85 | unset vkd3d_git 86 | _cfg_loop 87 | fi 88 | 89 | # proton-tkg 90 | if [ "$proton_tkg" == "true" ]; then 91 | _config_file_path=wine-tkg-git/proton-tkg/proton-tkg-profiles 92 | _config_file_basename=sample-external-config.cfg 93 | _config_file_targname=proton-tkg.cfg 94 | unset proton_tkg 95 | _cfg_loop 96 | fi 97 | 98 | # wine-tkg 99 | if [ "$wine_tkg" == "true" ]; then 100 | _config_file_path=wine-tkg-git/wine-tkg-git/wine-tkg-profiles 101 | _config_file_basename=sample-external-config.cfg 102 | _config_file_targname=wine-tkg.cfg 103 | unset wine_tkg 104 | _cfg_loop 105 | fi 106 | } 107 | 108 | _main_loop() { 109 | echo -e "What do you want to do?" 110 | read -rp "`echo $' > 1.Create missing external config files\n 2.Update submodules\n 3.Reset & update submodules (for conflict fixing - ! will wipe any change vs remote !)\n 4.Exit\nchoice[1-4?]: '`" _choice; 111 | if [ "$_choice" == "2" ]; then 112 | #git submodule update --remote 113 | for _tkg_tools in */; do 114 | if [ "$_tkg_tools" != ".git" ]; then 115 | ( cd "$_tkg_tools" && git config pull.rebase false && git checkout master && git pull origin master ) 116 | fi 117 | done 118 | elif [ "$_choice" == "3" ]; then 119 | for _tkg_tools in */; do 120 | if [ "$_tkg_tools" != ".git" ]; then 121 | ( cd "$_tkg_tools" && git config pull.rebase false && git clean -d -f . && git reset --hard && git checkout master && git pull origin master ) 122 | fi 123 | done 124 | elif [ "$_choice" == "4" ]; then 125 | exit 0 126 | else 127 | mkdir -p "$_EXT_CONFIG_PATH" 128 | echo -e "\nPlease select which tool you want to create external config files for (or all of them with option #1) :" 129 | select tkg_tools in "all" "dxvk_tools" "gamescope" "linux_tkg" "mesa_git" "mostlyportable_gcc" "mostlyportable_mingw" "nvidia_all" "vkd3d_git" "proton_tkg" "wine_tkg" 130 | do 131 | case $tkg_tools in 132 | "all") 133 | dxvk_tools="true" 134 | gamescope="true" 135 | linux_tkg="true" 136 | mesa_git="true" 137 | mostlyportable_gcc="true" 138 | mostlyportable_mingw="true" 139 | nvidia_all="true" 140 | vkd3d_git="true" 141 | proton_tkg="true" 142 | wine_tkg="true" 143 | ;; 144 | "dxvk_tools") 145 | dxvk_tools="true" 146 | ;; 147 | "gamescope") 148 | gamescope="true" 149 | ;; 150 | "linux_tkg") 151 | linux_tkg="true" 152 | ;; 153 | "mesa_git") 154 | mesa_git="true" 155 | ;; 156 | "mostlyportable_gcc") 157 | mostlyportable_gcc="true" 158 | ;; 159 | "mostlyportable_mingw") 160 | mostlyportable_mingw="true" 161 | ;; 162 | "nvidia_all") 163 | nvidia_all="true" 164 | ;; 165 | "vkd3d_git") 166 | vkd3d_git="true" 167 | ;; 168 | "proton_tkg") 169 | proton_tkg="true" 170 | ;; 171 | "wine_tkg") 172 | wine_tkg="true" 173 | ;; 174 | *) 175 | esac 176 | break 177 | done 178 | echo "" 179 | _external_cfg 180 | echo "" 181 | fi 182 | _main_loop 183 | } 184 | 185 | cat << 'EOM' 186 | .---.` `.---. 187 | `/syhhhyso- -osyhhhys/` 188 | .syNMdhNNhss/``.---.``/sshNNhdMNys. 189 | +sdMh.`+MNsssssssssssssssNM+`.hMds+ 190 | :syNNdhNNhssssssssssssssshNNhdNNys: 191 | /ssyhhhysssssssssssssssssyhhhyss/ 192 | .ossssssssssssssssssssssssssssso. 193 | :sssssssssssssssssssssssssssssssss: TKG tools 194 | /sssssssssssssssssssssssssssssssssss/ Thingy 195 | :sssssssssssssoosssssssoosssssssssssss: 196 | osssssssssssssoosssssssoossssssssssssso 197 | osssssssssssyyyyhhhhhhhyyyyssssssssssso 198 | /yyyyyyhhdmmmmNNNNNNNNNNNmmmmdhhyyyyyy/ 199 | smmmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNmmms 200 | /dNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNd/ 201 | `:sdNNNNNNNNNNNNNNNNNNNNNNNNNds:` 202 | `-+shdNNNNNNNNNNNNNNNdhs+-` 203 | `.-:///////:-.` 204 | 205 | EOM 206 | 207 | echo -e "This script can create external configuration files for all -tkg packages and tools supporting the feature.\nAlready existing config files will NOT be overwritten, so you'll want to remove any you'd want regenerated.\n\nIt can also update submodules if needed.\n" 208 | 209 | echo -e "Current external config path is set to $_EXT_CONFIG_PATH \n" 210 | 211 | _main_loop 212 | --------------------------------------------------------------------------------