118 lines
1.8 KiB
Nix
118 lines
1.8 KiB
Nix
{
|
|
stdenv,
|
|
lib,
|
|
# hugo,
|
|
# go,
|
|
# cargo,
|
|
# rustc,
|
|
# clippy,
|
|
# rust-analyzer,
|
|
# rustfmt,
|
|
pkg-config,
|
|
gcc,
|
|
gnumake,
|
|
sbcl,
|
|
sbclPackages,
|
|
makeWrapper,
|
|
openssl,
|
|
# build-asdf-system,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
let
|
|
sbcl' = sbcl.withPackages (ps: with ps; [
|
|
hunchentoot
|
|
dexador
|
|
jzon
|
|
serapeum
|
|
deploy
|
|
spinneret
|
|
lass
|
|
cl-smtp
|
|
log4cl
|
|
cffi
|
|
pkgs.openssl
|
|
pkgs.openssl.out
|
|
pkgs.openssl.dev
|
|
]);
|
|
in
|
|
stdenv.mkDerivation {
|
|
name = "tfcconnection";
|
|
pname = "tfcconnection";
|
|
version = "0.0.1";
|
|
|
|
src = ./.;
|
|
|
|
# cargoHash = "sha256-jtBw4ahSl88L0iuCXxQgZVm1EcboWRJMNtjxLVTtzts=";
|
|
# cargoLock = {
|
|
# lockFile = ./Cargo.lock;
|
|
# };
|
|
|
|
nativeBuildInputs = [
|
|
gcc
|
|
stdenv
|
|
gnumake
|
|
pkg-config
|
|
makeWrapper
|
|
openssl
|
|
openssl.out
|
|
openssl.dev
|
|
];
|
|
|
|
buildInputs = [
|
|
# rustPlatform
|
|
# clippy
|
|
# rustfmt
|
|
openssl
|
|
openssl.out
|
|
openssl.dev
|
|
sbcl'
|
|
];
|
|
|
|
nativeLibs = [
|
|
openssl
|
|
openssl.out
|
|
openssl.dev
|
|
];
|
|
|
|
# lispLibs = with sbclPackages; [
|
|
# hunchentoot
|
|
# dexador
|
|
# jzon
|
|
# serapeum
|
|
# deploy
|
|
# spinneret
|
|
# lass
|
|
# cl-smtp
|
|
# log4cl
|
|
# ];
|
|
|
|
# ${cargo}/bin/cargo build
|
|
buildPhase = ''
|
|
export HOME=$(pwd)
|
|
${sbcl'}/bin/sbcl --load build.lisp
|
|
'';
|
|
|
|
# systems = "tfcserver";
|
|
|
|
# buildScript = ./build.lisp;
|
|
|
|
# cp target/debug/tfcapi $out/bin
|
|
installPhase = ''
|
|
mkdir -p $out/bin
|
|
cp -v tfcserver $out/bin
|
|
wrapProgram $out/bin/tfcserver \
|
|
--prefix LD_LIBRARY_PATH : $LD_LIBRARY_PATH \
|
|
'';
|
|
|
|
meta = with lib; {
|
|
name = "tfcconnection";
|
|
description = "TFC Connection Website";
|
|
homepage = "https://tfcconnection.org";
|
|
license = licenses.gpl3;
|
|
maintainers = [ "chriscochrun" ];
|
|
platforms = platforms.all;
|
|
};
|
|
}
|