Index: config.lua ================================================================== --- config.lua +++ config.lua @@ -201,20 +201,26 @@ if incdir then incdir = incdir .. incsfx end end libdir = libdir or (prefix .. '/lib' .. libsfx) incdir = incdir or (prefix .. '/include' .. incsfx) - local libstr = pkc '--libs-only-l' -- (--static is not reliable) - local libs = fb and fb.libs or {} - local linkstatic = locdep - if (not locdep) and libstr then + local libs, linkstatic, libstr + if fb and fb.libs then + libs = fb.libs + libstr = pkc('--libs-only-l', unpack(fb.libs)) + else libs = {} - for m in string.gmatch(libstr, '-l(%g+)') do - libs[#libs + 1] = m + libstr = pkc '--libs-only-l' -- (--static is not reliable) + linkstatic = locdep + if (not locdep) and libstr then + libs = {} + for m in string.gmatch(libstr, '-l(%g+)') do + libs[#libs + 1] = m + end + else + if #libs == 0 then libs = { name } end end - else - if #libs == 0 then libs = { name } end end conf.pkg[name] = { prefix = prefix; libdir = libdir; Index: default.nix ================================================================== --- default.nix +++ default.nix @@ -1,13 +1,12 @@ let pkg = import {}; in {stdenv ? pkg.stdenv, fetchFromGitHub ? pkg.fetchFromGitHub, terra ? pkg.terra, - pkgconfig ? pkg.pkgconfig, - json_c ? pkg.json_c, + pkg-config ? pkg.pkg-config, postgresql ? pkg.postgresql.lib, - mbedtlsLegacy ? pkg.mbedtls, + mbedtls ? pkg.mbedtls, glibc ? pkg.glibc, cmark ? pkg.cmark, inkscape ? pkg.inkscape, mongoose ? null, lib ? pkg.lib, @@ -21,35 +20,25 @@ rev = "369f44adfa38e0d8fa9667e9d6bafd7e0e3c6231"; sha256 = "17rkd7ydic39cw9sfh11mcil02vmi6jjyj2ncbxan6psak09xbrc"; }; pkv = val: p: "parsav_pkg_${p}_${val}"; pkp = pkv "prefix"; - mbedtls = mbedtlsLegacy.overrideAttrs(o: rec{ - version = "3.0-dev"; - nativeBuildInputs = o.nativeBuildInputs ++ [pypkgs.jinja2]; - src = fetchFromGitHub { - owner = "ARMmbed"; repo = "mbedtls"; - rev = "49e9fbd6bc7c970c221be6e35f6872762ddde0bc"; - sha256 = "1ips4mx8rr0kcqn7vdapx2m9xh4cayb7isbwvr98qp2ybi4pi4ai"; - }; - }); in stdenv.mkDerivation { name = "parsav"; version = "dev"; - nativeBuildInputs = [terra json_c pkgconfig mbedtls]; + nativeBuildInputs = [terra pkg-config mbedtls]; buildInputs = [cmark inkscape postgresql postgresql.lib]; src = ./.; dontStrip = debug; dbg = if debug then 1 else null; - ${pkp "json-c"} = "${json_c}"; ${pkp "mbedtls"} = "${mbedtls}"; ${pkp "libc"} = "${glibc.out}"; ${pkp "cmark"} = "${cmark}"; ${pkp "inkscape"} = "${inkscape}"; - ${pkv "incdir" "libpq"} = "${postgresql.out}/include"; + ${pkv "incdir" "libpq"} = "${postgresql.dev}/include"; ${pkv "libdir" "libpq"} = "${postgresql.lib}/lib"; parsav_build_branch = "trunk"; parsav_build_checkout = ""; parsav_builder = "nixpkgs"; @@ -69,9 +58,9 @@ # ''; meta = { description = "lightweight fediverse server"; homepage = https://c.hale.su/parsav; - license = lib.licenses.agpl3; + license = lib.licenses.agpl3Only; platforms = lib.platforms.unix; }; } Index: pkgdata.lua ================================================================== --- pkgdata.lua +++ pkgdata.lua @@ -3,14 +3,12 @@ return { mbedtls = { libs = {'mbedtls', 'mbedcrypto', 'mbedx509'}; osvars = { - linux_nixos = { -- lacks a *.pc on nixos systems - -- prefix = sthunk('nix', 'path-info', 'nixos.mbedtls'); - prefix = os.getenv("parsav_pkg_mbedtls_prefix"); - } + -- used to lack a *.pc on nixos systems + linux_nixos = { prefix = os.getenv("parsav_pkg_mbedtls_prefix"); } }; vars = { builddir = '/library', srcincdir = '/include' }; }; mongoose = { vars = { builddir = '' } }; mjson = { vars = { builddir = '', srcincdir = '/src' } };