etesian and anabatic

This commit is contained in:
Las Safin 2021-08-27 14:26:33 +00:00
parent a5187f34b9
commit 4dff6fd6c3
No known key found for this signature in database
GPG Key ID: E7FA928911B61ED6
13 changed files with 62 additions and 95 deletions

View File

@ -6,6 +6,7 @@ endif ( CHECK_DETERMINISM )
include_directories( ${ANABATIC_SOURCE_DIR}/src
${CORIOLIS_INCLUDE_DIR}
${ETESIAN_INCLUDE_DIR}
${HURRICANE_INCLUDE_DIR}
${CONFIGURATION_INCLUDE_DIR}
${FLUTE_INCLUDE_DIR}

View File

@ -63,3 +63,5 @@ IF(UNIX)
HURRICANE_CHECK_LIBRARIES(CORIOLIS_PYTHON ${CORIOLIS_FIND_REQUIRED})
ENDIF(UNIX)
SET(CORIOLIS_INCLUDE_DIR "${CRLCORE_INCLUDE_PATH}")

View File

@ -5,6 +5,7 @@
# ETESIAN_INCLUDE_DIR - the path to where the Coriolis include files are.
# ETESIAN_LIBRARIES - The path to where the Coriolis library files are.
find_package(COLOQUINTE REQUIRED)
SET(ETESIAN_INCLUDE_PATH_DESCRIPTION "directory containing the Etesian include files. E.g /usr/local/include/coriolis or /asim/coriolis/include/coriolis")
@ -24,6 +25,8 @@ IF(UNIX)
# Help the user find it if we cannot.
DOC "The ${ETESIAN_INCLUDE_PATH_DESCRIPTION}"
)
SET(ETESIAN_INCLUDE_PATH "${ETESIAN_INCLUDE_PATH};${COLOQUINTE_INCLUDE_DIR}")
MESSAGE("djaa${ETESIAN_INCLUDE_PATH};${COLOQUINTE_INCLUDE_DIR}djau")
FIND_LIBRARY(ETESIAN_LIBRARY_PATH
NAMES etesian

View File

@ -8,7 +8,8 @@
let
# Generate a user-friendly version numer.
version = builtins.substring 0 8 self.lastModifiedDate;
#version = builtins.substring 0 8 self.lastModifiedDate;
version = "unstable";
# System types to support.
supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
@ -19,60 +20,6 @@
# Nixpkgs instantiated for supported system types.
nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; overlays = [ self.overlay ]; });
/*
coriolis =
{ lib, stdenv, python2, cmake_2_8, boost, bison, flex
, libxml2, rapidjson, which, qt4, zlib, bzip2 }:
let boostWithPython = boost.override { enablePython = true; python = python2; }; in
stdenv.mkDerivation {
name = "coriolis-${version}";
src = ./.;
postPatch = ''
export HOME=/build
mkdir -p /build/coriolis-2.x/src
dir="$PWD"
mv "$PWD" -T /build/coriolis-2.x/src/coriolis
patchShebangs .
fixCmakeFiles .
'';
configurePhase = ''
runHook preConfigure
makeCmakeFindLibs
export LDFLAGS="$NIX_LDFLAGS"
runHook postConfigure
'';
hardeningDisable = [ "format" ];
buildPhase = ''
runHook preBuild
./bootstrap/ccb.py --project=coriolis --make="-j$NIX_BUILD_CORES install"
runHook postBuild
'';
installPhase = ''
mkdir $out
mv /build/coriolis-2.x/*.* -t $out
'';
checkPhase = "true";
buildInputs = [ python2 boostWithPython libxml2 rapidjson qt4 zlib bzip2 ];
nativeBuildInputs = [ cmake_2_8 bison flex which ];
meta = with lib; {
description = "Coriolis is a free database, placement tool and routing tool for VLSI design.";
homepage = "http://coriolis.lip6.fr/";
license = licenses.gpl3;
platforms = platforms.all;
};
};
*/
meta = with nixpkgs.lib; {
description = "Coriolis is a free database, placement tool and routing tool for VLSI design.";
homepage = "http://coriolis.lip6.fr/";
@ -80,7 +27,13 @@
platforms = platforms.all;
};
components = [ "vlsisapd" "lefdef" "bootstrap" "hurricane" "crlcore" "cumulus" "flute" ];
override = drv: drv.overrideAttrs (o: {
preConfigure = ''
cmakeFlagsArray+=(-DCMAKE_MODULE_PATH="$(sed -e 's|:|/share/cmake/Modules;|g' <<< "$CMAKE_PREFIX_PATH:")")
'' + (o.preConfigure or "");
});
components = [ "vlsisapd" "lefdef" "bootstrap" "hurricane" "crlcore" "cumulus" "flute" "etesian" "anabatic" "coloquinte" ];
in
@ -88,9 +41,9 @@
overlay = final: prev:
builtins.foldl'
(acc: elem: acc // {
"coriolis-${elem}" = final.callPackage (
"coriolis-${elem}" = override (final.callPackage (
import "${self}/nix/${elem}.nix" { inherit version meta; }
) {};
) {});
}) {} components;
packages = forAllSystems (system: builtins.foldl' (acc: elem: acc // {

23
nix/anabatic.nix Normal file
View File

@ -0,0 +1,23 @@
{ version, meta }:
{ lib, stdenv, cmake, ninja, python2, boost
, coriolis-bootstrap, coriolis-vlsisapd, coriolis-hurricane
, coriolis-crlcore, coriolis-etesian, qt4
, coriolis-flute }:
let boostWithPython = boost.override { enablePython = true; python = python2; }; in
stdenv.mkDerivation {
pname = "coriolis-anabatic";
src = ../anabatic;
buildInputs = [
python2 boostWithPython coriolis-bootstrap
coriolis-vlsisapd coriolis-hurricane coriolis-crlcore
coriolis-etesian qt4 coriolis-flute
];
nativeBuildInputs = [ cmake ninja ];
inherit version meta;
}

View File

@ -9,8 +9,6 @@ stdenv.mkDerivation {
src = ../coloquinte;
cmakeFlags = [ "-DCMAKE_MODULE_PATH=${coriolis-bootstrap}/share/cmake/Modules" ];
buildInputs = [ boostWithPython coriolis-bootstrap qt4 ];
nativeBuildInputs = [ cmake ninja ];

View File

@ -11,15 +11,6 @@ stdenv.mkDerivation {
src = ../crlcore;
cmakeFlags = [
(
"-DCMAKE_MODULE_PATH="
+ "${coriolis-bootstrap}/share/cmake/Modules"
+ ";${coriolis-vlsisapd}/share/cmake/Modules"
+ ";${coriolis-hurricane}/share/cmake/Modules"
)
];
buildInputs = [
python2 boostWithPython coriolis-bootstrap coriolis-lefdef
coriolis-hurricane coriolis-vlsisapd libxml2 bison flex qt4

View File

@ -9,16 +9,6 @@ stdenv.mkDerivation {
src = ../cumulus;
cmakeFlags = [
(
"-DCMAKE_MODULE_PATH="
+ "${coriolis-bootstrap}/share/cmake/Modules"
+ ";${coriolis-vlsisapd}/share/cmake/Modules"
+ ";${coriolis-hurricane}/share/cmake/Modules"
+ ";${coriolis-crlcore}/share/cmake/Modules"
)
];
buildInputs = [ python2 coriolis-bootstrap coriolis-vlsisapd coriolis-hurricane coriolis-crlcore ];
nativeBuildInputs = [ cmake ninja ];

22
nix/etesian.nix Normal file
View File

@ -0,0 +1,22 @@
{ version, meta }:
{ lib, stdenv, cmake, ninja, python2, boost
, coriolis-bootstrap, coriolis-vlsisapd, coriolis-hurricane
, coriolis-crlcore, coriolis-coloquinte, qt4 }:
let boostWithPython = boost.override { enablePython = true; python = python2; }; in
stdenv.mkDerivation {
pname = "coriolis-etesian";
src = ../etesian;
buildInputs = [
qt4 python2 boostWithPython coriolis-bootstrap coriolis-vlsisapd
coriolis-hurricane coriolis-coloquinte coriolis-crlcore
];
propagatedBuildInputs = [ coriolis-coloquinte ];
nativeBuildInputs = [ cmake ninja ];
inherit version meta;
}

View File

@ -11,16 +11,6 @@ stdenv.mkDerivation {
src = ../flute;
cmakeFlags = [
(
"-DCMAKE_MODULE_PATH="
+ "${coriolis-bootstrap}/share/cmake/Modules"
+ ";${coriolis-vlsisapd}/share/cmake/Modules"
+ ";${coriolis-hurricane}/share/cmake/Modules"
+ ";${coriolis-crlcore}/share/cmake/Modules"
)
];
buildInputs = [ python2 boostWithPython coriolis-bootstrap coriolis-vlsisapd coriolis-hurricane coriolis-crlcore ];
nativeBuildInputs = [ cmake ninja ];

View File

@ -11,8 +11,6 @@ stdenv.mkDerivation {
src = ../hurricane;
cmakeFlags = [ "-DCMAKE_MODULE_PATH=${coriolis-bootstrap}/share/cmake/Modules;${coriolis-vlsisapd}/share/cmake/Modules" ];
buildInputs = [ python2 boostWithPython coriolis-bootstrap libxml2 bison flex qt4 bzip2 coriolis-vlsisapd rapidjson ];
nativeBuildInputs = [ cmake ninja ];

View File

@ -12,8 +12,6 @@ stdenv.mkDerivation {
hardeningDisable = [ "format" ];
cmakeFlags = [ "-DCMAKE_MODULE_PATH=${coriolis-bootstrap}/share/cmake/Modules" ];
buildInputs = [ python2 boostWithPython coriolis-bootstrap bison flex zlib ];
nativeBuildInputs = [ cmake ninja ];

View File

@ -10,8 +10,6 @@ stdenv.mkDerivation {
src = ../vlsisapd;
cmakeFlags = [ "-DCMAKE_MODULE_PATH=${coriolis-bootstrap}/share/cmake/Modules" ];
buildInputs = [ python2 boostWithPython coriolis-bootstrap libxml2 bison flex qt4 ];
nativeBuildInputs = [ cmake ninja ];