forked from pol/tacc-sci-life
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexonerate-gff3-1.spec
143 lines (114 loc) · 4.28 KB
/
exonerate-gff3-1.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
Name: exonerate-gff3
Version: 2.3.0
Release: 1
License: GPL
Group: Applications/Life Sciences
Source: https://github.com/hotdogee/exonerate-gff3/archive/2.3.0.tar.gz
Packager: NAL - [email protected]
Summary: This is an exonerate fork with added gff3 support. Original website with user guides: http://www.ebi.ac.uk/~guy/exonerate/
Prefix: /opt/apps
#------------------------------------------------
# INITIAL DEFINITIONS
#------------------------------------------------
## System Definitions
%include ./include/system-defines.inc
%include ./include/%{PLATFORM}/rpm-dir.inc
## Compiler Family Definitions
# %include ./include/%{PLATFORM}/compiler-defines.inc
## MPI Family Definitions
# %include ./include/%{PLATFORM}/mpi-defines.inc
%define INSTALL_DIR %{APPS}/%{name}/%{version}
%define MODULE_DIR %{APPS}/%{MODULES}/%{name}
%define MODULE_VAR %{MODULE_VAR_PREFIX}EXONERATE-GFF3
%define PNAME exonerate-gff3
## PACKAGE DESCRIPTION
%description
This is an exonerate fork with added gff3 support. Original website with user guides: http://www.ebi.ac.uk/~guy/exonerate/. New Option: --gff3 [FALSE]. Using the "--gff3 yes" option with the "--showtargetgff yes" option will output GFF3. Without the "--gff3 yes" option, everything works just as before so previous scripts relying on the old output format won’t break.
## PREP
# Use -n <name> if source file different from <name>-<version>.tar.gz
%prep
rm -rf $RPM_BUILD_ROOT/%{INSTALL_DIR}
## SETUP
%setup -n %{PNAME}-%{version}
## BUILD
%build
#------------------------------------------------
# INSTALL
#------------------------------------------------
%install
# Start with a clean environment
%include ./include/%{PLATFORM}/system-load.inc
mkdir -p $RPM_BUILD_ROOT/%{INSTALL_DIR}
#------------------------------------------------
## Install Steps Start
module purge
module load TACC
module swap $TACC_FAMILY_COMPILER gcc
./configure --prefix=%{INSTALL_DIR}
make
make DESTDIR=$RPM_BUILD_ROOT install
#check to make sure this works
#make DESTDIR=$RPM_BUILD_ROOT install
## Install Steps End
#------------------------------------------------
#cp -R ./bowtie2* ./doc ./scripts $RPM_BUILD_ROOT/%{INSTALL_DIR}
#this may not be necesary if you can do make install as above
#cp ./src/program/exonerate $RPM_BUILD_ROOT/%{INSTALL_DIR}
#cp -R ./doc $RPM_BUILD_ROOT/%{INSTALL_DIR}
#cp -R ./test $RPM_BUILD_ROOT/%{INSTALL_DIR}
#------------------------------------------------
# MODULEFILE CREATION
#------------------------------------------------
rm -rf $RPM_BUILD_ROOT/%{MODULE_DIR}
mkdir -p $RPM_BUILD_ROOT/%{MODULE_DIR}
#------------------------------------------------
## Modulefile Start
cat > $RPM_BUILD_ROOT/%{MODULE_DIR}/%{version}.lua << 'EOF'
help (
[[
The %{PNAME} module file defines the following environment variables:
%{MODULE_VAR}_DIR and %{MODULE_VAR}_SCRIPTS for the location of the %{name}
distribution. Documentation can be found online at https://github.com/hotdogee/exonerate-gff3
Version %{version}
]])
whatis("Name: exonerate-gff3")
whatis("Version: %{version}")
whatis("Category: computational biology, genomics")
whatis("Keywords: Biology, Genomics, Alignment, Sequencing")
whatis("URL: https://github.com/hotdogee/exonerate-gff3")
whatis("Description: exonerate fork with added gff3 support ")
setenv("%{MODULE_VAR}_DIR","%{INSTALL_DIR}")
setenv("%{MODULE_VAR}_BIN","%{INSTALL_DIR}/bin")
prepend_path("PATH" ,"%{INSTALL_DIR}/bin")
prereq("perl")
EOF
## Modulefile End
#------------------------------------------------
## Lua syntax check
if [ -f $SPEC_DIR/checkModuleSyntax ]; then
$SPEC_DIR/checkModuleSyntax $RPM_BUILD_ROOT/%{MODULE_DIR}/%{version}.lua
fi
## VERSION FILE
cat > $RPM_BUILD_ROOT%{MODULE_DIR}/.version.%{version} << 'EOF'
#%Module3.1.1#################################################
##
## version file for %{name}-%{version}
##
set ModulesVersion "%{version}"
EOF
#------------------------------------------------
# FILES SECTION
#------------------------------------------------
#%files -n %{name}-%{comp_fam_ver}
%files
# Define files permisions, user and group
%defattr(755,root,root,-)
%{INSTALL_DIR}
%{MODULE_DIR}
## CLEAN UP
%post
%clean
# Make sure we are not within one of the directories we try to delete
cd /tmp
# Remove the installation files now that the RPM has been generated
rm -rf $RPM_BUILD_ROOT