aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Arnold <nerdboy@gentoo.org>2017-10-09 23:03:21 -0700
committerSteve Arnold <nerdboy@gentoo.org>2017-10-09 23:03:21 -0700
commitfdfedc80436c20c6fe94bdf610591a5453e01889 (patch)
tree8b4f079e94092093c4f77de7c655cccb6339560c
parentadd eclass/mozconfig-v6.52 and mozconfig-v6.53 for firefox fun... (diff)
downloadarm-fdfedc80436c20c6fe94bdf610591a5453e01889.tar.gz
arm-fdfedc80436c20c6fe94bdf610591a5453e01889.tar.bz2
arm-fdfedc80436c20c6fe94bdf610591a5453e01889.zip
update example configs and add some crossdev examples
Signed-off-by: Steve Arnold <nerdboy@gentoo.org>
-rw-r--r--configs/armv7m-crossdev.txt72
-rw-r--r--configs/crossdev-examples.txt31
-rw-r--r--configs/imx6/env/cxx-abi.conf2
-rw-r--r--configs/imx6/env/no-parallel.conf1
-rw-r--r--configs/imx6/make.conf22
-rw-r--r--configs/imx6/package.env16
-rw-r--r--configs/imx6/package.keywords8
-rw-r--r--configs/imx6/package.mask5
-rw-r--r--configs/imx6/package.use56
-rw-r--r--configs/imx6/profile/package.use.mask2
-rw-r--r--configs/pine64/env/cabal-extra.conf2
-rw-r--r--configs/pine64/env/clang-lt.conf8
-rw-r--r--configs/pine64/env/clang.conf12
-rw-r--r--configs/pine64/env/gold.conf1
-rw-r--r--configs/pine64/env/lto-default.conf7
-rw-r--r--configs/pine64/env/lto-spec.conf8
-rw-r--r--configs/pine64/env/lto-virt.conf8
-rw-r--r--configs/pine64/env/med-j.conf1
-rw-r--r--configs/pine64/env/no-bigj.conf1
-rw-r--r--configs/pine64/env/no-distcc.conf1
-rw-r--r--configs/pine64/env/no-gold.conf3
-rw-r--r--configs/pine64/env/no-graphite.conf3
-rw-r--r--configs/pine64/env/no-lto-default.conf3
-rw-r--r--configs/pine64/env/no-lto.conf3
-rw-r--r--configs/pine64/env/no-parallel.conf1
-rw-r--r--configs/pine64/env/no-vector.conf3
-rw-r--r--configs/pine64/env/plain-bfd.conf5
-rw-r--r--configs/pine64/env/plain-flags.conf4
-rw-r--r--configs/pine64/env/vectorize.conf4
-rw-r--r--configs/pine64/make.conf82
-rw-r--r--configs/pine64/package.accept_keywords152
-rw-r--r--configs/pine64/package.env14
-rw-r--r--configs/pine64/package.keywords1
-rw-r--r--configs/pine64/package.mask26
-rw-r--r--configs/pine64/package.unmask40
-rw-r--r--configs/pine64/package.use179
-rw-r--r--configs/pine64/package.use.mask2
-rw-r--r--configs/pine64/profile/package.use.mask18
-rw-r--r--configs/pine64/repos.conf/gentoo.conf14
39 files changed, 781 insertions, 40 deletions
diff --git a/configs/armv7m-crossdev.txt b/configs/armv7m-crossdev.txt
new file mode 100644
index 0000000..9367f47
--- /dev/null
+++ b/configs/armv7m-crossdev.txt
@@ -0,0 +1,72 @@
+Use crossdev to build a bare-metal (no kernel headers or full eglibc) for
+an ARM Cortex-M4 dev board. The cortex-m4 is the armv7e-m arch for gcc.
+The Cortex-M4 has a silicon FPU option (VFPv4-SP) of single-precision (SP),
+which is known as a Cortex-M4F. The Cortex-M4 also includes SIMD DSP
+instructions.
+
+This commands builds binutils/gcc/newlib/gdb; first emerge crossdev-999999,
+then disable any layman/other overlays and enable the output overlay in the
+crossdev command (unless you want the cross-foo overlay to be created in
+the first existing overlay found by crossdev).
+
+Note for newer portage using repos.conf you should use PORTDIR_OVERLAY for
+the output overlay instead of the crossdev argument for ov-output. Also if
+portage complains about no LIBC defined, you can add ELIBC="newlib" to
+the command line.
+
+USE="hardened multitarget lzma -multilib -openmp -fortran -jit" EXTRA_ECONF="--disable-multilib --disable-libsanitizer --with-arch=armv7e-m --with-tune=cortex-m4 --with-float-abi=hard --with-fpu=fpv4-sp-d16 --with-mode=thumb" crossdev armv7m-hardfloat-eabi --ex-gdb --show-fail-log --ov-output /usr/local/cortex-m4
+
+To use the nano-io and nano-malloc config options, use this one:
+
+USE="hardened multitarget lzma -multilib -openmp -fortran -jit" EXTRA_ECONF="--enable-newlib-nano-formatted-io --enable-newlib-nano-malloc --with-newlib --disable-multilib --disable-libsanitizer --with-arch=armv7e-m --with-tune=cortex-m4 --with-float-abi=hard --with-fpu=fpv4-sp-d16 --with-mode=thumb" crossdev armv7m-hardfloat-eabi --abis "aapcs,atpcs" --ex-gdb --show-fail-log --ov-output /usr/local/cortex-m4
+
+Final command using portage newlib for default stage-1 gcc:
+
+PORTDIR_OVERLAY="/usr/local/cortex-m4 /var/lib/layman/ada" USE="hardened multitarget lzma -multilib -openmp -fortran -jit -vtv" EXTRA_ECONF="--enable-newlib-nano-formatted-io --enable-newlib-nano-malloc --with-newlib --disable-multilib --disable-libsanitizer --with-arch=armv7e-m --with-tune=cortex-m4 --with-float-abi=hard --with-fpu=fpv4-sp-d16 --with-mode=thumb --with-abi=aapcs-linux --enable-libstdcxx-time=no" crossdev --g 5.4.0-r4 -t armv7m-hardfloat-eabi --ex-gdb --show-fail-log -v
+
+Using newlib-nano ebuild in local overlay, note newlib-nano enables the above
+two options plus several others:
+
+PORTDIR_OVERLAY="/usr/local/cortex-m4 /var/lib/layman/ada /usr/local/portage" USE="hardened multitarget lzma -multilib -nls -openmp -fortran -jit -vtv" EXTRA_ECONF="--with-newlib --disable-multilib --disable-libsanitizer --with-arch=armv7e-m --with-tune=cortex-m4 --with-float-abi=hard --with-fpu=fpv4-sp-d16 --with-mode=thumb --with-abi=aapcs-linux" crossdev --g 5.4.0-r4 -t armv7m-hardfloat-eabi --lenv 'USE="newlib-nano"' --ex-gdb --show-fail-log -v
+
+2-stage gcc command with crossdev arg for stage 4 with c,c++ and newlib:
+
+PORTDIR_OVERLAY="/usr/local/cortex-m4 /var/lib/layman/ada" USE="-ada hardened multitarget lzma -multilib -nls -openmp -fortran -jit -vtv" EXTRA_ECONF="--with-newlib --disable-multilib --disable-libsanitizer --with-arch=armv7e-m --with-tune=cortex-m4 --with-float-abi=hard --with-fpu=fpv4-sp-d16 --with-mode=thumb --with-abi=aapcs-linux --enable-libstdcxx-time=no" crossdev --g 5.4.0-r4 -s4 -t armv7m-hardfloat-eabi --lenv 'USE="newlib-nano"' --ex-gdb --show-fail-log -v
+
+Same command as above but with ada support (just no libada)
+
+PORTDIR_OVERLAY="/usr/local/cortex-m4 /var/lib/layman/ada" USE="ada hardened multitarget lzma -multilib -nls -openmp -fortran -jit -vtv" EXTRA_ECONF="--with-newlib --disable-libada --disable-multilib --disable-libsanitizer --with-arch=armv7e-m --with-tune=cortex-m4 --with-float-abi=hard --with-fpu=fpv4-sp-d16 --with-mode=thumb --with-abi=aapcs-linux --enable-libstdcxx-time=no" crossdev --g 6.4.0 -s4 -t armv7m-hardfloat-eabi --genv 'EXTRA_ECONF="--with-host-libstdcxx=-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm"' --lenv 'USE="newlib-nano"' --ex-gdb --show-fail-log -v
+
+Extra upstream config hack for transactional memory related code in
+crtbegin.o, add INHIBIT_LIBC_CFLAGS to EXTRA_ECONF:
+
+--genv 'EXTRA_ECONF="--with-host-libstdcxx=-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm" INHIBIT_LIBC_CFLAGS="-DUSE_TM_CLONE_REGISTRY=0"'
+
+Basic CFLAGS for target builds:
+
+CFLAGS="-mthumb -march=armv7e-m -mtune=cortex-m4 -mabi=aapcs \
+ -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mfp16-format=ieee \
+ -Wa,-mimplicit-it=thumb"
+
+
+Current vendor toolchain produces:
+
+ text data bss dec hex filename
+ 208576 1112 27888 237576 3a008 _build/nrf52832_xxaa_s132.out
+
+
+Updated toolchain using gcc 5.4.0, newlib 2.4.0, gdb 7.11.1 without libnano*
+but with newlib-nano-formatted-io and newlib-nano-malloc enabled and -Os
+plus -g debug symbols produces:
+
+ text data bss dec hex filename
+ 129268 1820 28500 159588 26f64 _build/nrf52832_xxaa_s132.out
+
+
+Updated toolchain using slightly more correct (and bloaty) debug flags, where
+DEBUG_BLOAT = -Og -g3 produces:
+
+ text data bss dec hex filename
+ 145780 1820 28548 176148 2b014 _build/nrf52832_xxaa_s132.out
+
+Roll your own toolchain ftw!
diff --git a/configs/crossdev-examples.txt b/configs/crossdev-examples.txt
new file mode 100644
index 0000000..9a44c64
--- /dev/null
+++ b/configs/crossdev-examples.txt
@@ -0,0 +1,31 @@
+This works with new USE=ada toolchain overlay and the crossdev-fixes
+branch, however, the current crossdev-99999999 wants to put the cross
+overlay in the wrong place. The --ov-output swicth does create the
+overlay but then fails to look there. Apparently using the (deprecated)
+PORTDIR_OVERLAY env var is the only way...
+
+This worked for arm:
+
+ USE="-graphite hardened -fortran -jit" \
+ EXTRA_ECONF="--with-arch=armv7-a --with-tune=cortex-a9 \
+ --with-float-abi=hard --with-fpu=vfpv3-d16" \
+ crossdev -v -t armv7a-hardfloat-linux-gnueabi --ex-gdb
+
+as of 10/06/2017 with:
+ gcc 6.4.0/5.4.0
+ binutils 2.29.1/2.28.1
+ glibc 2.25-r5
+ linux-headers 4.13
+
+This worked for arm64:
+
+crossdev -v -t aarch64-unknown-linux-gnu --ex-gdb
+
+This worked for cortex-M4:
+
+USE="hardened multitarget lzma -multilib -openmp -fortran -jit" \
+ EXTRA_ECONF="--disable-multilib --disable-libsanitizer \
+ --with-arch=armv7e-m --with-tune=cortex-m4 --with-float-abi=hard \
+ --with-fpu=fpv4-sp-d16 --with-mode=thumb" \
+ crossdev -t armv7m-hardfloat-eabi --ex-gdb \
+ --show-fail-log --ov-output /usr/local/cortex-m4
diff --git a/configs/imx6/env/cxx-abi.conf b/configs/imx6/env/cxx-abi.conf
index 13b687f..1e2a41b 100644
--- a/configs/imx6/env/cxx-abi.conf
+++ b/configs/imx6/env/cxx-abi.conf
@@ -1,3 +1,3 @@
CFLAGS="${CFLAGS} -std=gnu11"
-CXXFLAGS="${CXXFLAGS} -std=gnu11"
+CXXFLAGS="${CXXFLAGS} -std=gnu++11"
diff --git a/configs/imx6/env/no-parallel.conf b/configs/imx6/env/no-parallel.conf
index 1b43095..aa0b361 100644
--- a/configs/imx6/env/no-parallel.conf
+++ b/configs/imx6/env/no-parallel.conf
@@ -1 +1,2 @@
MAKEOPTS="-j1"
+
diff --git a/configs/imx6/make.conf b/configs/imx6/make.conf
index f824d81..502a198 100644
--- a/configs/imx6/make.conf
+++ b/configs/imx6/make.conf
@@ -2,26 +2,28 @@
USE="acl apache2 -cups ipv6 logrotate sasl snmp udev truetype
gd gmp gs graphviz jpeg jbig png tiff unicode nls xpm
- spell bzip2 gpm imlib usb expat innodb pax hardened
+ spell bzip2 gpm imlib usb expat innodb pax hardened cups
curl postgres jpeg2k dejavu tcpd fam sqlite dbus svg git
subversion ccache fontconfig gudev hwdb distcc lzma
-samba -avahi gdbm consolekit policykit xattr alsa caps
+ cdda cddb ffmpeg -libav vpx x264 gstreamer pulseaudio v4l
+ -speex opus flac vorbis ogg mp3
- -gcj fortran -go lua java -perl python howl -ruby vala
- gnome-keyring gnutls glib wheel premount introspection
- ccache lzma zip 7zip xml udisks zeroconf
+ -gcj fortran -go lua -java -perl python howl -ruby vala
+ gnome-online-accounts gnutls glib wheel premount introspection
+ ccache lzma zip 7zip xml udisks zeroconf cacert guile
+ openpgp pkcs11 djvu pdf libnotify enchant
nptl nptlonly threads pic neon
wayland weston gbm vdpau openc eglfs evdev ibus kms lto
- egl gles1 gles2 opengl glx dri drm imx armada etnaviv -dri3
+ egl gles1 gles2 opengl glx dri drm imx armada etnaviv dri3
- system-libvpx system-icu -bindist -gtkspell -tslib -phonon qml libav
+ system-libvpx system-icu -bindist -gtkspell -tslib -phonon qml
X xorg gtk -qt -qt3 -qt4 -qt3support qt5 -kde -kde3 -kde4 -gnome
- -kwallet
+ -kwallet gnome-keyring networkmanager
-svga -apm -emacs -directfb -smartcard -nss -openct -clamav -systemd
- -modemmanager -networkmanager -xinerama -bonobo -gnome-online-accounts
- -php -hardenedphp
+ -modemmanager -xinerama -bonobo -php -hardenedphp
"
# flto=jobserver might be too much
@@ -57,7 +59,7 @@ PORT_LOGDIR=/var/log/portage
PORTAGE_ELOG_SYSTEM="save"
PORTAGE_ELOG_CLASSES="warn error log qa"
-#PORTDIR_OVERLAY="/usr/local/portage /usr/local/arm"
+PORTDIR_OVERLAY="/usr/local/portage /usr/local/arm"
PORTAGE_RSYNC_RETRIES="3"
AUTOCLEAN="yes"
diff --git a/configs/imx6/package.env b/configs/imx6/package.env
index de34086..570541c 100644
--- a/configs/imx6/package.env
+++ b/configs/imx6/package.env
@@ -6,17 +6,23 @@ sys-libs/glibc plain-flags.conf
sys-devel/llvm plain-flags.conf gcc-j2.conf
dev-lang/gnat-gcc plain-flags.conf
+#dev-libs/link-grammar plain-flags.conf
+dev-libs/libsodium no-lto.conf
+dev-libs/protobuf plain-flags.conf
dev-libs/gmp no-lto.conf
dev-lang/ocaml no-lto.conf
dev-lang/perl plain-flags.conf
net-nds/openldap plain-flags.conf
net-libs/libdmapsharing no-gold.conf
-dev-libs/boost no-lto.conf no-vector.conf
+dev-libs/boost no-lto.conf no-vector.conf gcc-j2.conf
dev-util/boost-build no-lto.conf no-vector.conf
-dev-util/cmake no-lto.conf no-vector.conf cxx-abi.conf
+#dev-libs/boost plain-flags.conf
+#dev-util/boost-build plain-flags.conf
+dev-util/cmake no-lto.conf no-vector.conf cxx-abi.conf gcc-j2.conf
app-editors/atom clang.conf
+app-text/mupdf no-lto.conf
dev-lang/spidermonkey no-lto.conf
dev-util/ragel plain-flags.conf
dev-util/colm plain-flags.conf
@@ -58,10 +64,12 @@ media-sound/pulseaudio no-lto.conf
media-libs/flac no-lto.conf
media-video/vlc no-lto.conf
media-video/libav no-lto.conf
+media-video/ffmpeg no-lto.conf gcc-j3.conf
media-libs/libpostproc no-lto.conf
dev-libs/weston no-lto.conf
app-office/libreoffice no-lto.conf
+dev-qt/qtwebengine plain-flags.conf gcc-j2.conf
dev-qt/linguist-tools no-lto.conf gcc-j2.conf
dev-qt/qtchooser no-lto.conf gcc-j2.conf
dev-qt/qtconcurrent no-lto.conf gcc-j2.conf
@@ -92,8 +100,10 @@ app-crypt/heimdal no-lto.conf
net-fs/samba no-lto.conf
dev-libs/libclc no-lto.conf
+dev-libs/wayland no-lto.conf
media-libs/mesa no-lto.conf etnaviv.conf gcc-j3.conf
-x11-libs/gtk+:3 cxx-abi.conf
+#x11-libs/gtk+:3 cxx-abi.conf no-parallel.conf
+x11-libs/gtk+:3 plain-flags.conf gcc-j2.conf
x11-base/xorg-server no-lto.conf
dev-lang/tk no-lto.conf
dev-lang/tcl no-lto.conf
diff --git a/configs/imx6/package.keywords b/configs/imx6/package.keywords
index 915746d..2f73e65 100644
--- a/configs/imx6/package.keywords
+++ b/configs/imx6/package.keywords
@@ -1,7 +1,11 @@
-#>=sys-block/zram-init-2.7 **
+>=sys-block/zram-init-2.7 **
=sys-boot/vboot-utils-1.0_p20130222 **
#=x11-drivers/xf86-video-armada-9999 **
+=media-libs/glfw-3.2.1 **
+=www-client/qupzilla-2.1.2 **
+=dev-qt/qtwebengine-5.7.1-r1 **
+
=x11-misc/tintwizard-0.3.4-r2 **
>=dev-libs/gom-0.3.1
@@ -9,6 +13,6 @@
>=media-plugins/grilo-plugins-0.3.1
=app-portage/cpuid2cpuflags-3:0 **
-
+=dev-python/cddb-py-1.4-r1 **
=x11-libs/libfm-qt-0.11.1 **
diff --git a/configs/imx6/package.mask b/configs/imx6/package.mask
index df4f533..c653798 100644
--- a/configs/imx6/package.mask
+++ b/configs/imx6/package.mask
@@ -1,5 +1,5 @@
#>=sys-block/zram-init-3.0
->=media-libs/speex-1.2.0
+#>=media-libs/speex-1.2.0
#>=media-sound/exaile-9999
#>=www-client/firefox-24.0
@@ -14,7 +14,8 @@
>=media-libs/galcore-headers-4.6.9
>=x11-libs/libetnaviv-20151011
->=media-libs/mesa-9999
+#>=media-libs/mesa-9999
+>=media-libs/mesa-18.0
>=sys-devel/llvm-9999
>=x11-libs/cairo-9999
diff --git a/configs/imx6/package.use b/configs/imx6/package.use
index cb90b29..1b34d03 100644
--- a/configs/imx6/package.use
+++ b/configs/imx6/package.use
@@ -1,7 +1,28 @@
app-crypt/pinentry -gtk
dev-vcs/git -gpg
dev-util/cmake -qt5
+dev-libs/link-grammar -python
+virtual/linux-sources firmware
+# for firefox
+www-client/firefox -minimal hwaccel jack nsplugin startup-notification
+www-client/firefox system-libvpx system-harfbuzz system-jpeg -system-libevent system-sqlite
+media-libs/libpng apng
+media-video/ffmpeg gsm X encode
+
+media-video/mplayer2 -dvd -dvdnav yuv4mpeg
+media-video/mplayer live lzo rtc -dvd -dvdnav -encode libmpeg2 -opengl -osdmenu -xscreensaver -xv -X
+media-video/ffmpeg opengl -vdpau -speex -bindist
+media-video/ffmpeg fontconfig jack libv4l openssl theora xcb amr opus zeromq
+media-video/libav -opengl -vdpau -speex
+media-video/libav armv7 armvfp encode gpl gsm jack jpeg2k opus X tools theora
+# needs neon/asm patches
+virtual/ffmpeg gsm jpeg2k opus -speex theora
+#dev-libs/libsodium
+
+media-sound/lame sndfile
+media-video/vlc jack mp3 mpeg
+app-crypt/rhash openssl
media-libs/grilo playlist
media-plugins/grilo-plugins -dvd daap
x11-wm/openbox startup-notification
@@ -28,7 +49,8 @@ app-crypt/gcr gtk vala introspection
dev-qt/qtcore:5 icu
dev-qt/qtnetwork connman
dev-qt/qtdeclarative localstorage
-dev-python/PyQt5 webkit widgets printsupport network
+dev-python/PyQt5 webkit widgets printsupport network gui
+dev-qt/qtwebengine widgets
dev-qt/qtwebkit printsupport -multimedia opengl qml webp
dev-qt/qtprintsupport opengl
dev-qt/qt-mobility multimedia
@@ -71,10 +93,10 @@ app-crypt/gcr gtk
dev-libs/libpcre pcre16
app-i18n/ibus gtk3 introspection
media-libs/libcanberra gtk3
-media-plugins/alsa-plugins -ffmpeg
+#media-plugins/alsa-plugins -ffmpeg
media-sound/sox ffmpeg sndfile
media-libs/vo-aacenc neon
-media-libs/libvpx postproc -pic
+media-libs/libvpx postproc -pic svc
xfce-base/xfce4-settings libcanberra libinput
media-libs/netpbm jbig rle
@@ -91,9 +113,10 @@ mail-client/claws-mail gdata smime -webkit calendar spam-report spamassassin
net-libs/libproxy -webkit
>=net-libs/webkit-gtk-2.4.6 jit
>=net-libs/webkit-gtk-2.8.4 egl -opengl -glx geoloc gles2 gstreamer introspection jit webgl -webkit1
+>=net-libs/webkit-gtk-2.16.1 opengl -gles2 libnotify
www-client/midori granite jit webkit2 -deprecated -introspection zeitgeist
media-libs/cogl opengl gles2
-x11-libs/cairo -drm -lto gles2 -opengl xcb xlib-xcb
+x11-libs/cairo -drm -lto gles2 opengl xcb xlib-xcb
sys-devel/llvm -ncurses gold
dev-libs/weston colord editor examples fbdev gles2 -opengl rdp -resize-optimization view wayland-compositor xwayland
@@ -122,7 +145,7 @@ sys-fs/lvm2 -static static-libs -thin
>=virtual/libudev-215-r1 static-libs
>=sys-fs/udev-208-r1 static-libs
-gnome-base/gvfs archive cdda fuse gtk gnome-keyring http nfs samba udisks zeroconf
+gnome-base/gvfs archive cdda fuse gtk gnome-online-accounts google http nfs samba udisks zeroconf
dev-libs/boost icu
sys-devel/make guile
sys-auth/pambase gnome-keyring mktemp pam_ssh
@@ -133,7 +156,7 @@ media-sound/exaile aws cddb libnotify mtp -context-info droptray -ffmpeg mpris2
media-plugins/exaile-soundmenu-indicator xfce
sys-auth/polkit wheel
media-libs/gd fontconfig
-media-video/vlc faad gnutls opengl -vaapi vpx
+media-video/vlc faad gnutls opengl -vaapi
media-gfx/imagemagick corefonts djvu fftw fontconfig graphviz jbig jpeg2k lzma
media-gfx/graphviz -examples gdk-pixbuf gtk
x11-libs/vte glade
@@ -157,13 +180,13 @@ x11-apps/xinit -minimal
x11-libs/libdrm-armada static-libs
x11-libs/libdrm libkms -kernel-src
=media-libs/mesa-10* -llvm -pic -gallium
-# don't use dri3 interface for etnaviv/mesa, not sure about mali?
->=media-libs/mesa-9999 -dri3 -llvm
-media-libs/mesa gallium egl gles1 gles2 llvm nptl osmesa xa xvmc -bindist -classic
+# don't use dri3 interface for etnaviv, do use it for mesa/X
+x11-drivers/xf86-video-armada -dri3
+#>=media-libs/mesa-9999 -dri3 -llvm
+media-libs/mesa gallium egl gles1 gles2 llvm -mir nptl osmesa xa xvmc -bindist -classic
+#media-libs/mir python_single_target_python3_4 -python_single_target_python3_5
x11-apps/mesa-progs egl gles1 gles2
-www-client/firefox -minimal -system-libvpx
-
# for firefox to use system libs
dev-db/sqlite secure-delete
dev-lang/python sqlite
@@ -176,17 +199,6 @@ net-misc/networkmanager -dhclient -dhcpcd nodhcp modemmanager gnutls -nss -wext
net-misc/tightvnc server
net-dns/avahi mdnsresponder-compat autoipd gtk3
-media-libs/harfbuzz icu
-
-media-video/mplayer2 -dvd -dvdnav yuv4mpeg
-media-video/mplayer live lzo rtc -dvd -dvdnav -encode libmpeg2 -opengl -osdmenu -xscreensaver -xv -X
-media-video/ffmpeg armv7 armvfp -encode -opengl -X
-media-video/libav -vdpau vpx armv7 armvfp encode gpl gsm jack jpeg2k speex -opengl opus X tools theora
-# needs neon/asm patches
-virtual/ffmpeg gsm jpeg2k opus speex theora
-
-media-sound/lame sndfile
-media-video/ffmpeg -bindist fontconfig jack libv4l flite openssl theora threads
app-office/abiword calendar collab -eds grammar latex math openxml ots thesaurus wmf
app-misc/ddccontrol -gnome
diff --git a/configs/imx6/profile/package.use.mask b/configs/imx6/profile/package.use.mask
new file mode 100644
index 0000000..edae80d
--- /dev/null
+++ b/configs/imx6/profile/package.use.mask
@@ -0,0 +1,2 @@
+app-text/mupdf -opengl
+media-video/ffmpeg -vpx
diff --git a/configs/pine64/env/cabal-extra.conf b/configs/pine64/env/cabal-extra.conf
new file mode 100644
index 0000000..02f9f75
--- /dev/null
+++ b/configs/pine64/env/cabal-extra.conf
@@ -0,0 +1,2 @@
+CABAL_EXTRA_CONFIGURE_FLAGS="--with-compiler=/usr/bin/armv7a-hardfloat-linux-gnueabi-gcc"
+#CABAL_EXTRA_CONFIGURE_FLAGS="--with-cc=armv7a-hardfloat-linux-gnueabi-gcc --with-compiler=/usr/bin/armv7a-hardfloat-linux-gnueabi-gcc"
diff --git a/configs/pine64/env/clang-lt.conf b/configs/pine64/env/clang-lt.conf
new file mode 100644
index 0000000..128e752
--- /dev/null
+++ b/configs/pine64/env/clang-lt.conf
@@ -0,0 +1,8 @@
+CC=clang
+CXX=clang++
+CFLAGS="-march=native -O2 -pipe -flto=5 -fvectorize"
+CXXFLAGS="${CFLAGS}"
+LDFLAGS="${CFLAGS} -Wl,-plugin,/usr/lib64/LLVMgold.so"
+AR='/usr/local/bin/clang-ar'
+RANLIB=':'
+NM='nm --plugin /usr/lib64/LLVMgold.so'
diff --git a/configs/pine64/env/clang.conf b/configs/pine64/env/clang.conf
new file mode 100644
index 0000000..50ae509
--- /dev/null
+++ b/configs/pine64/env/clang.conf
@@ -0,0 +1,12 @@
+CC=clang
+CXX=clang++
+
+#CFLAGS="-O2 -pipe"
+#CXXFLAGS="${CFLAGS}"
+#LDFLAGS=" -Wl,-plugin,/usr/lib64/LLVMgold.so"
+AR='/usr/local/bin/clang-ar'
+RANLIB=':'
+NM='nm --plugin /usr/lib64/LLVMgold.so'
+
+MAKEOPTS="-j1"
+FEATURES="-ccache -distcc"
diff --git a/configs/pine64/env/gold.conf b/configs/pine64/env/gold.conf
new file mode 100644
index 0000000..0bdd21e
--- /dev/null
+++ b/configs/pine64/env/gold.conf
@@ -0,0 +1 @@
+EXTRA_ECONF="--enable-gold=default"
diff --git a/configs/pine64/env/lto-default.conf b/configs/pine64/env/lto-default.conf
new file mode 100644
index 0000000..02db50d
--- /dev/null
+++ b/configs/pine64/env/lto-default.conf
@@ -0,0 +1,7 @@
+VECFLAGS="-ftree-vectorize -ftree-loop-distribution -fvect-cost-model=cheap"
+CFLAGS="-march=armv8-a -mtune=cortex-a53 -O2 -flto ${VECFLAGS}"
+CXXFLAGS="${CFLAGS}"
+LDFLAGS="-O2 -flto -fuse-linker-plugin"
+AR='/usr/local/bin/ar'
+RANLIB='/usr/local/bin/ranlib'
+NM='/usr/local/bin/nm'
diff --git a/configs/pine64/env/lto-spec.conf b/configs/pine64/env/lto-spec.conf
new file mode 100644
index 0000000..a57e9ae
--- /dev/null
+++ b/configs/pine64/env/lto-spec.conf
@@ -0,0 +1,8 @@
+VECFLAGS="-ftree-vectorize -ftree-loop-distribution -fvect-cost-model=cheap"
+CFLAGS="-march=armv8-a -mtune=cortex-a53 -O2 -flto ${VECFLAGS}"
+CXXFLAGS="${CFLAGS} -fvisibility=hidden"
+LDFLAGS="-O2 -flto -fuse-linker-plugin"
+AR='/usr/local/bin/ar'
+RANLIB='/usr/local/bin/ranlib'
+NM='/usr/local/bin/nm'
+
diff --git a/configs/pine64/env/lto-virt.conf b/configs/pine64/env/lto-virt.conf
new file mode 100644
index 0000000..e7a2dc4
--- /dev/null
+++ b/configs/pine64/env/lto-virt.conf
@@ -0,0 +1,8 @@
+VECFLAGS="-ftree-vectorize -ftree-loop-distribution -fvect-cost-model=cheap"
+CFLAGS="-march=armv8-a -mtune=cortex-a53 -O2 -flto ${VECFLAGS}"
+CXXFLAGS="${CFLAGS} -fno-devirtualize"
+LDFLAGS="-O2 -flto -fuse-linker-plugin"
+AR='/usr/local/bin/ar'
+RANLIB='/usr/local/bin/ranlib'
+NM='/usr/local/bin/nm'
+
diff --git a/configs/pine64/env/med-j.conf b/configs/pine64/env/med-j.conf
new file mode 100644
index 0000000..0cb2e5e
--- /dev/null
+++ b/configs/pine64/env/med-j.conf
@@ -0,0 +1 @@
+MAKEOPTS="-j9"
diff --git a/configs/pine64/env/no-bigj.conf b/configs/pine64/env/no-bigj.conf
new file mode 100644
index 0000000..2ad5635
--- /dev/null
+++ b/configs/pine64/env/no-bigj.conf
@@ -0,0 +1 @@
+MAKEOPTS="-j3"
diff --git a/configs/pine64/env/no-distcc.conf b/configs/pine64/env/no-distcc.conf
new file mode 100644
index 0000000..46d89e9
--- /dev/null
+++ b/configs/pine64/env/no-distcc.conf
@@ -0,0 +1 @@
+FEATURES="-ccache -distcc"
diff --git a/configs/pine64/env/no-gold.conf b/configs/pine64/env/no-gold.conf
new file mode 100644
index 0000000..68f2260
--- /dev/null
+++ b/configs/pine64/env/no-gold.conf
@@ -0,0 +1,3 @@
+CFLAGS="${CFLAGS} -fuse-ld=bfd -fno-lto -fno-use-linker-plugin"
+CXXFLAGS="${CXXFLAGS} -fuse-ld=bfd -fno-lto -fno-use-linker-plugin"
+LDFLAGS="${LDFLAGS} -fuse-ld=bfd -fno-lto -fno-use-linker-plugin"
diff --git a/configs/pine64/env/no-graphite.conf b/configs/pine64/env/no-graphite.conf
new file mode 100644
index 0000000..d656b1f
--- /dev/null
+++ b/configs/pine64/env/no-graphite.conf
@@ -0,0 +1,3 @@
+CFLAGS="${CFLAGS} -fno-loop-interchange -fno-tree-loop-distribution -fno-loop-strip-mine -fno-loop-block"
+CXXFLAGS="${CXXFLAGS} -fno-loop-interchange -fno-tree-loop-distribution -fno-loop-strip-mine -fno-loop-block"
+LDFLAGS="${LDFLAGS} -fno-loop-interchange -fno-tree-loop-distribution -fno-loop-strip-mine -fno-loop-block"
diff --git a/configs/pine64/env/no-lto-default.conf b/configs/pine64/env/no-lto-default.conf
new file mode 100644
index 0000000..6f39623
--- /dev/null
+++ b/configs/pine64/env/no-lto-default.conf
@@ -0,0 +1,3 @@
+CFLAGS="${CFLAGS} -fno-lto -fno-use-linker-plugin -fvisibility=default"
+CXXFLAGS="${CXXFLAGS} -fno-lto -fno-use-linker-plugin -fvisibility=default"
+LDFLAGS="${LDFLAGS} -fno-lto -fno-use-linker-plugin -fwhole-program"
diff --git a/configs/pine64/env/no-lto.conf b/configs/pine64/env/no-lto.conf
new file mode 100644
index 0000000..bdc5383
--- /dev/null
+++ b/configs/pine64/env/no-lto.conf
@@ -0,0 +1,3 @@
+CFLAGS="${CFLAGS} -fno-lto -fno-use-linker-plugin -fwhole-program"
+CXXFLAGS="${CXXFLAGS} -fno-lto -fno-use-linker-plugin -fwhole-program"
+LDFLAGS="${LDFLAGS} -fno-lto -fno-use-linker-plugin -fwhole-program"
diff --git a/configs/pine64/env/no-parallel.conf b/configs/pine64/env/no-parallel.conf
new file mode 100644
index 0000000..1b43095
--- /dev/null
+++ b/configs/pine64/env/no-parallel.conf
@@ -0,0 +1 @@
+MAKEOPTS="-j1"
diff --git a/configs/pine64/env/no-vector.conf b/configs/pine64/env/no-vector.conf
new file mode 100644
index 0000000..530da7f
--- /dev/null
+++ b/configs/pine64/env/no-vector.conf
@@ -0,0 +1,3 @@
+CFLAGS="${CFLAGS} -fno-tree-loop-distribution -fno-tree-vectorize"
+CXXFLAGS="${CXXFLAGS} -fno-tree-loop-distribution -fno-tree-vectorize"
+LDFLAGS="${LDFLAGS} -fno-tree-loop-distribution -fno-tree-vectorize"
diff --git a/configs/pine64/env/plain-bfd.conf b/configs/pine64/env/plain-bfd.conf
new file mode 100644
index 0000000..3a27090
--- /dev/null
+++ b/configs/pine64/env/plain-bfd.conf
@@ -0,0 +1,5 @@
+LD="${CHOST}-ld.bfd"
+CFLAGS="-march=armv8-a -mtune=cortex-a53 -O2 -pipe -fuse-ld=bfd -fwhole-program"
+CXXFLAGS="${CFLAGS}"
+LDFLAGS="${CFLAGS} -Wl,-O2 -Wl,--as-needed"
+
diff --git a/configs/pine64/env/plain-flags.conf b/configs/pine64/env/plain-flags.conf
new file mode 100644
index 0000000..b9f2af2
--- /dev/null
+++ b/configs/pine64/env/plain-flags.conf
@@ -0,0 +1,4 @@
+CFLAGS="-march=armv8-a -mcpu=cortex-a53+simd -O2"
+CXXFLAGS="${CFLAGS}"
+LDFLAGS="-Wl,-O2 -Wl,--as-needed -fwhole-program"
+
diff --git a/configs/pine64/env/vectorize.conf b/configs/pine64/env/vectorize.conf
new file mode 100644
index 0000000..c041ff3
--- /dev/null
+++ b/configs/pine64/env/vectorize.conf
@@ -0,0 +1,4 @@
+VEC_OPTS="-ftree-vectorize -ftree-loop-distribution -fvect-cost-model=cheap"
+CFLAGS="${CFLAGS} ${VEC_OPTS}"
+CXXFLAGS="${CXXFLAGS} ${VEC_OPTS}"
+LDFLAGS="${LDFLAGS} ${VEC_OPTS}"
diff --git a/configs/pine64/make.conf b/configs/pine64/make.conf
new file mode 100644
index 0000000..dfafeb4
--- /dev/null
+++ b/configs/pine64/make.conf
@@ -0,0 +1,82 @@
+# These settings were set by the catalyst build script that automatically
+# built this stage.
+# Please consult /usr/share/portage/config/make.conf.example for a more
+# detailed example.
+
+USE="acl gudev udev -bindist ipv6 alsa wheel caps xattr pam
+ dnotify fbcon ipv6 ssh ssl tls gnutls inotify
+ consolekit pkcs11 -gif jpeg png gpm
+ nolvmstatic logrotate unicode lzma zip curl
+
+ guile fortran -gcj go lua python ruby vala json
+
+ threads nptl pic dri drm -opengl -openvg
+ kms lto evdev tslib libav
+
+ -gtk -X -policykit -dbus
+ -perl qt -qt3 -qt4 -qt3support -qt5 -kde -kde3 -kde4 -gnome -systemd
+ -svga -apm -emacs -directfb -smartcard -nss -openct -clamav
+"
+
+# flto=jobserver might be too much
+LINK_OPTS="-flto=4"
+VEC_OPTS="-ftree-vectorize -ftree-loop-distribution -fvect-cost-model=cheap"
+# for gcc5 set fp features via -mtune or -mcpu below
+TUNE_OPTS="-march=armv8-a -mcpu=cortex-a53+simd"
+#TUNE_OPTS="-march=armv8-a -mtune=cortex-a53"
+
+#CFLAGS="-O2 -pipe"
+CFLAGS="${TUNE_OPTS} -O2 -pipe ${VEC_OPTS} ${LINK_OPTS}"
+CXXFLAGS="${CFLAGS}"
+LDFLAGS="${CFLAGS} -fuse-linker-plugin"
+
+CHOST="aarch64-unknown-linux-gnu"
+
+ACCEPT_KEYWORDS="~arm64"
+
+GENTOO_MIRRORS="http://wimpy.arnolds.bogus/gentoo/"
+#SYNC="rsync://prime.arnolds.bogus/gentoo-portage"
+
+ACCEPT_LICENSE="@GPL-COMPATIBLE @OSI-APPROVED @EULA dlj-1.1 skype-eula googleearth AdobeFlash-10.1 Oracle-BCLA-JavaSE"
+
+PORTAGE_TMPDIR=/var/tmp
+PORT_LOGDIR=/var/log/portage
+PORTAGE_ELOG_SYSTEM="save"
+PORTAGE_ELOG_CLASSES="warn error log qa"
+
+PORTDIR_OVERLAY="/usr/local/portage /usr/local/arm"
+
+PORTAGE_RSYNC_RETRIES="3"
+AUTOCLEAN="yes"
+PORTAGE_TMPFS="/dev/shm"
+
+PORTDIR="/usr/portage"
+DISTDIR="${PORTDIR}/distfiles"
+PKGDIR="${PORTDIR}/packages"
+
+# This sets the language of build output to English.
+# Please keep this setting intact when reporting bugs.
+LC_MESSAGES=C
+
+MAKEOPTS="-j5"
+
+FEATURES="nodoc -distcc sandbox buildpkg ccache -splitdebug userpriv usersandbox"
+
+ALSA_CARDS="usb-audio"
+CURL_SSL="openssl"
+INPUT_DEVICES="keyboard mouse evdev"
+VIDEO_CARDS="fbdev"
+#VIDEO_CARDS="fbdev nouveau tegra"
+LINGUAS="en_US en"
+
+APACHE2_MODULES="actions alias auth_digest auth_basic authn_alias
+ authn_anon authn_dbm authn_default authn_file authz_dbm authz_default
+ authz_groupfile authz_host authz_owner authz_user autoindex cache dav
+ dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache
+ filter headers include info log_config logio mem_cache mime mime_magic
+ negotiation proxy proxy_connect proxy_http rewrite setenvif speling status
+ unique_id userdir usertrack vhost_alias"
+
+
+CCACHE_SIZE="2G"
+
diff --git a/configs/pine64/package.accept_keywords b/configs/pine64/package.accept_keywords
new file mode 100644
index 0000000..f4f291a
--- /dev/null
+++ b/configs/pine64/package.accept_keywords
@@ -0,0 +1,152 @@
+# for arm
+>=kde-plasma/libkscreen-5.4.3 **
+>=sys-auth/polkit-pkla-compat-0.1 **
+>=kde-frameworks/extra-cmake-modules-5.9.0 **
+>=kde-frameworks/kguiaddons-5.8.0 **
+>=kde-frameworks/kwindowsystem-5.8.0 **
+>=kde-frameworks/kf-env-3 **
+
+>=www-client/otter-9999 **
+>=www-client/qtweb-3.8.5_p108 **
+>=media-sound/qmpdclient-1.2.2-r1 **
+>=media-sound/cantata-1.5.1 **
+>=media-libs/taglib-extras-1.0.1 **
+>=media-sound/coquillo-1.12 **
+>=media-libs/liblastfm-1.0.9 **
+>=dev-cpp/sparsehash-2.0.2 **
+>=net-libs/jreen-1.2.0 **
+>=net-im/qutim-0.3.2 **
+>=media-libs/chromaprint-1.2 **
+>=media-libs/libmygpo-qt-9999 **
+>=media-libs/libechonest-2.3.1 **
+>=dev-python/markups-0.2.4-r1 **
+>=media-sound/clementine-9999 **
+>=dev-python/pyenchant-1.6.6 **
+>=app-editors/retext-9999 **
+>=app-editors/tea-36.0.2 **
+>=media-sound/qtmpc-0.6.1 **
+>=dev-vcs/qct-1.7-r1 **
+
+>=dev-libs/libqtxdg-1.1.0 **
+>=x11-misc/pcmanfm-qt-0.9.0 **
+media-gfx/lximage-qt **
+lxqt-base/liblxqt **
+lxqt-base/liblxqt-mount **
+lxqt-base/libsysstat **
+lxqt-base/lxqt-about **
+lxqt-base/lxqt-admin **
+lxqt-base/lxqt-common **
+lxqt-base/lxqt-config **
+lxqt-base/lxqt-config-randr **
+lxqt-base/lxqt-globalkeys **
+lxqt-base/lxqt-meta **
+lxqt-base/lxqt-notificationd **
+lxqt-base/lxqt-openssh-askpass **
+lxqt-base/lxqt-panel **
+lxqt-base/lxqt-policykit **
+lxqt-base/lxqt-powermanagement **
+lxqt-base/lxqt-qtplugin **
+lxqt-base/lxqt-runner **
+lxqt-base/lxqt-session **
+
+>=x11-themes/human-icon-theme-0.36 **
+>=x11-themes/gtk-theme-switch-2.1.0 **
+>=x11-themes/tango-icon-theme-extras-0.1.0-r1 **
+
+>=x11-misc/sddm-9999 **
+
+>=media-libs/x264-9999 **
+>=x11-libs/libvdpau-0.8 **
+>=x11-plugins/hexchat-javascript-0.3.1 **
+>=net-misc/ssh-askpass-fullscreen-1.0-r1 **
+
+>=x11-themes/gnome-colors-common-5.5.1 **
+>=x11-themes/gnome-colors-themes-5.5.1 **
+>=x11-themes/light-themes-0.1.93-r3 **
+
+=sys-devel/llvm-9999 **
+>=sys-block/zram-init-2.7 **
+
+>=dev-python/thunarx-python-0.3.0 **
+>=x11-themes/gentoo-artwork-0.4.2-r1 **
+>=media-plugins/exaile-soundmenu-indicator-0.0.5 **
+>=x11-themes/gentoo10-backgrounds-20110309 **
+>=x11-misc/arandr-0.1.7.1 **
+
+>=x11-libs/libdrm-9999 **
+>=media-libs/mesa-9999 **
+>=x11-base/xorg-server-9999 **
+>=x11-base/xorg-drivers-9999 **
+
+>=net-wireless/blueman-9999 **
+>=dev-python/fuse-python-0.2.1 **
+>=x11-misc/obtheme-2013.2.20.2 **
+>=x11-misc/openbox-menu-0.5.0 **
+>=x11-themes/commonbox-styles-0.6 **
+
+>=dev-python/pyalsa-1.0.26-r1 **
+>=media-sound/alsa-tools-1.0.27-r1 **
+>=media-libs/alsa-oss-1.0.25 **
+>=media-sound/pavucontrol-2.0 **
+>=media-sound/paprefs-0.9.10 **
+
+>=x11-misc/gtkdialog-0.8.3 **
+>=net-wireless/blueman-1.23-r2 **
+>=sys-auth/nss-mdns-0.10-r1 **
+>=x11-misc/gtk2fontsel-0.1 **
+>=media-fonts/proggy-fonts-1 **
+
+>=media-sound/exaile-0.3.2.1-r1 **
+>=media-libs/mutagen-1.21 **
+>=media-gfx/gthumb-3.2.3 **
+
+>=net-misc/logmein-hamachi-2.1.0.101-r1 **
+>=media-sound/gmtp-1.3.4 **
+>=media-libs/libmtp-9999 **
+>=sys-fs/mtpfs-1.1 **
+
+>=xfce-extra/xfce4-sensors-plugin-1.2.5 **
+>=xfce-extra/xfce4-equake-plugin-1.3.3 **
+>=x11-themes/xfce-gant-icon-theme-3.9_p6 **
+>=xfce-extra/xfce4-indicator-plugin-1.0.0 **
+>=xfce-extra/xfce4-vala-4.10.3 **
+>=xfce-extra/xfce4-gvfs-mount-0.0.4 **
+>=media-libs/glyr-1.0.1 **
+>=dev-libs/libindicator-12.10.0-r200 **
+>=xfce-extra/xfce4-linelight-plugin-0.1.7 **
+>=xfce-extra/xfce4-composite-editor-0 **
+>=xfce-extra/xfce4-soundmenu-plugin-0.6.0 **
+>=xfce-extra/xfce4-volumed-pulse-0.2.0 **
+>=xfce-extra/xfce4-mpc-plugin-0.4.4 **
+>=x11-misc/gtkdialog-0.8.3 **
+>=xfce-extra/thunar-vcs-plugin-0.1.4 **
+>=xfce-extra/thunar-media-tags-plugin-0.2.1 **
+>=xfce-extra/xfce-theme-manager-0.3.5 **
+>=x11-themes/gtk-engines-experience-0.10.5 **
+>=x11-themes/gtk-engines-unico-1.0.3_pre20121212 **
+>=x11-themes/gtk-engines-cleanice-2.4.1 **
+
+# plus these for arm64
+=app-portage/layman-2.3.0-r1 **
+=app-misc/mc-4.8.16 **
+>=dev-lang/lua-5.1.5-r3 **
+>=sys-power/cpufrequtils-008-r4 **
+>=x11-libs/tslib-1.0-r3 **
+#>=dev-libs/wayland-9999 **
+>=sys-auth/pam_mktemp-1.1.1 **
+>=gnome-extra/polkit-gnome-0.105-r1 **
+>=dev-python/pycairo-1.10.0-r5 **
+>=app-admin/gkrellm-2.3.6_rc1-r1 **
+>=app-i18n/ibus-1.5.12 **
+>=gnome-base/dconf-0.24.0 **
+>=dev-python/pygobject-3.18.2 **
+>=app-eselect/eselect-xvmc-0.4 **
+>=dev-lang/vala-0.30.1 **
+>=x11-libs/libXvMC-1.0.9 **
+>=sys-auth/pam_ssh-2.1 **
+>=sys-auth/polkit-0.113-r1 **
+>=media-gfx/fbv-1.0b **
+>=media-gfx/fbgrab-1.3 **
+>=app-i18n/fbterm-1.7-r1 **
+#>=app-portage/g-sorcery-9999 **
+
diff --git a/configs/pine64/package.env b/configs/pine64/package.env
new file mode 100644
index 0000000..3cc22db
--- /dev/null
+++ b/configs/pine64/package.env
@@ -0,0 +1,14 @@
+sys-devel/gcc no-bigj.conf
+sys-devel/binutils gold.conf
+sys-libs/glibc no-lto.conf
+sys-libs/binutils-libs no-lto.conf
+
+dev-lang/perl plain-flags.conf
+#dev-lang/python-exec no-lto.conf
+dev-lang/python no-lto.conf
+
+#sys-libs/ncurses lto-default.conf
+sys-libs/ncurses no-gold.conf
+sys-devel/gettext lto-default.conf
+sys-libs/db no-gold.conf no-bigj.conf
+app-text/openjade no-graphite.conf
diff --git a/configs/pine64/package.keywords b/configs/pine64/package.keywords
new file mode 100644
index 0000000..a4157fb
--- /dev/null
+++ b/configs/pine64/package.keywords
@@ -0,0 +1 @@
+=sys-boot/vboot-utils-1.0_p20130222 **
diff --git a/configs/pine64/package.mask b/configs/pine64/package.mask
new file mode 100644
index 0000000..8245395
--- /dev/null
+++ b/configs/pine64/package.mask
@@ -0,0 +1,26 @@
+>=sys-block/zram-init-3.0
+
+#>=www-client/firefox-24.0
+
+#>=dev-util/ccache-3.2
+#>=sys-fs/udev-220
+#>=virtual/udev-220
+#>=virtual/libgudev-220
+#>=virtual/libudev-220
+
+>=sys-libs/tdb-1.3.0
+#>=sys-fs/eudev-1
+
+>=media-libs/mesa-9999
+>=sys-devel/llvm-9999
+>=x11-base/xorg-drivers-9999
+>=x11-base/xorg-server-9999
+
+# new upstream fail (wtf?)
+=sys-devel/libtool-2.4.3
+
+#=sys-libs/glibc-2.18*
+#>=sys-libs/glibc-2.22
+#>=sys-kernel/linux-headers-3.19
+#>=sci-libs/proj-4.8.0
+
diff --git a/configs/pine64/package.unmask b/configs/pine64/package.unmask
new file mode 100644
index 0000000..47b7175
--- /dev/null
+++ b/configs/pine64/package.unmask
@@ -0,0 +1,40 @@
+>=app-portage/layman-2.3.0
+
+>=x11-misc/sddm-9999:0
+>=x11-libs/libXfont-9999
+>=x11-proto/fontsproto-9999
+>=dev-libs/wayland-1.5.0
+#>=x11-base/xorg-server-9999
+>=dev-libs/weston-1.5.0
+>=x11-libs/cairo-9999
+>=x11-libs/libdrm-9999
+#>=x11-base/xorg-drivers-9999
+#>=media-libs/mesa-9999
+
+>=sys-power/upower-0.99
+>=app-misc/geoclue-2.1.8
+>=net-wireless/blueman-9999
+
+=sys-libs/tdb-1.3.4
+
+# required by virtual/os-headers-0::gentoo
+# required by app-arch/libarchive-3.1.2-r3::gentoo
+# required by dev-util/cmake-3.4.3::gentoo
+# required by media-gfx/graphite2-1.3.5-r1::gentoo
+# required by media-libs/harfbuzz-1.2.3::gentoo[graphite]
+# required by x11-libs/pango-1.38.1::gentoo
+# required by x11-libs/gtk+-2.24.29::gentoo
+# required by app-i18n/ibus-1.5.12::gentoo[X,-gtk]
+# required by dev-qt/qtgui-5.4.2::gentoo
+# required by app-text/poppler-0.41.0::gentoo[qt5]
+# required by net-print/cups-filters-1.8.2::gentoo
+# required by net-print/cups-2.1.3-r1::gentoo
+# required by x11-libs/gtk+-3.18.8::gentoo[cups]
+# required by x11-misc/notification-daemon-3.18.2::gentoo
+# required by virtual/notification-daemon-0::gentoo[-gnome]
+# required by x11-libs/libnotify-0.7.6-r3::gentoo
+# required by net-irc/hexchat-2.10.2::gentoo[libnotify]
+# required by @selected
+# required by @world (argument)
+# /etc/portage/package.mask:
+=sys-kernel/linux-headers-4.4
diff --git a/configs/pine64/package.use b/configs/pine64/package.use
new file mode 100644
index 0000000..078dadd
--- /dev/null
+++ b/configs/pine64/package.use
@@ -0,0 +1,179 @@
+sys-devel/binutils multitarget
+sys-devel/gcc jit
+sys-apps/openrc tools
+net-libs/libssh2 gcrypt
+app-portage/layman git cvs g-sorcery subversion sync-plugin-portage
+
+app-misc/mc -samba sftp -xdg
+net-wireless/wpa_supplicant eap-sim -fasteap p2p -qt4 uncommon-eap-types wps
+media-gfx/inkscape dia imagemagick inkjar postscript visio wpg
+
+>=xfce-base/libxfce4ui-4.12.1-r2 gtk3
+>=dev-libs/libdbusmenu-12.10.2-r1 gtk3
+>=dev-libs/libindicate-12.10.1-r1 gtk
+
+dev-qt/qtcore:5 icu
+dev-qt/qtopengl gles2
+dev-python/PyQt5 webkit widgets printsupport network
+dev-qt/qtwebkit printsupport multimedia opengl qml webp -gstreamer
+dev-qt/qtprintsupport opengl
+dev-qt/qt-mobility multimedia
+dev-qt/qtmultimedia opengl qml widgets
+www-client/qupzilla qt5 -qt4
+>=kde-base/kdelibs-4.14.6-r1 opengl
+>=dev-python/PyQt4-4.11.3 sql webkit declarative script
+net-libs/jreen qt4
+app-crypt/qca gcrypt gpg
+>=media-libs/phonon-4.8.3-r1 qt4
+dev-python/PyQt4 opengl phonon
+dev-qt/designer -phonon webkit
+net-irc/quassel -crypt webkit
+media-video/mpv opengl
+
+x11-themes/gnome-themes-standard gtk
+x11-misc/lightdm qt4 gtk
+sys-auth/polkit-qt qt4
+dev-qt/qtwidgets:5 opengl
+app-i18n/ibus gtk3
+dev-libs/libpcre pcre16
+media-libs/libcanberra gtk3 gtk
+dev-qt/qtgui eglfs evdev ibus kms opengl
+lxqt-base/lxqt-panel alsa clock desktopswitch kbindicator mainmenu mount pulseaudio quicklaunch showdesktop taskbar tray volume colorpicker cpuload dom networkmonitor screensaver sensors sysstat worldclock
+lxqt-base/lxqt-meta filemanager icons policykit admin lightdm lximage -minimal powermanagement sddm ssh-askpass
+net-im/qutim histman irc jabber jingle oscar plugman purple qml telepathy tools webkit
+media-sound/clementine googledrive lastfm
+media-sound/cantata dynamic musicbrainz online-services replaygain streams taglib
+
+dev-lang/perl -ithreads
+dev-vcs/qct cvs subversion
+sys-apps/man gdbm -berkdb
+net-dns/avahi gdbm
+app-crypt/gcr gtk
+dev-libs/libpcre pcre16
+app-i18n/ibus gtk3 introspection
+media-libs/libcanberra gtk3
+media-plugins/alsa-plugins -ffmpeg
+media-sound/sox ffmpeg sndfile
+media-libs/vo-aacenc neon
+media-libs/libvpx postproc
+
+# needed by qt-webkit?
+dev-libs/libxml2 -icu
+x11-libs/libxcb xkb
+mail-client/claws-mail gdata smime -webkit calendar
+
+net-libs/libproxy -webkit
+x11-libs/libwnck tools
+www-client/epiphany -nss
+net-libs/webkit-gtk -wayland -glx -opengl egl geoloc gles2 gstreamer introspection jit webgl webkit1
+media-libs/cogl -opengl gles2
+x11-libs/cairo -drm -glx -lto gles2 -opengl xcb xlib-xcb
+
+dev-libs/weston colord editor examples fbdev rdp -resize-optimization view wayland-compositor xwayland -opengl
+www-client/midori granite jit webkit2 -deprecated -introspection
+media-sound/pulseaudio gnome
+
+sys-libs/glibc gd -nscd
+sys-apps/kmod lzma
+
+sys-libs/ncurses tinfo
+net-dns/avahi mdnsresponder-compat
+dev-libs/boost icu
+media-libs/harfbuzz icu
+
+app-misc/mc -slang sftp
+dev-libs/DirectFB fbcon imlib2 jpeg2k drmkms -egl input_hub mpeg2 mpeg3 multicore
+media-libs/libsdl alsa fbcon -joystick pulseaudio sound video -aalib
+
+# for midori crashing bug on arm
+=net-libs/webkit-gtk-1* -jit
+
+net-libs/glib-networking -libproxy
+
+media-libs/libcanberra sound
+sys-fs/lvm2 lvm1
+gnome-base/gvfs archive avahi bluetooth cdda fuse gdu gnome-keyring gphoto2 http ios mtp samba udisks
+dev-libs/boost icu
+sys-devel/make guile
+sys-libs/ncurses tinfo
+sys-auth/pambase gnome-keyring mktemp pam_ssh
+app-text/ghostscript-gpl cups
+sys-apps/util-linux tty-helpers
+
+media-sound/exaile -gnome -ffmpeg
+sys-auth/polkit gtk wheel
+media-libs/gd fontconfig
+media-video/vlc faad gnutls opengl
+media-gfx/imagemagick corefonts djvu fftw fontconfig graphviz jbig jpeg2k lzma
+x11-libs/vte glade
+x11-terms/xterm Xaw3d toolbar
+>=dev-python/markupsafe-0.18 python_targets_python3_3
+>=dev-python/mako-0.7.3-r2 python_targets_python3_3
+=dev-python/setuptools-1.1.6 python_targets_python3_3
+>=app-editors/gedit-3.12.2 python_targets_python3_3
+
+net-irc/hexchat -gtkspell libcanberra perl plugin-checksum plugin-doat plugin-fishlim plugin-sysinfo sexy
+media-sound/rhythmbox python_single_target_python3_3 python_targets_python3_3
+
+>=dev-python/pycairo-1.10.0-r4 python_targets_python3_3
+>=dev-python/pygobject-3.8.3 python_targets_python3_3
+>=virtual/python-unittest2-1-r2 python_targets_python3_3
+
+net-fs/samba -winbind
+net-fs/cifs-utils -acl -ads creds
+media-libs/gst-plugins-base theora
+media-libs/gst-plugins-bad -gles2
+
+media-video/vlc cddb egl fontconfig -opengl live matroska neon omxil alsa rtsp taglib theora wma-fixed
+
+x11-themes/gentoo-artwork -grub offensive
+x11-misc/tint2 battery tint2conf
+x11-base/xorg-server -minimal xvfb kdrive xorg
+x11-apps/xinit -minimal
+
+x11-libs/libdrm libkms
+=media-libs/mesa-10* xa -dri3 -llvm -pic
+#>=media-libs/mesa-9999 -xorg
+media-libs/mesa classic egl gles1 gles2 llvm nptl xvmc -bindist
+x11-apps/mesa-progs egl gles1 gles2
+
+www-client/firefox -minimal -system-libvpx
+
+# for firefox to use system libs
+dev-db/sqlite secure-delete
+dev-lang/python sqlite
+media-plugins/gst-plugins-meta ffmpeg
+media-plugins/gst-plugins-meta:0.10 -ffmpeg
+dev-libs/glib utils
+
+virtual/udev hwdb
+net-misc/networkmanager modemmanager -nss wext ppp connection-sharing
+
+net-misc/tightvnc server
+net-dns/avahi mdnsresponder-compat autoipd gtk3
+media-libs/harfbuzz icu
+
+media-video/mplayer2 -dvd -dvdnav yuv4mpeg
+media-video/mplayer live lzo rtc -dvd -dvdnav -encode libmpeg2 -opengl -osdmenu -xscreensaver -xv -X
+media-video/ffmpeg armv7 armvfp -encode -opengl -X
+media-video/libav armv7 armvfp encode gpl gsm jack jpeg2k speex -opengl opus X tools theora
+# needs neon/asm patches
+media-video/libav -neon
+virtual/ffmpeg gsm jpeg2k opus theora
+
+media-sound/lame sndfile
+media-video/ffmpeg -bindist fontconfig jack libv4l flite openssl theora threads
+app-office/abiword calendar collab -eds grammar latex math openxml ots thesaurus wmf
+app-text/aiksaurus gtk
+
+app-misc/ddccontrol -gnome
+app-laptop/tlp X -thinkpad ethtool -laptop-mode-tools smartmontools
+
+app-mobilephone/obex-data-server imagemagick
+net-wireless/blueman network
+net-dns/dnsmasq dhcp-tools script
+
+>=media-libs/chromaprint-0.7 tools
+>=dev-lang/python-2.7.5-r2:2.7 berkdb
+>=sys-libs/zlib-1.2.8-r1 minizip
+
diff --git a/configs/pine64/package.use.mask b/configs/pine64/package.use.mask
new file mode 100644
index 0000000..4ee47c9
--- /dev/null
+++ b/configs/pine64/package.use.mask
@@ -0,0 +1,2 @@
+# restore cairo gles2 flag on arm
+x11-libs/cairo -gles2
diff --git a/configs/pine64/profile/package.use.mask b/configs/pine64/profile/package.use.mask
new file mode 100644
index 0000000..e28cbe5
--- /dev/null
+++ b/configs/pine64/profile/package.use.mask
@@ -0,0 +1,18 @@
+media-plugins/gst-plugins-meta -aac -dts -lame -taglib -vpx -x264
+
+media-libs/cogl -gstreamer
+media-libs/clutter -egl
+x11-libs/cairo -gles2 -gallium
+dev-libs/weston -gles2 -rpi
+
+media-video/vlc -vaapi -vdpau -vpx -x264
+media-video/libav -vdpau -vpx -x264 pic
+media-video/ffmpeg -vdpau -vpx -x264 pic
+virtual/ffmpeg -vdpau -vpx -x264 pic
+media-libs/libvpx pic
+media-libs/mesa pic
+
+lxqt-base/lxqt-meta -lximage
+
+www-client/chromium pic
+dev-libs/gmp pic
diff --git a/configs/pine64/repos.conf/gentoo.conf b/configs/pine64/repos.conf/gentoo.conf
new file mode 100644
index 0000000..f291641
--- /dev/null
+++ b/configs/pine64/repos.conf/gentoo.conf
@@ -0,0 +1,14 @@
+[DEFAULT]
+main-repo = gentoo
+
+sync-user = portage:portage
+sync-umask = 022
+
+[gentoo]
+eclass-overrides = nerdboy
+
+location = /usr/portage
+sync-type = rsync
+sync-uri = rsync://prime.arnolds.bogus/gentoo-portage
+#sync-uri = rsync://rsync.gentoo.org/gentoo-portage
+