summary refs log blame commit diff
path: root/pkgs/servers/uhub/default.nix
blob: df76789f908691b229661c618d76b5199c4b4420 (plain) (tree)
1
2
3
4
5
6
7
8
9

                                                                              


                                     
                         
                 
                                  
 


                         

                                                                 

    
                                           
                                                                      
 




                                                 
 

                          
                                                         
    
 
                    
                                                                          
                                       
                            
                                        

                               
 
{ lib, stdenv, fetchpatch, fetchFromGitHub, cmake, openssl, sqlite, pkg-config
, systemd, tlsSupport ? false }:

assert tlsSupport -> openssl != null;

stdenv.mkDerivation rec {
  pname = "uhub";
  version = "unstable-2019-12-13";

  src = fetchFromGitHub {
    owner = "janvidar";
    repo = "uhub";
    rev = "35d8088b447527f56609b85b444bd0b10cd67b5c";
    hash = "sha256-CdTTf82opnpjd7I9TTY+JDEZSfdGFPE0bq/xsafwm/w=";
  };

  nativeBuildInputs = [ cmake pkg-config ];
  buildInputs = [ sqlite systemd ] ++ lib.optional tlsSupport openssl;

  postPatch = ''
    substituteInPlace CMakeLists.txt \
      --replace "/usr/lib/uhub/" "$out/plugins" \
      --replace "/etc/uhub" "$TMPDIR"
  '';

  cmakeFlags = [
    "-DSYSTEMD_SUPPORT=ON"
    "-DSSL_SUPPORT=${if tlsSupport then "ON" else "OFF"}"
  ];

  meta = with lib; {
    description = "High performance peer-to-peer hub for the ADC network";
    homepage = "https://www.uhub.org/";
    license = licenses.gpl3;
    maintainers = [ maintainers.ehmry ];
    platforms = platforms.unix;
  };
}