7e1a3d01d7
Fails to build on Darwin: clang++ -shared -s highlight_wrap.o -L../../src/ -lhighlight -L/nix/store/bi85dm5dqzjfm0i9qj3ijjj9w9xayy8w-lua-5.2.4/lib -llua -lm -o highlight.so ld: warning: option -s is obsolete and being ignored Undefined symbols for architecture x86_64: "_PL_markstack_max", referenced from: __wrap_DataDir_getLangPath in highlight_wrap.o __wrap_DataDir_getThemePath in highlight_wrap.o __wrap_DataDir_getFiletypesConfPath in highlight_wrap.o __wrap_DataDir_getPluginPath in highlight_wrap.o __wrap_DataDir_guessFileType in highlight_wrap.o __wrap_SyntaxReader_initLuaState in highlight_wrap.o __wrap_new_RegexElement in highlight_wrap.o ... "_PL_markstack_ptr", referenced from: __wrap_DataDir_assocByExtension_set in highlight_wrap.o __wrap_DataDir_assocByExtension_get in highlight_wrap.o __wrap_DataDir_assocByFilename_set in highlight_wrap.o __wrap_DataDir_assocByFilename_get in highlight_wrap.o __wrap_DataDir_assocByShebang_set in highlight_wrap.o __wrap_DataDir_assocByShebang_get in highlight_wrap.o __wrap_DataDir_initSearchDirectories in highlight_wrap.o ... "_PL_stack_base", referenced from: __wrap_DataDir_assocByExtension_set in highlight_wrap.o __wrap_DataDir_assocByExtension_get in highlight_wrap.o __wrap_DataDir_assocByFilename_set in highlight_wrap.o __wrap_DataDir_assocByFilename_get in highlight_wrap.o __wrap_DataDir_assocByShebang_set in highlight_wrap.o __wrap_DataDir_assocByShebang_get in highlight_wrap.o __wrap_DataDir_initSearchDirectories in highlight_wrap.o ... "_PL_stack_sp", referenced from: __wrap_DataDir_assocByExtension_set in highlight_wrap.o __wrap_DataDir_assocByExtension_get in highlight_wrap.o __wrap_DataDir_assocByFilename_set in highlight_wrap.o __wrap_DataDir_assocByFilename_get in highlight_wrap.o __wrap_DataDir_assocByShebang_set in highlight_wrap.o __wrap_DataDir_assocByShebang_get in highlight_wrap.o __wrap_DataDir_initSearchDirectories in highlight_wrap.o ... "_PL_sv_immortals", referenced from: __wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o __wrap_DataDir_getSystemDataPath in highlight_wrap.o __wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getThemePath__SWIG_1 in highlight_wrap.o SWIG_AsVal_bool(sv*, bool*) in highlight_wrap.o ... "_Perl_croak", referenced from: SWIG_croak_null() in highlight_wrap.o __wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o __wrap_DataDir_getLangPath in highlight_wrap.o __wrap_DataDir_getSystemDataPath in highlight_wrap.o __wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o ... "_Perl_get_sv", referenced from: __wrap_DataDir_assocByExtension_set in highlight_wrap.o SWIG_croak_null() in highlight_wrap.o __wrap_DataDir_assocByExtension_get in highlight_wrap.o __wrap_DataDir_assocByFilename_set in highlight_wrap.o __wrap_DataDir_assocByFilename_get in highlight_wrap.o __wrap_DataDir_assocByShebang_set in highlight_wrap.o __wrap_DataDir_assocByShebang_get in highlight_wrap.o ... "_Perl_gv_add_by_type", referenced from: SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o "_Perl_gv_init_pvn", referenced from: SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o "_Perl_hv_common", referenced from: SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o "_Perl_hv_common_key_len", referenced from: SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o "_Perl_markstack_grow", referenced from: __wrap_DataDir_getLangPath in highlight_wrap.o __wrap_DataDir_getThemePath in highlight_wrap.o __wrap_DataDir_getFiletypesConfPath in highlight_wrap.o __wrap_DataDir_getPluginPath in highlight_wrap.o __wrap_DataDir_guessFileType in highlight_wrap.o __wrap_SyntaxReader_initLuaState in highlight_wrap.o __wrap_new_RegexElement in highlight_wrap.o ... "_Perl_mg_find", referenced from: SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o _boot_highlight in highlight_wrap.o "_Perl_mg_get", referenced from: SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o SWIG_AsVal_bool(sv*, bool*) in highlight_wrap.o "_Perl_newRV_noinc", referenced from: SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o "_Perl_newSV", referenced from: SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o "_Perl_newSV_type", referenced from: SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o "_Perl_newSViv", referenced from: __wrap_SyntaxReader_load in highlight_wrap.o __wrap_SyntaxReader_getKeywordListGroup in highlight_wrap.o __wrap_SyntaxReader_getPersistentSnippetsNum in highlight_wrap.o __wrap_SyntaxReader_getOpenDelimiterID in highlight_wrap.o __wrap_RegexElement_open_get in highlight_wrap.o __wrap_RegexElement_end_get in highlight_wrap.o __wrap_RegexElement_capturingGroup_get in highlight_wrap.o ... "_Perl_newSVuv", referenced from: __wrap_SyntaxReader_getRawStringPrefix in highlight_wrap.o __wrap_SyntaxReader_getContinuationChar in highlight_wrap.o __wrap_RegexElement_kwClass_get in highlight_wrap.o __wrap_RegexElement_priority_get in highlight_wrap.o __wrap_RegexElement_constraintLineNum_get in highlight_wrap.o __wrap_ReGroup_length_get in highlight_wrap.o __wrap_ReGroup_kwClass_get in highlight_wrap.o ... "_Perl_newXS", referenced from: _boot_highlight in highlight_wrap.o "_Perl_sv_2bool_flags", referenced from: SWIG_AsVal_bool(sv*, bool*) in highlight_wrap.o "_Perl_sv_2iv_flags", referenced from: SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o SWIG_AsVal_unsigned_SS_int(sv*, unsigned int*) in highlight_wrap.o _boot_highlight in highlight_wrap.o SWIG_AsVal_long(sv*, long*) in highlight_wrap.o SWIG_AsVal_double(sv*, double*) in highlight_wrap.o "_Perl_sv_2mortal", referenced from: __wrap_SyntaxReader_load in highlight_wrap.o __wrap_SyntaxReader_getRawStringPrefix in highlight_wrap.o __wrap_SyntaxReader_getContinuationChar in highlight_wrap.o __wrap_SyntaxReader_getKeywordListGroup in highlight_wrap.o __wrap_SyntaxReader_getPersistentSnippetsNum in highlight_wrap.o __wrap_SyntaxReader_getOpenDelimiterID in highlight_wrap.o __wrap_RegexElement_open_get in highlight_wrap.o ... "_Perl_sv_2nv_flags", referenced from: SWIG_AsVal_double(sv*, double*) in highlight_wrap.o "_Perl_sv_2pv_flags", referenced from: SWIG_croak_null() in highlight_wrap.o __wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o __wrap_DataDir_getSystemDataPath in highlight_wrap.o __wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getThemePath__SWIG_1 in highlight_wrap.o ... "_Perl_sv_2uv_flags", referenced from: SWIG_AsVal_unsigned_SS_int(sv*, unsigned int*) in highlight_wrap.o SWIG_AsVal_long(sv*, long*) in highlight_wrap.o "_Perl_sv_bless", referenced from: SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o "_Perl_sv_free2", referenced from: SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o "_Perl_sv_isobject", referenced from: SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o SWIG_croak_null() in highlight_wrap.o __wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o __wrap_DataDir_getSystemDataPath in highlight_wrap.o __wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o ... "_Perl_sv_magic", referenced from: _boot_highlight in highlight_wrap.o SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o "_Perl_sv_newmortal", referenced from: __wrap_DataDir_assocByExtension_set in highlight_wrap.o __wrap_DataDir_assocByExtension_get in highlight_wrap.o __wrap_DataDir_assocByFilename_set in highlight_wrap.o __wrap_DataDir_assocByFilename_get in highlight_wrap.o __wrap_DataDir_assocByShebang_set in highlight_wrap.o __wrap_DataDir_assocByShebang_get in highlight_wrap.o __wrap_DataDir_initSearchDirectories in highlight_wrap.o ... "_Perl_sv_setiv", referenced from: _boot_highlight in highlight_wrap.o "_Perl_sv_setpvf", referenced from: __wrap_DataDir_assocByExtension_set in highlight_wrap.o __wrap_DataDir_assocByExtension_get in highlight_wrap.o __wrap_DataDir_assocByFilename_set in highlight_wrap.o __wrap_DataDir_assocByFilename_get in highlight_wrap.o __wrap_DataDir_assocByShebang_set in highlight_wrap.o __wrap_DataDir_assocByShebang_get in highlight_wrap.o __wrap_DataDir_initSearchDirectories in highlight_wrap.o ... "_Perl_sv_setpvn", referenced from: __wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o __wrap_DataDir_getSystemDataPath in highlight_wrap.o __wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getThemePath__SWIG_1 in highlight_wrap.o __wrap_DataDir_getThemePath__SWIG_2 in highlight_wrap.o ... "_Perl_sv_setref_pv", referenced from: __wrap_DataDir_assocByExtension_get in highlight_wrap.o __wrap_DataDir_assocByFilename_get in highlight_wrap.o __wrap_DataDir_assocByShebang_get in highlight_wrap.o __wrap_SyntaxReader_getKeywords in highlight_wrap.o __wrap_SyntaxReader_getKeywordClasses in highlight_wrap.o __wrap_SyntaxReader_getRegexElements in highlight_wrap.o __wrap_SyntaxReader_getPersistentSnippets in highlight_wrap.o ... "_Perl_sv_setsv_flags", referenced from: __wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o __wrap_DataDir_getSystemDataPath in highlight_wrap.o __wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o __wrap_DataDir_getThemePath__SWIG_1 in highlight_wrap.o __wrap_DataDir_getThemePath__SWIG_2 in highlight_wrap.o ... ld: symbol(s) not found for architecture x86_64 clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
58 lines
1.6 KiB
Nix
58 lines
1.6 KiB
Nix
{ stdenv, fetchFromGitLab, getopt, lua, boost, pkgconfig, swig, perl, gcc }:
|
|
|
|
with stdenv.lib;
|
|
|
|
let
|
|
self = stdenv.mkDerivation rec {
|
|
pname = "highlight";
|
|
version = "3.54";
|
|
|
|
src = fetchFromGitLab {
|
|
owner = "saalen";
|
|
repo = "highlight";
|
|
rev = "v${version}";
|
|
sha256 = "1144qv3c02hd3qrnms9cxfprdmkvz06vy4zjq500wg4iz7r8654m";
|
|
};
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
nativeBuildInputs = [ pkgconfig swig perl ] ++ optional stdenv.isDarwin gcc;
|
|
|
|
buildInputs = [ getopt lua boost ];
|
|
|
|
prePatch = stdenv.lib.optionalString stdenv.cc.isClang ''
|
|
substituteInPlace src/makefile \
|
|
--replace 'CXX=g++' 'CXX=clang++'
|
|
'';
|
|
|
|
preConfigure = ''
|
|
makeFlags="PREFIX=$out conf_dir=$out/etc/highlight/ CXX=$CXX AR=$AR"
|
|
'';
|
|
|
|
# This has to happen _before_ the main build because it does a
|
|
# `make clean' for some reason.
|
|
preBuild = optionalString (!stdenv.isDarwin) ''
|
|
make -C extras/swig $makeFlags perl
|
|
'';
|
|
|
|
postCheck = optionalString (!stdenv.isDarwin) ''
|
|
perl -Iextras/swig extras/swig/testmod.pl
|
|
'';
|
|
|
|
preInstall = optionalString (!stdenv.isDarwin) ''
|
|
mkdir -p $out/${perl.libPrefix}
|
|
install -m644 extras/swig/highlight.{so,pm} $out/${perl.libPrefix}
|
|
make -C extras/swig clean # Clean up intermediate files.
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "Source code highlighting tool";
|
|
homepage = "http://www.andre-simon.de/doku/highlight/en/highlight.php";
|
|
platforms = platforms.unix;
|
|
maintainers = with maintainers; [ ndowens willibutz ];
|
|
};
|
|
};
|
|
|
|
in
|
|
if stdenv.isDarwin then self
|
|
else perl.pkgs.toPerlModule self
|