Add more environment variables, update README to say how to build gumbo-libxml

Signed-off-by: Skylar "The Cobra" Widulski <cobra@vern.cc>
This commit is contained in:
Skylar "The Cobra" Widulski 2023-12-10 10:53:07 -05:00
parent d22d6009f0
commit b3aa6b5519
Signed by: cobra
GPG Key ID: 4FD8F812083FF6F9
2 changed files with 32 additions and 8 deletions

View File

@ -8,14 +8,29 @@ Join our [Matrix room](https://mto.vern.cc/#/#cobra-frontends:vern.cc) for suppo
# Run your own instance
## Dependencies
This program is written in Guile Scheme. As such, you need `guile` and `guile-gnutls` installed.
This program is written in Guile Scheme. As such, you need `guile` and `guile-gnutls` installed. You will also need libraries like `libxml2` and `libgumbo`, and utilities like `gcc`, `autoconf`, and `make` to build `gumbo-libxml`
## Running
1. Clone the repository
2. Complete the build instructions in the `gumbo-libxml` submodule
3. Run `guile -L . meme.scm`
4. Connect to http://localhost:8003 (or point your reverse proxy to it)
5. Profit
1. Clone the repository using `git clone --recurse-submodules http://git.vern.cc/cobra/MeMe`
2. `cd` into `gumbo-libxml`
3. Run the following
```bash
$ ./autogen.sh
$ ./configure
$ make
```
4. Run `guile -L . meme.scm`
5. Connect to http://localhost:8003 (or point your reverse proxy to it)
6. Profit
# Environment
All of these are optional.
`PORT` - What port to run on (default `8003`).
`LIBXML2_LOCATION` - Path to `libxml2.so` (default `libxml2`, which checks `LD_LIBRARY_PATH`).
`GUMBO_LIBXML_LOCATION` - Path to `libgumbo_xml.so` (default `./gumbo-libxml/.libs/libgumbo_xml.so`, can be edited to `libgumbo_xml`, which does the same thing as `libxml2` in `LIBXML2_LOCATION`)
# Todo
* Video list page

View File

@ -47,8 +47,17 @@
get-xpath-nodeset
get-xpath-node))
(define libxml2 (dynamic-link "libxml2"))
(define gumbo-libxml (dynamic-link "./gumbo-libxml/.libs/libgumbo_xml.so"))
(define libxml2
(dynamic-link
(if (getenv "LIBXML2_LOCATION")
(getenv "LIBXML2_LOCATION")
"libxml2")))
(define gumbo-libxml
(dynamic-link
(if (getenv "GUMBO_LIBXML_LOCATION")
(getenv "GUMBO_LIBXML_LOCATION")
"./gumbo-libxml/.libs/libgumbo_xml.so")))
(define xml-xpath-object
(list int ; xmlXPathObjectType type