Skip to content

Instantly share code, notes, and snippets.

@wnklmnn
Created January 19, 2021 15:10
Show Gist options
  • Save wnklmnn/a8cb177b46b6af5e448c2b6c88eae477 to your computer and use it in GitHub Desktop.
Save wnklmnn/a8cb177b46b6af5e448c2b6c88eae477 to your computer and use it in GitHub Desktop.
{pkgs ? import <nixpkgs>{} }:
let
xmlada = pkgs.fetchgit{
url ="https://github.com/Adacore/xmlada";
rev="6d195c06e08f389e4b3705e04763025e9a1fa31e";
sha256 = "09b6yg0g4cprml936nkirjyppl7yk1b4gwdq6m45hifnsd6zqwzr";
};
gprconfig_kb = pkgs.fetchgit{
url ="https://github.com/Adacore/gprconfig_kb";
rev="7f920ebd6cdf81789ee8ae2af30e685a40a2bcd3";
sha256 = "0x8bzqg2b3q02vn5hdyki6k690k6858vdgnwm410fsj05pbv88r4";
};
gprbuild = pkgs.stdenv.mkDerivation{
name = "gprbuild";
src = pkgs.fetchgit{
url ="https://github.com/Adacore/gprbuild";
rev= "11fbc51e666f35d221d1b2fa7032e6fc0495b381";# "b6d6c879daf88d91d35e3c5f943195ee727e6329";
sha256 = "1grb76ivlmpxfqcw0j62y4a3hh7flsd6x27bgdjl2ycakclc5lmd"; #builtins.hashString "sha256""1gbk1ix75qqiv78nqml77il73kx29r908l4lpmsm11wcnx8vi5mc";
};
buildInputs = [pkgs.gnat pkgs.gcc xmlada gprconfig_kb pkgs.which];
buildPhase = ''
substituteInPlace ./bootstrap.sh --replace "#!/bin/bash" "#!${pkgs.bash}/bin/bash"
substituteInPlace ./Makefile --replace 'INSTALLER=exe/$(BUILD)/$(LIB_INSTALLER)' 'INSTALLER=out/bin/$(LIB_INSTALLER)'
./bootstrap.sh -h
./bootstrap.sh --with-xmlada="${xmlada}" --with-kb="${gprconfig_kb}" --prefix=out
'';
};
gtkada = pkgs.stdenv.mkDerivation{
name = "gtkada";
src = pkgs.fetchgit {
url = "https://github.com/Adacore/gtkada";
rev = "dfb7ae29247f0434510d355b9c60d915257fe5fa";
sha256 = "0a8xajx6fal6lrxs7dc4kjrbmyjghf8q0lys88wj3q3rgc6gi223";
};
buildInputs = [ gprbuild ];
};
in
pkgs.stdenv.mkDerivation rec {
name = "gps";
src = pkgs.fetchgit {
url = "https://github.com/Adacore/gps";
rev = "94fb7d5eed27b972e5b793f33e2bbbde2f28ed15";
sha256 = "0j4q7ms61a1n70sdv9zqg5pq7v27y7rxjcfmq16ds13vhcr0g0n7";
};
buildInputs = with pkgs; [gtkada];
nativeBuildInputs = with pkgs; [ gnat ];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment