neomutt: fix build with bdb, add option for lmdb.diff -r1.79 -r1.80 pkgsrc/mail/neomutt/Makefile
(nikita)
@@ -1,17 +1,17 @@ | @@ -1,17 +1,17 @@ | |||
1 | # $NetBSD: Makefile,v 1.79 2022/06/28 11:34:23 wiz Exp $ | 1 | # $NetBSD: Makefile,v 1.80 2022/09/20 17:13:24 nikita Exp $ | |
2 | 2 | |||
3 | DISTNAME= neomutt-20220429 | 3 | DISTNAME= neomutt-20220429 | |
4 | PKGREVISION= 1 | 4 | PKGREVISION= 2 | |
5 | CATEGORIES= mail | 5 | CATEGORIES= mail | |
6 | MASTER_SITES= ${MASTER_SITE_GITHUB:=neomutt/} | 6 | MASTER_SITES= ${MASTER_SITE_GITHUB:=neomutt/} | |
7 | GITHUB_TAG= ${PKGVERSION_NOREV} | 7 | GITHUB_TAG= ${PKGVERSION_NOREV} | |
8 | 8 | |||
9 | MAINTAINER= pkgsrc-users@NetBSD.org | 9 | MAINTAINER= pkgsrc-users@NetBSD.org | |
10 | HOMEPAGE= https://www.neomutt.org/ | 10 | HOMEPAGE= https://www.neomutt.org/ | |
11 | COMMENT= Fork of mutt with integrated community patches | 11 | COMMENT= Fork of mutt with integrated community patches | |
12 | LICENSE= gnu-gpl-v2 OR gnu-gpl-v3 # or newer | 12 | LICENSE= gnu-gpl-v2 OR gnu-gpl-v3 # or newer | |
13 | 13 | |||
14 | BUILD_DEPENDS+= gettext-tools-[0-9]*:../../devel/gettext-tools | 14 | BUILD_DEPENDS+= gettext-tools-[0-9]*:../../devel/gettext-tools | |
15 | BUILD_DEPENDS+= libxslt-[0-9]*:../../textproc/libxslt | 15 | BUILD_DEPENDS+= libxslt-[0-9]*:../../textproc/libxslt | |
16 | BUILD_DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl | 16 | BUILD_DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl | |
17 | BUILD_DEPENDS+= w3m-[0-9]*:../../www/w3m | 17 | BUILD_DEPENDS+= w3m-[0-9]*:../../www/w3m |
@@ -1,5 +1,6 @@ | @@ -1,5 +1,6 @@ | |||
1 | $NetBSD: distinfo,v 1.60 2022/04/29 13:47:42 wiz Exp $ | 1 | $NetBSD: distinfo,v 1.61 2022/09/20 17:13:24 nikita Exp $ | |
2 | 2 | |||
3 | BLAKE2s (neomutt-20220429-20220429.tar.gz) = c049d271b5c4083b3f7b1e12dfd2d3c879f02acb2767fb9942c4825ac6a411e3 | 3 | BLAKE2s (neomutt-20220429-20220429.tar.gz) = c049d271b5c4083b3f7b1e12dfd2d3c879f02acb2767fb9942c4825ac6a411e3 | |
4 | SHA512 (neomutt-20220429-20220429.tar.gz) = ce151cabe9fe0c45f379dd7a71790f600faa9283c79a486c1421b5fe3b19b7f12d71dc36ec330e1b28b26ed83bf4c47b656ca823c484105ea3f80ef9166e7f0b | 4 | SHA512 (neomutt-20220429-20220429.tar.gz) = ce151cabe9fe0c45f379dd7a71790f600faa9283c79a486c1421b5fe3b19b7f12d71dc36ec330e1b28b26ed83bf4c47b656ca823c484105ea3f80ef9166e7f0b | |
5 | Size (neomutt-20220429-20220429.tar.gz) = 3774374 bytes | 5 | Size (neomutt-20220429-20220429.tar.gz) = 3774374 bytes | |
6 | SHA1 (patch-auto.def) = c7acaa8ec5ecad6f2465d293a5a27a58529a25d0 |
@@ -1,20 +1,21 @@ | @@ -1,20 +1,21 @@ | |||
1 | # $NetBSD: options.mk,v 1.17 2021/10/22 17:11:54 wiz Exp $ | 1 | # $NetBSD: options.mk,v 1.18 2022/09/20 17:13:24 nikita Exp $ | |
2 | 2 | |||
3 | PKG_OPTIONS_VAR= PKG_OPTIONS.neomutt | 3 | PKG_OPTIONS_VAR= PKG_OPTIONS.neomutt | |
4 | PKG_OPTIONS_REQUIRED_GROUPS= display | 4 | PKG_OPTIONS_REQUIRED_GROUPS= display | |
5 | PKG_OPTIONS_GROUP.display= curses ncurses ncursesw | 5 | PKG_OPTIONS_GROUP.display= curses ncurses ncursesw | |
6 | PKG_SUPPORTED_OPTIONS= debug gpgme gssapi idn ssl smime sasl | 6 | PKG_SUPPORTED_OPTIONS= tokyocabinet lmdb | |
7 | PKG_SUPPORTED_OPTIONS+= tokyocabinet notmuch lua | 7 | PKG_SUPPORTED_OPTIONS+= debug gpgme gssapi idn ssl smime sasl | |
8 | PKG_SUPPORTED_OPTIONS+= notmuch lua | |||
8 | PKG_SUGGESTED_OPTIONS= gpgme gssapi idn ncursesw sasl smime ssl | 9 | PKG_SUGGESTED_OPTIONS= gpgme gssapi idn ncursesw sasl smime ssl | |
9 | PKG_SUGGESTED_OPTIONS+= tokyocabinet notmuch | 10 | PKG_SUGGESTED_OPTIONS+= tokyocabinet notmuch | |
10 | 11 | |||
11 | .include "../../mk/bsd.options.mk" | 12 | .include "../../mk/bsd.options.mk" | |
12 | 13 | |||
13 | ### | 14 | ### | |
14 | ### GSSAPI | 15 | ### GSSAPI | |
15 | ### | 16 | ### | |
16 | CONFIGURE_ENV+= ac_cv_path_KRB5CFGPATH=${KRB5_CONFIG} | 17 | CONFIGURE_ENV+= ac_cv_path_KRB5CFGPATH=${KRB5_CONFIG} | |
17 | .if !empty(PKG_OPTIONS:Mgssapi) | 18 | .if !empty(PKG_OPTIONS:Mgssapi) | |
18 | . include "../../mk/krb5.buildlink3.mk" | 19 | . include "../../mk/krb5.buildlink3.mk" | |
19 | CONFIGURE_ARGS+= --with-gss=${KRB5BASE} | 20 | CONFIGURE_ARGS+= --with-gss=${KRB5BASE} | |
20 | .endif | 21 | .endif | |
@@ -77,27 +78,32 @@ PLIST_VARS+= smime | @@ -77,27 +78,32 @@ PLIST_VARS+= smime | |||
77 | .if !empty(PKG_OPTIONS:Msmime) | 78 | .if !empty(PKG_OPTIONS:Msmime) | |
78 | USE_TOOLS+= perl:run | 79 | USE_TOOLS+= perl:run | |
79 | REPLACE_PERL+= */*.pl contrib/smime_keys | 80 | REPLACE_PERL+= */*.pl contrib/smime_keys | |
80 | . include "../../security/openssl/buildlink3.mk" | 81 | . include "../../security/openssl/buildlink3.mk" | |
81 | CONFIGURE_ARGS+= --smime | 82 | CONFIGURE_ARGS+= --smime | |
82 | PLIST.smime= yes | 83 | PLIST.smime= yes | |
83 | .else | 84 | .else | |
84 | CONFIGURE_ARGS+= --disable-smime | 85 | CONFIGURE_ARGS+= --disable-smime | |
85 | .endif | 86 | .endif | |
86 | 87 | |||
87 | ### | 88 | ### | |
88 | ### Header cache | 89 | ### Header cache | |
89 | ### | 90 | ### | |
90 | .if !empty(PKG_OPTIONS:Mtokyocabinet) | 91 | .if !empty(PKG_OPTIONS:Mlmdb) | |
92 | .include "../../databases/lmdb/buildlink3.mk" | |||
93 | CONFIGURE_ARGS+= --lmdb | |||
94 | CONFIGURE_ARGS+= --disable-gdbm | |||
95 | CONFIGURE_ARGS+= --disable-bdb | |||
96 | .elif !empty(PKG_OPTIONS:Mtokyocabinet) | |||
91 | .include "../../databases/tokyocabinet/buildlink3.mk" | 97 | .include "../../databases/tokyocabinet/buildlink3.mk" | |
92 | CONFIGURE_ARGS+= --tokyocabinet | 98 | CONFIGURE_ARGS+= --tokyocabinet | |
93 | CONFIGURE_ARGS+= --disable-gdbm | 99 | CONFIGURE_ARGS+= --disable-gdbm | |
94 | CONFIGURE_ARGS+= --disable-bdb | 100 | CONFIGURE_ARGS+= --disable-bdb | |
95 | .else | 101 | .else | |
96 | BDB_ACCEPTED= db4 db5 | 102 | BDB_ACCEPTED= db4 db5 | |
97 | BUILDLINK_TRANSFORM+= l:db:${BDB_TYPE} | 103 | BUILDLINK_TRANSFORM+= l:db:${BDB_TYPE} | |
98 | .include "../../mk/bdb.buildlink3.mk" | 104 | .include "../../mk/bdb.buildlink3.mk" | |
99 | CONFIGURE_ARGS+= --bdb | 105 | CONFIGURE_ARGS+= --bdb | |
100 | CONFIGURE_ARGS+= --disable-gdbm | 106 | CONFIGURE_ARGS+= --disable-gdbm | |
101 | # BDB_INCLUDE_DIR_ and BDB_LIB_DIR don't have to be particularly accurate | 107 | # BDB_INCLUDE_DIR_ and BDB_LIB_DIR don't have to be particularly accurate | |
102 | # since the real -I and -L flags are added by buildlink already. | 108 | # since the real -I and -L flags are added by buildlink already. | |
103 | CONFIGURE_ENV+= BDB_INCLUDE_DIR=${BDBBASE}/include | 109 | CONFIGURE_ENV+= BDB_INCLUDE_DIR=${BDBBASE}/include |
$NetBSD: patch-auto.def,v 1.1 2022/09/20 17:13:24 nikita Exp $
Improve Berkeley DB detection, account for more flavours
Fixes #3525
upstream commited as c12b986765091933bdadbf3d0a341e66bd42404a
--- auto.def.orig 2022-04-29 14:15:32.000000000 +0200
+++ auto.def 2022-09-20 11:49:33.294171932 +0200
@@ -166,8 +166,8 @@
# relative --enable-opt to true. This allows "--with-opt=/usr" to be used as
# a shortcut for "--opt --with-opt=/usr".
foreach opt {
- bdb gdbm gnutls gpgme gss homespool idn idn2 kyotocabinet lmdb lua lz4
- mixmaster nls notmuch pcre2 qdbm rocksdb sasl sqlite ssl tdb tokyocabinet
+ bdb gdbm gnutls gpgme gss homespool idn idn2 kyotocabinet lmdb lua lz4
+ mixmaster nls notmuch pcre2 qdbm rocksdb sasl sqlite ssl tdb tokyocabinet
zlib zstd
} {
if {[opt-val with-$opt] ne {}} {
@@ -311,6 +311,7 @@
lappend extensions -D_ALL_SOURCE=1
lappend extensions -D_GNU_SOURCE=1
lappend extensions -D__EXTENSIONS__
+ lappend extensions -D_XOPEN_SOURCE_EXTENDED
define-append CFLAGS_FOR_BUILD {*}$extensions
define-append CFLAGS {*}$extensions
}
@@ -502,18 +503,17 @@
msg-result $gpgme_version
if {[get-define want-autocrypt]} {
if {$gpgme_maj < 1 || $gpgme_min < 8} {
+ # GPGME v1.8.0 was released on 2016-11-16
user-error "Found GPGME version $gpgme_version, need 1.8.0 for AutoCrypt"
}
} else {
if {$gpgme_maj < 1 || $gpgme_min < 4} {
+ # GPGME v1.4.0 was released on 2013-02-26
user-error "Found GPGME version $gpgme_version, need 1.4.0"
}
}
define GPGME_VERSION_NUMBER [format "0x%02x%02x%02x" $gpgme_maj $gpgme_min $gpgme_patch]
- # RHEL6 doesn't have this function yet
- cc-check-function-in-lib gpgme_op_export_keys gpgme
-
# CFLAGS
if {[catch {exec-with-stderr $gpgme_config --cflags} res err]} {
user-error "Could not derive --cflags from $gpgme_config"
@@ -945,28 +941,16 @@
###############################################################################
# Header cache - bdb
if {[get-define want-bdb]} {
- set bdb_versions [opt-val with-bdb-version { 5.3 6.2 4.8 }] ;# Will be checked in order
- set bdb_prefix [opt-val with-bdb $prefix]
-
- foreach ver $bdb_versions {
- lassign [split $ver .] maj min
- # This is ugly, but it allows us to not have an inner loop
- lappend bdb_majors $maj $maj $maj $maj $maj $maj
- lappend bdb_minors $min $min $min $min $min $min
- lappend bdb_exploded "" db-$maj-$min db${maj}${min} db$maj.$min db-$maj db$maj
- }
-
- foreach maj $bdb_majors min $bdb_minors ver $bdb_exploded {
- set ver_inc_dir $bdb_prefix/include/$ver
- set ver_lib_dir $bdb_prefix/$::libdir_tail/$ver
+ proc find_bdb {bdb_prefix maj min path_tail lib_names} {
+ set ver_inc_dir $bdb_prefix/include/$path_tail
+ set ver_lib_dir $bdb_prefix/$::libdir_tail/$path_tail
set ver_inc_file $ver_inc_dir/db.h
- set ver_lib_file db-$maj.$min
# File exists?
msg-checking "Checking for BerkeleyDB in $ver_inc_dir..."
if {![file exists $ver_inc_file]} {
msg-result "no"
- continue
+ return 0
}
# Version is coherent?
@@ -975,23 +959,44 @@
if {$inc_maj eq {} || $inc_min eq {} ||
$inc_maj != $maj || $inc_min != $min} {
msg-result "no (expecting $maj.$min, got $inc_maj.$inc_min)"
- continue
+ return 0
}
msg-result "yes"
# Can link?
- cc-with [list -libs -L$ver_lib_dir -cflags -I$ver_inc_dir] {
- if {![check-inc-and-lib bdb {} db.h db_env_create db-$maj.$min]} {
- msg-result "no"
- continue
+ foreach lib_name $lib_names {
+ cc-with [list -libs -L$ver_lib_dir -cflags -I$ver_inc_dir] {
+ check-inc-and-lib bdb {} db.h db_env_create $lib_name
+ }
+ if {[have-feature bdb]} {
+ define-append CFLAGS -I$ver_inc_dir
+ define-append LDFLAGS -L$ver_lib_dir
+ define-append LIBS -l$lib_name
+ define-append HCACHE_BACKENDS "bdb"
+ define USE_HCACHE
+ return 1
+ }
+ }
+ return 0
+ }
+
+ set bdb_versions [opt-val with-bdb-version { 5.3 6.2 4.8 }] ;# Will be checked in order
+ set bdb_prefix [opt-val with-bdb $prefix]
+
+ foreach ver $bdb_versions {
+ if {[have-feature bdb]} {
+ break
+ }
+ lassign [split $ver .] maj min
+ foreach path_tail [list "" db-$maj-$min db${maj}${min} db$maj.$min db-$maj db$maj] {
+ if {[have-feature bdb]} {
+ break
+ }
+ set lib_names [list db$maj-$maj.$min db$maj-$maj db-$maj.$min db-$maj]
+ if {[find_bdb $bdb_prefix $maj $min $path_tail $lib_names]} {
+ break
}
}
- define-append CFLAGS -I$ver_inc_dir
- define-append LDFLAGS -L$ver_lib_dir
- define-append LIBS -ldb-$maj.$min
- define-append HCACHE_BACKENDS "bdb"
- define USE_HCACHE
- break
}
if {![have-feature bdb]} {