Re: Information regarding upcoming Gitlab Migration

2020-04-28 Thread Ian Wadham
Um, guys… Google is your friend...

I am a former KDE Games developer. I play KPatience quite a lot, as well as 
other games to keep my brain active, especially during COVID-19 lockdown. 
Recently I thought I could see where the answer lay to three bugs in the 
solver(s), two in the Forty Eight variant and one, very recently reported, in 
the Klondike variant. So I thought I would have a look at the source code to 
see if my hypotheses might be correct and maybe work out a patch.

My first problem was to track down where the repos that I need are and how to 
clone read-only copies. I didn’t even know what websites they are on any more 
and KPatience is actually called kpat in the code (which I remembered). However 
I can google “source code KDE KPatience” and the pat repository comes up as the 
first hit, presumably because “KPatience” is used in the repository’s 
description. Again “… card games” got the repo as hit 2 and “… solitaire” (the 
American term for such games) got it as the first hit.

I have also found that several of the tricky cases mentioned earlier in this 
thread can be resolved with Google search terms beginning “source code KDE 
xxx”. For example, seeing xxx as “Plasma Mobile” get the repo as hit 2. And 
just using “go” as xxx finds the Kigo repository as hit 3. Even a search with 
xxx = “loderunner” finds the KGoldRunner repository as hit 1, even though 
Loderunner is not mentioned in the repository’s description. I wonder how far 
down repositories Google indexing goes. Even using xxx = “lode runner” (2 
words), as suggested by Google, finds the KGoldrunner Handbook, though not the 
repository. Still, a smart newbie might guess the name used for that type of 
game in KDE and refine his source code search accordingly.

Even after I found the kpat repository, I could not understand where the souce 
code was getting the card decks it uses. I knew from memory that they are in 
some library somewhere, but there is no libkdecards. Googling with xxx = 
something like “library cards” found the cards as a sub-directory of the 
libkdegames repository.

So my suggestion is to keep whatever categories you like, including multiple 
categories as required, as long as the category names are in plain English, not 
KDE jargon. In addition, please continue to pepper repository descriptions with 
search terms (words) that are easy for laymen and non-core KDE developers to 
find.

Another possibility is to construct (automatically) a text-file “catalog” with 
one line for each of the 1000+ repositories, containing (at least) the repo 
name and description, but maybe other keywords. Then people could just “grep” 
and “sort” it to find what they wanted. 

My 2 cents,
Ian Wadham.

> On 28 Apr 2020, at 2:46 pm, Bhushan Shah  wrote:
> 
> Hi Olivier,
> 
> On Mon, Apr 27, 2020 at 10:49:46PM +0200, Olivier Churlaud wrote:
>>> Because in order to search for something, you need to know it exists.
>>> 
>>> If you are just casually browsing, then the search can't help you.
>> 
>> I don't think people casually browse our repos. What use case is more likely 
>> to happen and do we want to support? 
> 
> We don't really want to discard use-cases just because it does not suit
> our workflow. That is not how we are going to gain new contributors, we
> should value each contribution, be it drive-by contribution, or focused
> contribution towards one single project.
> 
>> Use case 1 : Jerry learns about KDE and go in their forge in the Multimedia 
>> section. After carefully reading the code of two applications and three libs 
>> he starts contributing to Elisa. 
>> 
>> Use case 2 : While using her Ubuntu installation of Elisa / while reading on 
>> reddit about Elisa, Jerry decides to try to contribute to this project/fix 
>> this bug that itches her and searches for it in KDE's forge. 
> 
> Let me add a some more usecases, some of which I've been dealing with in
> project I maintain.
> 
> Use case 3 : Tom comes in Plasma Mobile channel and asks for Plasma
> Mobile applications source code
> 
> Use case 4 : Tom is a student in Germany and is interested in
> contributing to wikitolearn, and he asks where can I find code of the
> wikitolearn?
> 
> Suggestion offered by sysadmin team does not cater to one single
> use-case, but offers a way to provide a solution to all 4 usecases. For
> Plasma Mobile team or Wikitolearn team it would be much easier to refer
> contributors to the https://invent.kde.org/plasma-mobile or
> https://invent.kde.org/wikitolearn then tell them to go to
> https://invent.kde.org/KDE and search for the tag wikitolearn or Plasma
> Mobile.
> 
>> On the other hand, I think the discussion about spotting open merge requests 
>> (in a derived thread from this one) should be answered, being by relevant 
>> tags, subg

Re: Review Request 125614: Enable normal rpath handling on Mac

2015-10-12 Thread Ian Wadham


