https://github.com/interkosmos/fortran-xmpp
Fortran 2018 interface bindings to the XMPP client library libstrophe
https://github.com/interkosmos/fortran-xmpp
fortran fortran-2018 fortran-package-manager jabber libstrophe xmpp
Last synced: about 2 months ago
JSON representation
Fortran 2018 interface bindings to the XMPP client library libstrophe
- Host: GitHub
- URL: https://github.com/interkosmos/fortran-xmpp
- Owner: interkosmos
- License: isc
- Created: 2024-10-05T20:16:08.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2025-03-19T13:22:37.000Z (about 2 months ago)
- Last Synced: 2025-03-19T14:27:40.585Z (about 2 months ago)
- Topics: fortran, fortran-2018, fortran-package-manager, jabber, libstrophe, xmpp
- Language: Fortran
- Homepage:
- Size: 37.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# fortran-xmpp
[](https://github.com/interkosmos/fortran-xmpp/actions/workflows/build.yml)
A collection of Fortran 2018 interface bindings to the lightweight XMPP client
library [libstrophe](http://strophe.im/libstrophe/).## Dependencies
The package _libstrophe_ has to be installed with development headers. On
FreeBSD, run:```
# pkg install net-im/libstrophe
```On Linux, instead:
```
# apt-get install libstrophe0 libstrophe-dev
```## Build Instructions
Build and install the Fortran library using the provided Makefile:
```
$ make
$ make install PREFIX=/opt
```Or, use the [Fortran Package Manager](https://github.com/fortran-lang/fpm):
```
$ fpm build --profile release
```Link your Fortran programs against `libfortran-xmpp.a` and
`pkg-config --libs libstrophe openssl expat zlib`.## Fortran Package Manager
You can add *fortran-xmpp* as an FPM dependency:
```toml
[dependencies]
fortran-xmpp = { git = "https://github.com/interkosmos/fortran-xmpp.git" }
```## Examples
Some example programs can be found in directory `examples/`:
* **basic** – connects to an XMPP server.
* **bot** – implements a simple bot.
* **roster** – prints contact list.
* **uuid** – outputs UUID.Build the examples by running:
```
$ make examples
```## Further Reading
* [libstrophe website](http://strophe.im/libstrophe/)
* [libstrophe GitHub repository](https://github.com/strophe/libstrophe)
* [libstrophe API](https://strophe.im/libstrophe/doc/0.13.0/topics.html)## Licence
ISC