highlight: export Perl bindings
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)
This commit is contained in:
parent
34b5ef1a41
commit
7e1a3d01d7
@ -1,37 +1,58 @@
|
||||
{ stdenv, fetchFromGitLab, getopt, lua, boost, pkgconfig, gcc }:
|
||||
{ stdenv, fetchFromGitLab, getopt, lua, boost, pkgconfig, swig, perl, gcc }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "highlight";
|
||||
version = "3.54";
|
||||
let
|
||||
self = stdenv.mkDerivation rec {
|
||||
pname = "highlight";
|
||||
version = "3.54";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "saalen";
|
||||
repo = "highlight";
|
||||
rev = "v${version}";
|
||||
sha256 = "1144qv3c02hd3qrnms9cxfprdmkvz06vy4zjq500wg4iz7r8654m";
|
||||
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 ];
|
||||
};
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ] ++ 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"
|
||||
'';
|
||||
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user