Unverified Commit 369ab55a authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #250633 from jue89/add-horizonpy

python311Packages.horizon-eda: init at 2.5.0
parents 17a63e29 4c620881
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -8802,6 +8802,12 @@
    githubId = 1189739;
    name = "Julio Borja Barra";
  };
  jue89 = {
    email = "me@jue.yt";
    github = "jue89";
    githubId = 6105784;
    name = "Juergen Fitschen";
  };
  jugendhacker = {
    name = "j.r";
    email = "j.r@jugendhacker.de";
+58 −0
Original line number Diff line number Diff line
{ lib
, cppzmq
, curl
, fetchFromGitHub
, glm
, gtkmm3
, libarchive
, libepoxy
, libgit2
, librsvg
, libuuid
, opencascade-occt
, pkg-config
, podofo
, sqlite
}:

# This base is used in horizon-eda and python3Packages.horizon-eda
rec {
  pname = "horizon-eda";
  version = "2.5.0";

  src = fetchFromGitHub {
    owner = "horizon-eda";
    repo = "horizon";
    rev = "v${version}";
    hash = "sha256-UcjbDJR6shyETpanNkRoH8LF8r6gFjsyNHVSCMHKqS8=";
  };

  nativeBuildInputs = [
    pkg-config
  ];

  buildInputs = [
    cppzmq
    curl
    glm
    gtkmm3
    libarchive
    libepoxy
    libgit2
    librsvg
    libuuid
    opencascade-occt
    podofo
    sqlite
  ];

  CASROOT = opencascade-occt;

  meta = with lib; {
    description = "A free EDA software to develop printed circuit boards";
    homepage = "https://horizon-eda.org";
    maintainers = with maintainers; [ guserav jue89 ];
    license = licenses.gpl3Plus;
    platforms = platforms.linux;
  };
}
+11 −48
Original line number Diff line number Diff line
{ stdenv
, boost
, callPackage
, coreutils
, cppzmq
, curl
, libepoxy
, fetchFromGitHub
, glm
, gtkmm3
, lib
, libarchive
, libgit2
, librsvg
, libspnav
, libuuid
, opencascade-occt
, pkg-config
, podofo
, python3
, sqlite
, wrapGAppsHook
}:

let
  base = callPackage ./base.nix { };
in
stdenv.mkDerivation rec {
  pname = "horizon-eda";
  version = "2.5.0";
  inherit (base) pname version src meta CASROOT;

  src = fetchFromGitHub {
    owner = "horizon-eda";
    repo = "horizon";
    rev = "v${version}";
    sha256 = "sha256-UcjbDJR6shyETpanNkRoH8LF8r6gFjsyNHVSCMHKqS8=";
  # provide base for python module
  passthru = {
    inherit base;
  };

  buildInputs = [
    cppzmq
    curl
    libepoxy
    glm
    gtkmm3
    libarchive
    libgit2
    librsvg
  buildInputs = base.buildInputs ++ [
    libspnav
    libuuid
    opencascade-occt
    podofo
    python3
    sqlite
  ];

  nativeBuildInputs = [
  nativeBuildInputs = base.nativeBuildInputs ++ [
    boost.dev
    pkg-config
    wrapGAppsHook
    python3
  ];

  CASROOT = opencascade-occt;

  installFlags = [
    "INSTALL=${coreutils}/bin/install"
    "DESTDIR=$(out)"
@@ -64,12 +35,4 @@ stdenv.mkDerivation rec {
  ];

  enableParallelBuilding = true;

  meta = with lib; {
    description = "A free EDA software to develop printed circuit boards";
    homepage = "https://horizon-eda.org";
    maintainers = with maintainers; [ guserav ];
    license = licenses.gpl3;
    platforms = platforms.linux;
  };
}
+46 −0
Original line number Diff line number Diff line
{ lib
, stdenv
, buildPythonPackage
, callPackage
, horizon-eda
, mesa
, pycairo
, python
, pythonOlder
}:

let
  base = horizon-eda.passthru.base;
in
buildPythonPackage {
  inherit (base) pname version src meta CASROOT;

  pyproject = false;

  disabled = pythonOlder "3.9";

  buildInputs = base.buildInputs ++ [
    mesa
    mesa.osmesa
    python
  ];

  propagatedBuildInputs = [
    pycairo
  ];

  nativeBuildInputs = base.nativeBuildInputs;

  buildFlags = ["pymodule"];

  installPhase = ''
    runHook preInstall

    mkdir -p $out/${python.sitePackages}
    cp build/horizon.so $out/${python.sitePackages}

    runHook postInstall
  '';

  enableParallelBuilding = true;
}
+4 −0
Original line number Diff line number Diff line
@@ -5022,6 +5022,10 @@ self: super: with self; {
  hopcroftkarp = callPackage ../development/python-modules/hopcroftkarp { };
  horizon-eda = callPackage ../development/python-modules/horizon-eda {
    inherit (pkgs) horizon-eda mesa;
  };
  howdoi = callPackage ../development/python-modules/howdoi { };
  hpack = callPackage ../development/python-modules/hpack { };