Ravenports generated: 15 Feb 2023 23:13
[ravenports.git] / bucket_47 / vimb
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               vimb
4 VERSION=                3.6.0
5 REVISION=               3
6 KEYWORDS=               www
7 VARIANTS=               standard
8 SDESC[standard]=        Vim-like browser
9 HOMEPAGE=               https://fanglingsu.github.io/vimb/
10 CONTACT=                nobody
11
12 DOWNLOAD_GROUPS=        main
13 SITES[main]=            GITHUB/fanglingsu:vimb:3.6.0
14 DISTFILE[1]=            generated:main
15 DF_INDEX=               1
16 SPKGS[standard]=        single
17
18 OPTIONS_AVAILABLE=      none
19 OPTIONS_STANDARD=       none
20
21 BUILD_DEPENDS=          glib:dev:standard
22                         harfbuzz:dev:standard
23                         libsoup-2.4:dev:standard
24 BUILDRUN_DEPENDS=       webkit2:complete:api40
25
26 USES=                   desktop-utils:single gmake pkgconfig zlib:build
27                         gettext
28 GNOME_COMPONENTS=       pango cairo gtk3
29
30 LICENSE=                GPLv3+:single
31 LICENSE_TERMS=          single:{{WRKDIR}}/TERMS
32 LICENSE_FILE=           GPLv3+:{{WRKSRC}}/LICENSE
33 LICENSE_AWK=            TERMS:"^\#include"
34 LICENSE_SOURCE=         TERMS:{{WRKSRC}}/src/main.c
35 LICENSE_SCHEME=         solo
36
37 FPC_EQUIVALENT=         www/vimb
38
39 MAKE_ENV=               V=1
40 SINGLE_JOB=             yes
41
42 CFLAGS=                 -D_BSD_SOURCE
43 VAR_OPSYS[sunos]=       LDFLAGS=-lsocket
44                         LDFLAGS=-lnsl
45
46 post-install:
47         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/vimb
48         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/vimb/webext_main.so
49
50 post-extract:
51         ${MKDIR} ${WRKSRC}/.git
52         ${TOUCH} ${WRKSRC}/.git/index
53
54 pre-configure-sunos:
55         ${REINPLACE_CMD} -e '/_XOPEN_SOURCE/ s/500/600/' ${WRKSRC}/config.mk
56
57 [FILE:411:descriptions/desc.single]
58 Vimb is a fast and lightweight vim like web browser based on the webkit
59 web browser engine and the GTK toolkit. Vimb is modal like the great vim
60 editor and also easily configurable during runtime. Vimb is mostly
61 keyboard driven and does not detract you from your daily work.
62
63 If your are familiar with vim or have some experience with pentadactyl the
64 use of vimb would be a breeze, if not we missed our target.
65
66
67 [FILE:107:distinfo]
68 a8db68df98841f07cbf9b2aa026e5105aab83f809da1d1663defff81250d921e       144750 fanglingsu-vimb-3.6.0.tar.gz
69
70
71 [FILE:90:manifests/plist.single]
72 bin/vimb
73 lib/vimb/webext_main.so
74 share/applications/vimb.desktop
75 share/man/man1/vimb.1.gz
76
77
78 [FILE:951:patches/patch-src_file-storage.c]
79 --- src/file-storage.c.orig     2020-01-02 22:17:49 UTC
80 +++ src/file-storage.c
81 @@ -23,6 +23,7 @@
82  #include <glib/gstdio.h>
83  
84  #include "file-storage.h"
85 +#include <fcntl.h>
86  
87  struct filestorage {
88      char        *file_path;
89 @@ -85,6 +86,11 @@ gboolean file_storage_append(FileStorage
90  {
91      FILE *f;
92      va_list args;
93 +    struct flock lock;
94 +
95 +    lock.l_whence = SEEK_SET;
96 +    lock.l_start = 0;
97 +    lock.l_len = 0;
98  
99      g_assert(storage);
100  
101 @@ -96,11 +102,13 @@ gboolean file_storage_append(FileStorage
102          return TRUE;
103      }
104      if ((f = fopen(storage->file_path, "a+"))) {
105 -        flock(fileno(f), LOCK_EX);
106 +        lock.l_type = F_WRLCK;
107 +        fcntl(fileno(f), F_SETLKW, &lock);
108          va_start(args, format);
109          vfprintf(f, format, args);
110          va_end(args);
111 -        flock(fileno(f), LOCK_UN);
112 +        lock.l_type = F_UNLCK;
113 +        fcntl(fileno(f), F_SETLK, &lock);
114          fclose(f);
115          return TRUE;
116      }
117
118
119 [FILE:809:patches/patch-src_history.c]
120 --- src/history.c.orig  2020-01-02 22:17:49 UTC
121 +++ src/history.c
122 @@ -259,8 +259,14 @@ static GList *load(FileStorage *s)
123  static void write_to_file(GList *list, const char *file)
124  {
125      FILE *f;
126 +    struct flock lock;
127 +
128 +    lock.l_whence = SEEK_SET;
129 +    lock.l_start = 0;
130 +    lock.l_len = 0;
131      if ((f = fopen(file, "w"))) {
132 -        flock(fileno(f), LOCK_EX);
133 +        lock.l_type = F_WRLCK;
134 +        fcntl(fileno(f), F_SETLKW, &lock);
135  
136          /* overwrite the history file with new unique history items */
137          for (GList *link = list; link; link = link->next) {
138 @@ -272,7 +278,8 @@ static void write_to_file(GList *list, c
139              }
140          }
141  
142 -        flock(fileno(f), LOCK_UN);
143 +        lock.l_type = F_UNLCK;
144 +        fcntl(fileno(f), F_SETLK, &lock);
145          fclose(f);
146      }
147  }
148
149
150 [FILE:1502:patches/patch-src_util.c]
151 --- src/util.c.orig     2020-01-02 22:17:49 UTC
152 +++ src/util.c
153 @@ -197,15 +197,22 @@ gboolean util_file_append(const char *fi
154  {
155      va_list args;
156      FILE *f;
157 +    struct flock lock;
158 +
159 +    lock.l_whence = SEEK_SET;
160 +    lock.l_start = 0;
161 +    lock.l_len = 0;
162  
163      if (file && (f = fopen(file, "a+"))) {
164 -        flock(fileno(f), LOCK_EX);
165 +        lock.l_type = F_WRLCK;
166 +        fcntl(fileno(f), F_SETLKW, &lock);
167  
168          va_start(args, format);
169          vfprintf(f, format, args);
170          va_end(args);
171  
172 -        flock(fileno(f), LOCK_UN);
173 +        lock.l_type = F_UNLCK;
174 +        fcntl(fileno(f), F_SETLK, &lock);
175          fclose(f);
176  
177          return TRUE;
178 @@ -225,13 +232,19 @@ gboolean util_file_prepend(const char *f
179      va_list args;
180      char *content;
181      FILE *f;
182 +    struct flock lock;
183 +
184      if (!file) {
185          return FALSE;
186      }
187  
188 +    lock.l_whence = SEEK_SET;
189 +    lock.l_start = 0;
190 +    lock.l_len = 0;
191      content = util_get_file_contents(file, NULL);
192      if ((f = fopen(file, "w"))) {
193 -        flock(fileno(f), LOCK_EX);
194 +        lock.l_type = F_WRLCK;
195 +        fcntl(fileno(f), F_SETLKW, &lock);
196  
197          va_start(args, format);
198          /* write new content to the file */
199 @@ -241,7 +254,8 @@ gboolean util_file_prepend(const char *f
200          /* append previous file content */
201          fputs(content, f);
202  
203 -        flock(fileno(f), LOCK_UN);
204 +        lock.l_type = F_UNLCK;
205 +        fcntl(fileno(f), F_SETLK, &lock);
206          fclose(f);
207  
208          res = TRUE;
209