dev-qt/qtopengl: stable 5.14.2 for ppc, bug #719732
[gentoo.git] / eclass / openib.eclass
1 # Copyright 1999-2014 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 # @ECLASS: openib.eclass
5 # @AUTHOR:
6 # Original Author: Alexey Shvetsov <alexxy@gentoo.org>
7 # @BLURB: Simplify working with OFED packages
8
9 inherit eutils rpm versionator
10
11 EXPORT_FUNCTIONS src_unpack
12
13 HOMEPAGE="https://www.openfabrics.org/"
14 LICENSE="|| ( GPL-2 BSD-2 )"
15
16 # @ECLASS-VARIABLE: OFED_VER
17 # @DESCRIPTION:
18 # Defines OFED version eg 1.4 or 1.4.0.1
19
20 # @ECLASS-VARIABLE: OFED_RC
21 # @DESCRIPTION:
22 # Sets if this version is RC
23
24 # @ECLASS-VARIABLE: OFED_RC_VER
25 # @DESCRIPTION:
26 # Sets RC version
27
28
29 # @ECLASS-VARIABLE: OFED_SUFFIX
30 # @DESCRIPTION:
31 # Defines OFED package suffix eg -1.ofed1.4
32
33 # @ECLASS-VARIABLE: OFED_SNAPSHOT
34 # @DESCRIPTION:
35 # Defines if src tarball is git snapshot
36
37 SLOT="${OFED_VER}"
38
39 # @ECLASS-VARIABLE: OFED_VERSIONS
40 # @DESCRIPTION:
41 # Defines array of ofed version supported by eclass
42
43 OFED_VERSIONS=(
44         "3.5"
45         "3.12"
46         )
47
48 # @FUNCTION: block_other_ofed_versions
49 # @DESCRIPTION:
50 # function that creates blockers list for ofed
51 block_other_ofed_versions() {
52         local slot
53         RDEPEND="${RDEPEND} !sys-fabric/${PN}:0"
54         for slot in ${OFED_VERSIONS[@]}; do
55                 if [[ ${slot} != ${SLOT} ]]; then
56                         RDEPEND+=" !sys-fabric/${PN}:${slot}"
57                 fi
58         done
59 }
60
61 OFED_BASE_VER=$(get_version_component_range 1-3 ${OFED_VER})
62
63 if [ -z $OFED_RC ] ; then
64         SRC_URI="https://www.openfabrics.org/downloads/OFED/ofed-${OFED_BASE_VER}/OFED-${OFED_VER}.tgz"
65 else
66         SRC_URI="https://www.openfabrics.org/downloads/OFED/ofed-${OFED_BASE_VER}/OFED-${OFED_VER}-rc${OFED_RC_VER}.tgz"
67 fi
68
69 case ${PN} in
70         ofed)
71                 MY_PN="compat-rdma"
72                 ;;
73         *)
74                 MY_PN="${PN}"
75                 ;;
76 esac
77
78 case ${PV} in
79         *p*)
80                 MY_PV="${PV/p/}"
81                 ;;
82         *)
83                 MY_PV="${PV}"
84                 ;;
85 esac
86
87 case ${MY_PN} in
88         ofa_kernel|compat-rdma)
89                 EXT="tgz"
90                 ;;
91         *)
92                 EXT="tar.gz"
93                 ;;
94 esac
95
96 if [ -z ${OFED_SRC_SNAPSHOT} ]; then
97         S="${WORKDIR}/${MY_PN}-${MY_PV}"
98 else
99         S="${WORKDIR}/${MY_PN}-${MY_PV}-${OFED_SUFFIX}"
100 fi
101
102
103 # @FUNCTION: openib_src_unpack
104 # @DESCRIPTION:
105 # This function will unpack OFED packages
106 openib_src_unpack() {
107         unpack ${A}
108         if [ -z ${OFED_RC} ]; then
109                 case ${PN} in
110                         ofed)
111                                 rpm_unpack "./OFED-${OFED_VER}/SRPMS/${MY_PN}-${OFED_VER}-${OFED_SUFFIX}.src.rpm"
112                                 ;;
113                         *)
114                                 rpm_unpack "./OFED-${OFED_VER}/SRPMS/${MY_PN}-${MY_PV}-${OFED_SUFFIX}.src.rpm"
115                                 ;;
116                 esac
117         else
118                 case ${PN} in
119                         ofed)
120                                 rpm_unpack "./OFED-${OFED_VER}-rc${OFED_RC_VER}/SRPMS/${MY_PN}-${OFED_VER}-${OFED_SUFFIX}.src.rpm"
121                                 ;;
122                         *)
123                                 rpm_unpack "./OFED-${OFED_VER}-rc${OFED_RC_VER}/SRPMS/${MY_PN}-${MY_PV}-${OFED_SUFFIX}.src.rpm"
124                                 ;;
125                 esac
126         fi
127         if [ -z ${OFED_SNAPSHOT} ]; then
128                 case ${PN} in
129                         ofed)
130                                 unpack ./${MY_PN}-${OFED_VER}.${EXT}
131                                 ;;
132                         *)
133                                 unpack ./${MY_PN}-${MY_PV}.${EXT}
134                                 ;;
135                 esac
136         else
137                 case ${PN} in
138                         ofed)
139                                 unpack ./${MY_PN}-${OFED_VER}-${OFED_SUFFIX}.${EXT}
140                                 ;;
141                         *)
142                                 unpack ./${MY_PN}-${MY_PV}-${OFED_SUFFIX}.${EXT}
143                                 ;;
144                 esac
145         fi
146 }