This patch allows tuxpaint to load stamps from multiple sources, and allows Guix's packages to remain loosely coupled. --- tuxpaint-0.9.34/src/tuxpaint.c +++ tuxpaint-0.9.34/src/tuxpaint.c @@ -9426,12 +9426,22 @@ static void load_stamps(SDL_Surface *screen) { char *homedirdir = get_fname("stamps", DIR_DATA); + char *stamps_path = getenv("TUXPAINT_STAMPS_PATH"); default_stamp_size = compute_default_scale_factor(1.0); load_stamp_dir(screen, homedirdir); #ifndef __ANDROID__ load_stamp_dir(screen, DATA_PREFIX "stamps"); + /* Load any stamps in TUXPAINT_STAMPS_PATH */ + if (stamps_path) { + char *token; + token = strtok(stamps_path, ":"); + while (token != NULL) { + load_stamp_dir(screen, token); + token = strtok(NULL, ":"); + } + } #else load_stamp_dir(screen, "stamps/animals"); load_stamp_dir(screen, "stamps/cartoon/tux");