Build tested. OK?
Index: Makefile =================================================================== RCS file: /cvs/ports/textproc/the_silver_searcher/Makefile,v retrieving revision 1.33 diff -u -p -r1.33 Makefile --- Makefile 12 Jul 2019 20:50:16 -0000 1.33 +++ Makefile 29 Jan 2021 15:37:16 -0000 @@ -4,7 +4,7 @@ COMMENT = code searching tool, with a fo DISTNAME = the_silver_searcher-2.2.0 CATEGORIES = textproc -REVISION = 0 +REVISION = 1 HOMEPAGE = https://geoff.greer.fm/ag/ # Apache 2.0 Index: patches/patch-src_ignore_c =================================================================== RCS file: patches/patch-src_ignore_c diff -N patches/patch-src_ignore_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_ignore_c 29 Jan 2021 15:37:16 -0000 @@ -0,0 +1,17 @@ +$OpenBSD$ + +Fix -fno-common build failure. Taken from +https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4174b1f2bba16be562beadb8926b26fce40a41d1 + +Index: src/ignore.c +--- src/ignore.c.orig ++++ src/ignore.c +@@ -22,6 +22,8 @@ const int fnmatch_flags = FNM_PATHNAME; + + /* TODO: build a huge-ass list of files we want to ignore by default (build cache stuff, pyc files, etc) */ + ++ignores *root_ignores; ++ + const char *evil_hardcoded_ignore_files[] = { + ".", + "..", Index: patches/patch-src_ignore_h =================================================================== RCS file: patches/patch-src_ignore_h diff -N patches/patch-src_ignore_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_ignore_h 29 Jan 2021 15:37:16 -0000 @@ -0,0 +1,17 @@ +$OpenBSD$ + +Fix -fno-common build failure. Taken from +https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4174b1f2bba16be562beadb8926b26fce40a41d1 + +Index: src/ignore.h +--- src/ignore.h.orig ++++ src/ignore.h +@@ -29,7 +29,7 @@ struct ignores { + }; + typedef struct ignores ignores; + +-ignores *root_ignores; ++extern ignores *root_ignores; + + extern const char *evil_hardcoded_ignore_files[]; + extern const char *ignore_pattern_files[]; Index: patches/patch-src_log_c =================================================================== RCS file: patches/patch-src_log_c diff -N patches/patch-src_log_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_log_c 29 Jan 2021 15:37:16 -0000 @@ -0,0 +1,17 @@ +$OpenBSD$ + +Fix -fno-common build failure. Taken from +https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4174b1f2bba16be562beadb8926b26fce40a41d1 + +Index: src/log.c +--- src/log.c.orig ++++ src/log.c +@@ -4,6 +4,8 @@ + #include "log.h" + #include "util.h" + ++pthread_mutex_t print_mtx; ++ + static enum log_level log_threshold = LOG_LEVEL_ERR; + + void set_log_level(enum log_level threshold) { Index: patches/patch-src_log_h =================================================================== RCS file: patches/patch-src_log_h diff -N patches/patch-src_log_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_log_h 29 Jan 2021 15:37:16 -0000 @@ -0,0 +1,17 @@ +$OpenBSD$ + +Fix -fno-common build failure. Taken from +https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4174b1f2bba16be562beadb8926b26fce40a41d1 + +Index: src/log.h +--- src/log.h.orig ++++ src/log.h +@@ -9,7 +9,7 @@ + #include <pthread.h> + #endif + +-pthread_mutex_t print_mtx; ++extern pthread_mutex_t print_mtx; + + enum log_level { + LOG_LEVEL_DEBUG = 10, Index: patches/patch-src_options_c =================================================================== RCS file: patches/patch-src_options_c diff -N patches/patch-src_options_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_options_c 29 Jan 2021 15:37:16 -0000 @@ -0,0 +1,17 @@ +$OpenBSD$ + +Fix -fno-common build failure. Taken from +https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4174b1f2bba16be562beadb8926b26fce40a41d1 + +Index: src/options.c +--- src/options.c.orig ++++ src/options.c +@@ -16,6 +16,8 @@ + #include "print.h" + #include "util.h" + ++cli_options opts; ++ + const char *color_line_number = "\033[1;33m"; /* bold yellow */ + const char *color_match = "\033[30;43m"; /* black with yellow background */ + const char *color_path = "\033[1;32m"; /* bold green */ Index: patches/patch-src_options_h =================================================================== RCS file: patches/patch-src_options_h diff -N patches/patch-src_options_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_options_h 29 Jan 2021 15:37:16 -0000 @@ -0,0 +1,17 @@ +$OpenBSD$ + +Fix -fno-common build failure. Taken from +https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4174b1f2bba16be562beadb8926b26fce40a41d1 + +Index: src/options.h +--- src/options.h.orig ++++ src/options.h +@@ -91,7 +91,7 @@ typedef struct { + } cli_options; + + /* global options. parse_options gives it sane values, everything else reads from it */ +-cli_options opts; ++extern cli_options opts; + + typedef struct option option_t; + Index: patches/patch-src_search_c =================================================================== RCS file: patches/patch-src_search_c diff -N patches/patch-src_search_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_search_c 29 Jan 2021 15:37:16 -0000 @@ -0,0 +1,28 @@ +$OpenBSD$ + +Fix -fno-common build failure. Taken from +https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4174b1f2bba16be562beadb8926b26fce40a41d1 + +Index: src/search.c +--- src/search.c.orig ++++ src/search.c +@@ -2,6 +2,19 @@ + #include "print.h" + #include "scandir.h" + ++ size_t alpha_skip_lookup[256]; ++ size_t *find_skip_lookup; ++ uint8_t h_table[H_SIZE] __attribute__((aligned(64))); ++ ++ work_queue_t *work_queue; ++ work_queue_t *work_queue_tail; ++ int done_adding_files; ++ pthread_cond_t files_ready; ++ pthread_mutex_t stats_mtx; ++ pthread_mutex_t work_queue_mtx; ++ ++ symdir_t *symhash; ++ + void search_buf(const char *buf, const size_t buf_len, + const char *dir_full_path) { + int binary = -1; /* 1 = yes, 0 = no, -1 = don't know */ Index: patches/patch-src_search_h =================================================================== RCS file: patches/patch-src_search_h diff -N patches/patch-src_search_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_search_h 29 Jan 2021 15:37:16 -0000 @@ -0,0 +1,49 @@ +$OpenBSD$ + +Fix -fno-common build failure. Taken from +https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4174b1f2bba16be562beadb8926b26fce40a41d1 + +Index: src/search.h +--- src/search.h.orig ++++ src/search.h +@@ -31,9 +31,9 @@ + #include "uthash.h" + #include "util.h" + +-size_t alpha_skip_lookup[256]; +-size_t *find_skip_lookup; +-uint8_t h_table[H_SIZE] __attribute__((aligned(64))); ++extern size_t alpha_skip_lookup[256]; ++extern size_t *find_skip_lookup; ++extern uint8_t h_table[H_SIZE] __attribute__((aligned(64))); + + struct work_queue_t { + char *path; +@@ -41,12 +41,12 @@ struct work_queue_t { + }; + typedef struct work_queue_t work_queue_t; + +-work_queue_t *work_queue; +-work_queue_t *work_queue_tail; +-int done_adding_files; +-pthread_cond_t files_ready; +-pthread_mutex_t stats_mtx; +-pthread_mutex_t work_queue_mtx; ++extern work_queue_t *work_queue; ++extern work_queue_t *work_queue_tail; ++extern int done_adding_files; ++extern pthread_cond_t files_ready; ++extern pthread_mutex_t stats_mtx; ++extern pthread_mutex_t work_queue_mtx; + + + /* For symlink loop detection */ +@@ -64,7 +64,7 @@ typedef struct { + UT_hash_handle hh; + } symdir_t; + +-symdir_t *symhash; ++extern symdir_t *symhash; + + void search_buf(const char *buf, const size_t buf_len, + const char *dir_full_path); Index: patches/patch-src_util_c =================================================================== RCS file: patches/patch-src_util_c diff -N patches/patch-src_util_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_util_c 29 Jan 2021 15:37:16 -0000 @@ -0,0 +1,19 @@ +$OpenBSD$ + +Fix -fno-common build failure. Taken from +https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4174b1f2bba16be562beadb8926b26fce40a41d1 + +Index: src/util.c +--- src/util.c.orig ++++ src/util.c +@@ -15,6 +15,10 @@ + #define getc_unlocked(x) getc(x) + #endif + ++FILE *out_fd; ++ ++ag_stats stats; ++ + #define CHECK_AND_RETURN(ptr) \ + if (ptr == NULL) { \ + die("Memory allocation failed."); \ Index: patches/patch-src_util_h =================================================================== RCS file: patches/patch-src_util_h diff -N patches/patch-src_util_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_util_h 29 Jan 2021 15:37:16 -0000 @@ -0,0 +1,26 @@ +$OpenBSD$ + +Fix -fno-common build failure. Taken from +https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4174b1f2bba16be562beadb8926b26fce40a41d1 + +Index: src/util.h +--- src/util.h.orig ++++ src/util.h +@@ -12,7 +12,7 @@ + #include "log.h" + #include "options.h" + +-FILE *out_fd; ++extern FILE *out_fd; + + #ifndef TRUE + #define TRUE 1 +@@ -51,7 +51,7 @@ typedef struct { + } ag_stats; + + +-ag_stats stats; ++extern ag_stats stats; + + /* Union to translate between chars and words without violating strict aliasing */ + typedef union {