> On Oct. 12, 2015, 8:48 p.m., René J.V. Bertin wrote:
> > There is an issue with Qt 5.5.0's configure script, currently. From what I 
> > understand, the `-rpath` configure option works as intended, and gives 
> > relocatable framework bundles that are intended to be embedded in dependent 
> > app bundles.
> > Qt installs for a fixed, shared location should use `-no-rpath`, but the 
> > Qt5 build system currently doesn't add the `absolute_library_soname` option 
> > to the qmake config (see my "Qt 5.5.0 build issues on OS X : rpath" thread 
> > on Qt's development ML). The Qt 5.4.2 script did this correctly; I provide 
> > a patch that restores this with my `qt5-kde` port for MacPorts 
> > (https://github.com/RJVB/macstrop/blob/master/aqua/qt5-kde/files/patch-configure-find-opengl-and-correct-rpath.diff).
> > 
> > (The absolute_library_soname config stores the full install name in the 
> > generated frameworks, without explicit use of `install_name_tool`).
> 
> Christoph Cullmann wrote:
> Ok. But still, it would be nice to have the stuff working with a 
> relocatable framework, too, and it does now with this patch. Will it hurt the 
> other variant?
> 
> René J.V. Bertin wrote:
> No, you just have to build Qt with `-rpath` (or modify the framework 
> "rpaths" somehow; I think Qt's `macdeployqt` tool does that, and there's also 
> a cmake recipe that has the same effect, at least with Qt 5.4).
> 
> Looking at your patch, the question is rather: will "it" hurt the variant 
> where Qt's frameworks are *not* meant to be embedded, but used from a fixed, 
> shared location?
> (Semantics, but it's the app bundle that is relocatable; the Qt 
> frameworks must be at a specific location inside the app bundle. Relocatable 
> frameworks don't have path information in their install_name, and can be 
> placed in any of `{/System/,/,~/}Library/Frameworks`.)
> 
> Christoph Cullmann wrote:
> That was my question: Will it hurt the variant that is not meant to be 
> embedded?
> If not, I would like to have this merged, to be able to compile against 
> any variant of qt.
> With the above patch and my other patches still in the queue I am able to 
> build a complete Kate with a stock qt and neither macports nor homebrew 
> magic, just like:
> 
> # errors fatal
> set -e
> 
> # steps to build kate on make
> 
> # install Qt 5.5.0
> # install CMake 3.3.2
> 
> # set path to Qt 5.5.0 stuff
> export 
> PATH=~/Qt5.5.0/5.5/clang_64/bin:/Applications/CMake.app/Contents/bin:$PATH
> 
> # remember some dirs
> export PREFIX=`pwd`/usr
> export BUILD=`pwd`/build
> export SRC=`pwd`/src
> 
> # install gettext
> mkdir -p src
> cd src
> curl http://ftp.gnu.org/pub/gnu/gettext/gettext-latest.tar.gz > 
> gettext-latest.tar.gz
> tar -xvzf gettext-latest.tar.gz
> cd gettext-0.*
> ./configure --prefix=$PREFIX
> make install
> cd ..
> cd ..
> 
> # build helper
> function build_framework
> { (
> # errors fatal
> set -e
> 
> # framework
> FRAMEWORK=$1
> 
> # create build dir
> mkdir -p $BUILD/$FRAMEWORK
> 
> # go there
> cd $BUILD/$FRAMEWORK
> 
> # cmake it
> cmake $SRC/$FRAMEWORK -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX
> 
> # make
> make -j2
> 
> # install
> make install
> ) }
> 
> # get stuff
> cd src
> 
> git clone kde:extra-cmake-modules
> git clone kde:kconfig
> git clone kde:kguiaddons
> git clone kde:ki18n
> git clone kde:kitemviews
> git clone kde:sonnet
> git clone kde:kwindowsystem
> git clone kde:kwidgetsaddons
> git clone kde:kcompletion
> git clone kde:kdbusaddons
> git clone kde:karchive
> git clone kde:kcoreaddons
> git clone kde:kjobwidgets
> git clone kde:kcrash
> git clone kde:kservice
> git clone kde:kcodecs
> git clone kde:kauth
> git clone kde:kconfigwidgets
> git clone kde:kiconthemes
> git clone kde:ktextwidgets
> git clone kde:knotifications
> git clone kde:kglobalaccel
> git clone kde:kxmlgui
> git clone kde:kbookmarks
> git clone kde:solid
> git clone kde:kio
> git clone kde:kinit
> git clone kde:kparts
> git clone kde:ktexteditor
> git clone kde:kate
> 
> 
> cd ..
> 
> # build stuff
> 
> build_framework extra-cmake-modules
> build_framework kconfig
> build_framework kguiaddons
> build_framework ki18n
> build_framework kitemviews
> build_framework sonnet
> build_framework kwindowsystem
> build_framework kwidgetsaddons
> build_framework kcompletion
> build_framework kdbusaddons
> build_framework karchive
> build_framework kcoreaddons
> build_framework kjobwidgets
> build_framework kcrash
> build_framework kservice
>