bmake: 20240722 -> 20240808; bozohttpd: refactor (#338834)

Changed files
+122 -94
pkgs
by-name
bm
bo
bozohttpd
servers
http
bozohttpd
top-level
+5 -3
pkgs/by-name/bm/bmake/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "bmake";
-
version = "20240722";
+
version = "20240808";
src = fetchurl {
url = "https://www.crufty.net/ftp/pub/sjg/bmake-${finalAttrs.version}.tar.gz";
-
hash = "sha256-FlS9DK0oQ2CElmmh6amTGB/tE3iWqsJpS4LqmjX3CeQ=";
+
hash = "sha256-tZGJJRtIPezUSS8fdDh7KlhMA9WqRjfNSLOOxiucCEg=";
};
patches = [
···
outputs = [ "out" "man" ];
-
nativeBuildInputs = [ getopt ];
+
nativeBuildInputs = [
+
getopt
+
];
nativeCheckInputs = [
bc
+9 -5
pkgs/by-name/bm/bmake/setup-hook.sh
···
)
concatTo flagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray
-
echoCmd 'build flags' "${flagsArray[@]}"
+
nixInfoLog "${FUNCNAME[0]}: flagsArray: ${flagsArray[@]}"
bmake ${makefile:+-f $makefile} "${flagsArray[@]}"
runHook postBuild
···
fi
if [ -z "${checkTarget:-}" ]; then
-
echo "no test target found in bmake, doing nothing"
+
nixInfoLog "${FUNCNAME[0]}: no test target found in bmake, doing nothing"
else
local flagsArray=(
${enableParallelChecking:+-j${NIX_BUILD_CORES}}
···
)
concatTo flagsArray makeFlags makeFlagsArray checkFlags=VERBOSE=y checkFlagsArray checkTarget
-
echoCmd 'check flags' "${flagsArray[@]}"
+
nixInfoLog "${FUNCNAME[0]}: flagsArray: ${flagsArray[@]}"
bmake ${makefile:+-f $makefile} "${flagsArray[@]}"
fi
···
)
concatTo flagsArray makeFlags makeFlagsArray installFlags installFlagsArray installTargets=install
-
echoCmd 'install flags' "${flagsArray[@]}"
+
nixInfoLog "${FUNCNAME[0]}: flagsArray: ${flagsArray[@]}"
bmake ${makefile:+-f $makefile} "${flagsArray[@]}"
runHook postInstall
···
local flagsArray=()
concatTo flagsArray distFlags distFlagsArray distTarget=dist
-
echo 'dist flags: %q' "${flagsArray[@]}"
+
nixInfoLog "${FUNCNAME[0]}: flagsArray: ${flagsArray[@]}"
bmake ${makefile:+-f $makefile} "${flagsArray[@]}"
if [ "${dontCopyDist:-0}" != 1 ]; then
···
if [ -z "${dontUseBmakeBuild-}" ] && [ -z "${buildPhase-}" ]; then
buildPhase=bmakeBuildPhase
+
nixInfoLog "${FUNCNAME[0]}: set buildPhase to bmakeBuildPhase"
fi
if [ -z "${dontUseBmakeCheck-}" ] && [ -z "${checkPhase-}" ]; then
checkPhase=bmakeCheckPhase
+
nixInfoLog "${FUNCNAME[0]}: set checkPhase to bmakeCheckPhase"
fi
if [ -z "${dontUseBmakeInstall-}" ] && [ -z "${installPhase-}" ]; then
installPhase=bmakeInstallPhase
+
nixInfoLog "${FUNCNAME[0]}: set installPhase to bmakeInstallPhase"
fi
if [ -z "${dontUseBmakeDist-}" ] && [ -z "${distPhase-}" ]; then
distPhase=bmakeDistPhase
+
nixInfoLog "${FUNCNAME[0]}: set distPhase to bmakeDistPhase"
fi
+107
pkgs/by-name/bo/bozohttpd/package.nix
···
+
{
+
lib,
+
bmake,
+
fetchurl,
+
groff,
+
inetutils,
+
libxcrypt,
+
lua,
+
openssl,
+
stdenv,
+
wget,
+
# Boolean flags
+
minimal ? false,
+
userSupport ? !minimal,
+
cgiSupport ? !minimal,
+
dirIndexSupport ? !minimal,
+
dynamicContentSupport ? !minimal,
+
sslSupport ? !minimal,
+
luaSupport ? !minimal,
+
htpasswdSupport ? !minimal,
+
}:
+
+
stdenv.mkDerivation (finalAttrs: {
+
pname = "bozohttpd";
+
version = "20240126";
+
+
# bozohttpd is developed in-tree in pkgsrc, canonical hashes can be found at:
+
# http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/www/bozohttpd/distinfo
+
src = fetchurl {
+
url = "http://eterna23.net/bozohttpd/bozohttpd-${finalAttrs.version}.tar.bz2";
+
hash = "sha512-fr1PnyYAS3wkpmj/npRC3A87UL9LIXw4thlM4GfrtlJbuX5EkWGVJnHJW/EmYp7z+N91dcdRJgdO79l6WJsKpg==";
+
};
+
+
buildInputs = [
+
libxcrypt
+
openssl
+
] ++ lib.optionals (luaSupport) [ lua ];
+
+
nativeBuildInputs = [
+
bmake
+
groff
+
];
+
+
nativeCheckInputs = [
+
inetutils
+
wget
+
];
+
+
env = {
+
COPTS = lib.concatStringsSep " " (
+
[
+
"-D_DEFAULT_SOURCE"
+
"-D_GNU_SOURCE"
+
+
# ensure that we can serve >2GB files even on 32-bit systems.
+
"-D_LARGEFILE_SOURCE"
+
"-D_FILE_OFFSET_BITS=64"
+
+
# unpackaged dependency: https://man.netbsd.org/blocklist.3
+
"-DNO_BLOCKLIST_SUPPORT"
+
]
+
++ lib.optionals (htpasswdSupport) [ "-DDO_HTPASSWD" ]
+
++ lib.optionals (!cgiSupport) [ "-DNO_CGIBIN_SUPPORT" ]
+
++ lib.optionals (!dirIndexSupport) [ "-DNO_DIRINDEX_SUPPORT" ]
+
++ lib.optionals (!dynamicContentSupport) [ "-DNO_DYNAMIC_CONTENT" ]
+
++ lib.optionals (!luaSupport) [ "-DNO_LUA_SUPPORT" ]
+
++ lib.optionals (!sslSupport) [ "-DNO_SSL_SUPPORT" ]
+
++ lib.optionals (!userSupport) [ "-DNO_USER_SUPPORT" ]
+
);
+
+
_LDADD = lib.concatStringsSep " " (
+
[ "-lm" ]
+
++ lib.optionals (stdenv.hostPlatform.libc != "libSystem") [ "-lcrypt" ]
+
++ lib.optionals (luaSupport) [ "-llua" ]
+
++ lib.optionals (sslSupport) [
+
"-lcrypto"
+
"-lssl"
+
]
+
);
+
};
+
+
makeFlags = [ "LDADD=$(_LDADD)" ];
+
+
checkFlags = lib.optionals (!cgiSupport) [ "CGITESTS=" ];
+
+
doCheck = true;
+
+
meta = {
+
homepage = "http://www.eterna23.net/bozohttpd/";
+
description = "Bozotic HTTP server; small and secure";
+
longDescription = ''
+
bozohttpd is a small and secure HTTP version 1.1 server. Its main
+
feature is the lack of features, reducing the code size and improving
+
verifiability.
+
+
It supports CGI/1.1, HTTP/1.1, HTTP/1.0, HTTP/0.9, ~user translations,
+
virtual hosting support, as well as multiple IP-based servers on a
+
single machine. It is capable of servicing pages via the IPv6 protocol.
+
It has SSL support. It has no configuration file by design.
+
'';
+
changelog = "http://www.eterna23.net/bozohttpd/CHANGES";
+
license = lib.licenses.bsd2;
+
mainProgram = "bozohttpd";
+
maintainers = [ lib.maintainers.embr ];
+
platforms = lib.platforms.all;
+
};
+
})
-84
pkgs/servers/http/bozohttpd/default.nix
···
-
{ lib
-
, stdenv
-
, fetchurl
-
, bmake
-
, groff
-
, inetutils
-
, wget
-
, openssl
-
, libxcrypt
-
, minimal ? false
-
, userSupport ? !minimal
-
, cgiSupport ? !minimal
-
, dirIndexSupport ? !minimal
-
, dynamicContentSupport ? !minimal
-
, sslSupport ? !minimal
-
, luaSupport ? !minimal
-
, lua
-
, htpasswdSupport ? !minimal
-
}:
-
-
let inherit (lib) optional optionals;
-
in
-
stdenv.mkDerivation rec {
-
pname = "bozohttpd";
-
version = "20240126";
-
-
# bozohttpd is developed in-tree in pkgsrc, canonical hashes can be found at:
-
# http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/www/bozohttpd/distinfo
-
src = fetchurl {
-
url = "http://eterna23.net/${pname}/${pname}-${version}.tar.bz2";
-
hash = "sha512-fr1PnyYAS3wkpmj/npRC3A87UL9LIXw4thlM4GfrtlJbuX5EkWGVJnHJW/EmYp7z+N91dcdRJgdO79l6WJsKpg==";
-
};
-
-
buildInputs = [ openssl libxcrypt ] ++ optional (luaSupport) lua;
-
nativeBuildInputs = [ bmake groff ];
-
-
COPTS = [
-
"-D_DEFAULT_SOURCE"
-
"-D_GNU_SOURCE"
-
-
# ensure that we can serve >2GB files even on 32-bit systems.
-
"-D_LARGEFILE_SOURCE"
-
"-D_FILE_OFFSET_BITS=64"
-
-
# unpackaged dependency: https://man.netbsd.org/blocklist.3
-
"-DNO_BLOCKLIST_SUPPORT"
-
]
-
++ optional (!userSupport) "-DNO_USER_SUPPORT"
-
++ optional (!dirIndexSupport) "-DNO_DIRINDEX_SUPPORT"
-
++ optional (!dynamicContentSupport) "-DNO_DYNAMIC_CONTENT"
-
++ optional (!luaSupport) "-DNO_LUA_SUPPORT"
-
++ optional (!sslSupport) "-DNO_SSL_SUPPORT"
-
++ optional (!cgiSupport) "-DNO_CGIBIN_SUPPORT"
-
++ optional (htpasswdSupport) "-DDO_HTPASSWD";
-
-
_LDADD = [ "-lm" ]
-
++ optional (stdenv.hostPlatform.libc != "libSystem") "-lcrypt"
-
++ optional (luaSupport) "-llua"
-
++ optionals (sslSupport) [ "-lssl" "-lcrypto" ];
-
makeFlags = [ "LDADD=$(_LDADD)" ];
-
-
doCheck = true;
-
nativeCheckInputs = [ inetutils wget ];
-
checkFlags = optional (!cgiSupport) "CGITESTS=";
-
-
meta = with lib; {
-
description = "Bozotic HTTP server; small and secure";
-
longDescription = ''
-
bozohttpd is a small and secure HTTP version 1.1 server. Its main
-
feature is the lack of features, reducing the code size and improving
-
verifiability.
-
-
It supports CGI/1.1, HTTP/1.1, HTTP/1.0, HTTP/0.9, ~user translations,
-
virtual hosting support, as well as multiple IP-based servers on a
-
single machine. It is capable of servicing pages via the IPv6 protocol.
-
It has SSL support. It has no configuration file by design.
-
'';
-
homepage = "http://www.eterna.com.au/bozohttpd/";
-
changelog = "http://www.eterna.com.au/bozohttpd/CHANGES";
-
license = licenses.bsd2;
-
maintainers = [ maintainers.embr ];
-
platforms = platforms.all;
-
};
-
}
+1 -2
pkgs/top-level/all-packages.nix
···
boxfs = callPackage ../tools/filesystems/boxfs { };
-
bozohttpd = callPackage ../servers/http/bozohttpd { };
-
bozohttpd-minimal = callPackage ../servers/http/bozohttpd { minimal = true; };
+
bozohttpd-minimal = bozohttpd.override { minimal = true; };
brasero-original = lowPrio (callPackage ../tools/cd-dvd/brasero { });