Skip to content
This repository has been archived by the owner on May 22, 2019. It is now read-only.

Commit

Permalink
The master branch now completely belongs to web-greeter 3.0 😤
Browse files Browse the repository at this point in the history
  • Loading branch information
lots0logs committed Feb 6, 2017
1 parent d682a46 commit 26ff1da
Show file tree
Hide file tree
Showing 22 changed files with 134 additions and 3,570 deletions.
9 changes: 5 additions & 4 deletions .doclets.yml
@@ -1,8 +1,9 @@
files:
- src/gresource/js/LightDMObjects.js
- src/gresource/js/Greeter.js
- src/gresource/js/GreeterConfig.js
- src/gresource/js/ThemeUtils.js
- web-greeter/resources/js/docs/LightDMObjects.js
- web-greeter/resources/js/docs/Greeter.js
- web-greeter/resources/js/docs/GreeterConfig.js
- web-greeter/resources/js/ThemeUtils.js
- web-greeter/resources/js/bootstrap.js
articles:
- Overview: README.md
branches:
Expand Down
30 changes: 13 additions & 17 deletions .editorconfig
@@ -1,25 +1,21 @@
# Top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

# Indent With Tabs
indent_style = tab
indent_size = tab
tab_width = 4

# UTF-8
charset = utf-8


max_line_length = 99
charset = utf-8
continuation_indent_size = 4
indent_brace_style = 1TBS
curly_bracket_next_line = false
curly_bracket_next_line = false
end_of_line = lf
indent_brace_style = 1TBS
indent_size = 4
indent_style = tab
insert_final_newline = true
max_line_length = 99
tab_width = 4
trim_trailing_whitespace = true

[*.py]
indent_style = space

