593e11fd94
According to https://repology.org/repository/nix_unstable/problems, we have a lot of packages that have http links that redirect to https as their homepage. This commit updates all these packages to use the https links as their homepage. The following script was used to make these updates: ``` curl https://repology.org/api/v1/repository/nix_unstable/problems \ | jq '.[] | .problem' -r \ | rg 'Homepage link "(.+)" is a permanent redirect to "(.+)" and should be updated' --replace 's@$1@$2@' \ | sort | uniq > script.sed find -name '*.nix' | xargs -P4 -- sed -f script.sed -i ```
63 lines
2.3 KiB
Nix
63 lines
2.3 KiB
Nix
{ stdenv, fetchurl, fetchpatch, pam, openssl }:
|
|
|
|
stdenv.mkDerivation ({
|
|
name = "uw-imap-2007f";
|
|
|
|
src = fetchurl {
|
|
url = "ftp://ftp.cac.washington.edu/imap/imap-2007f.tar.gz";
|
|
sha256 = "0a2a00hbakh0640r2wdpnwr8789z59wnk7rfsihh3j0vbhmmmqak";
|
|
};
|
|
|
|
makeFlags = [ (if stdenv.isDarwin
|
|
then "osx"
|
|
else "lnp") ] # Linux with PAM modules;
|
|
# -fPIC is required to compile php with imap on x86_64 systems
|
|
++ stdenv.lib.optional stdenv.isx86_64 "EXTRACFLAGS=-fPIC"
|
|
++ stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "CC=${stdenv.hostPlatform.config}-gcc" "RANLIB=${stdenv.hostPlatform.config}-ranlib" ];
|
|
|
|
hardeningDisable = [ "format" ];
|
|
|
|
buildInputs = [ openssl ]
|
|
++ stdenv.lib.optional (!stdenv.isDarwin) pam;
|
|
|
|
patches = [ (fetchpatch {
|
|
url = "https://salsa.debian.org/holmgren/uw-imap/raw/dcb42981201ea14c2d71c01ebb4a61691b6f68b3/debian/patches/1006_openssl1.1_autoverify.patch";
|
|
sha256 = "09xb58awvkhzmmjhrkqgijzgv7ia381ablf0y7i1rvhcqkb5wga7";
|
|
}) ];
|
|
|
|
postPatch = ''
|
|
sed -i src/osdep/unix/Makefile -e 's,/usr/local/ssl,${openssl.dev},'
|
|
sed -i src/osdep/unix/Makefile -e 's,^SSLCERTS=.*,SSLCERTS=/etc/ssl/certs,'
|
|
sed -i src/osdep/unix/Makefile -e 's,^SSLLIB=.*,SSLLIB=${openssl.out}/lib,'
|
|
'';
|
|
|
|
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin
|
|
"-I${openssl.dev}/include/openssl";
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/bin $out/lib $out/include/c-client
|
|
cp c-client/*.h osdep/unix/*.h c-client/linkage.c c-client/auths.c $out/include/c-client/
|
|
cp c-client/c-client.a $out/lib/libc-client.a
|
|
cp mailutil/mailutil imapd/imapd dmail/dmail mlock/mlock mtest/mtest tmail/tmail \
|
|
tools/{an,ua} $out/bin
|
|
'';
|
|
|
|
meta = {
|
|
homepage = https://www.washington.edu/imap/;
|
|
description = "UW IMAP toolkit - IMAP-supporting software developed by the UW";
|
|
license = stdenv.lib.licenses.asl20;
|
|
platforms = with stdenv.lib.platforms; linux;
|
|
};
|
|
|
|
passthru = {
|
|
withSSL = true;
|
|
};
|
|
} // stdenv.lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
|
|
# This is set here to prevent rebuilds on native compilation.
|
|
# Configure phase is a no-op there, because this package doesn't use ./configure scripts.
|
|
configurePhase = ''
|
|
echo "Cross-compilation, injecting make flags"
|
|
makeFlagsArray+=("ARRC=${stdenv.hostPlatform.config}-ar rc")
|
|
'';
|
|
})
|