Skip to content
This repository has been archived by the owner on Mar 11, 2021. It is now read-only.

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
Based on dlspkgs and using upstream module version
  • Loading branch information
EmilioPeJu committed Jun 18, 2020
0 parents commit 930027e
Show file tree
Hide file tree
Showing 31 changed files with 1,894 additions and 0 deletions.
83 changes: 83 additions & 0 deletions default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{ pkgs ? import (fetchTarball
"https://github.com/NixOS/nixpkgs-channels/archive/nixos-20.03.tar.gz") { } }:
with pkgs; rec {
buildEpicsModule =
callPackage ./epics-modules/generic { inherit epics-base patch-configure; };
epics-base = callPackage ./epics-base { };
patch-configure = callPackage ./patch-configure { };
epics-sscan = callPackage ./epics-sscan { inherit buildEpicsModule; };
epics-calc = callPackage ./epics-calc { inherit buildEpicsModule; };
epics-asyn = callPackage ./epics-asyn { inherit buildEpicsModule; };
epics-busy =
callPackage ./epics-busy { inherit buildEpicsModule epics-asyn; };
epics-pvcommon = callPackage ./epics-pvcommon { inherit buildEpicsModule; };
epics-pvdata =
callPackage ./epics-pvdata { inherit buildEpicsModule epics-pvcommon; };
epics-normativetypes = callPackage ./epics-normativetypes {
inherit buildEpicsModule epics-pvcommon epics-pvdata;
};
epics-pvaccess = callPackage ./epics-pvaccess {
inherit buildEpicsModule epics-pvcommon epics-pvdata;
};
epics-pvdatabase = callPackage ./epics-pvdatabase {
inherit buildEpicsModule epics-pvcommon epics-pvdata epics-pvaccess;
};
epics-pvaclient = callPackage ./epics-pvaclient {
inherit buildEpicsModule epics-pvdata epics-normativetypes epics-pvaccess;
};
epics-adcore = callPackage ./epics-adcore {
inherit buildEpicsModule epics-asyn epics-busy epics-sscan epics-calc
epics-pvdata epics-normativetypes epics-pvaccess epics-pvdatabase;
};
epics-adsimdetector = callPackage ./epics-adsimdetector {
inherit buildEpicsModule epics-asyn epics-adcore;
};
epics-ffmpegserver = callPackage ./epics-ffmpegserver {
inherit buildEpicsModule epics-asyn epics-adcore epics-adsimdetector;
};
epics-aravisgige = callPackage ./epics-aravisgige {
inherit buildEpicsModule epics-asyn epics-adcore;
};
epics-streamdevice =
callPackage ./epics-streamdevice { inherit buildEpicsModule epics-asyn; };
epics-seq = callPackage ./epics-seq { inherit buildEpicsModule; };
epics-motor = callPackage ./epics-motor {
inherit buildEpicsModule epics-busy epics-asyn;
};
epics-pmac = callPackage ./epics-pmac {
inherit buildEpicsModule epics-calc epics-busy epics-asyn epics-motor;
};
epics-adpython = callPackage ./epics-adpython {
inherit buildEpicsModule epics-asyn epics-adcore;
};
edm = callPackage ./edm { inherit epics-base patch-configure; };
epics-all = buildEnv {
name = "epics-all";
ignoreCollisions = true;
pathsToLink = [ "/bin" ];
paths = [
patch-configure
epics-base
epics-seq
epics-sscan
epics-asyn
epics-calc
epics-busy
epics-pvcommon
epics-pvdata
epics-normativetypes
epics-pvaccess
epics-pvdatabase
epics-pvaclient
epics-adcore
epics-streamdevice
epics-motor
epics-pmac
epics-adsimdetector
epics-adpython
epics-aravisgige
epics-ffmpegserver
edm
];
};
}
65 changes: 65 additions & 0 deletions edm/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
{ libpng, zlib, freetype, fontconfig, patch-configure, giflib, motif, xorg
, readline, epics-base, stdenv }:

stdenv.mkDerivation {
name = "edm";
buildInputs = [
libpng
zlib.dev
patch-configure
giflib
xorg.libX11
xorg.libXt
xorg.libXpm
xorg.libXext
xorg.libXmu
xorg.libXp
xorg.libXt
xorg.libXtst
freetype
fontconfig
motif
readline
epics-base
];
patches = [ ./libs-to-syslibs.patch ];
src = builtins.fetchGit {
url = "https://github.com/hir12111/edm";
ref = "master";
};

findSrc = builtins.toFile "find-epics" ''
#!/usr/bin/env bash
echo @out@
'';

configurePhase = ''
runHook preConfigure
patch-configure configure/RELEASE
cat << EOF > configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64
-include \$(TOP)/configure/os/CONFIG_SITE.linux-x86.linux-x86
X11_LIB=${xorg.libX11}/lib
X11_INC=${xorg.libX11}/include
MOTIF_LIB=${motif}/lib
MOTIF_INC=${motif}/include
EOF
'';

buildPhase = ''
true
'';

installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -rf * $out
substituteAll $findSrc $out/bin/find-$name
chmod +x $out/bin/find-$name
cd $out
export EPICS_EXTENSIONS=$out
make
ln -s $out/bin/linux-x86_64/edm $out/bin
find . \( -name '*.c' -or -name '*.cc' -or -name '*.cpp' -or -name '*.o' \) -exec rm {} \;
runHook postInstall
'';
}
Loading

0 comments on commit 930027e

Please sign in to comment.