Subject: [bug#31121] [PATCH 3/3] gnu: Add osc.

From: Tomáš Čech <[email-masked]>
Date: Tue, 10 Apr 2018 11:29:35 +0200

* gnu/packages/python.scm (osc): New variable.
---
 gnu/packages/python.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index d84aae1fb..86a706e38 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -13184,3 +13184,44 @@ ZSmime: An S/MIME messenger for Zope.")
 
 (define-public python2-m2crypto
   (package-with-python2 python-m2crypto))
+
+(define-public osc
+  (package
+    (name "osc")
+    (version "0.162.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/openSUSE/" name "/archive/" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0b4kpm96ns4smqyfjysbk2p78d36x44xprpna8zz85q1y5xn57aj"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:python ,python-2
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'fix-filename-and-remove-unused
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
+               ;; osc tool is renamed in spec file, not setup.py, let's do
+               ;; that too
+               (rename-file
+                (string-append bin "osc-wrapper.py")
+                (string-append bin "osc"))
+               ;; unused and broken script
+               (delete-file (string-append bin "osc_hotshot.py"))
+             #t))))))
+    (inputs
+     `(("python2-urlgrabber" ,python2-urlgrabber)
+       ("python2-pycurl" ,python2-pycurl)))
+    (propagated-inputs
+     `(("python2-m2crypto" ,python2-m2crypto)))
+    (home-page "https://github.com/openSUSE/osc")
+    (synopsis "Open Build Service command line tool")
+    (description "Command line interface to Open Build Service.  It allows you
+to checkout, commit, perform reviews etc.  Vast majority of the OBS
+functionality is available via commands and the rest can be reached via direct
+API calls.")
+    (license license:gpl2+)))
-- 
2.17.0