diff mbox series

[bug#65012] gnu: Add picket.

Message ID DU2P193MB21324003246A3B8FC9B61B8AF30BA@DU2P193MB2132.EURP193.PROD.OUTLOOK.COM
State New
Headers show
Series [bug#65012] gnu: Add picket. | expand

Commit Message

Sergio Pastor Pérez Aug. 2, 2023, 11:29 a.m. UTC
* gnu/packages/image.scm (picket): New variable.
---
 gnu/packages/image.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)


base-commit: 5aceacac65784bd2e1fd12304f965ae6026de49d
prerequisite-patch-id: c56db9fa7fc4e07452dea53f2d450bd83abbbc1a
prerequisite-patch-id: 3e6318d61f2efa01f4435152f2139eef8f72572c
prerequisite-patch-id: 1b23c59bab92820a1e102137909922f4d71ed8f9
prerequisite-patch-id: 78a291411f8d86beabbf6d49df0cc78702ad4e65
prerequisite-patch-id: 579224b39cae7869ce11e2e8dba046b5eef606c7
prerequisite-patch-id: f1f62fd5d83d603ca35c17071e615352e90753e3
prerequisite-patch-id: 1843bca37f83e494be67c24e975727fb1fe1248c
prerequisite-patch-id: 5cc0d6cd16ae2ab21c444ed9cabfeea5615e8cda
prerequisite-patch-id: 92a3fab6e4174a4d4877fc5b426752df81e4df39
prerequisite-patch-id: ebf3fd3a8bb02f7dc5cdf504f63d5028b29fe69e
prerequisite-patch-id: 863acbffb59c3b17fb4ea7e11710cbd793c0778d
prerequisite-patch-id: 076564693450d3e4a51cda68c47b856022f84e69

Comments

Jean Pierre De Jesus DIAZ Aug. 2, 2023, 1:42 p.m. UTC | #1
Hello Sergio,

It seems that picket bundles the mINI library [1], this can be easily fixed by adding an snippet to the `origin' to remove the bundled code.

It'd also require to package mINI [2], it should be simple to do since it's a header only library and does not require compilation of any sort, so using copy-build-system to install `src/mini/ini.h` to the package's output `include` folder should be trivial.

Ideally ini.h should be installed to `include/mini/ini.h' in order to use it as the README.md specifies [3] by doing:

#include <mini/ini.h>

It may require patching or substitutions on picket to use the newly packaged library though, but shouldn't be hard to do.

[1]: https://github.com/rajter/picket/blob/master/src/cfg/ini.h
[2]: https://github.com/pulzed/mINI
[3]: https://github.com/pulzed/mINI/blob/a1ff72e8898db8b53282e9eb7c7ec5973519787e/README.md#installation

Cheers,

—
Jean-Pierre De Jesus DIAZ
Sergio Pastor Pérez Sept. 10, 2023, 3:42 p.m. UTC | #2
This 2 patches extract the mINI library from the Picket package.
diff mbox series

Patch

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 3336e38852..ef63f3c3ff 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1914,6 +1914,39 @@  (define-public niftilib
     (home-page "https://niftilib.sourceforge.net")
     (license license:public-domain)))
 
+(define-public picket
+  (package
+    (name "picket")
+    (version "1.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/rajter/picket")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1zhpynyakjx9nc51b1j80b4y3138p3l380kp1cqmmjx2n9430144"))))
+    (native-inputs (list pkg-config))
+    (inputs (list gtkmm-3))
+    (arguments
+     (list #:tests? #f
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'fix-install-prefix
+                          (lambda _
+                            (substitute* "CMakeLists.txt"
+                              (("/usr/")
+                               #$output))
+                            (substitute* "src/main.cpp"
+                              (("/usr")
+                               #$output)))))))
+    (build-system cmake-build-system)
+    (home-page "https://github.com/rajter/picket")
+    (synopsis "Native linux screen color picker")
+    (description
+     "Screen color picker for linux with magnifier and custom/user defined formats.")
+    (license license:expat)))
+
 (define-public gpick
   (package
     (name "gpick")