Difference between revisions of "Template Spec Files"

From Rosalab Wiki
Jump to: navigation, search
(Spec file for a program built using Perl/Makefile.PL)
(Spec file for a Python module)
Line 146: Line 146:
 
Version: 1.0
 
Version: 1.0
 
Release: 1
 
Release: 1
Source:        %{module}-%{version}.tar.gz
 
URL: http://mypage.org/mymodule
 
 
License: Apache License
 
License: Apache License
 
Group: Development/Python
 
Group: Development/Python
BuildRequires: python-devel
+
Url: http://mypage.org/mymodule
 +
Source0:        %{module}-%{version}.tar.gz
 +
BuildRequires: pkgconfig(python)
 
BuildArch: noarch
 
BuildArch: noarch
  

Revision as of 15:35, 18 July 2014

Spec file for a program built using GNU Autotools

Summary:	foo
Name:		foo	
Version:	1.0
Release:	1
License:	foo
Group:		foo
Url:		foo
Source0:	%{name}-%{version}.tar.bz2

%description
foo

%files -n %{name}.lang

#-----------------------------------------------

%prep
%setup -q

%build
%configure2_5x

%make

%install
%makeinstall_std

%find_lang %{name}

Spec file for a program built using CMake

Summary:	foo
Name:		foo	
Version:	1.0
Release:	1
License:	foo
Group:		foo
Url:		foo
Source0:	%{name}-%{version}.tar.bz2
BuildRequires:  cmake

%description
foo

%files -n %{name}.lang

#-----------------------------------------------

%prep
%setup -q

%build
%cmake
%make

%install
%makeinstall_std -C build

%find_lang %{name}

Spec file for a program built using Perl/Makefile.PL

%define upstream_name    foo
%define upstream_version 1.0

Summary:	foo
Name:           perl-%{upstream_name}
Version:        %perl_convert_version %{upstream_version}
Release:        1
License:	foo
Group:		foo
Url:		foo
Source0:	%{upstream_name}-%{upstream_version}.tar.bz2
BuildRequires:  perl-devel

%description
foo

%files

#-----------------------------------------------

%prep
%setup -qn %{upstream_name}-%{upstream_version}

%build
perl Makefile.PL INSTALLDIRS=vendor
%make

%check
%make test

%install
%makeinstall_std

Spec file for a program built using Perl/Build.PL

%define upstream_name    foo
%define upstream_version 1.0

Name:           perl-%{upstream_name}
Version:        %perl_convert_version %{upstream_version}
Release:        1
Summary:	foo
License:	foo
Group:		foo
URL:		foo
Source0:	%{upstream_name}-%{upstream_version}.tar.bz2
BuildRequires:  perl-devel
BuildRequires:  perl(Module::Build)

%description
foo

%files

#-----------------------------------------------

%prep
%setup -qn %{upstream_name}-%{upstream_version}

%build
perl Build.PL installdirs=vendor
./Build CFLAGS="%{optflags}"

%check
./Build test

%install
./Build install destdir=%{buildroot}

Spec file for a Python module

%define module	mymodule

Summary: 	Example module
Name: 	 	python-%{module}
Version: 	1.0
Release: 	1
License:	Apache License
Group:		Development/Python
Url:		http://mypage.org/mymodule
Source0:        %{module}-%{version}.tar.gz
BuildRequires:	pkgconfig(python)
BuildArch:	noarch

%description
Example Python module

%prep
%setup -q

%install
PYTHONDONTWRITEBYTECODE=  python setup.py install --root=%{buildroot} --record=FILELIST
# For safety - avoid "file listed twice" error
sed -i 's/.*egg-info$//' FILELIST

%files -f FILELIST
%doc *.txt

Spec file for a Library

%define major 1
%define libname %mklibname %{name} %{major}
%define develname %mklibname %{name} -d

Name:		foo	
Version:	1.0
Release:	1
Summary:	foo
License:	foo
Group:		foo
URL:		foo
Source0:	%{name}-%{version}.tar.bz2

%description
foo

%package -n     %{libname}
Summary:        Main library for gtkmm 

%description -n %{libname}
foo shared library

%package -n     %{develname}
Summary:        Headers for developing programs that will use Gtk--
Requires:       %{libname} = %{EVRD}

%description -n %{develname}
foo development files

%files -n %{libname}
%{_libdir}/*.so.%{major}*

%files -n %{develname}
%{_includedir}/*.h
%{_libdir}/*.so

#-----------------------------------------------

%prep
%setup -q

%build
%configure2_5x
%make

%install
%makeinstall_std

Spec file for a Node.js module

%define oname foo

Name:           nodejs-%{oname}
Version:        1.0
Release:        1
Summary:        foo
Group:          Development/Other
License:        foo
URL:            foo
Source0:        %{oname}-%{version}.tgz
BuildArch:      noarch
BuildRequires:  nodejs-packaging

%description
%{summary}.

%prep
%setup -q -n package
rm -rf node_modules

%build

%install
mkdir -p %{buildroot}/%{nodejs_sitelib}/%{oname}
cp -r package.json index.js %{buildroot}/%{nodejs_sitelib}/%{oname}
%nodejs_symlink_deps


%files
%doc LICENSE
%{nodejs_sitelib}/%{oname}