-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
54af0d7
commit e9a1994
Showing
3 changed files
with
99 additions
and
31 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# CONTRIBUTING | ||
|
||
## Unchangable folders | ||
|
||
Except the following folders, these unlisted folder should not be changed, in any circumstances, because these are originally created by GNU, and should be stored in there as the rest-overs. | ||
|
||
* `.admin` - Admin folder, for further changing in the repo | ||
* `.github` - Containing GitHub related files and actions. | ||
* `.gnu-windows` - Including sources and build instruction. May can change to compatible with the installation | ||
* `.gitattributes`, `.gitignore`, `*.md`, `dockerfile`, and `LICENSE` are all generated by GitHub Actions workflows or manually written. | ||
|
||
## Changes in repo layout and updating versions and tools | ||
|
||
For in repo layout and updating versions and tools, please run `.admin/run_admin.sh` with changes variables. | ||
|
||
Once it's done, make sure you move all extracted folders into the main repo, remove all compressed files and also update versioning, paths, and build instruction in `.gnu-windows/build.sh` | ||
|
||
## Building the repo | ||
|
||
> :warning: Warning | ||
> | ||
> Because an unknown error detected in Windows Subsystem for Linux, we recommend you building the repo in Linux, or using Docker Desktop within Hyper-V. | ||
### Building within Docker | ||
|
||
You need to run the pre-defined Docker image, mounting your cloned GitHub repo into, and build from that. | ||
|
||
Replace `<your path>` with your real path to the local repo. Double-quote is needed is there are spaces in your path. | ||
|
||
```shell | ||
docker run -it -v <your path>:/root shiroinekotfs/gnu-windows:latest bash | ||
``` | ||
|
||
Once you're in the `bash`, try this command: | ||
|
||
```shell | ||
/root/.gnu-windows/build.sh | ||
``` | ||
|
||
Once it's done, you'll see your GNU application is building in folder `.gnu-windows\bootstrap` | ||
|
||
### Building within Linux | ||
|
||
Make sure you've installed all of these packages before building GNU Windows | ||
|
||
```bash | ||
autotools-dev binutils binutils-x86-64-linux-gnu cmake-data cpp cpp-12 fakeroot | ||
fontconfig-config fonts-dejavu-core g++-12 gcc-12 libalgorithm-diff-perl libalgorithm-diff-xs-perl | ||
libalgorithm-merge-perl libaom3 libarchive13 libasan8 libatomic1 libbinutils libbrotli1 libc-dev-bin | ||
libc-devtools libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libcurl4 libde265-0 libdeflate0 | ||
libdpkg-perl libexpat1 libfakeroot libfile-fcntllock-perl libfl2 libfontconfig1 libfreetype6 | ||
libgcc-12-dev libgd3 libgmpxx4ldbl libgomp1 libheif1 libitm1 libjbig0 libjsoncpp25 liblsan0 | ||
libnghttp2-14 libnsl-dev libnsl2 libnuma1 libpng16-16 libpsl5 libquadmath0 librhash0 librtmp1 | ||
libssh2-1 libstdc++-12-dev libtirpc-dev libtsan2 libubsan1 libuv1 libwebp7 libx11-6 libx11-data | ||
libx265-199 libxau6 libxcb1 libxdmcp6 libxml2 libxpm4 libyuv0 linux-libc-dev manpages-dev patch | ||
publicsuffix rpcsvc-proto unzip autoconf automake bison build-essential cmake curl dpkg-dev flex | ||
g++ gcc libfl-dev libgmp-dev libmpc-dev libmpfr-dev m4 make wget zip texinfo pkg-config python3 | ||
python3-pip python3-venv file mingw-w64-x86-64-dev mingw-w64-i686-dev mingw-w64-tools | ||
``` | ||
|
||
Just run the `<your path>/.gnu-windows/build.sh` directly, without changing the current console directory. Don't forget to use `chmod` command. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters