Skip to content

Instantly share code, notes, and snippets.

@MagnificentPako
Created April 12, 2018 17:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MagnificentPako/8e5944abfbde0bc589ca8ada1f93f255 to your computer and use it in GitHub Desktop.
Save MagnificentPako/8e5944abfbde0bc589ca8ada1f93f255 to your computer and use it in GitHub Desktop.
with import <nixpkgs> {};
clangStdenv.mkDerivation {
name = "emojicode-0.6";
src = fetchFromGitHub {
owner = "emojicode";
repo = "emojicode";
sha256 = "0v5r481xhjc3kdk9a49yi9lqnd6gxq5iws4d65dcx43mw3wz38sj";
rev = "5d655df6b7f7ffa13c4addfc140ef83d695381ca";
};
buildInputs = [ cmake clang_5 llvm_5 ncurses.dev ];
propagateBuildInputs = [ clang_5 ];
patchPhase = ''
sed -i 's/curses/ncurses/' Compiler/CMakeLists.txt
substituteInPlace Compiler/CLI/Options.cpp --replace /usr/local/EmojicodePackages "$out/EmojicodePackages"
substituteInPlace Compiler/Compiler.cpp --replace "cmd << linker_" "cmd << \"${pkgs.clang_5}/bin/g++\""
'';
installPhase = ''
mkdir -p $out/bin
mkdir $out/EmojicodePackages
mkdir $out/EmojicodePackages/s
mkdir $out/EmojicodePackages/sockets
mkdir $out/EmojicodePackages/files
mkdir $out/EmojicodePackages/runtime
cp Compiler/emojicodec $out/bin/
cp emojicodemig $out/bin/
cp s/interface.emojii $out/EmojicodePackages/s
cp s/s.o $out/EmojicodePackages/s
cp s/libs.a $out/EmojicodePackages/s
cp sockets/interface.emojii $out/EmojicodePackages/sockets
cp sockets/sockets.o $out/EmojicodePackages/sockets
cp files/interface.emojii $out/EmojicodePackages/files
cp files/files.o $out/EmojicodePackages/files
cp runtime/libruntime.a $out/EmojicodePackages/runtime
'';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment