summaryrefslogtreecommitdiff
path: root/python-make-var.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-10 07:15:35 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-10 07:15:35 +0000
commit7613e55b1eea7344468d7d5c93331b9e0b67a99b (patch)
tree686198d7751090d6f9326abb92005e7629b3a023 /python-make-var.spec
parentfa52b797c9e37e31bb9e641634e536228de17f8b (diff)
automatic import of python-make-var
Diffstat (limited to 'python-make-var.spec')
-rw-r--r--python-make-var.spec255
1 files changed, 255 insertions, 0 deletions
diff --git a/python-make-var.spec b/python-make-var.spec
new file mode 100644
index 0000000..d43381e
--- /dev/null
+++ b/python-make-var.spec
@@ -0,0 +1,255 @@
+%global _empty_manifest_terminate_build 0
+Name: python-make-var
+Version: 0.4.0
+Release: 1
+Summary: Retrieve all variables defined by make command
+License: LICENSE.txt
+URL: http://github.com/karnigen/make_var
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d1/09/fa8b35cdc8229d742d6b585274844400860fd3b51464de3da778b317ebd0/make_var-0.4.0.tar.gz
+BuildArch: noarch
+
+
+%description
+# make_var
+
+- Retrieve all variables defined by make command by **python**
+- Expand make type variables `$(VAR)` in string
+
+Package allow you to access any symbol defined in *make*.
+It might be helpful to transfer your *Makefile* based project
+to different one.
+
+## Installation
+
+`pip install make_var`
+
+## Tutorial
+
+How to use package:
+
+- just create simple Makefile containing variables H and W
+```
+H = hello
+W = world
+```
+
+- next create python file `read_makefile.py`
+```
+#!/usr/bin/env python3
+from make_var import *
+
+M=make_vars(origin=['makefile']) # retrieve only data defined in makefiles
+print(M['makefile']['H'], M['makefile']['W'])
+```
+
+execute it and you get
+`hello world`
+
+- to get all variables that `make` uses just write
+```
+M=make_vars(origin=None) # all variables
+print(M.keys()) # print all origins
+```
+output is
+`['environment', "'override'", 'automatic', 'makefile', 'default']`
+
+## String expansion
+Example to replace $(var) by definition from Makefile
+ - use same Makefile as before
+ - edit python file
+
+```
+print(make_expand(M,"$(H) $(W)")) # replaces $(H) with "hello" and $(W) with "word"
+```
+
+you get
+`hello world`
+
+## Internals
+
+package is based on GNU make command
+`make -pnB`
+
+
+
+
+%package -n python3-make-var
+Summary: Retrieve all variables defined by make command
+Provides: python-make-var
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-make-var
+# make_var
+
+- Retrieve all variables defined by make command by **python**
+- Expand make type variables `$(VAR)` in string
+
+Package allow you to access any symbol defined in *make*.
+It might be helpful to transfer your *Makefile* based project
+to different one.
+
+## Installation
+
+`pip install make_var`
+
+## Tutorial
+
+How to use package:
+
+- just create simple Makefile containing variables H and W
+```
+H = hello
+W = world
+```
+
+- next create python file `read_makefile.py`
+```
+#!/usr/bin/env python3
+from make_var import *
+
+M=make_vars(origin=['makefile']) # retrieve only data defined in makefiles
+print(M['makefile']['H'], M['makefile']['W'])
+```
+
+execute it and you get
+`hello world`
+
+- to get all variables that `make` uses just write
+```
+M=make_vars(origin=None) # all variables
+print(M.keys()) # print all origins
+```
+output is
+`['environment', "'override'", 'automatic', 'makefile', 'default']`
+
+## String expansion
+Example to replace $(var) by definition from Makefile
+ - use same Makefile as before
+ - edit python file
+
+```
+print(make_expand(M,"$(H) $(W)")) # replaces $(H) with "hello" and $(W) with "word"
+```
+
+you get
+`hello world`
+
+## Internals
+
+package is based on GNU make command
+`make -pnB`
+
+
+
+
+%package help
+Summary: Development documents and examples for make-var
+Provides: python3-make-var-doc
+%description help
+# make_var
+
+- Retrieve all variables defined by make command by **python**
+- Expand make type variables `$(VAR)` in string
+
+Package allow you to access any symbol defined in *make*.
+It might be helpful to transfer your *Makefile* based project
+to different one.
+
+## Installation
+
+`pip install make_var`
+
+## Tutorial
+
+How to use package:
+
+- just create simple Makefile containing variables H and W
+```
+H = hello
+W = world
+```
+
+- next create python file `read_makefile.py`
+```
+#!/usr/bin/env python3
+from make_var import *
+
+M=make_vars(origin=['makefile']) # retrieve only data defined in makefiles
+print(M['makefile']['H'], M['makefile']['W'])
+```
+
+execute it and you get
+`hello world`
+
+- to get all variables that `make` uses just write
+```
+M=make_vars(origin=None) # all variables
+print(M.keys()) # print all origins
+```
+output is
+`['environment', "'override'", 'automatic', 'makefile', 'default']`
+
+## String expansion
+Example to replace $(var) by definition from Makefile
+ - use same Makefile as before
+ - edit python file
+
+```
+print(make_expand(M,"$(H) $(W)")) # replaces $(H) with "hello" and $(W) with "word"
+```
+
+you get
+`hello world`
+
+## Internals
+
+package is based on GNU make command
+`make -pnB`
+
+
+
+
+%prep
+%autosetup -n make-var-0.4.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-make-var -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.4.0-1
+- Package Spec generated