Dr-Terrible / go-overlay

This Portage overlay is for Go related ebuilds.
GNU General Public License v2.0
35 stars 29 forks source link

www-apps/ponzu Ebuild request #95

Open necrose99 opened 6 years ago

necrose99 commented 6 years ago

https://github.com/ponzu-cms/ponzu demo video : https://www.youtube.com/watch?v=T_1ncPoLgrg

## ---arm64 testing 
#https://github.com/sakaki-/gentoo-on-rpi3-64bit  
# https://github.com/psychedup/gentoo-pine64 
# http://cdn.pine64.uk/Gentoo/gentoo-pine64-20160804.img.gz  old as..  pine64/rock64 are most
 # simular to rpi3 however GPU may differ.  4-gigs is also a plus. 
# @ make.conf PORTAGE_BINHOST="https://isshoni.org/pi64pie"  rpi3 good but memory for compile 
# jobs is weak...  ,  however good and cheep for testing things.  binhost handy... 
#mkdir -p /etc/portage/package.accept_keywords
##   RIG go'verlay  for arm64 rpi/rock64 or soon arm64 production  servers... force KEYWORDS="~arm64" enabled.
 #echo "*/*::go-overlay ~arm64" >> /etc/portage/package.accept_keywords/go-overlay

skell. ebuild/psudo...

https://github.com/ponzu-cms/ponzu/archive/0.9.4.tar.gz

Installation $ go get -u github.com/ponzu-cms/ponzu/...

# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

GOLANG_PKG_IMPORTPATH="https://github.com/ponzu-cms/ponzu"
GOLANG_PKG_ARCHIVEPREFIX="v"
GOLANG_PKG_LDFLAGS="-X ${GOLANG_PKG_IMPORTPATH}/${PN}.Version=${PV}"
GOLANG_PKG_HAVE_TEST=1

GOLANG_PKG_DEPENDENCIES=(
    _ "github.com/ponzu-cms/ponzu/content"
    "github.com/ponzu-cms/ponzu/system/admin"
    "github.com/ponzu-cms/ponzu/system/api"
    "github.com/ponzu-cms/ponzu/system/api/analytics"
    "github.com/ponzu-cms/ponzu/system/db"
    "github.com/ponzu-cms/ponzu/system/tls"

    "github.com/spf13/cobra"
)

# add ons USE="" perhaps GOLANG_PKG_DEPENDENCIES=
# https://github.com/ponzu-cms/go-client
# Go HTTP client for Ponzu  (/ golang outside api/apps connector. )
## 
#SimpleMDE Markdown Editor addon for Ponzu CMS
# source: https://github.com/aleksen/smdeditor

#Access  :: Create and validate token-based access grants in a request's http.Header or http.Cookie
source: https://github.com/bosssauce/access
#Reference ::Include references to content types from within another content type
# source: https://github.com/bosssauce/reference
## Facebook Scheduler ::Schedule Facebook Posts from content in your Ponzu App
##source: https://github.com/bosssauce/fbscheduler

inherit golang-single

DESCRIPTION="Headless CMS with automatic JSON API. Featuring auto-HTTPS from Let's Encrypt, HTTP/2 Server Push, and flexible server framework written in Go."
HOMEPAGE="https://github.com/ponzu-cms/ponzu/"

LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 x86 arm  ~arm64"

IUSE="cli"

src_compile() {

    golang-single_src_compile

}  
Dr-Terrible commented 6 years ago

At the moment, there are several problems with ponzu (v0.9.4):

  1. only the CLI can be compiled and packaged by Portage; the framework cannot and wont be installed because it's a Go-gettable library (and Portage doesn't know how to handle that kind of libraries).
  2. ponku makes use of a lot of external libraries without properly vendor them; that forces me to manually track all the missing dependencies.
  3. the point (2) requires me to also test different versions of the same library to ensure API/ABI portability, which it is a very time-consuming task.

The ebuild you provided doesn't work.

necrose99 commented 5 years ago

i made a optimistic template at best..

https://github.com/gobuffalo/buffalo , looking more organized .. as you can compile html etc whole ball into one exec. much akin hugo.. but with even more features by thier demo video supposedly...

ponzu , likely needs some work on thier end for deps , glider , godep etc. or the other go-dep add on toys to pull in deps. handling.

anyrate Ponzu or https://fragmenta.eu/ , buffalo ,

meh , Wordpress is pretty easy to admin , however having to WAF it to death , vuls.io(https://github.com/future-architect/vuls) to death it. (go replacement with webui ( Nexpose/etc) arm64 /etc/ compiles dead easy. cli version runs on cli amd64 and or IOT-arm64/server arm64. )
has my want for project sites , in want of easy html4/5 CSS options that dont suck... html > MD > html convo is never clean ... has me looking ad go/rust based options. and on the hunt for blog/easy .. small biz web ui with html , as wsywig etc is dead up easy.. MD flavors hit or miss..

anyrate ponzu ebuild working would be a nice to have. but no hurry.... hopefully devs can make thier toml spec better etc.

(app-portage/go-ebuildr ..... > tada like rust cargo-ebuild , but we cant be so lucky... :-( )