cosarara / fucking-weeb

A library manager for anime and series
GNU General Public License v3.0
42 stars 3 forks source link

Fucking weeb

A library manager for animu (and TV shows, and whatever).

Why

I have my series split over different hard drives, in nested directories with names like "[Underwater] Something Something [Batch]". That makes it hard to browse.

I then also have to remember what's the last episode I watched. And if I'm watching that series with different audio/subtitle settings than the default, change those.

Wouldn't it be cool if I could save all this information in an easy to navigate library thingy? That's what this is.

Screenshot

Now go watch the video.

Extra Features

Installing

Oh yeah before you ask, I've only run this on linux. Have fun on other OSes.

Arch

If you run arch, you are in luck, because so do I. Have a PKGBUILD! (not it's also in the arch/ directory in this same repo, so you can just get that).

Other *nix

Fucking weeb is written in CHICKEN scheme, and uses Gtk+ 3 as well as a bunch of dependencies (eggs).

The building dependencies are:

Plus the following chicken eggs:

Quick instructions

Install gtk3 and chicken from your distro's repositories, then run:

$ make deps-and-all
$ sudo make install

Fucking Weeb will be installed in /opt/weeb with a symlink in /usr/bin. You can uninstall chicken too, if you want.

The first time you run it, it will complain about having no database file and create one for you (in your $XDG_HOME).

Long instructions

You can either bundle everything into one package (like we did in the quick instructions), so that the only dependency is gtk3, or make a normal development build, which will link to the files inside your $CHICKEN_REPOSITORY.

If you are going to be doing more than one build, the deps-and-all target is very inefficient (since it downloads the dependencies to a temporary directory every time).

Read the makefile to see how it works.

I keep my chicken eggs in ~/.local/lib/chicken/8. Read this for the original instructions.

bind tries to install a binary in /usr/bin even with the $CHICKEN_REPOSITORY env var, and that's why need to use -p unless we want to run chicken-install as root.

You could also install everything as root in /usr/ (that's the default if you don't set a $CHICKEN_REPOSITORY).

Anyway, once you have the dependencies installed with chicken-install, and in either CHICKEN_REPOSITORY or the global path, you can run either make or make deployable and either will work. The former will give you a weeb binary in the current directory which you can move around but links to your installed eggs, while the second will create a weeb directory with a package you can move around to any system that has a compatible libc and gtk3 installed.

TO-DOs/known bugs