parsav  Check-in [2687ecbbd9]

Overview
Comment:haphazardly disemfuckulate build system
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | trunk
Files: files | file ages | folders
SHA3-256: 2687ecbbd9d001894a6cdbc9bfd7b7203dfa9c9c3ac827f6d0e9ae6c84e85c16
User & Date: lexi on 2025-02-07 13:14:23
Other Links: manifest | tags
Context
2025-02-07
13:14
haphazardly disemfuckulate build system Leaf check-in: 2687ecbbd9 user: lexi tags: trunk
12:23
misc corrections check-in: 0814075eff user: lexi tags: trunk
Changes

Modified config.lua from [6ab8d1127e] to [9003b8cb61].

   199    199   			if libdir then libdir = libdir .. libsfx end
   200    200   		incdir = cnfvar('incdir','includedir') 
   201    201   			if incdir then incdir = incdir .. incsfx end
   202    202   	end
   203    203   	libdir = libdir or (prefix .. '/lib'     .. libsfx)
   204    204   	incdir = incdir or (prefix .. '/include' .. incsfx)
   205    205   
   206         -	local libstr = pkc '--libs-only-l' -- (--static is not reliable)
   207         -	local libs = fb and fb.libs or {}
   208         -	local linkstatic = locdep
   209         -	if (not locdep) and libstr then
          206  +	local libs, linkstatic, libstr
          207  +	if fb and fb.libs then
          208  +		libs = fb.libs
          209  +		libstr = pkc('--libs-only-l', unpack(fb.libs))
          210  +	else
   210    211   		libs = {}
   211         -		for m in string.gmatch(libstr, '-l(%g+)') do
   212         -			libs[#libs + 1] = m
          212  +		libstr = pkc '--libs-only-l' -- (--static is not reliable)
          213  +		linkstatic = locdep
          214  +		if (not locdep) and libstr then
          215  +			libs = {}
          216  +			for m in string.gmatch(libstr, '-l(%g+)') do
          217  +				libs[#libs + 1] = m
          218  +			end
          219  +		else
          220  +			if #libs == 0 then libs = { name } end
   213    221   		end
   214         -	else
   215         -		if #libs == 0 then libs = { name } end
   216    222   	end
   217    223   
   218    224   	conf.pkg[name] = {
   219    225   		prefix = prefix;
   220    226   		libdir = libdir;
   221    227   		incdir = incdir;
   222    228   		dylibs = {}, statlibs = {};

Modified default.nix from [552f41e3b4] to [3f579bdd06].

     1      1   let pkg = import <nixpkgs> {};
     2      2   in {stdenv          ? pkg.stdenv,
     3      3   	fetchFromGitHub ? pkg.fetchFromGitHub,
     4      4   	terra           ? pkg.terra,
     5         -	pkgconfig       ? pkg.pkgconfig,
     6         -	json_c          ? pkg.json_c,
            5  +	pkg-config      ? pkg.pkg-config,
     7      6   	postgresql      ? pkg.postgresql.lib,
     8         -	mbedtlsLegacy   ? pkg.mbedtls,
            7  +	mbedtls         ? pkg.mbedtls,
     9      8   	glibc           ? pkg.glibc,
    10      9   	cmark           ? pkg.cmark,
    11     10   	inkscape        ? pkg.inkscape,
    12     11   	mongoose        ? null,
    13     12   	lib             ? pkg.lib,
    14     13   	pypkgs			? pkg.python310Packages,
    15     14   	debug           ? true
................................................................................
    19     18   				owner = "cesanta";
    20     19   				repo = "mongoose";
    21     20   				rev = "369f44adfa38e0d8fa9667e9d6bafd7e0e3c6231";
    22     21   				sha256 = "17rkd7ydic39cw9sfh11mcil02vmi6jjyj2ncbxan6psak09xbrc";
    23     22   			};
    24     23   	pkv = val: p: "parsav_pkg_${p}_${val}";
    25     24   	pkp = pkv "prefix";
    26         -	mbedtls = mbedtlsLegacy.overrideAttrs(o: rec{
    27         -		version = "3.0-dev";
    28         -		nativeBuildInputs = o.nativeBuildInputs ++ [pypkgs.jinja2];
    29         -		src = fetchFromGitHub {
    30         -			owner = "ARMmbed"; repo = "mbedtls";
    31         -			rev = "49e9fbd6bc7c970c221be6e35f6872762ddde0bc";
    32         -			sha256 = "1ips4mx8rr0kcqn7vdapx2m9xh4cayb7isbwvr98qp2ybi4pi4ai";
    33         -		};
    34         -	});
    35     25   in stdenv.mkDerivation {
    36     26   	name = "parsav";
    37     27   	version = "dev";
    38         -	nativeBuildInputs = [terra json_c pkgconfig mbedtls];
           28  +	nativeBuildInputs = [terra pkg-config mbedtls];
    39     29   	buildInputs = [cmark inkscape postgresql postgresql.lib];
    40     30   	src = ./.;
    41     31   
    42     32   	dontStrip = debug;
    43     33   	dbg = if debug then 1 else null;
    44     34   
    45         -	${pkp "json-c"} = "${json_c}";
    46     35   	${pkp "mbedtls"} = "${mbedtls}";
    47     36   	${pkp "libc"} = "${glibc.out}";
    48     37   	${pkp "cmark"} = "${cmark}";
    49     38   	${pkp "inkscape"} = "${inkscape}";
    50         -	${pkv "incdir" "libpq"} = "${postgresql.out}/include";
           39  +	${pkv "incdir" "libpq"} = "${postgresql.dev}/include";
    51     40   	${pkv "libdir" "libpq"} = "${postgresql.lib}/lib";
    52     41   
    53     42   	parsav_build_branch = "trunk";
    54     43   	parsav_build_checkout = "<latest>";
    55     44   	parsav_builder = "nixpkgs";
    56     45   
    57     46   	parsav_install_prefix_cfg="/etc/parsav";
................................................................................
    67     56   	# postInstall = ''
    68     57   	# 	make prefix=$out install
    69     58   	# '';
    70     59   	
    71     60   	meta = {
    72     61   		description = "lightweight fediverse server";
    73     62   		homepage = https://c.hale.su/parsav;
    74         -		license = lib.licenses.agpl3;
           63  +		license = lib.licenses.agpl3Only;
    75     64   		platforms = lib.platforms.unix;
    76     65   	};
    77     66   } 

Modified pkgdata.lua from [0f9c69d77b] to [e32151ca52].

     1      1   local util = dofile('common.lua')
     2      2   local sthunk = function(...) local a = {...} return function() return util.exec(a) end end
     3      3   
     4      4   return {
     5      5   	mbedtls = { 
     6      6   		libs = {'mbedtls', 'mbedcrypto', 'mbedx509'};
     7      7   		osvars = {
     8         -			linux_nixos = { -- lacks a *.pc on nixos systems
     9         -				-- prefix = sthunk('nix', 'path-info', 'nixos.mbedtls');
    10         -				prefix = os.getenv("parsav_pkg_mbedtls_prefix");
    11         -			}
            8  +			-- used to lack a *.pc on nixos systems
            9  +			linux_nixos = { prefix = os.getenv("parsav_pkg_mbedtls_prefix"); }
    12     10   		};
    13     11   		vars = { builddir = '/library', srcincdir = '/include' };
    14     12   	};
    15     13   	mongoose = { vars = { builddir = '' } };
    16     14   	mjson = { vars = { builddir = '', srcincdir = '/src' } };
    17     15   	libpq = {
    18     16   		osvars = {