{ lib, pkgs, stdenv, fetchFromGitea, self, system, }: let viz1090-mapdata = self.packages.${system}.viz1090-mapdata; in stdenv.mkDerivation rec { pname = "viz1090"; version = "0.1.0"; src = fetchFromGitea { domain = "git.vulpecula.zone"; owner = "tasiaiso"; repo = pname; rev = "1922324b40f84fd449cec3fbfdade8aa33597bf6"; hash = "sha256-bPVFKbGtPXOitzzHb3yJ6XW3fRh8PF/7kfP7EJkJX3c="; }; nativeBuildInputs = with pkgs; [ rtl-sdr-librtlsdr SDL2 SDL2_ttf SDL2_gfx gdal git ]; buildInputs = [ viz1090-mapdata ]; buildPhase = '' echo "diff --git a/Makefile b/Makefile index 5e60779..d5b30ab 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ # sure that the variable PREFIX is defined, e.g. make PREFIX=/usr/local # -CXXFLAGS=-O2 -std=c++11 -g +CXXFLAGS=-O2 -std=c++11 -g -I ${pkgs.SDL2.dev}/include/SDL2/ LIBS= -lm -lSDL2 -lSDL2_ttf -lSDL2_gfx -g CXX=g++ diff --git a/Map.cpp b/Map.cpp index cd798ec..c5736bd 100644 --- a/Map.cpp +++ b/Map.cpp @@ -189,7 +189,7 @@ std::vector Map::getLines(float screen_lat_min, float screen_lat_max, flo Map::Map() { FILE *fileptr; - if((fileptr = fopen(\"mapdata.bin\", \"rb\"))) { + if((fileptr = fopen(\"${viz1090-mapdata}/mapdata.bin\", \"rb\"))) { fseek(fileptr, 0, SEEK_END); @@ -255,7 +255,7 @@ Map::Map() { // - if((fileptr = fopen(\"airportdata.bin\", \"rb\"))) { + if((fileptr = fopen(\"${viz1090-mapdata}/airportdata.bin\", \"rb\"))) { fseek(fileptr, 0, SEEK_END); airportPoints_count = ftell(fileptr) / sizeof(float); rewind(fileptr); @@ -350,7 +350,7 @@ Map::Map() { infile.close(); - infile.open(\"airportnames\"); + infile.open(\"${viz1090-mapdata}/airportnames\"); while (std::getline(infile, line)) diff --git a/View.cpp b/View.cpp index d5dace7..90f6165 100644 --- a/View.cpp +++ b/View.cpp @@ -174,13 +174,13 @@ void View::closeFont(TTF_Font *font) void View::font_init() { - mapFont = loadFont(\"font/TerminusTTF-4.46.0.ttf\", 12 * screen_uiscale); - mapBoldFont = loadFont(\"font/TerminusTTF-Bold-4.46.0.ttf\", 12 * screen_uiscale); + mapFont = loadFont(\"${viz1090-mapdata}/font/TerminusTTF-4.46.0.ttf\", 12 * screen_uiscale); + mapBoldFont = loadFont(\"${viz1090-mapdata}/font/TerminusTTF-Bold-4.46.0.ttf\", 12 * screen_uiscale); - listFont = loadFont(\"font/TerminusTTF-4.46.0.ttf\", 12 * screen_uiscale); + listFont = loadFont(\"${viz1090-mapdata}/font/TerminusTTF-4.46.0.ttf\", 12 * screen_uiscale); - messageFont = loadFont(\"font/TerminusTTF-Bold-4.46.0.ttf\", 12 * screen_uiscale); - labelFont = loadFont(\"font/TerminusTTF-Bold-4.46.0.ttf\", 12 * screen_uiscale); + messageFont = loadFont(\"${viz1090-mapdata}/font/TerminusTTF-Bold-4.46.0.ttf\", 12 * screen_uiscale); + labelFont = loadFont(\"${viz1090-mapdata}/font/TerminusTTF-Bold-4.46.0.ttf\", 12 * screen_uiscale); mapFontWidth = 5 * screen_uiscale; mapFontHeight = 12 * screen_uiscale; " | git apply - cat Map.cpp | grep mapdata make -j $NIX_BUILD_CORES ''; installPhase = '' mkdir -p $out/bin cp -v viz1090 $out/bin ''; }