public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/R_overlay:gsoc13/next commit in: scripts/
  2013-07-10 16:16 [gentoo-commits] proj/R_overlay:master commit in: scripts/ André Erdmann
@ 2013-07-10 15:10 ` André Erdmann
  0 siblings, 0 replies; 2+ messages in thread
From: André Erdmann @ 2013-07-10 15:10 UTC (permalink / raw
  To: gentoo-commits

commit:     a353dfabbe238f241c3e012be4343886374e4aaa
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Wed Jul 10 13:39:30 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Wed Jul 10 13:39:30 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=a353dfab

scripts/: generate setup.py

---
 scripts/gen_setuppy.sh | 149 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 149 insertions(+)

diff --git a/scripts/gen_setuppy.sh b/scripts/gen_setuppy.sh
new file mode 100755
index 0000000..ebba44e
--- /dev/null
+++ b/scripts/gen_setuppy.sh
@@ -0,0 +1,149 @@
+#!/bin/sh
+#
+# creates a setup.py file
+#
+
+set -u
+
+readonly I="   "
+readonly Q="'"
+readonly QQ='"'
+
+case "${0##*/}" in
+   gen_setup*)
+      readonly PRJROOT=$( dirname $( readlink -f $( dirname "${0}" ) ) )
+   ;;
+   *)
+      readonly PRJROOT=$( readlink -f "${PWD}" )
+   ;;
+esac
+readonly S="${PRJROOT}"
+
+# --- PRJ_* ---
+
+: ${PRJ_NAME:='R_Overlay'}
+: ${PRJ_DESC:='Automatically generated overlay of R packages (SoC2012)'}
+: ${PRJ_AUTHOR:='André Erdmann'}
+: ${PRJ_AUTHOR_EMAIL:='dywi@mailerd.de'}
+: ${PRJ_LICENSE:='GPLv2+'}
+: ${PRJ_URL:='http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=summary'}
+: ${PRJ_SCRIPTS:='roverlay.py'}
+
+if [ -z "${PRJ_VERSION-}" ]; then
+   PRJ_VERSION=$( sed -rn -e \
+      "s,^version\s*=\s*[${Q}${QQ}]([^${Q}${QQ}]+)[${Q}${QQ}].*$,\1,p" \
+      "${S}/roverlay/__init__.py"
+   )
+   #PRJ_VERSION=$( python -EB "${S}/roverlay.py" --version 2>&1 )
+fi
+
+case "${PRJ_VERSION}" in
+   [0-9]*) true ;;
+   *)
+      echo "invalid roverlay version '${PRJ_VERSION}'!" 1>&2
+      exit 9
+   ;;
+esac
+# --- end PRJ_* ---
+
+
+PKGLIST=$(
+   find roverlay/ -type d -not -name __pycache__| \
+      sort | sed -e "s=^=${I}${I}$Q=" -e "s=[/]*$=$Q,=" -e 's=[/]=.=g'
+)
+
+
+
+mklist() { local word; for word; do echo "${Q}${word}${Q},"; done; }
+i_mklist() { mklist "$@" | sed -e "s=^=${I}${I}="; }
+
+
+
+gen_data_list() {
+   # disabled
+   return 0
+
+   g() {
+      local w="${1}"; shift || return
+      echo -n "( ${Q}${w}${Q}, [ "
+      local k
+      for k; do echo -n "${Q}${k}${Q}, "; done
+      echo "]),"
+   }
+   p() {
+      local pre="${1}"; shift || return
+      local w
+      for w; do echo "${pre}${w}"; done
+   }
+
+   g '/etc/roverlay' $( p 'config/' \
+         'description_fields.conf' \
+         'license.map' \
+         'repo.list' \
+         'R-overlay.conf'
+   )
+
+   unset -f p
+   unset -f g
+}
+
+gen_setup() {
+   : ${I?}
+cat << EOF
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+import distutils.core
+
+distutils.core.setup (
+${I}name         = '${PRJ_NAME?}',
+${I}version      = '${PRJ_VERSION?}',
+${I}description  = '${PRJ_DESC?}',
+${I}author       = '${PRJ_AUTHOR?}',
+${I}author_email = '${PRJ_AUTHOR_EMAIL?}',
+${I}license      = '${PRJ_LICENSE?}',
+${I}url          = '${PRJ_URL?}',
+${I}packages     = [
+${PKGLIST?}
+${I}],
+${I}scripts      = [
+$(i_mklist ${PRJ_SCRIPTS})
+${I}],
+${I}data_files   = [
+$( gen_data_list | sed "s=^=${I}${I}=" )
+${I}],
+${I}classifiers  = [
+${I}${I}#'Development Status :: 3 - Alpha',
+${I}${I}'Development Status :: 4 - Beta',
+${I}${I}'Environment :: Console',
+${I}${I}'Intended Audience :: Developers',
+${I}${I}'Intended Audience :: System Administrators',
+${I}${I}'License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)',
+${I}${I}'Operating System :: POSIX :: Linux',
+${I}${I}'Programming Language :: Python :: 2.7',
+${I}${I}'Programming Language :: Python :: 3',
+${I}${I}'Programming Language :: Unix Shell',
+${I}${I}'Topic :: System :: Software Distribution',
+${I}],
+)
+EOF
+}
+
+gen_setup_file() {
+   if gen_setup > "${1:?}.new"; then
+      mv -f "${1}.new" "${1}" && chmod ug+x "${1}"
+   fi
+}
+
+
+case "${1-}" in
+   '')
+      gen_setup_file "${S}/setup.py"
+   ;;
+   '-1'|'--stdout'|'-')
+      gen_setup
+   ;;
+   *)
+      gen_setup_file "${1}"
+   ;;
+esac


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] proj/R_overlay:master commit in: scripts/
@ 2013-07-10 16:16 André Erdmann
  2013-07-10 15:10 ` [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
  0 siblings, 1 reply; 2+ messages in thread
From: André Erdmann @ 2013-07-10 16:16 UTC (permalink / raw
  To: gentoo-commits

commit:     a353dfabbe238f241c3e012be4343886374e4aaa
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Wed Jul 10 13:39:30 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Wed Jul 10 13:39:30 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=a353dfab

scripts/: generate setup.py

---
 scripts/gen_setuppy.sh | 149 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 149 insertions(+)

diff --git a/scripts/gen_setuppy.sh b/scripts/gen_setuppy.sh
new file mode 100755
index 0000000..ebba44e
--- /dev/null
+++ b/scripts/gen_setuppy.sh
@@ -0,0 +1,149 @@
+#!/bin/sh
+#
+# creates a setup.py file
+#
+
+set -u
+
+readonly I="   "
+readonly Q="'"
+readonly QQ='"'
+
+case "${0##*/}" in
+   gen_setup*)
+      readonly PRJROOT=$( dirname $( readlink -f $( dirname "${0}" ) ) )
+   ;;
+   *)
+      readonly PRJROOT=$( readlink -f "${PWD}" )
+   ;;
+esac
+readonly S="${PRJROOT}"
+
+# --- PRJ_* ---
+
+: ${PRJ_NAME:='R_Overlay'}
+: ${PRJ_DESC:='Automatically generated overlay of R packages (SoC2012)'}
+: ${PRJ_AUTHOR:='André Erdmann'}
+: ${PRJ_AUTHOR_EMAIL:='dywi@mailerd.de'}
+: ${PRJ_LICENSE:='GPLv2+'}
+: ${PRJ_URL:='http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=summary'}
+: ${PRJ_SCRIPTS:='roverlay.py'}
+
+if [ -z "${PRJ_VERSION-}" ]; then
+   PRJ_VERSION=$( sed -rn -e \
+      "s,^version\s*=\s*[${Q}${QQ}]([^${Q}${QQ}]+)[${Q}${QQ}].*$,\1,p" \
+      "${S}/roverlay/__init__.py"
+   )
+   #PRJ_VERSION=$( python -EB "${S}/roverlay.py" --version 2>&1 )
+fi
+
+case "${PRJ_VERSION}" in
+   [0-9]*) true ;;
+   *)
+      echo "invalid roverlay version '${PRJ_VERSION}'!" 1>&2
+      exit 9
+   ;;
+esac
+# --- end PRJ_* ---
+
+
+PKGLIST=$(
+   find roverlay/ -type d -not -name __pycache__| \
+      sort | sed -e "s=^=${I}${I}$Q=" -e "s=[/]*$=$Q,=" -e 's=[/]=.=g'
+)
+
+
+
+mklist() { local word; for word; do echo "${Q}${word}${Q},"; done; }
+i_mklist() { mklist "$@" | sed -e "s=^=${I}${I}="; }
+
+
+
+gen_data_list() {
+   # disabled
+   return 0
+
+   g() {
+      local w="${1}"; shift || return
+      echo -n "( ${Q}${w}${Q}, [ "
+      local k
+      for k; do echo -n "${Q}${k}${Q}, "; done
+      echo "]),"
+   }
+   p() {
+      local pre="${1}"; shift || return
+      local w
+      for w; do echo "${pre}${w}"; done
+   }
+
+   g '/etc/roverlay' $( p 'config/' \
+         'description_fields.conf' \
+         'license.map' \
+         'repo.list' \
+         'R-overlay.conf'
+   )
+
+   unset -f p
+   unset -f g
+}
+
+gen_setup() {
+   : ${I?}
+cat << EOF
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+import distutils.core
+
+distutils.core.setup (
+${I}name         = '${PRJ_NAME?}',
+${I}version      = '${PRJ_VERSION?}',
+${I}description  = '${PRJ_DESC?}',
+${I}author       = '${PRJ_AUTHOR?}',
+${I}author_email = '${PRJ_AUTHOR_EMAIL?}',
+${I}license      = '${PRJ_LICENSE?}',
+${I}url          = '${PRJ_URL?}',
+${I}packages     = [
+${PKGLIST?}
+${I}],
+${I}scripts      = [
+$(i_mklist ${PRJ_SCRIPTS})
+${I}],
+${I}data_files   = [
+$( gen_data_list | sed "s=^=${I}${I}=" )
+${I}],
+${I}classifiers  = [
+${I}${I}#'Development Status :: 3 - Alpha',
+${I}${I}'Development Status :: 4 - Beta',
+${I}${I}'Environment :: Console',
+${I}${I}'Intended Audience :: Developers',
+${I}${I}'Intended Audience :: System Administrators',
+${I}${I}'License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)',
+${I}${I}'Operating System :: POSIX :: Linux',
+${I}${I}'Programming Language :: Python :: 2.7',
+${I}${I}'Programming Language :: Python :: 3',
+${I}${I}'Programming Language :: Unix Shell',
+${I}${I}'Topic :: System :: Software Distribution',
+${I}],
+)
+EOF
+}
+
+gen_setup_file() {
+   if gen_setup > "${1:?}.new"; then
+      mv -f "${1}.new" "${1}" && chmod ug+x "${1}"
+   fi
+}
+
+
+case "${1-}" in
+   '')
+      gen_setup_file "${S}/setup.py"
+   ;;
+   '-1'|'--stdout'|'-')
+      gen_setup
+   ;;
+   *)
+      gen_setup_file "${1}"
+   ;;
+esac


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-07-10 16:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-10 16:16 [gentoo-commits] proj/R_overlay:master commit in: scripts/ André Erdmann
2013-07-10 15:10 ` [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox