summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/tuxpaint-stamps-path.patch
blob: 65ab826ae434d66ed002e49edbdcdba65a8ac717 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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");