https://github.com/devnev/libxdg-basedir
An implementation of the XDG Base Directory specifications
https://github.com/devnev/libxdg-basedir
hacktoberfest xdg xdg-basedir
Last synced: 3 months ago
JSON representation
An implementation of the XDG Base Directory specifications
- Host: GitHub
- URL: https://github.com/devnev/libxdg-basedir
- Owner: devnev
- License: mit
- Created: 2011-11-11T10:19:56.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2021-04-20T10:03:36.000Z (almost 4 years ago)
- Last Synced: 2024-10-29T22:33:29.316Z (4 months ago)
- Topics: hacktoberfest, xdg, xdg-basedir
- Language: C
- Homepage:
- Size: 120 KB
- Stars: 32
- Watchers: 3
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# libxdg-basedir
This is my fork of **libxdg-basedir**, by Mark Nevill. The original appears to be unmaintained.
I have fixed an obvious bug and performed minor cleanup up the code. More importantly, I
intend to issue new releases when fixes are made. I cannot attest as to the quality but
will accept pull requests containing bug fixes.## The XDG Base Directory specification
**libxdg-basedir** is "An implementation of the XDG Base Directory specifications".
[These specifications](https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html)
set a standard for where applications should find/store preferences, cache files, and other
run-time files/data, mostly based on the values of certain environment variables.I'm not a huge fan of the specifications: the arbitrary requirement that timestamps on files be
updated periodically to avoid cleanup places an unnecessary burden on applications, and the
workaround of setting the sticky bit is an abuse of a defunct feature. However, having a way of
specifying where certain kinds of files should be placed is useful, and applications do make
use of the specification (and this library).## Library documentation
There appears to be doxygen-based comments, but I have not attempted to build documentation.
## Building
The library uses autotools so can usually be built and installed via an invocation similar to:
./configure --prefix=/usr
make
make installYou can install to an alternate root location (for creation of packages etc) using
`make DESTDIR=/some/directory install`. Use `./configure --help` for available configuration
options.