[*.yml]
indent_style = space
33 changes: 11 additions & 22 deletions README.md
@@ -1,4 +1,4 @@
# lightdm-webkit2-greeter
# Web Greeter for LightDM
[![Latest Release](https://img.shields.io/github/release/Antergos/lightdm-webkit2-greeter.svg?style=flat-square)](https://github.com/Antergos/lightdm-webkit2-greeter/releases)  [![CircleCI](https://img.shields.io/circleci/project/Antergos/lightdm-webkit2-greeter/master.svg?style=flat-square)](https://circleci.com/gh/Antergos/lightdm-webkit2-greeter)  [![Coverity Scan Build Status](https://img.shields.io/coverity/scan/6871.svg?style=flat-square)](https://scan.coverity.com/projects/antergos-lightdm-webkit2-greeter)  [![Theme API Docs](https://img.shields.io/badge/API--Doc-ready-brightgreen.svg?style=flat-square)](https://doclets.io/Antergos/lightdm-webkit2-greeter/stable)  [![AUR Votes](https://img.shields.io/aur/votes/lightdm-webkit2-greeter.svg?maxAge=2592000&style=flat-square)](https://aur.archlinux.org/packages/lightdm-webkit2-greeter)

## Install It
Expand All @@ -16,34 +16,23 @@
|![openSUSE](https://dl.dropboxusercontent.com/u/60521097/Geeko-button-bling7.png)|[1 Click Install](https://software.opensuse.org/ymp/home:antergos/openSUSE_Leap_42.1/lightdm-webkit2-greeter.ymp?base=openSUSE%3ALeap%3A42.1&query=lightdm-webkit2-greeter)  \|  [OBS Repo](https://software.opensuse.org/download.html?project=home:antergos&package=lightdm-webkit2-greeter)|
|![ubuntu](https://dl.dropboxusercontent.com/u/60521097/ubuntu_orange_hex.png)|[OBS Repo](https://software.opensuse.org/download.html?project=home:antergos&package=lightdm-webkit2-greeter)|

## Build It
## Install It Manually

### Dependencies
| | ![antergos](https://dl.dropboxusercontent.com/u/60521097/logo-square26x26.png)    ![arch](https://dl.dropboxusercontent.com/u/60521097/archlogo26x26.png) | ![debian](https://dl.dropboxusercontent.com/u/60521097/openlogo-nd-25.png)    ![ubuntu](https://dl.dropboxusercontent.com/u/60521097/ubuntu_orange_hex.png) | ![fedora](https://dl.dropboxusercontent.com/u/60521097/fedora-logo.png) | ![openSUSE](https://dl.dropboxusercontent.com/u/60521097/Geeko-button-bling7.png) |
| | ![antergos](https://dl.dropboxusercontent.com/u/60521097/logo-square26x26.png)    ![arch](https://dl.dropboxusercontent.com/u/60521097/archlogo26x26.png) | ![debian](https://dl.dropboxusercontent.com/u/60521097/openlogo-nd-25.png)    ![ubuntu](https://dl.dropboxusercontent.com/u/60521097/ubuntu_orange_hex.png) | ![fedora](https://dl.dropboxusercontent.com/u/60521097/fedora-logo.png) | ![openSUSE](https://dl.dropboxusercontent.com/u/60521097/Geeko-button-bling7.png) |
|-----------------------|-------------------------------------------------------------------------|----------------------------------------------------------------------------|-------------------------------------------------------------------------|-----------------------------------------------------------------------------------|--------------------------------------------------------------------------------|
|**liblightdm-gobject-1** |lightdm |liblightdm-gobject-dev | lightdm-gobject-devel | liblightdm-gobject-1-0 |
|**gtk+ 3** |gtk3 |libgtk-3-0 | gtk3 | gtk3 |
|**webkit2gtk-4.0** |webkit2gtk|libwebkit2gtk-4.0-dev | webkitgtk4 | libwebkit2gtk-4_0-37 |
|**dbus-glib-1** |dbus-glib|libdbus-glib-1-dev | dbus-glib | dbus-1-glib |
|**whither** |python-whither|python3-whither |python3-whither |python3-whither |
|**liblightdm-gobject** |lightdm |liblightdm-gobject-dev|lightdm-gobject-devel|liblightdm-gobject-1-0|
|**pygobject** |python-gobject|python3-gi |pygobject3 |python3-gobject |
|**pyqt5** |python-pyqt5 |python3-pyqt5 |python3-qt5 |python3-qt5 |
|**qt5-webengine** |qt5-webengine |libqt5webengine5 |qt5-qtwebengine |libqt5-qtwebengine |

#### Build Deps
| | ![antergos](https://dl.dropboxusercontent.com/u/60521097/logo-square26x26.png)    ![arch](https://dl.dropboxusercontent.com/u/60521097/archlogo26x26.png)    ![debian](https://dl.dropboxusercontent.com/u/60521097/openlogo-nd-25.png)    ![ubuntu](https://dl.dropboxusercontent.com/u/60521097/ubuntu_orange_hex.png)    ![fedora](https://dl.dropboxusercontent.com/u/60521097/fedora-logo.png)    ![openSUSE](https://dl.dropboxusercontent.com/u/60521097/Geeko-button-bling7.png) |
|-------------------|-------------------------------------------------------------------------|----------------------------------------------------------------------------|-------------------------------------------------------------------------|-----------------------------------------------------------------------------------|--------------------------------------------------------------------------------|
|**Meson Build System**|meson v0.37+|

### How To Build
> ***Note:*** These instructions are for the `master` branch. To build the latest release, please see the `stable` branch.
> ***NOTE:*** These instructions are for the `master` branch. To build the latest release, please see the `stable` branch.
```sh
git clone https://github.com/Antergos/lightdm-webkit2-greeter.git /tmp/greeter
cd /tmp/greeter/build
meson --prefix=/usr --libdir=lib ..
ninja
```

### How To Install
```sh
sudo ninja install
cd /tmp/greeter
sudo make install
```

## Theme JavaScript API:
Expand Down
Empty file removed build/.gitignore
Empty file.
133 changes: 101 additions & 32 deletions build/utils.sh
@@ -1,71 +1,140 @@
#!/bin/bash

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
BUILD_DIR="$(realpath $(dirname "${BASH_SOURCE[0]}"))"
REPO_DIR="$(dirname "${BUILD_DIR}")"
INSTALL_ROOT="${BUILD_DIR}/install_root"
PKGNAME='web-greeter'
DESTDIR=''


_handle_error() {
LASTLINE="$1"
LASTERR="$2"
echo "${BASH_SOURCE[0]}: line ${LASTLINE}: exit status of last command: ${LASTERR}"
exit 1
}

clean_build_dir() {
(cd "${DIR}" \
&& find . -type f ! -path './ci*' ! -name '.gitignore' ! -name utils.sh -delete \
&& find . -type d ! -path './ci' -delete \
&& { rm ../src/gresource/js/bundle.js || true; })
find "${BUILD_DIR}" -type f ! -path '*/ci/*' ! -name utils.sh -delete
find "${BUILD_DIR}" -type d ! -name build ! -path '*/ci' -delete
}

combine_javascript_sources() {
cd "${MESON_SOURCE_ROOT}/src/gresource/js" && {
cat _vendor/moment-with-locales.min.js \
LightDMObjects.js \
Greeter.js \
GreeterConfig.js \
ThemeUtils.js > "${MESON_SOURCE_ROOT}/src/gresource/js/bundle.js"
}
cd "${BUILD_DIR}/${PKGNAME}/resources/js"
cat _vendor/moment-with-locales.min.js \
ThemeUtils.js \
bootstrap.js > bundle.js
}

do_build() {
(cd "$(dirname "${DIR}")" \
&& meson build \
&& cd build \
&& ninja)
cd "${BUILD_DIR}"

# Compile Resources
(combine_javascript_sources \
&& pyrcc5 -o ../../resources.py ../resources.qrc)

# Create "Zip Application"
(cd "${PKGNAME}" \
&& mv greeter.py __main__.py \
&& zip -rq ../"${PKGNAME}.zip" . -x '**__pycache__**' 'resources/*' \
&& cd - >/dev/null \
&& mkdir -p "${INSTALL_ROOT}"/usr/{bin,share} \
&& echo '#!/bin/python' >> "${INSTALL_ROOT}/usr/bin/web-greeter" \
&& cat web-greeter.zip >> "${INSTALL_ROOT}/usr/bin/web-greeter" \
&& chmod +x "${INSTALL_ROOT}/usr/bin/web-greeter")
}

do_install() {
cd "${BUILD_DIR}"
mkdir -p \
"${INSTALL_ROOT}"/usr/share/{man/man1,metainfo,web-greeter,xgreeters} \
"${INSTALL_ROOT}/etc/lightdm"

# Themes
(cp -R "${REPO_DIR}/themes" "${INSTALL_ROOT}/usr/share/web-greeter" \
&& cd "${INSTALL_ROOT}/usr/share/web-greeter" \
&& mv themes/_vendor .)

# Man Page
cp "${REPO_DIR}/dist/${PKGNAME}.1" "${INSTALL_ROOT}/usr/share/man/man1"

# Greeter Config
cp "${REPO_DIR}/dist/${PKGNAME}.conf" "${INSTALL_ROOT}/etc/lightdm"

# AppData File
cp "${REPO_DIR}/dist/com.antergos.${PKGNAME}.appdata.xml" "${INSTALL_ROOT}/usr/share/metainfo"

# Desktop File
cp "${REPO_DIR}/dist/com.antergos.${PKGNAME}.desktop" "${INSTALL_ROOT}/usr/share/xgreeters"

# Do Install!
[[ -e "${DESTDIR}" ]] || mkdir -p "${DESTDIR}"
cp -R "${INSTALL_ROOT}"/* "${DESTDIR}"

# Fix Permissions
chown -R "${SUDO_UID}:${SUDO_GID}" "${BUILD_DIR}"
}

do_quick_install() {
(cd "${DIR}/src" \
&& sudo cp lightdm-webkit2-greeter /usr/bin \
&& sudo cp liblightdm-webkit2-greeter-webext.so /usr/lib/lightdm-webkit2-greeter \
&& sudo cp -R ../../themes/antergos /usr/share/lightdm-webkit/themes)
do_success() {
NO_COLOR=\x1b[0m
SUCCESS_COLOR=\x1b[32;01m
SUCCESS="${SUCCESS_COLOR}[SUCCESS!]${NO_COLOR}"
echo "${SUCCESS}"
}

generate_pot_file() {
REPO_ROOT="$(dirname "${DIR}")"
REPO_ROOT="$(dirname "${REPO_DIR}")"
xgettext --from-code UTF-8 -o "${REPO_ROOT}/po/lightdm-webkit2-greeter.pot" -d lightdm-webkit2-greeter "${REPO_ROOT}"/src/*.c
}

list_javascript_sources() {
cd "${MESON_SOURCE_ROOT}/src" && find gresource/js -type f -name '*.js' -print
init_build_dir() {
[[ -e "${BUILD_DIR}/web-greeter" ]] && return 0
cp -R "${REPO_DIR}/web-greeter" "${BUILD_DIR}"
}

set_config() {
( [[ -z "$1" ]] || [[ -z "$2" && -z "$3" ]] ) && return 1
local KEY VALUE

KEY="$1"
[[ '' != "$2" ]] && VALUE="$2" || VALUE="$3"

sed -i "s|@${KEY}@|@${VALUE}@|g" "${BUILD_DIR}/web-greeter/whither.yml"
}


# Catch Command Errors
trap '_handle_error ${LINENO} ${$?}' ERR

cd "${REPO_DIR}/build" >/dev/null

case "$1" in
combine-js)
combine_javascript_sources
;;

get-js-files)
list_javascript_sources
;;

clean-build-dir)
clean)
clean_build_dir
;;

build)
clean_build_dir && do_build
do_build
;;

build-dev)
clean_build_dir && do_build && do_quick_install
build-init)
init_build_dir
;;

gen-pot)
generate_pot_file
;;

install)
DESTDIR="$2"
do_install
;;

set-config)
set_config "$2" "$3" "$4"
;;
esac
104 changes: 0 additions & 104 deletions data/com.antergos.webkit2-greeter.appdata.xml

This file was deleted.

6 changes: 0 additions & 6 deletions data/com.antergos.webkit2-greeter.desktop

This file was deleted.

0 comments on commit 26ff1da

Please sign in to comment.