From 78d82f33ac4a3e75c23c8759982b16c57f652b30 Mon Sep 17 00:00:00 2001 From: Ram Kromberg Date: Sat, 30 Jul 2016 17:35:51 +0300 Subject: [PATCH] alliance: 5.0 -> 5.1.1 (#17353) --- .../science/electronics/alliance/default.nix | 77 +++++++++++++++---- pkgs/top-level/all-packages.nix | 4 +- 2 files changed, 65 insertions(+), 16 deletions(-) diff --git a/pkgs/applications/science/electronics/alliance/default.nix b/pkgs/applications/science/electronics/alliance/default.nix index ee22c66dfec..ee01643d85e 100644 --- a/pkgs/applications/science/electronics/alliance/default.nix +++ b/pkgs/applications/science/electronics/alliance/default.nix @@ -1,23 +1,74 @@ -{stdenv, fetchurl, xproto, motif, libX11, libXt, libXpm, bison, flex}: +{ stdenv, fetchurl +, xproto, motif, libX11, libXt, libXpm, bison +, flex, automake, autoconf, libtool +}: -stdenv.mkDerivation { - name = "alliance-5.0-20070718"; +stdenv.mkDerivation rec { + name = "alliance-${version}"; + version = "5.1.1"; src = fetchurl { - url = http://www-asim.lip6.fr/pub/alliance/distribution/5.0/alliance-5.0-20070718.tar.gz; - sha256 = "4e17c8f9f4d344061166856d47e58527c6ae870fda0c73b5ba0200967d23af9f"; + url = "http://www-asim.lip6.fr/pub/alliance/distribution/5.0/${name}.tar.bz2"; + sha256 = "046c9qwl1vbww0ljm4xyxf5jpz9nq62b2q0wdz9xjimgh4c207w1"; }; - buildInputs = [ xproto motif xproto libX11 libXt libXpm bison flex]; - patchPhase = '' - sed -i -e \ - "s/private: static void operator delete/public: static void operator delete/" \ - nero/src/ADefs.h + nativeBuildInputs = [ libtool automake autoconf flex ]; + buildInputs = [ xproto motif xproto libX11 libXt libXpm bison ]; + + sourceRoot = "alliance/src/"; + + configureFlags = [ + "--prefix=$(out)" + "--disable-static" + ]; + + preConfigure = '' + mkdir -p $out/etc + + #texlive for docs seems extreme + mkdir -p $out/share/alliance + mv ./documentation $out/share/alliance + substituteInPlace autostuff \ + --replace "$newdirs documentation" "$newdirs" \ + --replace documentation Solaris + + substituteInPlace sea/src/DEF_grammar_lex.l \ + --replace "ifndef FLEX_BETA" "if (YY_FLEX_MAJOR_VERSION <= 2) && (YY_FLEX_MINOR_VERSION < 6)" + ./autostuff + ''; + + allianceInstaller = '' + #!${stdenv.shell} + cp -v -r -n --no-preserve=mode $out/etc/* /etc/ > /etc/alliance-install.log + ''; + + allianceUnInstaller = '' + #!${stdenv.shell} + awk '{print \$3}' /etc/alliance-install.log | xargs rm + awk '{print \$3}' /etc/alliance-install.log | xargs rmdir + rm /etc/alliance-install.log + ''; + + postInstall = '' + sed -i "s|ALLIANCE_TOP|$out|" distrib/*.desktop + mkdir -p $out/share/applications + cp -p distrib/*.desktop $out/share/applications/ + mkdir -p $out/icons/hicolor/48x48/apps/ + cp -p distrib/*.png $out/icons/hicolor/48x48/apps/ + + echo "${allianceInstaller}" > $out/bin/alliance-install + chmod +x $out/bin/alliance-install + + echo "${allianceUnInstaller}" > $out/bin/alliance-uninstall + chmod +x $out/bin/alliance-uninstall ''; - meta = { - description = "Complete set of free CAD tools and portable libraries for VLSI design"; - homepage = http://www-asim.lip6.fr/recherche/alliance/; + meta = with stdenv.lib; { + description = "Complete set of free CAD tools and portable libraries for VLSI design"; + homepage = http://www-asim.lip6.fr/recherche/alliance/; + license = with licenses; gpl2Plus; + maintainers = with maintainers; [ ]; + platforms = with platforms; linux; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index aacf3894e3a..ae53b78a9e8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16407,9 +16407,7 @@ in ### SCIENCE/BIOLOGY - alliance = callPackage ../applications/science/electronics/alliance { - motif = lesstif; - }; + alliance = callPackage ../applications/science/electronics/alliance { }; archimedes = callPackage ../applications/science/electronics/archimedes { stdenv = overrideCC stdenv gcc49;