@@ -60,6 +60,12 @@ You can submit a bug report in 2 ways
6060- \[ public\] Submit a new [ GitHub Issue] ( https://github.com/JacobDev1/xl-converter/issues )
6161- \[ private\] Email me at contact@codepoems.eu
6262
63+ ## Contributions
64+
65+ Pull requests are ignored to avoid licensing issues when reusing the code.
66+
67+ Feel free to make bug reports as contributions.
68+
6369## Building from Source
6470
6571### Windows 10
@@ -75,6 +81,8 @@ git clone -b stable --depth 1 https://github.com/JacobDev1/xl-converter.git
7581cd xl-converter
7682```
7783
84+ [ Provide tool binaries] ( #providing-tool-binaries ) .
85+
7886Setup ` venv ` .
7987
8088``` cmd
@@ -115,6 +123,8 @@ chmod -R +x xl-converter
115123cd xl-converter
116124```
117125
126+ [ Provide tool binaries] ( #providing-tool-binaries ) .
127+
118128Create and activate a virtual environment.
119129
120130``` bash
@@ -144,51 +154,88 @@ Extra building modes:
144154- ` make build-7z ` - package to a 7z file (with an installer) (requires ` p7zip-full ` )
145155- ` make build-appimage ` - package as an AppImage (requires ` fuse ` )
146156
147- ### Troubleshooting Build Issues
157+ ### Providing Tool Binaries
148158
149- #### Building on Linux
159+ To build XL Converter, you need to provide various binaries. This can be quite challenging.
150160
151- The build may not be generated successfully, because ` PyInstaller ` sometimes clashes with virtual environments on Linux.
161+ Binaries needed:
162+ - [ libjxl] ( https://github.com/libjxl/libjxl ) 0.10.2
163+ - cjxl
164+ - djxl
165+ - jxlinfo
166+ - cjpegli
167+ - [ libavif] ( https://github.com/AOMediaCodec/libavif ) 1.0.3 (** AVIF_CODEC_AOM** )
168+ - avifenc
169+ - avifdec
170+ - [ imagemagick] ( https://imagemagick.org/ ) 7.1.1-15 Q16-HDRI
171+ - magick - AppImage for Linux
172+ - magick.exe - Windows
173+ - [ exiftool] ( https://exiftool.org/ ) 12.77
174+ - exiftool.exe - Windows
175+ - exiftool - standalone Perl build
176+ - [ oxipng] ( https://github.com/shssoichiro/oxipng ) 0.8.0
152177
153- If the executable doesn't launch do the following.
178+ Place them in the following directories:
179+ - ` xl-converter\bin\win ` for Windows (x86_64)
180+ - ` xl-converter/bin/linux ` for Linux (x86_64)
154181
155- Deactivate the virtual environment .
182+ All binaries are built statically. The version numbers should match. Binaries on Windows have an ` .exe ` extension .
156183
157- ``` bash
158- deactivate
159- ```
184+ See the official [ XL Converter builds] ( https://github.com/JacobDev1/xl-converter/releases ) for examples.
160185
161- Install packages globally.
162- ``` bash
163- pip install -r requirements.txt
164- ```
186+ ## Info
187+
188+ ### Python Version
189+
190+ The project runs on Python ` 3.11.6 ` . It should also work on a slightly older version. ` 3.12 ` and newer are not supported.
191+
192+ ### Large Files
193+
194+ Don't forget ` --depth 1 ` when running ` git clone ` . This repo contains large files.
195+
196+ ### Development Branch
165197
166- Try again.
198+ The dev branch can be accessed with
167199
168200``` bash
169- make build
201+ git clone -b unstable --depth 1 https://github.com/JacobDev1/xl-converter.git
170202```
171203
172- #### Python Version on Linux
204+ ## Unit Testing
173205
174- The project runs on Python ` 3.11.6 ` . The one in your repo should work, but If it doesn't use ` pyenv ` to get this one specifically.
206+ Unit tests are currently being reworked.
175207
176- #### Large Files
208+ ### Running
177209
178- Don't forget ` --depth 1 ` when running ` git clone ` . This repo contains large files .
210+ [ Setup repo ] ( #building-from-source ) .
179211
180- ## Development Build
212+ Create a test environment.
181213
182- To access the development build, clone this branch
214+ ``` bash
215+ python3 -m venv env_test
216+ source env/bin/activate
217+ pip install -r requirements.txt
218+ pip install -r requirements_test.txt
219+ ```
220+
221+ Run tests (Linux)
183222
184223``` bash
185- git clone --depth 1 -b unstable https://github.com/JacobDev1/xl-converter.git
224+ make test
186225```
187226
188- Then follow the [ building section ] ( #building-from-source )
227+ Run tests (Windows )
189228
190- ## Contributions
229+ ``` cmd
230+ python test.py
231+ ```
191232
192- Pull requests are ignored to avoid potential legal complications when reusing the code.
233+ ### Deprecated
193234
194- Forward your code and feature suggestions to my email at contact@codepoems.eu
235+ ` tests_old.py ` is a deprecated, but still accessible test suite.
236+
237+ To run them, put any image with a varying aspect ratio inside a ` sample_img ` folder in the project's directory.
238+
239+ ``` bash
240+ python tests_old.py
241+ ```
0 commit comments